Skip to content

Ticket 002: Versioning Policy and Golden Fixtures

Status

Implemented in May 2026.

Goal

Stabilize estimator outputs before building more layers on top.

Current Gap

This ticket is complete.

Implementation note: - Golden fixtures should exercise the package-root estimator API and documented output contract. - Avoid coupling fixtures to internal subpackage boundaries so internal refactors do not create false compatibility breaks.

Implemented in: - docs/VERSIONING_POLICY.md - tests/test_contract_golden.py - tests/fixtures/golden/

Scope

  • Define lightweight schema/versioning policy.
  • Document unknown-field behavior.
  • Version public output schemas.
  • Add golden input/output fixtures for:
  • successful estimate
  • failed estimate
  • partial estimate
  • Add compatibility test harness comparing current outputs to stored golden fixtures.

Integrated Surfaces

  • Golden fixtures cover estimator JSON and Markdown reports.
  • Scenario report golden fixtures cover deterministic scenario envelopes and Markdown rendering.
  • Contract tests exercise adapters on top of package-root APIs so public output changes are caught without freezing internal implementation details.
  • Versioning policy applies to mission, vehicle, scenario, envelope, terrain, wind-grid, geofence, and landing-zone public surfaces.

Acceptance Criteria

  • Golden output tests fail on unintended contract changes.
  • Public schema/versioning rules are documented and enforced in tests.

Out of Scope

  • New estimator features.
  • Adapter-specific output formatting beyond canonical JSON/Markdown.