Define issue tiers: capture vs ticket vs map #240

Closed
opened 2026-08-03 14:42:34 +00:00 by jared · 1 comment
Owner

Map: #239

Question

When is a minimal capture (title + two lines) acceptable, when must an issue meet the full ticket template (slice, acceptance criteria, non-goals), and when does work deserve map + child + assembly decomposition? What triggers an upgrade from one tier to the next, and who notices?

Map: #239 ## Question When is a minimal capture (title + two lines) acceptable, when must an issue meet the full ticket template (slice, acceptance criteria, non-goals), and when does work deserve map + child + assembly decomposition? What triggers an upgrade from one tier to the next, and who notices?
jared self-assigned this 2026-08-03 20:22:57 +00:00
Author
Owner

Resolution

Decided (grilling session 2026-08-03):

  1. Three tiers: capture → ticket → map. Recurring, cross-project, and wayfinder-child issues are flavors riding on a tier (no-close rule, foreign tracker, map parentage), never tiers themselves.
  2. Capture = title + ~two lines of provenance + priority label when known. A legitimate permanent resting state — no upgrade timer. Cheap triage (routing, labels, duplicate check) may happen at capture time; expensive refinement waits for intent to work.
  3. Ticket = full template (slice, acceptance criteria, non-goals). Mandatory when work is handed off — ready-for-agent is the falsifiable quality test (an agent forced to ask a clarifying question disproves it). Optional for live self-worked items. Tickets must be near-deterministic: objective acceptance criteria; AI judgment allowed inside clear rails; cheap-to-find mistakes accepted (~2h correction per 100h of work).
  4. Map = triggered by refinement failure — unresolved decisions, not size. Decomposition is progressive: decisions can spawn further decisions. All decisions close before assembly; assembly precedes autonomous implementation. Maps are HITL; the triage agent detects "needs a map" and routes to the human — it never charters or works one.
  5. No partial execution of mixed tickets. Undecided parts become child decision issues carrying weighted recommendations with reasoning in a machine-parseable decision block. A recommender-blind threshold sweep auto-accepts and closes decisions meeting ≥85% confidence AND cheap downstream reversal; sweeps repeat as new decisions surface. The surviving residue is genuine HITL. Nothing proceeds to assembly until all decision children are closed.
  6. Tier is structural, never asserted by a label: wayfinder:map label ⇒ map; required template sections present ⇒ ticket; otherwise capture. Labels can lie; computed facts can't.
  7. Recommender/gate separation: the agent producing weighted recommendations must never know the automation threshold (else confidence inflates); a separate dumb gate reads parsed percentages. Same evaluator/actor split as os-aidd-lint's charter-judge.

Constraints inherited downstream: #242 — enhance the installed triage skill rather than replace it; blind-recommender separation; decision-children + sweep pattern. #241/#242 — decision-block format must be machine-parseable.

## Resolution Decided (grilling session 2026-08-03): 1. **Three tiers**: capture → ticket → map. Recurring, cross-project, and wayfinder-child issues are *flavors* riding on a tier (no-close rule, foreign tracker, map parentage), never tiers themselves. 2. **Capture** = title + ~two lines of provenance + priority label when known. A legitimate permanent resting state — no upgrade timer. Cheap triage (routing, labels, duplicate check) may happen at capture time; expensive refinement waits for intent to work. 3. **Ticket** = full template (slice, acceptance criteria, non-goals). Mandatory when work is handed off — `ready-for-agent` is the falsifiable quality test (an agent forced to ask a clarifying question disproves it). Optional for live self-worked items. Tickets must be near-deterministic: objective acceptance criteria; AI judgment allowed inside clear rails; cheap-to-find mistakes accepted (~2h correction per 100h of work). 4. **Map** = triggered by refinement *failure* — unresolved decisions, not size. Decomposition is progressive: decisions can spawn further decisions. All decisions close before assembly; assembly precedes autonomous implementation. Maps are HITL; the triage agent detects "needs a map" and routes to the human — it never charters or works one. 5. **No partial execution of mixed tickets.** Undecided parts become child decision issues carrying weighted recommendations with reasoning in a machine-parseable decision block. A recommender-blind threshold sweep auto-accepts and closes decisions meeting ≥85% confidence AND cheap downstream reversal; sweeps repeat as new decisions surface. The surviving residue is genuine HITL. Nothing proceeds to assembly until all decision children are closed. 6. **Tier is structural, never asserted by a label**: `wayfinder:map` label ⇒ map; required template sections present ⇒ ticket; otherwise capture. Labels can lie; computed facts can't. 7. **Recommender/gate separation**: the agent producing weighted recommendations must never know the automation threshold (else confidence inflates); a separate dumb gate reads parsed percentages. Same evaluator/actor split as os-aidd-lint's charter-judge. Constraints inherited downstream: #242 — enhance the installed triage skill rather than replace it; blind-recommender separation; decision-children + sweep pattern. #241/#242 — decision-block format must be machine-parseable.
jared closed this issue 2026-08-03 22:07:34 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jared/cc-os#240
No description provided.