Revert v0.1.0-draft.1 two-tag arrangement#6
Merged
Conversation
This reverts commit ef5f715. The two-tag arrangement it documented cannot exist: `tools/build_release.py` binds the release tag to `specVersion` in three independent assertions -- `conformance/manifest.json` specVersion, the Core schema's `properties.specVersion.const`, and the schema `$id` path segment -- and additionally requires `releases/<tag>.md`. A tag of `v0.1.0-draft.1` against `specVersion` `0.1.0-draft` fails validation before any bundle is built, which is what happened when the tag was pushed. The design is one tag per specification version, with the tag string equal to `specVersion`. Republishing the same version under a second tag would require either faking a version bump across the manifest, schema, 47 conformance cases, and examples, or relaxing an invariant that is doing useful work. The schema `$id` values on `main` are correct and permanent; only the tagged `v0.1.0-draft` artifacts carry the temporary repository-hosted form. Implementations needing the permanent identifiers should pin the commit until a future specification version is tagged, which the runtime's release gate already supports for a full-length commit digest. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: kikashy <kikashy@hotmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reverts #5.
What happened
#5 prepared a second tag,
v0.1.0-draft.1, to publish the permanenthttps://judgmentpack.org/schema/$idvalues under an immutable release. The tag was pushed and the release workflow failed immediately:Why it cannot work
tools/build_release.py:52-67binds the release tag tospecVersionin three independent assertions, plus a fourth on release notes:v0.1.0-draft.1conformance/manifest.json→specVersion0.1.0-draftproperties.specVersion.const0.1.0-draft$idpath segment0.1.0-draftreleases/<tag>.mdexistsv0.1.0-draft.mdThe design is one tag per specification version, tag string equal to
specVersion. A second tag for the same version would require either bumpingspecVersionacross the manifest, schema const, schema$id, all 47 conformance cases and the examples — announcing a revision when nothing normative changed — or relaxing an invariant that is doing real work.Reverting is better than leaving
VERSIONING.mddescribing an arrangement that will never exist.State
The tag has been deleted. No GitHub release was created — the run died at the build step — so per
VERSIONING.mdno immutable release was ever established, and nothing consumed it.Consequence
maincarries the correct permanent$idvalues; only the taggedv0.1.0-draftartifacts carry the temporary repository-hosted form. Implementations needing the permanent identifiers pin the commit until a future specification version is tagged.judgment-pack-runtime's release gate already accepts a full-length commit digest as an immutable reference.Follow-up worth considering
Correcting the tagged
$idvalues properly means a futurespecVersionbump. Worth a decision on whether0.1.1-draftis warranted for that alone.Verified
Restores the exact pre-#5 state (
git diff 4609d83for both files is empty). 37/37 tests pass.🤖 Generated with Claude Code