feat(iid-spec): add the normative IID specification package - #17
Merged
Conversation
- Port the IID specification from the private reference (0xIntuition/intuition-v2 @ 8b9e9aa11): explainer and spec sections 00-09, with private-monorepo references replaced by public links. - Author the 26 per-scheme normative documents and the scheme registry index, each with grammar, ordered canonicalization, validation rules, test vectors, and known limitations grounded in the reference canonicalizers. - Add the versioned machine-readable conformance corpus: 145 vectors across canonicalization (positive+negative for every scheme), NORM-1, gen1 (with exact preimages), parsing (colon-bearing values, int:src:* guard), validation/anchor-eligibility, and the registry snapshot, plus their JSON schema. All vectors generated from and asserted against the reference implementation; spec-stated golden values (ISBN upconversion, gen1 movie r4) cross-checked. - Add implementation-notes.md recording the resolved parser value-grammar deviation the public port fixes. - Add a fixture/document integrity test (schema shape, coverage, unique IDs, link resolution, private-reference leak guard). - Register iid-spec as the first, docs-only entry in the central package registry; teach guard-direct-publish docs-only rules. Identity impact: none — existing golden bytes unchanged Co-Authored-By: Claude Fable 5 <noreply@anthropic.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.
Summary
P01 of the iid-v1.1.0-alpha release train. Adds
@0xintuition/iid-spec— the normative Intuition ID specification with a machine-readable conformance corpus — as the first (docs-only) package in the release registry.Ported from the authoritative private reference (
0xIntuition/intuition-v2@8b9e9aa11, PR #914) with private-monorepo references removed. The per-scheme documents, implementation-notes, and conformance corpus are new authorship for this release (the private package promised but never contained them); scheme documents are grounded in the reference canonicalizers, and every conformance vector was generated from and asserted against the reference implementation, with the spec's own stated golden values cross-checked.Contents
explainer.md+spec/00–09(grammar, identity classes/tiers, NORM-1, ladders, gen1, representation profiles, equivalence, governance)schemes/— registry index + 26 normative per-scheme documents (grammar, ordered canonicalization, validation, vectors, limitations)conformance/— 145 versioned vectors in 6 files + JSON schema: per-scheme canonicalization (positive+negative for all 26), NORM-1, gen1 with exact preimages, parsing (colon-bearing CAIP-10,int:src:*guard), validation/anchor-eligibility, registry snapshotimplementation-notes.md— records the parser value-grammar deviation (private parser accepted spaces/non-ASCII in values); the P02 port fixes the character class to the spec's%x21-7ETooling
iid-specregistered first in the central package registry asdocs-onlyguard-direct-publishlearns docs-only rules (no dist/main/types; README+LICENSE required) from the registryPackage impact
@0xintuition/iid-spec0.1.0-alpha.0Target versions
@0xintuition/iid-spec@0.1.0-alpha.0. No internal dependencies.Identity impact
Identity impact: none — existing golden bytes unchanged
Fixture impact
New corpus: fixture files
canonicalization(101),norm1(13),gen1(6),parse(11),validation(14),schemessnapshot —specVersion 0.1.0,fixtureVersion 1. Append-only from here; changing an existing vector is identity-impacting.Contract artifact
n/a
Rollout notes
@0xintuition/iid) consumes this corpus as its conformance test input and must pass every vector, including the two parse vectors the private implementation fails (documented in implementation-notes).purlcanonicalizer truncates at the first@, so scoped npm packages (npm/@babel/core) reject. Documented as a limitation inschemes/purl.md. If anyint:purl:atoms already exist, this is frozen per §9.3; if none exist, a pre-ratification fix is still possible but must land before P02 merges and be reflected in spec, fixtures, and reference implementation together.🤖 Generated with Claude Code