Database: make graph and KB replay conflict-safe #120

Closed
nsaspy wants to merge 7 commits from hackmode-rage-database/24-replay-conflict into master
Owner

Database-owned bounded slice for #24/#27/#30.

Adds atomic replay admission at the canonical Tek9 graph boundary:

  • first stable-ID node/edge write inserts;
  • identical replay is accepted as idempotent;
  • same stable ID with different content signals persistence-replay-conflict and aborts the transaction;
  • execution graph, operational KB, long-term promotion, and global export persistence all use the same replay-safe boundary;
  • checks and writes occur inside Tek9's composable write transaction, so concurrent writers cannot race through a non-atomic fetch-then-put window;
  • no provider/expert execution changes and no shadow graph/KB.

RED head: 50c441682e04fbfe958b30532d75459baa632e9c.

The first implementation run correctly exposed that Hackmode CI's old Tek9 pin (6ff2e40…) predates the public composable transaction API. A process-local lock would not satisfy multi-worker safety, so this PR minimally advances the CI Tek9 pin to current tested Tek9 a9f5b595f5d965163d2b7c518c72a2efd9be13fe, which exports the documented composable transaction boundary.

Current exact head: d0b8c40bff40cd4044138f1fe5ba83dc7a132a36.

Acceptance: exact-head core + monorepo + Agent Zero boundary gates must pass before merge.

Database-owned bounded slice for #24/#27/#30. Adds atomic replay admission at the canonical Tek9 graph boundary: - first stable-ID node/edge write inserts; - identical replay is accepted as idempotent; - same stable ID with different content signals `persistence-replay-conflict` and aborts the transaction; - execution graph, operational KB, long-term promotion, and global export persistence all use the same replay-safe boundary; - checks and writes occur inside Tek9's composable write transaction, so concurrent writers cannot race through a non-atomic fetch-then-put window; - no provider/expert execution changes and no shadow graph/KB. RED head: `50c441682e04fbfe958b30532d75459baa632e9c`. The first implementation run correctly exposed that Hackmode CI's old Tek9 pin (`6ff2e40…`) predates the public composable transaction API. A process-local lock would not satisfy multi-worker safety, so this PR minimally advances the CI Tek9 pin to current tested Tek9 `a9f5b595f5d965163d2b7c518c72a2efd9be13fe`, which exports the documented composable transaction boundary. Current exact head: `d0b8c40bff40cd4044138f1fe5ba83dc7a132a36`. Acceptance: exact-head core + monorepo + Agent Zero boundary gates must pass before merge.
Pin Tek9 composable transaction API
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 7s
core / common-lisp-core (pull_request) Failing after 55s
monorepo / hygiene (pull_request) Successful in 1m32s
d0b8c40bff
nsaspy closed this pull request 2026-09-04 20:51:54 +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 7s
core / common-lisp-core (pull_request) Failing after 55s
monorepo / hygiene (pull_request) Successful in 1m32s

Pull request closed

Sign in to join this conversation.
No description provided.