Отслеживать
1
0
Ответвление
У вас уже есть ответвление SniperGold_ML
1
ответвлён от chiki2bum2/SniperGold_ML
SniperGold_ML/docs/P3_S25_1C_CHUNK_INVARIANCE.md

78 строки
2,3 КиБ
Markdown

# P3-S25.1C — CHUNK-SIZE INVARIANCE
```text
Date : 2026-08-28
Phase : P3-S25.1C
Status : PASS - CHUNK-SIZE INVARIANCE VERIFIED
```
## Invariant under test
```text
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:
```text
rows_processed, malformed counts, first/last timestamp,
M15 count, M15 hash, M30 count, M30 hash, output hash,
final carry hash
```
## Result
```text
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:
```text
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.