Archive actual staged source checks and unresolved failures

This commit is contained in:
2026-09-12 21:35:51 -07:00
parent 3ac74825f8
commit 0f002b4254
29 changed files with 14403 additions and 1 deletions
+2 -1
View File
@@ -73,7 +73,8 @@ production. It adds source-save decode/equality containment and a private staged
expression parser. All11 parser and4 save-guard tests pass on518 unchanged inputs
in separate focused Windows runs. The full library run has98 passes and16 failures:
14 reject the unsupported source8 header and2 expose a legacy migration envelope
containing the new definitions field. Strict checks remain pending.
containing the new definitions field. Strict Clippy fails on the private parser's
enum naming. [Exact passes and failures](release-analysis-source-s0-s1-20260913.md).
Its design and source reviews are preserved in that branch's
`harness/analysis-source8-20260913/`. Public source8 support remains incomplete.
At its earlier **847b1caa7e75bb82f6ce5193c45bcfc45973ad1a** base, Windows checks
@@ -0,0 +1,20 @@
# Isolated analysis source S0/S1 Windows gates
Exact tested source: `2c515cf3bdb3f707beee320be8fed90cffb40757`, isolated analysis branch. These are historical gate results, not an integrated release or public source8 acceptance. Source/design and the original source reviews remain authoritative in [the existing source handoff](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/src/commit/2c515cf3bdb3f707beee320be8fed90cffb40757/harness/analysis-source8-20260913/README.md). The changed local S1 review, including its 2c supplement, and the earlier independent repair review are retained here without changing their historical conclusions.
[manifest.json](manifest.json) binds 24 exact-byte evidence files (586,875 bytes), preserving one original input manifest per actual receipt. The five completed Cargo gates each report 518 unchanged inputs; archive verification additionally matched every recorded input size and SHA-256 to the immutable tested Git blob. Original absolute paths describe provenance and need adaptation for another machine. Executables and toolchains are omitted; the test artifact identity remains bound in the original receipts. The commands require the tested source and corresponding Windows toolchain/build environment.
| Actual gate | Result |
| --- | --- |
| Initial listing launcher | Failed before Cargo spawn or input capture; launcher exit 1, no Cargo result |
| Corrected listing | Exit 0; 114 unique tests |
| Staged syntax | Exit 0; all 11 selected tests passed |
| Save containment guard | Exit 0; all 4 selected tests passed |
| Full library suite | Exit 101; 98 passed, 16 failed |
| Strict Clippy, all targets | Exit 101; `clippy::enum_variant_names` on private `Kind::AsKind` |
The full suite's exact membership equals the listing's 114 names. All fifteen new focused tests also passed in that full execution. Sixteen individual failure sections identify fourteen unsupported-source8 errors and two legacy `definitions`-envelope errors. Those are failures, with no waiver or general suite acceptance. The completed strict log contains one reported lint diagnostic and the resulting compile failure; it does not establish absence of further diagnostics after repair.
The first launcher failure and its original helper are preserved alongside the final recorder and admission helper. Admission receipt hashes were checked against the exact result/log/input files. The strict log was copied only after its final receipt existed and the parent confirmed process closure. No compiler, application, source edit or analysis-worktree mutation was performed during archiving.
S0 guards generated source before filesystem staging; its four new tests exercise the shared private production guard with injected formatter output, not the outer public entrypoint with the real formatter. S1 remains test-staged syntax. Full source8 reading/writing, legacy migration, whole-bundle limits, public save/update/reopen and GUI behavior are not established by these passes. Any subsequent lint correction or later gate belongs to another source pin and must retain these failed historical results.
@@ -0,0 +1,75 @@
"""Admit the exact fifteen authored S0/S1 tests and their actual executions."""
from pathlib import Path
import hashlib
import json
import re
import subprocess
import sys
base = Path(__file__).resolve().parent.parent
root = base / '.local/analysis-core-worktree-20260911'
folder = base / '.local/analysis-source-gates-20260913'
groups = {
'language::analysis_source::tests::': '''budgets_aggregate_across_fragments_and_latch_numeric_exhaustion
byte_token_frame_logical_and_list_boundaries_have_nearby_successes
every_expression_shape_and_exact_constructor_arity_is_represented
flat_binary_depth_and_malformed_constructor_retain_bounded_completed_children
mixed_precedence_and_grouping_have_independent_expected_child_topology
partial_wide_and_deep_input_cleanup_does_not_poison_a_fresh_parse
public_source_headers_and_existing_numeric_token_controls_are_unchanged
raw_numeric_lexing_preserves_exact_atoms_and_operator_boundaries
repeated_call_argument_occurrences_have_distinct_original_spans
significant_ratio_and_quantity_trivia_preserve_original_spans
unary_literals_precedence_and_comparison_children_keep_distinct_trees'''.splitlines(),
'persistence::source_save_tests::': '''equal_project_from_generated_legacy_source_still_rejects_migration
generated_source_admission_checks_final_newline_under_the_effective_byte_limit
malformed_generated_source_rejects_before_any_filesystem_staging
parseable_source_omitting_a_definition_cannot_replace_the_whole_project'''.splitlines()}
name = sys.argv[1]
assert re.fullmatch(r'[a-zA-Z0-9-]+', name)
path = folder / (name + '.result.json')
record = json.loads(path.read_bytes())
assert record['exit'] == 0 and not record['changed_inputs'] and record['head_after'] == record['source']
assert subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=root).decode().strip() == record['source']
inputs_path = folder / record['inputs']
inputs = json.loads(inputs_path.read_bytes())
assert inputs['source'] == record['source']
for item in inputs['inputs']:
raw = (root / item['path']).read_bytes()
assert len(raw) == item['bytes'] and hashlib.sha256(raw).hexdigest() == item['sha256']
assert len(record['artifacts']) == 1
artifact = record['artifacts'][0]
raw = Path(artifact['path']).read_bytes()
assert len(raw) == artifact['bytes'] and hashlib.sha256(raw).hexdigest() == artifact['sha256']
log_path = folder / (name + '.log')
log = log_path.read_text(encoding='utf-8', errors='strict')
if record['command'][-1] == '--list':
names = record['listing_members']
assert len(names) == len(set(names)) == record['listing_count'] == 114
assert re.findall(r'^(\d+) tests, (\d+) benchmarks\s*$', log, re.M) == [('114', '0')]
for prefix, leaves in groups.items():
assert {n for n in names if n.startswith(prefix)} == {prefix + n for n in leaves}
mode, admitted_names = 'list', names
else:
listing_name, selector = sys.argv[2:4]
listing_path = folder / (listing_name + '.result.json')
listing = json.loads(listing_path.read_bytes())
admission = json.loads((folder / (listing_name + '.admission.json')).read_bytes())
assert admission['result_sha256'] == hashlib.sha256(listing_path.read_bytes()).hexdigest()
assert admission['source'] == listing['source'] == record['source']
assert admission['artifact'] == artifact and admission['mode'] == 'list'
assert selector in record['command']
admitted_names = [n for n in listing['listing_members'] if selector in n]
actual = re.findall(r'^test ([^\r\n]+) \.\.\. ok\s*$', log, re.M)
assert admitted_names and len(actual) == len(set(actual)) and set(actual) == set(admitted_names)
assert re.search(rf'test result: ok\. {len(actual)} passed; 0 failed; 0 ignored;', log)
mode = 'focused'
receipt = {'source': record['source'], 'mode': mode, 'artifact': artifact,
'result_sha256': hashlib.sha256(path.read_bytes()).hexdigest(),
'log_sha256': hashlib.sha256(log_path.read_bytes()).hexdigest(),
'inputs_sha256': hashlib.sha256(inputs_path.read_bytes()).hexdigest(),
'verified_inputs': len(inputs['inputs']), 'names': admitted_names,
'admission_helper_sha256': hashlib.sha256(Path(__file__).read_bytes()).hexdigest()}
with (folder / (name + '.admission.json')).open('x', encoding='utf-8', newline='\n') as stream:
stream.write(json.dumps(receipt, indent=2) + '\n')
print(json.dumps({'name': name, 'source': record['source'], 'mode': mode, 'members': len(admitted_names)}))
@@ -0,0 +1,224 @@
Finished `test` profile [unoptimized] target(s) in 1.89s
Running unittests src\lib.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\analysis-checked-save-target-20260913\debug\deps\oa_core-73987e0d7089bf1e.exe)
running 114 tests
test analysis::admission::meter_tests::call_key_scan_and_argument_lookup_have_separate_precharges ... ok
test analysis::admission::meter_tests::relation_subject_resolution_charges_each_hop_and_bounds_cycles ... ok
test analysis::admission::meter_tests::static_meter_exact_boundary_zero_charge_and_exhaustion_latch ... ok
test analysis::admission::meter_tests::wide_expression_children_are_charged_before_they_are_queued ... ok
test analysis::tests::affine_definitions_require_linear_matching_difference_and_valid_units ... ok
test analysis::tests::anonymous_dimension_algebra_and_affine_rules_share_pure_runtime_helpers ... ok
test analysis::tests::calculations_are_pure_parameters_are_scoped_and_calls_bind_exactly ... ok
test analysis::tests::complete_real_model_roundtrips_and_exposes_explicit_effective_bindings ... ok
test analysis::tests::deletion_requires_explicit_repairs_in_the_same_atomic_batch ... ok
test analysis::tests::empty_lists_require_context_and_lists_are_flat_bounded_homogeneous ... ok
test analysis::tests::equal_dimensions_do_not_create_nominal_compatibility ... ok
test analysis::tests::every_case_is_checked_and_baseline_edits_cannot_introduce_a_case_only_cycle ... ok
test analysis::tests::existing_transport_record_limits_count_definitions_parameters_overrides_and_nodes ... ok
test analysis::tests::frozen_schema7_upgrades_without_interpreting_descriptive_metadata ... ok
test analysis::tests::global_reidentify_rewrites_typed_domains_but_preserves_scoped_parameters ... ok
test analysis::tests::layers_subject_kinds_and_display_units_are_strict ... ok
test analysis::tests::logical_depth_and_call_depth_have_exact_boundaries ... ok
test analysis::tests::map_key_collision_is_rejected_before_any_reference_mutation ... ok
test analysis::tests::narrow_override_commands_preserve_missing_clear_and_history ... ok
test analysis::tests::static_types_do_not_evaluate_domain_conditions_or_check_truth ... ok
test analysis::tests::static_work_is_lowerable_deterministic_and_aggregated_across_cases ... ok
test analysis::tests::stored_closure_limit_aggregates_distinct_called_definitions ... ok
test analysis::tests::unsupported_transition_and_header_only_review_fail_explicitly ... ok
test analysis::tests::unused_branches_still_reject_wrong_types_references_and_cycles ... ok
test analysis::tests::wire_contract_rejects_unknown_imports_duplicates_missing_fields_and_noncanonical_exact ... ok
test analysis_numeric::tests::affine_conversion_rejects_a_wider_stage_even_when_the_final_value_would_fit ... ok
test analysis_numeric::tests::affine_point_and_difference_arithmetic_has_distinct_kinds ... ok
test analysis_numeric::tests::anonymous_product_then_quotient_closes_and_preserves_scaling ... ok
test analysis_numeric::tests::arithmetic_matches_independent_small_integer_oracle ... ok
test analysis_numeric::tests::both_reduced_component_overflows_are_reported ... ok
test analysis_numeric::tests::c1_expanded_call_witness_terminates_at_dynamic_limit ... ok
test analysis_numeric::tests::canonical_wire_rejects_both_component_noncanonical_forms ... ok
test analysis_numeric::tests::cross_products_cancel_before_reduced_component_limit ... ok
test analysis_numeric::tests::decimals_are_exact_and_source_ratios_reduce ... ok
test analysis_numeric::tests::dimensions_use_checked_seven_axis_integer_algebra ... ok
test analysis_numeric::tests::duration_unit_coordinates_are_exact_and_nominal ... ok
test analysis_numeric::tests::exact_accounting_boundary_and_terminal_failure_are_stable ... ok
test analysis_numeric::tests::full_8193_bit_sum_intermediate_can_reduce_to_admitted_value ... ok
test analysis_numeric::tests::full_independent_r7_packets_round_trip_as_literals_and_wire ... ok
test analysis_numeric::tests::literal_reader_does_not_fold_expression_unary_minus ... ok
test analysis_numeric::tests::literal_syntax_and_decimal_exponent_are_bounded ... ok
test analysis_numeric::tests::multiple_targets_share_one_aggregate_meter ... ok
test analysis_numeric::tests::nominal_kinds_survive_comparison_but_explicit_quotients_can_erase_dimension ... ok
test analysis_numeric::tests::numeric_precharge_precedes_big_integer_result_allocation ... ok
test analysis_numeric::tests::numerical_power_types_and_dimension_overflow_are_checked ... ok
test analysis_numeric::tests::powers_and_signs_have_explicit_domains ... ok
test analysis_numeric::tests::provisional_limits_and_effective_limits_round_trip ... ok
test analysis_numeric::tests::r6_anonymous_compound_energy_needs_one_outer_assertion ... ok
test analysis_numeric::tests::serde_uses_closed_canonical_string_wire ... ok
test analysis_numeric::tests::wire_rejects_4097_bits_before_gcd_can_reduce_them ... ok
test analysis_numeric::tests::zero_cost_and_maximum_reservation_do_not_underflow_or_reactivate ... ok
test language::analysis_source::tests::budgets_aggregate_across_fragments_and_latch_numeric_exhaustion ... ok
test language::analysis_source::tests::byte_token_frame_logical_and_list_boundaries_have_nearby_successes ... ok
test language::analysis_source::tests::every_expression_shape_and_exact_constructor_arity_is_represented ... ok
test language::analysis_source::tests::flat_binary_depth_and_malformed_constructor_retain_bounded_completed_children ... ok
test language::analysis_source::tests::mixed_precedence_and_grouping_have_independent_expected_child_topology ... ok
test language::analysis_source::tests::partial_wide_and_deep_input_cleanup_does_not_poison_a_fresh_parse ... ok
test language::analysis_source::tests::public_source_headers_and_existing_numeric_token_controls_are_unchanged ... ok
test language::analysis_source::tests::raw_numeric_lexing_preserves_exact_atoms_and_operator_boundaries ... ok
test language::analysis_source::tests::repeated_call_argument_occurrences_have_distinct_original_spans ... ok
test language::analysis_source::tests::significant_ratio_and_quantity_trivia_preserve_original_spans ... ok
test language::analysis_source::tests::unary_literals_precedence_and_comparison_children_keep_distinct_trees ... ok
test language::nesting_tests::checked_in_example_supports_cross_file_reparent_without_changing_allocations ... FAILED
test language::nesting_tests::checked_in_nested_example_has_stable_ids_typed_exchanges_and_three_clear_views ... FAILED
test language::nesting_tests::containment_validation_rejects_allocation_like_or_cross_layer_nesting ... ok
test language::nesting_tests::declarations_are_preorder_occurrences_with_real_own_field_and_body_spans ... ok
test language::nesting_tests::deep_declaration_parsing_and_positions_use_a_bounded_rust_stack ... ok
test language::nesting_tests::matching_explicit_parent_is_accepted_but_none_or_another_owner_is_located ... ok
test language::nesting_tests::nested_aliases_remain_global_and_forward_references_remain_legal ... ok
test language::nesting_tests::nested_elements_infer_only_parent_and_keep_typed_fields_and_allocations_explicit ... FAILED
test language::nesting_tests::nested_fragment_id_stabilization_preserves_comments_and_indexes_real_bytes ... FAILED
test language::nesting_tests::nested_record_admission_precedes_resolution_and_typed_depth_stays_bounded ... ok
test language::nesting_tests::non_elements_includes_and_declarations_inside_typed_values_are_rejected ... FAILED
test language::nesting_tests::normative_nested_ownership_example_compiles_as_a_source_fragment ... FAILED
test language::nesting_tests::syntax_edit_positions_retain_duplicate_identity_occurrences_during_a_command ... ok
test language::nesting_tests::tolerant_nested_analysis_retains_closed_children_before_an_unfinished_sibling ... ok
test persistence::json_codec::tests::codec_lifecycle_subprocess ... ok
test persistence::json_codec::tests::json_profile_does_not_contract_declared_cli_collection_counts ... ok
test persistence::json_codec::tests::production_save_always_reopens_with_its_reader_profile ... ok
test persistence::json_codec::tests::remote_serde_keeps_each_existing_expression_variant ... ok
test persistence::json_codec::tests::resource_preflight_has_exact_lowerable_boundaries ... ok
test persistence::json_codec::tests::scanner_is_not_a_parallel_json_grammar ... ok
test persistence::source_save_tests::equal_project_from_generated_legacy_source_still_rejects_migration ... ok
test persistence::source_save_tests::generated_source_admission_checks_final_newline_under_the_effective_byte_limit ... ok
test persistence::source_save_tests::malformed_generated_source_rejects_before_any_filesystem_staging ... ok
test persistence::source_save_tests::parseable_source_omitting_a_definition_cannot_replace_the_whole_project ... ok
test semantic::catalog::coverage::every_current_payload_field_has_a_closed_typed_capture_and_write_scope ... ok
test source_files::transaction_tests::interrupted_publication_without_write_marker_never_rolls_back_external_matching_bytes ... FAILED
test source_files::transaction_tests::interrupted_save_and_interrupted_recovery_can_both_be_resumed ... FAILED
test source_files::transaction_tests::journal_publication_does_not_replace_empty_target_created_after_precheck ... ok
test source_files::transaction_tests::journal_publication_exhaustion_and_permanent_errors_keep_stage_and_report_original_path ... ok
test source_files::transaction_tests::journal_publication_never_replaces_another_journal_that_appears_during_retry ... ok
test source_files::transaction_tests::journal_publication_retries_only_transient_windows_errors_before_transferring_ownership ... ok
test source_files::transaction_tests::malformed_v2_write_marker_refuses_recovery_without_changing_source_bytes ... FAILED
test source_files::transaction_tests::partial_save_failures_restore_every_original_and_write_entry_last ... FAILED
test source_files::transaction_tests::recovery_before_any_write_accepts_v2_marker_and_keeps_v1_rollback_compatibility ... FAILED
test source_files::transaction_tests::recovery_rechecks_external_changes_between_restorations ... FAILED
test source_files::transaction_tests::recovery_rejects_untrusted_escape_paths_before_touching_files ... FAILED
test source_files::transaction_tests::rollback_refuses_external_edits_even_in_an_unchanged_dependency ... FAILED
test source_files::transaction_tests::rollback_removes_only_our_new_file_and_retains_detached_files ... FAILED
test source_files::transaction_tests::unwritten_journal_never_rolls_back_a_completed_writer_with_identical_after_bytes ... FAILED
test topology_context::analysis::tests::edge_work_budget_stops_repeated_expansion_not_just_output_storage ... ok
test topology_context::analysis::tests::exact_edge_budget_includes_reference_boundaries_and_node_abort_has_no_bypass ... ok
test topology_context::analysis::tests::unresolved_authored_edges_consume_work_budget_without_stored_output ... ok
test validation::coverage::tests::malformed_self_reuse_is_bounded_even_without_structural_gate ... ok
test view_options::tests::global_behavior_coverage_and_chosen_context_are_independent_intersecting_predicates ... ok
test view_options::tests::hidden_identity_survives_label_and_category_changes_without_mutating_the_model ... ok
test view_options::tests::no_lines_and_explicit_trace_selection_include_actual_trace_identities ... ok
test view_options::tests::omission_reasons_distinguish_missing_placements_folded_edges_and_explicit_hides ... ok
test view_options::tests::persisted_empty_selectors_and_lifecycle_never_widen_to_all ... ok
test view_options::tests::reusable_sequences_and_nested_scenarios_use_listed_contributions_in_both_layers ... ok
test view_options::tests::separate_category_families_obey_all_any_empty_and_union_truth_table ... ok
test view_options::tests::traceability_defaults_preserve_both_layers_and_explicit_selectors_still_apply ... ok
test view_options::tests::wrong_family_layer_and_unknown_references_reject_and_draft_filters_fail_closed ... ok
failures:
---- language::nesting_tests::checked_in_example_supports_cross_file_reparent_without_changing_allocations stdout ----
thread 'language::nesting_tests::checked_in_example_supports_cross_file_reparent_without_changing_allocations' (7636) panicked at crates\oa-core\src\language_nesting_tests.rs:502:69:
called `Result::unwrap()` on an `Err` value: [SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Error, code: "migration_error", object_id: None, field: None, line: 1, column: 1, message: "Invalid project JSON: unknown field `definitions`, expected one of `schema_version`, `id`, `alias`, `name`, `description`, `elements`, `relations`, `diagrams`, `artifact_links`, `traces`", span: Span { start: 0, end: 1 } }, related: [] }]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
---- language::nesting_tests::checked_in_nested_example_has_stable_ids_typed_exchanges_and_three_clear_views stdout ----
thread 'language::nesting_tests::checked_in_nested_example_has_stable_ids_typed_exchanges_and_three_clear_views' (8956) panicked at crates\oa-core\src\language_nesting_tests.rs:439:69:
called `Result::unwrap()` on an `Err` value: [SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Error, code: "migration_error", object_id: None, field: None, line: 1, column: 1, message: "Invalid project JSON: unknown field `definitions`, expected one of `schema_version`, `id`, `alias`, `name`, `description`, `elements`, `relations`, `diagrams`, `artifact_links`, `traces`", span: Span { start: 0, end: 1 } }, related: [] }]
---- language::nesting_tests::nested_elements_infer_only_parent_and_keep_typed_fields_and_allocations_explicit stdout ----
thread 'language::nesting_tests::nested_elements_infer_only_parent_and_keep_typed_fields_and_allocations_explicit' (2316) panicked at crates\oa-core\src\language_nesting_tests.rs:63:41:
called `Result::unwrap()` on an `Err` value: [Diagnostic { severity: Error, code: "invalid_source", object_id: None, field: None, line: 1, column: 9, message: "Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.", span: Span { start: 8, end: 9 } }]
---- language::nesting_tests::nested_fragment_id_stabilization_preserves_comments_and_indexes_real_bytes stdout ----
thread 'language::nesting_tests::nested_fragment_id_stabilization_preserves_comments_and_indexes_real_bytes' (3472) panicked at crates\oa-core\src\language_nesting_tests.rs:188:72:
called `Result::unwrap()` on an `Err` value: [SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Error, code: "invalid_source", object_id: None, field: None, line: 1, column: 9, message: "Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.", span: Span { start: 8, end: 9 } }, related: [] }]
---- language::nesting_tests::non_elements_includes_and_declarations_inside_typed_values_are_rejected stdout ----
thread 'language::nesting_tests::non_elements_includes_and_declarations_inside_typed_values_are_rejected' (548) panicked at crates\oa-core\src\language_nesting_tests.rs:124:38:
called `Result::unwrap()` on an `Err` value: [Diagnostic { severity: Error, code: "invalid_source", object_id: None, field: None, line: 1, column: 9, message: "Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.", span: Span { start: 8, end: 9 } }]
---- language::nesting_tests::normative_nested_ownership_example_compiles_as_a_source_fragment stdout ----
thread 'language::nesting_tests::normative_nested_ownership_example_compiles_as_a_source_fragment' (8836) panicked at crates\oa-core\src\language_nesting_tests.rs:362:6:
called `Result::unwrap()` on an `Err` value: [SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Error, code: "invalid_source", object_id: None, field: None, line: 1, column: 9, message: "Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.", span: Span { start: 8, end: 9 } }, related: [] }]
---- source_files::transaction_tests::interrupted_publication_without_write_marker_never_rolls_back_external_matching_bytes stdout ----
thread 'source_files::transaction_tests::interrupted_publication_without_write_marker_never_rolls_back_external_matching_bytes' (1776) panicked at crates\oa-core\src\source_files.rs:1560:84:
called `Result::unwrap()` on an `Err` value: [SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Error, code: "invalid_source", object_id: None, field: None, line: 1, column: 9, message: "Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.", span: Span { start: 8, end: 9 } }, related: [] }]
---- source_files::transaction_tests::interrupted_save_and_interrupted_recovery_can_both_be_resumed stdout ----
thread 'source_files::transaction_tests::interrupted_save_and_interrupted_recovery_can_both_be_resumed' (2176) panicked at crates\oa-core\src\source_files.rs:1560:84:
called `Result::unwrap()` on an `Err` value: [SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Error, code: "invalid_source", object_id: None, field: None, line: 1, column: 9, message: "Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.", span: Span { start: 8, end: 9 } }, related: [] }]
---- source_files::transaction_tests::malformed_v2_write_marker_refuses_recovery_without_changing_source_bytes stdout ----
thread 'source_files::transaction_tests::malformed_v2_write_marker_refuses_recovery_without_changing_source_bytes' (4664) panicked at crates\oa-core\src\source_files.rs:1560:84:
called `Result::unwrap()` on an `Err` value: [SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Error, code: "invalid_source", object_id: None, field: None, line: 1, column: 9, message: "Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.", span: Span { start: 8, end: 9 } }, related: [] }]
---- source_files::transaction_tests::partial_save_failures_restore_every_original_and_write_entry_last stdout ----
thread 'source_files::transaction_tests::partial_save_failures_restore_every_original_and_write_entry_last' (2088) panicked at crates\oa-core\src\source_files.rs:1560:84:
called `Result::unwrap()` on an `Err` value: [SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Error, code: "invalid_source", object_id: None, field: None, line: 1, column: 9, message: "Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.", span: Span { start: 8, end: 9 } }, related: [] }]
---- source_files::transaction_tests::recovery_before_any_write_accepts_v2_marker_and_keeps_v1_rollback_compatibility stdout ----
thread 'source_files::transaction_tests::recovery_before_any_write_accepts_v2_marker_and_keeps_v1_rollback_compatibility' (3892) panicked at crates\oa-core\src\source_files.rs:1560:84:
called `Result::unwrap()` on an `Err` value: [SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Error, code: "invalid_source", object_id: None, field: None, line: 1, column: 9, message: "Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.", span: Span { start: 8, end: 9 } }, related: [] }]
---- source_files::transaction_tests::recovery_rechecks_external_changes_between_restorations stdout ----
thread 'source_files::transaction_tests::recovery_rechecks_external_changes_between_restorations' (11000) panicked at crates\oa-core\src\source_files.rs:1560:84:
called `Result::unwrap()` on an `Err` value: [SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Error, code: "invalid_source", object_id: None, field: None, line: 1, column: 9, message: "Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.", span: Span { start: 8, end: 9 } }, related: [] }]
---- source_files::transaction_tests::recovery_rejects_untrusted_escape_paths_before_touching_files stdout ----
thread 'source_files::transaction_tests::recovery_rejects_untrusted_escape_paths_before_touching_files' (9576) panicked at crates\oa-core\src\source_files.rs:1560:84:
called `Result::unwrap()` on an `Err` value: [SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Error, code: "invalid_source", object_id: None, field: None, line: 1, column: 9, message: "Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.", span: Span { start: 8, end: 9 } }, related: [] }]
---- source_files::transaction_tests::rollback_refuses_external_edits_even_in_an_unchanged_dependency stdout ----
thread 'source_files::transaction_tests::rollback_refuses_external_edits_even_in_an_unchanged_dependency' (6712) panicked at crates\oa-core\src\source_files.rs:1560:84:
called `Result::unwrap()` on an `Err` value: [SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Error, code: "invalid_source", object_id: None, field: None, line: 1, column: 9, message: "Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.", span: Span { start: 8, end: 9 } }, related: [] }]
---- source_files::transaction_tests::rollback_removes_only_our_new_file_and_retains_detached_files stdout ----
thread 'source_files::transaction_tests::rollback_removes_only_our_new_file_and_retains_detached_files' (11052) panicked at crates\oa-core\src\source_files.rs:1560:84:
called `Result::unwrap()` on an `Err` value: [SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Error, code: "invalid_source", object_id: None, field: None, line: 1, column: 9, message: "Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.", span: Span { start: 8, end: 9 } }, related: [] }]
---- source_files::transaction_tests::unwritten_journal_never_rolls_back_a_completed_writer_with_identical_after_bytes stdout ----
thread 'source_files::transaction_tests::unwritten_journal_never_rolls_back_a_completed_writer_with_identical_after_bytes' (2928) panicked at crates\oa-core\src\source_files.rs:1560:84:
called `Result::unwrap()` on an `Err` value: [SourceDiagnostic { path: "project.arcadia", diagnostic: Diagnostic { severity: Error, code: "invalid_source", object_id: None, field: None, line: 1, column: 9, message: "Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.", span: Span { start: 8, end: 9 } }, related: [] }]
failures:
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
test result: FAILED. 98 passed; 16 failed; 0 ignored; 0 measured; 0 filtered out; finished in 66.82s
error: test failed, to rerun pass `-p oa-core --lib`
@@ -0,0 +1,35 @@
{
"source": "2c515cf3bdb3f707beee320be8fed90cffb40757",
"head_after": "2c515cf3bdb3f707beee320be8fed90cffb40757",
"start": "2026-09-13T04:14:29.029445+00:00",
"end": "2026-09-13T04:15:39.977167+00:00",
"exit": 101,
"command": [
"cargo",
"test",
"--locked",
"-p",
"oa-core",
"--lib",
"--",
"--test-threads=1"
],
"inputs": "full-2c515cf.inputs.json",
"changed_inputs": [],
"artifacts": [
{
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-73987e0d7089bf1e.exe",
"bytes": 35395072,
"sha256": "5d8727a17a7131fa44e6c9fb1bd7cd126e8c531fea82848f837db495f3dc776e"
}
],
"environment": {
"CARGO_TARGET_DIR": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913",
"CARGO_BUILD_JOBS": "1",
"CARGO_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
"RUSTUP_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup"
},
"listing_members": [],
"listing_count": 0,
"listing_scope": "Names emitted by this actual Cargo test listing; focused/full runtime results have their own receipts."
}
@@ -0,0 +1,130 @@
{
"source": "2c515cf3bdb3f707beee320be8fed90cffb40757",
"mode": "list",
"artifact": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-73987e0d7089bf1e.exe",
"bytes": 35395072,
"sha256": "5d8727a17a7131fa44e6c9fb1bd7cd126e8c531fea82848f837db495f3dc776e"
},
"result_sha256": "478ca437f0904c1d2561f41e93c00646595b676530f0cd975f40f9e835e93df5",
"log_sha256": "a4afb40e474e1aaba313002fc112d3611084524ff7405cf6449a55ce02010493",
"inputs_sha256": "1c1c33e802a3eb662dd4b917ea66e662a47ac56b8243f4618fc85ea17d165360",
"verified_inputs": 518,
"names": [
"analysis::admission::meter_tests::call_key_scan_and_argument_lookup_have_separate_precharges",
"analysis::admission::meter_tests::relation_subject_resolution_charges_each_hop_and_bounds_cycles",
"analysis::admission::meter_tests::static_meter_exact_boundary_zero_charge_and_exhaustion_latch",
"analysis::admission::meter_tests::wide_expression_children_are_charged_before_they_are_queued",
"analysis::tests::affine_definitions_require_linear_matching_difference_and_valid_units",
"analysis::tests::anonymous_dimension_algebra_and_affine_rules_share_pure_runtime_helpers",
"analysis::tests::calculations_are_pure_parameters_are_scoped_and_calls_bind_exactly",
"analysis::tests::complete_real_model_roundtrips_and_exposes_explicit_effective_bindings",
"analysis::tests::deletion_requires_explicit_repairs_in_the_same_atomic_batch",
"analysis::tests::empty_lists_require_context_and_lists_are_flat_bounded_homogeneous",
"analysis::tests::equal_dimensions_do_not_create_nominal_compatibility",
"analysis::tests::every_case_is_checked_and_baseline_edits_cannot_introduce_a_case_only_cycle",
"analysis::tests::existing_transport_record_limits_count_definitions_parameters_overrides_and_nodes",
"analysis::tests::frozen_schema7_upgrades_without_interpreting_descriptive_metadata",
"analysis::tests::global_reidentify_rewrites_typed_domains_but_preserves_scoped_parameters",
"analysis::tests::layers_subject_kinds_and_display_units_are_strict",
"analysis::tests::logical_depth_and_call_depth_have_exact_boundaries",
"analysis::tests::map_key_collision_is_rejected_before_any_reference_mutation",
"analysis::tests::narrow_override_commands_preserve_missing_clear_and_history",
"analysis::tests::static_types_do_not_evaluate_domain_conditions_or_check_truth",
"analysis::tests::static_work_is_lowerable_deterministic_and_aggregated_across_cases",
"analysis::tests::stored_closure_limit_aggregates_distinct_called_definitions",
"analysis::tests::unsupported_transition_and_header_only_review_fail_explicitly",
"analysis::tests::unused_branches_still_reject_wrong_types_references_and_cycles",
"analysis::tests::wire_contract_rejects_unknown_imports_duplicates_missing_fields_and_noncanonical_exact",
"analysis_numeric::tests::affine_conversion_rejects_a_wider_stage_even_when_the_final_value_would_fit",
"analysis_numeric::tests::affine_point_and_difference_arithmetic_has_distinct_kinds",
"analysis_numeric::tests::anonymous_product_then_quotient_closes_and_preserves_scaling",
"analysis_numeric::tests::arithmetic_matches_independent_small_integer_oracle",
"analysis_numeric::tests::both_reduced_component_overflows_are_reported",
"analysis_numeric::tests::c1_expanded_call_witness_terminates_at_dynamic_limit",
"analysis_numeric::tests::canonical_wire_rejects_both_component_noncanonical_forms",
"analysis_numeric::tests::cross_products_cancel_before_reduced_component_limit",
"analysis_numeric::tests::decimals_are_exact_and_source_ratios_reduce",
"analysis_numeric::tests::dimensions_use_checked_seven_axis_integer_algebra",
"analysis_numeric::tests::duration_unit_coordinates_are_exact_and_nominal",
"analysis_numeric::tests::exact_accounting_boundary_and_terminal_failure_are_stable",
"analysis_numeric::tests::full_8193_bit_sum_intermediate_can_reduce_to_admitted_value",
"analysis_numeric::tests::full_independent_r7_packets_round_trip_as_literals_and_wire",
"analysis_numeric::tests::literal_reader_does_not_fold_expression_unary_minus",
"analysis_numeric::tests::literal_syntax_and_decimal_exponent_are_bounded",
"analysis_numeric::tests::multiple_targets_share_one_aggregate_meter",
"analysis_numeric::tests::nominal_kinds_survive_comparison_but_explicit_quotients_can_erase_dimension",
"analysis_numeric::tests::numeric_precharge_precedes_big_integer_result_allocation",
"analysis_numeric::tests::numerical_power_types_and_dimension_overflow_are_checked",
"analysis_numeric::tests::powers_and_signs_have_explicit_domains",
"analysis_numeric::tests::provisional_limits_and_effective_limits_round_trip",
"analysis_numeric::tests::r6_anonymous_compound_energy_needs_one_outer_assertion",
"analysis_numeric::tests::serde_uses_closed_canonical_string_wire",
"analysis_numeric::tests::wire_rejects_4097_bits_before_gcd_can_reduce_them",
"analysis_numeric::tests::zero_cost_and_maximum_reservation_do_not_underflow_or_reactivate",
"language::analysis_source::tests::budgets_aggregate_across_fragments_and_latch_numeric_exhaustion",
"language::analysis_source::tests::byte_token_frame_logical_and_list_boundaries_have_nearby_successes",
"language::analysis_source::tests::every_expression_shape_and_exact_constructor_arity_is_represented",
"language::analysis_source::tests::flat_binary_depth_and_malformed_constructor_retain_bounded_completed_children",
"language::analysis_source::tests::mixed_precedence_and_grouping_have_independent_expected_child_topology",
"language::analysis_source::tests::partial_wide_and_deep_input_cleanup_does_not_poison_a_fresh_parse",
"language::analysis_source::tests::public_source_headers_and_existing_numeric_token_controls_are_unchanged",
"language::analysis_source::tests::raw_numeric_lexing_preserves_exact_atoms_and_operator_boundaries",
"language::analysis_source::tests::repeated_call_argument_occurrences_have_distinct_original_spans",
"language::analysis_source::tests::significant_ratio_and_quantity_trivia_preserve_original_spans",
"language::analysis_source::tests::unary_literals_precedence_and_comparison_children_keep_distinct_trees",
"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::containment_validation_rejects_allocation_like_or_cross_layer_nesting",
"language::nesting_tests::declarations_are_preorder_occurrences_with_real_own_field_and_body_spans",
"language::nesting_tests::deep_declaration_parsing_and_positions_use_a_bounded_rust_stack",
"language::nesting_tests::matching_explicit_parent_is_accepted_but_none_or_another_owner_is_located",
"language::nesting_tests::nested_aliases_remain_global_and_forward_references_remain_legal",
"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::nested_record_admission_precedes_resolution_and_typed_depth_stays_bounded",
"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",
"language::nesting_tests::syntax_edit_positions_retain_duplicate_identity_occurrences_during_a_command",
"language::nesting_tests::tolerant_nested_analysis_retains_closed_children_before_an_unfinished_sibling",
"persistence::json_codec::tests::codec_lifecycle_subprocess",
"persistence::json_codec::tests::json_profile_does_not_contract_declared_cli_collection_counts",
"persistence::json_codec::tests::production_save_always_reopens_with_its_reader_profile",
"persistence::json_codec::tests::remote_serde_keeps_each_existing_expression_variant",
"persistence::json_codec::tests::resource_preflight_has_exact_lowerable_boundaries",
"persistence::json_codec::tests::scanner_is_not_a_parallel_json_grammar",
"persistence::source_save_tests::equal_project_from_generated_legacy_source_still_rejects_migration",
"persistence::source_save_tests::generated_source_admission_checks_final_newline_under_the_effective_byte_limit",
"persistence::source_save_tests::malformed_generated_source_rejects_before_any_filesystem_staging",
"persistence::source_save_tests::parseable_source_omitting_a_definition_cannot_replace_the_whole_project",
"semantic::catalog::coverage::every_current_payload_field_has_a_closed_typed_capture_and_write_scope",
"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::journal_publication_does_not_replace_empty_target_created_after_precheck",
"source_files::transaction_tests::journal_publication_exhaustion_and_permanent_errors_keep_stage_and_report_original_path",
"source_files::transaction_tests::journal_publication_never_replaces_another_journal_that_appears_during_retry",
"source_files::transaction_tests::journal_publication_retries_only_transient_windows_errors_before_transferring_ownership",
"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",
"topology_context::analysis::tests::edge_work_budget_stops_repeated_expansion_not_just_output_storage",
"topology_context::analysis::tests::exact_edge_budget_includes_reference_boundaries_and_node_abort_has_no_bypass",
"topology_context::analysis::tests::unresolved_authored_edges_consume_work_budget_without_stored_output",
"validation::coverage::tests::malformed_self_reuse_is_bounded_even_without_structural_gate",
"view_options::tests::global_behavior_coverage_and_chosen_context_are_independent_intersecting_predicates",
"view_options::tests::hidden_identity_survives_label_and_category_changes_without_mutating_the_model",
"view_options::tests::no_lines_and_explicit_trace_selection_include_actual_trace_identities",
"view_options::tests::omission_reasons_distinguish_missing_placements_folded_edges_and_explicit_hides",
"view_options::tests::persisted_empty_selectors_and_lifecycle_never_widen_to_all",
"view_options::tests::reusable_sequences_and_nested_scenarios_use_listed_contributions_in_both_layers",
"view_options::tests::separate_category_families_obey_all_any_empty_and_union_truth_table",
"view_options::tests::traceability_defaults_preserve_both_layers_and_explicit_selectors_still_apply",
"view_options::tests::wrong_family_layer_and_unknown_references_reject_and_draft_filters_fail_closed"
],
"admission_helper_sha256": "e74525d4a4aed0f6ffa333dad7dfb2184835397b0fd5f6002cfe1fa51d60a35a"
}
@@ -0,0 +1,119 @@
Compiling oa-core v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\analysis-core-worktree-20260911\crates\oa-core)
Finished `test` profile [unoptimized] target(s) in 10m 12s
Running unittests src\lib.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\analysis-checked-save-target-20260913\debug\deps\oa_core-73987e0d7089bf1e.exe)
analysis::admission::meter_tests::call_key_scan_and_argument_lookup_have_separate_precharges: test
analysis::admission::meter_tests::relation_subject_resolution_charges_each_hop_and_bounds_cycles: test
analysis::admission::meter_tests::static_meter_exact_boundary_zero_charge_and_exhaustion_latch: test
analysis::admission::meter_tests::wide_expression_children_are_charged_before_they_are_queued: test
analysis::tests::affine_definitions_require_linear_matching_difference_and_valid_units: test
analysis::tests::anonymous_dimension_algebra_and_affine_rules_share_pure_runtime_helpers: test
analysis::tests::calculations_are_pure_parameters_are_scoped_and_calls_bind_exactly: test
analysis::tests::complete_real_model_roundtrips_and_exposes_explicit_effective_bindings: test
analysis::tests::deletion_requires_explicit_repairs_in_the_same_atomic_batch: test
analysis::tests::empty_lists_require_context_and_lists_are_flat_bounded_homogeneous: test
analysis::tests::equal_dimensions_do_not_create_nominal_compatibility: test
analysis::tests::every_case_is_checked_and_baseline_edits_cannot_introduce_a_case_only_cycle: test
analysis::tests::existing_transport_record_limits_count_definitions_parameters_overrides_and_nodes: test
analysis::tests::frozen_schema7_upgrades_without_interpreting_descriptive_metadata: test
analysis::tests::global_reidentify_rewrites_typed_domains_but_preserves_scoped_parameters: test
analysis::tests::layers_subject_kinds_and_display_units_are_strict: test
analysis::tests::logical_depth_and_call_depth_have_exact_boundaries: test
analysis::tests::map_key_collision_is_rejected_before_any_reference_mutation: test
analysis::tests::narrow_override_commands_preserve_missing_clear_and_history: test
analysis::tests::static_types_do_not_evaluate_domain_conditions_or_check_truth: test
analysis::tests::static_work_is_lowerable_deterministic_and_aggregated_across_cases: test
analysis::tests::stored_closure_limit_aggregates_distinct_called_definitions: test
analysis::tests::unsupported_transition_and_header_only_review_fail_explicitly: test
analysis::tests::unused_branches_still_reject_wrong_types_references_and_cycles: test
analysis::tests::wire_contract_rejects_unknown_imports_duplicates_missing_fields_and_noncanonical_exact: test
analysis_numeric::tests::affine_conversion_rejects_a_wider_stage_even_when_the_final_value_would_fit: test
analysis_numeric::tests::affine_point_and_difference_arithmetic_has_distinct_kinds: test
analysis_numeric::tests::anonymous_product_then_quotient_closes_and_preserves_scaling: test
analysis_numeric::tests::arithmetic_matches_independent_small_integer_oracle: test
analysis_numeric::tests::both_reduced_component_overflows_are_reported: test
analysis_numeric::tests::c1_expanded_call_witness_terminates_at_dynamic_limit: test
analysis_numeric::tests::canonical_wire_rejects_both_component_noncanonical_forms: test
analysis_numeric::tests::cross_products_cancel_before_reduced_component_limit: test
analysis_numeric::tests::decimals_are_exact_and_source_ratios_reduce: test
analysis_numeric::tests::dimensions_use_checked_seven_axis_integer_algebra: test
analysis_numeric::tests::duration_unit_coordinates_are_exact_and_nominal: test
analysis_numeric::tests::exact_accounting_boundary_and_terminal_failure_are_stable: test
analysis_numeric::tests::full_8193_bit_sum_intermediate_can_reduce_to_admitted_value: test
analysis_numeric::tests::full_independent_r7_packets_round_trip_as_literals_and_wire: test
analysis_numeric::tests::literal_reader_does_not_fold_expression_unary_minus: test
analysis_numeric::tests::literal_syntax_and_decimal_exponent_are_bounded: test
analysis_numeric::tests::multiple_targets_share_one_aggregate_meter: test
analysis_numeric::tests::nominal_kinds_survive_comparison_but_explicit_quotients_can_erase_dimension: test
analysis_numeric::tests::numeric_precharge_precedes_big_integer_result_allocation: test
analysis_numeric::tests::numerical_power_types_and_dimension_overflow_are_checked: test
analysis_numeric::tests::powers_and_signs_have_explicit_domains: test
analysis_numeric::tests::provisional_limits_and_effective_limits_round_trip: test
analysis_numeric::tests::r6_anonymous_compound_energy_needs_one_outer_assertion: test
analysis_numeric::tests::serde_uses_closed_canonical_string_wire: test
analysis_numeric::tests::wire_rejects_4097_bits_before_gcd_can_reduce_them: test
analysis_numeric::tests::zero_cost_and_maximum_reservation_do_not_underflow_or_reactivate: test
language::analysis_source::tests::budgets_aggregate_across_fragments_and_latch_numeric_exhaustion: test
language::analysis_source::tests::byte_token_frame_logical_and_list_boundaries_have_nearby_successes: test
language::analysis_source::tests::every_expression_shape_and_exact_constructor_arity_is_represented: test
language::analysis_source::tests::flat_binary_depth_and_malformed_constructor_retain_bounded_completed_children: test
language::analysis_source::tests::mixed_precedence_and_grouping_have_independent_expected_child_topology: test
language::analysis_source::tests::partial_wide_and_deep_input_cleanup_does_not_poison_a_fresh_parse: test
language::analysis_source::tests::public_source_headers_and_existing_numeric_token_controls_are_unchanged: test
language::analysis_source::tests::raw_numeric_lexing_preserves_exact_atoms_and_operator_boundaries: test
language::analysis_source::tests::repeated_call_argument_occurrences_have_distinct_original_spans: test
language::analysis_source::tests::significant_ratio_and_quantity_trivia_preserve_original_spans: test
language::analysis_source::tests::unary_literals_precedence_and_comparison_children_keep_distinct_trees: test
language::nesting_tests::checked_in_example_supports_cross_file_reparent_without_changing_allocations: test
language::nesting_tests::checked_in_nested_example_has_stable_ids_typed_exchanges_and_three_clear_views: test
language::nesting_tests::containment_validation_rejects_allocation_like_or_cross_layer_nesting: test
language::nesting_tests::declarations_are_preorder_occurrences_with_real_own_field_and_body_spans: test
language::nesting_tests::deep_declaration_parsing_and_positions_use_a_bounded_rust_stack: test
language::nesting_tests::matching_explicit_parent_is_accepted_but_none_or_another_owner_is_located: test
language::nesting_tests::nested_aliases_remain_global_and_forward_references_remain_legal: test
language::nesting_tests::nested_elements_infer_only_parent_and_keep_typed_fields_and_allocations_explicit: test
language::nesting_tests::nested_fragment_id_stabilization_preserves_comments_and_indexes_real_bytes: test
language::nesting_tests::nested_record_admission_precedes_resolution_and_typed_depth_stays_bounded: test
language::nesting_tests::non_elements_includes_and_declarations_inside_typed_values_are_rejected: test
language::nesting_tests::normative_nested_ownership_example_compiles_as_a_source_fragment: test
language::nesting_tests::syntax_edit_positions_retain_duplicate_identity_occurrences_during_a_command: test
language::nesting_tests::tolerant_nested_analysis_retains_closed_children_before_an_unfinished_sibling: test
persistence::json_codec::tests::codec_lifecycle_subprocess: test
persistence::json_codec::tests::json_profile_does_not_contract_declared_cli_collection_counts: test
persistence::json_codec::tests::production_save_always_reopens_with_its_reader_profile: test
persistence::json_codec::tests::remote_serde_keeps_each_existing_expression_variant: test
persistence::json_codec::tests::resource_preflight_has_exact_lowerable_boundaries: test
persistence::json_codec::tests::scanner_is_not_a_parallel_json_grammar: test
persistence::source_save_tests::equal_project_from_generated_legacy_source_still_rejects_migration: test
persistence::source_save_tests::generated_source_admission_checks_final_newline_under_the_effective_byte_limit: test
persistence::source_save_tests::malformed_generated_source_rejects_before_any_filesystem_staging: test
persistence::source_save_tests::parseable_source_omitting_a_definition_cannot_replace_the_whole_project: test
semantic::catalog::coverage::every_current_payload_field_has_a_closed_typed_capture_and_write_scope: test
source_files::transaction_tests::interrupted_publication_without_write_marker_never_rolls_back_external_matching_bytes: test
source_files::transaction_tests::interrupted_save_and_interrupted_recovery_can_both_be_resumed: test
source_files::transaction_tests::journal_publication_does_not_replace_empty_target_created_after_precheck: test
source_files::transaction_tests::journal_publication_exhaustion_and_permanent_errors_keep_stage_and_report_original_path: test
source_files::transaction_tests::journal_publication_never_replaces_another_journal_that_appears_during_retry: test
source_files::transaction_tests::journal_publication_retries_only_transient_windows_errors_before_transferring_ownership: test
source_files::transaction_tests::malformed_v2_write_marker_refuses_recovery_without_changing_source_bytes: test
source_files::transaction_tests::partial_save_failures_restore_every_original_and_write_entry_last: test
source_files::transaction_tests::recovery_before_any_write_accepts_v2_marker_and_keeps_v1_rollback_compatibility: test
source_files::transaction_tests::recovery_rechecks_external_changes_between_restorations: test
source_files::transaction_tests::recovery_rejects_untrusted_escape_paths_before_touching_files: test
source_files::transaction_tests::rollback_refuses_external_edits_even_in_an_unchanged_dependency: test
source_files::transaction_tests::rollback_removes_only_our_new_file_and_retains_detached_files: test
source_files::transaction_tests::unwritten_journal_never_rolls_back_a_completed_writer_with_identical_after_bytes: test
topology_context::analysis::tests::edge_work_budget_stops_repeated_expansion_not_just_output_storage: test
topology_context::analysis::tests::exact_edge_budget_includes_reference_boundaries_and_node_abort_has_no_bypass: test
topology_context::analysis::tests::unresolved_authored_edges_consume_work_budget_without_stored_output: test
validation::coverage::tests::malformed_self_reuse_is_bounded_even_without_structural_gate: test
view_options::tests::global_behavior_coverage_and_chosen_context_are_independent_intersecting_predicates: test
view_options::tests::hidden_identity_survives_label_and_category_changes_without_mutating_the_model: test
view_options::tests::no_lines_and_explicit_trace_selection_include_actual_trace_identities: test
view_options::tests::omission_reasons_distinguish_missing_placements_folded_edges_and_explicit_hides: test
view_options::tests::persisted_empty_selectors_and_lifecycle_never_widen_to_all: test
view_options::tests::reusable_sequences_and_nested_scenarios_use_listed_contributions_in_both_layers: test
view_options::tests::separate_category_families_obey_all_any_empty_and_union_truth_table: test
view_options::tests::traceability_defaults_preserve_both_layers_and_explicit_selectors_still_apply: test
view_options::tests::wrong_family_layer_and_unknown_references_reject_and_draft_filters_fail_closed: test
114 tests, 0 benchmarks
@@ -0,0 +1,150 @@
{
"source": "2c515cf3bdb3f707beee320be8fed90cffb40757",
"head_after": "2c515cf3bdb3f707beee320be8fed90cffb40757",
"start": "2026-09-13T03:54:59.495029+00:00",
"end": "2026-09-13T04:05:14.328984+00:00",
"exit": 0,
"command": [
"cargo",
"test",
"--locked",
"-p",
"oa-core",
"--lib",
"--",
"--list"
],
"inputs": "list-2c515cf-r2.inputs.json",
"changed_inputs": [],
"artifacts": [
{
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-73987e0d7089bf1e.exe",
"bytes": 35395072,
"sha256": "5d8727a17a7131fa44e6c9fb1bd7cd126e8c531fea82848f837db495f3dc776e"
}
],
"environment": {
"CARGO_TARGET_DIR": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913",
"CARGO_BUILD_JOBS": "1",
"CARGO_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
"RUSTUP_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup"
},
"listing_members": [
"analysis::admission::meter_tests::call_key_scan_and_argument_lookup_have_separate_precharges",
"analysis::admission::meter_tests::relation_subject_resolution_charges_each_hop_and_bounds_cycles",
"analysis::admission::meter_tests::static_meter_exact_boundary_zero_charge_and_exhaustion_latch",
"analysis::admission::meter_tests::wide_expression_children_are_charged_before_they_are_queued",
"analysis::tests::affine_definitions_require_linear_matching_difference_and_valid_units",
"analysis::tests::anonymous_dimension_algebra_and_affine_rules_share_pure_runtime_helpers",
"analysis::tests::calculations_are_pure_parameters_are_scoped_and_calls_bind_exactly",
"analysis::tests::complete_real_model_roundtrips_and_exposes_explicit_effective_bindings",
"analysis::tests::deletion_requires_explicit_repairs_in_the_same_atomic_batch",
"analysis::tests::empty_lists_require_context_and_lists_are_flat_bounded_homogeneous",
"analysis::tests::equal_dimensions_do_not_create_nominal_compatibility",
"analysis::tests::every_case_is_checked_and_baseline_edits_cannot_introduce_a_case_only_cycle",
"analysis::tests::existing_transport_record_limits_count_definitions_parameters_overrides_and_nodes",
"analysis::tests::frozen_schema7_upgrades_without_interpreting_descriptive_metadata",
"analysis::tests::global_reidentify_rewrites_typed_domains_but_preserves_scoped_parameters",
"analysis::tests::layers_subject_kinds_and_display_units_are_strict",
"analysis::tests::logical_depth_and_call_depth_have_exact_boundaries",
"analysis::tests::map_key_collision_is_rejected_before_any_reference_mutation",
"analysis::tests::narrow_override_commands_preserve_missing_clear_and_history",
"analysis::tests::static_types_do_not_evaluate_domain_conditions_or_check_truth",
"analysis::tests::static_work_is_lowerable_deterministic_and_aggregated_across_cases",
"analysis::tests::stored_closure_limit_aggregates_distinct_called_definitions",
"analysis::tests::unsupported_transition_and_header_only_review_fail_explicitly",
"analysis::tests::unused_branches_still_reject_wrong_types_references_and_cycles",
"analysis::tests::wire_contract_rejects_unknown_imports_duplicates_missing_fields_and_noncanonical_exact",
"analysis_numeric::tests::affine_conversion_rejects_a_wider_stage_even_when_the_final_value_would_fit",
"analysis_numeric::tests::affine_point_and_difference_arithmetic_has_distinct_kinds",
"analysis_numeric::tests::anonymous_product_then_quotient_closes_and_preserves_scaling",
"analysis_numeric::tests::arithmetic_matches_independent_small_integer_oracle",
"analysis_numeric::tests::both_reduced_component_overflows_are_reported",
"analysis_numeric::tests::c1_expanded_call_witness_terminates_at_dynamic_limit",
"analysis_numeric::tests::canonical_wire_rejects_both_component_noncanonical_forms",
"analysis_numeric::tests::cross_products_cancel_before_reduced_component_limit",
"analysis_numeric::tests::decimals_are_exact_and_source_ratios_reduce",
"analysis_numeric::tests::dimensions_use_checked_seven_axis_integer_algebra",
"analysis_numeric::tests::duration_unit_coordinates_are_exact_and_nominal",
"analysis_numeric::tests::exact_accounting_boundary_and_terminal_failure_are_stable",
"analysis_numeric::tests::full_8193_bit_sum_intermediate_can_reduce_to_admitted_value",
"analysis_numeric::tests::full_independent_r7_packets_round_trip_as_literals_and_wire",
"analysis_numeric::tests::literal_reader_does_not_fold_expression_unary_minus",
"analysis_numeric::tests::literal_syntax_and_decimal_exponent_are_bounded",
"analysis_numeric::tests::multiple_targets_share_one_aggregate_meter",
"analysis_numeric::tests::nominal_kinds_survive_comparison_but_explicit_quotients_can_erase_dimension",
"analysis_numeric::tests::numeric_precharge_precedes_big_integer_result_allocation",
"analysis_numeric::tests::numerical_power_types_and_dimension_overflow_are_checked",
"analysis_numeric::tests::powers_and_signs_have_explicit_domains",
"analysis_numeric::tests::provisional_limits_and_effective_limits_round_trip",
"analysis_numeric::tests::r6_anonymous_compound_energy_needs_one_outer_assertion",
"analysis_numeric::tests::serde_uses_closed_canonical_string_wire",
"analysis_numeric::tests::wire_rejects_4097_bits_before_gcd_can_reduce_them",
"analysis_numeric::tests::zero_cost_and_maximum_reservation_do_not_underflow_or_reactivate",
"language::analysis_source::tests::budgets_aggregate_across_fragments_and_latch_numeric_exhaustion",
"language::analysis_source::tests::byte_token_frame_logical_and_list_boundaries_have_nearby_successes",
"language::analysis_source::tests::every_expression_shape_and_exact_constructor_arity_is_represented",
"language::analysis_source::tests::flat_binary_depth_and_malformed_constructor_retain_bounded_completed_children",
"language::analysis_source::tests::mixed_precedence_and_grouping_have_independent_expected_child_topology",
"language::analysis_source::tests::partial_wide_and_deep_input_cleanup_does_not_poison_a_fresh_parse",
"language::analysis_source::tests::public_source_headers_and_existing_numeric_token_controls_are_unchanged",
"language::analysis_source::tests::raw_numeric_lexing_preserves_exact_atoms_and_operator_boundaries",
"language::analysis_source::tests::repeated_call_argument_occurrences_have_distinct_original_spans",
"language::analysis_source::tests::significant_ratio_and_quantity_trivia_preserve_original_spans",
"language::analysis_source::tests::unary_literals_precedence_and_comparison_children_keep_distinct_trees",
"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::containment_validation_rejects_allocation_like_or_cross_layer_nesting",
"language::nesting_tests::declarations_are_preorder_occurrences_with_real_own_field_and_body_spans",
"language::nesting_tests::deep_declaration_parsing_and_positions_use_a_bounded_rust_stack",
"language::nesting_tests::matching_explicit_parent_is_accepted_but_none_or_another_owner_is_located",
"language::nesting_tests::nested_aliases_remain_global_and_forward_references_remain_legal",
"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::nested_record_admission_precedes_resolution_and_typed_depth_stays_bounded",
"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",
"language::nesting_tests::syntax_edit_positions_retain_duplicate_identity_occurrences_during_a_command",
"language::nesting_tests::tolerant_nested_analysis_retains_closed_children_before_an_unfinished_sibling",
"persistence::json_codec::tests::codec_lifecycle_subprocess",
"persistence::json_codec::tests::json_profile_does_not_contract_declared_cli_collection_counts",
"persistence::json_codec::tests::production_save_always_reopens_with_its_reader_profile",
"persistence::json_codec::tests::remote_serde_keeps_each_existing_expression_variant",
"persistence::json_codec::tests::resource_preflight_has_exact_lowerable_boundaries",
"persistence::json_codec::tests::scanner_is_not_a_parallel_json_grammar",
"persistence::source_save_tests::equal_project_from_generated_legacy_source_still_rejects_migration",
"persistence::source_save_tests::generated_source_admission_checks_final_newline_under_the_effective_byte_limit",
"persistence::source_save_tests::malformed_generated_source_rejects_before_any_filesystem_staging",
"persistence::source_save_tests::parseable_source_omitting_a_definition_cannot_replace_the_whole_project",
"semantic::catalog::coverage::every_current_payload_field_has_a_closed_typed_capture_and_write_scope",
"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::journal_publication_does_not_replace_empty_target_created_after_precheck",
"source_files::transaction_tests::journal_publication_exhaustion_and_permanent_errors_keep_stage_and_report_original_path",
"source_files::transaction_tests::journal_publication_never_replaces_another_journal_that_appears_during_retry",
"source_files::transaction_tests::journal_publication_retries_only_transient_windows_errors_before_transferring_ownership",
"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",
"topology_context::analysis::tests::edge_work_budget_stops_repeated_expansion_not_just_output_storage",
"topology_context::analysis::tests::exact_edge_budget_includes_reference_boundaries_and_node_abort_has_no_bypass",
"topology_context::analysis::tests::unresolved_authored_edges_consume_work_budget_without_stored_output",
"validation::coverage::tests::malformed_self_reuse_is_bounded_even_without_structural_gate",
"view_options::tests::global_behavior_coverage_and_chosen_context_are_independent_intersecting_predicates",
"view_options::tests::hidden_identity_survives_label_and_category_changes_without_mutating_the_model",
"view_options::tests::no_lines_and_explicit_trace_selection_include_actual_trace_identities",
"view_options::tests::omission_reasons_distinguish_missing_placements_folded_edges_and_explicit_hides",
"view_options::tests::persisted_empty_selectors_and_lifecycle_never_widen_to_all",
"view_options::tests::reusable_sequences_and_nested_scenarios_use_listed_contributions_in_both_layers",
"view_options::tests::separate_category_families_obey_all_any_empty_and_union_truth_table",
"view_options::tests::traceability_defaults_preserve_both_layers_and_explicit_selectors_still_apply",
"view_options::tests::wrong_family_layer_and_unknown_references_reject_and_draft_filters_fail_closed"
],
"listing_count": 114,
"listing_scope": "Names emitted by this actual Cargo test listing; focused/full runtime results have their own receipts."
}
@@ -0,0 +1,13 @@
{
"source": "2c515cf3bdb3f707beee320be8fed90cffb40757",
"attempt": "list-2c515cf",
"cargo_started": false,
"cargo_exit": null,
"launcher_exit": 1,
"observed_error": "IndexError at sys.argv[4] while eagerly constructing the unused focused command",
"scope": "Original invocation failed before Cargo spawn and input capture; no test result existed.",
"original_helper": {
"path": ".local/run-analysis-source-gate.before-argument-fix-20260913.py",
"sha256": "a6f93027bea7903d955cee992e5843bf9bbbf4c3a303b6297c85d7124bab431b"
}
}
@@ -0,0 +1,20 @@
{
"source": "2c515cf3bdb3f707beee320be8fed90cffb40757",
"mode": "focused",
"artifact": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-73987e0d7089bf1e.exe",
"bytes": 35395072,
"sha256": "5d8727a17a7131fa44e6c9fb1bd7cd126e8c531fea82848f837db495f3dc776e"
},
"result_sha256": "ba1fa717c89231dc1389b94cf0f17e1481045634fe4822a3a791943de0411d54",
"log_sha256": "6bce9d0ee5c3c6dfa453a95cee7d4c2673fe16cd8c4079cf35e6284abadc73d8",
"inputs_sha256": "1c1c33e802a3eb662dd4b917ea66e662a47ac56b8243f4618fc85ea17d165360",
"verified_inputs": 518,
"names": [
"persistence::source_save_tests::equal_project_from_generated_legacy_source_still_rejects_migration",
"persistence::source_save_tests::generated_source_admission_checks_final_newline_under_the_effective_byte_limit",
"persistence::source_save_tests::malformed_generated_source_rejects_before_any_filesystem_staging",
"persistence::source_save_tests::parseable_source_omitting_a_definition_cannot_replace_the_whole_project"
],
"admission_helper_sha256": "e74525d4a4aed0f6ffa333dad7dfb2184835397b0fd5f6002cfe1fa51d60a35a"
}
@@ -0,0 +1,11 @@
Finished `test` profile [unoptimized] target(s) in 2.68s
Running unittests src\lib.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\analysis-checked-save-target-20260913\debug\deps\oa_core-73987e0d7089bf1e.exe)
running 4 tests
test persistence::source_save_tests::equal_project_from_generated_legacy_source_still_rejects_migration ... ok
test persistence::source_save_tests::generated_source_admission_checks_final_newline_under_the_effective_byte_limit ... ok
test persistence::source_save_tests::malformed_generated_source_rejects_before_any_filesystem_staging ... ok
test persistence::source_save_tests::parseable_source_omitting_a_definition_cannot_replace_the_whole_project ... ok
test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 110 filtered out; finished in 0.48s
@@ -0,0 +1,36 @@
{
"source": "2c515cf3bdb3f707beee320be8fed90cffb40757",
"head_after": "2c515cf3bdb3f707beee320be8fed90cffb40757",
"start": "2026-09-13T04:13:14.593544+00:00",
"end": "2026-09-13T04:13:18.969003+00:00",
"exit": 0,
"command": [
"cargo",
"test",
"--locked",
"-p",
"oa-core",
"--lib",
"persistence::source_save_tests",
"--",
"--test-threads=1"
],
"inputs": "save-guard-2c515cf.inputs.json",
"changed_inputs": [],
"artifacts": [
{
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-73987e0d7089bf1e.exe",
"bytes": 35395072,
"sha256": "5d8727a17a7131fa44e6c9fb1bd7cd126e8c531fea82848f837db495f3dc776e"
}
],
"environment": {
"CARGO_TARGET_DIR": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913",
"CARGO_BUILD_JOBS": "1",
"CARGO_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
"RUSTUP_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup"
},
"listing_members": [],
"listing_count": 0,
"listing_scope": "Names emitted by this actual Cargo test listing; focused/full runtime results have their own receipts."
}
@@ -0,0 +1,39 @@
Checking windows-link v0.2.1
Checking windows-sys v0.61.2
Checking cfg-if v1.0.4
Checking serde_core v1.0.229
Checking num-traits v0.2.19
Checking getrandom v0.4.3
Checking psm v0.1.32
Checking num-integer v0.1.47
Checking zmij v1.0.23
Checking libc v0.2.189
Checking winapi-util v0.1.11
Checking memchr v2.8.3
Checking once_cell v1.21.4
Checking sha1_smol v1.0.1
Compiling oa-core v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\analysis-core-worktree-20260911\crates\oa-core)
Checking itoa v1.0.18
Checking fastrand v2.5.0
Checking tempfile v3.27.0
Checking serde_json v1.0.151
Checking uuid v1.26.0
Checking same-file v1.0.6
Checking thiserror v2.0.20
Checking serde v1.0.229
Checking stacker v0.1.25
Checking num-bigint v0.5.1
error: variant name ends with the enum's name
--> crates\oa-core\src\language\analysis_source.rs:86:5
|
86 | / AsKind {
87 | | kind: Reference,
88 | | value: Box<Expression>,
89 | | },
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.98.0/index.html#enum_variant_names
= note: `-D clippy::enum-variant-names` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::enum_variant_names)]`
error: could not compile `oa-core` (lib test) due to 1 previous error
@@ -0,0 +1,30 @@
{
"source": "2c515cf3bdb3f707beee320be8fed90cffb40757",
"head_after": "2c515cf3bdb3f707beee320be8fed90cffb40757",
"start": "2026-09-13T04:16:51.983747+00:00",
"end": "2026-09-13T04:28:57.927880+00:00",
"exit": 101,
"command": [
"cargo",
"clippy",
"--locked",
"-p",
"oa-core",
"--all-targets",
"--",
"-D",
"warnings"
],
"inputs": "strict-2c515cf.inputs.json",
"changed_inputs": [],
"artifacts": [],
"environment": {
"CARGO_TARGET_DIR": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913",
"CARGO_BUILD_JOBS": "1",
"CARGO_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
"RUSTUP_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup"
},
"listing_members": [],
"listing_count": 0,
"listing_scope": "Names emitted by this actual Cargo test listing; focused/full runtime results have their own receipts."
}
@@ -0,0 +1,27 @@
{
"source": "2c515cf3bdb3f707beee320be8fed90cffb40757",
"mode": "focused",
"artifact": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-73987e0d7089bf1e.exe",
"bytes": 35395072,
"sha256": "5d8727a17a7131fa44e6c9fb1bd7cd126e8c531fea82848f837db495f3dc776e"
},
"result_sha256": "4126b8b0cf2d815f782c83cd7425c6cb5e7a6cd287bd838599f7694d8ecdd7df",
"log_sha256": "1c1d43fb5085097af3a14dd63f66ad820cdcd171bd3fd7f8d319ef9d4153c50e",
"inputs_sha256": "1c1c33e802a3eb662dd4b917ea66e662a47ac56b8243f4618fc85ea17d165360",
"verified_inputs": 518,
"names": [
"language::analysis_source::tests::budgets_aggregate_across_fragments_and_latch_numeric_exhaustion",
"language::analysis_source::tests::byte_token_frame_logical_and_list_boundaries_have_nearby_successes",
"language::analysis_source::tests::every_expression_shape_and_exact_constructor_arity_is_represented",
"language::analysis_source::tests::flat_binary_depth_and_malformed_constructor_retain_bounded_completed_children",
"language::analysis_source::tests::mixed_precedence_and_grouping_have_independent_expected_child_topology",
"language::analysis_source::tests::partial_wide_and_deep_input_cleanup_does_not_poison_a_fresh_parse",
"language::analysis_source::tests::public_source_headers_and_existing_numeric_token_controls_are_unchanged",
"language::analysis_source::tests::raw_numeric_lexing_preserves_exact_atoms_and_operator_boundaries",
"language::analysis_source::tests::repeated_call_argument_occurrences_have_distinct_original_spans",
"language::analysis_source::tests::significant_ratio_and_quantity_trivia_preserve_original_spans",
"language::analysis_source::tests::unary_literals_precedence_and_comparison_children_keep_distinct_trees"
],
"admission_helper_sha256": "e74525d4a4aed0f6ffa333dad7dfb2184835397b0fd5f6002cfe1fa51d60a35a"
}
@@ -0,0 +1,18 @@
Finished `test` profile [unoptimized] target(s) in 2.13s
Running unittests src\lib.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\analysis-checked-save-target-20260913\debug\deps\oa_core-73987e0d7089bf1e.exe)
running 11 tests
test language::analysis_source::tests::budgets_aggregate_across_fragments_and_latch_numeric_exhaustion ... ok
test language::analysis_source::tests::byte_token_frame_logical_and_list_boundaries_have_nearby_successes ... ok
test language::analysis_source::tests::every_expression_shape_and_exact_constructor_arity_is_represented ... ok
test language::analysis_source::tests::flat_binary_depth_and_malformed_constructor_retain_bounded_completed_children ... ok
test language::analysis_source::tests::mixed_precedence_and_grouping_have_independent_expected_child_topology ... ok
test language::analysis_source::tests::partial_wide_and_deep_input_cleanup_does_not_poison_a_fresh_parse ... ok
test language::analysis_source::tests::public_source_headers_and_existing_numeric_token_controls_are_unchanged ... ok
test language::analysis_source::tests::raw_numeric_lexing_preserves_exact_atoms_and_operator_boundaries ... ok
test language::analysis_source::tests::repeated_call_argument_occurrences_have_distinct_original_spans ... ok
test language::analysis_source::tests::significant_ratio_and_quantity_trivia_preserve_original_spans ... ok
test language::analysis_source::tests::unary_literals_precedence_and_comparison_children_keep_distinct_trees ... ok
test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 103 filtered out; finished in 0.26s
@@ -0,0 +1,36 @@
{
"source": "2c515cf3bdb3f707beee320be8fed90cffb40757",
"head_after": "2c515cf3bdb3f707beee320be8fed90cffb40757",
"start": "2026-09-13T04:06:57.957044+00:00",
"end": "2026-09-13T04:07:01.221096+00:00",
"exit": 0,
"command": [
"cargo",
"test",
"--locked",
"-p",
"oa-core",
"--lib",
"language::analysis_source::tests",
"--",
"--test-threads=1"
],
"inputs": "syntax-2c515cf.inputs.json",
"changed_inputs": [],
"artifacts": [
{
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-73987e0d7089bf1e.exe",
"bytes": 35395072,
"sha256": "5d8727a17a7131fa44e6c9fb1bd7cd126e8c531fea82848f837db495f3dc776e"
}
],
"environment": {
"CARGO_TARGET_DIR": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913",
"CARGO_BUILD_JOBS": "1",
"CARGO_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
"RUSTUP_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup"
},
"listing_members": [],
"listing_count": 0,
"listing_scope": "Names emitted by this actual Cargo test listing; focused/full runtime results have their own receipts."
}
@@ -0,0 +1,67 @@
# Independent critique of the Source8 persistence repair
Reviewed proposal SHA-256 **`db2e2662e5b25d24ca9a6a9cea1d7f97b18e714ffcd052e9dfc387b5fe7b3089`** in [the frozen design](analysis-source8-repair-design-20260913.md) against clean isolated source **`847b1caa7e75bb82f6ce5193c45bcfc45973ad1a`** in `.local/analysis-core-worktree-20260911`. Read actual analysis types/admission/numeric literals, language lexer/lowering, source indexing/migration, persistence and the relevant user requirements/DECISIONS. No parser, compiler, tests, UI, source edits or Gitea actions were run. This is a design critique, not source8 acceptance.
**Recommendation:** retain the typed declaration/infix-expression adapter and public reopening guard. I found no reason to replace that direction with tagged JSON-shaped source. Resolve the two concrete specification/evaluator gaps below before treating the proposal as a compatible implementation contract. The already acknowledged resource-profile decisions remain adoption gates; they are not evidence that bounded parsing exists.
## Actionable revisions
### P2 — The literal-trivia boundary is not specified consistently enough for independent parsers
The expression table says to send an atom's spelling to `Exact::parse_literal`; the source-update contract retains expression whitespace/comments; the lexer section requires independent punctuation/operator tokens. Actual `analysis_numeric/exact.rs:106–124` accepts a ratio only when the trimmed string begins with the exact contiguous bytes `ratio(` and ends with `)`. It splits the raw interior at one comma and trims ASCII whitespace; neither token separation after `ratio` nor comments inside the raw spelling are supported by that routine.
Concrete discriminators:
```text
ratio (1, 2)
ratio(1, // numerator rationale
2)
750 // source measurement
[@millisecond]
```
The existing lexer recognizes `//` comments (`language.rs:168–171`), so these are relevant existing trivia forms, not a request for a new comment syntax. A typed parser that skips significant-token trivia and reconstructs a numeric atom can admit the first two; a parser that passes their complete original span to Exact rejects them. Both can plausibly follow the present prose. Constructor/quantity-boundary trivia needs one explicit policy.
**Minimal revision:** specify significant-token grammar for ratio numerator/denominator, token adjacency for decimal/scientific atoms, and legal trivia positions. Prefer allowing normal whitespace/comments between ratio constructor tokens and before the quantity suffix, while keeping a decimal/scientific atom indivisible. Feed a bounded normalized *numeric-only* spelling to the existing metered Exact parser; retain original spans/trivia for source editing. Charge raw bytes/trivia under the syntactic budget and numeric token work under the shared literal meter. This does not mean normalize persisted text. If atom-contiguous spelling is intentionally required instead, explicitly reject the spaced/commented forms with located diagnostics and document that restriction. Test both parse and alias-only rewrite of the accepted trivia cases.
### P2 — The worked example is not exactly the existing 17-UUID Project fixture
The example's **17 UUIDs are unique and its UUID set exactly matches** the independent `analysis/tests.rs:101` fixture. Its typed relationships also agree on inspection: four definitions, two scoped parameters, three activities, four properties, one check and two cases; millisecond scale 1/1000; 750/1000 + 1 = 7/4 and 1250/1000 + 1 = 9/4 are arithmetic expectations, not evaluated program results. Parent containment, argument ParameterIds and Unbound override agree.
However, helpers `analysis/tests.rs:50–77` set every definition/element **name equal to its alias**. The source example gives human display names such as `"Combine durations"`, `"Receive time"`, `"Response budget"` and `"Degraded radio"`. All 14 non-project named records therefore differ from the existing fixture's display names. The project's name itself matches. A direct whole-Project equality check against unchanged `fixture().project` will fail correctly.
**Minimal revision:** explicitly choose the complete expected source fixture, including all display names. Either use the existing alias-valued names in the example or independently assign the 14 intended display names in the Rust expected Project builder. Prefer the latter to keep the example readable. Do not normalize/ignore names in equality or derive the expected Project through the new parser. State “same IDs/bindings with explicit display-name changes” instead of implying identity with the unchanged existing fixture.
## Central syntax and semantic assessment
The user requires low-noise human/AI text, Git-friendly edits, one unambiguous specification, quantities/calculations, graphical equivalence and API parity (`PROJECT_GOAL.md:631–671`). DECISIONS at the isolated source's analysis convergence/staging sections already accepts property-owned bases, complete-case maps, shared checks, pure calculation parameters, exact rational AST identity and closed Local definitions. The proposal appropriately keeps these semantics; short declaration words, parameter header spelling, module filenames and parse-resource implementation remain new choices.
The typed grammar covers the actual `DefinitionBody`, `AnalysisType`, `Binding` and all 13 `Expr` variants in `analysis/types.rs`. It preserves Number(-1) as `ratio(-1, 1)` versus Unary Negate as `-(1)`, rather than algebraically conflating ASTs. Explicit Sum initial values, signed bounded Power exponent, literal-only Quantity magnitude, declared nominal kind and named call arguments correspond to actual types. No evaluator/imported package architecture needs inventing for this repair.
I attempted the main structural counterexamples and found explicit handling: duplicate call/override keys reject before BTreeMap insertion (proposal line 143); reused ParameterIds are calculation-scoped; all declarations/parameter headers resolve before bodies; forward calls have the called calculation's parameter names; missing required fields do not come from guessed factory defaults; implicit case inheritance and Unbound remain different; every branch/case is checked by existing admission. Calculation purity and same-layer analysis references remain delegated to the real admission code (`analysis/admission.rs:395–420,469–510` and subsequent binding checks).
For an exact grammar appendix, give explicit associativity/parenthesization examples: `(1 < 2) == true`, `(true == false) == true`, `1 - (2 - 3)`, and `(1 - 2) - 3`. The writer's “enough parentheses” rule must include a **left** equality/ordering child when unparenthesized comparison chains are forbidden, not only the right equal-precedence child. This is a useful mandatory roundtrip discriminator, not a demonstrated contradiction in the current prose.
Compared alternatives:
- **Typed declarations + infix:** least formula noise, direct typed lowering, readable diffs; costs a real precedence parser and trivia-aware editor. Retain it with discriminating AST/trivia tests.
- **All-prefix typed expressions** such as `add(property(@a), property(@b))`: simpler precedence proof and potentially simpler subtree serialization, but ordinary engineering formulas become dominated by constructors. It does not remove scoped-ID resolution or token-update work. Reserve constructor syntax for inherently non-infix operations, as proposed.
- **Tagged JSON-shaped source:** trivially resembles wire structure but retains exact-number/scoped-reference hazards while adding tags and maps to routine formulas. It would preserve neither the user's noise criterion nor editing simplicity. The independent JSON API already serves interchange.
I would not add unadmitted long-name synonyms solely for presumed compatibility: no accepted source uses them at this pin. Short canonical names alone are a smaller initial contract unless root identifies an actual compatibility consumer. This is a reversible grammar preference, not a blocker.
## Source editing, old versions and safety
The explicit definition record category repairs a real source-update seam: `source_project.rs:815–837` currently falls through to the placement class for definitions. Owner-qualified parameter identity plus typed Expr paths is the correct direction. Require full source-location keys to include owning declaration/field/Expr call-site path, then called-calculation/ParameterId: `@combine(a: 1, b: 2) + @combine(a: 3, b: 4)` has two argument-key spans with the same callee/parameter pair. The proposal already asks for Expr paths; the implementation must not collapse these occurrences into a global pair-key map. Include parameter name swapping and repeated calls in the token-update discriminator; expected source remains independent of the new formatter.
The old-version contract is sound on paper. `migration_v7.rs:9–42` is already a closed old top-level DTO that inserts an empty catalog only after admission. Source3's current serialize-current-Project-to-legacy conversion at `language.rs:1836` is a genuine leakage boundary; the proposal explicitly calls for a frozen envelope repair rather than silently dropping definitions. Retain tests that reject even empty/null new catalogs and new declaration constructors under old headers. Contextual keywords must not expand `model::reserved_alias` and invalidate old aliases; old coordinate numeric syntax must remain unchanged despite the shared lexer split.
The checked-save guard is correctly placed conceptually: exact generated bytes including the final newline must publicly decode with no migration and compare equal to the requested complete Project **before** temporary output is created/replaced. Existing `persistence.rs:952–979` presently formats, then writes/syncs, checks expected bytes and persists without this reopening check. Test both unparseable output and parseable-but-lossy output; checking only the returned writer bytes or object counts cannot catch omission of definitions. Keep all wrappers on the guarded path and preserve the existing conflict check. The proposal correctly does not claim a filesystem compare-and-swap guarantee. Modular `source_files` save must keep its complete-bundle gate and file transaction, without flattening includes.
## Resource and release gates
The design properly distinguishes logical Expr depth, redundant syntactic grouping depth, whole-bundle aggregate literal work and runtime evaluation fuel. Existing limits include dimension exponents -32..32 (`analysis_numeric/dimension.rs:31–46`), component digits 1234 and literal bytes `2 * 1234 + 32`, provisional static events one million, and logical analysis limits. These facts do not determine a safe aggregate source parser profile.
Before enabling public source8, root must settle and record the actual shared source limits and their connection to lowered `ParseLimits`; the current struct at `language.rs:26–38` has only source bytes, graph objects, records and step references. No safe implementation can silently reset an aggregate meter per field/module or let the public UNLIMITED convenience path disable hard semantic/numeric safeguards. Include duplicate-key floods, redundant grouping, deep failure cleanup, many maximum-size exact atoms distributed across includes, and a near-limit successful case. Profile numbers require measured evidence; I do not invent acceptance thresholds from source inspection.
Keep `DEPTH_128_VALIDATED` unchanged. A source8 persistence slice with an explicitly bounded/deferred deep JSON transport is not full native/API/source parity, and an exact-only static catalog is not evaluated engineering behavior or the complete release. The design acknowledges these limits correctly. The most useful next action is the two small contract/oracle corrections, root adoption of bounded syntax/resource policy, and one owned parser/writer/index/update/save implementation slice with the unchanged failed checked-save regression retained as its acceptance target.
@@ -0,0 +1,32 @@
# Independent S1 immutable-source review
2026-09-13. Reviewer: Codex-956atf `/root/source8_syntax_review`, GPT-6 Astra. Parent owns synthesis, integration, compiler leases and Gitea. Review pin: `02b9d5ce4c73d0446146b13b46a228e6fd4d7735`, parent `112e0d910bd2b2c9a191f29536fecb0fbc0177b0`. All implementation observations below come from `git show` of that pin, not a mutable working-tree copy. The six-file diff contains 1,345 insertions.
**Outcome: no blocking S1 source defect found in this bounded review.** This is source-review evidence only: no compilation, tests, timing, memory measurement, native UI, source edits or Gitea writes. It neither establishes executable correctness nor approves public source8 exposure. Read root AGENTS.md, the r2 design and the S0/S1 handoff. Existing semantic types and exact-literal implementation were checked at the same pin. Shared coordination remains the parent's responsibility under the delegated review scope.
## Examined invariants
- `syntax.rs:159–204,531–550`: Pratt continuation uses precedence+1 for the right operand, preserving left association and right-grouped trees. Comparison rejection checks both children; grouping annotates the particular completed node and does not propagate to a newly constructed parent. Source inspection distinguishes `1 - (2 - 3)` from `1 - 2 - 3`, `(1 < 2) == true` from `1 < 2 == true`, and `true == (1 < 2)` from `true == 1 < 2`. The twelve operator mappings match the existing BinaryOp variants.
- `syntax.rs:62–156,285–336,433–508`; `analysis_source.rs:46–88`: all thirteen Expr shapes are represented without numeric folding or conversion through JSON/f64. Prefix minus creates Unary; a negative ratio produces Number. Quantity suffixes are consumed only by the literal path, so `(1 + 2)[@unit]` cannot silently become a quantity with an expression magnitude. Sum requires its initial expression; constructor arity, trailing commas and signed integer Power bounds reject locally. Alias and parameter resolution is deliberately absent.
- `lex.rs:16–138`; `syntax.rs:388–432`: a decimal/scientific atom comes from one contiguous raw numeric token. `1e-2` remains one token while `1-2` separates; malformed adjacency such as `1_0`, `0x1`, `1.2.3` rejects. Ratio components require integer digit tokens with an optional numerator minus, and bounded component lengths precede reconstruction. The reconstruction length constant correctly accounts for `ratio(`, comma+space and closing parenthesis. Original full literal and component/punctuation spans survive comments; only numeric spelling reaches the shared Exact meter.
- `syntax.rs:227–268,367–386`: call argument names are checked for duplicate insertion before value parsing. Attempted entries and references are charged before name allocation. Repeated call sites retain separate callee/key spans because spans come from each occurrence rather than a callee/name lookup. This is enough syntax information for subsequent owner/path qualification; it does not itself implement that qualification or rename transactions.
- `budget.rs:71–136`; `lex.rs:17–32`: byte/token/entry/reference counters share one explicit Budget across parse calls, reserve before relevant allocation, and cap arithmetic through subtraction before addition. Resource exhaustion latches; numeric admission uses one WorkMeter. Comments consume raw bytes and lexical trivia tokens. No per-literal reset or counter-overflow route was found through the intended methods.
- `syntax.rs:48–337,443–479`: parser descent is an explicit task/value machine. Frames bound nested syntax; completed Expression children are checked before an accepted parent can exceed logical depth128. A failing proposed parent may own depth128 children, so its teardown has at most the one additional rejected parent layer. Flat binary trees cannot grow accepted depth without that check, and unfinished Sequence/Task containers hold bounded accepted child trees rather than a recursively nested task chain. This structural argument does not replace adverse-input execution and cleanup/RSS measurement.
- `language.rs:4–7`: the only shared-language delta is the cfg(test) module hook. Existing public header rejection and generic tokenization implementations are unchanged in the reviewed diff. The test-staged raw lexer is not yet a tolerant public tokenizer, declaration grammar or public source8 reader; those gaps are acknowledged S2/S3/integration work, not regressions introduced by this pin.
## Nonblocking verification improvements before grammar exposure
1. **Assert mixed-precedence topology, not only parse success.** At `tests.rs:157–169`, `1 + 2 * 3` and `not(false) and true or false` only have successful parsing checked. Those assertions would also pass with several incorrect precedence tables. Add independently matched trees for those inputs and `-1 * 2`, `1 / 2 * 3`, `1 + (2 + 3)`; check actual operators and child placement. The current implementation looks correct by inspection, so this is an oracle-strengthening recommendation rather than a reproduced grammar defect.
2. **Add a flat-binary depth boundary and a deep completed-child failure case.** `tests.rs:306–390` covers unary128/129, redundant groups256/257 and truncated wide syntax. Add 128 Boolean leaves joined by `and` (depth128 success), 129 leaves (logical rejection), and a constructor holding a completed depth128 subtree followed by a malformed second argument. These exercise Binary task ownership and teardown of completed deep children, which the existing short-prefix truncation test does not directly cover. Run them under the parent's executable/measurement gate; no stack or performance result is inferred here.
## Retained acceptance boundaries
The nine authored tests remain unrun in this review. Full declaration/type parsing, short-word registration, qualified scoped resolution, canonical AST-preserving writing, source indexes/edits, full-bundle aggregate charging, shared strict/tolerant tokenizer composition, old-version migration and guarded save remain outside this S1 pin. The r2 public whole-Project and literal-trivia update oracles remain necessary. Profile ceilings remain candidates pending measured adoption. No conclusion is offered on JSON depth enablement, Linux, evaluator behavior or native/API parity.
## Supplement: strengthened test oracles at 2c515cf
2026-09-13, same reviewer. Reviewed immutable commit `2c515cf3bdb3f707beee320be8fed90cffb40757` against its parent `e8a18a7`; the source delta is 87 added lines in `language/analysis_source/tests.rs`, comprising a destructuring helper and two tests. Read the reviewed pin's AGENTS.md. Original report bytes above are retained; pre-supplement SHA256 was `08eefcb8870fb3e2f68b04f79d2c095171a976bdeb52c555e19095c840603662`. The parent has preserved the original evidence in the versioned harness bundle.
**No new source finding. Both recommendations are addressed at the authored-test level.** `mixed_precedence_and_grouping_have_independent_expected_child_topology` checks exact operator/leaf placement for multiplicative-over-additive, unary-over-multiplicative, And-over-Or, equal-precedence left association and grouped right addition. Expected structure is written directly, not obtained from parser precedence metadata or a formatter. `flat_binary_depth_and_malformed_constructor_retain_bounded_completed_children` correctly expects 128 Boolean leaves under left-associated And to have depth128 and destructures all 127 Binary nodes, checking every right leaf and the final left leaf. The 129-leaf case reaches logical-depth rejection independently of frame/list ceilings.
For `sum({deep}, @)`, the first argument completes as depth128 and is owned by the pending Sequence before the second argument's reference name is rejected at `)`. Sum construction has not happened, so its potential depth129 does not preempt the intended cleanup path. The exact error and closing-token span discriminate this failure; the subsequent fresh parse is a useful recovery control. Runtime completion is still needed to establish that the teardown actually survives. No compiler, test execution, production source change or Gitea write was performed by this reviewer; original public-exposure and measurement boundaries remain open.
@@ -0,0 +1,69 @@
"""Bind one isolated analysis source gate to committed inputs and actual output."""
from pathlib import Path
from datetime import datetime, timezone
import hashlib
import json
import os
import re
import subprocess
import sys
base = Path(__file__).resolve().parent.parent
root = base / '.local/analysis-core-worktree-20260911'
source, name, mode = sys.argv[1:4]
assert re.fullmatch(r'[a-zA-Z0-9-]+', name)
assert subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=root).decode().strip() == source
out = base / '.local/analysis-source-gates-20260913'
out.mkdir(exist_ok=True)
assert not any((out / (name + s)).exists() for s in ('.inputs.json', '.log', '.result.json'))
prefix = ['cargo', 'test', '--locked', '-p', 'oa-core', '--lib']
commands = {
'list': prefix + ['--', '--list'],
'focused': prefix + [sys.argv[4], '--', '--test-threads=1'],
'full': prefix + ['--', '--test-threads=1'],
'clippy': ['cargo', 'clippy', '--locked', '-p', 'oa-core', '--all-targets', '--', '-D', 'warnings'],
}
command = commands[mode]
paths = subprocess.check_output(['git', 'ls-tree', '-r', '--name-only', source, 'Cargo.toml', 'Cargo.lock', 'rust-toolchain.toml', '.cargo', 'build', 'crates', 'assets', 'docs', 'examples', 'harness/fixtures'], cwd=root).decode().splitlines()
blobs = subprocess.check_output(['git', 'cat-file', '--batch'], cwd=root,
input=''.join(f'{source}:{p}\n' for p in paths).encode())
offset, inputs = 0, []
for path in paths:
end = blobs.index(b'\n', offset)
_, kind, size = blobs[offset:end].split()
assert kind == b'blob'
size = int(size)
raw = blobs[end + 1:end + 1 + size]
assert (root / path).read_bytes() == raw, path
inputs.append({'path': path, 'bytes': size, 'sha256': hashlib.sha256(raw).hexdigest()})
offset = end + size + 2
assert offset == len(blobs)
manifest = out / (name + '.inputs.json')
manifest.write_text(json.dumps({'source': source, 'inputs': inputs}, indent=2) + '\n', encoding='utf-8', newline='\n')
started = datetime.now(timezone.utc).isoformat()
print(json.dumps({'start': started, 'command': command, 'source': source, 'inputs': len(inputs)}), flush=True)
log_path = out / (name + '.log')
with log_path.open('xb') as stream:
run = subprocess.run(command, cwd=root, stdout=stream, stderr=subprocess.STDOUT)
ended = datetime.now(timezone.utc).isoformat()
changed = [i['path'] for i in inputs if hashlib.sha256((root / i['path']).read_bytes()).hexdigest() != i['sha256']]
head_after = subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=root).decode().strip()
log = log_path.read_text(encoding='utf-8', errors='replace')
members = re.findall(r'^([^\r\n]+): test\r?$', log, re.M) if mode == 'list' else []
artifacts = []
for match in re.findall(r'Running unittests [^\r\n]+ \(([^\r\n]+\.exe)\)', log):
path = Path(match)
if not path.is_absolute():
path = root / path
raw = path.read_bytes()
artifacts.append({'path': str(path), 'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()})
record = {'source': source, 'head_after': head_after, 'start': started, 'end': ended,
'exit': run.returncode, 'command': command, 'inputs': manifest.name,
'changed_inputs': changed, 'artifacts': artifacts,
'environment': {k: os.environ.get(k) for k in ['CARGO_TARGET_DIR', 'CARGO_BUILD_JOBS', 'CARGO_HOME', 'RUSTUP_HOME']},
'listing_members': members, 'listing_count': len(members),
'listing_scope': 'Names emitted by this actual Cargo test listing; focused/full runtime results have their own receipts.'}
(out / (name + '.result.json')).write_text(json.dumps(record, indent=2) + '\n', encoding='utf-8', newline='\n')
print(log[-14000:])
print(json.dumps({k:v for k,v in record.items() if k != 'listing_members'}))
sys.exit(run.returncode or int(bool(changed) or head_after != source))
@@ -0,0 +1,69 @@
"""Bind one isolated analysis source gate to committed inputs and actual output."""
from pathlib import Path
from datetime import datetime, timezone
import hashlib
import json
import os
import re
import subprocess
import sys
base = Path(__file__).resolve().parent.parent
root = base / '.local/analysis-core-worktree-20260911'
source, name, mode = sys.argv[1:4]
assert re.fullmatch(r'[a-zA-Z0-9-]+', name)
assert subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=root).decode().strip() == source
out = base / '.local/analysis-source-gates-20260913'
out.mkdir(exist_ok=True)
assert not any((out / (name + s)).exists() for s in ('.inputs.json', '.log', '.result.json'))
prefix = ['cargo', 'test', '--locked', '-p', 'oa-core', '--lib']
commands = {
'list': prefix + ['--', '--list'],
'focused': prefix + [sys.argv[4] if len(sys.argv) > 4 else 'analysis_source', '--', '--test-threads=1'],
'full': prefix + ['--', '--test-threads=1'],
'clippy': ['cargo', 'clippy', '--locked', '-p', 'oa-core', '--all-targets', '--', '-D', 'warnings'],
}
command = commands[mode]
paths = subprocess.check_output(['git', 'ls-tree', '-r', '--name-only', source, 'Cargo.toml', 'Cargo.lock', 'rust-toolchain.toml', '.cargo', 'build', 'crates', 'assets', 'docs', 'examples', 'harness/fixtures'], cwd=root).decode().splitlines()
blobs = subprocess.check_output(['git', 'cat-file', '--batch'], cwd=root,
input=''.join(f'{source}:{p}\n' for p in paths).encode())
offset, inputs = 0, []
for path in paths:
end = blobs.index(b'\n', offset)
_, kind, size = blobs[offset:end].split()
assert kind == b'blob'
size = int(size)
raw = blobs[end + 1:end + 1 + size]
assert (root / path).read_bytes() == raw, path
inputs.append({'path': path, 'bytes': size, 'sha256': hashlib.sha256(raw).hexdigest()})
offset = end + size + 2
assert offset == len(blobs)
manifest = out / (name + '.inputs.json')
manifest.write_text(json.dumps({'source': source, 'inputs': inputs}, indent=2) + '\n', encoding='utf-8', newline='\n')
started = datetime.now(timezone.utc).isoformat()
print(json.dumps({'start': started, 'command': command, 'source': source, 'inputs': len(inputs)}), flush=True)
log_path = out / (name + '.log')
with log_path.open('xb') as stream:
run = subprocess.run(command, cwd=root, stdout=stream, stderr=subprocess.STDOUT)
ended = datetime.now(timezone.utc).isoformat()
changed = [i['path'] for i in inputs if hashlib.sha256((root / i['path']).read_bytes()).hexdigest() != i['sha256']]
head_after = subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=root).decode().strip()
log = log_path.read_text(encoding='utf-8', errors='replace')
members = re.findall(r'^([^\r\n]+): test\r?$', log, re.M) if mode == 'list' else []
artifacts = []
for match in re.findall(r'Running unittests [^\r\n]+ \(([^\r\n]+\.exe)\)', log):
path = Path(match)
if not path.is_absolute():
path = root / path
raw = path.read_bytes()
artifacts.append({'path': str(path), 'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()})
record = {'source': source, 'head_after': head_after, 'start': started, 'end': ended,
'exit': run.returncode, 'command': command, 'inputs': manifest.name,
'changed_inputs': changed, 'artifacts': artifacts,
'environment': {k: os.environ.get(k) for k in ['CARGO_TARGET_DIR', 'CARGO_BUILD_JOBS', 'CARGO_HOME', 'RUSTUP_HOME']},
'listing_members': members, 'listing_count': len(members),
'listing_scope': 'Names emitted by this actual Cargo test listing; focused/full runtime results have their own receipts.'}
(out / (name + '.result.json')).write_text(json.dumps(record, indent=2) + '\n', encoding='utf-8', newline='\n')
print(log[-14000:])
print(json.dumps({k:v for k,v in record.items() if k != 'listing_members'}))
sys.exit(run.returncode or int(bool(changed) or head_after != source))
@@ -0,0 +1,196 @@
{
"source": "2c515cf3bdb3f707beee320be8fed90cffb40757",
"scope": "Isolated Windows S0/S1 gates, including failed full suite; no integration or public source8 acceptance. Original input manifests remain separate for each actual receipt. Executable/tools omitted, bound by receipts.",
"files": [
{
"path": "evidence/.local/admit-analysis-source-gate.py",
"original_path": ".local/admit-analysis-source-gate.py",
"bytes": 4459,
"sha256": "e74525d4a4aed0f6ffa333dad7dfb2184835397b0fd5f6002cfe1fa51d60a35a"
},
{
"path": "evidence/.local/analysis-source-gates-20260913/full-2c515cf.inputs.json",
"original_path": ".local/analysis-source-gates-20260913/full-2c515cf.inputs.json",
"bytes": 96363,
"sha256": "1c1c33e802a3eb662dd4b917ea66e662a47ac56b8243f4618fc85ea17d165360"
},
{
"path": "evidence/.local/analysis-source-gates-20260913/full-2c515cf.log",
"original_path": ".local/analysis-source-gates-20260913/full-2c515cf.log",
"bytes": 24166,
"sha256": "d016a7a614044148328b256e19072db1e3c0014286d6944d6b07f0207ae7b2cf"
},
{
"path": "evidence/.local/analysis-source-gates-20260913/full-2c515cf.result.json",
"original_path": ".local/analysis-source-gates-20260913/full-2c515cf.result.json",
"bytes": 1257,
"sha256": "912be6b9a5095ef537dfbc046f9e0fae6579e044055838a2072b8daaad90c33a"
},
{
"path": "evidence/.local/analysis-source-gates-20260913/list-2c515cf-r2.admission.json",
"original_path": ".local/analysis-source-gates-20260913/list-2c515cf-r2.admission.json",
"bytes": 11958,
"sha256": "d17525bd395779e4796bb8b1a507e9d8737a7f290117bd4b59ef9529bd305018"
},
{
"path": "evidence/.local/analysis-source-gates-20260913/list-2c515cf-r2.inputs.json",
"original_path": ".local/analysis-source-gates-20260913/list-2c515cf-r2.inputs.json",
"bytes": 96363,
"sha256": "1c1c33e802a3eb662dd4b917ea66e662a47ac56b8243f4618fc85ea17d165360"
},
{
"path": "evidence/.local/analysis-source-gates-20260913/list-2c515cf-r2.log",
"original_path": ".local/analysis-source-gates-20260913/list-2c515cf-r2.log",
"bytes": 11470,
"sha256": "a4afb40e474e1aaba313002fc112d3611084524ff7405cf6449a55ce02010493"
},
{
"path": "evidence/.local/analysis-source-gates-20260913/list-2c515cf-r2.result.json",
"original_path": ".local/analysis-source-gates-20260913/list-2c515cf-r2.result.json",
"bytes": 12457,
"sha256": "478ca437f0904c1d2561f41e93c00646595b676530f0cd975f40f9e835e93df5"
},
{
"path": "evidence/.local/analysis-source-gates-20260913/list-2c515cf.pre-spawn-failure.json",
"original_path": ".local/analysis-source-gates-20260913/list-2c515cf.pre-spawn-failure.json",
"bytes": 552,
"sha256": "e5f321194a62e9b860c92f31f69092eacdf601e7134e69bd0896a06405005c82"
},
{
"path": "evidence/.local/analysis-source-gates-20260913/save-guard-2c515cf.admission.json",
"original_path": ".local/analysis-source-gates-20260913/save-guard-2c515cf.admission.json",
"bytes": 1195,
"sha256": "5239b8987898221e521d5692390c06007765425e49ef525d9f229cc80d6238f2"
},
{
"path": "evidence/.local/analysis-source-gates-20260913/save-guard-2c515cf.inputs.json",
"original_path": ".local/analysis-source-gates-20260913/save-guard-2c515cf.inputs.json",
"bytes": 96363,
"sha256": "1c1c33e802a3eb662dd4b917ea66e662a47ac56b8243f4618fc85ea17d165360"
},
{
"path": "evidence/.local/analysis-source-gates-20260913/save-guard-2c515cf.log",
"original_path": ".local/analysis-source-gates-20260913/save-guard-2c515cf.log",
"bytes": 799,
"sha256": "6bce9d0ee5c3c6dfa453a95cee7d4c2673fe16cd8c4079cf35e6284abadc73d8"
},
{
"path": "evidence/.local/analysis-source-gates-20260913/save-guard-2c515cf.result.json",
"original_path": ".local/analysis-source-gates-20260913/save-guard-2c515cf.result.json",
"bytes": 1299,
"sha256": "ba1fa717c89231dc1389b94cf0f17e1481045634fe4822a3a791943de0411d54"
},
{
"path": "evidence/.local/analysis-source-gates-20260913/strict-2c515cf.inputs.json",
"original_path": ".local/analysis-source-gates-20260913/strict-2c515cf.inputs.json",
"bytes": 96363,
"sha256": "1c1c33e802a3eb662dd4b917ea66e662a47ac56b8243f4618fc85ea17d165360"
},
{
"path": "evidence/.local/analysis-source-gates-20260913/strict-2c515cf.log",
"original_path": ".local/analysis-source-gates-20260913/strict-2c515cf.log",
"bytes": 1414,
"sha256": "4d97d927ba723d37c34fea25260870925347762844cb0c48489c5ac669f41c0f"
},
{
"path": "evidence/.local/analysis-source-gates-20260913/strict-2c515cf.result.json",
"original_path": ".local/analysis-source-gates-20260913/strict-2c515cf.result.json",
"bytes": 993,
"sha256": "11bb76bbff4b3e2397636ecb3796525261ea49009de0fcb1a05337f99cfe106a"
},
{
"path": "evidence/.local/analysis-source-gates-20260913/syntax-2c515cf.admission.json",
"original_path": ".local/analysis-source-gates-20260913/syntax-2c515cf.admission.json",
"bytes": 1952,
"sha256": "169f534d9cc873ee45a79aa1d1aee8f015994bafac97c75b893ded4635652190"
},
{
"path": "evidence/.local/analysis-source-gates-20260913/syntax-2c515cf.inputs.json",
"original_path": ".local/analysis-source-gates-20260913/syntax-2c515cf.inputs.json",
"bytes": 96363,
"sha256": "1c1c33e802a3eb662dd4b917ea66e662a47ac56b8243f4618fc85ea17d165360"
},
{
"path": "evidence/.local/analysis-source-gates-20260913/syntax-2c515cf.log",
"original_path": ".local/analysis-source-gates-20260913/syntax-2c515cf.log",
"bytes": 1593,
"sha256": "1c1d43fb5085097af3a14dd63f66ad820cdcd171bd3fd7f8d319ef9d4153c50e"
},
{
"path": "evidence/.local/analysis-source-gates-20260913/syntax-2c515cf.result.json",
"original_path": ".local/analysis-source-gates-20260913/syntax-2c515cf.result.json",
"bytes": 1297,
"sha256": "4126b8b0cf2d815f782c83cd7425c6cb5e7a6cd287bd838599f7694d8ecdd7df"
},
{
"path": "evidence/.local/analysis-source8-repair-independent-review-20260913.md",
"original_path": ".local/analysis-source8-repair-independent-review-20260913.md",
"bytes": 12184,
"sha256": "fa8de29d8a92abc1d3776d1c395a39c9c70826a403b1dbfb6d1e034c59c9b635"
},
{
"path": "evidence/.local/analysis-source8-s1-independent-review-20260913.md",
"original_path": ".local/analysis-source8-s1-independent-review-20260913.md",
"bytes": 8329,
"sha256": "fdf6b891da4cb48f94fbc485381f64699c89af636414e8be1c27f467af18cb1d"
},
{
"path": "evidence/.local/run-analysis-source-gate.before-argument-fix-20260913.py",
"original_path": ".local/run-analysis-source-gate.before-argument-fix-20260913.py",
"bytes": 3821,
"sha256": "a6f93027bea7903d955cee992e5843bf9bbbf4c3a303b6297c85d7124bab431b"
},
{
"path": "evidence/.local/run-analysis-source-gate.py",
"original_path": ".local/run-analysis-source-gate.py",
"bytes": 3865,
"sha256": "d8d9c1c9e9dc94fdd43afb4118ebc491c8eb6d89082f8441f8395b9d4265b068"
}
],
"verification": [
{
"name": "list-2c515cf-r2",
"exit": 0,
"unchanged_inputs": 518,
"test_results": 0,
"passed": 0,
"failed": 0
},
{
"name": "syntax-2c515cf",
"exit": 0,
"unchanged_inputs": 518,
"test_results": 11,
"passed": 11,
"failed": 0
},
{
"name": "save-guard-2c515cf",
"exit": 0,
"unchanged_inputs": 518,
"test_results": 4,
"passed": 4,
"failed": 0
},
{
"name": "full-2c515cf",
"exit": 101,
"unchanged_inputs": 518,
"test_results": 114,
"passed": 98,
"failed": 16
},
{
"name": "strict-2c515cf",
"exit": 101,
"unchanged_inputs": 518,
"test_results": 0,
"passed": 0,
"failed": 0
}
],
"immutable_git_input_hashes_verified": 518,
"authoritative_unchanged_reviews": [
"harness/analysis-source8-20260913/analysis-source-save-guard-independent-review-20260913.md"
]
}
@@ -0,0 +1,9 @@
# Analysis source S0/S1 Windows evidence — 2026-09-13
The [exact-byte gate archive](experiments/analysis-source-s0-s1-windows-20260913/README.md) records isolated source `2c515cf3bdb3f707beee320be8fed90cffb40757`. The existing [source/design handoff](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/src/commit/2c515cf3bdb3f707beee320be8fed90cffb40757/harness/analysis-source8-20260913/README.md) remains authoritative; this report adds actual Windows execution evidence.
All eleven staged syntax tests and four save-containment tests passed. The full library run was **failed: 98 passed, 16 failed**, with exact membership matching the 114-test listing. Fourteen failures reject unsupported source8 and two reject the legacy definitions envelope. Strict all-target Clippy also failed on `clippy::enum_variant_names` for `Kind::AsKind`. No failures are waived.
Five completed gate receipts preserve 518 unchanged input bindings each, verified against the exact Git blobs. The archive retains the first pre-Cargo launcher failure, original and corrected helpers, raw logs, admission receipts and updated independent review. Binaries/toolchains are hash-bound where recorded and omitted from this source/evidence artifact.
This is partial implementation evidence, not a published release, integration acceptance or complete source8 persistence. The guard tests use the shared private production seam with injected output; public source save/read/update/reopen and migration remain incomplete. Later repair results must identify their own source version.