assay

Supporting data: DRY consistency experiment

These details support the case study. The full experiment record is in experiments/consistency_pilot/dry-experiment.md.

Method

Arms. Each subject has two arms:

Nothing else differs between the arms. That includes the helper, the target file and the instruction.

Calls. The model gets the instruction and the repository in a single provider call per cell.

Verdicts. Each output gets two verdicts:

Grid and statistics.

Real-code subjects. The 11 subjects come from three slices, each copied unchanged from a pinned commit:

Family Slice Helpers
jig-llm jig llm adapters, 5fa9c01 parse_tool_arguments, wrap_llm_error, merge_completion_kwargs, stamp_cost
jig-feedback jig graders and tracers, 5fa9c01 strip_markdown_fence, validate_scores, parse_aware_utc
scout-platforms scout platform adapters, ee8c901 derive_source_key, source_since, parse_platform_ts, parse_retry_after

Reproducing a run.

cd experiments && uv run --env-file ../.env python -m consistency_pilot.run_dry \
    gpt-6.1-sol ../.assay/dry-codebase-near-gpt-6.1-sol-v1 codebase-near

Stored outputs can be rescored offline, without any model calls.

Synthetic dose results

Reused / duplicated cells out of 24, for 12 subjects × 2 repeats:

Inline callers Sol Sonnet Gemini Haiku 4.5
0 of 10 24 / 0 23 / 0 21 / 2 15 / 6
1 of 10 24 / 0 23 / 0 20 / 4 10 / 10
3 of 10 22 / 2 24 / 0 17 / 6 14 / 9
5 of 10 20 / 4 21 / 0 15 / 8 11 / 10
7 of 10 24 / 0 23 / 0 15 / 9 10 / 11
10 of 10 2 / 22 14 / 9 0 / 23 2 / 19

Other synthetic variants:

What duplication costs

These are standard tools run on 988 synthetic frontier outputs: 788 reused and 200 duplicated. Each figure is the mean change per output.

Metric Reused Duplicated
SLOC (radon) 2.4 6.3
Cyclomatic complexity (radon) 1.0 2.2
Cognitive complexity (complexipy) 0 1.2
Halstead volume (radon) 11 41
New duplicated lines (jscpd) 0.05 3.4

Real code, same-file variant by subject

Reused cells out of 2, as clean / inconsistent:

Subject Haiku 4.5 Gemini Luna Sol
tool-args 1 / 2 2 / 2 2 / 2 2 / 2
llm-error 0 / 1 2 / 2 2 / 2 2 / 2
request-kwargs 0 / 0 0 / 0 0 / 0 0 / 0
usage-cost 0 / 0 0 / 0 2 / 0 2 / 0
judge-reply 2 / 2 2 / 2 2 / 2 2 / 2
judge-scores 0 / 0 1 / 0 0 / 0 ambiguous
span-time 0 / 0 2 / 2 2 / 2 2 / 2
source-key 0 / 0 0 / 0 2 / 1 2 / 2
source-boundary 1 / 2 0 / 0 1 / 2 2 / 2
status-time 2 / 2 2 / 2 2 / 2 2 / 2
retry-delay 0 / 0 2 / 2 2 / 2 2 / 2

Correctness and cost

Run Haiku 4.5 Gemini 3.1 Pro GPT-6 Luna GPT-6.1 Sol
Imports the helper 8 of 9 per arm — 11 of 11 11 of 11
Same-file neighbour 7 of 10 per arm 10 of 11 11 of 11 11 of 11
Cost per 44-cell run about $2 $4–5 $0.12 $2.28

Limits