Skip to content

conformance: per-fixture versioning model #380

@jithinraj

Description

@jithinraj

Summary

The current conformance fixture layout uses a single manifest.json that lists all fixture files with a global format_version. As the number of conformance categories grows (interaction evidence, policy binding, RFC 9421 proof, etc.), a per-fixture versioning model would improve maintainability.

Current state

  • specs/conformance/fixtures/manifest.json has a top-level format_version and a flat fixtures[] array
  • All fixture files live in specs/conformance/fixtures/ with category subdirectories (e.g., interaction/)
  • New categories (like interaction/rfc9421-proof.json) are added by appending to the manifest

Proposed change

Move from "category-wide single version" to "fixture-file versioned":

  • Each fixture file includes its own schema_version or format_version field
  • The manifest becomes an index (paths + descriptions) without owning the version
  • Tooling validates each fixture against the version it declares

Why

  • Independent evolution: a new proof-capture fixture shouldn't require bumping the global version
  • Clearer compatibility: consumers know exactly which fixture format they're validating against
  • Aligns with how extension schemas already version independently (rfc9421-proof/0.1/schema.json)

Context

Filed from PR #379 (RFC 9421 proof capture profile) review feedback.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions