refactor(classifications): consume public IID identity contracts - #19
Merged
kamescg merged 3 commits intoAug 10, 2026
Merged
Conversation
- 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>
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>
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
P03 of the iid-v1.1.0-alpha release train. The classifications package stops owning identity contracts it merely uses: the duplicated scheme/class/typing tables and ladder type definitions are replaced by the
@0xintuition/iidoriginals, with compatibility re-exports so no consumer breaks.types.ts: identity types re-exported from@0xintuition/iid;IdentitySchemeNamekept as an alias ofSchemeName;IdentitySpec(the{identifies, ladder}embedding) stays local.identity.ts:IDENTITY_SCHEME_CLASS/IDENTITY_SCHEME_TYPINGnow derive fromSCHEMES/SCHEME_TYPINGat module load — one source of truth, same exported names.rungClassandtopRungAnchorEligibleunchanged.ClassificationSpec), so generation provenance is bit-identical.Package impact
@0xintuition/classifications0.1.0-alpha.0→0.1.0-alpha.1; new exact dep@0xintuition/iid@0.1.0-alpha.0; new peerviem ^2.0.0(transitively required by iid's keccak)@0xintuition/primitivesclassifications@0.1.0-alpha.1; manifest carries its release target0.1.0-alpha.1(builder lands in P05)Target versions
classifications@0.1.0-alpha.1,primitives@0.1.0-alpha.1(per the integration-branch version policy: manifests carry final targets as feature PRs merge).Identity impact
Identity impact: none — existing golden bytes unchanged. Ladder data, creation profiles, and legacy JSON-LD builders are byte-identical; only where the types are declared changed.
Fixture impact
none
Contract artifact
n/a
Rollout notes
@0xintuition/iid.viempresent (peer). Every current consumer in the train (primitives → protocol/react path) already requires it.🤖 Generated with Claude Code