Skip to content

fix: harden DAG replan, execution, and crash recovery - #553

Merged
LeXwDeX merged 6 commits into
devfrom
fix/545-dag-audit-reliability
Sep 5, 2026
Merged

fix: harden DAG replan, execution, and crash recovery#553
LeXwDeX merged 6 commits into
devfrom
fix/545-dag-audit-reliability

Conversation

@LeXwDeX

@LeXwDeX LeXwDeX commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Closes #545
Closes #546
Closes #547
Closes #548
Closes #549
Closes #550
Closes #551
Closes #552

Why

The DAG audit found that replanning, delayed workers, crash recovery, and single-step execution could corrupt or strand workflow state. This delivery repairs each reported boundary before promotion to main and a stable release.

What changed

  • Fence admission by node sequence and graph revision, and settlement by execution attempt and child session. Stale workers cannot fail, complete, cancel, or admit replacement work.
  • Reject changes to admitted execution definitions unless a running node explicitly restarts. Preserve valid timeout updates and inherited-timeout omission.
  • Commit each replan's nodes, configuration, and revision in one transaction. Reject unreadable configuration and forward committed events in order, even when an earlier legacy listener yields; retain instance location on batch notifications.
  • Restore unresolved checkpoint vetoes after a crash; later resume, replan, or step acknowledges the durable verdict.
  • Validate input-mapping sources and dependency order, then reject missing runtime fields while preserving valid null values.
  • Apply the same empty-output failure decision to live and recovered execution.
  • Converge skipped subtrees in step mode while starting at most one child per step.
  • Refresh the SpecGit 1.13.1 harness and bootstrap wrapper, including body-file options and restoration of the complete initialization surface. Preserve the repository's existing 45-minute job and 40-minute sibling-check budget. Automatic merge remains disabled.

Evidence

Bun 1.3.14, final head e742eec4cef4339e54c6c72aedd5dbe7a7594fdd: the complete DAG gate passed with 92 core, 665 OpenCode DAG, 3 schema, and 60 TUI tests; every existing per-file coverage floor and generated SDK check passed. All 29 workspace typechecks passed. Lint passed at 4,845 warnings below the unchanged 4,850-warning ceiling. The offline SpecGit bootstrap suite passed all 283 assertions, with clean shellcheck.

Regressions exercise real DAG projections and storage, injected transaction rollback, delayed prompt settlement, stale cached configuration, restart recovery, and guarded single-step dispatch. The ordered bridge regression passed 20 tests across 10 reruns with a blocked prior listener. Final-head template packaging validated all 16 templates at config commit 9743916ecd0690ee69f424321ab15265c4e59e2a. A native macOS candidate build included the Web UI, templates, and ripgrep; the real archive passed all six installer acceptance assertions, including signature validation, tamper rejection, and executable smoke. The compiled server returned a healthy 1.0.41 response and HTTP 200 for the embedded homepage. Independent GPT-5.6-Sol Standards and Spec reviews resolved all mandatory findings; the reviewers reported no remaining material requirement gaps.

Current-head GitHub CI passed: Typecheck and DAG coverage, Linux unit tests, HttpAPI contracts, and Linux/Windows E2E. SpecGit acceptance is verified before the authorized dev merge.

Checklist

  • All seven audit findings have independent issues and regression evidence.
  • Local behavior, coverage, typechecks, and lint passed.
  • Independent Standards and Spec reviews resolved.
  • Current-head GitHub CI passed.

@LeXwDeX
LeXwDeX changed the base branch from main to dev September 4, 2026 22:40
@LeXwDeX LeXwDeX changed the title fix: fence DAG node settlement by execution attempt fix: harden DAG replan, execution, and crash recovery Sep 4, 2026
@LeXwDeX
LeXwDeX marked this pull request as ready for review September 4, 2026 23:40
Support body-file arguments and align local delivery guidance with SpecGit 1.13.1. The offline bootstrap suite passes all 283 assertions. Refs #552.
Consume the ordered event stream before layer acquisition completes and isolate forwarding failures. Cover a yielding prior listener and align the audit regressions with repository Effect conventions. Refs #545, #546, #547, #548, #549, #550, #551.
@LeXwDeX
LeXwDeX merged commit 345e5c1 into dev Sep 5, 2026
8 checks passed
@LeXwDeX
LeXwDeX deleted the fix/545-dag-audit-reliability branch September 5, 2026 00:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment