### the control checkout
head=[<base>] branch=[main]
assert HEAD rc=0 reason=[]
assert empty rc=1 reason=[no base SHA was given]
assert a remote ref rc=1 reason=[base <base> is not the local integration head <second> — it is origin/feature, which the local branch has moved past]
detached branch=[fallback] no fallback=[]
no repo head=[]
assert without a HEAD rc=1 reason=[the control checkout has no HEAD]
### the recorded base and the control-head journal
no journal rc=1
-- lanes dir files:
   ./.gitignore: # Worktree lanes: runtime state, never committed (STORY-212).|*|
   ./base.sha: <second>|
   ./control-heads.log: <second>|
an unrecorded head rc=1
-- lanes dir files:
   ./.gitignore: # Worktree lanes: runtime state, never committed (STORY-212).|*|
   ./base.sha: <second>|
   ./control-heads.log: <second>|<third>|
a recorded fast-forward rc=0
a rewind to a recorded head rc=1
empty before rc=1
explicit-sha
no lanes dir rc=0
no head: record_base rc=0 wrote=[no]
### lane_acquire: a cold lane (T-1)
rc=0 path=[<T>/ctl/harness/state/lanes/1]
   mode=[] reason=[] seconds=[0] needs_bootstrap=[true] needs_build=[true] base=[<unset>]
-- after lane_pool_load_last:
   mode=[cold] reason=[] seconds=[0] needs_bootstrap=[true] needs_build=[true] base=[<third>]
-- worktrees:
   worktree <T>/ctl
   HEAD <third>
   branch refs/heads/main
   worktree <T>/ctl/harness/state/lanes/1
   HEAD <third>
   branch refs/heads/factory/task/T-1
-- branches: factory/task/T-1 main 
-- tags: 
-- lanes dir files:
   ./.gitignore: # Worktree lanes: runtime state, never committed (STORY-212).|*|
   ./base.sha: <third>|
   ./control-heads.log: <second>|<third>|explicit-sha|<third>|
   ./meta/1/last-acquire: mode: cold|needs_bootstrap: true|seconds: 0|reason: |needs_build: true|base: <third>|
-- the lanes dir is invisible to the control checkout: []
registered rc=0
empty branch rc=0
disposable rc=0
after a commit: empty rc=1
after a commit: disposable rc=1
### lane_release auto: unlanded work keeps its branch; the pooled lane is retained, detached
rc=0
-- worktrees:
   worktree <T>/ctl
   HEAD <third>
   branch refs/heads/main
   worktree <T>/ctl/harness/state/lanes/1
   HEAD <T-1 work>
   detached
-- branches: factory/task/T-1 main 
-- tags: 
-- lanes dir files:
   ./.gitignore: # Worktree lanes: runtime state, never committed (STORY-212).|*|
   ./base.sha: <third>|
   ./control-heads.log: <second>|<third>|explicit-sha|<third>|
   ./meta/1/last-acquire: mode: cold|needs_bootstrap: true|seconds: 0|reason: |needs_build: true|base: <third>|
   ./meta/1/lockfiles.hash: pkg/lock.txt:30178684258 
### lane_acquire: reset path (T-2) — lockfiles unchanged, the release dropped the build stamp
rc=0 path=[<T>/ctl/harness/state/lanes/1]
   mode=[reset] reason=[] seconds=[0] needs_bootstrap=[false] needs_build=[true] base=[<third>]
-- worktrees:
   worktree <T>/ctl
   HEAD <third>
   branch refs/heads/main
   worktree <T>/ctl/harness/state/lanes/1
   HEAD <third>
   branch refs/heads/factory/task/T-2
-- branches: factory/task/T-1 factory/task/T-2 main 
-- tags: 
-- lanes dir files:
   ./.gitignore: # Worktree lanes: runtime state, never committed (STORY-212).|*|
   ./base.sha: <third>|
   ./control-heads.log: <second>|<third>|explicit-sha|<third>|
   ./meta/1/last-acquire: mode: reset|needs_bootstrap: false|seconds: 0|reason: |needs_build: true|base: <third>|
   ./meta/1/lockfiles.hash: pkg/lock.txt:30178684258 
