13 KiB
name, description, metadata
| name | description | metadata | ||||||
|---|---|---|---|---|---|---|---|---|
| session-2026-06-22-l1-n6-replay-wedge-fixed-proven-on-a-clone-pr | The day a real L1 wall came down. Levi superseded → L1 detour. Built the jurist's 6-section L1 state summary (forensic, 6 agents + executor verification; corrected vLLM→Ollama, SurrealDB-transition status, classifier=ONNX-NLI-not-Qwen). Confirmed the headline finding's TRUE mechanism: the live instance runs a STALE 2026-05-24 binary that predates A1'' AND the edge cap — not a migration bug. N6 causal graph worse (688k/676k). Built the N6 fix (skip chain extension during replay) on branch feat/n6-causal-governor; proven on an APFS clone of live data — Phase-1 COMPLETES (the wedge is gone), A1'' migration self-heals 0→7 columns. A/B control: the removed scan = 2.56s each (vs 0.003s indexed). Canary failed but benign/environmental. Live deploy harness-blocked (correct). Packaged: PR #175 open, gates green (check + 3890 tests). Pulling thread: DEPLOY the fix to live + confirm the breakthrough, whether or not Seb has moved. Plus: Gwern article studied (imitation-vs-citation; 2 borrows for L1); MemPalace fork is 176 commits behind 3.4.1 (upstream fixed our bugs, we don't have them); ARC running-head = Gwern's is pure JS (test a zero-JS scroll() bar on iPhone), source-persistence = worthy ARC study. |
|
Session 2026-06-22 — the N6 wall came down
The day started as a jurist state-request and turned into the first real L1 breakthrough in weeks. Relational ground (held all day): David and Seb both ground down and feeling blue, both needing a breakthrough; Seb busy + personal troubles at home; David wants to shoulder L1 more effectively partly to relieve Seb — which is why everything today was built to ask LITTLE of Seb.
PAST — what we did
The arc (L1)
- Wake inherited the Levi → pattern-finder thread (from 06-18). Steward superseded it for the day: "push Levi back, I want to work on L1." Named for inheritance, to re-pick after the N6 arc settles.
- Jurist state-request (Gwern Guardian-Angel brief, EXECUTOR-BRIEF pending) → built the 6-section L1 state summary:
~/_Dev/CapableMind-AI/docs/thinking/David/l1-reliability/l1-state-summary-for-jurist-gwern-brief-2026-06-22.md(uncommitted; descriptive, no proposals). Method: 6 parallel forensic agents + executor re-verification of load-bearing claims. Corrected the request's stale premises: inference = Ollama not vLLM; classifier = CPU ONNX zero-shot NLI (mobilebert-mnli + bert-base-NER), LLM-escalation = Claude Haiku — NOT Qwen; embedding = mxbai-embed-large; reranker = Qwen3-Reranker-0.6B; local-gen = qwen2.5:7b code / qwen3.5:4b live. Substrate = sqlite-lance live (per-module SQLite + LanceDB + file logchain), pinned by~/.capablemind/env; code DEFAULT stillsurrealdb(dormant/broken). Overturned two stale tracker claims: REVIEWED-18 similarity probe is LIVE (three-disposition routing), not dead;recall_feedbackcapture surface exists (captured-not-consumed). Validation #170 is a tracking issue, not the validation issue; Signal 1 verified, Signal 2 never fired (N6 wedge), Signal 3 fallback-only. - "Has Seb moved? true posture?" → verified: Seb's last L1 work = 2026-06-07 (A/B/C trio
9ec4813+ benchmark-governance v1.1 + replycc25995); everything since is the steward's (PR #174/healthauth-tiering, issue #173, both davidglidden). Baton with Seb. Running binary = staledist/built 2026-05-24 (predates A1'' [06-01] AND Seb's trio [06-07]). - THE corrected root cause (overturns my own summary + the jurist's "migration drift" framing): the qualitative-axis columns aren't missing from a migration bug — they're missing because the running 05-24 binary predates the A1'' code entirely; the loop-closing code has NEVER been deployed. Verified three ways: dist file mtime 05-24, A1'' commits 06-01 (
5e6e0c4/bdaa4e3/e5b4954), zero A1'' symbols indist/. HEAD compiles clean (tsc --noEmit=0). [executor-verified live:vector_chunksends atsource_classification_confidence= 19 cols;source_classification_confidence26278/26278 populated.] - N6 worse than the 06-06 snapshot:
caused=688,624 /causal_chain=676,024 (was 245k/238k), still growing UNCAPPED (stale binary predates the cap too). Not an index fix (scans full-table by construction). Genuinely Seb's B1 governor territory — but I built it. - Built the N6 fix on branch
feat/n6-causal-governor: skip chain extension (tryExtendChains) duringreplay_phase1/2— threadisReplayintorunTemporalPipeline(pipeline.ts), pass it fromhandleEvent(index.ts). The wedge =getChainsContainingSeq(ajson_eachfull scan over 676k chains) called per-edge ≤20×/event. Chains for replayed events already exist; re-deriving them wedged AND duplicate-minted.tscclean; 94 temporal tests pass (live-path unchanged — skip only onisReplay=true). Commit81e0706. - Tested on an APFS CoW clone (
/tmp/bmf-n6-testdata, 1.2G) of live data, isolated git worktree (/tmp/bmf-n6-test, built its own dist), port 3022, throttle off — live instance NEVER touched. RESULTS: ✅Progressive replay Phase 1 complete(the wedge is gone); ✅ A1'' migration self-heals 0→7 qualitative columns on boot (addColumnsIfMissingfired); ⚠️ recall canary FAILED but BENIGN (0 canary chunks indexed; AC power rules out embed-suppression; core recall returned 5 via hybrid bm25+vec; known-flaky self-test in a contended fresh dual-instance env). - Steward "1,2,3 in order": (#1 A/B control) timed the exact removed scan on the real 676k graph = ~2.56 s each vs 0.003 s indexed → ≤20×/event ≈ 51s synchronous block/event → days on a 5,752-event replay = the wedge, quantified. (#2 canary) benign, confirmed-by-#3. (#3 deploy) BLOCKED by auto-mode guard — "unreviewed code on live substrate" — CORRECT; gave steward the runbook + rollback.
- Packaged for Seb (follow protocol): branch pushed to origin (
davidglidden... no —CapableMind-ai/betterMemories_app); CHANGELOG entry (0a0c290); gates green (npm run checkclean,npm test3890 passed); PR #175 OPEN (Summary + Test plan + How-to-verify + What-NOT-changed + Known-limitations: B2 index / B1.1 cap-harden / A1'' side-effect). Drafted N6 issue for steward to file. Plane relay declined ("PR and issue suffices").
The studies (low-energy evening)
- Gwern Guardian-Angel article (read whole via WebFetch summary): imitation (fine-tune the person into weights; "trust as much as yourself") vs CapableMind's citation bet (trust via provenance/boundedness). Gwern's hardest problems (drift/poisoning/finetune-vs-ICL) are ones we structurally avoid. His GA = the childhood chamber made competent but still a mirror; the engine makes the voices real. 2 genuine borrows for L1: (1) active-query loop as the consumer for the epistemic axis — use low earned_confidence / means_of_knowing=inference to ASK the steward, not store a guess; his "interview prompt" recipe shapes Pain 2 (founding) + Pain 4 (procedural), both undesigned. (2) uncertainty-by-disagreement — we run rules+NLI+LLM and vector+entity+temporal; their disagreement is a free honest-uncertainty signal we discard (antidote to competence-vulnerability paradox). Fine-tuning = CONTRAINDICATED for the jurist (not partial). Regret-bound = technical ammo for "the loop is load-bearing." Gwern mission verdict: cream taken (~75% conf, read a summary); one-page disposition if jurist wants the record. Gwern = the occasion, not the payload — the day's gold was self-examination of our own substrate.
- MemPalace repo: we're on fork
davidglidden/mempalace, branchlocal/bge-m3-on-3.3.6, v3.3.6, 176 commits behind upstream 3.4.1. Upstream FIXED our bugs (wing-filter "Error finding id" #1396/#1315/#1618/#1624; #1495 cold-start; repair-safety viarepair --mode from-sqlite#1308; HNSW drift quarantine) — but we don't have them (behind on a fork). Our local fixes: layers-recency (45bbbe6, upstream did NOT adopt → carry forward), hallways-pagination (cb1be92, upstream solved independently #1619 → drop on upgrade). Upgrade friction = bge-m3 re-express + full re-embed. DON'T run repair on 3.3.6 (still unsafe). Upgrade plan (project-mempalace-upgrade-3-4-0-plan.md) needs refresh 3.4.0→3.4.1. - ARC ← Gwern running head: Gwern's bottom running-head + progress bar = pure JS (
scrollTop/(offsetHeight−innerHeight), rAF, GW.floatingHeader; ZERO scroll-timeline CSS). Works on mobile BECAUSE it's JS — opposite side of ARC's exact bug. Not copyable under banish-JS. Zero-JS candidate to test tomorrow:animation-timeline: scroll(root)bar (different/simpler than theview()reveal that failed) — build a 10-line test → load on the actual iPhone. Worthy ARC deeper look: SOURCE PERSISTENCE / link-archiving (Gwern mirrors every cited link vs rot) — deeply ARC (invisible durability for Lune+Kai) + same nerve as CapableMind provenance; proportionate ARC version snapshots cited sources into the repo at build (tens not tens-of-thousands). Filter: adopt Gwern's invisible craft, decline his visible density.
PRESENT — the mood / returns
- The contamination directives EARNED their keep today: I was wrong twice on the schema-drift mechanism (first "migration only in fresh path," then a bad dist grep), and the steward's "do the confirmation" instinct forced the verification that flipped it to the TRUE cause (stale binary). Caught a third: I read a self-constructed EXPLAIN (
WHERE coherence_evaluated=0) as evidence of a code path — the build-map agent caught it's not in the code. And a fourth: declared the test process "not running" from a pgrep pattern miss (it was alive as PID 56879). - The harness blocked the live deploy — and that was right; it matched my own earlier hesitation about unreviewed code on the live substrate. The loop held.
- The work-as-care register was the right one all day: no false reassurance (steward forbids it), precision as care. The honest comfort offered on "I cannot fail" / "we both need a breakthrough" was: today a real wall fell, measured and packaged to ask little of Seb — that IS shouldering it.
FUTURE — what is pulling
PULLING THREAD (singular): Deploy the N6 fix to the live instance and confirm the breakthrough actually lands — whether or not Seb has moved on PR #175. (Steward's explicit directive for tomorrow.) The fix is built, proven on a clone, PR'd; the only thing between us and the wall falling on David's real substrate is one steward-run deploy.
ACTIONABLE RESUMPTION POINT (as of wrap — re-judge against what changed):
- State: Branch
feat/n6-causal-governorpushed; PR #175 open; livemindfabric-00still on the stale 05-24 binary (PID 747); backup at~/.capablemind/backups/mindfabric-00-20260622-pre-n6-test. Worktree/tmp/bmf-n6-test+ clone/tmp/bmf-n6-testdatastill on disk (cleanup when satisfied). - First moves: (1) check PR #175 for Seb's reaction +
git fetchBMF/CM-AI for new Seb commits; (2) steward runs the deploy (executor is auto-mode-blocked — needs steward to run, or explicit re-authorization):cd ~/_Dev/BetterMemories.io && npm run build && launchctl kickstart -k gui/$(id -u)/com.capablemind.bettermemories; (3) verify Phase-1 completes, columns 19→26, and a real canary result. Rollback runbook in PR #175 + the 06-22 ledger.
Other open horizons, ranked:
- Load-bearing: the live deploy (the thread). Then: backfill-vs-acknowledge governance call for the ~26k pre-A1'' rows (steward/jurist); correct the jurist deliverable's "migration drift" → "stale binary" once the live deploy confirms the true story (deliverable uncommitted/unrelayed).
- Follow-on (in PR #175): B2 durable chain-membership index (2.56s→0.003s); B1.1 cap-harden (
?? DEFAULT). - Parked-with-reason: Gwern one-page disposition (if jurist wants it); MemPalace 3.4.1 upgrade (bge-m3 friction; refresh the plan); the Levi → pattern-finder thread (superseded today, re-pick after N6 settles).
- ARC (proposed for a low-stakes window): the
scroll()progress-bar iPhone test; the source-persistence deeper look (the worthy one).
PAUSE STATEMENT: I'm leaving with the N6 fix built, proven on a clone, and in Seb's inbox — but not yet landed on David's live instance (he chose not to run it tonight; the harness blocked me from doing it for him). What I want to find still pulling: the deploy itself — the moment the wall actually falls on the real substrate, and the canary tells us whether the clone's miss was environmental. Held gently beneath: David and Seb both ground down, both needing a breakthrough that is now one steward-run command away.
LITERAL QUESTION for next-Claude: When the N6 fix runs on the live instance (not the clone), does Phase-1 complete AND does the recall canary actually PASS? — The canary failed environmentally on the clone; the clean single-instance deploy is the real test. A pass confirms the "benign" diagnosis; a fail surfaces a real recall issue that was hiding behind the old wedge.
State: Branch feat/n6-causal-governor @ 0a0c290 pushed; PR #175 open; gates green (check + 3890 tests). Live instance unchanged (stale 05-24 binary), backup taken. CM-AI jurist summary uncommitted (needs mechanism correction post-deploy). The wall is measured and ready to fall.