Run against the current producer corpus, corpus-report recommends:
with the series behind it:
| metric |
first |
peak |
latest |
runs |
shape |
| interpreters |
19 |
28 |
28 |
4 |
holding |
| probes |
5 |
6 |
4 |
4 |
falling |
| raw gh api |
1 |
1 |
0 |
1 |
quiet |
| tarball / harness scaffold / dispatcher source |
0 |
0 |
0 |
0 |
absent |
The count is the prescribed pattern
Across the 4 traces that have tool calls (20260816T170156Z, 20260817T000148Z, 20260817T050103Z, 20260817T110404Z):
total Bash calls 1293
nix develop … -c bash 49
any -c payload naming an interpreter 49
The two are the same 49. CORPUS_INTERPRETERS includes bash and sh, and interpreter_runs deliberately resolves wrappers so bash --norc -c is caught — which means nix develop .#x -c bash -c "…" scores as reaching for an interpreter rather than for a tool.
That shape is what the prompt INSTRUCTS:
forge/cargo/node via nix develop
Command-position interpreters across the same 4 traces are 5 python3 and 4 bash — and at least one of those python3 strings is a call block-python.sh REFUSED, recorded in the trace as an attempt (blocked: Python … This org’s tooling is Rust), not as an invocation.
So the metric’s headline number is ~49 sanctioned toolchain accesses plus a handful of interpreter reaches, most of which the guard already stopped. Acting on BUILD NEXT: interpreters means removing the prescribed way to reach the flake.
Why this matters beyond one wrong line
BUILD NEXT exists so a reader does not have to re-derive the ranking. A recommendation that names the sanctioned path spends a session’s attention on a non-problem, and the corpus’s real message — that probes are falling and tarball / scaffold / dispatcher are absent, i.e. the hand-rolls previous readings targeted are gone — is buried under it.
Suggested fix
Count what the metric is named for: a run reaching for an interpreter INSTEAD of a tool.
- Exclude an interpreter that is the
-c payload of a nix develop / nix shell invocation. That is toolchain access, and it is what the prompt asks for.
- Consider whether
bash/sh belong in the list at all, given a compound shell command is how the harness invokes everything. python/node/ruby/perl/deno are the reaches the issue behind this metric was about.
- A blocked attempt should not count as a hand-roll the tooling failed to absorb — the guard absorbed it. If attempts are worth counting they should be reported as a separate column (refusals are their own cost: the denial sits in context and is re-read every turn), not folded into the same number.
Done when
BUILD NEXT does not name a pattern the prompt prescribes.
- The interpreter count distinguishes toolchain access, a genuine interpreter reach, and a reach the guard refused.
- A test pins each of those three against a fixture trace, since all three are one number today and nothing would show them diverging.
Run against the current producer corpus,
corpus-reportrecommends:with the series behind it:
The count is the prescribed pattern
Across the 4 traces that have tool calls (20260816T170156Z, 20260817T000148Z, 20260817T050103Z, 20260817T110404Z):
The two are the same 49.
CORPUS_INTERPRETERSincludesbashandsh, andinterpreter_runsdeliberately resolves wrappers sobash --norc -cis caught — which meansnix develop .#x -c bash -c "…"scores as reaching for an interpreter rather than for a tool.That shape is what the prompt INSTRUCTS:
Command-position interpreters across the same 4 traces are 5
python3and 4bash— and at least one of thosepython3strings is a callblock-python.shREFUSED, recorded in the trace as an attempt (blocked: Python … This org’s tooling is Rust), not as an invocation.So the metric’s headline number is ~49 sanctioned toolchain accesses plus a handful of interpreter reaches, most of which the guard already stopped. Acting on
BUILD NEXT: interpretersmeans removing the prescribed way to reach the flake.Why this matters beyond one wrong line
BUILD NEXTexists so a reader does not have to re-derive the ranking. A recommendation that names the sanctioned path spends a session’s attention on a non-problem, and the corpus’s real message — that probes are falling and tarball / scaffold / dispatcher are absent, i.e. the hand-rolls previous readings targeted are gone — is buried under it.Suggested fix
Count what the metric is named for: a run reaching for an interpreter INSTEAD of a tool.
-cpayload of anix develop/nix shellinvocation. That is toolchain access, and it is what the prompt asks for.bash/shbelong in the list at all, given a compound shell command is how the harness invokes everything.python/node/ruby/perl/denoare the reaches the issue behind this metric was about.Done when
BUILD NEXTdoes not name a pattern the prompt prescribes.