Skip to content

feat(iid): add canonical IID parsing and derivation (P02) - #22

Merged
kamescg merged 2 commits into
update/v1.1.0-alphafrom
feat/iid
Aug 20, 2026
Merged

feat(iid): add canonical IID parsing and derivation (P02)#22
kamescg merged 2 commits into
update/v1.1.0-alphafrom
feat/iid

Conversation

@kamescg

@kamescg kamescg commented Aug 11, 2026

Copy link
Copy Markdown
Contributor
  • 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.

kamescg and others added 2 commits August 10, 2026 12:31
- 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>
Signed-off-by: Kames Geraghty <sudo+github@kames.me>
@kamescg
kamescg marked this pull request as ready for review August 20, 2026 15:35
@kamescg
kamescg merged commit 9de214a into update/v1.1.0-alpha Aug 20, 2026
1 check passed
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