Lane: triage · Category: bug (behavioral — silent-loop-kill class)
Triggering example
2026-07-19 triage loop cycle. Applying an outcome to each item (step 5), the natural literal action is "apply labels + the autonomous-eligible/human-gated role label" per the "Apply outcome" table. Nothing in step 5 — or anywhere in the workflow — says to remove the raw-intake marker (status: needs-triage, or this repo's priority: needs-triage). A pre-flight review caught that stacking status: ready + role label on top of needs-triage leaves the item in the attention-view raw bucket, so the very next cycle re-fetches and re-triages it — forever.
Observed vs expected
- Observed: the triage state machine describes transitions (raw → verified → briefed → autonomous-eligible / human-gated) and the "Triage states" table marks raw as "unlabeled or
status: needs-triage", but the mechanical label edit that clears the raw marker is never stated. The "Apply outcome" table lists what to add for each outcome; it never says to remove needs-triage. The attention view (bucket 1 "unlabeled", bucket 2 "status: needs-triage") re-selects any item whose marker was not cleared. Result: an operator following step 5 literally produces items that are simultaneously status: ready and needs-triage, re-entering the queue indefinitely.
- Expected: step 5 (and/or the "Apply outcome" table) states explicitly that every terminal outcome removes the raw-intake marker — normalization is a replacement, not an addition. Leaving a raw-intake label alongside a briefed/ready/needs-human label is a contradiction the skill should forbid. Ideally a closing invariant: "after applying any outcome, the item carries no
needs-triage/raw marker."
Category
bug (behavioral). Highest-consequence failure mode: silent infinite re-triage of the same items, wasting every subsequent cycle — the same class of silent-loop failure #480 cites (a mis-worded rule quietly killing a lane). Priority weighted high per the week directive (pipeline correctness).
Note
Distinct from #459 (wait-gate), #478 (routing-rule absorption), #486 (authorship-based scope boundary). This is specifically the missing "clear the raw marker on outcome" mechanic. A concurrent process labeled ~13 more items priority: needs-triage during this cycle, so a re-triage loop here would compound fast.
Lane: triage · Category: bug (behavioral — silent-loop-kill class)
Triggering example
2026-07-19 triage loop cycle. Applying an outcome to each item (step 5), the natural literal action is "apply labels + the autonomous-eligible/human-gated role label" per the "Apply outcome" table. Nothing in step 5 — or anywhere in the workflow — says to remove the raw-intake marker (
status: needs-triage, or this repo'spriority: needs-triage). A pre-flight review caught that stackingstatus: ready+ role label on top ofneeds-triageleaves the item in the attention-view raw bucket, so the very next cycle re-fetches and re-triages it — forever.Observed vs expected
status: needs-triage", but the mechanical label edit that clears the raw marker is never stated. The "Apply outcome" table lists what to add for each outcome; it never says to removeneeds-triage. The attention view (bucket 1 "unlabeled", bucket 2 "status: needs-triage") re-selects any item whose marker was not cleared. Result: an operator following step 5 literally produces items that are simultaneouslystatus: readyandneeds-triage, re-entering the queue indefinitely.needs-triage/raw marker."Category
bug (behavioral). Highest-consequence failure mode: silent infinite re-triage of the same items, wasting every subsequent cycle — the same class of silent-loop failure #480 cites (a mis-worded rule quietly killing a lane). Priority weighted high per the week directive (pipeline correctness).
Note
Distinct from #459 (wait-gate), #478 (routing-rule absorption), #486 (authorship-based scope boundary). This is specifically the missing "clear the raw marker on outcome" mechanic. A concurrent process labeled ~13 more items
priority: needs-triageduring this cycle, so a re-triage loop here would compound fast.