Files
ARCADIA-Studio/harness/experiments/analysis-output-acceptance-20260925/STACK-OBSERVATIONS.md
T

9.5 KiB

Initial actual-output acceptance — selected Windows prologues

Initial observations are preserved below. The final edf096cd artifact and runtime-control rebind follows in the last section.

This read-only review concerns initial source 4872141c036c16825f1c098bd7cf44709897e814, not a later repaired test artifact. Its focused receipt identifies a 43,060,224-byte executable, SHA256 cba18de5758cac531dd166c95081fdcb390c2ceb295c06e09a26f3aa998e073c. The unoptimized Windows test build completed; the initial focused run failed:9 passed,2 failed, exit101. Both failures were empty-warning assertions in the rich and four-file fixtures. Their independent expectation correction remains separate; this report does not erase those failures or establish final acceptance.

Read the captured JSON disassemblies and capture-helper source without running helpers, disassemblers, compilers or binaries. Final-source rebinding is pending. The helpers verify executable size/hash against the gate receipt before querying symbol addresses and64-byte entry disassembly. Every reviewed record's source/artifact/helper binding and selected address range agrees with its enclosing capture. Baseline is29417130, executable42,898,944 bytes/SHA256 adb0bd907f614c512bc3883dfe9a88ca0e4268638d85f4899ad07a5c1d3ec4e9. Its copied stack/active records equal the original entry checkpoint bytes; the new three-symbol baseline acceptance capture is additional evidence for this checkpoint.

Selected explicit reservation Baseline2941713 Initial4872141
PendingRename::verify absent 8648
carried::parse_entry_producers 536 568
mixed::parse_impl 12888 12888
project::resolve 12072 12072
acceptance::equal_target absent 312
acceptance::warning_inventory absent 776
acceptance::check_destination absent 456

The seven original stack-symbol records and ten active-symbol records have identical selected reservation values versus294. These include parse_with_profile216, parse280, accepted1608, indexed1608, the actual old ordinary-index worker7368 and its distinct test shim56. Parser::unit12456, State::parse_typed6952, declarations::parse22664, binding2520, prefix11720, continuation13416, Exact::parse_decimal2296, Exact::parse_literal952, Budget::exact632 and Cursor::exact_literal776 remain unchanged.

