Fingerprint the record shapes the specification defines, with a format-status record per family

Closed
#256 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

A pull request for this has already been merged.

  • #285 by @kikashy — merged

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
github-actions, python

Research direction

Start by reading the schema definitions, release records in releases/, and the CI workflow that verifies committed change records. Identify how to normalize schemas and track each record family's draft, compatibility, and released versions. Done when unrecorded schema changes fail CI and the status records agree with releases/.

Written by the indexing model from the issue text.

Description

enhancement

Problem

The specification byte-pins its releases and its frozen Policy artifacts, but the record formats it defines (the decision record and audit chain, dialect recordings, workflow outputs, receipts as consumed) have no mechanical guard on their shapes between releases.

What it adds

  • A generated catalog of the record shapes the specification defines: each schema's normalized form and a SHA-256 digest, with an inventory, checked in and verified in CI against committed change records.
  • A format-status record per record family: the version the draft text writes, the last accepted compatibility baseline, the last released version (pre-releases included).
  • Implementations (runtime, runner, gateway, agent) can compare their own catalogs with this one: a mismatch is a conformance finding.

Acceptance

  • A schema change without a change record fails CI; the status records are consistent with releases/.
Dominant language
Python
Stars
5
Forks
6
Avg merge
6h 15m
Merged PRs (30d)
98

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Judgment-Pack/judgment-pack-spec

All issues in Judgment-Pack/judgment-pack-spec

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.