2.5 KiB
§390 ★★★ — MINIMUM DISTANCE IS NOT MINIMUM WORK; RANK TWIN CANDIDATES BY EFFORT, AND FILTER LOOKALIKES BY RATIO (P31 S69; byte-proven ov_SC01_077/func_80184D50, banked)
The measurement. The near tier offered two banked candidates for one open stub:
| candidate | distance | what it costs a human |
|---|---|---|
ov_SC03_006:0x8018b868 |
d=5 — 5 scattered SUBSTITUTIONS | rewrite an expression: real thought |
ov_SC03_007:func_8018283C |
d≈6 — ONE contiguous block absent | copy the C, delete one statement |
Edit distance ranked the substitution twin first, because 5 < 6. The deletion twin was the strictly
cheaper answer and it banked: copy func_8018283C's body, drop its trailing
*(s32 *)(...) &= 0x7FFFFFFF;, rename, match_one -> MATCH, closeness 0, 98/98 ins.
The law. A deletion is free and a substitution is thought. Distance counts moved instructions;
it does not count the reasoning needed to convert one body into another. Rank by
(substitutions + regions, coverage), never by raw d — seed_ref --contained does; --near does
not, by design (it is the recall tier).
The companion filter — LOOKALIKES. A widened band promotes coincidence. Of 30 NEAR-COUSIN rows, only 13 were true cousins; the other 17 were boilerplate lookalikes. They separate cleanly on
r = d / min(nins) true cousins r <= 0.27 lookalikes r >= 0.37
Anything at r >= ~0.3 is two functions that merely share prologue/epilogue/dispatch shape. Never send one to an agent as a "twin" — a wrong twin is worse than no twin, because the agent trusts it.
THE MECHANICAL FRONTIER PAST RELOC-ONLY IS SINGLE DIGITS — three fleet-wide nulls, all controlled:
| probe | scope | result |
|---|---|---|
| skeleton join (opcodes+registers, immediates dropped) | 91,638 banked × 352 open | 0 new — hits are exactly the 46 known same-length twins. The "same shape, different constants" class DOES NOT EXIST in this corpus |
| contained / block-indel (± whole blocks, any gap) | fleet | 9 usable, 4 previously invisible; 89% of raw hits were prologue/epilogue vacuity until a min-side-25 floor was applied |
| past-the-cap cousins (d26-45, ≤30% drift, ≥100 ins) | 178 pairs | 2 — both replace-heavy seeded cracks |
Conclusion, and it is a spending decision: after RELOC-ONLY (§389) the scanner well is dry. Further similarity tooling buys single digits; the integration levers (§376/§378) bought dozens in the same session. Spend integration effort, not scanner effort, from here.