feat(dist): installed users get a personal memory lane — init seeds, sync composes it (Event 178)#162
Merged
Merged
Conversation
…sync composes it (Event 178) The install story's missing half: E177 left init honestly refusing in installed context (the wheel's assets are read-only). Now init seeds $EPISTEME_HOME/memory/global/ from the packaged examples — writable, upgrade-surviving, never clobbering an edited file — and _resolve_memory_file (the single composition point sync uses) gains the three-step precedence checkout personal > home personal > packaged examples, so a checkout operator's behavior cannot change while an installed user's CLAUDE.md composes THEIR files. Measured end-to-end in the sandbox: init seeded 8 files, a personalization survived re-init, sync composed CLAUDE.md with 7 home-lane references. The app's failure page became onboarding (pip install → init → sync → relaunch + EPISTEME_BIN hint) instead of a dead-end. COMMANDS.md init row and SETUP.md now tell the true story. Suite 1842+91.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…ew.md is the one tracked personal file Review F1 (verified): the load-bearing claim 'a fresh clone has no personal files' is false for exactly one name — overview.md is git-tracked shared topology, present in every clone, and shadows a home-lane overview at tier 1. The claim my own mid-event verification repeated was wrong on precisely the file that diverges. Fixed as documentation + enforcement, not silent policy: the resolver docstring and SETUP.md name the exception, a new test pins the real clone shape (overview → checkout copy; runtime_digest → home lane), and a tracked-files test FAILS if the exception ever stops being singular. gitignore-vs-keep is the operator's call, filed in the handoff. Also from review: suffix-exact example-name strip (replace() stripped every '.example'), atomic per-file seeding (a mid-write crash left a truncated file the skip-existing contract then protected), honest errors on unwritable EPISTEME_HOME, and build_story no longer seeds a dead file. Suite 1844+91.
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.
What
The install story's missing half after #161:
episteme init(installed context) seeds$EPISTEME_HOME/memory/global/from the packaged examples — writable, upgrade-surviving, and it never clobbers an edited file (same contract as the checkout path)._resolve_memory_file— the single composition point sync uses — gains the three-step precedence checkout personal > home personal > packaged examples. A checkout operator's behavior cannot change; an installed user'sCLAUDE.mdcomposes THEIR files.EPISTEME_BINhint) instead of dead-ending.Measured (sandbox, installed wheel, zero checkout)
init seeded 8 memory files → a personalization survived re-init → sync composed CLAUDE.md with 7 home-lane references. Suite 1842 + 91; docs lint clean.
Review focus suggestion
Precedence correctness (a later checkout silently outranking home edits is documented + printed by init — is that enough?), EPISTEME_HOME honoring, and the init seeding's skip-existing contract.