The125-record acceptance capture includes production routines, generic adapters, tests and thread machinery; it is not125 simultaneously live frames. The new deep/wide worker is the nested {closure#0}::{closure#0} at address 0x140ada030, reservation2888, whose capture visibly calls verify. The separate late-refusal worker {closure#1}::{closure#0} reserves792. The56-byte same-named test shim calls the outer test; host scope closures reserve600/552, and the outer test reserves9864. These host routines prepare/spawn work and must not be substituted for, or simply added to, the spawned worker's call stack. Captured40-byte thread vtable adapters are another distinct layer; these observations are not a complete thread-start inventory.

Source and raw results establish five finite128KiB workers inside the passed scoped_small_stack_actual_deep_wide_verification_and_drop test:128-node deep and129-node wide actual-byte verification/drop, corresponding target-only mismatch refusals, and genuine inherited151-byte-profile parser refusal. Authored/indexed/planned/emitted prerequisites are prepared outside each worker. The two successful cases also compare whole expected bytes and models before accepted destruction. This initial focused run does not rerun the ten old stack controls; unchanged prologue values alone do not establish their runtime result at487.

Verify remains on the stack while parsing, then while resolving, then while comparing/checking/transferring. Parse and resolve are sequential phases, and equality/warning/destination checks follow resolution; summing all those bodies as one live chain is wrong. Likewise Pratt prefix and continuation are alternatives. Reported values are explicit entry stack reservations, excluding other pushes, ABI/caller overhead, uncaptured callees and runtime effects. They are neither a measured stack trace nor a total headroom bound or universal128KiB guarantee.64-byte captures can cross a symbol boundary: for example AcceptedRename::bundle has no explicit subtraction before returning, while the following policy symbol reserves168. Read each named symbol's own body rather than taking an arbitrary later immediate.

Evidence in .local/analysis-output-acceptance-gates-20260925:

File SHA256
acceptance-focused-4872141-1.acceptance-frames.json e1f1fceaba2a2f8371777966457dbcbd0e20aaad497fdaa3e0b88adcaeaccdab
acceptance-focused-4872141-1.stack-frames.json 8d8711560725d91d2646b3ccd96188844e46a2b6de74f94ab680a029c60ee072
acceptance-focused-4872141-1.active-frames.json 2563e8b8f0a1aa0957995f2997e9abab2da3894fa2765a4503bd45019be3f2b8
prior-2941713.acceptance-frames.json e4e5d4aedc946cf27b5b1c7715f12540998a376642279f7a8042966788cf6c4d
acceptance-focused-4872141-1.result.json ff17f718a831784334443438ff444f6cc441a96ddd896fb1afd8e5602d9ed21a
acceptance-focused-4872141-1.log b26d046e8b6284b5080ecbd6486c04f5556e1866292d5ac52f27893e69906371

Final artifact and controls — edf096cd

Independently rebound to final source edf096cd33350865ecfc3c65ec266a6c0d3c4000, artifact 43,066,880 bytes, SHA256 7bc17993f265bdf7dc79b7ea5191401dd853f1dd47517235663113e4571031bb. The current executable bytes were independently reread and matched this identity without execution. Final focused/full receipts and all three final frame captures bind the same source/artifact. Their helper hashes and every recorded symbol/address range agree. This supplements the initial487 artifact; it does not replace its nine-pass/two-failure history.

All17 original stack/active selected reservations match both487 and294. Within the acceptance capture, all125 initial records' symbol identities remain represented; the only changed existing explicit reservations are the two corrected ordinary-harness tests: four-file7016→7384 (+368) and rich6312→6760 (+448). Ten added records belong to the new expected-warning helper and its array-map adapters. The final135 records therefore do not signify ten added production frames. All seven production reservations in the table remain unchanged from487: verify8648, combined route568, parse_impl12888, resolve12072, equal_target312, warning_inventory776 and destination456. The route remains32 bytes larger than294's536. The new actual worker2888, late-refusal worker792, host/test closures and shim retain their initial values. Extraction was restricted to each first named symbol body, avoiding the neighboring-symbol issue above.

Final focused raw output and receipt agree on 11/11 passed, exit0. Final full raw output/receipt agree on292 unique outcomes: 276 passed/16 failed, exit101. The final full run includes the new scoped acceptance control as passed. To verify the inherited controls, matched these exact names from the actual294 baseline listing and full log to the final full raw log and receipt; all ten remain ok:

language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack
language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack
language::analysis_source::mixed::project::ordinary_index::rename::emission::tests::scoped_small_stack_changed_unchanged_and_failure_drop
language::analysis_source::mixed::project::ordinary_index::rename::tests::deep_and_wide_equality_and_late_refusal_drop_on_small_stack
language::analysis_source::mixed::project::ordinary_index::tests::small_stack_success_and_late_header_failure_leave_no_partial_owner
language::analysis_source::mixed::project::tests::index_tests::success_and_late_failure_drop_on_small_stack
language::analysis_source::mixed::project::tests::inherited_storage_failure_and_success_drop_deep_syntax_on_128k_stack
language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack
language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack
language::nesting_tests::deep_declaration_parsing_and_positions_use_a_bounded_rust_stack

This is finite runtime concordance for the recorded tests, not a summed-frame headroom estimate or a broader pipeline/setup guarantee. The phase separation, excluded stack costs and prior-source limits above remain applicable. Full failure-body/input/compiler-gate reconciliation belongs to the separate runtime review; no archived checker, compiler or executable was run for this supplement.

Final evidence file SHA256
acceptance-focused-edf096c-1.acceptance-frames.json 82dafc72bedd30781e783337d607299467ff8e5df0f52ebb2c7c2f4f9cdf4adb
acceptance-focused-edf096c-1.stack-frames.json 00bf93f10060160a3adc38109ae512d698a07d8313b02258fc0859d8ec3fb601
acceptance-focused-edf096c-1.active-frames.json b0c8ec63791c165e03d8c77a29e07bd7e624848ca83bea05929ef6a1c76196ed
acceptance-focused-edf096c-1.result.json f9fcb8771f0baf38f0221302e7b112a915054da31cdaf466ede46c91f46185d2
acceptance-focused-edf096c-1.log 796a8fb992d5b50e2c3df81c8fa3ddd62d459ce88ff8b3939f1913f968a29b28
acceptance-full-edf096c-1.result.json abf9e8ab5befe76f9be41d126a6015a9754bd9d13716ffedb3699b7f8a8b294b
acceptance-full-edf096c-1.log 5df6602c3d62c776720aa97916f0bf740de5488773d25601600aea8de27515e2