b32a30fd47
Merge #341: warn once per distinct unprotected credential name, not once per launcher
Dai Ha
2026-09-04 16:02:51 +07:00
464dbc0930
fleetd#341: a per-name guard so a later spawn's different unprotected name still warns
worker/fleetd-341-af5a6b-24
Dai Ha
2026-09-04 15:59:43 +07:00
a8cadd9150
Merge #338: a timed-out queued send cancels its message instead of leaving it to be delivered later
Dai Ha
2026-09-04 15:57:39 +07:00
eee4d576a2#333: the Cold doc bullet listed four keys, COLD_KEYS has five
Dai Ha
2026-09-04 15:43:39 +07:00
b4f9d7f53a
Merge #333: fleet: is a split key, and split membership now proves a reporting branch exists
Dai Ha
2026-09-04 15:39:02 +07:00
3aca53b967
fleetd#333: fleet.leaders is split too, and split membership now proves reporting exists
worker/fleetd-333-281f46-18
Dai Ha
2026-09-04 15:36:40 +07:00
4aa1fae296#329: a null task in answer() is not only "never an async ticket"
Dai Ha
2026-09-04 15:33:57 +07:00
0c865032f9
Merge #329: log an exception thrown after a ticket resolves, complete the ticket from the task answer() already holds, and read orphan.turnId once
Dai Ha
2026-09-04 15:26:45 +07:00
823976c1b5#326: state primary's real consequence, and write down the denominator
Dai Ha
2026-09-04 14:58:07 +07:00
c8388a7f92
Merge #326: primary and configReload are deferred keys, so a reload says a restart is needed
Dai Ha
2026-09-04 14:53:50 +07:00
02e6aef98c
Merge #324: read task.turnId once in finishAsyncTask, so a concurrent clear cannot make the removal key null
Dai Ha
2026-09-04 14:44:42 +07:00
e5cb51a90e#324: read task.turnId once in finishAsyncTask to stop an NPE from ask()'s unlocked forgetting
worker/fix-324-3e9bbf-14
Dai Ha
2026-09-04 14:38:52 +07:00
e545c08082#323: pin the exclusion set — the coverage mechanism's own escape hatch, found by mutation
Dai Ha
2026-09-04 14:32:08 +07:00
efa0deb9b2
Merge #323: the reload classifier proves its own coverage instead of claiming it
Dai Ha
2026-09-04 14:29:10 +07:00
ca47e90c01
fleetd#323: close the reload-classifier drift with a reflection coverage test
worker/fix-323-b8287d-13
Dai Ha
2026-09-04 14:26:09 +07:00
fa1f49675b
Merge #318: a delivery landing after release is refused, not parked in a map nobody reads
Dai Ha
2026-09-04 14:21:29 +07:00
8426c3528f#316: pin the fail-toward-preserve rule on the late re-check, found by mutation
Dai Ha
2026-09-04 14:20:36 +07:00
65f98ba910
Merge #316: the dirty check that authorises the worktree removal is taken after the worker stops
Dai Ha
2026-09-04 14:17:13 +07:00
d05205d1eb
Add a hunter skill: a sweep and a diff review are different jobs with different output contracts
Dai Ha
2026-09-04 14:13:08 +07:00
76672ff016#306: the post-turn phase gets the same unknown-stall escape as a turn
Dai Ha
2026-09-04 13:06:29 +07:00
9379f92c23#305: one definition of loopback, so a worker cannot become the primary
Dai Ha
2026-09-04 12:58:21 +07:00
21ff63b11d#304: the member routes report a herdr failure instead of a bare 500
Dai Ha
2026-09-04 12:48:21 +07:00
21844b54d7#302: fleet_reply refuses blank content too, matching fleet_send
Dai Ha
2026-09-04 12:36:23 +07:00
4769481515
Merge #302: a reply with no content is refused, not silently delivered
Dai Ha
2026-09-04 12:33:47 +07:00
bbbb4c1eb3
fleetd #302: require content in MessageService.reply so a REST reply with no content cannot silently resolve a waiter
worker/fix-302-52ad0e-9
Dai Ha
2026-09-04 12:31:09 +07:00
38c248e617
Merge #298: a released reply is requeued, not dropped
Dai Ha
2026-09-04 12:21:30 +07:00
9debc0de27#297: render both profiles doors from one body builder, not two copies
Dai Ha
2026-09-04 12:19:02 +07:00
f34361b263
Merge #297: REST reports what MCP reports
Dai Ha
2026-09-04 12:16:00 +07:00
85c90d440a#297: map HerdrException on GET /agents and /members; GET /profiles reports quarantine + cool-off
worker/fix-297-66bd11-7
Dai Ha
2026-09-04 12:12:35 +07:00
e97502d550
drainAll: record that the timeout is a whole-drain budget, not a per-session grace
Dai Ha
2026-09-04 12:09:44 +07:00
aef14ff46e
Merge #296: a failed spawn no longer leaks the pane it opened
Dai Ha
2026-09-04 12:08:23 +07:00