Skip to content

Publish manifest JSON Schema and document version ordering - #60

Merged
timkpaine merged 1 commit into
mainfrom
tkp/manifest-schema
Oct 8, 2026
Merged

timkpaine merged 1 commit into
mainfrom
tkp/manifest-schema

Conversation

@timkpaine

Copy link
Copy Markdown
Member

Decisions Z2 and Z3 from the readiness review.

  • artlink.manifest/v0 has a published JSON Schema, artlink/schemas/artlink.manifest-v0.json, generated from the Manifest model by the new manifest_json_schema() and held equal to it by a test (regenerate from that function when the model changes). Written manifests and the README's manifest examples validate against it, and the schema refuses what the model refuses: unknown keys, a missing name, a reference kind resolution does not implement. jsonschema joins the develop extra for the tests.
  • The README states the version comparison rule the highest policy uses: digit runs as integers, other runs as text, digit below text at the same position, a longer version above its prefix. It also says what that means: the rule is lexical, so 2.0.0-rc1 sorts above 2.0.0, and ecosystems with pre-release conventions should pin versions in their references. The rule itself is unchanged (Z2 keeps artlink's own design).

artlink.manifest/v0 now has a JSON Schema at artlink/schemas/artlink.manifest-v0.json, generated from the Manifest model by manifest_json_schema() and held equal to it by a test; written manifests and the README's examples validate against it, and the schema refuses what the model refuses. The README states the version comparison rule the highest policy uses, including that it is lexical and sorts a pre-release suffix above its release.

Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Test Results

79 tests  +4   79 ✅ +4   3s ⏱️ ±0s
 1 suites ±0    0 💤 ±0 
 1 files   ±0    0 ❌ ±0 

Results for commit f1f5b2f. ± Comparison against base commit d511656.

@codecov

codecov Bot commented Oct 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.51%. Comparing base (d511656) to head (f1f5b2f).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #60      +/-   ##
==========================================
+ Coverage   91.39%   91.51%   +0.11%     
==========================================
  Files          30       31       +1     
  Lines        2625     2662      +37     
  Branches      223      224       +1     
==========================================
+ Hits         2399     2436      +37     
  Misses        136      136              
  Partials       90       90              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@timkpaine
timkpaine merged commit d9130d2 into main Oct 8, 2026
4 checks passed
@timkpaine
timkpaine deleted the tkp/manifest-schema branch October 8, 2026 15:49
@timkpaine timkpaine changed the title Publish the manifest JSON Schema and document the version ordering Publish manifest JSON Schema and document version ordering Oct 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant