Files
ARCADIA-Studio/harness/experiments/analysis-carried-phase-20260925/README.md
T

83 lines
5.0 KiB
Markdown

# Private carried parser phase accounting
Source **fa7a980418ef99d772e67c66c28dfa7b5181f875** is pushed and ref-verified
on `codex/analysis-carried-phase-956atf-20260925`. It implements the limited
[carried-phase contract](../../analysis-carried-phase-contract-20260925.md).
The private path binds the actual source bundle, allocation owner and exact
inherited policy, checks combined logical storage at specified parser phases,
then seeds the existing resolver ledger once. Original parser entry points keep
their prior checkpoints. New constructors remain fixture-only: this is not an
emitter, accepted edited output, public source8 or a published preview change.
Windows gnullvm, rustc/Cargo 1.98.1: **12 new tests pass**, strict core all-target
Clippy passes, and the actual listing contains **258 names**. The full library
remains **FAILED: 242 passed / 16 failed**. All 246 prior outcomes and all 16
failure bodies match the previous checkpoint after normalizing only numeric
thread identifiers. Formatting remains **FAILED**, with the byte-identical
eight inherited diff blocks in five files. Linux/WSL checks were not run.
The [independent runtime review](RUNTIME-REVIEW.md) verifies all 553 declared
inputs against immutable Git and raw working bytes, exact launchers, logs and
the 42,223,104-byte test artifact, SHA256
`c990e77015f2e4535003875abe7d49199cead803ee60677d86cdf056da7d8298`.
[Source review](SOURCE-REVIEW.md), [test review](TEST-REVIEW.md) and the
[independent oracle](CARRIED-PHASE-ORACLE.md) cover exact policy and fresh Usage,
complete OA/SA parity, owned bundle lifetime, once-only retained storage,
multi-file limits, original diagnostic locations and postparse text accounting.
The 78-byte empty source fixture owns 102 source/key/entry bytes and one file
map entry. Its carried syntax cap is 13 entries; complete resolution needs
17 entries / 112 bytes and retains (13 entries, 0 occurrences, 110 text bytes).
The three-file Unicode/CRLF fixture owns (3, 0, 180), needs complete caps
29 / 214, and retains (25, 0, 212). Each cap-minus-one control reaches its
specified real phase. Borrowed carried-zero mode intentionally refuses a
combined syntax total earlier than the unchanged legacy mode. Nonzero carried
occurrences and impossible overflow values are explicitly fault injection,
not claims of real bundle-owned occurrence storage.
The [stack investigation](STACK-DIAGNOSIS.md) preserves an initial full-run
abort at `d11b99bb` after 124 completed passes. Its focused 12 cases had passed;
the existing 128 KiB ordinary-index control then overflowed during parsing.
LLDB reproduced the exact artifact's active numeric parsing path. The repair
transfers policy into the existing Budget/syntax fields and retains a smaller
backing guard, reducing duplicate inline state without adding heap storage.
The final full run completes and all nine prior stack-named controls pass.
Their source, stack allowances and expected behavior were not weakened.
Selected prologues shrink by 1,568 bytes in aggregate; this is not a complete
stack measurement or a universal guarantee. The separate older rename-test
full-pipeline 128 KiB setup observation remains unresolved.
[evidence.zip](evidence.zip) contains **53 members, 458,509 bytes**, SHA256
`2eca143b706458c1c0217af715fa6f17c01a0b9f85a5313d6a231dabe1aba7c9`.
[manifest.json](manifest.json) pins each member. The archive preserves initial
and final gates, exact launchers, debugger/prologue evidence, baseline records,
source patches, contract snapshots and reviews. Eight readable review/checker
files are exact archive mirrors. Historical test executables are identified by
receipts; the initial one was retained locally but is not included in this ZIP.
The toolchain version text is an unchanged earlier capture, not a new probe.
Reproduce the final gates from the identified source with the project Windows
toolchain, one compiler job, `CARGO_INCREMENTAL=0`, and no lifecycle or
RUST_MIN_STACK override:
```text
cargo test --locked --offline -p oa-core --lib -- --list
cargo test --locked --offline -p oa-core --lib language::analysis_source::mixed::carried::tests:: -- --test-threads=1
cargo test --locked --offline -p oa-core --lib -- --test-threads=1
cargo clippy --locked --offline -p oa-core --all-targets -- -D warnings
cargo fmt --all -- --check
```
Replay helpers retain the producing machine's layout and must be read before
reuse. The [readback checker](inspect_runtime.py) verifies recorded evidence
without launching Cargo or the test executable. Receipts bind declared inputs
and recorded environment fields, not exhaustive environment state or
authenticated build provenance. A debugger exit zero after killing its stopped
child is not a passing ordinary test.
This prerequisite counts the established logical auxiliary domain at named
phase boundaries. It neither establishes nor waives stronger parser
before-growth obligations. Output construction, the real consumed-owner
transition, actual-output equality, editing/history/persistence and application
integration remain required work under issue #7.