eidetic-memory: refresh wrappers (eidetic 0.10) + memory-discipline convention#5
eidetic-memory: refresh wrappers (eidetic 0.10) + memory-discipline convention#5OriNachum wants to merge 1 commit into
Conversation
- **Memory-discipline "Conventions and workflow" section in `CLAUDE.md`** — a per-task *recall-before / remember-after* convention (scope localized to this repo's nick) so the vendored `remember` / `recall` skills are actually used, not just present: `/recall` before non-trivial work to build on prior decisions instead of re-deriving them, and `/remember` when a non-obvious decision, constraint, fix-and-why, or hard-won gotcha surfaces. The section documents this repo's memory as **in-repo and public** — records resolve to `<repo-root>/.eidetic/memory` (committed, team- and mesh-shared). Inserted idempotently (skipped if already present), slotted under an existing "Conventions and workflow" heading when one exists, else appended. ### Changed - **Refreshed the `remember` + `recall` wrappers from eidetic-cli 0.10.0** (cite-don't-import) — picks up eidetic's **project-local store default**: the files backend now resolves per record by visibility — PUBLIC records inside a git repo go to `<repo-root>/.eidetic/memory` (committed, team-shared), PRIVATE records (or any record outside a repo) go to `$HOME/.eidetic/memory` (never committed), an explicit `EIDETIC_DATA_DIR` still wins, and recall reads both stores and merges. Also carries the 0.9.3 hardening (interactive-stdin guard, `help` as a search term, SIGPIPE-safe suffix parsing). **Recipe policy override (the wrappers here are NOT byte-verbatim):** the injected default visibility is flipped from eidetic's `private` to **`public`**, so a plain `/remember` lands the note in `./.eidetic/memory` in this repo, kept as part of the repo — pass `--visibility private` to route a record to `$HOME` instead. `remember` drives `eidetic remember` (idempotent upsert of one JSON record or an NDJSON batch on stdin); `recall` drives `eidetic recall` with four search modes (exact / approximate / keyword / hybrid). Each `SKILL.md` is localized only in the illustrative `--scope <nick>` examples (Provenance keeps "First-party to eidetic-cli"). Runtime dep: the `eidetic` CLI on PATH (else a local eidetic-cli checkout with `uv`) — **`eidetic >= 0.10.0`** for the in-repo routing; on an older CLI the public records still work but are stored in `$HOME/.eidetic/memory` instead of in-repo. Propagated by rollout-cli's `eidetic-memory` recipe.
|
PR Summary by QodoRefresh eidetic memory wrappers to 0.10 + document recall/remember workflow Description
Diagram
High-Level Assessment
Files changed (5)
|
Code Review by Qodo
Context used✅ Compliance rules (platform):
20 rules✅ Skills:
cicd, version-bump, doc-test-alignment 1. Remember help text wrong
|
| Records default to this agent's PRIVATE personal scope (--scope from the | ||
| culture.yaml suffix); pass --visibility public to contribute to the shared | ||
| public pool. Every flag is forwarded verbatim to `eidetic remember`. |
There was a problem hiding this comment.
1. Remember help text wrong 🐞 Bug ≡ Correctness
remember.sh injects --visibility public by default (when a culture.yaml suffix is resolved), but its usage() text still says records default to a PRIVATE personal scope and that `--visibility public is an opt-in. This contradiction can mislead callers about whether a default /remember` will write public/shared records.
Agent Prompt
### Issue description
`remember.sh`'s `usage()` output still documents a private-by-default behavior, but the script now injects `--visibility public` when it resolves a `culture.yaml` suffix. This makes the help text misleading and contradicts actual runtime behavior.
### Issue Context
The wrapper was updated to default visibility to `public` (policy override) so that a plain remember lands in the repo-local store when in a git repo.
### Fix Focus Areas
- .claude/skills/remember/scripts/remember.sh[60-65]
- .claude/skills/remember/scripts/remember.sh[139-149]
### What to change
- Update the `usage()` text to state that the wrapper defaults to `--visibility public` (when injecting `--scope <suffix>`), and instruct users to pass `--visibility private` to keep records private.
- Ensure the wording matches the actual injected flags and the new repo-local/public behavior described elsewhere in the repo.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Added
CLAUDE.md— aper-task recall-before / remember-after convention (scope localized to this
repo's nick) so the vendored
remember/recallskills are actually used,not just present:
/recallbefore non-trivial work to build on priordecisions instead of re-deriving them, and
/rememberwhen a non-obviousdecision, constraint, fix-and-why, or hard-won gotcha surfaces. The section
documents this repo's memory as in-repo and public — records resolve to
<repo-root>/.eidetic/memory(committed, team- and mesh-shared). Insertedidempotently (skipped if already present), slotted under an existing
"Conventions and workflow" heading when one exists, else appended.
Changed
remember+recallwrappers from eidetic-cli 0.10.0(cite-don't-import) — picks up eidetic's project-local store default: the
files backend now resolves per record by visibility — PUBLIC records inside a
git repo go to
<repo-root>/.eidetic/memory(committed, team-shared), PRIVATErecords (or any record outside a repo) go to
$HOME/.eidetic/memory(nevercommitted), an explicit
EIDETIC_DATA_DIRstill wins, and recall reads bothstores and merges. Also carries the 0.9.3 hardening (interactive-stdin guard,
helpas a search term, SIGPIPE-safe suffix parsing). Recipe policyoverride (the wrappers here are NOT byte-verbatim): the injected default
visibility is flipped from eidetic's
privatetopublic, so a plain/rememberlands the note in./.eidetic/memoryin this repo, kept as partof the repo — pass
--visibility privateto route a record to$HOMEinstead.
rememberdriveseidetic remember(idempotent upsert of one JSONrecord or an NDJSON batch on stdin);
recalldriveseidetic recallwithfour search modes (exact / approximate / keyword / hybrid). Each
SKILL.mdislocalized only in the illustrative
--scope <nick>examples (Provenance keeps"First-party to eidetic-cli"). Runtime dep: the
eideticCLI on PATH (else alocal eidetic-cli checkout with
uv) —eidetic >= 0.10.0for thein-repo routing; on an older CLI the public records still work but are stored
in
$HOME/.eidetic/memoryinstead of in-repo. Propagated by rollout-cli'seidetic-memoryrecipe.