feat(phase-57): shop window, positioning, and supported-surface trim - #36
Merged
Merged
Conversation
Make the public face of the repo match what Phases 54-56 established, and delete the one converter that reported success while doing nothing. 57-01 Repo hygiene - Root README.md: local-first pitch, architecture diagram, executed quickstart, honest status table, supported-surface tiers, docs index - LICENSE (MIT), matching workspace.package.license - workspace.package.repository now points at the real remote 57-02 Positioning - docs/positioning/agent-memory-vs-competition.md: head-to-head vs Mem0, Zep, MemMachine and Letta, a "where they are ahead of us" section, the platform-risk answer, and a claims ledger with sources and check dates - Honors the Phase 56 gate: the only committed benchmark results are mock-backend and mock-judge, so no comparative accuracy claim ships 57-03 Scope trim - Tier 1 (Claude Code, Codex CLI) gates every PR; Tier 2 (Gemini, Copilot) moves to a weekly scheduled workflow - OpenCode removed rather than archived: the converter's methods all returned empty, so `--agent opencode` exited 0 and wrote no files. Gone are the converter, the Runtime variant, its tool mappings, its bats suite and the archived plugin stub. A test now asserts every runtime the installer offers actually converts something Defects found by running the README quickstart, and fixed - A fresh store had no db/search or db/vector, so the outbox indexing job never registered and every query returned an empty result set with no error. start_daemon now creates both directories - `admin rebuild-toc` printed "not yet fully implemented" and exited 0, and its --dry-run advertised a rebuild that did nothing. It now fails with guidance, the same treatment Phase 54 gave --background - README documents the ~1 minute outbox drain and that BM25 does not stem Execution evidence: docs/verification/57-quickstart-transcript.md records the quickstart run verbatim on a wiped store, including what failed first. Local: fmt, clippy -D warnings, workspace tests, e2e-tests, and doc all green. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014nSJ2c7F9mpmRCxfTAi214
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.
Closes the v3.1 GSD work: Phase 57 Shop Window & Positioning. Phase 58 is a launch side quest, not a GSD phase.
57-01 Repo hygiene
README.md— the repo had no landing page. Local-first pitch, ASCII architecture diagram, a quickstart that was actually executed, an honest status table, the supported-surface tiers, and a docs index.LICENSE(MIT), matchingworkspace.package.license.workspace.package.repositorywasspillwave/agent-memory; now matches the real remote.57-02 Positioning
docs/positioning/agent-memory-vs-competition.md— head-to-head vs Mem0 / Zep / MemMachine / Letta across memory model, capture cost, locality, reach, provenance and evolution; leads with the three structural differences (passive zero-token capture, local-first, cross-CLI). Includes:The Phase 56 gate is honored. MemMachine publishes 0.9169 on LoCoMo. Our only committed artifacts are a mock-backend custom harness and a 4-question mock-judge smoke run. The doc says so and makes no comparative accuracy claim anywhere.
57-03 Scope trim
e2e-cli.yml)e2e-cli-tier2.yml)OpenCode was removed, not archived. Every method of
OpenCodeConverterreturned empty, somemory-installer --agent opencode --projectexited 0 and wrote no files. Deleted: the converter, theRuntime::OpenCodevariant, its tool mappings, its 25-test bats suite, and the archivedplugins/memory-opencode-plugin/stub. In its place,every_offered_runtime_converts_somethingiteratesRuntime::value_variants()and fails if any offered runtime produces nothing.Defects the quickstart found — and what changed
The README was written first, then run verbatim on a wiped store. Three defects surfaced, all in the "documented happy path silently does nothing" family this milestone exists to kill:
db/searchordb/vector, and both the outbox indexing job and the prune jobs only register when their directory already exists — so a first-run daemon accepted events forever and answered every query withresults: [],confidence 0.0, and no error.start_daemonnow creates both directories.admin rebuild-indexesfailed on the RocksDB lock while the daemon ran, and reported "No documents found" when stopped — it indexes TOC nodes and grips, not raw events. Moot after fix 1.admin rebuild-tocprinted a TODO and exited 0, and its--dry-runadvertised "To actually rebuild, run without --dry-run", which was false. It now fails with guidance and exits 1 — the same treatment Phase 54 gave--background.Two retrieval truths were written into the README rather than left for a user to trip over: indexing is a ~1 minute scheduled outbox drain, not synchronous with ingest; and BM25 does not stem (
jwtdoes not matchJWTs), so the second example was changed to a query BM25 can answer.Execution evidence
docs/verification/57-quickstart-transcript.md— the quickstart run start to finish on a container with no Rust toolchain, noprotoc, nolibclang, and no store, including the failures above and the passing re-run:text_previewpopulated on an event hit is the Phase 54.5TEXT | STOREDfix visible end-to-end.The transcript also states what it does not establish: vector search was not exercised (this container's proxy blocks the Hugging Face model download — the daemon warned and ran BM25-only, as documented), no hooks were installed into a live agent, it is not a performance measurement, and macOS was not tested.
Not done, stated rather than waved through
Validation
cargo fmt --all -- --check,cargo clippy --workspace --all-targets --all-features -- -D warnings,cargo test --workspace --all-features --exclude e2e-tests,cargo test -p e2e-tests --all-features, andRUSTDOCFLAGS="-D warnings" cargo doc --no-deps --workspace --all-featuresall green locally.🤖 Generated with Claude Code
https://claude.ai/code/session_014nSJ2c7F9mpmRCxfTAi214
Generated by Claude Code