Skip to content

Choose a tag to compare

@TomD4vs TomD4vs released this 05 Sep 18:56
· 8 commits to main since this release

Two reports that measure instead of judging, prumo drift and prumo budget, the last two proposals of the audit. No check changed. The JSON schema is 9.

prumo drift: which sections describe code that changed since they were written. For every section of a context file that cites a file or a folder the repository has, the report reads from git blame when the section was last written, counts how many of the files it cites changed after that and how many distinct commits touched them, and lists the sections most moved first. Editing one line moves that section and no other; a line not committed yet makes its section as fresh as now. It is a reading order for a review, never a finding: a section whose files changed forty times may still be right, so the report says where to look and stops there. On a corpus of sixty public repositories with full history, forty-seven of them with context files, it ran in half a second to six seconds each.

prumo budget: what each context file costs, and what is written twice. Bytes, lines, words and tokens estimated at four characters each, largest first; how much each file grew since an earlier commit, the one thirty days ago, the first commit of a younger repository or the REF given with --since; and every paragraph of twelve words or more that appears in more than one place, with each place it is written. On the same corpus it found a skill shipped twice under two hosts' folders with four hundred words repeated, a CLAUDE.md and an AGENTS.md sharing their paragraphs, and one repository whose context grew by seventy-two thousand tokens in seven months.

Both exit 0 whatever they find, take --format json and --json FILE, refuse the options of the check with a message, and are tools of the MCP server as well, prumo_drift and prumo_budget, read only. The package now exports drift() and budget() beside analyze(), and analyze({ collect: true }) returns the citations that reached a file git knows, which is what drift is built from. Every result carries command, check, drift or budget, which is the schema change.

Why they are not checks. A check answers right or wrong for one citation, so a corpus can say how often it is right, and every rule shipped so far was measured that way. A report has no right answer to measure against, so neither of these has a precision number, and neither will; what they have to earn is that the top of the ranking is where a maintainer would have looked first, which shows only with people using them. The design page says the same.

Suite 158 to 168, simulation 126 to 133.