You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
queue: no reconciliation between open issues and queue coverage — non-creator filings never get queue items #7016
Nothing reconciles the open-issue set against the fleet queue. Issues enter the queue only when a creator-class lane files them (file + enqueue in the same pass). Issues filed any other way — by work lanes filing blockers mid-task, by audit lanes, by hand, or predating the queue (epics) — silently never get a queue item, so no lane ever dispositions them.
Evidence — reconciliation run 2026-11-07 (Drew's question: "did you import all open issues without a queue item?")
Method: full open-issue enumeration via gh REST (PRs excluded) for the four fleet repos; full fleet-queue scan of the four pilot queues (8,493 tasks) matched on dedupe keys repo-health:v1:(fix|triage):<repo>:issue:<n> incl. dispatch-suffixed variants and legacy repo-name aliases.
repo
open
live task
done-task only
NO task
developing-today/code
1,347
656
676
15
developing-today-forks/opencode
95
44
45
6
developing-today-forks/openchamber
95
59
36
0
dezren39/darwin-nix
30
19
9
2
The 23 uncovered issues were imported the same day as triage tasks 11424–11446 (all verified in-store; several already claimed within minutes). They include today's own filings (#6884, #6935, #6942, #6944, #6985, #6992, #6994), home-cluster epics (#1083, #1104–#1106), fork pr-shepherd items (opencode #1715, #1757, #1947), and darwin-nix #11/#1637 — proof the gap is structural, not one lane's miss: any filing path that isn't a creator run leaks.
The 766 "done-task only" issues (worked, issue still open) are a separate, larger lag class — triage/fix tasks complete without the issue closing — flagged here for visibility, not as part of this fix.
Fix
Standing reconciliation: run this exact diff (open issues vs pilot-queue dedupe coverage) on a cadence (the hourly orchestration pass or its own job) and auto-import uncovered issues as triage packets via the sanctioned enqueue path (dedupe-key idempotent by construction).
File-and-enqueue rule: any lane that files an issue outside a creator run enqueues its triage packet in the same pass, or records why not in the filing comment.
Acceptance
A scheduled reconciliation exists and its first run reports 0 uncovered open issues across the four repos.
The file-and-enqueue rule is written into the lane/creator runbooks it applies to.
Task: task 11447 handed off to the opencode claimant per execution-lane assignment (checkpoint stage handed_off). The claimant's bound opencode session drives this task to its terminal state.
Refining the triage doctrine recorded earlier tonight, as the standing rule:
"if it can be fixed in a small edit fine to merge but having done triage doesn't count. if issue is invalid or solved already it might close an issue?"
The rule as recorded:
Triage may CLOSE an issue in exactly two cases:
(a) INVALID — not a real issue.
(b) ALREADY SOLVED — verified with evidence; the closing comment carries the merged PR / proof link (the same validate-before-closing standard as the 8 verified closures from tonight's 766-issue audit).
Small-fix allowance: if an issue can be fixed in a small edit, the lane may make the fix and merge it on the spot under normal merge authority, with a closing keyword in the PR. That resolves the issue because of the merge, not the triage.
Having done triage, by itself, still never counts as done. Everything else returns to the queue.
Drew's triage doctrine — ruled 2026-11-07 20:12 CST, and the 766 put back in the queue
Drew, on the done-task-only findings: "yes that's a huge gap. triage just updates note title description, maybe makes more issues, validates is real issue. put all of these back in the queue. triage puts it back in queue unless invalid."
The doctrine, recorded as the standing rule for this reconciliation:
(a) Triage only annotates: it updates notes, title, and description; it may spawn more issues; it validates whether an issue is real.
(b) Triage completion NEVER means an issue is done, and triage never closes an issue on its own verdict.
(c) When triage finishes, the issue goes back in the queue for real work — unless triage validated it as invalid (not a real issue). Invalid is the only triage exit.
(d) An issue is DONE only via a merged PR carrying a closing keyword, or an explicit verified closure with evidence.
This re-scopes this issue's standing reconciliation: the done-task-only class is a permanent check, not a one-off cleanup. The check is: every open issue must hold a LIVE task (queued/claimed/parked/blocked) in its pilot queue — a done task is not coverage, and neither is a task in the shadow queue.
Execution — all 758 are back (2026-11-07 evening)
Target set: the 766 verified issues minus the 8 VERIFIED-done = 758. End state of this pass: 758/758 held a live pilot-queue task (755 newly created + 3 dedupe hits on already-live tasks; zero enqueue failures). Per repo: code 670/670 · opencode 44/44 · openchamber 35/35 · darwin-nix 9/9.
Readback snapshot ~25 min after the pass: 727 still live; 31 had already been triage-completed by lanes in the interval. Of those 31: 4 issues closed with evidence; the rest show live follow-on ownership (follow-up tasks 12056/12126 queued, remainder of #937 owned by parked task 9501, child issue #7070 filed+enqueued for #1233, #1091's remainder split into routed children), in-flight PRs carrying the remainder (#169/#805/#941/#1063/#1212), or a Drew-gated remainder (#195). 13 (#787, #797, #1047, #1059, #1066, #1071, #1085, #1087, #1093, #1115, #1184, #1334, #1361) were left open with no live follow-on and were immediately re-queued a second time (tasks 12552–12564, verified queued).
Why this needed two mechanisms (structural findings)
The broker's enqueue is read-then-insert over any existing (queue, dedupe_key) row — a terminal (done/failed/cancelled) task blocks re-enqueue forever, and there is no revive verb (gap fleet-queue (turso): no revive/requeue verb — dead-at-cap tasks can only be reset via direct SQL; enqueue dedupe ignores status #6838). Suffixed re-enqueue keys (the fleet's 2026-10-26 :reenqueue: precedent) are now rejected by the broker's dedupe-pattern validator. So 665 of the 758 went in as broker-shaped rows built from broker-validated (--dry-run) packets, inserted with the exact columns/defaults the broker itself uses; the other 93 went through the normal broker enqueue (base key free or already live).
This wall is not historical: tonight, code#787's triage lane validated a Slice C small_fix packet and its enqueue dedupe-hit DONE task 7947 under the canonical fix key — no task created — and the triage completed anyway. Until the broker gains a revive/redispatch verb, conversions will keep failing silently the same way; the permanent check above is the compensating control.
Pass 1's 291 remainder enqueues landed in repo-health-code-shadow — the packet's queue field does not route; --queue is required. Shadow tasks are not pilot coverage (the 5 shadow copies created by this pass's first test batch were cancelled; the pass-1 shadow set, tasks 11468–11764 in repo-health-code-shadow, is flagged here for cancellation as duplicates — every one of those issues now holds a pilot-queue task).
Full per-issue results: ~/verify-2026-11-07/reenqueue-results.json (laptop); driver: ~/verify-2026-11-07/reenqueue.py; evidence table: ~/workspace/scratch/done-task-only-verification-2026-11-07.md.
Shadow-queue duplicate cleanup — done (2026-11-07 evening, follow-on to the 766 re-enqueue)
Pass 1's enqueues (task ids 11468–11764) landed in repo-health-code-shadow because the fleet CLI defaults to the shadow queue when --queue is not passed (the packet's queue field does not route). Cleanup, with per-issue verification before any cancel:
270 shadow tasks cancelled via fleet queue cancel with the reason recorded on each: "duplicate of live pilot task; pass-1 enqueue landed in shadow by CLI default (code#7016 cleanup)". Each cancelled task's issue was first verified to hold a live task in its correct pilot queue (exact dedupe-key match, plus issue-exact match for fix-class variants; covering tasks sit in code-pilot 237 / opencode-pilot 18 / openchamber-pilot 10 / nix-pilot 3).
1 already terminal: task 11470 was done before the cleanup — left as-is.
Activity
dezren39 commentedon Nov 8, 2026
🤖 Agent note · handed off
developing-today commentedon Nov 8, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 8, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 8, 2026
Triage doctrine — refinement (Drew, 2026-11-07 20:32 CST)
Refining the triage doctrine recorded earlier tonight, as the standing rule:
The rule as recorded:
dezren39 commentedon Nov 8, 2026
Drew's triage doctrine — ruled 2026-11-07 20:12 CST, and the 766 put back in the queue
Drew, on the done-task-only findings: "yes that's a huge gap. triage just updates note title description, maybe makes more issues, validates is real issue. put all of these back in the queue. triage puts it back in queue unless invalid."
The doctrine, recorded as the standing rule for this reconciliation:
This re-scopes this issue's standing reconciliation: the done-task-only class is a permanent check, not a one-off cleanup. The check is: every open issue must hold a LIVE task (queued/claimed/parked/blocked) in its pilot queue — a done task is not coverage, and neither is a task in the shadow queue.
Execution — all 758 are back (2026-11-07 evening)
Target set: the 766 verified issues minus the 8 VERIFIED-done = 758. End state of this pass: 758/758 held a live pilot-queue task (755 newly created + 3 dedupe hits on already-live tasks; zero enqueue failures). Per repo: code 670/670 · opencode 44/44 · openchamber 35/35 · darwin-nix 9/9.
Readback snapshot ~25 min after the pass: 727 still live; 31 had already been triage-completed by lanes in the interval. Of those 31: 4 issues closed with evidence; the rest show live follow-on ownership (follow-up tasks 12056/12126 queued, remainder of #937 owned by parked task 9501, child issue #7070 filed+enqueued for #1233, #1091's remainder split into routed children), in-flight PRs carrying the remainder (#169/#805/#941/#1063/#1212), or a Drew-gated remainder (#195). 13 (#787, #797, #1047, #1059, #1066, #1071, #1085, #1087, #1093, #1115, #1184, #1334, #1361) were left open with no live follow-on and were immediately re-queued a second time (tasks 12552–12564, verified queued).
Why this needed two mechanisms (structural findings)
:reenqueue:precedent) are now rejected by the broker's dedupe-pattern validator. So 665 of the 758 went in as broker-shaped rows built from broker-validated (--dry-run) packets, inserted with the exact columns/defaults the broker itself uses; the other 93 went through the normal broker enqueue (base key free or already live).queuefield does not route;--queueis required. Shadow tasks are not pilot coverage (the 5 shadow copies created by this pass's first test batch were cancelled; the pass-1 shadow set, tasks 11468–11764 in repo-health-code-shadow, is flagged here for cancellation as duplicates — every one of those issues now holds a pilot-queue task).Full per-issue results:
~/verify-2026-11-07/reenqueue-results.json(laptop); driver:~/verify-2026-11-07/reenqueue.py; evidence table:~/workspace/scratch/done-task-only-verification-2026-11-07.md.developing-today commentedon Nov 8, 2026
Shadow-queue duplicate cleanup — done (2026-11-07 evening, follow-on to the 766 re-enqueue)
Pass 1's enqueues (task ids 11468–11764) landed in
repo-health-code-shadowbecause the fleet CLI defaults to the shadow queue when--queueis not passed (the packet's queue field does not route). Cleanup, with per-issue verification before any cancel:fleet queue cancelwith the reason recorded on each: "duplicate of live pilot task; pass-1 enqueue landed in shadow by CLI default (code#7016 cleanup)". Each cancelled task's issue was first verified to hold a live task in its correct pilot queue (exact dedupe-key match, plus issue-exact match for fix-class variants; covering tasks sit in code-pilot 237 / opencode-pilot 18 / openchamber-pilot 10 / nix-pilot 3).donebefore the cleanup — left as-is.donealready — no LIVE pilot task at verification time, so per the cleanup rule they were left queued in shadow and are reported here instead. Affected issues: opencode P5.6: document removal keeps content; who may remove and what 'stops new content' means #195, Define server and per-world world capability ceilings #230, lab-ops-hub: judge slash-run authority spellings by the WHATWG host (#586) #587; code Phase 2: keep_prior revives earlier grants for a re-added member #169, mcpx: takeover/upgrade/handoff unsupported on darwin; Linux-only tests break the darwin build #237, id(world): F12.12 many worlds per node: 1,000 idle / 100 active with a per-world memory budget #557, id: F12.11 delta and binary frames (screen patches, resume tokens) #805, aggregator(dashboard): comment API accepts self-asserted author identities — anyone can post as Drew into the orchestrator/GitHub flow (PR #920) #941, id: F12.6 audit log and OpenTelemetry export #1063, epic(cluster): cloud extension (OCI free fleet & egress offload) #1091, chore(usage-hub): OpenCode Go lapse handling — Personal Nov 2, Lab Nov 6 #1118, feat(quota-plane): adapter — OpenCode Go console, per-workspace windows #1161, Pilot: OpenClaw comment loop — status request, session report, instruction obedience on one issue #1190, Aggregator: add global search and uniform drill-down for every object type #1212, epic(fleet): queue fleet reliability — lane workers for every queue, certified shift reporting #1233, id: Path to Phase 12 — ordered prerequisite queue (CI trust → validation → journal → visibility → remaining F11) #1235, design(pm-stack): durability & host independence — stack state in backed-up durable storage, stack survives the laptop being off #1258, design(pm-stack): chaos/rotation drills — scheduled game-days (kill collector, age the feed, drop a service) verifying banners, watchdogs, and self-healing fire #1283, Meta-reviewer: grade the reviewers, score model/effort choices, and evolve the reviewer guidelines #1340, ci: Phase 1 — cancel-in-progress across all four repos #1780. These need a disposition call: cancel as duplicates-of-completed-triage, or treat the shadow copy as the live remainder vehicle.repo-health:v1:fix:...:issue:6838) is livequeuedin repo-health-code-pilot, so no new enqueue was needed. (Its shadow twin 11459 was already cancelled.)