Skip to content

Implement portable execution checkpoint host - #72

Merged
fruwe merged 4 commits into
mainfrom
fruwe/execution-checkpoint-host
Jul 31, 2026
Merged

Implement portable execution checkpoint host#72
fruwe merged 4 commits into
mainfrom
fruwe/execution-checkpoint-host

Conversation

@fruwe

@fruwe fruwe commented Jul 30, 2026

Copy link
Copy Markdown
Member

概要

  • 純粋な create / dispatch / migration と validation-only CLI を維持したまま、任意利用の同期 ExecutionHost を追加
  • execution checkpoint の厳密な wire/semantic validation、CAS、replay、receipt、pending delivery、outbox、retention、tombstone 操作を実装
  • すべての store transaction を root identity に固定し、PostgreSQL の application write と host operation を一つの host-owned native transaction で commit する callback API を追加
  • callback 内では StagedExecutionResult のみを返し、portable な committed/pending response は outer commit 完了後に返す
  • maintenance/delivery replay ordering、response-loss replay、receipt/tombstone status・fault・digest 関係、bounded pruning、canonical decimal resource bound を厳密化
  • public direct store injection と空の public registry を追加し、built-in adapter も third-party と同じ public registration 経路のみで登録

Adapter

  • memory: ephemeral only
  • file: explicit setup、locking、atomic replacement、restart-persistent only
  • SQLite: exact schema/version validation、durable-single-writer、設定可能な permanent receipt / strict・compact outbox retention
  • PostgreSQL: optional psycopg[binary] extra、lazy import、exact schema/version validation、concurrent CAS、host-owned shared transaction、設定可能な permanent receipt / strict・compact outbox retention
  • retention capability は configured store instance から検証し、advertised policy に反する pruning / compaction / deletion を host が拒否
  • checkpoint/root marker の物理削除は未サポート

Normative pins

  • spec: 318ef1f16ae024770090bd338c8b70056df2855b
  • conformance: 86cb08a98267371b96b8f4908409aee022e4b4fe
  • package version: 0.1.0

検証

  • ruff check .: pass
  • mypy src/determa: pass(22 files)
  • pytest -q: 233 passed, 3 skipped(PostgreSQL は専用実行)
  • pytest conformance -q: 276 passed
  • execution-checkpoint 85 vectors は expected semantics を harness に複製せず、実際の ExecutionHost 経由で実行
  • PostgreSQL 15 integration/CAS/shared transaction/schema/profile tests: 3 passed
  • git diff --check: pass

対象外

CLI execution/storage commands、async API、broker/daemon/protocol、package imports、version bump、tag、releaseは含めない。

Closes #71

@fruwe fruwe self-assigned this Jul 30, 2026
@fruwe
fruwe marked this pull request as ready for review July 31, 2026 03:30
@fruwe
fruwe merged commit e180a23 into main Jul 31, 2026
3 checks passed
@fruwe
fruwe deleted the fruwe/execution-checkpoint-host branch July 31, 2026 03:30
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.

Implement portable execution checkpoints and execution-store adapters

1 participant