This website requires JavaScript.
26f198675c
Merge pull request 'fleetd #612 Unit A: extract main's boot composition into FleetdAssembly/FleetdRuntime' (#620 ) from worker/fleetd-612-unita-87807e-1 into main
main
ltms
2026-09-22 07:43:39 +02:00
72f46d7c0c
fleetd #612 : merge main into Unit A, carrying #621 's requireOperatorConfirm into the assembly
worker/fleetd-612-unita-87807e-1
lead
2026-09-22 12:43:22 +07:00
640f4d5f23
Merge pull request 'fleetd #612 B3: behavioural replacements for lead-seat, quarantine, lead-rollover guards' (#628 ) from worker/612-b3-mcpwirings-da2b58-3 into worker/fleetd-612-unita-87807e-1
ltms
2026-09-22 07:36:05 +02:00
6edeb70bc4
fleetd #612 B3 correction: distinguish lead vs member herdr in FleetdLeadRolloverAssemblyTest
worker/612-b3-mcpwirings-da2b58-3
Dai Ha
2026-09-22 12:31:39 +07:00
bc49d87cb8
Merge remote-tracking branch 'origin/worker/fleetd-612-unita-87807e-1' into worker/612-b3-mcpwirings-da2b58-3
Dai Ha
2026-09-22 12:27:47 +07:00
14b169c410
Merge pull request 'fleetd #612 step 2 unit B2: behavioural replacements for the CB-185 pair' (#626 ) from worker/612-b2-cb185-176d3a-2 into worker/fleetd-612-unita-87807e-1
ltms
2026-09-22 07:19:28 +02:00
2b52324d9a
fleetd #612 step 2 unit B3: behavioural replacements for lead-seat, quarantine and lead-rollover source-text guards
Dai Ha
2026-09-22 12:18:48 +07:00
b6147a39f6
Merge pull request 'fleetd #612 Unit B1: CompletionResolver behavioural test (replaces source-text guard)' (#627 ) from worker/612-b1-completion-457459-1 into worker/fleetd-612-unita-87807e-1
ltms
2026-09-22 07:14:25 +02:00
dbfc34cb6d
fleetd #612 B2 fixup: cover the symmetric FleetApp daemon-drop mutation
worker/612-b2-cb185-176d3a-2
Dai Ha
2026-09-22 12:11:28 +07:00
a20cb96730
fleetd #612 Unit B1: replace CompletionResolver source-text guards with behavioural tests
worker/612-b1-completion-457459-1
Dai Ha
2026-09-22 12:10:38 +07:00
cda1a6a917
fleetd #612 step 2 unit B2: behavioural replacements for the CB-185 pair
Dai Ha
2026-09-22 12:03:38 +07:00
608e4496be
Merge pull request 'fleetd #612 A-gaps: coordinator path + reportRoleFallbackGaps inside the assembly boundary' (#624 ) from worker/612-agaps-73a926-2 into worker/fleetd-612-unita-87807e-1
ltms
2026-09-22 06:41:42 +02:00
fa61dc587c
Merge pull request '#608 replace MessageService timing sleeps' (#623 ) from worker/608-sleeps-3a64ff-3 into main
ltms
2026-09-22 06:38:29 +02:00
526e3b7459
fleetd #612 A-gaps: exercise the coordinator path and pull reportRoleFallbackGaps inside the assembly boundary
worker/612-agaps-73a926-2
Dai Ha
2026-09-22 11:38:19 +07:00
b6b006c651
#608 replace MessageService timing sleeps
worker/608-sleeps-3a64ff-3
Dai Ha
2026-09-22 11:33:48 +07:00
63eec8a0da
Merge pull request 'fleetd #621 : make the context-roll notice obey requireOperatorConfirm' (#622 ) from worker/621-b4520b-1 into main
ltms
2026-09-22 06:31:02 +02:00
cbe872b538
fleetd #621 : make the context-roll notice obey requireOperatorConfirm
worker/621-b4520b-1
Dai Ha
2026-09-22 11:27:17 +07:00
7d9a807243
handover skill: the rollover bootstrap is proven, and requireOperatorConfirm is per-host
Dai Ha
2026-09-22 11:24:03 +07:00
8915e40c7d
Merge pull request 'fleetd #618 : state the measured auto-compact precedence' (#619 ) from worker/618-b83894-2 into main
ltms
2026-09-22 05:53:35 +02:00
3f7bc3815e
fleetd #612 Unit A: extract Fleetd.main's boot composition into FleetdAssembly/FleetdRuntime
Dai Ha
2026-09-22 10:52:35 +07:00
6cb31a10e4
fleetd #618 : fix the third stale spot the brief missed
worker/618-b83894-2
Dai Ha
2026-09-22 10:50:59 +07:00
8368a274a0
fleetd #618 : state the measured auto-compact precedence, not 'unverified'
Dai Ha
2026-09-22 10:46:31 +07:00
17127efb88
Merge #601 : pass auto-compact window to leads; warn instead of refusing on a conflict (CB-617)
ltms
2026-09-22 05:22:56 +02:00
203f034528
Merge #617 : write FAILED instead of leaving a dead roll stuck at IN_PROGRESS (fleetd #615 )
ltms
2026-09-22 05:21:21 +02:00
9ee16f5b85
Merge #616 : report role-fallback gaps at boot, name contextHighNudge (fleetd #613 )
ltms
2026-09-22 05:17:52 +02:00
388ef5a3c3
fleetd #615 : write FAILED instead of leaving status(token) stuck at IN_PROGRESS
worker/fleetd-615-e05481-5
Dai Ha
2026-09-22 10:17:12 +07:00
be6c45ff78
CB-617 review: warn instead of refuse on conflicting autoCompactWindow
worker/lead-autocompact-5f1ab2-3
Dai Ha
2026-09-22 10:11:44 +07:00
e99cb70a8b
CB-617: pass auto-compact window to leads
Dai Ha
2026-09-19 16:21:33 +07:00
987ccef4c7
fleetd #613 : log role-fallback gaps at boot, name contextHighNudge in the heartbeat line
worker/fleetd-613-f85deb-3
Dai Ha
2026-09-22 10:12:09 +07:00
076cc43f7b
Merge #614 : skip unreadableFileIsUnknown honestly when root ignores the read bit
ltms
2026-09-20 12:43:43 +02:00
bad47a8444
fleetd CI: skip unreadableFileIsUnknown honestly when root ignores the read bit
Dai Ha
2026-09-20 17:40:47 +07:00
955b9ea013
Merge #610 : nudge an idle lead to hand over when its own context reads HIGH (fleetd #609 )
ltms
2026-09-20 12:37:43 +02:00
89cb8ff79b
fleetd #609 review: the context latch must mean the notice reached the pane
Dai Ha
2026-09-20 17:34:05 +07:00
fa62e9906d
Merge #611 : make the collected-ticket nudge test deterministic (fleetd #608 )
ltms
2026-09-20 12:26:16 +02:00
d7390ccd37
fleetd #609 review: repair a garbled comment carried over from the brief
Dai Ha
2026-09-20 17:20:48 +07:00
aa517ae0ec
fleetd #608 : make anAlreadyCollectedTicketProducesNoNudge deterministic
worker/fleetd-608-flaky-nudge-test-d0c2d1-3
Dai Ha
2026-09-20 17:18:45 +07:00
60496831c2
fleetd #609 : nudge an idle lead to hand over when its own context reads HIGH
Dai Ha
2026-09-20 17:11:54 +07:00
9a992d0f70
Merge #602 : report a lead's live context usage in fleet_list
ltms
2026-09-20 11:38:31 +02:00
3762aca307
Merge #606 : wire the lead context gauge to the real configDir, and stop flapping on a torn line
worker/lead-context-gauge-ad404f-1
ltms
2026-09-20 11:38:22 +02:00
4e27bde2d7
fleetd #602 gauge-wiring follow-up: pin Fleetd.main's LeadConfigDirSource wiring
worker/gauge-wiring-9158c1-4
Dai Ha
2026-09-20 16:34:49 +07:00
b85d9b0e46
Merge #607 : redeploy-fleetd.sh no longer fails a deploy that worked
ltms
2026-09-20 11:30:10 +02:00
856dfc6318
fleetd #603 review: close the untested fall-through path
worker/redeploy-slowstart-ead0e5-5
Dai Ha
2026-09-20 16:28:53 +07:00
81c1d8e91c
fleetd #603 : share HEALTH_WAIT between the pid poll and the health check
Dai Ha
2026-09-20 16:21:52 +07:00
d345b14e43
fleetd #602 gauge-wiring: thread a lead's configured configDir into the context gauge
Dai Ha
2026-09-20 16:19:37 +07:00
9640deeffc
Merge #605 : fleet_list reports charterBytes alongside charterSha256
ltms
2026-09-20 11:18:17 +02:00
ad3d81941f
Correct the invariant claimed in the charterBytes comment
worker/charter-bytes-13668c-6
Dai Ha
2026-09-20 16:16:30 +07:00
8b986a52e0
#604 item 1: fleet_list reports charterBytes alongside charterSha256
Dai Ha
2026-09-20 16:14:45 +07:00
f336bcef39
CLAUDE.md: rewrap the long line my last edit left in the architects paragraph
Dai Ha
2026-09-20 16:13:23 +07:00
3ed7bfca67
fleetd: report a lead's live context usage in fleet_list
Dai Ha
2026-09-20 16:05:15 +07:00
f5c6a0e4fc
CLAUDE.md: architects settled the two invented specifics at line 144
Dai Ha
2026-09-19 23:32:41 +07:00
a7aee5b982
Merge #600 : fleetd lead-rollover outcomes readable after confirm()
Dai Ha
2026-09-19 23:32:32 +07:00
bf895616a5
fleetd: distinguish an in-flight roll from an unknown token
worker/rollover-outcome-291483-2
Dai Ha
2026-09-19 22:31:47 +07:00
b874afb0af
fleetd: make lead-rollover outcomes readable after confirm()
Dai Ha
2026-09-19 16:17:39 +07:00
6eb34a654f
Merge #599 : fleetd #589 groups 1+2 — wiring-test 6 sites in Fleetd.main()
ltms
2026-09-19 10:39:47 +02:00
7084d99b89
Merge #597 : fleetd #593 — running_pid() counts only the daemon
ltms
2026-09-19 10:37:50 +02:00
ae7845c375
fleetd #589 (Groups 1 & 2): pin 6 main() wiring sites with named factories
worker/589-f64303-2
Dai Ha
2026-09-19 15:35:32 +07:00
61115f6f61
Merge #598 : fleetd #589 group 3 — wiring-test 5 sites in Fleetd.main()
ltms
2026-09-19 10:33:07 +02:00
4b9ebda1b3
fleetd #593 CORRECTION 1: allowlist comm=java, not a denylist of shells
worker/593-1a8025-5
Dai Ha
2026-09-19 15:31:15 +07:00
1e68d7ee39
Merge origin/main into worker/593-1a8025-5
Dai Ha
2026-09-19 15:27:46 +07:00
6cccd458d4
#589 Group 3: wiring-test the 5 sites below line 500 in Fleetd.main()
worker/589-fcd2aa-1
Dai Ha
2026-09-19 15:24:11 +07:00
42820fbe75
fleetd #593 (pid-count half): running_pid() no longer matches the caller
Dai Ha
2026-09-19 15:18:32 +07:00
d91ff886da
#568 follow-up: fix the text defects the hunter-role merge introduced
Dai Ha
2026-09-19 15:15:54 +07:00
386e760a5c
Merge #596 : fleetd #568 — add the hunter member role
ltms
2026-09-19 10:13:26 +02:00
2e349139e9
#568 : add hunter member role
worker/568-9fdaa2-3
Dai Ha
2026-09-19 15:09:07 +07:00
a639969a9a
CLAUDE.md: a blocked lead consults architects, not the operator
Dai Ha
2026-09-19 14:57:04 +07:00
17c3a69c57
docs: CB-591 gateway page had two claims that went stale
Dai Ha
2026-09-13 07:01:15 +07:00
49a5875586
Merge #583 : fleetd #582 — assert pending message-id cleanup at every publish cleanup site
ltms
2026-09-12 15:52:25 +02:00
634d33b50b
Merge worker/562-loop-health-wiring-test-99611c-5
Dai Ha
2026-09-12 20:28:14 +07:00
1db79bcaa9
Merge worker/581-completionresolver-cas-sites-0542b7-6
Dai Ha
2026-09-12 20:28:14 +07:00
4507bc5a70
Merge worker/571-attempted-outcome-5739f7-2
Dai Ha
2026-09-12 20:28:14 +07:00
d7239ed23b
fleetd #571 : pin FleetMcp.formatReply's TIMED_OUT_UNCONFIRMED wording
worker/571-attempted-outcome-5739f7-2
Dai Ha
2026-09-12 20:19:37 +07:00
dfeb9340b4
fleetd #581 : cover completion CAS removals
worker/581-completionresolver-cas-sites-0542b7-6
Dai Ha
2026-09-12 20:19:20 +07:00
1513d4f260
fleetd #562 follow-up: extract loopHealthSource factory, pin its wiring
worker/562-loop-health-wiring-test-99611c-5
Dai Ha
2026-09-12 20:16:23 +07:00
4ca7d72303
#582 : assert pending message-id cleanup
Dai Ha
2026-09-12 20:15:48 +07:00
c0545d003d
fleetd #571 : make FleetApp.writeReply's inner Outcome switch exhaustive, no default
Dai Ha
2026-09-12 19:28:59 +07:00
275ac0d251
fleetd #562 : surface loop health
worker/562-surface-loop-health-7df5cc-4
Dai Ha
2026-09-12 19:26:37 +07:00
c1e06c9e12
fleetd #571 : add TIMED_OUT_UNCONFIRMED so an ATTEMPTED delivery is not reported as never-arriving
Dai Ha
2026-09-12 19:21:10 +07:00
204da67d66
Merge #576 : fleetd #575 — one finally covers answer()'s STALE_TURN exit
Dai Ha
2026-09-12 19:05:00 +07:00
b091c51eee
fleetd #575 : widen answer()'s try so one finally covers its STALE_TURN exit
worker/575-waiter-cleanup-sites-62ad80-1
Dai Ha
2026-09-12 18:56:02 +07:00
84d631b030
Merge #572 : answer()'s session-lock release is pinned on all four exits
ltms
2026-09-12 13:30:22 +02:00
3f8c38fc54
Merge #567 : pin LeadMailbox.inspect's probe-channel close
ltms
2026-09-12 13:26:30 +02:00
a4dbc8f8b7
fleetd #572 : pin answer()'s session-lock release across all four exits
worker/572-answer-lock-release-46a9ae-5
Dai Ha
2026-09-12 18:23:54 +07:00
ed2fd6646a
Merge #561 : the completion/session listener fan-out survives either half throwing, and both sites are pinned
ltms
2026-09-12 13:20:56 +02:00
5441a2b321
fleetd #567 : assert inspect closes probe channel
worker/567-probe-channel-leak-a38fc5-6
Dai Ha
2026-09-12 18:19:43 +07:00
384867dfa3
Merge #551 : ATTEMPTED is its own cancellation answer, and the javadoc stops claiming a timed-out send never arrived
ltms
2026-09-12 13:19:20 +02:00
f40c19ecf0
fleetd #551 shape sweep: fix stale ATTEMPTED-route javadoc/comments in MessageService
worker/551-record-before-send-7cbf56-1
Dai Ha
2026-09-12 18:13:06 +07:00
034e17bb32
fleetd #561 follow-up: pin the session half of bothMustRunKeepingSecondResult
worker/561-listener-fanout-survives-a-throw-61d538-2
Dai Ha
2026-09-12 18:10:31 +07:00
68b428c484
fleetd #551 rework (comment 17058): fix TIMED_OUT_QUEUED javadoc for ATTEMPTED
Dai Ha
2026-09-12 17:51:26 +07:00
e20ccab1eb
fleetd #561 : harden the completion/session TurnListener fan-out
Dai Ha
2026-09-12 17:47:53 +07:00
d83821bbce
fleetd #551 : record the delivery attempt before the irreversible send
Dai Ha
2026-09-12 17:43:21 +07:00
ba2f4d16f8
Merge #555 : the redeploy main flow is lifted into tested predicates, and the guard now catches functions below the SOURCED line
ltms
2026-09-12 12:19:47 +02:00
db4c98ac60
Merge #556 : the Injector owns turn registration, and the #553 backstop is pinned too
ltms
2026-09-12 12:18:15 +02:00
8f80d267a0
fleetd #555 rework: catch function definitions after the SOURCED guard
worker/555-redeploy-main-flow-seam-65c2f5-2
Dai Ha
2026-09-12 17:11:11 +07:00
738d34a609
fleetd #556 rework: pin registration on the #553 finally backstop path
worker/556-injector-owns-registration-e027a5-1
Dai Ha
2026-09-12 17:08:44 +07:00
a46e4058ac
fleetd #556 : make turn registration structural, independent of any TurnListener
Dai Ha
2026-09-12 16:50:09 +07:00
f4f5f3106e
Merge #513 : TIMED_OUT_QUEUED has four routes, and the javadoc now says which
ltms
2026-09-12 11:48:54 +02:00
8d79d229ff
fleetd #555 : lift 8 main-flow decisions into tested predicate/dispatch functions
Dai Ha
2026-09-12 16:46:53 +07:00
cb64bc8157
fleetd #513 : rework — TIMED_OUT_QUEUED has four routes, not one
Dai Ha
2026-09-12 16:45:35 +07:00
ed28b51f12
fleetd #513 : fix TIMED_OUT_QUEUED javadoc — cancelled, not queued
Dai Ha
2026-09-12 16:32:36 +07:00
4f9aba40e7
Merge #558 : the ticket is the pull channel, and the brief is write-once
ltms
2026-09-12 11:12:55 +02:00