Skip to content

[Tournament p2] SQL run context for runGraph - #1374

Closed
tangletools wants to merge 2 commits into
mainfrom
pro/sql-run-context/p2
Closed

tangletools wants to merge 2 commits into
mainfrom
pro/sql-run-context/p2

Conversation

@tangletools

Copy link
Copy Markdown
Contributor

Tournament entrant

Independent tournament entrant p2, built from main at 12ffa98e8d024d0fa4e22921b8e448627ce3cfd2; no other entrant's branch was read or used. DRAFT; do not merge.

[tool] Read merged PR #1368 and the durability changes at bec5e3d207f393af17c9c3aca416a47dca339634, plus the existing SqlAdapter, run context, spawn journal and recovery paths.

Tests first

[tool] First commit d5cd54b148482a51622c777f3576664783c1a7a6 adds tests, fixtures and a branch-local conformance job, before any implementation.

  • tests/durability/sql-run-context.test.ts: real SQLite durable reopen; idempotent append/conflict rejection; blob integrity; two live OS processes; SIGKILL takeover; SIGSTOP/SIGCONT stale-owner fencing.
  • tests/durability/sql-graph-kill-resume.test.ts: existing conductor + three delegates graph, independent per-process local directories, SQL-only inheritance; reference-derived kill matrix at driver/worker/tool and journal before/after boundaries; same output, one effect, unique cursors, one original spawn and one done settlement per worker, no in-doubt-key escalation.
  • Existing file-backed durability tests must remain green.

[not checked] Implementation and green results are not yet present in this tests-first commit. The SQL module does not yet exist. This description will be updated with actual verification evidence, not inferred passes.

The temporary source capture in the branch-local job enables local reproduction where direct GitHub cloning is unavailable; it contains repository source only, not credentials.

Copy link
Copy Markdown
Contributor Author

[tool] Resumed work on this existing p2 branch; the connector's write actions are present. The earlier chat statement that no PR existed was incorrect.

[tool] Reproduced the tests-first failure locally from this branch's source/dependency artifacts: SQL context module missing. Implementation is now under local test, not yet pushed. Passing so far: 5 SQL context tests, 11 SQL publication/fencing tests (including delayed successful replies, hung renewal, acknowledgement loss and takeover during publication), and 3 actual two-process runGraph ownership/dispatch tests. TypeScript source check and package build passed. The full strict graph kill matrix is still running; no green-matrix claim yet.

Design keeps the original execution identity and calls Executor.recover; non-recoverable executors are refused before admission. The external effect fixture enforces epoch and idempotency at its atomic effect/result commit, including the effect-committed/runtime-result-unrecorded window. No replacement-key escalation assertion has been relaxed. This remains a draft until verified.

@drewstone

Copy link
Copy Markdown
Contributor

Closing as superseded by the T1 synthesis: the tournament's journal/blocks work shipped as #1381, the fenced ownership + coordination side-log + two-host lost-ack conformance as #1391, and the never-admitted spawn-window fix, SIGSTOP/SIGCONT stale-owner fencing, and per-worker exactly-once assertions as #1395 (all merged). Final durability conformance on main: 159/159 with zero expected failures.

@drewstone drewstone closed this Sep 25, 2026
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.

2 participants