Skip to content

v0.4.3 — coverage

Choose a tag to compare

@fayzan123 fayzan123 released this 23 Aug 17:38
· 40 commits to master since this release

"Nothing went wrong" and "I could not read part of this" used to look identical.

  • Coverage. Every adapter now counts what it examined alongside what it could not read, surfaced as meta.coverage = {records, unrecognized, sourcesUnread}. A new src/coverage.js is the single classifier (no imports, like find.js), so the strip badge on the canvas and the note on the MCP read tools fire on exactly the same verdicts. Loud drift (< 75% read and ≥ 25 unrecognized records) leads the signal strip; quiet drift sits inline; both are sticky and undismissable. The inspector always shows records N / N.
  • Why now: a new Claude Code record type (atis-latch) had silently pushed 14 recent sessions to 4–6% unread with an empty signal strip. It is now recognized by shape, so a future version that populates the field cannot be swallowed.
  • Thresholds are calibrated against 224 runs / 129k records; the fixture corpus gains two drift runs, and the clean run now asserts zero unread records.
  • Docs: the MCP agent loop is documented for clients beyond Claude Code; the sharing section of the site explains what a bundle is for.