From db899788712ac0069baa932770a4b1d21ba1ddbc Mon Sep 17 00:00:00 2001 From: Anto01 Date: Sun, 12 Apr 2026 20:32:47 -0400 Subject: [PATCH] =?UTF-8?q?docs:=20full=20session=20sync=20=E2=80=94=20mas?= =?UTF-8?q?ter=20plan=20+=20ledger=20+=20atomizer-v2=20ingested?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Master plan status updated to reflect current reality: - 5 registered projects (atomizer-v2 newly ingested, 33,253 vectors) - 47 active memories across all types - 61 project state entries - Nightly pipeline fully operational (both capture clients) - 7/14 phases baseline complete - "Now" section updated: observe/stabilize, multi-model triage, automated eval, atomizer state entries - "Next" section updated: write-back, AtoDrive, hardening - "Not Yet" items crossed off where applicable (reflection loop, auto-promotion, OpenClaw write-back) DEV-LEDGER orientation fully refreshed with current vectors, projects, pipeline state, and capture clients. Co-Authored-By: Claude Opus 4.6 (1M context) --- DEV-LEDGER.md | 21 +++++---- docs/master-plan-status.md | 94 +++++++++++++++++++------------------- 2 files changed, 59 insertions(+), 56 deletions(-) diff --git a/DEV-LEDGER.md b/DEV-LEDGER.md index 3289be3..1f67d28 100644 --- a/DEV-LEDGER.md +++ b/DEV-LEDGER.md @@ -6,15 +6,19 @@ ## Orientation -- **live_sha** (Dalidou `/health` build_sha): `8951c62` (R9 fix at e5e9a99 not yet deployed) -- **last_updated**: 2026-04-12 by Codex (branch `codex/openclaw-capture-plugin`) -- **main_tip**: `4f8bec7` -- **test_count**: 290 passing (local dev shell) -- **harness**: `17/18 PASS` (only p06-tailscale still failing) -- **active_memories**: 41 +- **live_sha** (Dalidou `/health` build_sha): `4f8bec7` (dashboard endpoint live) +- **last_updated**: 2026-04-12 by Claude (full session docs sync) +- **main_tip**: `4ac4e5c` (includes OpenClaw capture plugin merge) +- **test_count**: 290 passing +- **harness**: `17/18 PASS` (only p06-tailscale — chunk bleed, not a memory/ranking issue) +- **vectors**: 33,253 (was 20,781; +12,472 from atomizer-v2 ingestion) +- **active_memories**: 47 (16 project, 16 knowledge, 6 adaptation, 3 identity, 3 preference, 3 episodic) - **candidate_memories**: 0 -- **project_state_entries**: p04=5, p05=6, p06=6 (Wave 2 entries still present on live Dalidou; 17 total visible) -- **off_host_backup**: `papa@192.168.86.39:/home/papa/atocore-backups/` via cron env `ATOCORE_BACKUP_RSYNC`, verified +- **registered_projects**: p04-gigabit, p05-interferometer, p06-polisher, atomizer-v2, atocore +- **project_state_entries**: p04=5, p05=9, p06=9, atocore=38 (61 total) +- **off_host_backup**: `papa@192.168.86.39:/home/papa/atocore-backups/` via cron, verified +- **nightly_pipeline**: backup → cleanup → rsync → LLM extraction (sonnet) → auto-triage (sonnet) +- **capture_clients**: claude-code (Stop hook), openclaw (plugin) ## Active Plan @@ -152,6 +156,7 @@ One branch `codex/extractor-eval-loop` for Day 1-5, a second `codex/retrieval-ha ## Session Log +- **2026-04-12 Claude** `4f8bec7..4ac4e5c` Session close. Merged OpenClaw capture plugin, ingested atomizer-v2 (568 docs, 12,472 new vectors → 33,253 total), seeded Phase 4 identity/preference memories (6 new, 47 total active), added deeper Wave 2 state entries (p05 +3, p06 +3), fixed R9 project trust hierarchy (7 case tests), built auto-triage pipeline, observability dashboard at /admin/dashboard. Updated master-plan-status.md and DEV-LEDGER.md to reflect full current state. 7/14 phases baseline complete. All P1s closed. Nightly pipeline runs unattended with both Claude Code and OpenClaw feeding the reflection loop. - **2026-04-12 Codex (branch `codex/openclaw-capture-plugin`)** added a minimal external OpenClaw plugin at `openclaw-plugins/atocore-capture/` that mirrors Claude Code capture semantics: user-triggered assistant turns are POSTed to AtoCore `/interactions` with `client="openclaw"` and `reinforce=true`, fail-open, no extraction in-path. For live verification, temporarily added the local plugin load path to OpenClaw config and restarted the gateway so the plugin can load. Branch truth is ready; end-to-end verification still needs one fresh post-restart OpenClaw user turn to confirm new `client=openclaw` interactions appear on Dalidou. - **2026-04-12 Claude** Batch 3 (R9 fix): `144dbbd..e5e9a99`. Trust hierarchy for project attribution — interaction scope always wins when set, model project only used for unscoped interactions + registered check. 7 case tests (A-G) cover every combination. Harness 17/18 (no regression). Tests 286->290. Before: wrong registered project could silently override interaction scope. After: interaction.project is the strongest signal; model project is only a fallback for unscoped captures. Not yet guaranteed: nothing prevents the *same* project's model output from being semantically wrong within that project. R9 marked fixed. diff --git a/docs/master-plan-status.md b/docs/master-plan-status.md index e71df04..f871a15 100644 --- a/docs/master-plan-status.md +++ b/docs/master-plan-status.md @@ -120,59 +120,52 @@ This sits implicitly between Phase 8 (OpenClaw) and Phase 11 (multi-model). Memory-review and engineering-entity commands are deferred from the shared client until their workflows are exercised. -## What Is Real Today +## What Is Real Today (updated 2026-04-12) -- canonical AtoCore runtime on Dalidou -- canonical machine DB and vector store on Dalidou -- project registry with: - - template - - proposal preview - - register - - update - - refresh -- read-only additive OpenClaw helper on the T420 -- seeded project corpus for: - - `p04-gigabit` - - `p05-interferometer` - - `p06-polisher` -- conservative Trusted Project State for those active projects -- first operational backup foundation for SQLite + project registry -- implementation-facing architecture notes for future engineering knowledge work -- first organic routing layer in OpenClaw via: - - `detect-project` - - `auto-context` +- canonical AtoCore runtime on Dalidou (build_sha tracked, deploy.sh verified) +- 33,253 vectors across 5 registered projects +- project registry with template, proposal, register, update, refresh +- 5 registered projects: + - `p04-gigabit` (483 docs, 5 state entries) + - `p05-interferometer` (109 docs, 9 state entries) + - `p06-polisher` (564 docs, 9 state entries) + - `atomizer-v2` (568 docs, newly ingested 2026-04-12) + - `atocore` (drive source, 38 state entries) +- 47 active memories (16 project, 16 knowledge, 6 adaptation, 3 identity, 3 preference, 3 episodic) +- context pack assembly with 4 tiers: Trusted Project State > identity/preference > project memories > retrieved chunks +- query-relevance memory ranking with overlap-density scoring +- retrieval eval harness: 18 fixtures, 17/18 passing +- 290 tests passing +- nightly pipeline: backup → cleanup → rsync → LLM extraction (sonnet) → auto-triage +- off-host backup to clawdbot (T420) via rsync +- both Claude Code and OpenClaw capture interactions to AtoCore +- DEV-LEDGER.md as shared operating memory between Claude and Codex +- observability dashboard at GET /admin/dashboard ## Now These are the current practical priorities. -1. Finish practical OpenClaw integration - - make the helper lifecycle feel natural in daily use - - use the new organic routing layer for project-knowledge questions - - confirm fail-open behavior remains acceptable - - keep AtoCore clearly additive -2. Tighten retrieval quality - - reduce cross-project competition - - improve ranking on short or ambiguous prompts - - add only a few anchor docs where retrieval is still weak -3. Continue controlled ingestion - - deepen active projects selectively - - avoid noisy bulk corpus growth -4. Strengthen operational boringness - - backup and restore procedure - - Chroma rebuild / backup policy - - retention and restore validation +1. **Observe and stabilize** — let the nightly pipeline run for a week, + check the dashboard daily, verify memories accumulate correctly + from organic Claude Code and OpenClaw use +2. **Multi-model triage** (Phase 11 entry) — switch auto-triage to a + different model than the extractor for independent validation +3. **Automated eval in cron** (Phase 12 entry) — add retrieval harness + to the nightly cron so regressions are caught automatically +4. **Atomizer-v2 state entries** — curate Trusted Project State for the + newly ingested Atomizer knowledge base ## Next -These are the next major layers after the current practical pass. +These are the next major layers after the current stabilization pass. -1. Clarify AtoDrive as a real operational truth layer -2. Mature identity / preferences handling -3. Improve observability for: - - retrieval quality - - context-pack inspection - - comparison of behavior with and without AtoCore +1. Phase 10 Write-back — confidence-based auto-promotion from + reinforcement signal (a memory reinforced N times auto-promotes) +2. Phase 6 AtoDrive — clarify Google Drive as a trusted operational + source and ingest from it +3. Phase 13 Hardening — Chroma backup policy, monitoring, alerting, + failure visibility beyond log files ## Later @@ -190,11 +183,16 @@ direction, but not yet ready for immediate implementation. These remain intentionally deferred. -- automatic write-back from OpenClaw into AtoCore -- automatic memory promotion -- ~~reflection loop integration~~ — baseline now in (capture→reinforce - auto, extract batch/manual). Extractor tuning and scheduled batch - extraction still open. +- ~~automatic write-back from OpenClaw into AtoCore~~ — OpenClaw capture + plugin now exists (`openclaw-plugins/atocore-capture/`), interactions + flow. Write-back of promoted memories back to OpenClaw's own memory + system is still deferred. +- ~~automatic memory promotion~~ — auto-triage now handles promote/reject + for extraction candidates. Reinforcement-based auto-promotion + (Phase 10) is the remaining piece. +- ~~reflection loop integration~~ — fully operational: capture (both + clients) → reinforce (automatic) → extract (nightly cron, sonnet) → + auto-triage (nightly, sonnet) → only needs_human reaches the user. - replacing OpenClaw's own memory system - live machine-DB sync between machines - full ontology / graph expansion before the current baseline is stable