ruleprobe by Jake Selby v0.2.0
GitHub
Researchas of v0.2.0

competitive research: rule-measurement neighbours of ruleprobe

Source
_bmad-output/planning-artifacts/research/competitive-rule-measurement-neighbours-of-ruleprobe-2026-09-23/research.md
Release
v0.2.0

Decision this research serves: how ruleprobe positions against the projects that now measure rule compliance from coding-agent transcripts, and what its 0.2 must contain to hold a defensible position.

Executive summary

Verdict: ruleprobe cannot claim to be the first tool that measures rule compliance from transcripts; its defensible position is cross-runtime, deterministic, evidence-quoting measurement, and its 0.2 must ship a Codex rollout reader to own the one lane nobody was found in.

  1. The niche is populated, but only on Claude Code. claude-md-doctor (MIT, standard-library Python, local) backtests each CLAUDE.md or AGENTS.md rule against Claude Code transcripts by replaying model-authored matchers deterministically [1]. RuleReceipt does the same job in TypeScript with deterministic checks and an opt-in LLM grader, under a source-available licence that bars competing commercial offerings [2]. Neither reads anything but Claude Code transcripts [1][2].
  2. No one was found measuring rule compliance from Codex rollouts. This is absence of evidence from one import and one targeted search, so it is thin [9]. The nearest first-party move is OpenAI’s Codex Code Review applying AGENTS.md rules to pull-request diffs, which judges the output, not the session [31].
  3. The literature backs deterministic-first measurement. Two independent preprints recommend deterministic verification with any LLM judge demoted to advisor [26][27], and the largest controlled study found file structure has no detectable effect while compliance falls with each additional function the agent writes [22].

Biggest caveat: absorption risk is real but unshipped. Langfuse and LangSmith already ingest both Claude Code and Codex transcripts [17][19], and Anthropic’s /insights already reads local transcripts to suggest rules [15]. None of them was found scoring existing rules, but that is an absence claim that ages in three months.

Offer and feature teardown

  • claude-md-doctor reads CLAUDE.md or AGENTS.md plus Claude Code session transcripts and reports a per-rule backtest of followed, ignored and never-used rules [1]. Its backtest script replays model-authored regex matchers deterministically over sessions, and matcher results are sample-verified before they count [1]. Its README names no transcript format other than Claude Code [1]. Confidence high.
  • RuleReceipt reads Claude Code transcripts with the rule file, checks git commands and file operations deterministically, and reports judgment rules as UNCLEAR unless the opt-in --llm flag grades them with the user’s own key [2]. Its plain check makes no network calls [2]. Confidence high. Its author also parsed 559 public CLAUDE.md files and titled the finding as most of their content not being rules [3] (low, title only).
  • Prospective LLM-scored testers. Marketplace Claude Code skills generate test scenarios from CLAUDE.md and score them with an LLM, which is test generation rather than transcript replay [4] (low, search snippet).
  • Static rule tooling does not measure behaviour. agnix lints CLAUDE.md, AGENTS.md, SKILL.md and other agents’ formats with 456 claimed rules and does not read transcripts [11] (high). ctxlint lints context files statically and its session mode only looks for loops and repeated commands [10] (medium, unverified). rulesync converts rule files across agents [12] (medium, unverified).
  • Transcript analyzers measure spend, not rules. ccusage reads Claude Code, Codex and many other agents’ logs for tokens and cost [6], and analyzers and browsers such as cc-analyzer, Agent Sessions and codex-usage-analyzer report tools, tokens or history with no rule-compliance output [7][8][9] (medium, unverified).

Pricing and packaging

  • No neighbour was found charging. claude-md-doctor is MIT and local with no dependencies claimed [1]; agnix is MIT OR Apache-2.0 [11]; RuleReceipt is source-available, not open source, and bars competing commercial offerings [2]. Confidence high for all three.
  • Packaging therefore differentiates only against RuleReceipt; against claude-md-doctor, licence and install footprint are parity.

Positioning and messaging

  • claude-md-doctor frames itself against /insights and rule-writing helpers: those answer what you should write, it answers whether what you already wrote is doing anything [1] (medium; a competitor’s framing of a first party).
  • A secondary post claims CLAUDE.md rules reach about 0% compliance for anything the agent would not do anyway [5] (low, unverified). This is the market story every neighbour sells into.

Trajectory

  • Thin. claude-md-doctor showed 38 stars and RuleReceipt 2 stars with about 240 commits on 2026-09-23 [1][2] (medium, single observation). agnix, a static linter, showed 421 stars [11]. No funding, hiring or release-cadence signal was gathered. The niche is occupied but not won.