-- the lane is clean at the base: [] head=[<third>]
### lane_acquire again without a release (T-3): build stamp still matches
rc=0
   mode=[reset] reason=[] seconds=[0] needs_bootstrap=[false] needs_build=[false] base=[<third>]
-- tracked edits and untracked files are gone: []
### the base moves a lockfile (T-4): the dependency tree must re-sync
rc=0
   mode=[reset] reason=[] seconds=[0] needs_bootstrap=[true] needs_build=[true] base=[<bump lockfile>]
-- changed lockfiles=[pkg/lock.txt]
### a re-run of T-1, whose kept branch holds unlanded work: the attempt is tagged first
LOG   = T-1: the earlier attempt on factory/task/T-1 is kept as tag factory/abandoned/T-1-20261018-000000; re-implementing on the current base
rc=0
   mode=[reset] reason=[] seconds=[0] needs_bootstrap=[true] needs_build=[true] base=[<bump lockfile>]
-- worktrees:
   worktree <T>/ctl
   HEAD <bump lockfile>
   branch refs/heads/main
   worktree <T>/ctl/harness/state/lanes/1
   HEAD <bump lockfile>
   branch refs/heads/factory/task/T-1
-- branches: factory/task/T-1 factory/task/T-2 factory/task/T-3 main 
-- tags: factory/abandoned/T-1-20261018-000000 
### lane_reset over a lane stopped mid-rebase
-- rebase stopped: [yes]
lane_reset rc=0 reason=[]
-- branch=[factory/task/T-5] head=[<bump lockfile>] status=[]
missing dir rc=1
unknown base rc=1 reason=[could not move the lane onto factory/task/T-5 @ 00000000]
### probe rejections
no lane: rc=1 reason=[no pooled lane at <T>/ctl/harness/state/lanes/2]
unreachable base: rc=1 reason=[base 11111111 is not reachable from the lane]
a good lane: rc=0 reason=[]
no base: rc=0
unreconciled rc=0
unreconciled: rc=1 reason=[lane holds UNRECONCILED work (dirty tree, live lease) — recovery outranks reuse]
### lane_acquire refuses a lane holding unreconciled work
rc=1
   mode=[cold] reason=[lane holds UNRECONCILED work (dirty tree, live lease) — recovery outranks reuse] seconds=[0] needs_bootstrap=[true] needs_build=[true] base=[<bump lockfile>]
-- lanes dir files:
   ./.gitignore: # Worktree lanes: runtime state, never committed (STORY-212).|*|
   ./base.sha: <bump lockfile>|
   ./control-heads.log: <second>|<third>|explicit-sha|<third>|<bump lockfile>|
   ./meta/1/last-acquire: mode: refused|needs_bootstrap: true|seconds: 0|reason: lane holds UNRECONCILED work (dirty tree, live lease) — recovery outranks reuse|needs_build: true|base: |
   ./meta/1/lockfiles.hash: pkg/lock.txt:30178684258 
   mode=[refused] reason=[lane holds UNRECONCILED work (dirty tree, live lease) — recovery outranks reuse] seconds=[0] needs_bootstrap=[true] needs_build=[true] base=[]
-- the work is still there: [dirty]
### a dirty lane with no lease is reset (recovery has already run)
rc=0
   mode=[reset] reason=[] seconds=[0] needs_bootstrap=[true] needs_build=[true] base=[<bump lockfile>]
-- []
### an unregistered directory is rebuilt
registered rc=1
rc=0
   mode=[rebuilt] reason=[] seconds=[0] needs_bootstrap=[true] needs_build=[true] base=[<bump lockfile>]
