phase11: cookbook 169 + sf3_family bug fix — 0.96-0.99 is idiom noise, CONFIRMED by raw-word diff
Worker A calibrated sf3_family by checking two 0.97 entries and finding neither shared its sibling's body. I have now confirmed that on eight candidates by raw-word diff, which is the decisive test: 0x8006EBA0 vs 0x80028CE0 differs in 60 of 61 words; 0x800FFFEC vs 0x8007E8B8 in 18 of 19; 0x8005E17C vs 0x800FB54C in 25 of 26. Contrast the genuine sibling 0x800F3DC0 vs 0x800F3E18: 1 of 22 words. So a high cosine with ratio 1.00 is NOT evidence of a shared body -- at 0.96-0.99 the histogram matches common IDIOMS. The useful band is ratio 1.000 AND a near-zero raw-word diff. Tool bug fixed: sf3_family did not exclude already-claimed rows, so its top hit was a row matching ITSELF. The registry is now the authority and claimed rows are skipped.
This commit is contained in:
@@ -2744,3 +2744,26 @@ two `move`s (one in the 2nd call's delay slot, one in the 3rd's) then `addu s0,s
|
||||
|
||||
Same family as findings 156 and 157: **a chained accumulation is not the same source as three named
|
||||
results summed.**
|
||||
|
||||
### 169. Worker A's family calibration CONFIRMED AT SCALE — 0.96–0.99 is idiom noise (coordinator)
|
||||
|
||||
Worker A calibrated `sf3_family` by checking two 0.97-scoring entries and finding neither shared its
|
||||
sibling's body. **I have now confirmed that on eight candidates by raw-word diff**, which is the
|
||||
decisive test:
|
||||
|
||||
| candidate | sibling | words | **differing words** |
|
||||
|---|---|---|---|
|
||||
| `0x8006EBA0` | `0x80028CE0` | 61 | **60** |
|
||||
| `0x800FFFEC` | `0x8007E8B8` | 19 | **18** |
|
||||
| `0x8005E17C` | `0x800FB54C` | 26 | **25** |
|
||||
|
||||
**A high cosine with a size ratio of 1.00 is not evidence of a shared body** — at 0.96–0.99 the
|
||||
histogram is matching common **idioms**, exactly as worker A said. Contrast the genuine siblings:
|
||||
`0x800F3DC0` vs `0x800F3E18` differs in **1 of 22 words** (finding 166).
|
||||
|
||||
> **The useful band is ratio 1.000 AND a near-zero raw-word diff.** Check the words, not the score —
|
||||
> it is one cheap computation and it is the difference between a copy-and-rename and a full
|
||||
> derivation.
|
||||
|
||||
**Tool bug fixed:** `sf3_family` did not exclude already-claimed rows, so its top hit was a row
|
||||
matching **itself**. The registry is now the authority and claimed rows are skipped.
|
||||
|
||||
+10
-1
@@ -119,8 +119,15 @@ def main(argv: list[str]) -> int:
|
||||
|
||||
payload = EXE.read_bytes()
|
||||
|
||||
claimed = read_regions(REGIONS)
|
||||
claimed_ranges = [(s, e) for s, e, _ in claimed]
|
||||
claimed_starts = {s for s, _, _ in claimed}
|
||||
|
||||
def is_claimed(addr: int) -> bool:
|
||||
return addr in claimed_starts or any(s < addr < e for s, e in claimed_ranges)
|
||||
|
||||
matched = []
|
||||
for start, end, source in read_regions(REGIONS):
|
||||
for start, end, source in claimed:
|
||||
words = body_words(payload, start, end)
|
||||
matched.append((start, end, source, histogram(words), end - start))
|
||||
|
||||
@@ -129,6 +136,8 @@ def main(argv: list[str]) -> int:
|
||||
size = end - start
|
||||
if size < min_size or size > max_size:
|
||||
continue
|
||||
if is_claimed(start):
|
||||
continue # already merged -- reporting it is noise (it matched itself)
|
||||
mine = histogram(body_words(payload, start, end))
|
||||
best = None
|
||||
for m_start, m_end, m_source, m_hist, m_size in matched:
|
||||
|
||||
Reference in New Issue
Block a user