Skip to content

refactor(identity): consume canonical implementation immutably - #75

Merged
szmyty merged 1 commit into
mainfrom
chore/identity-immutable-consumer
Aug 26, 2026
Merged

refactor(identity): consume canonical implementation immutably#75
szmyty merged 1 commit into
mainfrom
chore/identity-immutable-consumer

Conversation

@szmyty

@szmyty szmyty commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Summary

  • replace Empathy's duplicated identity/ implementation tree with a Git submodule pinned to exact canonical Identity commit 73e7add02dbd11c38cf8a76d03d7ef2219e252ac
  • add .config/identity/consumer-lock.json so the reviewed repository, revision, extraction lineage, consumer, and governing issue are explicit
  • preserve all existing local command paths through identity/Cargo.toml
  • verify the gitlink, lock, and initialized worktree all resolve to the same immutable commit before any Identity task runs
  • update Identity CI to initialize the pinned source and rerun locked dependency resolution, formatting, strict Clippy, Rust tests, Empathy integration checks, validation, and deterministic handoff
  • document review, update, authority, and rollback procedures
  • keep Empathy's .identity/ intent and assets/identity/ consumer outputs repository-owned

Architecture transition

before
Empathy
  ├── .identity/                 consumer intent
  └── identity/                  duplicated canonical implementation

                  ↓

after
Empathy
  ├── .identity/                 consumer-owned intent
  ├── assets/identity/           generated consumer projections
  ├── identity                   gitlink to exact canonical commit
  └── consumer-lock.json         duplicate-aware reviewed pin

Canonical implementation owner: egohygiene/identity

The consumer does not follow main, a release tag, or git submodule update --remote. A reviewed update changes the gitlink and lock together.

Consumer validation

The revised integration tests verify:

  • identity is mode 160000 in Empathy's Git tree
  • the gitlink revision equals the consumer lock
  • the initialized submodule worktree equals the same revision
  • the canonical v0 contracts and eight preserved profiles remain available
  • all 45 target/profile assumptions remain checked through the existing consumer tests
  • task and workflow adapters invoke the pinned CLI
  • consumer intent continues to require human approval

Rollback

Revert this transition commit to restore the prior incubated source tree. Pin-only updates restore the previous gitlink and lock together. Neither path rewrites or deletes .identity/.

Contributes to egohygiene/identity#8.

@szmyty
szmyty marked this pull request as ready for review August 26, 2026 22:10
@szmyty
szmyty merged commit 835c074 into main Aug 26, 2026
10 of 14 checks passed
@szmyty
szmyty deleted the chore/identity-immutable-consumer branch August 26, 2026 22:11
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