Private carried parser phase accounting
Source fa7a980418 is pushed and ref-verified
on codex/analysis-carried-phase-956atf-20260925. It implements the limited
carried-phase contract.
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 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, test review and the
independent oracle 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 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 contains 53 members, 458,509 bytes, SHA256
2eca143b706458c1c0217af715fa6f17c01a0b9f85a5313d6a231dabe1aba7c9.
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:
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 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.