Repository navigation
Closed
Labels
effort/sSmall: expected under 2 hours of workSmall: expected under 2 hours of workkind/featureNew feature or capability requestNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedmode/onlineFully doable remotely: design, config, code, cloudFully doable remotely: design, config, code, cloudpriority/normalOrdinary priority (the default)Ordinary priority (the default)source/humanFiled directly by a humanFiled directly by a humantask/triageQueue packet kind: verify, reproduce, and route this itemQueue packet kind: verify, reproduce, and route this item
Description
fleet(queue): repo-queue.py — add list/inspect, surface dedupe hits, document priority direction
Three frictions hit while sequencing the Path-to-Phase-12 queue (2026-10-26), each verified live:
- No way to see the queue.
repo-queue.pyhas validate/enqueue/claim/.../health, but health is counts only. Answering "what is queued, in what order?" required direct SQL againstagent.tasksvia the Supabase Management API. Addlist --queue <q> [--status ...]printing id, priority, status, dedupe key, title, age — ordered the wayclaim_repo_taskwill claim them. - Enqueue dedupe is silent and cross-queue. Enqueueing a packet whose dedupe key matches an existing task returns that task — including tasks in OTHER queues (a completed
repo-health-code-shadowinvestigation ate the id(ci): F11.4 fast CI lane under 15 minutes #551 triage packet) and terminal states (a done Oct 25 task ate the Stabilize shared-state failures in Firefox E2E CI #229 packet). The caller can't tell "created" from "deduped against task N in queue Q with status S". Print that explicitly, and warn when the match is terminal or in a different queue. - Priority semantics are undocumented and coarse.
claim_repo_taskorderspriority ASC, created_at ASC(lower = sooner) — the helper never says so, and the validator's scale [10,20,30,40,50,70,90] has too few rungs to encode a 14-step sequence (we used 10–22 by direct DB update). Document the direction in the helper + schema, and either widen the scale or document the intended sequencing mechanism (same-priority FIFO by enqueue order).
None of these blocked the work — the DB is fully accessible and was used — but every fleet operator re-derives them by hand today.
Acceptance criteria
- repo-queue.py gains
list --queue <q> [--status ...]printing task id (renderedtask <id>), priority, status, dedupe key, title, and age, ordered the way claim_repo_task will claim them. - Enqueue surfaces a dedupe hit explicitly: when the returned task already existed — in any queue or terminal state — the output says so and names that task's queue/status, instead of looking like a fresh enqueue (see also Queue dedupe is a one-way door: a cancelled task permanently blocks re-enqueue of its issue #1298).
- The priority direction (which end claims first) is documented in the helper's help/docs, and the Fleet reporting convention: queue task IDs and GitHub issue numbers collide — always prefix #1274 prefix convention is followed in the new output.
Metadata
Metadata
Assignees
Labels
effort/sSmall: expected under 2 hours of workSmall: expected under 2 hours of workkind/featureNew feature or capability requestNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedmode/onlineFully doable remotely: design, config, code, cloudFully doable remotely: design, config, code, cloudpriority/normalOrdinary priority (the default)Ordinary priority (the default)source/humanFiled directly by a humanFiled directly by a humantask/triageQueue packet kind: verify, reproduce, and route this itemQueue packet kind: verify, reproduce, and route this item
Activity
developing-today commentedon Oct 27, 2026
CODE-412
dezren39 commentedon Oct 27, 2026
Intake review
Fleet monitor intake pass (protocol §5), 2026-10-27.
Still live: verified this run — issue is OPEN, no merged PR references or closes it (0 closing-PR references), and it was filed within the last day, so nothing has had time to supersede it.
Related: Filed from Path-to-Phase-12 queue sequencing (2026-10-26). Related: #1298 (the dedupe one-way-door bug — this issue is the visibility half, #1298 the semantics half), #1274 (ID prefix convention). Worked examples in the body: #551 and #229 packets eaten by cross-queue/terminal dedupe hits.
Notes / risks: Still live — this run's monitor work hit friction #1 directly (queue contents required a hand-rolled task query; health is counts only) and friction #2's family (dedupe returns are indistinguishable from fresh enqueues without inspecting status/created_at). Effort/s: the helper is a single script; list is a read query + formatting.
Suggested approach: Suggested approach: list via the same PostgREST path health uses; dedupe surfacing by comparing the returned row's created_at/status against the enqueue instant and printing an explicit 'dedupe hit' line.
Labels normalized this pass; acceptance criteria appended to the body (original text preserved verbatim above it).
dezren39 commentedon Nov 1, 2026
Transition: picked up
Worker: repo-worker-code (openchamber-scheduled-lane), task 2540
Next: Revalidate current helper behavior and ownership; route or close based on evidence.
dezren39 commentedon Nov 1, 2026
Transition: blocked — packet_defect (task 2540; repo-worker-code)
Triage: The laptop helper still rejects
list; its enqueue path prints the RPC result without identifying dedupe hits. The priority help does not explain claim direction. The related merged pm-dispatch change does not change this helper.Routing blocker: The installed
~/hatch/tools/repo-queue.pyand schema are tracked indezren39/hatch, notdeveloping-today/code; the packet schema does not allow hatch as the follow-up repository. Please identify the source of truth and authorized cross-repository route before a scoped fix packet is created. No implementation was attempted.17 remaining items
dezren39 commentedon Nov 3, 2026
🤖 Agent note · handed off
aea12c82code-oat 2026-11-03T16:43:49Z (24 s after enqueue), lease to 17:28:49Zqueue/queued; the follow-up is now live in another lane, so labels were restored to mirror the claimed state (queue/claimed,work/assigned,status/in-progress). No other change.dezren39 commentedon Nov 3, 2026
🤖 Agent note · picked up
listverb, surface enqueue dedupe hits, and document priority direction (lower priority claims first, FIFO within a priority) in the helper.list, enqueue dry-run/dedupe readback,healthunchanged) and committed to dezren39/hatch main with(#1289)in the subject.developing-today commentedon Nov 3, 2026
agent-note:v1
state: reviewed (coverage loop-back)
Coverage pass 2026-11-03, loop-back review: this issue was re-reviewed (drift / overlap / already-handled / stale / blockers / ordering) so every open issue in the four repos is reviewed and in the system. Verdict: still live; in the system as task 2540 (triage, queued, priority 40) in repo-health-code-pilot. Labels audited and synced. If it is already handled at current main, its triage closes it with evidence; if oversized, the triage files the split; blockers belong on this issue.
Found via: coverage loop-back 2026-11-03
developing-today commentedon Nov 3, 2026
🤖 Agent note · done
tools/repo-queue.py(dezren39/hatch), committed and pushed to hatch main as commite9e812138404a3e0add3f3371b27143ce4a79c86— "repo-queue: add list verb, surface enqueue dedupe hits, document priority direction (fleet(queue): repo-queue.py — add list/inspect, surface dedupe hits, document priority direction #1289)" (1 file, +154/−4, strictly additive).list --queue <q> [--status <s>] [--limit N] [--not-before <ISO>]: printstask <id>(per Fleet reporting convention: queue task IDs and GitHub issue numbers collide — always prefix #1274), priority, status, age, dedupe key, title, in exact claim order (priority ASC, created_at ASC);--not-beforeapplies the claim due-filter when given. Read-only via the same PostgREST pathhealthuses.enqueuenow prints an explicit outcome line before the row JSON —enqueued new task <id> (queue <q>, status <s>),dedupe hit: existing task <id> (queue <q>, status <s>, created <ts>), orrevived: existing task <id> (...)(pre-existing row back to queued with updated_at at/after the call, migration 0014 semantics) — pluswarning:lines for cross-queue and terminal-state hits.--helpdescription, theclaim/enqueuehelp, and a comment besidePRIORITY_SCALE(values unchanged: 10/20/30/40/50/70/90).python3 -m py_compile ~/tools/repo-queue.py— clean.repo-queue.py list --queue repo-health-code-pilot --limit 5— renderstask 1111 / task 1254 / task 2745 …at priority 10 in created_at order.repo-queue.py list --queue repo-health-code-pilot --status parked— parked rows only (task 2988, task 5801, task 6303 …).repo-queue.py list … --status queued --not-before 2026-11-03T00:00:00Z— future-not_before task 3018 correctly excluded.repo-queue.py enqueue packet-pcr-4515.json --queue repo-health-code-pilot→dedupe hit: existing task 6430 (queue repo-health-code-pilot, status queued, created 2026-11-02T18:13:07.967177+00:00); the same packet with--dry-runstill prints the would-be task and makes no network call.repo-queue.py health— output unchanged.repo-queue.py --helpandclaim --helpboth state the priority direction.git ls-remote origin mainon dezren39/hatch returnse9e812138….