Ticket graphs

Every ticket as the root of its provenance graph — goal, patch, approval, runs and (as the ticket-class build lands) mandate, manifestations, guarantees, journey, artifacts and children. Rendered through the <<<TicketGraphList>>> tag.

← all ticket-graphs

DONE#217 jazz-forge-hygiene

Build: the checkout REAPER daemon — scan checkout roots, classify, and commit->push->remove idle trees (durable, dead-man's-switch)

goal

Implement the reaper as a durable process_manager service. LOOP: scan configured checkout roots (~/code/ + config) for git working trees / code folders. CLASSIFY each: DEPLOYED (in the deployed-app registry #registry) -> skip; ACTIVE (a live lease/heartbeat #lease within threshold) -> skip; else IDLE/STRANDED -> RECLAIM. RECLAIM is strictly ordered and safe: (a) commit any uncommitted work (reaper commit message + provenance), (b) push to the forge remote, (c) VERIFY the push landed, (d) only then remove the source directory. NEVER remove without a verified push. Everything logged; a signal is written for each reclaim (the DB error channel). ACCEPTANCE: an idle checkout with uncommitted edits is committed + pushed + removed (and recoverable from the forge); an active-lease checkout and a deployed-app checkout are left untouched; a push failure ABORTS the removal (work never lost).

patch

none

approval

unapproved

runs

no runs recorded

mandate (clauses)

not yet recorded — lands with the ticket-class build

manifestations

not yet recorded — lands with the ticket-class build

guarantees

not yet recorded — lands with the ticket-class build

journey (blunders & successes)

not yet recorded — lands with the ticket-class build

artifacts (forge)

not yet recorded — lands with the ticket-class build

source (forge tree)

browse congruency source (forge-parked tree)

children

not yet recorded — lands with the ticket-class build