Skip to content

test: add portable serialization and checkpoint fixtures#129

Merged
rlippmann merged 3 commits into
mainfrom
codex/fixture-coverage
May 11, 2026
Merged

test: add portable serialization and checkpoint fixtures#129
rlippmann merged 3 commits into
mainfrom
codex/fixture-coverage

Conversation

@rlippmann
Copy link
Copy Markdown
Owner

@rlippmann rlippmann commented May 11, 2026

What changed

  • Added portable core-engine conformance fixture categories for serialization and checkpoint behaviors:
    • tests/fixtures/conformance/state-json/
    • tests/fixtures/conformance/checkpoint/
  • Added deterministic fixture cases for:
    • state JSON export canonicalization and import validation boundaries
    • checkpoint import validation boundaries and pending-clear semantics
  • Added two step fixtures for pending confirmation token normalization with punctuation:
    • 018_pending_affirmative_punctuation_token.json
    • 019_pending_negative_punctuation_token.json
  • Updated tests/test_fixtures.py to execute the new fixture categories while preserving existing step/transcript semantics.
  • Updated tests/fixtures/README.md to clarify portable serialization/checkpoint fixture contract scope vs Python-local property/fuzz tests.
  • Bumped package version to 0.6.18 in pyproject.toml and uv.lock.

Why

  • TS now consumes portable conformance artifacts, but several high-risk deterministic core behaviors were still covered only in Python-local tests.
  • Promoting serialization and checkpoint edge behaviors into portable fixtures improves cross-port parity coverage and reduces drift risk for 0.6.x behavior.
  • Version bump prepares this change set for release.

Checklist

  • pre-commit run (uv run pre-commit run --all-files)
  • tests pass (uv run pytest)

@rlippmann rlippmann merged commit e264ae9 into main May 11, 2026
12 checks passed
@rlippmann rlippmann deleted the codex/fixture-coverage branch May 11, 2026 07:06
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