Skip to content

fix(engine): fence long-running claims and restore regression coverage - #224

Merged
ovasylenko merged 6 commits into
mainfrom
review/long-running
Oct 18, 2026
Merged

ovasylenko merged 6 commits into
mainfrom
review/long-running

Conversation

@ovasylenko

@ovasylenko ovasylenko commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Fence claimed scheduler and lifecycle state transitions on the atomic claim token, including webhook outbox commits.
  • Keep claim tokens unique across fixed scheduler clocks, use Postgres database time for lease age, and initialize tokens for explicitly created active rows and batch inserts.
  • Carry the immutable claim token through tree step, loop, and human-gate dispatch after ordinary context writes; make retry test drivers claim scheduled fixtures through storage.
  • Fix the governed-memory integrity bypass and re-enable six previously ignored regressions.
  • Add cross-backend claim-fence contracts and a focused review at docs/reviews/2026-10-18-long-running-engine.md.

Verification

  • cargo fmt --all -- --check and git diff --check pass.
  • Storage claim-fence contract: 8/8 on SQLite, Postgres, and encrypted variants.
  • API grant contract: 4/4; push outbox contract: 48/48.
  • Engine suite: 3,746 passed across 57 binaries, 0 failed. Server binary suite: 73 passed, 0 failed.
  • Storage suite: 880 passed across 33 binaries on SQLite and Postgres, 0 failed.
  • Repository CI is validating the whole workspace.

Known follow-ups

The review report records remaining risks for in-flight output/context writes after lease loss, external handler idempotency, and lossy in-memory hook dispatch under overload.

@ovasylenko
ovasylenko marked this pull request as ready for review October 18, 2026 17:45
@ovasylenko
ovasylenko merged commit 3878c99 into main Oct 18, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant