Fix dispatcher worker recovery, Main takeover, polling lifetime and step fairness #331

Merged
karsten merged 7 commits from fix/durable-dispatcher-continuation into main 2026-11-11 06:28:19 +00:00
Owner

Fixes repeated unfinished-task stalls and worker-failure Main takeover. Same execution ID technical retry with retained latest transcript/intent and durable backoff; no total retry cutoff. Host Main shell/file mutation guard when dispatcher enabled+ready. Separate polling windows from authentic task expiry, retain read-only monitoring while a child runs, and fair yield at committed sequential steps. Preserves stop/manual pause/question/policy/uncertain-effect reconciliation and parent decision revision fencing. Normal merge of latest main 51cb8ed included; companion plugins PR #83 pinned immutably at 3f5b95c. Integrated verification: core build passed, full core 1831 total / 1830 passed / 0 failed / 1 skipped; plugins 84 passed. Independent supplied-diff review findings addressed, final review no concrete P1/P2 findings. See development-evidence/dispatcher-continuation-2026-11-11.md. No live state rewrites or restarts. External release activation remains separate from source publication.

Fixes repeated unfinished-task stalls and worker-failure Main takeover. Same execution ID technical retry with retained latest transcript/intent and durable backoff; no total retry cutoff. Host Main shell/file mutation guard when dispatcher enabled+ready. Separate polling windows from authentic task expiry, retain read-only monitoring while a child runs, and fair yield at committed sequential steps. Preserves stop/manual pause/question/policy/uncertain-effect reconciliation and parent decision revision fencing. Normal merge of latest main 51cb8ed included; companion plugins PR #83 pinned immutably at 3f5b95c. Integrated verification: core build passed, full core 1831 total / 1830 passed / 0 failed / 1 skipped; plugins 84 passed. Independent supplied-diff review findings addressed, final review no concrete P1/P2 findings. See development-evidence/dispatcher-continuation-2026-11-11.md. No live state rewrites or restarts. External release activation remains separate from source publication.
Merge remote-tracking branch 'origin/main' into fix/durable-dispatcher-continuation
Some checks failed
decision-interface-ci / full-validation (pull_request) Failing after 2m4s
0ae67d6f91
# Conflicts:
#	plugins.lock.json
test(dispatcher): drain retry fixtures before ledger cleanup
All checks were successful
decision-interface-ci / full-validation (pull_request) Successful in 1m58s
aa51ec050c
Merge remote-tracking branch 'origin/main' into fix/durable-dispatcher-continuation
All checks were successful
decision-interface-ci / full-validation (pull_request) Successful in 2m3s
abd0d724bc
# Conflicts:
#	plugins.lock.json
#	src/dispatcher.ts
#	src/execution.ts
#	test/fresh-session-recovery.test.ts
fix(dispatcher): reject deduplication with a looser retained deadline
All checks were successful
decision-interface-ci / full-validation (pull_request) Successful in 2m7s
dabb20f7bb
Author
Owner

Final integration status: Plugins #83 is merged (dc7d816), subsequent Plugins #84 is preserved by immutable pin 59757c933ff165e8412a3e67dd105669de55b738. Core main through d623eb4 is normally merged, including task identity/deadline and parent decision fences. Final local CI-equivalent suite: 1833 total, 1832 passed, 0 failed, 1 skipped; build/typecheck passed; plugin suite 86 passed. Exact source head dabb20f. Remote CI must pass on this head before normal merge. Cleanup-hook race found by CI fixed, no test exclusions. Supplied-diff independent review drove fixes for monitor renewal, latest retry transcript, expiry during backoff, and rejecting a dedup request whose retained deadline is looser. No live ledger rewrites, worker interruption or service restarts performed.

Final integration status: Plugins #83 is merged (dc7d816), subsequent Plugins #84 is preserved by immutable pin 59757c933ff165e8412a3e67dd105669de55b738. Core main through d623eb4 is normally merged, including task identity/deadline and parent decision fences. Final local CI-equivalent suite: 1833 total, 1832 passed, 0 failed, 1 skipped; build/typecheck passed; plugin suite 86 passed. Exact source head dabb20f. Remote CI must pass on this head before normal merge. Cleanup-hook race found by CI fixed, no test exclusions. Supplied-diff independent review drove fixes for monitor renewal, latest retry transcript, expiry during backoff, and rejecting a dedup request whose retained deadline is looser. No live ledger rewrites, worker interruption or service restarts performed.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
harness/core!331
No description provided.