Commit Graph

  • dab697fae0 Merge #559: progress watchdog for StatusPoller and SessionReaper loops (fleetd #544) ltms 2026-09-12 11:11:46 +02:00
  • bfac14108f fleetd #544: pin the sticky-STOPPED-across-restart invariant Dai Ha 2026-09-12 16:00:58 +07:00
  • 7a3b2bb7ee Merge pull request 'fleetd #552: warn instead of aborting when the post-restart mktemp fails' (#560) from worker/552-post-restart-mktemp-abort-bc2672-4 into main ltms 2026-09-12 10:58:10 +02:00
  • f188947750 fleetd #552: warn instead of aborting when the post-restart mktemp fails worker/552-post-restart-mktemp-abort-bc2672-4 Dai Ha 2026-09-12 15:55:04 +07:00
  • f606fccf7f Merge pull request 'fleetd #553: register the rendezvous waiter in onStatus's finally backstop' (#557) from worker/553-onstatus-completion-leak-0da881-2 into main ltms 2026-09-12 10:50:24 +02:00
  • 735b6af976 fleetd #544: progress watchdog for StatusPoller and SessionReaper loops Dai Ha 2026-09-12 15:48:07 +07:00
  • 8b4320ed24 fleetd #553: split sentHandled's two meanings so onDelivered's own throw still completes the future worker/553-onstatus-completion-leak-0da881-2 Dai Ha 2026-09-12 15:45:36 +07:00
  • 351ee1ea6d CLAUDE.md: the ticket is the pull channel, and the brief is write-once Dai Ha 2026-09-12 15:45:09 +07:00
  • d4a51c6274 fleetd #553: register the rendezvous waiter in onStatus's finally backstop, not just the delivery future Dai Ha 2026-09-12 15:35:53 +07:00
  • 26f380a00b Merge #554: portable hash256, a third state for an unhashable jar, and the shell suite in CI (#550) ltms 2026-09-12 10:20:29 +02:00
  • b8182c96c2 fleetd #550: pin hash256's algorithm against a literal SHA-256 test vector worker/550-shasum-linux-196132-1 Dai Ha 2026-09-12 15:16:43 +07:00
  • 3da44eed63 fleetd #550: replace shasum with a portable hash256 helper, add a Linux CI job for the shell suite Dai Ha 2026-09-12 15:06:15 +07:00
  • 93a9ed3f83 Merge #549: widen Injector's delivery catch to Throwable (#546) ltms 2026-09-12 09:39:41 +02:00
  • 0b032f5a1a Merge #548: fix mktemp -t templates for GNU coreutils, split the unclear-supervisor detail (#545) ltms 2026-09-12 09:30:30 +02:00
  • fad99c4c5e Merge #547: record the finally non-goal on drainAll's completion line ltms 2026-09-12 09:29:46 +02:00
  • 87871eaefb fleetd #546: widen Injector's delivery catch to Throwable, stop re-delivery on Error Dai Ha 2026-09-12 14:26:27 +07:00
  • a476a14f1c fleetd #545: fix mktemp -t templates for GNU coreutils, split unclear-supervisor detail Dai Ha 2026-09-12 14:22:57 +07:00
  • 5eb4267a4a fleetd #512 follow-up: record why the drain-complete line must not move into a finally Dai Ha 2026-09-12 14:21:15 +07:00
  • 7611b69667 Merge pull request 'fleetd #504 item 1: stop the false ok on the loaded-but-not-running stop path' (#541) from worker/504-failed-reported-clean-3cfd66-3 into main ltms 2026-09-12 09:09:00 +02:00
  • cc302fe4af Merge pull request 'fleetd #538: recover polling loops after errors' (#543) from worker/538-loop-dies-on-error-4a5eeb-6 into main ltms 2026-09-12 09:02:48 +02:00
  • 4a8a780274 Merge pull request 'fleetd #426: pin FleetHealthMonitor.coverage and its HealthCoverageSource call site' (#542) from worker/426-health-coverage-ef1fd4-4 into main ltms 2026-09-12 08:55:46 +02:00
  • 343ce0f4c0 fleetd #538: recover polling loops after errors worker/538-loop-dies-on-error-4a5eeb-6 Dai Ha 2026-09-12 13:47:44 +07:00
  • cec3e191d4 Merge pull request 'fleetd #459: lint Javadoc references in CI' (#539) from worker/459-broken-link-targets-cadc17-5 into main ltms 2026-09-12 08:46:23 +02:00
  • 1850a5f324 fleetd #426: pin FleetHealthMonitor.coverage and its HealthCoverageSource call site worker/426-health-coverage-ef1fd4-4 Dai Ha 2026-09-12 13:43:50 +07:00
  • e4eb3dbed4 fleetd #504 item 1: stop swallowing real launchctl/systemctl failures on the 'loaded but not running' path worker/504-failed-reported-clean-3cfd66-3 Dai Ha 2026-09-12 13:42:27 +07:00
  • 57cd96f5e6 Merge pull request 'fleetd #537: pin CapturedLog.close()'s appender-detach and setLevel-immunity contracts' (#540) from worker/537-capturedlog-close-e4c437-2 into main ltms 2026-09-12 08:42:19 +02:00
  • 202e37e3b3 fleetd #537: pin CapturedLog.close()'s appender-detach and setLevel-immunity contracts worker/537-capturedlog-close-e4c437-2 Dai Ha 2026-09-12 13:36:55 +07:00
  • 90253f832d fleetd #459: lint Javadoc references in CI worker/459-broken-link-targets-cadc17-5 Dai Ha 2026-09-12 13:36:37 +07:00
  • f1640f5dcc Merge pull request 'fleetd #535: convert FleetdLeadMailboxSelectionTest to CapturedLog' (#536) from worker/535-appender-leak-fe74c1-1 into main ltms 2026-09-12 08:25:01 +02:00
  • c7903c1efe fleetd #535: convert FleetdLeadMailboxSelectionTest to CapturedLog worker/535-appender-leak-fe74c1-1 Dai Ha 2026-09-12 13:17:21 +07:00
  • 7d711942fe Merge #534: detect a died shutdown drain the ERROR count is blind to (fleetd #512 part 2) ltms 2026-09-12 08:04:15 +02:00
  • bec87f987c scripts: name the mechanism in detect_supervisor's constraint 2, not a line number Dai Ha 2026-09-12 12:58:37 +07:00
  • 7f8a8829f9 fleetd #529 follow-up: the new helper's javadoc claimed a reach it does not have Dai Ha 2026-09-12 12:58:26 +07:00
  • af9589783e Merge #533: promote CapturedLog to a shared test helper and close the logger-level leak (fleetd #529) ltms 2026-09-12 07:57:25 +02:00
  • 190436c9cf fleetd #512 part 2: detect a died shutdown drain the ERROR count is blind to worker/512-part2-shutdown-detection-434701-9 Dai Ha 2026-09-12 12:55:54 +07:00
  • 8ea5c2bb1f fleetd #529: promote CapturedLog to a shared test helper, close the logger-level leak worker/529-logger-level-sweep-2a5533-8 Dai Ha 2026-09-12 12:48:49 +07:00
  • 8335b12562 Merge #532: pin drain_gate_refusal's call site, not just the predicate (fleetd #528) ltms 2026-09-12 07:41:57 +02:00
  • d25c863118 Merge #531: separate the blocked forge MCP server from the working GITEA_TOKEN ltms 2026-09-12 07:41:11 +02:00
  • 7c34e8f4f9 fleetd #528: pin drain_gate_refusal's call site, not just the predicate worker/528-drain-gate-call-site-5de83d-7 Dai Ha 2026-09-12 12:38:16 +07:00
  • be07ed2033 charter: separate the blocked forge MCP server from the working GITEA_TOKEN charter/forge-mcp-vs-token Dai Ha 2026-09-12 12:37:30 +07:00
  • a6415f3e52 Merge #527: restore the logger level, not just the appender, in SessionManagerTest (fleetd #525) ltms 2026-09-12 07:20:44 +02:00
  • bb6fc9e0d7 Merge #524: FleetMcp's caller resolution is an explicit choice, and tested through the real transport (fleetd #518) ltms 2026-09-12 07:10:21 +02:00
  • 3366590dbe Merge #526: pin the jar swap at its call site, not just its predicate (fleetd #521) ltms 2026-09-12 07:01:55 +02:00
  • 01adc841fa Merge #523: test the policy probe's parsing guards (fleetd #519) ltms 2026-09-12 06:59:02 +02:00
  • 08771e270b fleetd #521 gate fix: pin the swap at the call site, not just the predicate worker/521-swap-guard-unpinned-28e931-5 Dai Ha 2026-09-12 11:58:34 +07:00
  • b5843ab43f fleetd #519 review fix: widen two needles to the whole parenthetical worker/519-probe-test-harness-d25ab8-4 Dai Ha 2026-09-12 11:50:11 +07:00
  • d8985719eb fleetd #525: restore the logger level, not just the appender, in SessionManagerTest worker/525-logger-level-leak-1b4eb0-6 Dai Ha 2026-09-12 11:49:03 +07:00
  • 5b1e13ca3d fleetd #519 review fix: move the parser comments with the code they explain Dai Ha 2026-09-12 11:47:16 +07:00
  • c89a375e5d fleetd #521: extract should_swap so the swap guard can't be silently disabled Dai Ha 2026-09-12 11:42:46 +07:00
  • 37dcefa834 Merge #522: log a positive drain-completion line when drainAll finishes (fleetd #512 part 1) ltms 2026-09-12 06:34:51 +02:00
  • 6a7342b1f0 fleetd #518: make the FleetMcp caller-resolution wiring an explicit choice, and test it once for real worker/518-fleetmcp-resolver-wiring-8ef96c-1 Dai Ha 2026-09-12 11:34:12 +07:00
  • a5ad7c6561 fleetd #519: test policy probe guards Dai Ha 2026-09-12 11:30:35 +07:00
  • c71ac231e5 Merge #520: pin the drain-gate abort branch and jar_id's absent case (fleetd #517) ltms 2026-09-12 06:29:08 +02:00
  • 33720c42b3 fleetd #512 (part 1): log a positive completion line when drainAll finishes worker/512-drain-complete-line-7edd71-3 Dai Ha 2026-09-12 11:29:01 +07:00
  • 3833d8e52b fleetd #517: pin the drain-gate abort branch and jar_id's absent case worker/517-abort-branch-and-jar-id-41b641-2 Dai Ha 2026-09-12 11:23:37 +07:00
  • b37def9238 Merge #516: the probe refuses with three distinct messages, each naming its own cause (fleetd #500) ltms 2026-09-12 06:09:50 +02:00
  • 8f02576df6 Merge #515: pin the two-client completeness fold, and legacyPrincipal earns no authority (fleetd #509) ltms 2026-09-12 06:06:12 +02:00
  • 525bc1c5f4 Merge #514: the drain-gate abort message names a recovery that works, and jar_id()'s default is pinned (fleetd #511) ltms 2026-09-12 06:00:23 +02:00
  • d59ece6dec fleetd #500: stop a wrong-interpreter or failed-parse reading a policy as empty worker/500-9e52c9-3 Dai Ha 2026-09-12 10:58:16 +07:00
  • 32408d1e64 fleetd #509: pin the pane-scan completeness fold, and stop legacyPrincipal handing out primary worker/509-4912f4-2 Dai Ha 2026-09-12 10:58:09 +07:00
  • 6e23bf8309 fleetd #511: fix wrong --no-build wording in drain-gate abort, pin jar_id() default worker/511-9a4b23-1 Dai Ha 2026-09-12 10:56:32 +07:00
  • aa4c0b84c3 Merge #510: never build into the path a running daemon holds (fleetd #493) ltms 2026-09-12 05:44:16 +02:00
  • 40c593cd09 Merge #508: a herdr error during the pane scan is refused, not promoted to primary (fleetd #505) ltms 2026-09-12 05:35:41 +02:00
  • 979adf82eb fleetd #493: never build into the path a running daemon holds worker/493-479f45-2 Dai Ha 2026-09-12 10:35:19 +07:00
  • 36870836aa fleetd #505: a herdr error during the pane scan must not read as a clean negative worker/505-03f8b2-1 Dai Ha 2026-09-12 10:27:42 +07:00
  • 136312fb11 Merge #503: Injector's readiness-grace warn prints measured elapsed time, never arithmetic on constants (fleetd #501) ltms 2026-09-12 05:07:35 +02:00
  • 4f28da62a3 Merge #499: redeploy-fleetd.sh gains an "unclear" supervisor state that cannot reach kill, and the detail survives the subshell (fleetd #492, #497) ltms 2026-09-12 05:04:04 +02:00
  • 708f1795ad Merge #502: awaitHerdr reports three outcomes with measured elapsed time, not one boolean (fleetd #498) ltms 2026-09-12 05:01:02 +02:00
  • 599419f9e6 fleetd #492 follow-up: carry the unclear detail across detect_supervisor's subshell boundary worker/492-followup-detect-unclear Dai Ha 2026-09-12 09:58:45 +07:00
  • ac351ee1de fleetd #501: readiness-grace expiry logs measured elapsed time and the loop's own poll counter, never the configured budget worker/501-a31fa0-7 Dai Ha 2026-09-12 09:57:57 +07:00
  • 274afafde6 fleetd #498: awaitHerdr distinguishes deadline-passed from interrupted, with measured elapsed time worker/498-451d1c-5 Dai Ha 2026-09-12 09:54:59 +07:00
  • 8f59019305 Merge #496: lead-rollover logs measured elapsed time and measured counts, never the configured budget (fleetd #494) ltms 2026-09-12 04:44:10 +02:00
  • e966cbadf9 fleetd #494 follow-up (2nd pass): the grace-release line still had one constant, and its test could not tell the difference worker/494-1015ce-2 Dai Ha 2026-09-12 09:39:39 +07:00
  • b17f37a683 fleetd #492 follow-up: detect_supervisor must never read "could not tell" as "none" Dai Ha 2026-09-12 09:23:21 +07:00
  • c87cc25aa6 fleetd #494 follow-up: print the measured nudge count, and fix the sibling turn-settle timeout line Dai Ha 2026-09-12 09:22:19 +07:00
  • 3fb331145a fleetd #494: log measured elapsed time, never the configured budget, on a lead-rollover failure/success Dai Ha 2026-09-12 09:08:04 +07:00
  • dcd505286f fleetd #492: teach redeploy-fleetd.sh systemd --user as a third supervisor worker/492-209647-1 Dai Ha 2026-09-12 09:00:59 +07:00
  • 60fa958da2 docs: a relative handoverPath lands in the LEAD's repo, not fleetd's (#491) Dai Ha 2026-09-12 08:46:17 +07:00
  • 9950361bc9 docs: #489 is fixed and deployed, but criterion 6 is still unmet Dai Ha 2026-09-12 07:55:41 +07:00
  • 9f74b6619a Merge #490: nudge the /clear submit keystroke before bootstrapText (fleetd #489) ltms 2026-09-12 02:52:52 +02:00
  • f687046450 fleetd #489 follow-up: fix stale class javadoc, off-by-one nudge count, weak test worker/489-001902-2 Dai Ha 2026-09-12 07:45:36 +07:00
  • c6058652be fleetd #489: nudge the /clear submit keystroke before bootstrapText Dai Ha 2026-09-12 07:29:26 +07:00
  • 2a95da2ff4 docs: the handover skill must warn that the automatic roll is broken (#489) Dai Ha 2026-09-12 07:21:38 +07:00
  • 7f9137fcb6 fleetd #480: ignore the handover file, and note the absolute-path guarantee in the handover skill Dai Ha 2026-09-12 05:46:34 +07:00
  • 3bf3968bc7 Merge #487: resolve a relative leadRollover.handoverPath against the calling lead's workspace (fleetd #480 follow-up) Dai Ha 2026-09-12 05:43:12 +07:00
  • 261aa056f9 fleetd #480 follow-up correction 2: guarantee resolveHandoverPath is always absolute worker/480-relative-handover-path-906323-1 Dai Ha 2026-09-12 05:41:40 +07:00
  • 042b8c99dd fleetd #480 follow-up correction: cover Fleetd.leadRollover(...)'s own wiring behaviourally Dai Ha 2026-09-12 05:32:25 +07:00
  • 4bfab6b718 fleetd #480 follow-up: resolve a relative leadRollover.handoverPath against the calling lead's workspace Dai Ha 2026-09-12 05:19:49 +07:00
  • 008a457557 docs: fleet_handover is shipped — update the charter table and the handover skill Dai Ha 2026-09-11 07:29:59 +07:00
  • 9494a6b99a Merge #485: fleetd #480 Unit C — the fleet_handover MCP tool ltms 2026-09-11 02:27:56 +02:00
  • eb0557621e fleetd #480 correction round: collapse FleetMcp to one required constructor Dai Ha 2026-09-11 07:25:08 +07:00
  • a0eed6f01b Merge #484: fleetd #480 Unit E — a BLOCKED pane is not a settled pane ltms 2026-09-11 02:21:06 +02:00
  • e2a91e883e fleetd #480 Unit E correction: retire "injectable" wording from the log lines Dai Ha 2026-09-11 07:18:51 +07:00
  • 62646957ea fleetd #480 Unit C: wire fleet_handover MCP tool onto LeadRollover Dai Ha 2026-09-11 07:07:24 +07:00
  • 802c0ab701 fleetd #480 Unit E: BLOCKED is not a settled turn boundary Dai Ha 2026-09-11 07:01:28 +07:00
  • 4bab23e241 Merge #483: fleetd #480 Unit A — lead rollover core (config + executor) ltms 2026-09-11 01:51:20 +02:00
  • a94262271b fleetd #480 correction round: defer the roll, and gate it on caller identity Dai Ha 2026-09-11 06:44:58 +07:00
  • 5c12865c25 fleetd #480 Unit A: lead rollover core (config block + executor) Dai Ha 2026-09-11 06:33:01 +07:00
  • 3f8c956325 docs: the handover skill must not promise a tool that does not exist Dai Ha 2026-09-11 06:17:11 +07:00
  • 2051ceeb26 Merge #481: the handover skill (fleetd #480 Unit B) ltms 2026-09-11 01:16:40 +02:00