From 46e4b18a00c27f598d8ba2eb88bd41308c3e25f0 Mon Sep 17 00:00:00 2001 From: Jason Stedwell Date: Fri, 3 Jul 2026 13:32:07 -0500 Subject: [PATCH] Move field report to docs/history; refresh README repository layout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - docs/history/echo-improvements-prompt.md (ROADMAP-2.0 §5 box ticked) - README repository layout brought to 1.5.1 reality: root docs (CHANGELOG/TODO-1.6/ROADMAP-2.0/docs/history), build.py + dist/ (gitignored, secret-bearing), current eval harness contents, hooks/, and the full scripts/ roster (recall/reflect/triage/queue/ concurrency/quality/output/doctor/hook modules) with the legacy commands/ dir annotated as the TODO-1.6 migration target. Also restores the eval-descriptor fix lost in the prior commit (edit was applied in memory but never written back). Co-Authored-By: Claude Fable 5 --- README.md | 43 +++++++++++++------ ROADMAP-2.0.md | 5 +-- .../history/echo-improvements-prompt.md | 0 3 files changed, 33 insertions(+), 15 deletions(-) rename echo-improvements-prompt.md => docs/history/echo-improvements-prompt.md (100%) diff --git a/README.md b/README.md index 8d8e768..d1438fa 100644 --- a/README.md +++ b/README.md @@ -62,16 +62,26 @@ Vault paths are addressed **at the root** (e.g. `GET /vault/_agent/context/curre ``` echo-v.05/ +├── README.md · CHANGELOG.md ← this file + per-release change log +├── TODO-1.6.md · ROADMAP-2.0.md ← next-minor working list · packaging/structure major plan +├── docs/history/ ← historical inputs (e.g. the 1.5.0 frontmatter field report) +├── build.py ← deterministic .plugin builder (--bake-key/--strip-key/--label/--outdir) ├── echo-memory.plugin ← built, installable plugin (zip artifact, rebuilt on version bump) -├── echo-memory-.plugin ← versioned build artifacts (history) -├── eval/ ← credential-free A/B eval harness (0.6 vs 0.7); not bundled +├── echo-memory-.plugin ← versioned build artifacts (history; moves to Gitea releases in 2.0) +├── dist/ ← per-user baked artifacts (secret-bearing) — GITIGNORED, never committed +├── eval/ ← credential-free eval + test harness; not bundled │ ├── mock_olrapi.py ← deterministic mock of the REST API + fault injection -│ ├── run_eval.py ← orchestrator (runs the real echo.py vs modeled raw curl) +│ ├── mock_olrapi_hifi.py ← higher-fidelity mock (real PATCH heading/frontmatter semantics) +│ ├── run_eval.py ← current-version metrics (retrieval / dedup / write-safety / durability) +│ ├── test_*.py ← end-to-end suites (features, reflect, offline queue, PATCH semantics) +│ ├── results/latest.json ← machine-readable output of the last eval run │ └── README.md -└── echo-memory.plugin.src/ ← tracked source tree (the plugin) +└── echo-memory.plugin.src/ ← tracked source tree (the plugin — single canonical tree) ├── .claude-plugin/plugin.json ← manifest (name, version, description) ├── README.md ← plugin-level README - ├── commands/ ← slash commands: echo-load, echo-save, echo-recall, echo-triage, echo-health, echo-sweep, echo-reflect, echo-doctor + ├── hooks/hooks.json ← session hooks: SessionStart auto-load · Stop reflection nudge + ├── commands/ ← slash commands (legacy format; skills-format migration = TODO-1.6): + │ echo-load|save|recall|triage|health|sweep|reflect|doctor └── skills/echo-memory/ ├── SKILL.md ← operating procedure (authoritative) ├── references/ @@ -82,18 +92,27 @@ echo-v.05/ │ ├── api-reference.md ← REST endpoint patterns + routing map │ └── session-log-template.md ├── scripts/ ← executable logic — pure Python (run: python3, or python / py -3) - │ ├── echo.py ← validated client + high-level CLI (capture/resolve/recall/link/load/scope/lock/config) - │ ├── echo_config.py ← resolves owner/endpoint/key from the machine-local config (env-overridable) - │ ├── echo_index.py ← entity index (registry, resolve, name->path map) + │ ├── echo.py ← validated client + CLI (capture/resolve/recall/link/triage/load/scope/lock/config/reflect/flush/doctor) + │ ├── echo_config.py ← owner/endpoint/key resolution (baked > env > machine-local config file) + │ ├── echo_index.py ← entity index + kind maps (KIND_STATUS/KIND_REQUIRED_FM) + duplicate-gate scoring │ ├── echo_links.py ← cross-link primitives (Related parsing, bidirectional linking) - │ ├── echo_ops.py ← high-level ops (capture, recall, resolve, link, agent-log) + │ ├── echo_ops.py ← high-level ops (capture with dup-gate, resolve, link, agent-log) + │ ├── echo_recall.py ← hybrid BM25 + graph recall over entities + sessions/journal (freshness/status priors) + │ ├── echo_reflect.py ← session-reflection pipeline (validate/classify/preview/apply) + │ ├── echo_triage.py ← one-tap inbox triage (reflect pipeline + processing-log audit) + │ ├── echo_queue.py ← offline write-ahead outbox + last-known-good read cache + │ ├── echo_concurrency.py ← advisory-lock context manager + atomic index updates + │ ├── echo_quality.py ← auto-link confidence + slug-collision guards + │ ├── echo_output.py ← --json result envelopes + │ ├── echo_doctor.py ← one-call readiness check (/echo-doctor) + │ ├── echo_hook_session_start.py · echo_hook_stop.py ← the session hooks (fail-safe) │ ├── routing.json ← canonical machine-readable route manifest (linter enforces it) - │ ├── vault_lint.py ← read-only invariant + graph-health checker (Vault Health) + │ ├── vault_lint.py ← read-only invariant + graph-health + frontmatter-completeness checker │ ├── check_routing.py ← verifies routing docs stay in sync with routing.json (offline) - │ ├── test_echo_client.py ← offline regression tests + the routing-sync guard + │ ├── test_echo_client.py ← offline unit tests + the routing-sync guard │ ├── bootstrap.py ← deterministic, idempotent vault setup/repair │ ├── migrate.py ← deterministic schema migration (dry-run by default) - │ └── sweep.py ← bring an upgraded vault up to spec (build index + symmetrize links) + │ └── sweep.py ← bring a vault up to spec (indexes + frontmatter backfill + link symmetrize) └── scaffold/ ← verbatim files the bootstrap writes into the vault ├── echo-vault.md ← bootstrap marker ├── README.vault.md ← thin human signpost diff --git a/ROADMAP-2.0.md b/ROADMAP-2.0.md index 51712b0..e45b292 100644 --- a/ROADMAP-2.0.md +++ b/ROADMAP-2.0.md @@ -69,9 +69,8 @@ the README. Re-run it per release and refresh the README table. - [x] Retire `ROADMAP-1.0.md` (fully shipped; in git history) — **done 2026-07-03**. - [ ] Root README "Repository layout" section updated for the post-2.0 tree (no versioned zips, no codex tree, skills-only plugin). -- [ ] Confirm `echo-improvements-prompt.md` (the 1.5.0 field report) either moves to a - `docs/history/` folder or is deleted — its content is preserved in - CHANGELOG 1.5.0 and the git history. +- [x] `echo-improvements-prompt.md` (the 1.5.0 field report) moved to `docs/history/` + — **done 2026-07-03**. --- diff --git a/echo-improvements-prompt.md b/docs/history/echo-improvements-prompt.md similarity index 100% rename from echo-improvements-prompt.md rename to docs/history/echo-improvements-prompt.md