• Joined on 2026-03-08
ltms closed issue fleet/fleetd#309 2026-09-04 08:31:00 +02:00
A timed-out git worktree add leaks the worktree it half-created: #274's cleanup does not cover the add itself
ltms closed issue fleet/fleetd#308 2026-09-04 08:30:57 +02:00
A worker spawned during the shutdown drain is never drained: its pane is left running and its worktree is never preserved
ltms commented on issue fleet/fleetd#308 2026-09-04 08:30:52 +02:00
A worker spawned during the shutdown drain is never drained: its pane is left running and its worktree is never preserved

Merged to main in 8beae50.

What I checked myself

The two mechanisms are independently covered. The worker's own mutation reverted all of SessionManager.java, which proves the pair…

ltms commented on issue fleet/fleetd#309 2026-09-04 08:30:34 +02:00
A timed-out git worktree add leaks the worktree it half-created: #274's cleanup does not cover the add itself

Merged to main in b2a58cb.

What I checked myself

The fix introduced a data-loss path, and the worker found it and guarded it. This was not in my ticket. Moving git worktree add…

ltms pushed to main at fleet/fleetd 2026-09-04 08:30:08 +02:00
8beae50fe7 Merge #308: refuse spawns once the shutdown drain has started, and sweep stragglers
b2a58cb966 Merge #309: clean up partial worktree state when git worktree add fails
83f2aea60f #308: refuse a spawn once the shutdown drain has started, and sweep stragglers
002329adb5 #309: clean partial worktrees after add failure
Compare 4 commits »
ltms closed pull request fleet/fleetd#311 2026-09-04 08:23:30 +02:00
#310: prevent idle reap from stopping delivered workers
ltms closed issue fleet/fleetd#310 2026-09-04 08:23:27 +02:00
reapIdle can release a session that just became BUSY, contradicting its own documented invariant
ltms commented on issue fleet/fleetd#310 2026-09-04 08:23:24 +02:00
reapIdle can release a session that just became BUSY, contradicting its own documented invariant

Merged as a49671c, with one addition of mine in f159ca7. Both on main.

The design is right

registry.remove(paneId, expected) is ConcurrentHashMap's compare-and-remove, and it is the…

ltms pushed to main at fleet/fleetd 2026-09-04 08:22:59 +02:00
f159ca7d27 #310: log when a reap is skipped because the record changed
a49671ceb9 #310: prevent idle reap from stopping delivered workers
Compare 2 commits »
ltms opened issue fleet/fleetd#310 2026-09-04 08:12:15 +02:00
reapIdle can release a session that just became BUSY, contradicting its own documented invariant
ltms opened issue fleet/fleetd#309 2026-09-04 08:11:44 +02:00
A timed-out git worktree add leaks the worktree it half-created: #274's cleanup does not cover the add itself
ltms opened issue fleet/fleetd#308 2026-09-04 08:11:12 +02:00
A worker spawned during the shutdown drain is never drained: its pane is left running and its worktree is never preserved
ltms opened issue fleet/fleetd#307 2026-09-04 08:08:37 +02:00
A worker's report is stranded when its fleet_ask timed out, and the lead is told the worker never replied
ltms commented on issue fleet/fleetd#306 2026-09-04 08:06:47 +02:00
A worker that wedges in unknown during post-turn housekeeping is polled forever and can never be delivered to again

Fixed in 76672ff, on main.

Mutation proof

Reverted only Injector.java, kept the three new tests:

[ERROR] Tests run: 30, Failures: 2 -- in dev.ltms.fleet.inject.InjectorTest
Assertio…
ltms closed issue fleet/fleetd#306 2026-09-04 08:06:34 +02:00
A worker that wedges in unknown during post-turn housekeeping is polled forever and can never be delivered to again
ltms pushed to main at fleet/fleetd 2026-09-04 08:06:34 +02:00
76672ff016 #306: the post-turn phase gets the same unknown-stall escape as a turn
ltms opened issue fleet/fleetd#306 2026-09-04 08:06:16 +02:00
A worker that wedges in unknown during post-turn housekeeping is polled forever and can never be delivered to again
ltms commented on issue fleet/fleetd#305 2026-09-04 07:58:50 +02:00
A worker connecting from 127.0.0.2 is resolved as the primary, and gains spawn/stop/send/drain

Fixed in 9379f92, on main.

Mutation proof

Reverted only the two source files (git apply -R), kept the tests. The failure text states the escalation better than prose can:

[ERROR]…
ltms closed issue fleet/fleetd#305 2026-09-04 07:58:27 +02:00
A worker connecting from 127.0.0.2 is resolved as the primary, and gains spawn/stop/send/drain
ltms pushed to main at fleet/fleetd 2026-09-04 07:58:27 +02:00
9379f92c23 #305: one definition of loopback, so a worker cannot become the primary