Skip to content

feat(release): emit platform claim receipts as JSON - #3664

Open
tang-vu wants to merge 2 commits into
Osmantic:mainfrom
tang-vu:feat/release-claims-json
Open

feat(release): emit platform claim receipts as JSON#3664
tang-vu wants to merge 2 commits into
Osmantic:mainfrom
tang-vu:feat/release-claims-json

Conversation

@tang-vu

@tang-vu tang-vu commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add check-release-claims.sh --json with canonical platform support values
  • expose every manifest, support-matrix, truth-table, installer, and guardrail assertion as an ordered check
  • emit a partial structured receipt on fail-fast errors
  • preserve the existing one-line human success output and exit codes

Why this matters

The release gate prevents ODS from publishing platform claims beyond validated support. Release dashboards can now show which evidence source drifted and the exact declared support matrix without parsing shell output.

Overlap check

Searched open and closed PRs for release claims json and PRs referencing ods/scripts/check-release-claims.sh. Open PR #3187 adds tests, #3153 adds assertions, and #2678/#3412 adjust missing-doc behavior; none adds a machine-readable receipt. This PR changes reporting only, not the accepted claims.

Test plan

  • bash ods/tests/test-release-claims-json.sh
  • bash -n ods/scripts/check-release-claims.sh
  • bash -n ods/tests/test-release-claims-json.sh
  • git diff --check -- ods/scripts/check-release-claims.sh ods/tests/test-release-claims-json.sh

Tradeoffs and rollback

The receipt records boolean support exactly as declared in manifest.json; documentation checks remain named pass/fail entries. Removing --json restores the previous surface without changing release data.

Generated with Codex

Batch compatibility

  • Independently mergeable; tested combined in order feat(mode): emit routing status as JSON #3657feat(bootstrap): list hosted verification endpoints #3666.
  • Base: upstream/main@6ff9b4fc; synthetic integration head: e45e2647.
  • All focused public-boundary suites, the canonical generated-config JSON scan (12 surfaces), make lint, and git diff --check upstream/main...HEAD passed.
  • tests/test-installer-context-parity.sh still fails at Hermes template bounds each model turn; the identical failure was reproduced on the exact upstream base, so it is not introduced by this batch.
  • No live Docker mutation, model activation, migration, hosted deployment, or hardware validation is claimed.
  • Integration follow-up 58a47f2a preserves exit 0 in human mode and adds a regression assertion; focused tests were rerun.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant