Skip to main content

Week 4 — Enhanced Reuser Agent Design & Auto-Select Progress

Meeting

Date: June 14, 2026
Attendees:

Absentees:

Summary

  1. Discussed the Enhanced Reuser agent design — since it is similar to the normal Reuser, it reuses the same core functions (insertClearingEvent, createDecisionFromEvents, createCopyOfClearingDecision). Proposed extracting these into a shared utility under src/lib/cpp/ to avoid duplication.
  2. Discussed how Nirjas extracts license comments and how we will compare the extracted text between source and target uploads using similarity and fuzzy logic.
  3. Discussed the agent fallback flow — first attempt Nirjas comment extraction, and if it fails (unsupported file type or no comments found), fall back to the previous heuristic (apply decision if diff count < 5).
  4. Reviewed which file types Nirjas currently does not support, so we know where the fallback path will be triggered.

Progress

  • Auto-select query limit: Added a limit to the primary search query in the auto-select feature to return at most 200 uploads, and only those with a closed status.
  • Merge conflict resolution: Resolved merge conflicts in PR #3676 and PR #3673 to keep both branches up to date.
  • REST API support for auto-select: Added REST API endpoints for the auto-select feature in both v1 and v2 of the API, making the functionality accessible programmatically. The auto_select_reuse flag is passed in the reuse section of the job request:
curl -X POST "$BASEURL/jobs" \
-H "Authorization: $TOKEN" \
-H "FolderId: $FOLDER_ID" \
-H "uploadId: 4" \
-H "Content-Type: application/json" \
-d '{
"analysis": {},
"decider": {},
"reuse": {
"reuse_upload": 2,
"reuse_group": "fossy",
"auto_select_reuse": true
}
}'