manifest generate rc=0
set-task-version rc=0
## spec_story_id
[harness/stories/STORY-61/tasks/T-S-001.md#t-s-001] -> [STORY-61]
[harness/stories/STORY-61/bugs/BUG-001.md] -> [STORY-61]
[docs/tasks/a.md#t-a-001] -> []
[] -> []
## spec_declared_outputs (memoised on mtime:size)
[docs/tasks/a.md#t-a-001] -> [src/api/|src/api/handler.ts]
[docs/tasks/d.md#t-d-001] -> []
[docs/tasks/af.md#t-af-001] -> [docs/af.md|lib/af.sh]
[docs/tasks/missing.md#x] -> []
-- memo keys: docs/tasks/a.md docs/tasks/af.md docs/tasks/d.md docs/tasks/missing.md 
-- memo stamp for the missing file: nostat
[a, memo hit] -> [memo-says-this]
[a, file grew] -> [src/api/|src/api/extra.ts|src/api/handler.ts]
## outputs_overlap
[|x.txt] -> rc=0
[x.txt|] -> rc=0
[a.txt|b.txt] -> rc=1
[src/api/|src/api/handler.ts] -> rc=0
[src/api/handler.ts|src/api/] -> rc=0
[handler.ts|src/api/handler.ts] -> rc=0
[web/page.tsx,src/a.ts|src/b.ts,src/a.ts] -> rc=0
[lib/|libx/y.sh] -> rc=1
[   |a] -> rc=0
## admission_allows / admission_note (MAX_CONCURRENT_LANES=3, MAX_LANES_PER_STORY=1)
nothing in flight, A: rc=0
nothing in flight, D (no outputs): rc=0
B running, A: rc=0
LOG   Defer (runs alone): docs/tasks/d.md#t-d-001 — no parseable Expected outputs, so it may touch anything
B running, D: rc=1
LOG   Defer (output overlap): docs/tasks/b.md#t-b-001 — declared outputs intersect T-B-001
B running, B again (overlap): rc=1
LOG   Defer (story lane cap): harness/stories/STORY-61/tasks/T-S-003.md#t-s-003 — STORY-61 already holds 1/1 lane(s)
STORY-61 at its cap, S3: rc=1
LOG   Defer (runs alone): docs/tasks/a.md#t-a-001 — T-S-001 declares no Expected outputs, so it may touch anything
a running lane declares nothing, A: rc=1
three of three in flight, A: rc=1
LOG   Defer (output overlap): docs/tasks/c.md#t-c-001 — declared outputs intersect a task admitted this pass
A admitted this pass, C (overlap): rc=1
A admitted this pass, B: rc=0
LOG   Defer (runs alone): docs/tasks/b.md#t-b-001 — a task with no parseable Expected outputs already holds the machine
D (exclusive) admitted this pass, B: rc=1
-- ADMITTED: 
-- SELECTION_DEFERRED_ANY=false ADMISSION_EXCLUSIVE=true
-- ADMIT_PENDING_STORY: [] [] 
-- ADMIT_PENDING_OUTPUTS: [src/api/|src/api/extra.ts|src/api/handler.ts] [] 
-- LANE_WAIT_SINCE: 
-- TASKS_FAILED=0 TASKS_SKIPPED=0
-- leases: 
-- a disabled pool slot shrinks the cap (lane_pool_size)
pool of 2, one running + one admitted, A: rc=1
-- …and without lane_pool_size (isolation) the configured cap applies
no lane_pool_size, A: rc=0
## select_admissible 1 — the SEQUENTIAL scheduler's call (MAX_CONCURRENT_LANES=1)
LOG Defer (escalated lane): harness/stories/STORY-62/tasks/T-E-002.md#t-e-002 — story halted, see blockers.md
ERR Spec file not found: <T>/work/docs/tasks/gone.md — marking [FAILED]
CALL write_blocker [T-G-001] [docs/tasks/gone.md#t-g-001] [spec-file-missing] [session.log]
LOG Defer (awaiting QA-findings publish): docs/tasks/held.md#t-hd-001
LOG   check_deps: T-E-001 waiting on pending deps: T-A-001
ERR   check_deps: T-F-001 blocked by failed/unknown deps: T-X-001
LOG Skip (blocked deps): docs/tasks/f.md#t-f-001 — see blockers.md
CALL write_blocker [T-F-001] [docs/tasks/f.md#t-f-001] [blocked-dependencies (deps_status=1)] [session.log]
METRIC {"event":"task_skipped_blocked_deps","task_id":"T-F-001","deps_status":1,"at":"2026-10-18T00:00:00+00:00"}
LOG   Stale-task inbox event written: work/harness/state/inbox/stale-task-T-S-002-20261018-000000.json
METRIC {"event":"stale_task_deferred","story_id":"STORY-61","task_id":"T-S-002","task_version":1,"story_version":2,"at":"2026-10-18T00:00:00+00:00"}
LOG   Defer (stale requirements): T-S-002 stamped v1, STORY-61 now v2 — routed back to planning (stale-task inbox event)
LOG   Defer (lease held): T-H-001 is already owned — not a failure, re-evaluated next pass
METRIC {"event":"lease_contended","task_id":"T-H-001","at":"2026-10-18T00:00:00+00:00"}
METRIC {"event":"lease_acquired","task_id":"T-P2-001","pid":<SELF>,"ttl_s":900,"at":"2026-10-18T00:00:00+00:00"}
METRIC {"event":"scheduler_scan","duration_s":0,"candidates":9,"pending":15,"admitted":1,"deferred":5,"at":"2026-10-18T00:00:00+00:00"}
rc=0
-- ADMITTED: docs/phase-2/p2.md#t-p2-001
-- SELECTION_DEFERRED_ANY=true ADMISSION_EXCLUSIVE=false
-- ADMIT_PENDING_STORY: [] 
-- ADMIT_PENDING_OUTPUTS: [p2.txt] 
-- LANE_WAIT_SINCE: 
-- TASKS_FAILED=1 TASKS_SKIPPED=1
-- leases: T-H-001 T-P2-001 
-- queue.txt:
   # queue — the scan's input
   # [DONE] docs/tasks/x.md#t-x-000
   # [FAILED] docs/tasks/x.md#t-x-001
   docs/tasks/cx.md#t-cx-001
   harness/stories/STORY-62/tasks/T-E-002.md#t-e-002
   # [FAILED] docs/tasks/gone.md#t-g-001
   docs/tasks/held.md#t-hd-001
   docs/tasks/e.md#t-e-001
   # [SKIPPED-DEPS] docs/tasks/f.md#t-f-001
   harness/stories/STORY-61/tasks/T-S-002.md#t-s-002
   docs/tasks/h.md#t-h-001
   # [RUNNING] docs/phase-2/p2.md#t-p2-001
   docs/tasks/a.md#t-a-001
   docs/tasks/c.md#t-c-001
   docs/tasks/b.md#t-b-001
   harness/stories/STORY-61/tasks/T-S-001.md#t-s-001
   harness/stories/STORY-61/tasks/T-S-003.md#t-s-003
   docs/tasks/d.md#t-d-001
-- inbox:
== stale-task-T-S-002-20261018-000000.json
{"type":"stale-task","story_id":"STORY-61","task_id":"T-S-002","task_version":1,"story_version":2,"at":"2026-10-18T00:00:00+00:00"}
## select_admissible 4 — the CONCURRENT scheduler's call (MAX_CONCURRENT_LANES=4)
LOG Defer (escalated lane): harness/stories/STORY-62/tasks/T-E-002.md#t-e-002 — story halted, see blockers.md
ERR Spec file not found: <T>/work/docs/tasks/gone.md — marking [FAILED]
CALL write_blocker [T-G-001] [docs/tasks/gone.md#t-g-001] [spec-file-missing] [session.log]
LOG Defer (awaiting QA-findings publish): docs/tasks/held.md#t-hd-001
LOG   check_deps: T-E-001 waiting on pending deps: T-A-001
ERR   check_deps: T-F-001 blocked by failed/unknown deps: T-X-001
LOG Skip (blocked deps): docs/tasks/f.md#t-f-001 — see blockers.md
CALL write_blocker [T-F-001] [docs/tasks/f.md#t-f-001] [blocked-dependencies (deps_status=1)] [session.log]
METRIC {"event":"task_skipped_blocked_deps","task_id":"T-F-001","deps_status":1,"at":"2026-10-18T00:00:00+00:00"}
LOG   Stale-task inbox event written: work/harness/state/inbox/stale-task-T-S-002-20261018-000000.json
METRIC {"event":"stale_task_deferred","story_id":"STORY-61","task_id":"T-S-002","task_version":1,"story_version":2,"at":"2026-10-18T00:00:00+00:00"}
LOG   Defer (stale requirements): T-S-002 stamped v1, STORY-61 now v2 — routed back to planning (stale-task inbox event)
LOG   Defer (lease held): T-H-001 is already owned — not a failure, re-evaluated next pass
METRIC {"event":"lease_contended","task_id":"T-H-001","at":"2026-10-18T00:00:00+00:00"}
METRIC {"event":"lease_acquired","task_id":"T-P2-001","pid":<SELF>,"ttl_s":900,"at":"2026-10-18T00:00:00+00:00"}
METRIC {"event":"lease_acquired","task_id":"T-A-001","pid":<SELF>,"ttl_s":900,"at":"2026-10-18T00:00:00+00:00"}
LOG   Defer (output overlap): docs/tasks/c.md#t-c-001 — declared outputs intersect a task admitted this pass
METRIC {"event":"lease_acquired","task_id":"T-B-001","pid":<SELF>,"ttl_s":900,"at":"2026-10-18T00:00:00+00:00"}
METRIC {"event":"scheduler_scan","duration_s":0,"candidates":12,"pending":15,"admitted":3,"deferred":6,"stopped_early":"candidate-budget","at":"2026-10-18T00:00:00+00:00"}
rc=0
-- ADMITTED: docs/phase-2/p2.md#t-p2-001 docs/tasks/a.md#t-a-001 docs/tasks/b.md#t-b-001
-- SELECTION_DEFERRED_ANY=true ADMISSION_EXCLUSIVE=false
-- ADMIT_PENDING_STORY: [] [] [] 
-- ADMIT_PENDING_OUTPUTS: [p2.txt] [src/api/|src/api/extra.ts|src/api/handler.ts] [web/page.tsx] 
-- LANE_WAIT_SINCE: docs/tasks/c.md#t-c-001=1792281600 
-- TASKS_FAILED=1 TASKS_SKIPPED=1
-- leases: T-A-001 T-B-001 T-H-001 T-P2-001 
-- queue.txt:
   # queue — the scan's input
   # [DONE] docs/tasks/x.md#t-x-000
   # [FAILED] docs/tasks/x.md#t-x-001
   docs/tasks/cx.md#t-cx-001
   harness/stories/STORY-62/tasks/T-E-002.md#t-e-002
   # [FAILED] docs/tasks/gone.md#t-g-001
   docs/tasks/held.md#t-hd-001
   docs/tasks/e.md#t-e-001
   # [SKIPPED-DEPS] docs/tasks/f.md#t-f-001
   harness/stories/STORY-61/tasks/T-S-002.md#t-s-002
   docs/tasks/h.md#t-h-001
   # [RUNNING] docs/phase-2/p2.md#t-p2-001
   # [RUNNING] docs/tasks/a.md#t-a-001
   docs/tasks/c.md#t-c-001
   # [RUNNING] docs/tasks/b.md#t-b-001
   harness/stories/STORY-61/tasks/T-S-001.md#t-s-001
   harness/stories/STORY-61/tasks/T-S-003.md#t-s-003
   docs/tasks/d.md#t-d-001
## select_admissible 2 with two lanes already running (overlap and story cap against them)
LOG Defer (escalated lane): harness/stories/STORY-62/tasks/T-E-002.md#t-e-002 — story halted, see blockers.md
ERR Spec file not found: <T>/work/docs/tasks/gone.md — marking [FAILED]
CALL write_blocker [T-G-001] [docs/tasks/gone.md#t-g-001] [spec-file-missing] [session.log]
LOG Defer (awaiting QA-findings publish): docs/tasks/held.md#t-hd-001
LOG   check_deps: T-E-001 waiting on pending deps: T-A-001
ERR   check_deps: T-F-001 blocked by failed/unknown deps: T-X-001
LOG Skip (blocked deps): docs/tasks/f.md#t-f-001 — see blockers.md
CALL write_blocker [T-F-001] [docs/tasks/f.md#t-f-001] [blocked-dependencies (deps_status=1)] [session.log]
METRIC {"event":"task_skipped_blocked_deps","task_id":"T-F-001","deps_status":1,"at":"2026-10-18T00:00:00+00:00"}
LOG   Stale-task inbox event written: work/harness/state/inbox/stale-task-T-S-002-20261018-000000.json
METRIC {"event":"stale_task_deferred","story_id":"STORY-61","task_id":"T-S-002","task_version":1,"story_version":2,"at":"2026-10-18T00:00:00+00:00"}
LOG   Defer (stale requirements): T-S-002 stamped v1, STORY-61 now v2 — routed back to planning (stale-task inbox event)
LOG   Defer (lease held): T-H-001 is already owned — not a failure, re-evaluated next pass
METRIC {"event":"lease_contended","task_id":"T-H-001","at":"2026-10-18T00:00:00+00:00"}
METRIC {"event":"lease_acquired","task_id":"T-P2-001","pid":<SELF>,"ttl_s":900,"at":"2026-10-18T00:00:00+00:00"}
LOG   Defer (output overlap): docs/tasks/a.md#t-a-001 — declared outputs intersect T-S-009
LOG   Defer (output overlap): docs/tasks/c.md#t-c-001 — declared outputs intersect T-S-009
LOG   Defer (output overlap): docs/tasks/b.md#t-b-001 — declared outputs intersect T-B-001
LOG   Defer (story lane cap): harness/stories/STORY-61/tasks/T-S-001.md#t-s-001 — STORY-61 already holds 1/1 lane(s)
LOG   Defer (story lane cap): harness/stories/STORY-61/tasks/T-S-003.md#t-s-003 — STORY-61 already holds 1/1 lane(s)
LOG   Defer (runs alone): docs/tasks/d.md#t-d-001 — no parseable Expected outputs, so it may touch anything
METRIC {"event":"scheduler_scan","duration_s":0,"candidates":15,"pending":15,"admitted":1,"deferred":11,"at":"2026-10-18T00:00:00+00:00"}
rc=0
-- ADMITTED: docs/phase-2/p2.md#t-p2-001
-- SELECTION_DEFERRED_ANY=true ADMISSION_EXCLUSIVE=false
-- ADMIT_PENDING_STORY: [] 
-- ADMIT_PENDING_OUTPUTS: [p2.txt] 
-- LANE_WAIT_SINCE: docs/tasks/a.md#t-a-001=1792281600 docs/tasks/b.md#t-b-001=1792281600 docs/tasks/c.md#t-c-001=1792281600 docs/tasks/d.md#t-d-001=1792281600 harness/stories/STORY-61/tasks/T-S-001.md#t-s-001=1792281600 harness/stories/STORY-61/tasks/T-S-003.md#t-s-003=1792281600 
-- TASKS_FAILED=1 TASKS_SKIPPED=1
-- leases: T-H-001 T-P2-001 
-- queue.txt:
   # queue — the scan's input
   # [DONE] docs/tasks/x.md#t-x-000
   # [FAILED] docs/tasks/x.md#t-x-001
   docs/tasks/cx.md#t-cx-001
   harness/stories/STORY-62/tasks/T-E-002.md#t-e-002
   # [FAILED] docs/tasks/gone.md#t-g-001
   docs/tasks/held.md#t-hd-001
   docs/tasks/e.md#t-e-001
   # [SKIPPED-DEPS] docs/tasks/f.md#t-f-001
   harness/stories/STORY-61/tasks/T-S-002.md#t-s-002
   docs/tasks/h.md#t-h-001
   # [RUNNING] docs/phase-2/p2.md#t-p2-001
   docs/tasks/a.md#t-a-001
   docs/tasks/c.md#t-c-001
   docs/tasks/b.md#t-b-001
   harness/stories/STORY-61/tasks/T-S-001.md#t-s-001
   harness/stories/STORY-61/tasks/T-S-003.md#t-s-003
   docs/tasks/d.md#t-d-001
## select_admissible 0 — nothing to admit: no scan at all
rc=0
-- ADMITTED: 
-- SELECTION_DEFERRED_ANY=false ADMISSION_EXCLUSIVE=false
-- ADMIT_PENDING_STORY: [] 
-- ADMIT_PENDING_OUTPUTS: [] 
-- LANE_WAIT_SINCE: 
-- TASKS_FAILED=0 TASKS_SKIPPED=0
-- leases: T-H-001 
## the A4 bounds: a finished lane stops the scan before its first candidate
METRIC {"event":"scheduler_scan","duration_s":0,"candidates":0,"pending":15,"admitted":0,"deferred":0,"stopped_early":"lane-finished","at":"2026-10-18T00:00:00+00:00"}
rc=0
-- ADMITTED: 
-- SELECTION_DEFERRED_ANY=true ADMISSION_EXCLUSIVE=false
-- ADMIT_PENDING_STORY: [] 
-- ADMIT_PENDING_OUTPUTS: [] 
-- LANE_WAIT_SINCE: 
-- TASKS_FAILED=0 TASKS_SKIPPED=0
-- leases: T-H-001 
## the A4 bounds: a candidate budget of 4
LOG Defer (escalated lane): harness/stories/STORY-62/tasks/T-E-002.md#t-e-002 — story halted, see blockers.md
ERR Spec file not found: <T>/work/docs/tasks/gone.md — marking [FAILED]
CALL write_blocker [T-G-001] [docs/tasks/gone.md#t-g-001] [spec-file-missing] [session.log]
LOG Defer (awaiting QA-findings publish): docs/tasks/held.md#t-hd-001
METRIC {"event":"scheduler_scan","duration_s":0,"candidates":4,"pending":15,"admitted":0,"deferred":2,"stopped_early":"candidate-budget","at":"2026-10-18T00:00:00+00:00"}
rc=0
-- ADMITTED: 
-- SELECTION_DEFERRED_ANY=true ADMISSION_EXCLUSIVE=false
-- ADMIT_PENDING_STORY: [] 
-- ADMIT_PENDING_OUTPUTS: [] 
-- LANE_WAIT_SINCE: 
-- TASKS_FAILED=1 TASKS_SKIPPED=0
-- leases: T-H-001 
## --phase and --story select for THIS run only
LOG Defer (escalated lane): harness/stories/STORY-62/tasks/T-E-002.md#t-e-002 — story halted, see blockers.md
LOG Skip (--phase phase-2; left pending): docs/tasks/gone.md#t-g-001
LOG Skip (--phase phase-2; left pending): docs/tasks/held.md#t-hd-001
LOG Skip (--phase phase-2; left pending): docs/tasks/e.md#t-e-001
LOG Skip (--phase phase-2; left pending): docs/tasks/f.md#t-f-001
LOG Skip (--phase phase-2; left pending): harness/stories/STORY-61/tasks/T-S-002.md#t-s-002
LOG Skip (--phase phase-2; left pending): docs/tasks/h.md#t-h-001
METRIC {"event":"lease_acquired","task_id":"T-P2-001","pid":<SELF>,"ttl_s":900,"at":"2026-10-18T00:00:00+00:00"}
LOG Skip (--phase phase-2; left pending): docs/tasks/a.md#t-a-001
LOG Skip (--phase phase-2; left pending): docs/tasks/c.md#t-c-001
LOG Skip (--phase phase-2; left pending): docs/tasks/b.md#t-b-001
LOG Skip (--phase phase-2; left pending): harness/stories/STORY-61/tasks/T-S-001.md#t-s-001
LOG Skip (--phase phase-2; left pending): harness/stories/STORY-61/tasks/T-S-003.md#t-s-003
LOG Skip (--phase phase-2; left pending): docs/tasks/d.md#t-d-001
METRIC {"event":"scheduler_scan","duration_s":0,"candidates":15,"pending":15,"admitted":1,"deferred":1,"at":"2026-10-18T00:00:00+00:00"}
rc=0
-- ADMITTED: docs/phase-2/p2.md#t-p2-001
-- SELECTION_DEFERRED_ANY=true ADMISSION_EXCLUSIVE=false
-- ADMIT_PENDING_STORY: [] 
-- ADMIT_PENDING_OUTPUTS: [p2.txt] 
-- LANE_WAIT_SINCE: 
-- TASKS_FAILED=0 TASKS_SKIPPED=0
-- leases: T-H-001 T-P2-001 
LOG Skip (--story STORY-61; left pending): harness/stories/STORY-62/tasks/T-E-002.md#t-e-002
LOG Skip (--story STORY-61; left pending): docs/tasks/gone.md#t-g-001
LOG Skip (--story STORY-61; left pending): docs/tasks/held.md#t-hd-001
LOG Skip (--story STORY-61; left pending): docs/tasks/e.md#t-e-001
LOG Skip (--story STORY-61; left pending): docs/tasks/f.md#t-f-001
LOG   Stale-task inbox event written: work/harness/state/inbox/stale-task-T-S-002-20261018-000000.json
METRIC {"event":"stale_task_deferred","story_id":"STORY-61","task_id":"T-S-002","task_version":1,"story_version":2,"at":"2026-10-18T00:00:00+00:00"}
LOG   Defer (stale requirements): T-S-002 stamped v1, STORY-61 now v2 — routed back to planning (stale-task inbox event)
LOG Skip (--story STORY-61; left pending): docs/tasks/h.md#t-h-001
LOG Skip (--story STORY-61; left pending): docs/phase-2/p2.md#t-p2-001
LOG Skip (--story STORY-61; left pending): docs/tasks/a.md#t-a-001
LOG Skip (--story STORY-61; left pending): docs/tasks/c.md#t-c-001
LOG Skip (--story STORY-61; left pending): docs/tasks/b.md#t-b-001
METRIC {"event":"lease_acquired","task_id":"T-S-001","pid":<SELF>,"ttl_s":900,"at":"2026-10-18T00:00:00+00:00"}
METRIC {"event":"lease_acquired","task_id":"T-S-003","pid":<SELF>,"ttl_s":900,"at":"2026-10-18T00:00:00+00:00"}
LOG Skip (--story STORY-61; left pending): docs/tasks/d.md#t-d-001
METRIC {"event":"scheduler_scan","duration_s":0,"candidates":15,"pending":15,"admitted":2,"deferred":1,"at":"2026-10-18T00:00:00+00:00"}
rc=0
-- ADMITTED: harness/stories/STORY-61/tasks/T-S-001.md#t-s-001 harness/stories/STORY-61/tasks/T-S-003.md#t-s-003
-- SELECTION_DEFERRED_ANY=true ADMISSION_EXCLUSIVE=false
-- ADMIT_PENDING_STORY: [STORY-61] [STORY-61] 
-- ADMIT_PENDING_OUTPUTS: [s1.txt] [s3.txt] 
-- LANE_WAIT_SINCE: 
-- TASKS_FAILED=0 TASKS_SKIPPED=0
-- leases: T-H-001 T-S-001 T-S-003 
-- queue.txt:
   # queue — the scan's input
   # [DONE] docs/tasks/x.md#t-x-000
   # [FAILED] docs/tasks/x.md#t-x-001
   docs/tasks/cx.md#t-cx-001
   harness/stories/STORY-62/tasks/T-E-002.md#t-e-002
   docs/tasks/gone.md#t-g-001
   docs/tasks/held.md#t-hd-001
   docs/tasks/e.md#t-e-001
   docs/tasks/f.md#t-f-001
   harness/stories/STORY-61/tasks/T-S-002.md#t-s-002
   docs/tasks/h.md#t-h-001
   docs/phase-2/p2.md#t-p2-001
   docs/tasks/a.md#t-a-001
   docs/tasks/c.md#t-c-001
   docs/tasks/b.md#t-b-001
   # [RUNNING] harness/stories/STORY-61/tasks/T-S-001.md#t-s-001
   # [RUNNING] harness/stories/STORY-61/tasks/T-S-003.md#t-s-003
   docs/tasks/d.md#t-d-001