Absorption risk from platforms

  • Anthropic’s OpenTelemetry export carries usage metrics and activity events and no instruction-adherence signal [13] (high, primary docs). Its analytics report sessions, lines, commits and accept rates with no compliance measure [14] (medium, unverified).
  • /insights reads the last 30 days of local transcripts and produces a report with friction analysis and suggested CLAUDE.md additions [15][16] (medium; secondary blogs only, as the Anthropic commands page fetched this run had no /insights entry). No source shows it scoring existing rules [15] (low, absence).
  • Langfuse’s Claude Code integration reads transcript JSONL on every Stop hook and points to Codex, Copilot and Cursor coverage, with no rule evaluator shipped [17] (high). The import reports a Langfuse page saying loaded CLAUDE.md and skills context is not readable by its hooks [18]; the page fetched this run did not carry that sentence, so it stays unverified.
  • LangSmith traces Claude Code, Codex, Cursor and others with no instruction-compliance metric found [19], and generic eval vendors were found offering custom scorers but no packaged instruction-adherence evaluator [20] (low, absence from vendor comparison pages).

Academic literature (secondary dimension)

  • Deterministic first, judge as advisor. A preprint on LLM adherence auditing found judges agreeing on verdicts while their cited reasoning was unstable, and recommends code for deterministically verifiable logic and LLM judges only for semantics [26] (high, abstract read). A September 2026 preprint independently argues the judge should be an advisor behind a deterministic layer it cannot override [27] (high). These are two labs agreeing, which meets the pack’s two-source bar.
  • What moves compliance. A factorial preprint over 1,650 Claude Code sessions and 16,050 function-level observations found no detectable effect of file size, placement, design or conflicts after correction, and about 5.6% lower compliance odds per additional function generated (OR 0.944) [22] (high, abstract read). The import calls its scoring deterministic; the abstract does not say, so that detail is unverified [22].
  • Compliance is low and must be measured from behaviour. Preprints report agents opening contribution-policy files in 3.5% of runs [21], 0% process-instruction compliance under default framing across 2,031 sessions [25], a gap between task solving and checklist compliance [23], and low strict pass rates on handbook-following tasks [24] (medium, unverified, one lab each).
  • Outcome studies are a different question. Context files did not improve task success and raised cost in one preprint [28], with counterpoints reporting gains [29]; neither measures rule adherence (medium, unverified). MAC-Bench applies the same deterministic-oracle pattern to non-coding trajectories [30], and a ZORO preprint on active rules for coding was seen by title only [32].

Cross-dimension insights

  • Licence and capability point the same way. The closest capability match is also the most permissive [1], so ruleprobe’s differentiation cannot be licence or locality; it has to be a capability claude-md-doctor lacks.
  • The platforms have the data but not the rules. Langfuse and LangSmith hold both Claude Code and Codex transcripts [17][19] but ship no rule evaluator, and if the Langfuse loaded-context claim holds [18], they also lack the rule text a verdict needs. A local tool that reads the rule file and the transcript together has a structural edge until that changes; this rests partly on an unverified claim.
  • The literature and the neighbours converge. Both neighbours already use deterministic checks with optional model help [1][2], which is what the literature recommends [26][27]. Deterministic-first is table stakes, not a differentiator.

Recommendations

  1. Bound the novelty claim (PRD, differentiation). Do not claim first or only transcript-based rule measurement; claude-md-doctor and RuleReceipt disprove it [1][2] (high). Claim cross-runtime measurement over Claude Code and Codex, stated as “no other tool found as of 2026-09-23” because the Codex gap rests on absence of evidence [9] (low).
  2. Ship a Codex rollout reader in 0.2 (architecture, constraint). It is the one lane no neighbour was found in [1][2][9], and platforms already ingest Codex, so the window is time-bound [17][19] (medium, partly absence-based).
  3. Keep verdicts deterministic and quote the evidence; make any model judgment advisory and separable (architecture, constraint). Two independent preprints support this [26][27] and both neighbours already do it [1][2], so this is parity required to be credible, not the pitch (high).
  4. Report compliance against in-session position, not file structure (PRD, differentiation). The strongest controlled result says structure has no detectable effect and position does [22] (high for the finding; the study is a single preprint).
  5. List claude-md-doctor, RuleReceipt, /insights and Codex Code Review as the named alternatives (product brief, alternatives), with /insights and Codex Code Review as the first-party absorption paths [15][31] (medium and low respectively).

Project note, added after synthesis. The research firewall kept the ruleprobe code out of this run, so recommendation 2 was written without knowing that ruleprobe 0.1.0 already reads Codex rollouts beside Claude Code transcripts (ruleprobe/readers/codex.py, released 2026-09-22). The recommendation is therefore already met. What it implies for 0.2 is to lead with the two-runtime reading in the claim, and to add a third reader so the lead does not rest on one runtime the platforms already ingest [17][19].

Open questions

  1. Does claude-md-doctor or RuleReceipt plan Codex support? Read their issue trackers and changelogs.
  2. Does /insights score existing rules? Find Anthropic’s own page for the command.
  3. Does Langfuse state that loaded context is unreadable by its hooks? Fetch its coding-agent tracing guide [18].
  4. What do users of either neighbour praise or complain about? No customer voice was gathered; a user-voice pass would answer it.
  5. Did the factorial study [22] score compliance deterministically? Read the full paper’s method section.
  6. Does Codex Code Review ever read session behaviour, or only diffs [31]? Fetch the OpenAI post.
  7. Is there any Codex-rollout rule-compliance tool the searches missed? A targeted Run on the Codex ecosystem would close or confirm the gap.

