# S2b corrected full-suite failure causes Independent read-only review, 2026-09-13, `/root/source8_s2a_review`. Corrected source **`a2a28f8d23a46ba1696b6a8410d4d3b5c1808f49`**; comparison source **`b2c970b4673e062e47eadd12906d2316c4b1a7b3`**. No compiler, test rerun, source change, archive execution or Git write occurred in this review. Actual a2 full closure: **126 passed / 16 failed / 0 ignored, exit101**, ended `2026-09-13T07:03:51.186178+00:00`. All142 unique outcomes exactly match the corrected listing; all13 fixed new lower tests pass. The corrected typed selection independently contains34 passes and no failure. List, typed and full record the same test executable identity,36,685,824 bytes, SHA `ce9d77ed1e68a21e06836264bf50ba9dddbfa69507e1a0bc2c05a7b55db325a9`. Their531-entry manifests are identical and every entry/membership was independently compared with the exact a2 Git input scope and raw blobs. No current mutable executable was reread. The a2 failed-name set exactly matches the actual b2 full **113/16** set. This review also compared each separate panic block: all16 have **the same panic source location and the same complete diagnostic line** as the corresponding b2 failure, apart from surrounding thread IDs and run presentation. Every diagnostic rejects the header at line1, column9, byte span8..9 with `Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.` There is no new AsKind failure in the corrected full run. ## Exact raw bindings All files are original `.local/analysis-source-gates-20260913/` artifacts: | File | SHA256 | | --- | --- | | full-a2a28f8.log | `9ae08b9a0157ebef587d36b40e5f7da8dd61b13bd5594bbae659f06c75e59044` | | full-b2c970b.log | `0e0fd205258cd7f1b6a898486c35514a359eb02e3b17382b0f2cffb4d443cfb3` | | full-a2a28f8.result.json | `81e171692b5c782bd234888e94468853b47a0e54375106e4cfce831e7b58e6c1` | | full-a2a28f8.inputs.json | `08b6dabbffbd06f7abea717f9aa34cd910c41c4a8c650247006a0f6858561c84` | ## Source-level cause, separately inspected These are retained public-source writer/migration failures. They must not be described as all beginning with source8 fixtures: several begin with valid source5, and the checked-in source project begins with source3. `model.rs:9` defines `SCHEMA_VERSION = 8`. The public canonical writer emits that value at `language.rs:506`, while the public parser's explicit accepted header set remains3–7 at `language.rs:1335`. The two direct round-trip failures at `language_nesting_tests.rs:63` and124 occur at `parse(format(project))` and `parse(format(demo))`: initial parsing/earlier setup has progressed, but the formatted source8 header is rejected. The remaining four nesting failures and all ten transaction failures reach `compile_bundle`. That function invokes `source_migration::upgrade` when migration metadata exists (`source_project.rs:298`). The upgrade writes the current schema value into the source version token (`source_project/source_migration.rs:83`) and reparses the edited bundle using `compile_once` at115. That source8 header is rejected by the same unchanged public parser. The source5 transaction fixture fails during its shared `compile_bundle(...).unwrap()` at `source_files.rs:1560`, before the named save/recovery operation starts. The checked-in source3 example is likewise rejected during migration/reparse; this does not establish successful source3 whole-project migration in these tests. The implicated writer, parser, migration, model, nesting tests, transaction fixture and checked-in entry bytes were individually compared across b2→a2 and are unchanged: `language.rs`, `language_nesting_tests.rs`, `source_files.rs`, `source_project.rs`, `source_project/source_migration.rs`, `model.rs`, and `examples/source-project/project.arcadia`. Exact failing names, grouped only for readability: - `language::nesting_tests::checked_in_example_supports_cross_file_reparent_without_changing_allocations` - `language::nesting_tests::checked_in_nested_example_has_stable_ids_typed_exchanges_and_three_clear_views` - `language::nesting_tests::nested_elements_infer_only_parent_and_keep_typed_fields_and_allocations_explicit` - `language::nesting_tests::nested_fragment_id_stabilization_preserves_comments_and_indexes_real_bytes` - `language::nesting_tests::non_elements_includes_and_declarations_inside_typed_values_are_rejected` - `language::nesting_tests::normative_nested_ownership_example_compiles_as_a_source_fragment` - `source_files::transaction_tests::interrupted_publication_without_write_marker_never_rolls_back_external_matching_bytes` - `source_files::transaction_tests::interrupted_save_and_interrupted_recovery_can_both_be_resumed` - `source_files::transaction_tests::malformed_v2_write_marker_refuses_recovery_without_changing_source_bytes` - `source_files::transaction_tests::partial_save_failures_restore_every_original_and_write_entry_last` - `source_files::transaction_tests::recovery_before_any_write_accepts_v2_marker_and_keeps_v1_rollback_compatibility` - `source_files::transaction_tests::recovery_rechecks_external_changes_between_restorations` - `source_files::transaction_tests::recovery_rejects_untrusted_escape_paths_before_touching_files` - `source_files::transaction_tests::rollback_refuses_external_edits_even_in_an_unchanged_dependency` - `source_files::transaction_tests::rollback_removes_only_our_new_file_and_retains_detached_files` - `source_files::transaction_tests::unwritten_journal_never_rolls_back_a_completed_writer_with_identical_after_bytes` Disposition: the corrected private lowerer tests pass, while the full library remains failed for the same separately verified public8 writer/migration boundary. The sixteen tests do not validate their later nesting/save/recovery assertions. Do not waive them as full-suite passes or change public dispatch during this bounded correction. The original472 typed33/1 failure and its source-oracle correction review remain separate historical evidence. This note does not claim token/strict completion; those gates were still pending when the review began and were not inspected here. The historical b2 production-language result remains **7 passed / 9 failed at b2**, as preserved in the S2a checkpoint; no a2 legacy integration rerun or relabeling is claimed.