Skip to content

v0.10.0 — Digest layer: cheap recall, honest coverage

Latest

Choose a tag to compare

@jame581 jame581 released this 26 Jul 19:39
ab3c4e8

Loading a project used to cost the whole page. It now costs one Read.

Every project and task page gains a digest — page-top properties (focus::, next::, open::, digest-updated::) plus a ## Digest section capped at 800 bytes whose last bullet is a measured Map: of what the page contains. brain-load reads only that, and fetches anything more on demand.

Measured on a real graph

Before After
load <project> on a 107 KB page 109,760 B 1,474 B in one Read
brain status across 11 projects ~44 tool calls 1 ripgrep — 45 files, 8.6 ms
"why did we drop X?" 40 hits → scoped to ## Decisions → 2,637 B

The motivation was measured before any code was written: ## Session Log is 38–82% of every project page, bullets average 195 bytes (so the old line-based read budgets misled by ~5×), and partial reads were silent — brief mode showed 3 of 49 session entries with no marker that 46 were missing. That last one is a mechanical cause of confabulation, not a model quirk, and it's what the Map exists to fix.

What's new

  • skills/_shared/digest.md — the contract: scope, the two surfaces, slot order, byte caps, the measured Map, and three write paths — Refresh (session knowledge), Remap (bytes moved, meaning unchanged — rotation, doctor repair), Rebuild (corrective).
  • skills/_shared/escalation.md — a 0–5 lazy-retrieval ladder. Announced from level 2, whole-page reads consent-gated, and rule 7 caps level 3 by hit density so a 51-hit grep can't quietly read 99% of a page.
  • skills/_shared/section-locator.md — rewritten around byte budgets, measure-before-read, a bounded tail-read recipe, and mandatory truncation honesty.
  • brain-load — digest-only brief mode with a complete v0.9.0 fallback · brain-save — refreshes the digest on every save · brain-status — dashboard from a single ripgrep · brain-doctor — 4 new rules (10 → 14) and a guided backfill · brain-init — seeds a digest scaffold.
  • Logseq OG only. OG is in maintenance mode with no API or CLI for file graphs, so storage abstraction, DB plugin API and headless CLI sync are parked under a "DB version (future track)" heading rather than deleted.

Upgrading

Nothing to do. Pages without a digest behave exactly as they did in v0.9.0 and are offered one, never given it uninvited. Digests appear as you load and save; brain-doctor → "backfill digests" does the whole graph in one guided pass if you'd rather not wait.

On the review

The reviews found one recurring defect class — a claim that is not actually measured, or a read that is not actually bounded — about a dozen times. A sample: an unscoped grep counted dated ## Decisions bullets as session entries; the entry pattern missed a real entry form and understated one page's history by 58%; Map: page 0 KB was hardcoded into the new-project template; a tolerance was proportional where the error it guards is constant; and Logseq turns out to write files with no trailing newline, so a wc -l bound dropped every page's last line.

The last review found the pattern behind them: every defect that survived five fix waves was a task-page defect. The test fixture was shaped like the project template rather than like real data, so it validated the happy shape repeatedly and convincingly while the real failures sat in the shape that was never built.

Spec: docs/superpowers/specs/2026-07-25-v0.10.0-design.md

Full changelog: v0.9.0...v0.10.0