בס״ד

ASSISTANTLEARNINGCAPTURE.md — PARKED spec (the adaptive brain / "knows me")

docs/ASSISTANT_LEARNING_CAPTURE.md · last changed (pre-VM history) · rendered from GitHub master

ASSISTANT_LEARNING_CAPTURE.md — PARKED spec (the adaptive brain / "knows me")

Status: PARKED (2026-06-07). Sam wants this ("learning adaptive whatever"). ZW-ENGINE-V9: this is Product 2 — the Adaptive Assistant — and it is the moat. Keep it SEPARATE from the Family Memory Engine (Product 1 = stores life) forever. Captured here; do NOT build until the gate below.

The distinction (locked — do not blur)

The three loops (the whole game)

  1. Capture (always-on) — ✅ have it (bots → D1).
  2. Reflect (nightly distill) — 🔨 missing. A cheap cron reads the day's captures + corrections → compresses into clean Profile facts (small, sharp). Keeps the HOT context tiny but smarter every night. This is the "gets smarter on its own" routine (queue #215).
  3. Act (proactive) — 🔨 missing. The system surfaces things before Sam asks (the morning spine; BOT_EMAIL_SCAN_MODULE.md is one instance).

"Knows me" = tiered memory + the correction loop

Why PARKED

The unpark GATE (build only when ALL true)

  1. ✅ Manny bot stable, isolation proven 7+ days.
  2. ✅ Retrieval live (search over D1).
  3. ✅ Memory unified — my Claude-Code local memory + the bot's D1 brain in one shared store (queue #042), so "Claude knows me" is true everywhere, not just on one machine.
  4. ✅ Sam greenlights Product 2 explicitly.

Order when unparked

Retrieval → correction write-back → nightly distill (Reflect) → proactive surfacing (Act). Each ships + proves before the next. Measured by the only KPI that matters: does it know something today it didn't yesterday, without Sam typing it in?

This is the moat. Build it deliberately, last, and on top of solid storage — not first.

Source trail · docs/ASSISTANT_LEARNING_CAPTURE.md @ master · rendered 2026-07-02 7:23 PM EDT by scripts/build-docs.py · the .md in the repo is the truth; this page is the phone-readable view