Skip to content

feat(dist): installed users get a personal memory lane — init seeds, sync composes it (Event 178)#162

Merged
junjslee merged 2 commits into
masterfrom
feat/event178-install-story
Jul 21, 2026
Merged

feat(dist): installed users get a personal memory lane — init seeds, sync composes it (Event 178)#162
junjslee merged 2 commits into
masterfrom
feat/event178-install-story

Conversation

@junjslee

Copy link
Copy Markdown
Owner

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's CLAUDE.md composes THEIR files.
  • App onboarding: the failure page now carries the way out (pip install → init → sync → relaunch, EPISTEME_BIN hint) instead of dead-ending.
  • COMMANDS.md init row + SETUP.md updated to the now-true story.

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.

…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.
@vercel

vercel Bot commented Jul 21, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
episteme Ready Ready Preview, Comment Jul 21, 2026 4:13pm

…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.
@junjslee
junjslee merged commit a7f1ce7 into master Jul 21, 2026
6 checks passed
@junjslee
junjslee deleted the feat/event178-install-story branch July 21, 2026 16:14
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