Skip to content

[B6] test(persistence): commit golden save-fixtures per format version, regression-test loads #882

Description

@MichaelFisher1997

Part of #834 (Production-Readiness Audit) — Batch B6 (engine-specific guardrails, parallel-safe).
Replaces audit item #26 (P3). Parallel with: audit-b6 sibling — this issue owns new golden save-fixtures + a load test in world-persistence.

Problem

modules/world-persistence has no "load a v0.1 save" golden fixture. A schema change can silently brick every existing world.

Acceptance criteria

  • A small golden save file per supported format version committed under modules/world-persistence/test-fixtures/ (or similar).
  • A regression test loads each golden fixture and asserts it deserializes correctly into the current data model.
  • When a schema change intentionally breaks compatibility, the test is updated with a migration path + a new fixture (not just deleted).
  • The test runs in the standard zig build test suite.
  • Documentation note in modules/world-persistence/ on the fixture-update protocol.

Files in scope

  • modules/world-persistence/test-fixtures/ (new — golden saves)
  • modules/world-persistence/src/*.zig (new test block, no behavior change to production code)

Dependencies

  • After: B3 (test matrix) is trustworthy.

Out of scope

  • Save-file migration framework itself (only the compatibility test).
  • Cross-engine save imports.

Branch / PR

  • Branch: test/persistence-golden-fixtures · Targets: dev

Metadata

Metadata

Labels

audit-b6Audit Batch 6: Engine-specific guardrails (needs B3)bugSomething isn't workingdocumentationImprovements or additions to documentationhotfixproduction-readinessAudit findings: missing CI/lint/benchmark/regression guardrails for production-grade engineworldworld/persistenceWorld save/load system

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions