phase10: control-record corrections — symbol count 380 (not 392); record empty-merge pipeline pre-validation
This commit is contained in:
@@ -38,7 +38,7 @@ Revalidated at head `25bf4a3` (the Phase 9 closure commit), before any Phase 10
|
||||
| `make check` (test + extents-verify + gate) | exit 0; `regions=409 disagreements=0 result=AGREE`; `c_regions=409 differing_bytes=0 result=MATCH` |
|
||||
| Rebuilt/original SHA-1 | `e173426c157384ebf1b6caf8c6fea18a85a14af9` (both) |
|
||||
| Synthetic suite | 229 tests, `OK` |
|
||||
| Registry | **409 regions / 400 distinct bodies** / 392 symbols |
|
||||
| Registry | **409 regions / 400 distinct bodies** / 380 symbols |
|
||||
| Firewall | 0 tracked paths under any prohibited root (506 tracked files) |
|
||||
|
||||
## Worklist state (regenerated at P10-T1)
|
||||
@@ -74,6 +74,23 @@ The exclusion arithmetic now reconciles exactly. Of the 139 unregistered negativ
|
||||
`delay_slot_start=1` + 6 with no derived extent (never candidates) = 139, and **0 survive into
|
||||
the worklist**.
|
||||
|
||||
## Merge-pipeline pre-validation (P10-T1)
|
||||
|
||||
Before any claim existed, the full merge path was exercised end-to-end with an
|
||||
**empty** claim set to prove the machinery cannot surprise the coordinator when
|
||||
real claims arrive:
|
||||
|
||||
```
|
||||
sf3_merge apply --exe 'extracted/SCUS_946.40;1' --extents config/function_extents.tsv \
|
||||
--regions config/regions.tsv --claims <empty> --symbols config/symbols.tsv \
|
||||
--out-regions ... --out-symbols ...
|
||||
```
|
||||
|
||||
Result: `rejected=0 added_regions=0 added_symbols=0 regions_total=409
|
||||
symbols_total=380 result=MERGED`, and both candidate files are **byte-identical**
|
||||
to the tracked registry and symbol file. So an empty merge is a no-op and the
|
||||
candidate-gate-before-promote step is wired correctly for this phase.
|
||||
|
||||
## Partitions (P10-T1)
|
||||
|
||||
3-way, generated by interleaving worklist ranks (tier mix preserved by construction). Files under
|
||||
|
||||
@@ -18,7 +18,7 @@ operational contract, which Phase 10 inherits verbatim).
|
||||
| whole-binary gate | `c_regions=409 differing_bytes=0 result=MATCH` |
|
||||
| SHA-1 (both files) | `e173426c157384ebf1b6caf8c6fea18a85a14af9` |
|
||||
| synthetic suite | 229 tests, `OK` |
|
||||
| registry | 409 regions / 400 distinct bodies / 392 symbols |
|
||||
| registry | 409 regions / 400 distinct bodies / 380 symbols |
|
||||
| firewall | 0 tracked paths under any prohibited root (506 tracked files) |
|
||||
|
||||
**Session probing.** Three fresh sessions were live in the repository. All three
|
||||
@@ -66,6 +66,14 @@ derived extent (never candidates) = 139, and **0 survivors** into the worklist.
|
||||
pairwise intersections 0/0/0 and union == the 1343-row worklist (proved at
|
||||
generation). Files under `.run/p10/` (ignored).
|
||||
|
||||
**Merge-pipeline pre-validation.** With no claims yet, the full merge path was
|
||||
exercised end-to-end against an empty claim set: `rejected=0 added_regions=0
|
||||
added_symbols=0 regions_total=409 symbols_total=380 result=MERGED`, and both
|
||||
candidate files came out byte-identical to the tracked registry and symbol file.
|
||||
An empty merge is therefore a no-op and the candidate-gate-before-promote step is
|
||||
wired correctly for this phase. (This also corrected a coordinator miscount: the
|
||||
symbol registry holds 380 rows under 13 comment lines, not 392.)
|
||||
|
||||
**Control-record commit:** `0557281`.
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user