Database: reject divergent capture source rotation forks #89

Closed
nsaspy wants to merge 2 commits from rage-database/capture-rotation-fork-20260831 into master
Owner

Slice

Harden the canonical Tek9 execution-graph boundary so one operation/capture-session predecessor source cannot persist two different successor rotations.

Why

Capture rotation lineage is used for durable restart/replay. Accepting divergent successors for the same predecessor makes resume lineage ambiguous under concurrent or replayed writers.

RED

Commit 96a7c2d3fb58056a4969d8eb824619190213adf3 adds a regression proving exact replay is allowed but a divergent successor must raise persistence-replay-conflict.

GREEN implementation

Commit 340dde0d0d798ba65e5a68d52565111681fa228b validates lineage inside the canonical Tek9 write transaction before replay-safe node persistence. Scope is operation + capture session + predecessor source. Identical stable replay remains accepted.

Boundary

Database/execution-graph only. No parser actor, Hackpert expert logic, provider execution, shadow graph/KB, second database, or StarIntel product work.

## Slice Harden the canonical Tek9 execution-graph boundary so one operation/capture-session predecessor source cannot persist two different successor rotations. ## Why Capture rotation lineage is used for durable restart/replay. Accepting divergent successors for the same predecessor makes resume lineage ambiguous under concurrent or replayed writers. ## RED Commit `96a7c2d3fb58056a4969d8eb824619190213adf3` adds a regression proving exact replay is allowed but a divergent successor must raise `persistence-replay-conflict`. ## GREEN implementation Commit `340dde0d0d798ba65e5a68d52565111681fa228b` validates lineage inside the canonical Tek9 write transaction before replay-safe node persistence. Scope is operation + capture session + predecessor source. Identical stable replay remains accepted. ## Boundary Database/execution-graph only. No parser actor, Hackpert expert logic, provider execution, shadow graph/KB, second database, or StarIntel product work.
Database: reject divergent capture rotation forks
Some checks failed
agent-pr-serialization / one-open-pr-per-agent-lane (pull_request_target) Failing after 1s
agent-framework-boundary / keep-agent-framework-out-of-product-tree (pull_request) Successful in 6s
core / common-lisp-core (pull_request) Failing after 40s
monorepo / hygiene (pull_request) Successful in 5m57s
340dde0d0d
nsaspy closed this pull request 2026-09-04 20:54:40 +00:00
Some checks failed
agent-pr-serialization / one-open-pr-per-agent-lane (pull_request_target) Failing after 1s
agent-framework-boundary / keep-agent-framework-out-of-product-tree (pull_request) Successful in 6s
core / common-lisp-core (pull_request) Failing after 40s
monorepo / hygiene (pull_request) Successful in 5m57s

Pull request closed

Sign in to join this conversation.
No description provided.