Update: v1.1.0-alpha - #15
Draft
kamescg wants to merge 9 commits into
Draft
Conversation
- Add the iid-v1.1.0-alpha planning packet (PR stack, package contracts, release runbook, acceptance matrix), including the recorded authoritative private reference source for porting. - Restore the private root package version to 0.0.0; the release train is labeled by branch/PR name, not by the root version. - Add scripts/package-registry.mjs as the single source of package order and packaging metadata, with topological-order and exact-internal-version assertions; pack-dry-run and smoke-tarballs now consume it instead of duplicated hard-coded arrays. - Support documentation-only packages in tarball assertions ahead of iid-spec. - Add a PR template with package/identity/fixture impact, contract artifact, target versions, and rollout notes fields. Identity impact: none — existing golden bytes unchanged Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
- 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>
- Port the reference implementation from the private source (0xIntuition/intuition-v2 @ 8b9e9aa11): all 26 scheme canonicalizers, NORM-1, gen1 preimage/hash, geohash, UUIDv5/podcast-guid, keccak16. - Fix the parser value character class to the spec grammar (%x21-7E): space and non-ASCII values now reject as malformed, matching the normative parse vectors (recorded in iid-spec implementation-notes). - Redesign the identity-ladder contract around the public declarative source/recipe types (field, same-as, url-origin, geohash, podcast-guid, and the frozen named derivations) and implement the pure declarative derivation engine that interprets them; ladders are serializable data, never callbacks. - Add the typed inspection API (inspectIntuitionId) distinguishing malformed / unknown-scheme / noncanonical, with canonical repair for read paths, plus anchor-eligibility reasons (class-c vs polymorphic). - Execute the full 145-vector conformance corpus from @0xintuition/iid-spec in the test suite (212 tests) alongside ported and new engine tests. - Register iid second in the central package registry. Identity impact: none — no existing golden bytes change; all spec-stated golden values (ISBN upconversion, gen1 movie r4) reproduce exactly. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
* refactor(classifications): consume public IID identity contracts (P03) - Replace the duplicated identity type definitions (IdentityClass, IdentitySchemeName, IdentityDerivationName, IdentityValueSource, IdentityRecipeField, IdentityRung) with re-exports from @0xintuition/iid; IdentitySchemeName remains as a compatibility alias of SchemeName. IdentitySpec stays local as the classification embedding of a ladder. - Derive IDENTITY_SCHEME_CLASS and IDENTITY_SCHEME_TYPING from the iid scheme registry instead of hand-maintained tables, keeping the existing export names for consumers. - Add exact dependency @0xintuition/iid@0.1.0-alpha.0 (and the viem peer it implies); bump classifications to 0.1.0-alpha.1. - Update the primitives exact pin to classifications@0.1.0-alpha.1 and carry primitives at its release target 0.1.0-alpha.1. - Generated ladder data, provenance checks, creation profiles, and legacy JSON-LD outputs are unchanged; all 39 classification tests and the 12-package clean-room smoke pass. Identity impact: none — existing golden bytes unchanged Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * feat(classifications): expose identityLadderFor in the iid engine shape The registry and the primitives builder consume ladders through the deriveIntuitionId(ladder, values) contract; this exposes each classification's declared ladder in exactly that shape (slug-namespaced for gen1), completing the P03 scope item. Identity impact: none — existing golden bytes unchanged Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * style: sort classification index exports Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…20) - Port the pure semantic bridge from the private reference (0xIntuition/intuition-v2 @ 8b9e9aa11, PR #1115): scheme-> classification table (direct, value-typed, explicit-unmapped), provider capability plans, canonical-input leniency, and identifier hints. - Adapt IidClassification to public classification fields (slug, schemaType, displayName, category); the private AtomCategory does not port — runtime label policy belongs in application adapters. - Classification is total over unambiguous schemes with ratified outcomes: iswc explicitly unmapped; caip19 narrows to canonical eip155/erc20 only; mbid release folds to music-album, label to company, work unmapped; olid A->person, W/M->book; gen1 slug authoritative when the classification exists. - Provider plans are deterministic, open/no-key-first capability identifiers; value-aware narrowing for acct/purl/caip10/caip19. - Port and adapt the five test suites (42 tests): totality, ladder coherence (registry as read-side inverse of ladders), vocabulary grounding via schema-org, provider ordering/narrowing, hints, and live golden-path fixtures through the real ladders. - Register iid-registry after classifications in the release registry. Identity impact: none — existing golden bytes unchanged Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
- Add buildIidAnchor, the supported high-level path from a classification's field values to on-chain-ready atom bytes: interprets the declarative identity ladder through @0xintuition/iid, selects the strongest legal representation profile (P0 when anchor-eligible, otherwise a deterministic P1 payload with frozen key order carrying @type, identifier, and the fired recipe's fields), computes the atom ID through @0xintuition/ids, and returns the registry's classification and ordered provider plan. - Class C and polymorphic-scheme identifiers floor at P1; requesting p0 for them is a structured error, never a silent downgrade. - Add ordered, trimmed, exact-deduplicated URI-context manifest construction with offline policy limits (5 x 700 bytes) and optional caller-supplied live limits; URI context never changes atom bytes or atom ID. - Add recognizeAtomData: classifies canonical IID anchors vs JSON payloads without reclassifying arbitrary strings; isValidAtomData now accepts valid canonical IID anchors as atom data. - Add exact deps @0xintuition/iid@0.1.0-alpha.0 and @0xintuition/iid-registry@0.1.0-alpha.0, the ./anchor subpath export, README section, and 10 anchor tests including the golden P0 ISRC byte/ID fixture (140 primitives tests total). - Legacy JSON-LD builders unchanged; all existing snapshots stable. Identity impact: none — existing golden bytes unchanged; new golden P0 ISRC fixture values generated from the shipped ids package and pinned in tests. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
- Port the reference implementation from the private source (0xIntuition/intuition-v2 @ 8b9e9aa11): all 26 scheme canonicalizers, NORM-1, gen1 preimage/hash, geohash, UUIDv5/podcast-guid, keccak16. - Fix the parser value character class to the spec grammar (%x21-7E): space and non-ASCII values now reject as malformed, matching the normative parse vectors (recorded in iid-spec implementation-notes). - Redesign the identity-ladder contract around the public declarative source/recipe types (field, same-as, url-origin, geohash, podcast-guid, and the frozen named derivations) and implement the pure declarative derivation engine that interprets them; ladders are serializable data, never callbacks. - Add the typed inspection API (inspectIntuitionId) distinguishing malformed / unknown-scheme / noncanonical, with canonical repair for read paths, plus anchor-eligibility reasons (class-c vs polymorphic). - Execute the full 145-vector conformance corpus from @0xintuition/iid-spec in the test suite (212 tests) alongside ported and new engine tests. - Register iid second in the central package registry. Identity impact: none — no existing golden bytes change; all spec-stated golden values (ISBN upconversion, gen1 movie r4) reproduce exactly. Signed-off-by: Kames Geraghty <sudo+github@kames.me> 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.
iid-v1.1.0-alpha release train
Umbrella PR for the IID and atom-URI package release train. Merges to
mainonly after the full plan (.planning/iid-v1.1.0-alpha/) completes: all child PRs merged, packed-tarball consumer gates pass, and the release checklist (P12) is executed.Child PRs
Foundation and semantic lane (complete)
identityLadderForContract lane (pending)
contracts-v2@1.1.0-alpha.0passes the 14-day release-age policy on 2026-08-18createAtomsWithUris,getAtomUriConfig, URI event parsers →3.1.00.1.0-alpha.1Integration and release (pending)
Package versions on this branch
@0xintuition/iid-spec0.1.0-alpha.0(new, docs-only)@0xintuition/iid0.1.0-alpha.0(new)@0xintuition/iid-registry0.1.0-alpha.0(new)@0xintuition/classifications0.1.0-alpha.1@0xintuition/primitives0.1.0-alpha.1@0xintuition/protocol3.1.0(target, pending P07)@0xintuition/react0.1.0-alpha.1(target, pending P09)Open ratification question (flagged in #17): the
purlcanonicalizer rejects scoped npm packages — decide before anyint:purl:atoms exist.🤖 Generated with Claude Code