-- worktrees:
   worktree <T>/ctl
   HEAD <bump lockfile>
   branch refs/heads/main
   worktree <T>/ctl/harness/state/lanes/1
   HEAD <bump lockfile>
   branch refs/heads/factory/task/T-7
-- branches: factory/task/T-1 factory/task/T-2 factory/task/T-3 factory/task/T-6 factory/task/T-7 main 
-- tags: factory/abandoned/T-1-20261018-000000 
-- lanes dir files:
   ./.gitignore: # Worktree lanes: runtime state, never committed (STORY-212).|*|
   ./base.sha: <bump lockfile>|
   ./control-heads.log: <second>|<third>|explicit-sha|<third>|<bump lockfile>|
   ./meta/1/last-acquire: mode: rebuilt|needs_bootstrap: true|seconds: 0|reason: |needs_build: true|base: <bump lockfile>|
registered(empty) rc=1
registered(missing) rc=1
registered(a subdir of the control checkout) rc=1
### a worktree add that fails is recorded
rc=1
   mode=[cold] reason=[git worktree add refused <T>/ctl/harness/state/lanes/2 at 22222222] seconds=[0] needs_bootstrap=[true] needs_build=[true] base=[<bump lockfile>]
-- lanes dir files:
   ./.gitignore: # Worktree lanes: runtime state, never committed (STORY-212).|*|
   ./base.sha: <bump lockfile>|
   ./control-heads.log: <second>|<third>|explicit-sha|<third>|<bump lockfile>|
   ./meta/1/last-acquire: mode: rebuilt|needs_bootstrap: true|seconds: 0|reason: |needs_build: true|base: <bump lockfile>|
   ./meta/2/last-acquire: mode: failed|needs_bootstrap: true|seconds: 0|reason: git worktree add refused <T>/ctl/harness/state/lanes/2 at 22222222|needs_build: true|base: |
### lane_release keep, then auto on an empty branch
keep rc=0
-- worktrees:
   worktree <T>/ctl
   HEAD <bump lockfile>
   branch refs/heads/main
   worktree <T>/ctl/harness/state/lanes/1
   HEAD <bump lockfile>
   detached
-- branches: factory/task/T-1 factory/task/T-2 factory/task/T-3 factory/task/T-6 factory/task/T-7 main 
-- tags: factory/abandoned/T-1-20261018-000000 
auto (empty branch) rc=0
-- worktrees:
   worktree <T>/ctl
   HEAD <bump lockfile>
   branch refs/heads/main
   worktree <T>/ctl/harness/state/lanes/1
   HEAD <bump lockfile>
   detached
-- branches: factory/task/T-1 factory/task/T-2 factory/task/T-3 factory/task/T-6 factory/task/T-7 main 
-- tags: factory/abandoned/T-1-20261018-000000 
release of nothing rc=0
### the pool switched off: STORY-212's remove / create / remove
rc=0
   mode=[cold] reason=[] seconds=[0] needs_bootstrap=[true] needs_build=[true] base=[<bump lockfile>]
-- worktrees:
   worktree <T>/ctl
   HEAD <bump lockfile>
   branch refs/heads/main
   worktree <T>/ctl/harness/state/lanes/1
   HEAD <bump lockfile>
   branch refs/heads/factory/task/T-10
-- branches: factory/task/T-1 factory/task/T-10 factory/task/T-2 factory/task/T-3 factory/task/T-6 factory/task/T-7 main 
-- tags: factory/abandoned/T-1-20261018-000000 
release (integrated branch) rc=0
-- worktrees:
   worktree <T>/ctl
   HEAD <T-10 work>
   branch refs/heads/main
-- branches: factory/task/T-1 factory/task/T-2 factory/task/T-3 factory/task/T-6 factory/task/T-7 main 
-- tags: factory/abandoned/T-1-20261018-000000 
-- the slot directory is gone: [gone]
lane_prune rc=0
-- main:
   T-10 work
   bump lockfile
   third
   second
   base
