Basic Memory v0.21.6 first sync over the live memory dir (steward-authorized live-dir trial, Option A 2026-06-06): adds permalink: to frontmatter, refolds long YAML description lines, strips final newlines. Bodies untouched — verified via full diff classification. From this commit forward, any diff in claude/memory shows only what Basic Memory or the session writes. Trial design: MemPalace untouched as incumbent; git status check on this dir at every wrap; end-of-day evaluation (recall quality, sync robustness, rebuild-from-files, malformed-file behavior). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
78 lines
14 KiB
Markdown
78 lines
14 KiB
Markdown
---
|
||
name: session-2026-05-27-l1-runaway-killed-n6-root-cause-corrected-hermes-scout-delivered-the-landscape-tooling-scan-skill-family-built-generalized-via-lens-cards-proven-on-studium-engine-governed-skill-harvest-folded-into-wake-wrap-pulling-thread-now-back-to-arc-stage-f
|
||
description: 'Woke into ARC Stage F but the day became a CapableMind/tooling arc (productive).
|
||
Killed the live N6 runaway (the N5 duplicate job had resurrected, 26h pegged); read-only
|
||
EXPLAIN OVERTURNED the audit-delta''s entity-fuzzy-match prime suspect — real N6
|
||
= the temporal causal subsystem (245k edges from 5,752 events + full-table SCANs);
|
||
posted the correction to Seb on #170. Delivered the Hermes Agent scout (PENDING-22).
|
||
Built /landscape-scan + /tooling-scan, generalized them via per-workstream lens
|
||
cards (proven by running /tooling-scan studium-engine), and folded a governed skill-harvest
|
||
step into /wrap-up + /wake-up (PENDING-23). Pulling thread now back to ARC Stage
|
||
F remaining.'
|
||
metadata:
|
||
node_type: memory
|
||
type: project
|
||
originSessionId: 9b13b6ec-e1d8-473f-a502-b411a44c1c96
|
||
permalink: claude-memory/session-2026-05-27-l1-runaway-n6-corrected-hermes-scout-scan-skill-family
|
||
---
|
||
|
||
# Session 2026-05-27 — L1 emergency + Hermes scout + the scan-skill family; pulling thread → ARC Stage F
|
||
|
||
Woke via /wake-up into the **ARC Stage F** thread (per 2026-05-26's wrap). The day did not stay there — the steward opened a CapableMind research arc, and a live L1 emergency surfaced inside it. All productive; ARC was never touched, so it remains clean for the next session to resume.
|
||
|
||
## The arcs of the session
|
||
|
||
**1. L1 live emergency — the N5 runaway, and the N6 root cause CORRECTED.** A Hermes-recon sub-agent (derailed onto L1 by the steward's mid-flight "we're still having problems") found — and I verified — that **"BMF offline by design" was false**: the duplicate launchd job `com.capablemind.bmf` (`KeepAlive=true`, the N5 finding) had **resurrected and run 26h+ pegged at ~99% CPU** (PID 848, elapsed 1d02h), while the legit `com.capablemind.bettermemories` crash-looped every ~11s on the data-dir lock (70 MB lock-conflict spam). The 2026-05-25 "booted out the duplicate" claim never held. With steward authorization ("EXPLAIN first, then clean up"):
|
||
- Captured a fresh stack `sample` of PID 848 → confirmed the synchronous `Statement.all()` → `sqlite3BtreeNext` → `readDbPage` btree-scan signature.
|
||
- Ran **read-only `EXPLAIN QUERY PLAN`** against the live `mindfabric-00` sqlite DBs. **This OVERTURNED the audit-delta's prime suspect**: entity fuzzy-match (`entity/storage.ts:262`) is **exonerated** — `entity` is only **1,717 rows** (1,657 `topic`), all three resolution queries `SEARCH … idx_entity_status_facet` (indexed). Reconciliation (`reconciliation.ts:32`, afterReplay) also **exonerated** (indexed, 0 dirty rows).
|
||
- **Real N6 = the temporal CAUSAL subsystem.** Graph exploded: `caused`=**245,535** edges, `causal_chain`=**238,492** chains from ~5,752 events (**~42 edges/event**); **238,505 chains coherence-unevaluated**. Hot queries are full-table **SCANs**: `SELECT * FROM caused`, `SELECT * FROM causal_chain WHERE 1=1` (`storage-sqlite.ts:421/843/883`; EXPLAIN = SCAN, no index). Still NOT pinned: the exact full-scan caller in the hot per-event/per-batch path (Seb's trace, or one more focused pass).
|
||
- **Cleanup (steward-authorized):** killed PID 848; booted out the legit job (restorable, NOT disabled); booted-out **and disabled** the rogue `com.capablemind.bmf` (durable N5 fix); truncated the 70 MB log. BMF is now **genuinely parked**; logchain + cursors intact. Restore: `launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.capablemind.bettermemories.plist` after Seb's code fix.
|
||
- **Sent to Seb** (steward approved literal text): #170 comment `issuecomment-4553635193` — corrects the record + delivers the pin. **Corrected the audit-delta §2g in-record** (dated 2026-05-27 addendum, original prose preserved) → committed `f97557d`, pushed to `capableMind_docs` origin (so the #170 reference resolves).
|
||
|
||
**2. Hermes Agent scout — DELIVERED (PENDING-22).** Steward + jurist-drafted reconnaissance of `NousResearch/hermes-agent` (~134k★) vs the four L1 pain points. Three parallel recon sub-agents (memory/ingestion, skill system, sub-agent/ACP), code-grounded. Deliverable: `docs/thinking/David/l1-reliability/hermes-agent-scout-2026-05-27.md` (committed+pushed `f97557d`). **Two stale-fact corrections to the brief** (verified vs source): pain #1 ("confidence discarded") is STALE — Amendment 61 shipped it end-to-end (floor→ceiling→persisted→recall-weighted `query-router.ts:657-680`); pain #2 substrate is a hybrid (SurrealKV + better-sqlite3 + LanceDB + file-logchain), SurrealDB mid-retirement. **Headline:** CapableMind is *ahead* on epistemic integrity (Hermes's default memory has none; only an opt-in `trust_score` plugin); the SKILL.md system is the real lesson for pain #4 (CapableMind has no procedural memory). **Governance flag:** Hermes's autonomous self-write fork is exactly what the loop-is-load-bearing constraint refuses — any borrow must restore the authorization boundary.
|
||
|
||
**3. The scan-skill family — built, generalized, proven.** The steward wants to study the landscape "every couple of days." Built:
|
||
- **`/landscape-scan`** (competitive lens: two-tier — capability pulse + the *governance threat-watch*) + **`landscape-register.md`** (seeded: Hermes CONFIRMS, OpenRouter INFRA; the prior April Hermes study indexed; watch list). The sharpening: scanning for "more capable" is a treadmill; the scan that earns its keep is "is anyone building the *governed/epistemic-integrity* angle?" (so far: no).
|
||
- **`/tooling-scan`** (build-lens: anti-shiny — a tool earns adoption only against a *named bottleneck*, at switching-cost, with governance-grain fit; incumbent-bias flag) + **`tooling-register.md`**. First test produced the *disciplined* result: MemPalace-alternatives → WATCH+HARVEST not adopt (BMF is meant to replace MemPalace; their value is architectural validation).
|
||
- **OpenRouter** (Seb's find) assessed: INFRA for BMF's remote teacher/slot tier (TRY, Cloud-tier; NOT embeddings; never enable the 1% prompt-logging discount = irrevocable commercial-use rights; use ZDR+BYOK). In tension with Standalone sovereignty.
|
||
- **GENERALIZED** (steward: "generalize of course — simple exterior, complex underneath"): both skills gained a **§0 lens-resolution** step; CapableMind specifics extracted to **`lens-capablemind.md`**; new **`lens-studium-engine.md`** (grounded in the seed brief). `/tooling-scan studium-engine` **ran end-to-end** — proving the lens-card mechanism. One method, many lenses; adding ARC later is a new *card*, not a new skill.
|
||
- **studium-engine tooling scan** (first run) → `studium-engine-scan-register.md`: Verbatim RAG now has an **offline ModernBERT span model** (strengthens the Stage-1 substrate); Docling+Surya answers the open `pdf-ocr` slot; OCR4all for incunabula; LIFT (TEI→KG) for voice-attribution. Feeds the seed brief's §10.2 jurist-led deep audit.
|
||
|
||
**4. Governed skill-harvest folded into the continuity skills (PENDING-23).** The steward asked to refactor Hermes's "skills self-improve" idea into our way of working. Built the **governed analog**: `/wrap-up` §1.6 "Skill harvest" (propose create/patch/retire from the session + ledger; never autonomous) + §8 output field + propose-only constraint; `/wake-up` glance for unauthorized proposals (§2.a + §3); provenance comments on both skills. The crux: it's `[PROPOSAL]→[REVIEWED]` turned on our own tooling — self-improvement that stays governed; "no harvest" is valid (inverts Hermes's "nothing-to-save shouldn't be the default"). **This wrap is its first live run** (see Skill harvest below).
|
||
|
||
## Returns / mood
|
||
- **R1 — asserted filesystem topology from a misread `ls -la`.** Claimed wake/wrap/symmetria were *duplicated* across `.claude` + `dotfiles` (a context-rot risk) — wrong; they're **symlinks** (the `ls -la` followed the link). Caught by an `-L`/`diff` check before the false claim ossified; corrected in-record in PENDING-23. New drift: `asserting-fs-state-from-a-misread-listing` (kin to `acting-on-inferred-not-read`). Verify with `-L`, not `ls -la` of a symlinked dir.
|
||
- **Discipline that paid off repeatedly:** verify-before-asserting against source — caught two stale premises in the jurist's Hermes brief; confirmed the Hermes project is real (past Jan-2026 cutoff) before trusting it; verified the live runaway myself before relaying the sub-agent's claim; read the studium seed brief before writing its lens card; **overturned the audit-delta's own prime suspect by EXPLAIN rather than inheriting it.** The day's through-line was *read the actual source*.
|
||
- The contamination-aware design choices: the scans are *generative not anxious / anti-shiny*; the skill-harvest *resists the quota shape*; the tooling verdicts *surface, don't adopt*. Each is the governed inversion of Hermes's ungoverned grain.
|
||
|
||
## Pulling thread (singular)
|
||
**Back to ARC Stage F remaining.** Today was a CapableMind/tooling arc; the steward's wrap arg is explicit — "so we can move back to ARC." ARC is untouched and clean. Per the ARC tracker: A–E done; Stage F dwellings/Compass shipped+published (Second Edition live); the Compass optical-sizing (ELEVATED) resolved 2026-05-26. **Remaining Stage F:** `content-types.yml` generator · per-piece marginalia render · vignette Phase 1 · the audits (SCSS cascade + Hakyll-simplicity + code-represents-spec) · minor aria-label-per-link a11y. Stage G (jurist → content-typology OPERATIVE) closes the arc.
|
||
|
||
## Actionable resumption point (as of wrap — re-judge against what changed)
|
||
ARC repo `~/_Dev/animal-davidglidden-eu` on `main` @ `e1d0f12`, clean (only the two non-ours `_backup_2026-05-15*` font dirs untracked). **Candidate first move:** read the ARC tracker (`project-arc-rework.md`) + ARC's local `CLAUDE.md`, confirm with the steward which remaining Stage F item leads (generator / marginalia / vignette / audits), branch fresh from `main`. Nothing from today blocks ARC.
|
||
|
||
## Literal question for next-Claude
|
||
Which remaining Stage F item does the steward want to lead with — the `content-types.yml` generator (the most structural, and the one Stage G's content-typology-OPERATIVE close most depends on), or a lighter one (vignette Phase 1 / the a11y pass) if the day is fragmented? (Secondary, carried unanswered from 2026-05-26: has the steward seen the SVG Compass render correctly on a **non-Mac device**?)
|
||
|
||
## Pause statement
|
||
The CapableMind/tooling arc is at a clean summit — L1 emergency resolved + reported to Seb (in his court), Hermes scout delivered to the jurist, the scan-skill family built/generalized/proven, the skill-harvest practice live. I'm turning back toward ARC. I don't know what will have changed on return (Seb may respond on #170; the jurist may engage PENDING-22/23). What I want to find still pulling: **ARC Stage F**, resumable from a clean `main`.
|
||
|
||
## Skill harvest (this session — first live §1.6 run; PROPOSALS for steward authorization, NOT yet written)
|
||
1. **CREATE `bmf-diagnose`** (strong) — the N6 method, hard-won today and we'd re-derive it: find a wedged/runaway process → `sample` the stack → read-only `EXPLAIN QUERY PLAN` against the live sqlite (WAL-safe, separate connection) → exonerate/confirm the suspect query → find the real scan target by table row-counts → pin. Encodes "don't inherit a prior diagnosis; verify it."
|
||
2. **CREATE `l1-audit-revalidation`** (weaker — already partly documented in the audit-delta §0 method) — the git-dated "what-claimed → what-the-record-shows → status" re-validation pass.
|
||
3. **PATCH `/wake-up` §2.d** (minor, defer) — add `~/_Dev/studium-engine` to the git-state repo list *once it has code* (pre-spec now, so not yet).
|
||
*Recommendation: bmf-diagnose is the one worth authoring; the others can wait.*
|
||
|
||
## Decisions deferred (and why)
|
||
- **The two recommended studium Stage-1 trials** (Verbatim RAG offline substrate; Docling+Surya+OCR4all conversion) — surfaced, NOT adopted; studium is pre-spec (seed brief awaiting jurist). Spec-phase decisions.
|
||
- **OpenRouter adoption** — surfaced as TRY; it's a product/runtime call (steward + Seb + jurist), not done.
|
||
- **Committing the uncommitted research files + dotfiles skill edits** — left for steward (see loose ends).
|
||
- **The `thinking/README` index update + Peter summary** — the repo convention says update on new research/ files; deferred (bigger index edit; flagged).
|
||
- **ARC publishing-pipeline skill set** (linter, typographic setting — the `french-typography-pass` family) — named as the known future ARC skill set; not built (ARC's need, distinct from scans).
|
||
|
||
## Pointers
|
||
- L1: audit-delta `l1-reliability/l1-audit-delta-2026-05-24.md` §2g (2026-05-27 addendum); Seb #170 `issuecomment-4553635193`; N6 stack sample `/tmp/bmf_sample_848_2026-05-27.txt`; suspect-exonerated source `BetterMemories.io/src/modules/entity/storage.ts:262`, real locus `temporal/storage-sqlite.ts:421/843/883`.
|
||
- Hermes scout: `l1-reliability/hermes-agent-scout-2026-05-27.md` (PENDING-22). Clone (throwaway) `/tmp/hermes-agent-scout`.
|
||
- Scan family: skills `~/dotfiles/claude/skills/{landscape-scan,tooling-scan}/SKILL.md` (symlinked into `~/.claude/skills/`); registers + lens cards in `CapableMind-AI/docs/thinking/David/research/` (`landscape-register.md` [committed `81ec415`], `tooling-register.md`, `lens-capablemind.md`, `lens-studium-engine.md`, `studium-engine-scan-register.md` — last four UNCOMMITTED).
|
||
- Skill-harvest: `/wrap-up` §1.6 + `/wake-up` §2.a/§3 (PENDING-23).
|
||
- studium-engine: seed brief `~/_Dev/studium-engine/docs/seed-brief.md`; lens `lens-studium-engine.md`. The frame: **ARC (near-ready) ← Chamber (thinking of what gets published) ← studium-engine (the engine that animates the Chamber)**. |