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.
RFC: BRANCH-PER-TICKET — every code edit starts on a branch named for its ticket; merge on completion. Find the default specs.
goal
MANDATE: from now on, all work that edits the codebase is done FIRST on a git BRANCH whose name is the NAME/ID of the ticket that created it. When the code is complete, the branch is MERGED. This RFC finds the DEFAULT SPECIFICATIONS to implement the pattern, to be adopted by refactoring+testing the ticketing system over a series of iterations.
SPEC QUESTIONS TO SETTLE: (1) BRANCH NAMING — ticket/<id> or ticket/<id>-<slug(title)>; deterministic from the ticket. (2) LIFECYCLE — branch is created when the ticket goes ACTIVE / a pair is dispatched; the pair's deliverable is committed ON THE BRANCH, not main. (3) MERGE POLICY — on settle DONE, merge branch->base; ff vs merge-commit vs squash; who authorizes the merge (the wallet-approval gate?); a failed merge/conflict keeps the ticket open. (4) ISOLATION — each pair works in its OWN git WORKTREE on its branch, so multiple pairs run in TRUE PARALLEL with zero tree conflicts (this session was serialized by shared-tree contention; worktrees fix it). (5) INTEGRATION with mint_crank (commit+tag) — the crank happens at merge-to-main; reconcile. (6) HYGIENE — branch+worktree are ephemeral; after merge they are reaped (#216), the tree returns clean (#213). (7) GOVERNANCE — branch create/merge events recorded in the ticket append-only journal. DELIVERABLE: docs/BRANCH_PER_TICKET_RFC.md — the settled default specs. Spawns refactor + test.
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