Skip to main content

Week 3 — Bulk Reuser Migration & Enhanced Reuser Design

Meeting

Date: June 9, 2026
Attendees:

Absentees:

Summary

  1. Shared the update on the progress of testing the CPP reuser.
  2. Informed them about some minor PRs around the reuser — #3664, #3666.
  3. Discussed the migration of bulk reuser from Decider to Reuser — the bulk reuser functionality was kept the same as it performed in Decider. It is currently written in C++ (previously it was written in PHP).
  4. Discussed the new Enhanced Reuser agent and how it should behave.

Progress

Got PR #3666 reviewed by Kaushl and merged.

The main milestone this week was PR #3673 — migrating BulkReuser out of Decider and into Reuser (closes #1639). Here is what changed:

Codebase cleanup: All bulk reuser logic was stripped from Decider and rewritten in C++ inside the Reuser agent (previously it lived in PHP inside Decider).

Smarter sequencing: When bulk phrases are selected, Reuser now polls isJobQueueRunning to wait for bulk scans to complete before proceeding. Bulk decisions are ordered by jq_pk so the latest decision always wins. The bulk scan depends on Nomos, Monk, and Ojo.

API layer: Added REST endpoints for reuse_bulk in Reuser. The old bulk_reuser field in Decider still works — it is automatically redirected to the new Reuser config — so existing callers are not broken.

Performance win: Bulk scans (MonkBulk, DeciderJob) now run before Reuser. Files that get a decision from the bulk scan are skipped by Reuser, reducing redundant processing.