2.3 KiB
P3-S25.1C — CHUNK-SIZE INVARIANCE
Date : 2026-08-28
Phase : P3-S25.1C
Status : PASS - CHUNK-SIZE INVARIANCE VERIFIED
Invariant under test
same source
+ same parser
+ same aggregator
+ same initial state
+ different chunk boundaries
= same semantic output
Test definition (output/chunk_size_invariance.json)
For the SAME byte range [75,497,639 -> 113,246,416) (37,748,777 bytes,
chunks 6-8) we compared:
- a single-stream reference (entire range processed as ONE chunk), and
- the range chunked into 12 / 24 / 48 / 64 MiB line-safe chunks.
Each config was seeded from a FRESH deep copy of the same initial carry (carry isolation - no cross-config mutation).
Required to be identical across ALL configurations:
rows_processed, malformed counts, first/last timestamp,
M15 count, M15 hash, M30 count, M30 hash, output hash,
final carry hash
Result
reference : rows=844772 M15=3959 M30=2112
output_hash=0ddefa471d259d0c329bfe302274674b12f2cc80287403fae575e167cf3e63a8
final_carry_hash=5a70c058e0cf7eff28a50e95a19d8ba6c3269187578ce91a789a9adfb1ae47a1
12 MiB (3 chunks) : identical (differences_vs_reference == {})
24 MiB (2 chunks) : identical (differences_vs_reference == {})
48 MiB (1 chunk) : identical (differences_vs_reference == {})
64 MiB (1 chunk) : identical (differences_vs_reference == {})
chunk_size_invariant : true
All configurations are byte-identical to the single-stream reference for the full invariance signature. No carry contamination and no boundary-dependent semantics were observed.
Production end-to-end oracle
The 12 MiB config reproduces the committed production chunk 6+7+8 cumulative output exactly:
expected rows 844772 -> actual 844772 (281662+281576+281534)
expected M15 3959 -> actual 3959 (1279+1320+1360)
expected M30 2112 -> actual 2112 (673+707+732)
production_cross_check.ok : true
This binds the disposable benchmark engine to the same semantics as the real run that produced the committed evidence.
Conclusion
Chunk boundaries do NOT change semantic output. The chunk size is computationally invariant under this parser/aggregator/carry/hash regime, so the chunk size is NOT part of the business semantics. Safe to increase the chunk size under these verification results.