Skip to content

the honest ruler

Choose a tag to compare

@AngelVRodC AngelVRodC released this 08 Sep 04:04
· 32 commits to main since this release

Five measured defects fixed — every one found by weighing the corpus, not by reading release notes.

The headline: attachment bytes now measure the attachment, not the envelope. v0.3.0 counted each attachment record's whole JSONL line — uuid, timestamps, cwd, even a duplicated rendered field. Measured over 25,888 attachment events: 1.44× aggregate inflation, 30.5% of what tare reported was record envelope, not context. Worst type: output_style at 12.9×. v0.4.0 measures the attachment object's own payload. On the same corpus the total drops from 92.9 MB to 64.4 MB.

Also fixed:

  • skill_listing per-skill keys — the parser cut bullets at the first colon, so plugin-namespaced skills (desplega:brainstorm, frontend:*, …) never matched and their bytes landed on the plain-named skill above them. 60% of skill-listing bytes sat on the wrong key (sdd-verify reported 5.17 MB; truth: 21.7 kB). Now matched by longest prefix against the declared names.
  • Cache-read cost — the 0.1× weight was a constant, but Claude Fable 5.1 / Mythos 5.1 price cache reads at 0.025×. Session-model dollar totals stay pinned to the measured bill; only the intra-session split was wrong, 4× over-weighting cache reads on the 3rd-most-common model in the corpus.
  • instructions attachments (the CLAUDE.md/AGENTS.md chain — the largest keyed-opportunity attachment type) now attribute per file path under a new instruction_file dimension.
  • deferred_tools_record — the initial full tool catalogue — now attributes by entries[].name under mcp_tool, closing the asymmetry with its _delta sibling.

Meaning shift, said out loud: every attachment share printed before this release was measured in the inflated unit. They are superseded, not diffable. The README's example report is regenerated with v0.4.0: attachments measure 64.4 MB / 19.3% of the corpus where v0.3.0's ruler said 24.8%.

Bonus: this release's research also checked Anthropic's "~100 tokens per Skill" claim against measured corpus data. It holds — median ~60 estimated tokens per skill per listing (p90 ~72), whole listing ~7.5k tokens, re-injections 1.1% of listing bytes. Analysis in thoughts/angel/research/2026-09-07-skill-token-claim-check.md.

190 tests, zero dependencies, stdlib only. TestReportReproducible, TestValidateRejects and TestReportMarkdownVariesOnlyByTimestamp all green.