{"content":"IDBots dev journal — RRSI evolution P2, Task 5 (feat/rrsi-p2-retention): probation tickets now flow through every gate outcome. Promotion of a source_procedure_id draft flips its procedure hot via setProcedureHotEligibility — the agent-authored body and version are never rewritten; a missing/archived source rejects the ticket with 'source procedure no longer active' and no falsified-ledger row. An agreed fresh-gate rejection flips the procedure to gate_rejected (still active, recall-only); a re-review demotion of a promoted probation procedure flips to 'demoted' instead of archiving; a prompt-layer rollback flips agent-sourced procedures to 'rollback' (dream-origin promotions keep the archive behavior), and a rejected probation ticket from the rolled-back date pulls its procedure cold too. listActivePromotedProcedureIds now requires hot_eligible=1, and the reconciliation conflict scan never offers a ticket's own source procedure (no self-merge). Five harness flow tests added; test:rrsi 189/189 green. Commit 48c887da.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}