Source appendix

nClaim or finding it supportsPublisherPub dateAccessedConfidence
1claude-md-doctor capability, licence, stars, positioningagent-clinic (GitHub)live page2026-09-23high
2RuleReceipt capability, licence, starsrulereceipt (GitHub)live page2026-09-23high
3559 public CLAUDE.md files parseddev.to (RuleReceipt author)n/v2026-09-23low
4LLM-scored prospective compliance skillsMCP Marketn/v2026-09-23low
5About 0% compliance claimdev.to (independent author)n/v2026-09-23low
6ccusage reads many agents for cost onlyccusage (GitHub)n/v2026-09-23medium
7Analyzers report spend and tools, not rulesyorch (GitHub)n/v2026-09-23medium
8Cross-agent session browser, no rulesjazzyalex (GitHub)n/v2026-09-23medium
9Codex analyzer without compliance; Codex gapdaguix (GitHub)n/v2026-09-23low
10ctxlint static onlyYawLabs (GitHub)n/v2026-09-23medium
11agnix static linter, no transcriptsagent-sh (GitHub)live page2026-09-23high
12rulesync converts rules onlydyoshikawa (GitHub)n/v2026-09-23medium
13OTel export has no adherence signalAnthropiclive page2026-09-23high
14Analytics have no compliance measureAnthropicn/v2026-09-23medium
15/insights suggests rules; no scoring foundNate Meyvis (blog)n/v2026-09-23medium
16/insights corroborationVincent Qiao (blog)n/v2026-09-23medium
17Langfuse reads transcripts, no rule evaluatorLangfuselive page2026-09-23high
18Langfuse loaded-context claimLangfusen/v2026-09-23low
19LangSmith traces agents, no compliance metricLangChainn/v2026-09-23medium
20No packaged adherence evaluator in eval vendorsBraintrustn/v2026-09-23low
21Contribution-rule compliance, hybrid methodarXiv 2607.26819 (preprint)2026-07-292026-09-23medium
22File structure no effect; per-function declinearXiv 2605.10039 (preprint)2026-05-112026-09-23high
23OctoBench checklist compliance gaparXiv 2601.10343 (preprint)2026-01-152026-09-23medium
24HANDBOOK.md handbook-following tasksarXiv 2607.25398 (preprint)2026-072026-09-23medium
25Compliance Gap, measure from behaviourarXiv 2605.01771 (preprint)2026-05-032026-09-23medium
26Deterministic code for verifiable logicarXiv 2601.11783 (preprint)2026-01-162026-09-23high
27Judge as advisor behind deterministic layerarXiv 2609.02246 (preprint)2026-09-022026-09-23high
28Context files and task successarXiv 2602.11988 (preprint)2026-022026-09-23medium
29Counterpoint on context filesarXiv 2607.27250 (preprint)2026-072026-09-23medium
30Deterministic rules over trajectories, non-codingarXiv 2606.07805 (preprint)2026-062026-09-23medium
31Codex Code Review applies AGENTS.md rules to diffsOpenAIn/v2026-09-23low
32ZORO active rules, title onlyarXiv 2604.15625 (preprint)2026-042026-09-23low

Staleness map

Computed with recon_kit.py staleness on 2026-09-23 using the competitive pack’s bars (features, packaging, positioning and absence claims 3 months; traction 6 months; sentiment 12 months) and the academic pack’s ML bar (6 months). Undated and live pages take the access date.

  • Already stale: OctoBench [23] (re-check 2026-07-15), the Evaluating AGENTS.md preprint [28] (2026-08-01) and the Stability Trap preprint [26] (2026-07-16). Check whether each has been superseded.
  • 2026-10-01: ZORO [32].
  • 2026-11-03 to 2026-11-11: the Compliance Gap [25] and the factorial study [22].
  • 2026-12-01: MAC-Bench [30].
  • 2026-12-23: every capability, licence, positioning and absence claim, including the Codex gap [9], /insights [15], Langfuse [17][18], OTel [13] and both neighbours’ features [1][2]. This is the date that matters most for the decision.
  • 2027-01-29 to 2027-03-23: the contribution-rules preprint [21], the judge-as-advisor preprint [27] and both neighbours’ star counts [1][2].
  • 2027-09-23: the 0% compliance blog [5].

Earliest re-check: 2026-07-15, already past.

Reviews, digests and validation reports for this document stay on GitHub, in _bmad-output/planning-artifacts/research/competitive-rule-measurement-neighbours-of-ruleprobe-2026-09-23 at v0.2.0.

↑↓ move↵ openPagefind · indexed at build