Skip to content

refactor(classifications): consume public IID identity contracts - #19

Merged
kamescg merged 3 commits into
update/v1.1.0-alphafrom
refactor/classification-iid-contracts
Aug 10, 2026
Merged

refactor(classifications): consume public IID identity contracts#19
kamescg merged 3 commits into
update/v1.1.0-alphafrom
refactor/classification-iid-contracts

Conversation

@kamescg

@kamescg kamescg commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

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/iid originals, with compatibility re-exports so no consumer breaks.

  • types.ts: identity types re-exported from @0xintuition/iid; IdentitySchemeName kept as an alias of SchemeName; IdentitySpec (the {identifies, ladder} embedding) stays local.
  • identity.ts: IDENTITY_SCHEME_CLASS / IDENTITY_SCHEME_TYPING now derive from SCHEMES / SCHEME_TYPING at module load — one source of truth, same exported names. rungClass and topRungAnchorEligible unchanged.
  • Generated specs are untouched (they import only ClassificationSpec), so generation provenance is bit-identical.

Package impact

Package Change
@0xintuition/classifications 0.1.0-alpha.00.1.0-alpha.1; new exact dep @0xintuition/iid@0.1.0-alpha.0; new peer viem ^2.0.0 (transitively required by iid's keccak)
@0xintuition/primitives exact pin updated to classifications@0.1.0-alpha.1; manifest carries its release target 0.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

  • Consumers who imported identity types from classifications keep working via re-exports; new code should import from @0xintuition/iid.
  • classifications consumers now need viem present (peer). Every current consumer in the train (primitives → protocol/react path) already requires it.
  • No circular dependency: classifications → iid only; iid depends on nothing internal (iid-spec is dev-only).
  • Gates: 39 classification tests, creation-profile and predicate provenance checks, full turbo build/typecheck/test/check, and the 12-package clean-room smoke all pass.

🤖 Generated with Claude Code

kamescg and others added 3 commits August 10, 2026 12:44
- 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>
@kamescg
kamescg merged commit 9f208ef into update/v1.1.0-alpha Aug 10, 2026
1 check passed
@kamescg kamescg mentioned this pull request Aug 10, 2026
13 tasks
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