Plan audit: why the fleet is idle
Snapshot: 2026-08-16 10:13 PDT.
Answer
The machine is not the limit. The dispatcher has 24 gate-ready agent tasks, but it removes every one of them: 10 parked, 13 held by check-needs.sh, and TASK 4200 permanently excluded by the rejected-evidence rule. The other 80 gate-ready tasks belong to Liam. That is why no lane starts.
The fleet is not genuinely out of agent work. Several refusals are wrong. The highest-value one is TASK 7328: commit 6ea051c0a is on canonical, its six focused tests passed, and the allegedly fabricated 012345... value is explicitly a fixture commit. A line break separates the word “fixture” from the value, so check-cited-commits.sh loses the context and refuses it. TASK 7328 has 10 open downstream tasks. TASKS 7010 and 7012 have the same class of false refusal over commit IDs created in temporary Git repositories that their own finish lines require them to discard.
The measured split
There are 261 open tasks:
| Owner | Gate-ready | Release-held | Dependency-gated | Open total |
|---|---|---|---|---|
| Liam | 80 | 4 | 14 | 98 |
| Agents | 24 | 36 | 103 | 163 |
| Total | 104 | 40 | 117 | 261 |
This re-measures the earlier 105-ready snapshot: it is now 104 ready = 80 Liam + 24 agent. Of those 24 agent tasks, the dispatch filters account for all 24 exactly: 10 + 13 + TASK 4200. The dispatcher is therefore accurately reporting an empty *filtered* queue, but the filters are refusing honest work.
The 10 parked tasks
All ten have own faults=0, attempts=12. I ran check-code-reached-product.sh for each and ran release-externally-parked.sh against a copied ledger. The copied-ledger run released only 3508b and 7060 and reported eight still blocked.
| Task | Why it is parked | Is the park still correct? | What actually unblocks it |
|---|---|---|---|
| 3506 | Its evidence says no live send/receive completed because another verifier owned the verify7944 executable/profile. The code check also finds e05815eb7664 plus three task commits off canonical and on no branch. | Yes. Re-running without fixing both facts cannot pass. | Recover or reproduce and integrate the 3506 commits, then reserve exclusive use of verify7944 long enough to run the three protected sends, ordinary-message control, and negative controls. No owner judgment is needed. Evidence: evidence/3506.md; code-check refusal. |
| 3508b | Its current evidence says the production Telegram reader/caller is absent, so it could only run a fixture-fed red/green test; the required fresh real arrivals were not run. Code reachability itself passes. | Yes. | An agent must wire the shipping Telegram open path and caller, then run the live bypass/restoration arrivals. The releaser does not recognize the evidence's Result: blocked wording and will wrongly release it again after cooldown; it already did so at 09:35. Evidence: evidence/3508b.md:187+. |
| 5086d | It reported zero candidate-bound Windows artifacts and zero physical control journeys. | Yes under its exact-candidate finish line, although the old Windows-bridge failure is no longer true. | Build a package bound to the current candidate and run the nine-family physical Windows matrix. check-needs.sh now reports Windows interactive and the canonical artifact MET, so this is agent execution/build work, not an owner decision. Evidence: evidence/5086d.md. |
| 5301 | Its availability checker says all ten transaction rows lack complete real external/restart observations. | Yes under the current done when, but the plan contradicts itself. | First fix the contract: the regate: line drops 3790 and 5096, while done when and the checker still demand all ten rows. Then agents implement/run the remaining transaction boundaries and observers. Provider/node credentials may later need Liam, but the stale ten-row demand is an agent-fixable false block now. Evidence: task 5301 and evidence/5301.md. |
| 7010 | check-cited-commits.sh calls five commits nonexistent. They are commits made inside the disposable test repositories; the test reports nine copies discarded. Canonical already contains multiple 7010 commits and check-code-reached-product.sh passes. It does not currently cite 012345.... | No. False park. | Make the citation checker understand deliberately discarded temporary repositories, or label each output line as throwaway evidence without weakening real-commit checks; then record the already-shipped result. Evidence: evidence/7010.md; canonical includes 49b2d6950. |
| 7012 | The checker calls 4a7586d83bc2 and 7af3ea94f1c8 fabricated. They are the conflict-row commits created in the required TemporaryDirectory Git clones, which were then discarded. Canonical contains the 7012 implementation and the code-reach check passes. It does not currently cite 012345.... | No. False park. | Apply the same temporary-repository citation fix and record the shipped result. Evidence: evidence/7012.md; canonical includes 34f1a5595. |
| 7060 | No capture set exists. Its fresh preflight names three blockers: 7059 is not clean/integrated, six 7049 onboarding routes are unpaired, and no package matches that checkout exactly. | Yes. | Agents integrate/fix 7059, pair the six named 7049 routes, build the exact package, then capture. The releaser also misses this evidence's Result: blocked wording and will periodically waste another run; it released it at 10:02. Evidence: evidence/7060.md. |
| 7314 | The shipping-source audit finds 7302, 7304, 7308, and 7311 unreachable and the 7307 package check finds four build-note leaks. | Yes. | Agents restore those four journeys, remove the four package leaks, then run the 11 fake cases against a green baseline. Evidence: evidence/7314.md. |
| 7328 | The citation checker sees 0123456789ab... and calls it fabricated. In the evidence it is explicitly the canonical fixture commit used by the manual CLI mutation. Commit 6ea051c0a is an ancestor of canonical and the focused suite passed 6/6. | No. Highest-value false park. | Fix the line-context bug in the citation check/releaser and record 7328. No rerun should fabricate a real commit for a test fixture. This releases the prerequisite holding 7330 and a 10-task transitive chain. Evidence: evidence/7328.md:30-32; canonical ancestry of 6ea051c0a. |
| 7397 | The task is a plan edit, while every dispatched lane is explicitly ordered to stop if a task edits OSL-AUDITS/todo/. | Correct for a normal code lane; wrong routing. | Run it with an agent in the plan workspace, where the todo files are available and authorized. Re-running it in a code lane can only reproduce the same honest refusal. Evidence: evidence/7397.md; run-task.sh:162+. |
The earlier belief that 7010, 7012, and 7328 were all correctly parked on the same placeholder does not survive the current evidence. Only 7328 contains 012345..., and it is labelled a fixture. The other two contain ephemeral commits from required throwaway repositories.
The “9 backing off”
They are 7330, 7452, 7453, 7454, 7455, 7456, 7457, 7458, and 7810. None is currently in an active backoff window.
- 7452-7458 are already ticked. They will never be re-offered and should not be counted in an idle explanation.
- 7330 and 7810 are open but dependency-gated: 7330 waits on, among others, 7328; 7810 waits on 7330 and 7809b. Their recorded
k=1delay is 120 seconds and expired hours ago. Once their dependencies clear,claimed()will re-offer them immediately.
The idle log's backing-off=9 is a reporting bug: it counts every row whose historical consecutive-non-task field is nonzero, without applying the dispatcher's elapsed-time test and without excluding completed tasks. These nine are neither transiently delaying the fleet nor permanently stuck.
The 13 precondition-blocked tasks
This is the authoritative check-needs.sh report result. Counts are distinct directly held tasks; a task can appear under more than one token.
| Token | Tasks | State and owner |
|---|---|---|
account:instagram:2 | 2: 0666, 3512 | UNKNOWN: no pair. Liam can sign in two test profiles today. |
account:osl-chats:2 | 2: 3514b, 3669 | UNKNOWN because the verifier says it cannot inspect the product store. Agent verifier defect, not a request for Liam. |
account:instagram-isolated:2 | 1: 1130 | Circular: 1130 exists to create the two profiles the gate requires beforehand. Agents must remove/move this precondition and run 1130. |
account:messenger-isolated:2 | 1: 1165 | Same circular block. |
account:x-isolated:1 | 1: 1100 | Same circular block. |
canonical-file:apps/osl-hub/src/instagram_shipping_eye.rs | 1: 3512 | Circular: 3512 is the task that is supposed to create/connect this shipping file. Agent gate fix. |
account:owner-test-identities | 1: 7324 | UNKNOWN until Liam labels which existing identities are test identities. Liam can clear it today. |
account:owner-two-device | 1: 3788 | Stale/false: the task's own reassignment says host + running OSL-QA-1 guest is the settled two-device model and requires no judgment. Agent gate fix. |
account:signal:2 | 1: 0666 | UNMET: only signal-b is active. Liam can sign in a second test Signal session today. |
account:supported-mail-pairs | 1: 6091 | UNMET only for iCloud. Liam can provide/sign in the second isolated iCloud identity today. |
account:stripe-readonly | 1: 0002 | UNKNOWN even though the key file exists, because the verifier refuses to make a read-only API check. Agents can build the safe verifier; Liam only needs to authorize its use if required. |
account:task-3900-carriers | 1: 7241 | Permanently UNKNOWN: it is an unimplemented composite token. Agents must derive the 3900 carrier list and report exact missing sessions instead of asking Liam an undefined question. |
elapsed:0219d-campaign:168h | 1: 0219d | UNMET: receipt absent. It cannot clear today, but agents can start the real seven-day campaign today. |
Current probes report artifact:canonical, windows:interactive, device:osl-qa-1, and design-manifest:7049 MET. One caution: the artifact token proves bytes and ancestry, not usability. The artifact record itself says USABILITY.state = NOT OBSERVED, yet check-needs.sh returns MET. That is another false-pass shape and explains why artifact-gated tasks can reach a lane only to report that no qualifying runnable package was observed.
Other false blocks
- TASK 4200 is the only ready agent task outside the parked/precondition sets. It has been excluded since a rejected run on 2026-08-06 because a code-lane worktree could not see the plan todo directory. The task is explicitly a plan edit. An agent in this repository can do it now; the permanent rejected-evidence exclusion ensures the dispatcher never will.
- TASKS 1100, 1130, 1165, and 3512 are held until the thing they are assigned to create already exists.
- TASK 3788 is held by an old “second physical device” token that contradicts its settled host-plus-QA-guest task text.
- TASKS 3514b and 3669 are UNKNOWN because no verifier looks in the product's OSL Chats store. UNKNOWN here means “the gate did not look,” not “the identities are absent.”
- TASK 7241 is held by a composite token with no implementation, despite all task gates being met. Its criticality score is 17 open descendants.
- TASK 5301 still enforces two rows its own
regate:line removed. - TASK 7397 is deliberately dispatched to a worker class forbidden to perform it.
A. What the owner must do
Ordered by the current criticality score (open downstream tasks freed), then by direct precondition count:
1. TASK 1619 — do the real-friend unaided proof (18 downstream tasks).
2. TASK 1040, TASK 3201, and TASK 7793 — real two-person Signal send, one real card purchase, and provide the missing isolated social test identities (10 each). The 7793 identities also let agents finish 1100/1130/1165 after their circular gates are removed.
3. Label the existing test identities for TASK 7324 (10 downstream tasks once 7328 is also cleared).
4. TASK 1287r — real signed-in Outlook send/read (8).
5. TASK 7792 — provide the second isolated iCloud identity (6); this also clears the one direct supported-mail-pairs hold on 6091 (5 downstream).
6. TASK 0569 — enable timer enforcement live (5).
7. TASK 3227 — perform the provider-side blind review (4).
8. TASKS 0570, 1051, 1058, 3202, and 4402 (2 each).
9. Sign in a second Signal test session and two Instagram test profiles (directly clears 0666 and/or 3512: 2 distinct tasks total), and authorize the read-only Stripe check for 0002 if the verifier needs it (1).
10. Work through the remaining gate-ready owner queue: in total it contains 56 UI reviews, 14 live tests, 7 decisions, and 3 deploy actions. Agents cannot honestly substitute for those judgments or real-person/payment actions.
The owner does not need to fix OSL Chats detection, the 3900 composite checker, the circular profile/file gates, the stale two-device token, the citation matcher, or the parked tasks' code/build prerequisites. Those are agent work.
B. What agents can do right now with no owner input
1. Fix the citation-context defect and record 7328; then let 7330 and its 10-task chain advance.
2. Fix the same deleted-temporary-repository handling and record 7010 and 7012.
3. Execute the plan-only work 4200 and 7397 from the plan workspace instead of code lanes.
4. Remove the circular needs from 1100, 1130, 1165, and 3512, and replace the stale device token on 3788. Start the profile setup work; ask Liam only if a saved session actually needs password/CAPTCHA/2FA.
5. Implement exact verifiers for account:osl-chats:2 and account:task-3900-carriers, releasing 3514b, 3669, and 7241 when the observed state permits.
6. Start the real 0219d 168-hour campaign now.
7. Align 5301 with its regate, repair/integrate 3506, build and run 5086d, wire the missing live Telegram path for 3508b, fix 7059/7049 for 7060, and restore the four journeys/remove the four leaks for 7314.
So list B is not empty. The fleet is idle because its dispatcher cannot route this work through its present gates and worker classes, not because agents have nothing useful to do.