From 983061fa15d6c4ade19afa19ce59f9b6bddb3603 Mon Sep 17 00:00:00 2001 From: "sorokin.oleg.edu" Date: Wed, 23 Sep 2026 11:20:52 -0700 Subject: [PATCH] Publish mixed-syntax evidence and State multiselect audit --- .gitattributes | 2 + harness/STATE.md | 22 +- .../analysis-mixed-syntax-20260923/README.md | 34 + .../controls/README.md | 25 + .../controls/REVIEW.md | 54 ++ .../control-result.json | 38 + .../aliased-exact-clock-receipt/manifest.json | 565 ++++++++++++++ .../changed-clock-receipt/control-result.json | 38 + .../cases/changed-clock-receipt/manifest.json | 561 ++++++++++++++ .../control-result.json | 38 + .../manifest.json | 561 ++++++++++++++ .../control-result.json | 38 + .../changed-known-failure-cause/manifest.json | 561 ++++++++++++++ .../changed-new-outcome/control-result.json | 38 + .../cases/changed-new-outcome/manifest.json | 561 ++++++++++++++ .../control-result.json | 38 + .../direct-extra-filter-argv/manifest.json | 561 ++++++++++++++ .../control-result.json | 38 + .../direct-fake-cargo-line/manifest.json | 561 ++++++++++++++ .../control-result.json | 38 + .../manifest.json | 561 ++++++++++++++ .../control-result.json | 38 + .../direct-old-before-artifact/manifest.json | 561 ++++++++++++++ .../control-result.json | 38 + .../manifest.json | 561 ++++++++++++++ .../duplicate-zip-member/control-result.json | 38 + .../cases/duplicate-zip-member/manifest.json | 561 ++++++++++++++ .../control-result.json | 38 + .../forged-current-git-input/manifest.json | 561 ++++++++++++++ .../control-result.json | 38 + .../missing-direct-listing/manifest.json | 549 ++++++++++++++ .../control-result.json | 38 + .../missing-intermediate-strict/manifest.json | 549 ++++++++++++++ .../missing-new-outcome/control-result.json | 38 + .../cases/missing-new-outcome/manifest.json | 561 ++++++++++++++ .../control-result.json | 38 + .../unchanged-real-package/manifest.json | 561 ++++++++++++++ .../controls/initial-driver.py | 211 ++++++ .../manifest.json | 561 ++++++++++++++ .../controls/successor-aggregate.json | 713 ++++++++++++++++++ .../controls/successor-driver.py | 212 ++++++ .../controls/summary.json | 193 +++++ .../evidence.zip | Bin 0 -> 567820 bytes .../manifest.json | 561 ++++++++++++++ .../analysis-mixed-syntax-20260923/verify.py | 484 ++++++++++++ .../README.md | 48 ++ ...eck-state-multiselect-outcomes-20260923.py | 30 + .../parent-result.json | 222 ++++++ .../state-multiselect-outcomes-20260923.json | 37 + .../state-multiselect-composition-20260923.md | 61 ++ 50 files changed, 13032 insertions(+), 2 deletions(-) create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/README.md create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/README.md create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/REVIEW.md create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/aliased-exact-clock-receipt/control-result.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/aliased-exact-clock-receipt/manifest.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-clock-receipt/control-result.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-clock-receipt/manifest.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-final-formatting-location/control-result.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-final-formatting-location/manifest.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-known-failure-cause/control-result.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-known-failure-cause/manifest.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-new-outcome/control-result.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-new-outcome/manifest.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-extra-filter-argv/control-result.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-extra-filter-argv/manifest.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-fake-cargo-line/control-result.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-fake-cargo-line/manifest.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-missing-bound-postcheck/control-result.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-missing-bound-postcheck/manifest.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-old-before-artifact/control-result.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-old-before-artifact/manifest.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-recorded-launch-failure/control-result.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-recorded-launch-failure/manifest.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/duplicate-zip-member/control-result.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/duplicate-zip-member/manifest.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/forged-current-git-input/control-result.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/forged-current-git-input/manifest.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-direct-listing/control-result.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-direct-listing/manifest.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-intermediate-strict/control-result.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-intermediate-strict/manifest.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-new-outcome/control-result.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-new-outcome/manifest.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/unchanged-real-package/control-result.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/cases/unchanged-real-package/manifest.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/initial-driver.py create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/interrupted-known-failure-cause/manifest.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/successor-aggregate.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/successor-driver.py create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/controls/summary.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/evidence.zip create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/manifest.json create mode 100644 harness/experiments/analysis-mixed-syntax-20260923/verify.py create mode 100644 harness/experiments/state-multiselect-delivery-audit-20260923/README.md create mode 100644 harness/experiments/state-multiselect-delivery-audit-20260923/check-state-multiselect-outcomes-20260923.py create mode 100644 harness/experiments/state-multiselect-delivery-audit-20260923/parent-result.json create mode 100644 harness/experiments/state-multiselect-delivery-audit-20260923/state-multiselect-outcomes-20260923.json create mode 100644 harness/reviews/state-multiselect-composition-20260923.md diff --git a/.gitattributes b/.gitattributes index 0974a9e7..0fd1cde3 100644 --- a/.gitattributes +++ b/.gitattributes @@ -89,3 +89,5 @@ harness/experiments/analysis-source-s2a-windows-20260913/** -text whitespace=-bl # Preserve the pinned Iced dependency bytes and upstream manifest. crates/vendor/iced_widget/** -text whitespace=cr-at-eol +harness/experiments/analysis-mixed-syntax-20260923/** -text whitespace=-blank-at-eol,-blank-at-eof,cr-at-eol +harness/experiments/state-multiselect-delivery-audit-20260923/** -text whitespace=-blank-at-eol,-blank-at-eof,cr-at-eol diff --git a/harness/STATE.md b/harness/STATE.md index 885b6e9a..6258cc0e 100644 --- a/harness/STATE.md +++ b/harness/STATE.md @@ -155,8 +155,26 @@ complete borrowed original-span export for later edit composition. Its 173 listed tests (all prior 167 retained), 65 typed passes including all 11 updater cases, and strict core all-target Clippy on the same 538 committed inputs. Review caught and corrected an intermediate standalone budget -regression. Complete mixed-bundle ownership, combined output compilation and -public source8 remain unimplemented; this is an isolated export adapter. +regression. This is an isolated export adapter; the later syntax checkpoint +below supplies mixed-bundle ownership, while output compilation and public +source8 remain incomplete. + +Published private mixed-syntax source +**a578ac98a06772a60bec00ae287e65650680d119** retains the complete source bundle, +original positions and exact caller policy, using shared ordinary/typed token +consumption with explicit identities and aggregate file/byte admission. Its +[Windows evidence](experiments/analysis-mixed-syntax-20260923/README.md) records +194 listed tests, all prior 173 retained, 20 focused mixed passes and 85 typed +passes within the actual full result: **178 passed / 16 failed**. All 152 +historical statuses are unchanged and all 42 later tests pass. Strict core +all-target Clippy passes on 541 unchanged committed inputs. Formatting remains +failed in six inherited, unchanged files. Original failed gates and the host +clock discontinuity are retained; a fresh actual direct listing binds the final +focused/full executable after Cargo rebuilt it. This syntax witness does not +resolve or admit a complete mixed Project, activate public source8 or implement +editing composition. The accepted +[complete-Project contract](analysis-mixed-project-contract-20260923.md) defines +the next semantic boundary; it is a design, not runtime acceptance. The [reviewed S1/S7 assessment](issue28-s1-s7-assessment-956atf-20260923.md) distinguishes static analysis/case overlays from contextual inheritance, diff --git a/harness/experiments/analysis-mixed-syntax-20260923/README.md b/harness/experiments/analysis-mixed-syntax-20260923/README.md new file mode 100644 index 00000000..153e0f65 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/README.md @@ -0,0 +1,34 @@ +# Private mixed-syntax Windows evidence + +Final source `a578ac98a06772a60bec00ae287e65650680d119`. The packager checks every closed receipt, actual test name/outcome, artifact hash and immutable Git input before emitting this archive. Its results concern this private syntax checkpoint; they do not establish public source8 or application completion. + +The complete core unit suite remains **FAILED: 178 passed / 16 known public-header failures, exit 101**. All 152 historical statuses are unchanged; all 42 later tests pass. The corrected listing contains 194 tests, retaining the previous 173; 85 typed tests pass within the full run, including the earlier stack controls, and the focused mixed run passes its exact 20 listed members. Strict core all-target Clippy passes. These counts are package acceptance constraints, verified from raw output before this report is emitted. + +The optional formatting gate **FAILED, exit 1** at both intermediate and final pins. Its nine diff blocks affect model.rs, references.rs, semantic/catalog.rs, session.rs, transitions.rs and validation.rs. Read-only Git comparison proves all six complete blobs identical at a578ac9, eeb1069, prior10d7f33 and historical f1d79df. The original eeb formatting note is preserved unchanged; the verifier independently checks final equality and both raw formatting outputs. This is inherited formatting debt, not a formatting pass or proof that fmt was run historically. No unrelated file was reformatted, and there is no blanket all-gates-pass claim. + +The original `754a9b4` listing compile failure is preserved, including E0063 at semantic_source.rs:191. Successor `eeb1069` adds only the missing test-only `mixed: None` initializer. **All five eeb gates remain:** listing194 PASS, focused20 PASS, full diagnostic178/16 FAILED101, fmt FAILED1, strict Clippy FAILED101 for unnecessary_unwrap/collapsible_if. Final a578 changes only the two equivalent test-only guards plus the exact shared AGENTS update. Of541 scoped inputs,540 are unchanged; AGENTS is outside that scope. Historical source-only handoffs/reviews retain their temporal claims. + +Final strict Clippy passed before the original Cargo listing. Following the host clock rollback, Cargo rebuilt for the focused run and produced a different binary hash: original listing `ae4974da…`, focused `089d7b03…`, both 39,706,624 bytes. Their equivalence is not inferred. A fresh **actual direct listing** of `089d7b03…` returned the same ordered194 names; focused20 and the subsequent unfiltered full direct run bind that exact executable. The original Cargo listing remains separate evidence. The direct recorder uses the package-root working directory, captures real executable output and checks all541 committed inputs plus executable/bound-evidence hashes before and after. It invokes no Cargo and fabricates no Cargo log line. Full178/16 is an actual libtest execution, not a new `cargo test` invocation. The archived review explains this protocol; no cache or source timestamps were changed. + +The host UTC clock moved backward during the original Cargo listing. Its receipt +retains reversed start/end timestamps and 768.422 monotonic elapsed seconds. +The verifier permits that timestamp ordering only for this exact hash-bound +receipt; source, artifact, output and all other closure checks remain required. +See the archived clock disposition. No wall-clock elapsed duration is inferred. + +Run from a checkout containing the named source and documentation Git objects: + +``` +python -B verify.py --repo /path/to/ARCADIA-Studio +``` + +Only read-only Git commands run. No archived Python, Rust, launcher, binary or test is executed. Source input bytes are checked against complete immutable Git input membership (541 at each of754/eeb/a578,538 at prior listing,534 at historical full run). Baseline raw receipts are independently bound to their published Git objects. Every present launcher is preserved once by its content hash; different runs may use different immutable launchers. No binaries, build cache or profile files are included. + +The verifier establishes evidence consistency, not independent runtime re-execution or cryptographic authenticity of receipt authorship. Preserve the package's Git commit or external checksums when transporting it. Extraction is unnecessary; ZIP members are checked without execution. The separately supplied verifier is reviewed code, not an archived helper selected by the manifest. + +No public source8 activation, complete semantic witness, mixed occurrence index/compositor, full model acceptance, checked-save or application/runtime completion is claimed. Private syntax still defers nested model-record/ordinary-step admission while retaining the original policy for that later boundary. + +The parent reran this packaged verifier successfully. Independent +[real-archive controls](controls/README.md) accepted the unchanged archive and +refused all 15 corrupted copies. Their raw results preserve an initial host-timeout +attempt separately; no interrupted attempt is counted as a successful control. diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/README.md b/harness/experiments/analysis-mixed-syntax-20260923/controls/README.md new file mode 100644 index 00000000..5b46d805 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/README.md @@ -0,0 +1,25 @@ +# Verifier control evidence + +The independently reviewed verifier accepted the unchanged real archive and +refused all 15 corrupted copies. [Review](REVIEW.md) describes each actual refusal, +the preserved initial timeout and the limits of this consistency evidence. + +`summary.json` indexes all 16 closed cases. Each `cases/NAME/` retains the exact +control result, payload manifest and actual stdout/stderr. The separate +`interrupted-known-failure-cause/` preserves the timed-out attempt's manifest and +streams; it has no closed result and is not counted as a successful control. +The initial and successor drivers and successor aggregate are preserved exactly. +Historical paths in those receipts identify the original local execution. + +Corrupted ZIP copies remain local scratch and are omitted here to avoid repeating +the complete evidence 17 times. The drivers define the mutations; their payload +manifests retain the exact changed member hashes. The recorded ZIP hashes identify +the original generated copies, not files supplied in this directory. Raw source +gate evidence is in the adjacent original evidence.zip. None of these controls +executed archived helpers or the subject test binary. + +The successor changes only the timeout from 180 to 900 seconds and selects the +remaining thirteen cases. Its result is combined with the first three closed +controls; the interrupted attempt remains distinct. All 49 watched original +files were unchanged at control closure. Later additions of these publication +notes do not change the original evidence.zip, manifest.json or verifier. diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/REVIEW.md b/harness/experiments/analysis-mixed-syntax-20260923/controls/REVIEW.md new file mode 100644 index 00000000..fc391adf --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/REVIEW.md @@ -0,0 +1,54 @@ +# Real mixed-syntax archive controls + +Scope: independently exercise the separately reviewed receipt/Git verifier against copies of the actual emitted archive. No subject executable, compiler, GUI, archived helper or publication is run by these controls. Original package, harness copy, raw gate directory and external verifier remain read-only. + +Verifier SHA256: `2902f0c5e4922b942b3e8b9d0b288810ef6ad8dc71444d28ef8bfa756c4c5338`. + +## Initial run and preserved interruption + +Driver: `.local/analysis-mixed-syntax-package-controls-20260923.py`; output: `.local/analysis-mixed-syntax-package-negative-controls-20260923/`. + +The unchanged real archive was accepted. Removing a new outcome was refused for `Missing/extra runtime outcomes`; changing a new passing outcome was refused for `Runtime status mismatch`. Each closed case retains exact command, exit, monotonic duration, package/log hashes and observed result in its `control-result.json`. + +The fourth case, `changed-known-failure-cause`, hit the driver's 180-second subprocess timeout during independently observed host degradation. Its package and stdout/stderr remain in place. This interruption is neither an expected semantic refusal nor acceptance. No final aggregate `controls.json` was emitted by the initial run. + +The successor driver `.local/analysis-mixed-syntax-package-controls-successor-20260923.py` preserves the initial driver and changes only the per-process timeout to 900 seconds and the selected cases to the remaining thirteen (`cases[3:]`). The three valid initial controls are reused. It was prepared while execution was paused and was run only after parent host/build clearance. + +## Closed results and publication disposition + +**All 16 planned controls have their expected results: one unchanged archive accepted, fifteen corrupted copies refused. No further concrete blocker found for publication within the package's documented receipt/Git-consistency scope.** Initial three results plus the successor thirteen are indexed, with exact receipt pins, in `.local/analysis-mixed-syntax-package-controls-summary-20260923.json`. The interruption remains separately preserved and is not counted as a successful control. + +| Corruption | Actual refusal | +| --- | --- | +| Remove a new test outcome | Missing/extra runtime outcomes | +| Change a new passing outcome to FAILED | Runtime status mismatch | +| Change one inherited failure diagnostic | Failure cause changed, naming the affected cross-file reparent test | +| Forge language.rs input hashes consistently across a578 maps/receipts | Git input bytes mismatch: crates/oa-core/src/language.rs | +| Duplicate ZIP member | Duplicate ZIP members | +| Remove intermediate eeb strict gate | Required checkpoint gates missing/ambiguous | +| Change final formatting diff location | Final formatting failure scope changed | +| Change exact reversed-clock receipt bytes | Direct historical binding differs | +| Add byte-identical reversed-clock receipt under another name | Gate not closed | +| Add a filter to direct full argv | Unexpected direct executable argv | +| Substitute old listing artifact as direct before artifact | Direct artifact changed or differs from focused binary | +| Omit one direct bound-file postcheck | Direct bound-file postcheck coverage differs | +| Prepend fabricated Cargo invocation to direct stdout | Direct output contains a fabricated Cargo invocation line | +| Record direct launch/verification failure | Direct invocation did not close cleanly | +| Remove actual new direct listing | Missing bound gates/mixed-direct-list-a578-1.result.json | + +The forged a578 input reached immutable Git verification before direct descriptor checks; it was not merely rejected for an out-of-date wrapper binding. The changed clock bytes were rejected by the fixed historical binding before the timestamp predicate; the independent aliased-byte control reached `Gate not closed`. The missing direct listing was rejected when full-run binding resolved its missing record, before the later checkpoint inventory check. These are the observed refusal points, not relabeled predictions. + +After closure, independently re-read all 16 per-case receipt/file hashes and all 49 watched original files, including the local package, harness package, raw gate directory and verifier. Every hash still matches. Verified that the successor driver differs from the preserved initial driver only in the two stated changes. Per-case durations are monotonic; no cross-run wall-clock duration is inferred. + +| Artifact | SHA256 | +| --- | --- | +| Initial driver | `421f8109d583640df9c499878dba89bf12b81054b10e17b3a5b6440a188cc411` | +| Successor driver | `c68437c5aa807c305215c0bae31c7ec77e216e266a7f48972572bdc6fda518e0` | +| Successor controls.json | `87b29589b97a44527722feb385c2707c5fb3c7b1d8705568abdbbebf6add88d8` | +| Combined summary JSON | `fea9d77fe491d6c281cd056e055e8917e363ff31db5e3b1cdd8f3312549aca35` | + +## Interpretation boundaries + +Corrupted payload manifest hashes and relevant inner receipt hashes are refreshed so semantic/Git controls can reach substantive checks. The final verifier's immutable direct historical binding can reject a changed clock receipt before the timestamp predicate; that is the actual refusal expected from the changed-byte control. A separate byte-identical aliased receipt retains the original for direct bindings and tests that another name cannot inherit the clock exception. + +These controls test consistency of recorded evidence with immutable Git and the reviewed protocol. They do not reproduce subject execution or establish protection against fabricated attestation. Existing source/runtime limitations, retained failed gates, separate old/new executable identities and the inherited formatter failure remain part of the package's meaning. diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/aliased-exact-clock-receipt/control-result.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/aliased-exact-clock-receipt/control-result.json new file mode 100644 index 00000000..f4d8d56a --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/aliased-exact-clock-receipt/control-result.json @@ -0,0 +1,38 @@ +{ + "case": "aliased-exact-clock-receipt", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 12.31300000000192, + "expected_refusal_fragment": "Gate not closed", + "actual_refusal": "REFUSED: Gate not closed", + "matched": true, + "detail": "Keep original for direct bindings; identical reversed-clock receipt under a second name must not inherit exception.", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\aliased-exact-clock-receipt" + ], + "files": { + "evidence.zip": { + "bytes": 574492, + "sha256": "3f9cc3cddd24e585fb7835a7493f604a2f422a9b45059e719803ac1d77756f53" + }, + "manifest.json": { + "bytes": 35432, + "sha256": "8a8cdef19a62e95180fcfae669810a644c49c73d7406ac7917e26193b48a1c17" + }, + "stderr.log": { + "bytes": 26, + "sha256": "82f4d6d3582fe536473a1085fa82393f5e391cff1df7b4a223f20f484f356153" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/aliased-exact-clock-receipt/manifest.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/aliased-exact-clock-receipt/manifest.json new file mode 100644 index 00000000..56d6be22 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/aliased-exact-clock-receipt/manifest.json @@ -0,0 +1,565 @@ +{ + "schema": 1, + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "payloads": { + "baseline/full-f1d79df-comparison.py": { + "bytes": 3499, + "sha256": "e88c0c630b05d0568b29301efdfb0c6e74135e4b04e27a1f71f27954b8809921" + }, + "baseline/full-f1d79df.comparison.json": { + "bytes": 3864, + "sha256": "5497ce589c3e8eea6158055af77da598aab1a7c2a92af30c7264bfd311ec89f4" + }, + "baseline/full-f1d79df.inputs.json": { + "bytes": 99490, + "sha256": "6a4c7e3c8d1e6edb7ad306c19abd05009ee410312eb34b68ec30d6408387967b" + }, + "baseline/full-f1d79df.log": { + "bytes": 28480, + "sha256": "29a08cbfc02a83922f90c00f0b48f1aa403f93261457e65d29e3b9f46389dce9" + }, + "baseline/full-f1d79df.result.json": { + "bytes": 1234, + "sha256": "a1465abd64e2b3a29388f5da1912dcb87bfe9aed618c122bad557ff21c52c95b" + }, + "gates/launchers/3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a.py": { + "bytes": 16167, + "sha256": "3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a" + }, + "gates/launchers/471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de.py": { + "bytes": 5319, + "sha256": "471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de" + }, + "gates/launchers/83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364.py": { + "bytes": 5264, + "sha256": "83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364" + }, + "gates/mixed-clippy-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-clippy-a578-1.log": { + "bytes": 166, + "sha256": "36f453dc344f791cfc5bdfa532df3520008887de673b01c76edac9233e18e913" + }, + "gates/mixed-clippy-a578-1.result.json": { + "bytes": 1717, + "sha256": "c6f408b0963d8da7514ea87219e5a0b991c04d3ea9f9fe25f7b45752cb57e7a5" + }, + "gates/mixed-clippy-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-clippy-eeb1-1.log": { + "bytes": 1996, + "sha256": "ab9c0fc8baf8c56230b448f18b1de8dbf2d8e7c85a1f118aea369dea129f3f17" + }, + "gates/mixed-clippy-eeb1-1.result.json": { + "bytes": 1720, + "sha256": "886eb86c99a261af00207864ba4717735910a092f3ec3352ff455a960de38881" + }, + "gates/mixed-direct-full-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-full-a578-1.log": { + "bytes": 33333, + "sha256": "3af2546378fd0cdd634dd63791d8b3475563c49c19d28aaea1e3a35a2474fbb6" + }, + "gates/mixed-direct-full-a578-1.result.json": { + "bytes": 52372, + "sha256": "8ba1ef2dca98440b57280ebf0282257ace79a0f0ccfde23f7ad8e7e2c255a0ec" + }, + "gates/mixed-direct-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-list-a578-1.log": { + "bytes": 20334, + "sha256": "37551f95fc70a422e394712690bf19b69ad769890a9a07eac73bf9e0fa843242" + }, + "gates/mixed-direct-list-a578-1.result.json": { + "bytes": 49871, + "sha256": "22db9a6a34d1e0800a71ec1ae88e1f18467d1c50a10a9ad305182d29cc11d904" + }, + "gates/mixed-fmt-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-fmt-a578-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-a578-1.result.json": { + "bytes": 1631, + "sha256": "2648337aa67f6978b77e05479321a35ad782ebdad71b322efc62bb46e7180fe0" + }, + "gates/mixed-fmt-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-fmt-eeb1-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-eeb1-1.result.json": { + "bytes": 1631, + "sha256": "0ad50da9ef19f4129f593ffe37173c930b0b151cdd6ea00b1308aec12c973a5b" + }, + "gates/mixed-focused-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-focused-a578-1.log": { + "bytes": 2911, + "sha256": "4acfc2bc654210441ab07b45fcfdb9a8496667f768962c1c51a5a06f73011c60" + }, + "gates/mixed-focused-a578-1.result.json": { + "bytes": 2061, + "sha256": "fa586319f22c7eb1bd75e9d9da6784cff8cc897b6b93205c84f6591fa9c76b85" + }, + "gates/mixed-focused-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-focused-eeb1-1.log": { + "bytes": 2806, + "sha256": "1b7d6df5aaa0b0d9828cbbac9a77cb8ace0d8e2e3a8e44d58dcc5b254348628a" + }, + "gates/mixed-focused-eeb1-1.result.json": { + "bytes": 2057, + "sha256": "2b55c0b63e9bb9f3c8a45b934833a799e811b66a7c1297d40ca1b6edb54b4d75" + }, + "gates/mixed-full-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-full-eeb1-1.log": { + "bytes": 33611, + "sha256": "ae9e4f3187d053d3ded9ec2475fc7dd469d5df976261fdc30479070e08cbc2b6" + }, + "gates/mixed-full-eeb1-1.result.json": { + "bytes": 1981, + "sha256": "1f0b3e64142d8a774ad5e59c1d8e8f28c1a94717749b851d22044a41c2e01830" + }, + "gates/mixed-list-754a-1.inputs.json": { + "bytes": 100820, + "sha256": "020a1ef53d3f30699b66358cb8688add682a33960b3e12721f50af5a9f57a3cb" + }, + "gates/mixed-list-754a-1.log": { + "bytes": 473, + "sha256": "ff09dcad13a097b29fe80455f9f34b5df71d3dd1ada101dca3ee1a046ab33977" + }, + "gates/mixed-list-754a-1.result.json": { + "bytes": 1694, + "sha256": "35c109d3f9e05aaae7933f0af955703a8affad45158d3e7de6bd23c35ea76cd8" + }, + "gates/mixed-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-list-a578-1.log": { + "bytes": 20665, + "sha256": "7ad105fc530f3f13d5b108f8856d431cf5833209b9dc410428525368aa0fd063" + }, + "gates/mixed-list-a578-1.result.json": { + "bytes": 22476, + "sha256": "adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100" + }, + "gates/mixed-list-a578-clock-alias.result.json": { + "bytes": 22476, + "sha256": "adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100" + }, + "gates/mixed-list-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-list-eeb1-1.log": { + "bytes": 20665, + "sha256": "3e07d0c5a843b9a2bc74d4ce8f36976c49ea57b6a14d5a4dc1f334a7e6016bd5" + }, + "gates/mixed-list-eeb1-1.result.json": { + "bytes": 22477, + "sha256": "d0f7afa28c1a7b976a1729c59c2f6c9c7a04a674658a39e04de09106698005f5" + }, + "helpers/analysis-mixed-syntax-clippy-fix-proof-20260923.py": { + "bytes": 3937, + "sha256": "95c006b1a84f42400fdad439958c3852aa54dc69ec85aedd29d79cc8c089c803" + }, + "helpers/formatting-proof.py": { + "bytes": 5518, + "sha256": "731d5c8c9993c81b789edc3c8ab9aa03e141b4334ace8a64c5d101e8315e03b4" + }, + "notes/analysis-mixed-direct-evidence-review-20260923.md": { + "bytes": 6608, + "sha256": "02e0713681e3a196d91b9cfd170bcd5a54d0e78b7948e30439baf9d051c29d6c" + }, + "notes/analysis-mixed-direct-gate-path-check-20260923.json": { + "bytes": 22970, + "sha256": "e3455ca847df1fd25e3c8dd4040e647155a917905f38b8b320f4fdfa17ff3d2d" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "bytes": 18874, + "sha256": "8ad3005d960667267a10e9a73b92f8e151dd4e451cbbaed215bbad74e79677e0" + }, + "notes/analysis-mixed-parser-proposal-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-syntax-clippy-fix-handoff-20260923.md": { + "bytes": 2848, + "sha256": "903676efac11de735cd04b91965ec44bb50dc6fa464192cbb39fa53f4276caf2" + }, + "notes/analysis-mixed-syntax-clippy-fix-proof-20260923.json": { + "bytes": 2016, + "sha256": "cd91d010d66fda68c247bf64ce3861aa2d85dc9b3a535da80d7743241aad4a9c" + }, + "notes/analysis-mixed-syntax-clock-disposition-20260923.md": { + "bytes": 1636, + "sha256": "f560270339411c6265127095bd83115143c2f97eb257a20d5f0c64193345b3e2" + }, + "notes/analysis-mixed-syntax-evidence-tools-independent-review-20260923.md": { + "bytes": 13228, + "sha256": "3f7f6dc2621b111c885550f8d2e519f3668ec8a0f48f917d69419485a3638de4" + }, + "notes/analysis-mixed-syntax-followup-754a9b4-manifest-20260923.json": { + "bytes": 688, + "sha256": "87079e866306b6418b4a69052286b96f7a3f92d5567c12ebf86fdba5f5cfd607" + }, + "notes/analysis-mixed-syntax-followup-handoff-20260923.md": { + "bytes": 3739, + "sha256": "cbde5e49a3cc7f3fa6a138680dd4a8efba77038b9489358ce98b0f1beb930218" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.json": { + "bytes": 2864, + "sha256": "52775e006cbc27df7c6d865b8ef0bf1557d9347d52476b40a62f09eaa732473c" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.md": { + "bytes": 2316, + "sha256": "430e4350c506944313825fbaff289260c08134f3ba6c7b88323e5071fa7ccbf1" + }, + "notes/analysis-mixed-syntax-independent-review-20260923.md": { + "bytes": 15780, + "sha256": "057cf307bf914832565fb92a289ac102fdd68c666201af736d7c37557984e0d8" + }, + "notes/analysis-mixed-syntax-source-0fc0826-manifest-20260923.json": { + "bytes": 3100, + "sha256": "788b0ea775dbbe4772358a488500885132bd41038ac8f278542ed45d0741e24d" + }, + "notes/analysis-mixed-syntax-source-handoff-20260923.md": { + "bytes": 11880, + "sha256": "afa06df13a87a2be290623bf33d4643c9ec70a2e38886fb1b971e770db3239fe" + }, + "prior/list-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "prior/list-10d7f33.log": { + "bytes": 18213, + "sha256": "76b9e9ebc0c0d3d8794020dd222cfc94f7dd8cda9deedd0e74e0cd0c3aa5900c" + }, + "prior/list-10d7f33.result.json": { + "bytes": 19385, + "sha256": "4baf130b68e2c044ad3e43d6e8a2e13c611008192a271d3dfa75ee5a7c1503c1" + } + }, + "git_origins": { + "baseline/full-f1d79df.log": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.log" + }, + "baseline/full-f1d79df.result.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.result.json" + }, + "baseline/full-f1d79df.inputs.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.inputs.json" + }, + "baseline/full-f1d79df.comparison.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.comparison.json" + }, + "baseline/full-f1d79df-comparison.py": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df-comparison.py" + }, + "prior/list-10d7f33.log": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.log" + }, + "prior/list-10d7f33.result.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.result.json" + }, + "prior/list-10d7f33.inputs.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.inputs.json" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-proposal-20260923.md" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-review-20260923.md" + } + }, + "verified_summary": { + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + }, + "strict_core_all_targets": "PASS", + "strict_exit": 0, + "fmt_exit": 1, + "full_invocation": "direct-executable", + "listing_artifacts": [ + { + "invocation": "direct-executable", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + } + ] + }, + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2" + } + ] + } + ], + "intermediate_checkpoint": { + "source": "eeb1069cfcfc51e4cf73cff850adc2fabc8aae77", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + }, + "strict_core_all_targets": "FAILED", + "strict_exit": 101, + "fmt_exit": 1, + "full_invocation": "cargo", + "listing_artifacts": [ + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + } + ] + } + ] + }, + "formatting_disposition": "Formatting FAILED at eeb1069; six affected blobs byte-identical at a578ac9, eeb1069, 10d7f33 and f1d79df; final fmt also FAILED exit 1 with identical nine blocks", + "unchanged_inputs_from_intermediate": 540, + "clock_discontinuity": "Raw final listing UTC end precedes start after host clock moved backward; exact immutable receipt retained; elapsed_monotonic_seconds=768.4220000000059 is the duration evidence. No wall-clock duration inferred.", + "limits": "Receipt/Git consistency only; no archived code or binaries executed. No public source8, semantic/compositor or full-suite PASS claim." + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-clock-receipt/control-result.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-clock-receipt/control-result.json new file mode 100644 index 00000000..44c03f5f --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-clock-receipt/control-result.json @@ -0,0 +1,38 @@ +{ + "case": "changed-clock-receipt", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 7.359000000004016, + "expected_refusal_fragment": "Direct historical binding differs", + "actual_refusal": "REFUSED: Direct historical binding differs", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\changed-clock-receipt" + ], + "files": { + "evidence.zip": { + "bytes": 567821, + "sha256": "e339a7783b4af42c22fc1f4c0a9068b81390af0670f74e42d5762471e6db570e" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "88c8c090013c486b5c327afdae3fe92a270fa6b4920a176ea757e4cf5acbe37d" + }, + "stderr.log": { + "bytes": 44, + "sha256": "4431763122db1909bbd7de5d7b75ac49d311cd2441fc3895833480ae7e72a644" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-clock-receipt/manifest.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-clock-receipt/manifest.json new file mode 100644 index 00000000..5c6982c1 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-clock-receipt/manifest.json @@ -0,0 +1,561 @@ +{ + "schema": 1, + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "payloads": { + "baseline/full-f1d79df-comparison.py": { + "bytes": 3499, + "sha256": "e88c0c630b05d0568b29301efdfb0c6e74135e4b04e27a1f71f27954b8809921" + }, + "baseline/full-f1d79df.comparison.json": { + "bytes": 3864, + "sha256": "5497ce589c3e8eea6158055af77da598aab1a7c2a92af30c7264bfd311ec89f4" + }, + "baseline/full-f1d79df.inputs.json": { + "bytes": 99490, + "sha256": "6a4c7e3c8d1e6edb7ad306c19abd05009ee410312eb34b68ec30d6408387967b" + }, + "baseline/full-f1d79df.log": { + "bytes": 28480, + "sha256": "29a08cbfc02a83922f90c00f0b48f1aa403f93261457e65d29e3b9f46389dce9" + }, + "baseline/full-f1d79df.result.json": { + "bytes": 1234, + "sha256": "a1465abd64e2b3a29388f5da1912dcb87bfe9aed618c122bad557ff21c52c95b" + }, + "gates/launchers/3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a.py": { + "bytes": 16167, + "sha256": "3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a" + }, + "gates/launchers/471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de.py": { + "bytes": 5319, + "sha256": "471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de" + }, + "gates/launchers/83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364.py": { + "bytes": 5264, + "sha256": "83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364" + }, + "gates/mixed-clippy-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-clippy-a578-1.log": { + "bytes": 166, + "sha256": "36f453dc344f791cfc5bdfa532df3520008887de673b01c76edac9233e18e913" + }, + "gates/mixed-clippy-a578-1.result.json": { + "bytes": 1717, + "sha256": "c6f408b0963d8da7514ea87219e5a0b991c04d3ea9f9fe25f7b45752cb57e7a5" + }, + "gates/mixed-clippy-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-clippy-eeb1-1.log": { + "bytes": 1996, + "sha256": "ab9c0fc8baf8c56230b448f18b1de8dbf2d8e7c85a1f118aea369dea129f3f17" + }, + "gates/mixed-clippy-eeb1-1.result.json": { + "bytes": 1720, + "sha256": "886eb86c99a261af00207864ba4717735910a092f3ec3352ff455a960de38881" + }, + "gates/mixed-direct-full-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-full-a578-1.log": { + "bytes": 33333, + "sha256": "3af2546378fd0cdd634dd63791d8b3475563c49c19d28aaea1e3a35a2474fbb6" + }, + "gates/mixed-direct-full-a578-1.result.json": { + "bytes": 52372, + "sha256": "8ba1ef2dca98440b57280ebf0282257ace79a0f0ccfde23f7ad8e7e2c255a0ec" + }, + "gates/mixed-direct-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-list-a578-1.log": { + "bytes": 20334, + "sha256": "37551f95fc70a422e394712690bf19b69ad769890a9a07eac73bf9e0fa843242" + }, + "gates/mixed-direct-list-a578-1.result.json": { + "bytes": 49871, + "sha256": "22db9a6a34d1e0800a71ec1ae88e1f18467d1c50a10a9ad305182d29cc11d904" + }, + "gates/mixed-fmt-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-fmt-a578-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-a578-1.result.json": { + "bytes": 1631, + "sha256": "2648337aa67f6978b77e05479321a35ad782ebdad71b322efc62bb46e7180fe0" + }, + "gates/mixed-fmt-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-fmt-eeb1-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-eeb1-1.result.json": { + "bytes": 1631, + "sha256": "0ad50da9ef19f4129f593ffe37173c930b0b151cdd6ea00b1308aec12c973a5b" + }, + "gates/mixed-focused-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-focused-a578-1.log": { + "bytes": 2911, + "sha256": "4acfc2bc654210441ab07b45fcfdb9a8496667f768962c1c51a5a06f73011c60" + }, + "gates/mixed-focused-a578-1.result.json": { + "bytes": 2061, + "sha256": "fa586319f22c7eb1bd75e9d9da6784cff8cc897b6b93205c84f6591fa9c76b85" + }, + "gates/mixed-focused-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-focused-eeb1-1.log": { + "bytes": 2806, + "sha256": "1b7d6df5aaa0b0d9828cbbac9a77cb8ace0d8e2e3a8e44d58dcc5b254348628a" + }, + "gates/mixed-focused-eeb1-1.result.json": { + "bytes": 2057, + "sha256": "2b55c0b63e9bb9f3c8a45b934833a799e811b66a7c1297d40ca1b6edb54b4d75" + }, + "gates/mixed-full-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-full-eeb1-1.log": { + "bytes": 33611, + "sha256": "ae9e4f3187d053d3ded9ec2475fc7dd469d5df976261fdc30479070e08cbc2b6" + }, + "gates/mixed-full-eeb1-1.result.json": { + "bytes": 1981, + "sha256": "1f0b3e64142d8a774ad5e59c1d8e8f28c1a94717749b851d22044a41c2e01830" + }, + "gates/mixed-list-754a-1.inputs.json": { + "bytes": 100820, + "sha256": "020a1ef53d3f30699b66358cb8688add682a33960b3e12721f50af5a9f57a3cb" + }, + "gates/mixed-list-754a-1.log": { + "bytes": 473, + "sha256": "ff09dcad13a097b29fe80455f9f34b5df71d3dd1ada101dca3ee1a046ab33977" + }, + "gates/mixed-list-754a-1.result.json": { + "bytes": 1694, + "sha256": "35c109d3f9e05aaae7933f0af955703a8affad45158d3e7de6bd23c35ea76cd8" + }, + "gates/mixed-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-list-a578-1.log": { + "bytes": 20665, + "sha256": "7ad105fc530f3f13d5b108f8856d431cf5833209b9dc410428525368aa0fd063" + }, + "gates/mixed-list-a578-1.result.json": { + "bytes": 22477, + "sha256": "5be7d8d867842e642c136fa0fe74ed5727013d959f5a13c7a8270c9ea1871e6e" + }, + "gates/mixed-list-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-list-eeb1-1.log": { + "bytes": 20665, + "sha256": "3e07d0c5a843b9a2bc74d4ce8f36976c49ea57b6a14d5a4dc1f334a7e6016bd5" + }, + "gates/mixed-list-eeb1-1.result.json": { + "bytes": 22477, + "sha256": "d0f7afa28c1a7b976a1729c59c2f6c9c7a04a674658a39e04de09106698005f5" + }, + "helpers/analysis-mixed-syntax-clippy-fix-proof-20260923.py": { + "bytes": 3937, + "sha256": "95c006b1a84f42400fdad439958c3852aa54dc69ec85aedd29d79cc8c089c803" + }, + "helpers/formatting-proof.py": { + "bytes": 5518, + "sha256": "731d5c8c9993c81b789edc3c8ab9aa03e141b4334ace8a64c5d101e8315e03b4" + }, + "notes/analysis-mixed-direct-evidence-review-20260923.md": { + "bytes": 6608, + "sha256": "02e0713681e3a196d91b9cfd170bcd5a54d0e78b7948e30439baf9d051c29d6c" + }, + "notes/analysis-mixed-direct-gate-path-check-20260923.json": { + "bytes": 22970, + "sha256": "e3455ca847df1fd25e3c8dd4040e647155a917905f38b8b320f4fdfa17ff3d2d" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "bytes": 18874, + "sha256": "8ad3005d960667267a10e9a73b92f8e151dd4e451cbbaed215bbad74e79677e0" + }, + "notes/analysis-mixed-parser-proposal-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-syntax-clippy-fix-handoff-20260923.md": { + "bytes": 2848, + "sha256": "903676efac11de735cd04b91965ec44bb50dc6fa464192cbb39fa53f4276caf2" + }, + "notes/analysis-mixed-syntax-clippy-fix-proof-20260923.json": { + "bytes": 2016, + "sha256": "cd91d010d66fda68c247bf64ce3861aa2d85dc9b3a535da80d7743241aad4a9c" + }, + "notes/analysis-mixed-syntax-clock-disposition-20260923.md": { + "bytes": 1636, + "sha256": "f560270339411c6265127095bd83115143c2f97eb257a20d5f0c64193345b3e2" + }, + "notes/analysis-mixed-syntax-evidence-tools-independent-review-20260923.md": { + "bytes": 13228, + "sha256": "3f7f6dc2621b111c885550f8d2e519f3668ec8a0f48f917d69419485a3638de4" + }, + "notes/analysis-mixed-syntax-followup-754a9b4-manifest-20260923.json": { + "bytes": 688, + "sha256": "87079e866306b6418b4a69052286b96f7a3f92d5567c12ebf86fdba5f5cfd607" + }, + "notes/analysis-mixed-syntax-followup-handoff-20260923.md": { + "bytes": 3739, + "sha256": "cbde5e49a3cc7f3fa6a138680dd4a8efba77038b9489358ce98b0f1beb930218" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.json": { + "bytes": 2864, + "sha256": "52775e006cbc27df7c6d865b8ef0bf1557d9347d52476b40a62f09eaa732473c" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.md": { + "bytes": 2316, + "sha256": "430e4350c506944313825fbaff289260c08134f3ba6c7b88323e5071fa7ccbf1" + }, + "notes/analysis-mixed-syntax-independent-review-20260923.md": { + "bytes": 15780, + "sha256": "057cf307bf914832565fb92a289ac102fdd68c666201af736d7c37557984e0d8" + }, + "notes/analysis-mixed-syntax-source-0fc0826-manifest-20260923.json": { + "bytes": 3100, + "sha256": "788b0ea775dbbe4772358a488500885132bd41038ac8f278542ed45d0741e24d" + }, + "notes/analysis-mixed-syntax-source-handoff-20260923.md": { + "bytes": 11880, + "sha256": "afa06df13a87a2be290623bf33d4643c9ec70a2e38886fb1b971e770db3239fe" + }, + "prior/list-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "prior/list-10d7f33.log": { + "bytes": 18213, + "sha256": "76b9e9ebc0c0d3d8794020dd222cfc94f7dd8cda9deedd0e74e0cd0c3aa5900c" + }, + "prior/list-10d7f33.result.json": { + "bytes": 19385, + "sha256": "4baf130b68e2c044ad3e43d6e8a2e13c611008192a271d3dfa75ee5a7c1503c1" + } + }, + "git_origins": { + "baseline/full-f1d79df.log": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.log" + }, + "baseline/full-f1d79df.result.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.result.json" + }, + "baseline/full-f1d79df.inputs.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.inputs.json" + }, + "baseline/full-f1d79df.comparison.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.comparison.json" + }, + "baseline/full-f1d79df-comparison.py": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df-comparison.py" + }, + "prior/list-10d7f33.log": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.log" + }, + "prior/list-10d7f33.result.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.result.json" + }, + "prior/list-10d7f33.inputs.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.inputs.json" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-proposal-20260923.md" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-review-20260923.md" + } + }, + "verified_summary": { + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + }, + "strict_core_all_targets": "PASS", + "strict_exit": 0, + "fmt_exit": 1, + "full_invocation": "direct-executable", + "listing_artifacts": [ + { + "invocation": "direct-executable", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + } + ] + }, + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2" + } + ] + } + ], + "intermediate_checkpoint": { + "source": "eeb1069cfcfc51e4cf73cff850adc2fabc8aae77", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + }, + "strict_core_all_targets": "FAILED", + "strict_exit": 101, + "fmt_exit": 1, + "full_invocation": "cargo", + "listing_artifacts": [ + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + } + ] + } + ] + }, + "formatting_disposition": "Formatting FAILED at eeb1069; six affected blobs byte-identical at a578ac9, eeb1069, 10d7f33 and f1d79df; final fmt also FAILED exit 1 with identical nine blocks", + "unchanged_inputs_from_intermediate": 540, + "clock_discontinuity": "Raw final listing UTC end precedes start after host clock moved backward; exact immutable receipt retained; elapsed_monotonic_seconds=768.4220000000059 is the duration evidence. No wall-clock duration inferred.", + "limits": "Receipt/Git consistency only; no archived code or binaries executed. No public source8, semantic/compositor or full-suite PASS claim." + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-final-formatting-location/control-result.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-final-formatting-location/control-result.json new file mode 100644 index 00000000..accc3252 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-final-formatting-location/control-result.json @@ -0,0 +1,38 @@ +{ + "case": "changed-final-formatting-location", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 11.76600000000326, + "expected_refusal_fragment": "Final formatting failure scope changed", + "actual_refusal": "REFUSED: Final formatting failure scope changed", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\changed-final-formatting-location" + ], + "files": { + "evidence.zip": { + "bytes": 567818, + "sha256": "de663fd532e194d70c8fdab55d84f3d994b04aef0d122b8815cd376b1b287409" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "6fdc0d9de10a2802db31a208331cf6ea3453949e9ddae92841a332e30cf6057f" + }, + "stderr.log": { + "bytes": 49, + "sha256": "35e6a10b94245910d4bd99b1f477a6bf655ed9e482b9ecf57ebee6c4f746eab8" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-final-formatting-location/manifest.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-final-formatting-location/manifest.json new file mode 100644 index 00000000..7943c6fa --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-final-formatting-location/manifest.json @@ -0,0 +1,561 @@ +{ + "schema": 1, + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "payloads": { + "baseline/full-f1d79df-comparison.py": { + "bytes": 3499, + "sha256": "e88c0c630b05d0568b29301efdfb0c6e74135e4b04e27a1f71f27954b8809921" + }, + "baseline/full-f1d79df.comparison.json": { + "bytes": 3864, + "sha256": "5497ce589c3e8eea6158055af77da598aab1a7c2a92af30c7264bfd311ec89f4" + }, + "baseline/full-f1d79df.inputs.json": { + "bytes": 99490, + "sha256": "6a4c7e3c8d1e6edb7ad306c19abd05009ee410312eb34b68ec30d6408387967b" + }, + "baseline/full-f1d79df.log": { + "bytes": 28480, + "sha256": "29a08cbfc02a83922f90c00f0b48f1aa403f93261457e65d29e3b9f46389dce9" + }, + "baseline/full-f1d79df.result.json": { + "bytes": 1234, + "sha256": "a1465abd64e2b3a29388f5da1912dcb87bfe9aed618c122bad557ff21c52c95b" + }, + "gates/launchers/3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a.py": { + "bytes": 16167, + "sha256": "3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a" + }, + "gates/launchers/471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de.py": { + "bytes": 5319, + "sha256": "471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de" + }, + "gates/launchers/83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364.py": { + "bytes": 5264, + "sha256": "83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364" + }, + "gates/mixed-clippy-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-clippy-a578-1.log": { + "bytes": 166, + "sha256": "36f453dc344f791cfc5bdfa532df3520008887de673b01c76edac9233e18e913" + }, + "gates/mixed-clippy-a578-1.result.json": { + "bytes": 1717, + "sha256": "c6f408b0963d8da7514ea87219e5a0b991c04d3ea9f9fe25f7b45752cb57e7a5" + }, + "gates/mixed-clippy-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-clippy-eeb1-1.log": { + "bytes": 1996, + "sha256": "ab9c0fc8baf8c56230b448f18b1de8dbf2d8e7c85a1f118aea369dea129f3f17" + }, + "gates/mixed-clippy-eeb1-1.result.json": { + "bytes": 1720, + "sha256": "886eb86c99a261af00207864ba4717735910a092f3ec3352ff455a960de38881" + }, + "gates/mixed-direct-full-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-full-a578-1.log": { + "bytes": 33333, + "sha256": "3af2546378fd0cdd634dd63791d8b3475563c49c19d28aaea1e3a35a2474fbb6" + }, + "gates/mixed-direct-full-a578-1.result.json": { + "bytes": 52372, + "sha256": "8ba1ef2dca98440b57280ebf0282257ace79a0f0ccfde23f7ad8e7e2c255a0ec" + }, + "gates/mixed-direct-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-list-a578-1.log": { + "bytes": 20334, + "sha256": "37551f95fc70a422e394712690bf19b69ad769890a9a07eac73bf9e0fa843242" + }, + "gates/mixed-direct-list-a578-1.result.json": { + "bytes": 49871, + "sha256": "22db9a6a34d1e0800a71ec1ae88e1f18467d1c50a10a9ad305182d29cc11d904" + }, + "gates/mixed-fmt-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-fmt-a578-1.log": { + "bytes": 7352, + "sha256": "07771c3e532914e674fba5916e042cac5b1c1c391ea5bb3af3b3a7f6d885d415" + }, + "gates/mixed-fmt-a578-1.result.json": { + "bytes": 1631, + "sha256": "e2f1abe405e4d5694e41e02c27dda71354e4fa8274dd007cee8de4d30c38aa68" + }, + "gates/mixed-fmt-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-fmt-eeb1-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-eeb1-1.result.json": { + "bytes": 1631, + "sha256": "0ad50da9ef19f4129f593ffe37173c930b0b151cdd6ea00b1308aec12c973a5b" + }, + "gates/mixed-focused-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-focused-a578-1.log": { + "bytes": 2911, + "sha256": "4acfc2bc654210441ab07b45fcfdb9a8496667f768962c1c51a5a06f73011c60" + }, + "gates/mixed-focused-a578-1.result.json": { + "bytes": 2061, + "sha256": "fa586319f22c7eb1bd75e9d9da6784cff8cc897b6b93205c84f6591fa9c76b85" + }, + "gates/mixed-focused-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-focused-eeb1-1.log": { + "bytes": 2806, + "sha256": "1b7d6df5aaa0b0d9828cbbac9a77cb8ace0d8e2e3a8e44d58dcc5b254348628a" + }, + "gates/mixed-focused-eeb1-1.result.json": { + "bytes": 2057, + "sha256": "2b55c0b63e9bb9f3c8a45b934833a799e811b66a7c1297d40ca1b6edb54b4d75" + }, + "gates/mixed-full-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-full-eeb1-1.log": { + "bytes": 33611, + "sha256": "ae9e4f3187d053d3ded9ec2475fc7dd469d5df976261fdc30479070e08cbc2b6" + }, + "gates/mixed-full-eeb1-1.result.json": { + "bytes": 1981, + "sha256": "1f0b3e64142d8a774ad5e59c1d8e8f28c1a94717749b851d22044a41c2e01830" + }, + "gates/mixed-list-754a-1.inputs.json": { + "bytes": 100820, + "sha256": "020a1ef53d3f30699b66358cb8688add682a33960b3e12721f50af5a9f57a3cb" + }, + "gates/mixed-list-754a-1.log": { + "bytes": 473, + "sha256": "ff09dcad13a097b29fe80455f9f34b5df71d3dd1ada101dca3ee1a046ab33977" + }, + "gates/mixed-list-754a-1.result.json": { + "bytes": 1694, + "sha256": "35c109d3f9e05aaae7933f0af955703a8affad45158d3e7de6bd23c35ea76cd8" + }, + "gates/mixed-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-list-a578-1.log": { + "bytes": 20665, + "sha256": "7ad105fc530f3f13d5b108f8856d431cf5833209b9dc410428525368aa0fd063" + }, + "gates/mixed-list-a578-1.result.json": { + "bytes": 22476, + "sha256": "adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100" + }, + "gates/mixed-list-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-list-eeb1-1.log": { + "bytes": 20665, + "sha256": "3e07d0c5a843b9a2bc74d4ce8f36976c49ea57b6a14d5a4dc1f334a7e6016bd5" + }, + "gates/mixed-list-eeb1-1.result.json": { + "bytes": 22477, + "sha256": "d0f7afa28c1a7b976a1729c59c2f6c9c7a04a674658a39e04de09106698005f5" + }, + "helpers/analysis-mixed-syntax-clippy-fix-proof-20260923.py": { + "bytes": 3937, + "sha256": "95c006b1a84f42400fdad439958c3852aa54dc69ec85aedd29d79cc8c089c803" + }, + "helpers/formatting-proof.py": { + "bytes": 5518, + "sha256": "731d5c8c9993c81b789edc3c8ab9aa03e141b4334ace8a64c5d101e8315e03b4" + }, + "notes/analysis-mixed-direct-evidence-review-20260923.md": { + "bytes": 6608, + "sha256": "02e0713681e3a196d91b9cfd170bcd5a54d0e78b7948e30439baf9d051c29d6c" + }, + "notes/analysis-mixed-direct-gate-path-check-20260923.json": { + "bytes": 22970, + "sha256": "e3455ca847df1fd25e3c8dd4040e647155a917905f38b8b320f4fdfa17ff3d2d" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "bytes": 18874, + "sha256": "8ad3005d960667267a10e9a73b92f8e151dd4e451cbbaed215bbad74e79677e0" + }, + "notes/analysis-mixed-parser-proposal-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-syntax-clippy-fix-handoff-20260923.md": { + "bytes": 2848, + "sha256": "903676efac11de735cd04b91965ec44bb50dc6fa464192cbb39fa53f4276caf2" + }, + "notes/analysis-mixed-syntax-clippy-fix-proof-20260923.json": { + "bytes": 2016, + "sha256": "cd91d010d66fda68c247bf64ce3861aa2d85dc9b3a535da80d7743241aad4a9c" + }, + "notes/analysis-mixed-syntax-clock-disposition-20260923.md": { + "bytes": 1636, + "sha256": "f560270339411c6265127095bd83115143c2f97eb257a20d5f0c64193345b3e2" + }, + "notes/analysis-mixed-syntax-evidence-tools-independent-review-20260923.md": { + "bytes": 13228, + "sha256": "3f7f6dc2621b111c885550f8d2e519f3668ec8a0f48f917d69419485a3638de4" + }, + "notes/analysis-mixed-syntax-followup-754a9b4-manifest-20260923.json": { + "bytes": 688, + "sha256": "87079e866306b6418b4a69052286b96f7a3f92d5567c12ebf86fdba5f5cfd607" + }, + "notes/analysis-mixed-syntax-followup-handoff-20260923.md": { + "bytes": 3739, + "sha256": "cbde5e49a3cc7f3fa6a138680dd4a8efba77038b9489358ce98b0f1beb930218" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.json": { + "bytes": 2864, + "sha256": "52775e006cbc27df7c6d865b8ef0bf1557d9347d52476b40a62f09eaa732473c" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.md": { + "bytes": 2316, + "sha256": "430e4350c506944313825fbaff289260c08134f3ba6c7b88323e5071fa7ccbf1" + }, + "notes/analysis-mixed-syntax-independent-review-20260923.md": { + "bytes": 15780, + "sha256": "057cf307bf914832565fb92a289ac102fdd68c666201af736d7c37557984e0d8" + }, + "notes/analysis-mixed-syntax-source-0fc0826-manifest-20260923.json": { + "bytes": 3100, + "sha256": "788b0ea775dbbe4772358a488500885132bd41038ac8f278542ed45d0741e24d" + }, + "notes/analysis-mixed-syntax-source-handoff-20260923.md": { + "bytes": 11880, + "sha256": "afa06df13a87a2be290623bf33d4643c9ec70a2e38886fb1b971e770db3239fe" + }, + "prior/list-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "prior/list-10d7f33.log": { + "bytes": 18213, + "sha256": "76b9e9ebc0c0d3d8794020dd222cfc94f7dd8cda9deedd0e74e0cd0c3aa5900c" + }, + "prior/list-10d7f33.result.json": { + "bytes": 19385, + "sha256": "4baf130b68e2c044ad3e43d6e8a2e13c611008192a271d3dfa75ee5a7c1503c1" + } + }, + "git_origins": { + "baseline/full-f1d79df.log": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.log" + }, + "baseline/full-f1d79df.result.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.result.json" + }, + "baseline/full-f1d79df.inputs.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.inputs.json" + }, + "baseline/full-f1d79df.comparison.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.comparison.json" + }, + "baseline/full-f1d79df-comparison.py": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df-comparison.py" + }, + "prior/list-10d7f33.log": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.log" + }, + "prior/list-10d7f33.result.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.result.json" + }, + "prior/list-10d7f33.inputs.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.inputs.json" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-proposal-20260923.md" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-review-20260923.md" + } + }, + "verified_summary": { + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + }, + "strict_core_all_targets": "PASS", + "strict_exit": 0, + "fmt_exit": 1, + "full_invocation": "direct-executable", + "listing_artifacts": [ + { + "invocation": "direct-executable", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + } + ] + }, + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2" + } + ] + } + ], + "intermediate_checkpoint": { + "source": "eeb1069cfcfc51e4cf73cff850adc2fabc8aae77", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + }, + "strict_core_all_targets": "FAILED", + "strict_exit": 101, + "fmt_exit": 1, + "full_invocation": "cargo", + "listing_artifacts": [ + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + } + ] + } + ] + }, + "formatting_disposition": "Formatting FAILED at eeb1069; six affected blobs byte-identical at a578ac9, eeb1069, 10d7f33 and f1d79df; final fmt also FAILED exit 1 with identical nine blocks", + "unchanged_inputs_from_intermediate": 540, + "clock_discontinuity": "Raw final listing UTC end precedes start after host clock moved backward; exact immutable receipt retained; elapsed_monotonic_seconds=768.4220000000059 is the duration evidence. No wall-clock duration inferred.", + "limits": "Receipt/Git consistency only; no archived code or binaries executed. No public source8, semantic/compositor or full-suite PASS claim." + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-known-failure-cause/control-result.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-known-failure-cause/control-result.json new file mode 100644 index 00000000..263f6646 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-known-failure-cause/control-result.json @@ -0,0 +1,38 @@ +{ + "case": "changed-known-failure-cause", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 9.406000000002678, + "expected_refusal_fragment": "Failure cause changed", + "actual_refusal": "REFUSED: Failure cause changed: language::nesting_tests::checked_in_example_supports_cross_file_reparent_without_changing_allocations", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\changed-known-failure-cause" + ], + "files": { + "evidence.zip": { + "bytes": 567841, + "sha256": "ed6309c44613a716d52d59776256768db0b329b353ee331aed85b0119b7d9aab" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "0e432532792cd9b576915f0cd8f05af79182b143eb3c53763b1997614cdaf505" + }, + "stderr.log": { + "bytes": 135, + "sha256": "63a2b5759fcec79f4af4eae7c2b8df99fe52636370eaeb762e9c3351a404a1c6" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-known-failure-cause/manifest.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-known-failure-cause/manifest.json new file mode 100644 index 00000000..3c89ed7f --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-known-failure-cause/manifest.json @@ -0,0 +1,561 @@ +{ + "schema": 1, + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "payloads": { + "baseline/full-f1d79df-comparison.py": { + "bytes": 3499, + "sha256": "e88c0c630b05d0568b29301efdfb0c6e74135e4b04e27a1f71f27954b8809921" + }, + "baseline/full-f1d79df.comparison.json": { + "bytes": 3864, + "sha256": "5497ce589c3e8eea6158055af77da598aab1a7c2a92af30c7264bfd311ec89f4" + }, + "baseline/full-f1d79df.inputs.json": { + "bytes": 99490, + "sha256": "6a4c7e3c8d1e6edb7ad306c19abd05009ee410312eb34b68ec30d6408387967b" + }, + "baseline/full-f1d79df.log": { + "bytes": 28480, + "sha256": "29a08cbfc02a83922f90c00f0b48f1aa403f93261457e65d29e3b9f46389dce9" + }, + "baseline/full-f1d79df.result.json": { + "bytes": 1234, + "sha256": "a1465abd64e2b3a29388f5da1912dcb87bfe9aed618c122bad557ff21c52c95b" + }, + "gates/launchers/3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a.py": { + "bytes": 16167, + "sha256": "3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a" + }, + "gates/launchers/471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de.py": { + "bytes": 5319, + "sha256": "471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de" + }, + "gates/launchers/83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364.py": { + "bytes": 5264, + "sha256": "83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364" + }, + "gates/mixed-clippy-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-clippy-a578-1.log": { + "bytes": 166, + "sha256": "36f453dc344f791cfc5bdfa532df3520008887de673b01c76edac9233e18e913" + }, + "gates/mixed-clippy-a578-1.result.json": { + "bytes": 1717, + "sha256": "c6f408b0963d8da7514ea87219e5a0b991c04d3ea9f9fe25f7b45752cb57e7a5" + }, + "gates/mixed-clippy-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-clippy-eeb1-1.log": { + "bytes": 1996, + "sha256": "ab9c0fc8baf8c56230b448f18b1de8dbf2d8e7c85a1f118aea369dea129f3f17" + }, + "gates/mixed-clippy-eeb1-1.result.json": { + "bytes": 1720, + "sha256": "886eb86c99a261af00207864ba4717735910a092f3ec3352ff455a960de38881" + }, + "gates/mixed-direct-full-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-full-a578-1.log": { + "bytes": 33316, + "sha256": "0b0f113cb014254c696608f9fcd8e4cc389aa8922e5f746f098d435144c3fb7c" + }, + "gates/mixed-direct-full-a578-1.result.json": { + "bytes": 52372, + "sha256": "21041df936df95f1b0ef3cc5fc6fd3a9581994981edc7cebd14196ba15ca8570" + }, + "gates/mixed-direct-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-list-a578-1.log": { + "bytes": 20334, + "sha256": "37551f95fc70a422e394712690bf19b69ad769890a9a07eac73bf9e0fa843242" + }, + "gates/mixed-direct-list-a578-1.result.json": { + "bytes": 49871, + "sha256": "22db9a6a34d1e0800a71ec1ae88e1f18467d1c50a10a9ad305182d29cc11d904" + }, + "gates/mixed-fmt-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-fmt-a578-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-a578-1.result.json": { + "bytes": 1631, + "sha256": "2648337aa67f6978b77e05479321a35ad782ebdad71b322efc62bb46e7180fe0" + }, + "gates/mixed-fmt-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-fmt-eeb1-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-eeb1-1.result.json": { + "bytes": 1631, + "sha256": "0ad50da9ef19f4129f593ffe37173c930b0b151cdd6ea00b1308aec12c973a5b" + }, + "gates/mixed-focused-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-focused-a578-1.log": { + "bytes": 2911, + "sha256": "4acfc2bc654210441ab07b45fcfdb9a8496667f768962c1c51a5a06f73011c60" + }, + "gates/mixed-focused-a578-1.result.json": { + "bytes": 2061, + "sha256": "fa586319f22c7eb1bd75e9d9da6784cff8cc897b6b93205c84f6591fa9c76b85" + }, + "gates/mixed-focused-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-focused-eeb1-1.log": { + "bytes": 2806, + "sha256": "1b7d6df5aaa0b0d9828cbbac9a77cb8ace0d8e2e3a8e44d58dcc5b254348628a" + }, + "gates/mixed-focused-eeb1-1.result.json": { + "bytes": 2057, + "sha256": "2b55c0b63e9bb9f3c8a45b934833a799e811b66a7c1297d40ca1b6edb54b4d75" + }, + "gates/mixed-full-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-full-eeb1-1.log": { + "bytes": 33611, + "sha256": "ae9e4f3187d053d3ded9ec2475fc7dd469d5df976261fdc30479070e08cbc2b6" + }, + "gates/mixed-full-eeb1-1.result.json": { + "bytes": 1981, + "sha256": "1f0b3e64142d8a774ad5e59c1d8e8f28c1a94717749b851d22044a41c2e01830" + }, + "gates/mixed-list-754a-1.inputs.json": { + "bytes": 100820, + "sha256": "020a1ef53d3f30699b66358cb8688add682a33960b3e12721f50af5a9f57a3cb" + }, + "gates/mixed-list-754a-1.log": { + "bytes": 473, + "sha256": "ff09dcad13a097b29fe80455f9f34b5df71d3dd1ada101dca3ee1a046ab33977" + }, + "gates/mixed-list-754a-1.result.json": { + "bytes": 1694, + "sha256": "35c109d3f9e05aaae7933f0af955703a8affad45158d3e7de6bd23c35ea76cd8" + }, + "gates/mixed-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-list-a578-1.log": { + "bytes": 20665, + "sha256": "7ad105fc530f3f13d5b108f8856d431cf5833209b9dc410428525368aa0fd063" + }, + "gates/mixed-list-a578-1.result.json": { + "bytes": 22476, + "sha256": "adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100" + }, + "gates/mixed-list-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-list-eeb1-1.log": { + "bytes": 20665, + "sha256": "3e07d0c5a843b9a2bc74d4ce8f36976c49ea57b6a14d5a4dc1f334a7e6016bd5" + }, + "gates/mixed-list-eeb1-1.result.json": { + "bytes": 22477, + "sha256": "d0f7afa28c1a7b976a1729c59c2f6c9c7a04a674658a39e04de09106698005f5" + }, + "helpers/analysis-mixed-syntax-clippy-fix-proof-20260923.py": { + "bytes": 3937, + "sha256": "95c006b1a84f42400fdad439958c3852aa54dc69ec85aedd29d79cc8c089c803" + }, + "helpers/formatting-proof.py": { + "bytes": 5518, + "sha256": "731d5c8c9993c81b789edc3c8ab9aa03e141b4334ace8a64c5d101e8315e03b4" + }, + "notes/analysis-mixed-direct-evidence-review-20260923.md": { + "bytes": 6608, + "sha256": "02e0713681e3a196d91b9cfd170bcd5a54d0e78b7948e30439baf9d051c29d6c" + }, + "notes/analysis-mixed-direct-gate-path-check-20260923.json": { + "bytes": 22970, + "sha256": "e3455ca847df1fd25e3c8dd4040e647155a917905f38b8b320f4fdfa17ff3d2d" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "bytes": 18874, + "sha256": "8ad3005d960667267a10e9a73b92f8e151dd4e451cbbaed215bbad74e79677e0" + }, + "notes/analysis-mixed-parser-proposal-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-syntax-clippy-fix-handoff-20260923.md": { + "bytes": 2848, + "sha256": "903676efac11de735cd04b91965ec44bb50dc6fa464192cbb39fa53f4276caf2" + }, + "notes/analysis-mixed-syntax-clippy-fix-proof-20260923.json": { + "bytes": 2016, + "sha256": "cd91d010d66fda68c247bf64ce3861aa2d85dc9b3a535da80d7743241aad4a9c" + }, + "notes/analysis-mixed-syntax-clock-disposition-20260923.md": { + "bytes": 1636, + "sha256": "f560270339411c6265127095bd83115143c2f97eb257a20d5f0c64193345b3e2" + }, + "notes/analysis-mixed-syntax-evidence-tools-independent-review-20260923.md": { + "bytes": 13228, + "sha256": "3f7f6dc2621b111c885550f8d2e519f3668ec8a0f48f917d69419485a3638de4" + }, + "notes/analysis-mixed-syntax-followup-754a9b4-manifest-20260923.json": { + "bytes": 688, + "sha256": "87079e866306b6418b4a69052286b96f7a3f92d5567c12ebf86fdba5f5cfd607" + }, + "notes/analysis-mixed-syntax-followup-handoff-20260923.md": { + "bytes": 3739, + "sha256": "cbde5e49a3cc7f3fa6a138680dd4a8efba77038b9489358ce98b0f1beb930218" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.json": { + "bytes": 2864, + "sha256": "52775e006cbc27df7c6d865b8ef0bf1557d9347d52476b40a62f09eaa732473c" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.md": { + "bytes": 2316, + "sha256": "430e4350c506944313825fbaff289260c08134f3ba6c7b88323e5071fa7ccbf1" + }, + "notes/analysis-mixed-syntax-independent-review-20260923.md": { + "bytes": 15780, + "sha256": "057cf307bf914832565fb92a289ac102fdd68c666201af736d7c37557984e0d8" + }, + "notes/analysis-mixed-syntax-source-0fc0826-manifest-20260923.json": { + "bytes": 3100, + "sha256": "788b0ea775dbbe4772358a488500885132bd41038ac8f278542ed45d0741e24d" + }, + "notes/analysis-mixed-syntax-source-handoff-20260923.md": { + "bytes": 11880, + "sha256": "afa06df13a87a2be290623bf33d4643c9ec70a2e38886fb1b971e770db3239fe" + }, + "prior/list-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "prior/list-10d7f33.log": { + "bytes": 18213, + "sha256": "76b9e9ebc0c0d3d8794020dd222cfc94f7dd8cda9deedd0e74e0cd0c3aa5900c" + }, + "prior/list-10d7f33.result.json": { + "bytes": 19385, + "sha256": "4baf130b68e2c044ad3e43d6e8a2e13c611008192a271d3dfa75ee5a7c1503c1" + } + }, + "git_origins": { + "baseline/full-f1d79df.log": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.log" + }, + "baseline/full-f1d79df.result.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.result.json" + }, + "baseline/full-f1d79df.inputs.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.inputs.json" + }, + "baseline/full-f1d79df.comparison.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.comparison.json" + }, + "baseline/full-f1d79df-comparison.py": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df-comparison.py" + }, + "prior/list-10d7f33.log": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.log" + }, + "prior/list-10d7f33.result.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.result.json" + }, + "prior/list-10d7f33.inputs.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.inputs.json" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-proposal-20260923.md" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-review-20260923.md" + } + }, + "verified_summary": { + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + }, + "strict_core_all_targets": "PASS", + "strict_exit": 0, + "fmt_exit": 1, + "full_invocation": "direct-executable", + "listing_artifacts": [ + { + "invocation": "direct-executable", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + } + ] + }, + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2" + } + ] + } + ], + "intermediate_checkpoint": { + "source": "eeb1069cfcfc51e4cf73cff850adc2fabc8aae77", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + }, + "strict_core_all_targets": "FAILED", + "strict_exit": 101, + "fmt_exit": 1, + "full_invocation": "cargo", + "listing_artifacts": [ + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + } + ] + } + ] + }, + "formatting_disposition": "Formatting FAILED at eeb1069; six affected blobs byte-identical at a578ac9, eeb1069, 10d7f33 and f1d79df; final fmt also FAILED exit 1 with identical nine blocks", + "unchanged_inputs_from_intermediate": 540, + "clock_discontinuity": "Raw final listing UTC end precedes start after host clock moved backward; exact immutable receipt retained; elapsed_monotonic_seconds=768.4220000000059 is the duration evidence. No wall-clock duration inferred.", + "limits": "Receipt/Git consistency only; no archived code or binaries executed. No public source8, semantic/compositor or full-suite PASS claim." + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-new-outcome/control-result.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-new-outcome/control-result.json new file mode 100644 index 00000000..d12260d5 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-new-outcome/control-result.json @@ -0,0 +1,38 @@ +{ + "case": "changed-new-outcome", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 161.89100000000326, + "expected_refusal_fragment": "Runtime status mismatch", + "actual_refusal": "REFUSED: Runtime status mismatch", + "matched": true, + "detail": "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-20260923\\changed-new-outcome" + ], + "files": { + "evidence.zip": { + "bytes": 567823, + "sha256": "73b3aeab84d99202bd59e1071b1b804e88a3cef49c06f6b748220046f95b9f6f" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "29dcf26d904d005770887fb0b40be6e25ed1ec9cad83f922c895c9b55663ba2b" + }, + "stderr.log": { + "bytes": 34, + "sha256": "15d3d0e2c6fb3f20f18c2c8d7ed4f67ec51578df0c66d79cb395c0cd2a955190" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-new-outcome/manifest.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-new-outcome/manifest.json new file mode 100644 index 00000000..73e59522 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/changed-new-outcome/manifest.json @@ -0,0 +1,561 @@ +{ + "schema": 1, + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "payloads": { + "baseline/full-f1d79df-comparison.py": { + "bytes": 3499, + "sha256": "e88c0c630b05d0568b29301efdfb0c6e74135e4b04e27a1f71f27954b8809921" + }, + "baseline/full-f1d79df.comparison.json": { + "bytes": 3864, + "sha256": "5497ce589c3e8eea6158055af77da598aab1a7c2a92af30c7264bfd311ec89f4" + }, + "baseline/full-f1d79df.inputs.json": { + "bytes": 99490, + "sha256": "6a4c7e3c8d1e6edb7ad306c19abd05009ee410312eb34b68ec30d6408387967b" + }, + "baseline/full-f1d79df.log": { + "bytes": 28480, + "sha256": "29a08cbfc02a83922f90c00f0b48f1aa403f93261457e65d29e3b9f46389dce9" + }, + "baseline/full-f1d79df.result.json": { + "bytes": 1234, + "sha256": "a1465abd64e2b3a29388f5da1912dcb87bfe9aed618c122bad557ff21c52c95b" + }, + "gates/launchers/3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a.py": { + "bytes": 16167, + "sha256": "3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a" + }, + "gates/launchers/471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de.py": { + "bytes": 5319, + "sha256": "471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de" + }, + "gates/launchers/83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364.py": { + "bytes": 5264, + "sha256": "83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364" + }, + "gates/mixed-clippy-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-clippy-a578-1.log": { + "bytes": 166, + "sha256": "36f453dc344f791cfc5bdfa532df3520008887de673b01c76edac9233e18e913" + }, + "gates/mixed-clippy-a578-1.result.json": { + "bytes": 1717, + "sha256": "c6f408b0963d8da7514ea87219e5a0b991c04d3ea9f9fe25f7b45752cb57e7a5" + }, + "gates/mixed-clippy-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-clippy-eeb1-1.log": { + "bytes": 1996, + "sha256": "ab9c0fc8baf8c56230b448f18b1de8dbf2d8e7c85a1f118aea369dea129f3f17" + }, + "gates/mixed-clippy-eeb1-1.result.json": { + "bytes": 1720, + "sha256": "886eb86c99a261af00207864ba4717735910a092f3ec3352ff455a960de38881" + }, + "gates/mixed-direct-full-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-full-a578-1.log": { + "bytes": 33337, + "sha256": "550a1c7c72b18a8af1c5b93f63fc04aebddd00281573910f15e1ed52db32ed93" + }, + "gates/mixed-direct-full-a578-1.result.json": { + "bytes": 52372, + "sha256": "8c68936332b1312e391390bda60c106e953a16fff11cd45995b1452e22fa50be" + }, + "gates/mixed-direct-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-list-a578-1.log": { + "bytes": 20334, + "sha256": "37551f95fc70a422e394712690bf19b69ad769890a9a07eac73bf9e0fa843242" + }, + "gates/mixed-direct-list-a578-1.result.json": { + "bytes": 49871, + "sha256": "22db9a6a34d1e0800a71ec1ae88e1f18467d1c50a10a9ad305182d29cc11d904" + }, + "gates/mixed-fmt-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-fmt-a578-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-a578-1.result.json": { + "bytes": 1631, + "sha256": "2648337aa67f6978b77e05479321a35ad782ebdad71b322efc62bb46e7180fe0" + }, + "gates/mixed-fmt-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-fmt-eeb1-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-eeb1-1.result.json": { + "bytes": 1631, + "sha256": "0ad50da9ef19f4129f593ffe37173c930b0b151cdd6ea00b1308aec12c973a5b" + }, + "gates/mixed-focused-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-focused-a578-1.log": { + "bytes": 2911, + "sha256": "4acfc2bc654210441ab07b45fcfdb9a8496667f768962c1c51a5a06f73011c60" + }, + "gates/mixed-focused-a578-1.result.json": { + "bytes": 2061, + "sha256": "fa586319f22c7eb1bd75e9d9da6784cff8cc897b6b93205c84f6591fa9c76b85" + }, + "gates/mixed-focused-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-focused-eeb1-1.log": { + "bytes": 2806, + "sha256": "1b7d6df5aaa0b0d9828cbbac9a77cb8ace0d8e2e3a8e44d58dcc5b254348628a" + }, + "gates/mixed-focused-eeb1-1.result.json": { + "bytes": 2057, + "sha256": "2b55c0b63e9bb9f3c8a45b934833a799e811b66a7c1297d40ca1b6edb54b4d75" + }, + "gates/mixed-full-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-full-eeb1-1.log": { + "bytes": 33611, + "sha256": "ae9e4f3187d053d3ded9ec2475fc7dd469d5df976261fdc30479070e08cbc2b6" + }, + "gates/mixed-full-eeb1-1.result.json": { + "bytes": 1981, + "sha256": "1f0b3e64142d8a774ad5e59c1d8e8f28c1a94717749b851d22044a41c2e01830" + }, + "gates/mixed-list-754a-1.inputs.json": { + "bytes": 100820, + "sha256": "020a1ef53d3f30699b66358cb8688add682a33960b3e12721f50af5a9f57a3cb" + }, + "gates/mixed-list-754a-1.log": { + "bytes": 473, + "sha256": "ff09dcad13a097b29fe80455f9f34b5df71d3dd1ada101dca3ee1a046ab33977" + }, + "gates/mixed-list-754a-1.result.json": { + "bytes": 1694, + "sha256": "35c109d3f9e05aaae7933f0af955703a8affad45158d3e7de6bd23c35ea76cd8" + }, + "gates/mixed-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-list-a578-1.log": { + "bytes": 20665, + "sha256": "7ad105fc530f3f13d5b108f8856d431cf5833209b9dc410428525368aa0fd063" + }, + "gates/mixed-list-a578-1.result.json": { + "bytes": 22476, + "sha256": "adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100" + }, + "gates/mixed-list-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-list-eeb1-1.log": { + "bytes": 20665, + "sha256": "3e07d0c5a843b9a2bc74d4ce8f36976c49ea57b6a14d5a4dc1f334a7e6016bd5" + }, + "gates/mixed-list-eeb1-1.result.json": { + "bytes": 22477, + "sha256": "d0f7afa28c1a7b976a1729c59c2f6c9c7a04a674658a39e04de09106698005f5" + }, + "helpers/analysis-mixed-syntax-clippy-fix-proof-20260923.py": { + "bytes": 3937, + "sha256": "95c006b1a84f42400fdad439958c3852aa54dc69ec85aedd29d79cc8c089c803" + }, + "helpers/formatting-proof.py": { + "bytes": 5518, + "sha256": "731d5c8c9993c81b789edc3c8ab9aa03e141b4334ace8a64c5d101e8315e03b4" + }, + "notes/analysis-mixed-direct-evidence-review-20260923.md": { + "bytes": 6608, + "sha256": "02e0713681e3a196d91b9cfd170bcd5a54d0e78b7948e30439baf9d051c29d6c" + }, + "notes/analysis-mixed-direct-gate-path-check-20260923.json": { + "bytes": 22970, + "sha256": "e3455ca847df1fd25e3c8dd4040e647155a917905f38b8b320f4fdfa17ff3d2d" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "bytes": 18874, + "sha256": "8ad3005d960667267a10e9a73b92f8e151dd4e451cbbaed215bbad74e79677e0" + }, + "notes/analysis-mixed-parser-proposal-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-syntax-clippy-fix-handoff-20260923.md": { + "bytes": 2848, + "sha256": "903676efac11de735cd04b91965ec44bb50dc6fa464192cbb39fa53f4276caf2" + }, + "notes/analysis-mixed-syntax-clippy-fix-proof-20260923.json": { + "bytes": 2016, + "sha256": "cd91d010d66fda68c247bf64ce3861aa2d85dc9b3a535da80d7743241aad4a9c" + }, + "notes/analysis-mixed-syntax-clock-disposition-20260923.md": { + "bytes": 1636, + "sha256": "f560270339411c6265127095bd83115143c2f97eb257a20d5f0c64193345b3e2" + }, + "notes/analysis-mixed-syntax-evidence-tools-independent-review-20260923.md": { + "bytes": 13228, + "sha256": "3f7f6dc2621b111c885550f8d2e519f3668ec8a0f48f917d69419485a3638de4" + }, + "notes/analysis-mixed-syntax-followup-754a9b4-manifest-20260923.json": { + "bytes": 688, + "sha256": "87079e866306b6418b4a69052286b96f7a3f92d5567c12ebf86fdba5f5cfd607" + }, + "notes/analysis-mixed-syntax-followup-handoff-20260923.md": { + "bytes": 3739, + "sha256": "cbde5e49a3cc7f3fa6a138680dd4a8efba77038b9489358ce98b0f1beb930218" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.json": { + "bytes": 2864, + "sha256": "52775e006cbc27df7c6d865b8ef0bf1557d9347d52476b40a62f09eaa732473c" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.md": { + "bytes": 2316, + "sha256": "430e4350c506944313825fbaff289260c08134f3ba6c7b88323e5071fa7ccbf1" + }, + "notes/analysis-mixed-syntax-independent-review-20260923.md": { + "bytes": 15780, + "sha256": "057cf307bf914832565fb92a289ac102fdd68c666201af736d7c37557984e0d8" + }, + "notes/analysis-mixed-syntax-source-0fc0826-manifest-20260923.json": { + "bytes": 3100, + "sha256": "788b0ea775dbbe4772358a488500885132bd41038ac8f278542ed45d0741e24d" + }, + "notes/analysis-mixed-syntax-source-handoff-20260923.md": { + "bytes": 11880, + "sha256": "afa06df13a87a2be290623bf33d4643c9ec70a2e38886fb1b971e770db3239fe" + }, + "prior/list-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "prior/list-10d7f33.log": { + "bytes": 18213, + "sha256": "76b9e9ebc0c0d3d8794020dd222cfc94f7dd8cda9deedd0e74e0cd0c3aa5900c" + }, + "prior/list-10d7f33.result.json": { + "bytes": 19385, + "sha256": "4baf130b68e2c044ad3e43d6e8a2e13c611008192a271d3dfa75ee5a7c1503c1" + } + }, + "git_origins": { + "baseline/full-f1d79df.log": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.log" + }, + "baseline/full-f1d79df.result.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.result.json" + }, + "baseline/full-f1d79df.inputs.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.inputs.json" + }, + "baseline/full-f1d79df.comparison.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.comparison.json" + }, + "baseline/full-f1d79df-comparison.py": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df-comparison.py" + }, + "prior/list-10d7f33.log": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.log" + }, + "prior/list-10d7f33.result.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.result.json" + }, + "prior/list-10d7f33.inputs.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.inputs.json" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-proposal-20260923.md" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-review-20260923.md" + } + }, + "verified_summary": { + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + }, + "strict_core_all_targets": "PASS", + "strict_exit": 0, + "fmt_exit": 1, + "full_invocation": "direct-executable", + "listing_artifacts": [ + { + "invocation": "direct-executable", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + } + ] + }, + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2" + } + ] + } + ], + "intermediate_checkpoint": { + "source": "eeb1069cfcfc51e4cf73cff850adc2fabc8aae77", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + }, + "strict_core_all_targets": "FAILED", + "strict_exit": 101, + "fmt_exit": 1, + "full_invocation": "cargo", + "listing_artifacts": [ + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + } + ] + } + ] + }, + "formatting_disposition": "Formatting FAILED at eeb1069; six affected blobs byte-identical at a578ac9, eeb1069, 10d7f33 and f1d79df; final fmt also FAILED exit 1 with identical nine blocks", + "unchanged_inputs_from_intermediate": 540, + "clock_discontinuity": "Raw final listing UTC end precedes start after host clock moved backward; exact immutable receipt retained; elapsed_monotonic_seconds=768.4220000000059 is the duration evidence. No wall-clock duration inferred.", + "limits": "Receipt/Git consistency only; no archived code or binaries executed. No public source8, semantic/compositor or full-suite PASS claim." + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-extra-filter-argv/control-result.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-extra-filter-argv/control-result.json new file mode 100644 index 00000000..80db96ab --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-extra-filter-argv/control-result.json @@ -0,0 +1,38 @@ +{ + "case": "direct-extra-filter-argv", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 5.875, + "expected_refusal_fragment": "Unexpected direct executable argv", + "actual_refusal": "REFUSED: Unexpected direct executable argv", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\direct-extra-filter-argv" + ], + "files": { + "evidence.zip": { + "bytes": 567824, + "sha256": "4439b58a08c5880bafbec5bf36d60d5445f88a0298d97ba0aefbea1ec750ca5a" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "16036eb5b15863ab12cd722ad6dbb2dc798c21d1d7d31118f2535e38066d535b" + }, + "stderr.log": { + "bytes": 44, + "sha256": "33b348e48668f6a166e6a09cd667349241657f99d0a598dbbf4311d15515db7d" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-extra-filter-argv/manifest.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-extra-filter-argv/manifest.json new file mode 100644 index 00000000..be1a5c01 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-extra-filter-argv/manifest.json @@ -0,0 +1,561 @@ +{ + "schema": 1, + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "payloads": { + "baseline/full-f1d79df-comparison.py": { + "bytes": 3499, + "sha256": "e88c0c630b05d0568b29301efdfb0c6e74135e4b04e27a1f71f27954b8809921" + }, + "baseline/full-f1d79df.comparison.json": { + "bytes": 3864, + "sha256": "5497ce589c3e8eea6158055af77da598aab1a7c2a92af30c7264bfd311ec89f4" + }, + "baseline/full-f1d79df.inputs.json": { + "bytes": 99490, + "sha256": "6a4c7e3c8d1e6edb7ad306c19abd05009ee410312eb34b68ec30d6408387967b" + }, + "baseline/full-f1d79df.log": { + "bytes": 28480, + "sha256": "29a08cbfc02a83922f90c00f0b48f1aa403f93261457e65d29e3b9f46389dce9" + }, + "baseline/full-f1d79df.result.json": { + "bytes": 1234, + "sha256": "a1465abd64e2b3a29388f5da1912dcb87bfe9aed618c122bad557ff21c52c95b" + }, + "gates/launchers/3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a.py": { + "bytes": 16167, + "sha256": "3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a" + }, + "gates/launchers/471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de.py": { + "bytes": 5319, + "sha256": "471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de" + }, + "gates/launchers/83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364.py": { + "bytes": 5264, + "sha256": "83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364" + }, + "gates/mixed-clippy-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-clippy-a578-1.log": { + "bytes": 166, + "sha256": "36f453dc344f791cfc5bdfa532df3520008887de673b01c76edac9233e18e913" + }, + "gates/mixed-clippy-a578-1.result.json": { + "bytes": 1717, + "sha256": "c6f408b0963d8da7514ea87219e5a0b991c04d3ea9f9fe25f7b45752cb57e7a5" + }, + "gates/mixed-clippy-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-clippy-eeb1-1.log": { + "bytes": 1996, + "sha256": "ab9c0fc8baf8c56230b448f18b1de8dbf2d8e7c85a1f118aea369dea129f3f17" + }, + "gates/mixed-clippy-eeb1-1.result.json": { + "bytes": 1720, + "sha256": "886eb86c99a261af00207864ba4717735910a092f3ec3352ff455a960de38881" + }, + "gates/mixed-direct-full-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-full-a578-1.log": { + "bytes": 33333, + "sha256": "3af2546378fd0cdd634dd63791d8b3475563c49c19d28aaea1e3a35a2474fbb6" + }, + "gates/mixed-direct-full-a578-1.result.json": { + "bytes": 52395, + "sha256": "adc01a5a6ea205cd05b575f5d4ef4bec8896dc847cffb327c6b44120839c1199" + }, + "gates/mixed-direct-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-list-a578-1.log": { + "bytes": 20334, + "sha256": "37551f95fc70a422e394712690bf19b69ad769890a9a07eac73bf9e0fa843242" + }, + "gates/mixed-direct-list-a578-1.result.json": { + "bytes": 49871, + "sha256": "22db9a6a34d1e0800a71ec1ae88e1f18467d1c50a10a9ad305182d29cc11d904" + }, + "gates/mixed-fmt-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-fmt-a578-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-a578-1.result.json": { + "bytes": 1631, + "sha256": "2648337aa67f6978b77e05479321a35ad782ebdad71b322efc62bb46e7180fe0" + }, + "gates/mixed-fmt-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-fmt-eeb1-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-eeb1-1.result.json": { + "bytes": 1631, + "sha256": "0ad50da9ef19f4129f593ffe37173c930b0b151cdd6ea00b1308aec12c973a5b" + }, + "gates/mixed-focused-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-focused-a578-1.log": { + "bytes": 2911, + "sha256": "4acfc2bc654210441ab07b45fcfdb9a8496667f768962c1c51a5a06f73011c60" + }, + "gates/mixed-focused-a578-1.result.json": { + "bytes": 2061, + "sha256": "fa586319f22c7eb1bd75e9d9da6784cff8cc897b6b93205c84f6591fa9c76b85" + }, + "gates/mixed-focused-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-focused-eeb1-1.log": { + "bytes": 2806, + "sha256": "1b7d6df5aaa0b0d9828cbbac9a77cb8ace0d8e2e3a8e44d58dcc5b254348628a" + }, + "gates/mixed-focused-eeb1-1.result.json": { + "bytes": 2057, + "sha256": "2b55c0b63e9bb9f3c8a45b934833a799e811b66a7c1297d40ca1b6edb54b4d75" + }, + "gates/mixed-full-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-full-eeb1-1.log": { + "bytes": 33611, + "sha256": "ae9e4f3187d053d3ded9ec2475fc7dd469d5df976261fdc30479070e08cbc2b6" + }, + "gates/mixed-full-eeb1-1.result.json": { + "bytes": 1981, + "sha256": "1f0b3e64142d8a774ad5e59c1d8e8f28c1a94717749b851d22044a41c2e01830" + }, + "gates/mixed-list-754a-1.inputs.json": { + "bytes": 100820, + "sha256": "020a1ef53d3f30699b66358cb8688add682a33960b3e12721f50af5a9f57a3cb" + }, + "gates/mixed-list-754a-1.log": { + "bytes": 473, + "sha256": "ff09dcad13a097b29fe80455f9f34b5df71d3dd1ada101dca3ee1a046ab33977" + }, + "gates/mixed-list-754a-1.result.json": { + "bytes": 1694, + "sha256": "35c109d3f9e05aaae7933f0af955703a8affad45158d3e7de6bd23c35ea76cd8" + }, + "gates/mixed-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-list-a578-1.log": { + "bytes": 20665, + "sha256": "7ad105fc530f3f13d5b108f8856d431cf5833209b9dc410428525368aa0fd063" + }, + "gates/mixed-list-a578-1.result.json": { + "bytes": 22476, + "sha256": "adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100" + }, + "gates/mixed-list-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-list-eeb1-1.log": { + "bytes": 20665, + "sha256": "3e07d0c5a843b9a2bc74d4ce8f36976c49ea57b6a14d5a4dc1f334a7e6016bd5" + }, + "gates/mixed-list-eeb1-1.result.json": { + "bytes": 22477, + "sha256": "d0f7afa28c1a7b976a1729c59c2f6c9c7a04a674658a39e04de09106698005f5" + }, + "helpers/analysis-mixed-syntax-clippy-fix-proof-20260923.py": { + "bytes": 3937, + "sha256": "95c006b1a84f42400fdad439958c3852aa54dc69ec85aedd29d79cc8c089c803" + }, + "helpers/formatting-proof.py": { + "bytes": 5518, + "sha256": "731d5c8c9993c81b789edc3c8ab9aa03e141b4334ace8a64c5d101e8315e03b4" + }, + "notes/analysis-mixed-direct-evidence-review-20260923.md": { + "bytes": 6608, + "sha256": "02e0713681e3a196d91b9cfd170bcd5a54d0e78b7948e30439baf9d051c29d6c" + }, + "notes/analysis-mixed-direct-gate-path-check-20260923.json": { + "bytes": 22970, + "sha256": "e3455ca847df1fd25e3c8dd4040e647155a917905f38b8b320f4fdfa17ff3d2d" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "bytes": 18874, + "sha256": "8ad3005d960667267a10e9a73b92f8e151dd4e451cbbaed215bbad74e79677e0" + }, + "notes/analysis-mixed-parser-proposal-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-syntax-clippy-fix-handoff-20260923.md": { + "bytes": 2848, + "sha256": "903676efac11de735cd04b91965ec44bb50dc6fa464192cbb39fa53f4276caf2" + }, + "notes/analysis-mixed-syntax-clippy-fix-proof-20260923.json": { + "bytes": 2016, + "sha256": "cd91d010d66fda68c247bf64ce3861aa2d85dc9b3a535da80d7743241aad4a9c" + }, + "notes/analysis-mixed-syntax-clock-disposition-20260923.md": { + "bytes": 1636, + "sha256": "f560270339411c6265127095bd83115143c2f97eb257a20d5f0c64193345b3e2" + }, + "notes/analysis-mixed-syntax-evidence-tools-independent-review-20260923.md": { + "bytes": 13228, + "sha256": "3f7f6dc2621b111c885550f8d2e519f3668ec8a0f48f917d69419485a3638de4" + }, + "notes/analysis-mixed-syntax-followup-754a9b4-manifest-20260923.json": { + "bytes": 688, + "sha256": "87079e866306b6418b4a69052286b96f7a3f92d5567c12ebf86fdba5f5cfd607" + }, + "notes/analysis-mixed-syntax-followup-handoff-20260923.md": { + "bytes": 3739, + "sha256": "cbde5e49a3cc7f3fa6a138680dd4a8efba77038b9489358ce98b0f1beb930218" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.json": { + "bytes": 2864, + "sha256": "52775e006cbc27df7c6d865b8ef0bf1557d9347d52476b40a62f09eaa732473c" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.md": { + "bytes": 2316, + "sha256": "430e4350c506944313825fbaff289260c08134f3ba6c7b88323e5071fa7ccbf1" + }, + "notes/analysis-mixed-syntax-independent-review-20260923.md": { + "bytes": 15780, + "sha256": "057cf307bf914832565fb92a289ac102fdd68c666201af736d7c37557984e0d8" + }, + "notes/analysis-mixed-syntax-source-0fc0826-manifest-20260923.json": { + "bytes": 3100, + "sha256": "788b0ea775dbbe4772358a488500885132bd41038ac8f278542ed45d0741e24d" + }, + "notes/analysis-mixed-syntax-source-handoff-20260923.md": { + "bytes": 11880, + "sha256": "afa06df13a87a2be290623bf33d4643c9ec70a2e38886fb1b971e770db3239fe" + }, + "prior/list-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "prior/list-10d7f33.log": { + "bytes": 18213, + "sha256": "76b9e9ebc0c0d3d8794020dd222cfc94f7dd8cda9deedd0e74e0cd0c3aa5900c" + }, + "prior/list-10d7f33.result.json": { + "bytes": 19385, + "sha256": "4baf130b68e2c044ad3e43d6e8a2e13c611008192a271d3dfa75ee5a7c1503c1" + } + }, + "git_origins": { + "baseline/full-f1d79df.log": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.log" + }, + "baseline/full-f1d79df.result.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.result.json" + }, + "baseline/full-f1d79df.inputs.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.inputs.json" + }, + "baseline/full-f1d79df.comparison.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.comparison.json" + }, + "baseline/full-f1d79df-comparison.py": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df-comparison.py" + }, + "prior/list-10d7f33.log": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.log" + }, + "prior/list-10d7f33.result.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.result.json" + }, + "prior/list-10d7f33.inputs.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.inputs.json" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-proposal-20260923.md" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-review-20260923.md" + } + }, + "verified_summary": { + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + }, + "strict_core_all_targets": "PASS", + "strict_exit": 0, + "fmt_exit": 1, + "full_invocation": "direct-executable", + "listing_artifacts": [ + { + "invocation": "direct-executable", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + } + ] + }, + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2" + } + ] + } + ], + "intermediate_checkpoint": { + "source": "eeb1069cfcfc51e4cf73cff850adc2fabc8aae77", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + }, + "strict_core_all_targets": "FAILED", + "strict_exit": 101, + "fmt_exit": 1, + "full_invocation": "cargo", + "listing_artifacts": [ + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + } + ] + } + ] + }, + "formatting_disposition": "Formatting FAILED at eeb1069; six affected blobs byte-identical at a578ac9, eeb1069, 10d7f33 and f1d79df; final fmt also FAILED exit 1 with identical nine blocks", + "unchanged_inputs_from_intermediate": 540, + "clock_discontinuity": "Raw final listing UTC end precedes start after host clock moved backward; exact immutable receipt retained; elapsed_monotonic_seconds=768.4220000000059 is the duration evidence. No wall-clock duration inferred.", + "limits": "Receipt/Git consistency only; no archived code or binaries executed. No public source8, semantic/compositor or full-suite PASS claim." + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-fake-cargo-line/control-result.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-fake-cargo-line/control-result.json new file mode 100644 index 00000000..bc32055f --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-fake-cargo-line/control-result.json @@ -0,0 +1,38 @@ +{ + "case": "direct-fake-cargo-line", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 6.5, + "expected_refusal_fragment": "Direct output contains a fabricated Cargo invocation line", + "actual_refusal": "REFUSED: Direct output contains a fabricated Cargo invocation line", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\direct-fake-cargo-line" + ], + "files": { + "evidence.zip": { + "bytes": 567938, + "sha256": "9ddc67f6c14b7e8ee43cb3d906106bf7b7c2863d0ccdc84305a3dc5bc9aa580a" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "0a49ae7d3041076812507f37ffad39250e2ae772952c98c6811749ea6302aebc" + }, + "stderr.log": { + "bytes": 68, + "sha256": "6f7b1bcbf8969fe815e0f12a25c2301ba1c85ebe9d3b0f49234fe3fe633cb4d7" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-fake-cargo-line/manifest.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-fake-cargo-line/manifest.json new file mode 100644 index 00000000..33e2c79b --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-fake-cargo-line/manifest.json @@ -0,0 +1,561 @@ +{ + "schema": 1, + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "payloads": { + "baseline/full-f1d79df-comparison.py": { + "bytes": 3499, + "sha256": "e88c0c630b05d0568b29301efdfb0c6e74135e4b04e27a1f71f27954b8809921" + }, + "baseline/full-f1d79df.comparison.json": { + "bytes": 3864, + "sha256": "5497ce589c3e8eea6158055af77da598aab1a7c2a92af30c7264bfd311ec89f4" + }, + "baseline/full-f1d79df.inputs.json": { + "bytes": 99490, + "sha256": "6a4c7e3c8d1e6edb7ad306c19abd05009ee410312eb34b68ec30d6408387967b" + }, + "baseline/full-f1d79df.log": { + "bytes": 28480, + "sha256": "29a08cbfc02a83922f90c00f0b48f1aa403f93261457e65d29e3b9f46389dce9" + }, + "baseline/full-f1d79df.result.json": { + "bytes": 1234, + "sha256": "a1465abd64e2b3a29388f5da1912dcb87bfe9aed618c122bad557ff21c52c95b" + }, + "gates/launchers/3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a.py": { + "bytes": 16167, + "sha256": "3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a" + }, + "gates/launchers/471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de.py": { + "bytes": 5319, + "sha256": "471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de" + }, + "gates/launchers/83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364.py": { + "bytes": 5264, + "sha256": "83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364" + }, + "gates/mixed-clippy-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-clippy-a578-1.log": { + "bytes": 166, + "sha256": "36f453dc344f791cfc5bdfa532df3520008887de673b01c76edac9233e18e913" + }, + "gates/mixed-clippy-a578-1.result.json": { + "bytes": 1717, + "sha256": "c6f408b0963d8da7514ea87219e5a0b991c04d3ea9f9fe25f7b45752cb57e7a5" + }, + "gates/mixed-clippy-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-clippy-eeb1-1.log": { + "bytes": 1996, + "sha256": "ab9c0fc8baf8c56230b448f18b1de8dbf2d8e7c85a1f118aea369dea129f3f17" + }, + "gates/mixed-clippy-eeb1-1.result.json": { + "bytes": 1720, + "sha256": "886eb86c99a261af00207864ba4717735910a092f3ec3352ff455a960de38881" + }, + "gates/mixed-direct-full-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-full-a578-1.log": { + "bytes": 33492, + "sha256": "bbcece2a192c0549bfb9caf7db67eb96db548d9065b2f6e672168b5b0cc826c3" + }, + "gates/mixed-direct-full-a578-1.result.json": { + "bytes": 52372, + "sha256": "60103a4833f7bfd1b00943c277eeb7112c1e4ff95d6bfbe79a0cce775b9666f7" + }, + "gates/mixed-direct-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-list-a578-1.log": { + "bytes": 20334, + "sha256": "37551f95fc70a422e394712690bf19b69ad769890a9a07eac73bf9e0fa843242" + }, + "gates/mixed-direct-list-a578-1.result.json": { + "bytes": 49871, + "sha256": "22db9a6a34d1e0800a71ec1ae88e1f18467d1c50a10a9ad305182d29cc11d904" + }, + "gates/mixed-fmt-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-fmt-a578-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-a578-1.result.json": { + "bytes": 1631, + "sha256": "2648337aa67f6978b77e05479321a35ad782ebdad71b322efc62bb46e7180fe0" + }, + "gates/mixed-fmt-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-fmt-eeb1-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-eeb1-1.result.json": { + "bytes": 1631, + "sha256": "0ad50da9ef19f4129f593ffe37173c930b0b151cdd6ea00b1308aec12c973a5b" + }, + "gates/mixed-focused-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-focused-a578-1.log": { + "bytes": 2911, + "sha256": "4acfc2bc654210441ab07b45fcfdb9a8496667f768962c1c51a5a06f73011c60" + }, + "gates/mixed-focused-a578-1.result.json": { + "bytes": 2061, + "sha256": "fa586319f22c7eb1bd75e9d9da6784cff8cc897b6b93205c84f6591fa9c76b85" + }, + "gates/mixed-focused-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-focused-eeb1-1.log": { + "bytes": 2806, + "sha256": "1b7d6df5aaa0b0d9828cbbac9a77cb8ace0d8e2e3a8e44d58dcc5b254348628a" + }, + "gates/mixed-focused-eeb1-1.result.json": { + "bytes": 2057, + "sha256": "2b55c0b63e9bb9f3c8a45b934833a799e811b66a7c1297d40ca1b6edb54b4d75" + }, + "gates/mixed-full-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-full-eeb1-1.log": { + "bytes": 33611, + "sha256": "ae9e4f3187d053d3ded9ec2475fc7dd469d5df976261fdc30479070e08cbc2b6" + }, + "gates/mixed-full-eeb1-1.result.json": { + "bytes": 1981, + "sha256": "1f0b3e64142d8a774ad5e59c1d8e8f28c1a94717749b851d22044a41c2e01830" + }, + "gates/mixed-list-754a-1.inputs.json": { + "bytes": 100820, + "sha256": "020a1ef53d3f30699b66358cb8688add682a33960b3e12721f50af5a9f57a3cb" + }, + "gates/mixed-list-754a-1.log": { + "bytes": 473, + "sha256": "ff09dcad13a097b29fe80455f9f34b5df71d3dd1ada101dca3ee1a046ab33977" + }, + "gates/mixed-list-754a-1.result.json": { + "bytes": 1694, + "sha256": "35c109d3f9e05aaae7933f0af955703a8affad45158d3e7de6bd23c35ea76cd8" + }, + "gates/mixed-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-list-a578-1.log": { + "bytes": 20665, + "sha256": "7ad105fc530f3f13d5b108f8856d431cf5833209b9dc410428525368aa0fd063" + }, + "gates/mixed-list-a578-1.result.json": { + "bytes": 22476, + "sha256": "adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100" + }, + "gates/mixed-list-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-list-eeb1-1.log": { + "bytes": 20665, + "sha256": "3e07d0c5a843b9a2bc74d4ce8f36976c49ea57b6a14d5a4dc1f334a7e6016bd5" + }, + "gates/mixed-list-eeb1-1.result.json": { + "bytes": 22477, + "sha256": "d0f7afa28c1a7b976a1729c59c2f6c9c7a04a674658a39e04de09106698005f5" + }, + "helpers/analysis-mixed-syntax-clippy-fix-proof-20260923.py": { + "bytes": 3937, + "sha256": "95c006b1a84f42400fdad439958c3852aa54dc69ec85aedd29d79cc8c089c803" + }, + "helpers/formatting-proof.py": { + "bytes": 5518, + "sha256": "731d5c8c9993c81b789edc3c8ab9aa03e141b4334ace8a64c5d101e8315e03b4" + }, + "notes/analysis-mixed-direct-evidence-review-20260923.md": { + "bytes": 6608, + "sha256": "02e0713681e3a196d91b9cfd170bcd5a54d0e78b7948e30439baf9d051c29d6c" + }, + "notes/analysis-mixed-direct-gate-path-check-20260923.json": { + "bytes": 22970, + "sha256": "e3455ca847df1fd25e3c8dd4040e647155a917905f38b8b320f4fdfa17ff3d2d" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "bytes": 18874, + "sha256": "8ad3005d960667267a10e9a73b92f8e151dd4e451cbbaed215bbad74e79677e0" + }, + "notes/analysis-mixed-parser-proposal-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-syntax-clippy-fix-handoff-20260923.md": { + "bytes": 2848, + "sha256": "903676efac11de735cd04b91965ec44bb50dc6fa464192cbb39fa53f4276caf2" + }, + "notes/analysis-mixed-syntax-clippy-fix-proof-20260923.json": { + "bytes": 2016, + "sha256": "cd91d010d66fda68c247bf64ce3861aa2d85dc9b3a535da80d7743241aad4a9c" + }, + "notes/analysis-mixed-syntax-clock-disposition-20260923.md": { + "bytes": 1636, + "sha256": "f560270339411c6265127095bd83115143c2f97eb257a20d5f0c64193345b3e2" + }, + "notes/analysis-mixed-syntax-evidence-tools-independent-review-20260923.md": { + "bytes": 13228, + "sha256": "3f7f6dc2621b111c885550f8d2e519f3668ec8a0f48f917d69419485a3638de4" + }, + "notes/analysis-mixed-syntax-followup-754a9b4-manifest-20260923.json": { + "bytes": 688, + "sha256": "87079e866306b6418b4a69052286b96f7a3f92d5567c12ebf86fdba5f5cfd607" + }, + "notes/analysis-mixed-syntax-followup-handoff-20260923.md": { + "bytes": 3739, + "sha256": "cbde5e49a3cc7f3fa6a138680dd4a8efba77038b9489358ce98b0f1beb930218" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.json": { + "bytes": 2864, + "sha256": "52775e006cbc27df7c6d865b8ef0bf1557d9347d52476b40a62f09eaa732473c" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.md": { + "bytes": 2316, + "sha256": "430e4350c506944313825fbaff289260c08134f3ba6c7b88323e5071fa7ccbf1" + }, + "notes/analysis-mixed-syntax-independent-review-20260923.md": { + "bytes": 15780, + "sha256": "057cf307bf914832565fb92a289ac102fdd68c666201af736d7c37557984e0d8" + }, + "notes/analysis-mixed-syntax-source-0fc0826-manifest-20260923.json": { + "bytes": 3100, + "sha256": "788b0ea775dbbe4772358a488500885132bd41038ac8f278542ed45d0741e24d" + }, + "notes/analysis-mixed-syntax-source-handoff-20260923.md": { + "bytes": 11880, + "sha256": "afa06df13a87a2be290623bf33d4643c9ec70a2e38886fb1b971e770db3239fe" + }, + "prior/list-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "prior/list-10d7f33.log": { + "bytes": 18213, + "sha256": "76b9e9ebc0c0d3d8794020dd222cfc94f7dd8cda9deedd0e74e0cd0c3aa5900c" + }, + "prior/list-10d7f33.result.json": { + "bytes": 19385, + "sha256": "4baf130b68e2c044ad3e43d6e8a2e13c611008192a271d3dfa75ee5a7c1503c1" + } + }, + "git_origins": { + "baseline/full-f1d79df.log": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.log" + }, + "baseline/full-f1d79df.result.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.result.json" + }, + "baseline/full-f1d79df.inputs.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.inputs.json" + }, + "baseline/full-f1d79df.comparison.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.comparison.json" + }, + "baseline/full-f1d79df-comparison.py": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df-comparison.py" + }, + "prior/list-10d7f33.log": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.log" + }, + "prior/list-10d7f33.result.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.result.json" + }, + "prior/list-10d7f33.inputs.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.inputs.json" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-proposal-20260923.md" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-review-20260923.md" + } + }, + "verified_summary": { + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + }, + "strict_core_all_targets": "PASS", + "strict_exit": 0, + "fmt_exit": 1, + "full_invocation": "direct-executable", + "listing_artifacts": [ + { + "invocation": "direct-executable", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + } + ] + }, + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2" + } + ] + } + ], + "intermediate_checkpoint": { + "source": "eeb1069cfcfc51e4cf73cff850adc2fabc8aae77", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + }, + "strict_core_all_targets": "FAILED", + "strict_exit": 101, + "fmt_exit": 1, + "full_invocation": "cargo", + "listing_artifacts": [ + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + } + ] + } + ] + }, + "formatting_disposition": "Formatting FAILED at eeb1069; six affected blobs byte-identical at a578ac9, eeb1069, 10d7f33 and f1d79df; final fmt also FAILED exit 1 with identical nine blocks", + "unchanged_inputs_from_intermediate": 540, + "clock_discontinuity": "Raw final listing UTC end precedes start after host clock moved backward; exact immutable receipt retained; elapsed_monotonic_seconds=768.4220000000059 is the duration evidence. No wall-clock duration inferred.", + "limits": "Receipt/Git consistency only; no archived code or binaries executed. No public source8, semantic/compositor or full-suite PASS claim." + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-missing-bound-postcheck/control-result.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-missing-bound-postcheck/control-result.json new file mode 100644 index 00000000..227a79d3 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-missing-bound-postcheck/control-result.json @@ -0,0 +1,38 @@ +{ + "case": "direct-missing-bound-postcheck", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 6.328000000001339, + "expected_refusal_fragment": "Direct bound-file postcheck coverage differs", + "actual_refusal": "REFUSED: Direct bound-file postcheck coverage differs", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\direct-missing-bound-postcheck" + ], + "files": { + "evidence.zip": { + "bytes": 567802, + "sha256": "01c1eddda8c358cb669853225563c711afbf6d945b5bc48ebe6e2df746d4a6fa" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "22e4845608a2c538b4be6b72679c6c793d4e87f00592a81b33d8c0b073c1ce48" + }, + "stderr.log": { + "bytes": 55, + "sha256": "014f0c5edfcdeafa16b98397f2f6040a155ec87158f75a6b836215d63891b0d3" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-missing-bound-postcheck/manifest.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-missing-bound-postcheck/manifest.json new file mode 100644 index 00000000..82e7bfbe --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-missing-bound-postcheck/manifest.json @@ -0,0 +1,561 @@ +{ + "schema": 1, + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "payloads": { + "baseline/full-f1d79df-comparison.py": { + "bytes": 3499, + "sha256": "e88c0c630b05d0568b29301efdfb0c6e74135e4b04e27a1f71f27954b8809921" + }, + "baseline/full-f1d79df.comparison.json": { + "bytes": 3864, + "sha256": "5497ce589c3e8eea6158055af77da598aab1a7c2a92af30c7264bfd311ec89f4" + }, + "baseline/full-f1d79df.inputs.json": { + "bytes": 99490, + "sha256": "6a4c7e3c8d1e6edb7ad306c19abd05009ee410312eb34b68ec30d6408387967b" + }, + "baseline/full-f1d79df.log": { + "bytes": 28480, + "sha256": "29a08cbfc02a83922f90c00f0b48f1aa403f93261457e65d29e3b9f46389dce9" + }, + "baseline/full-f1d79df.result.json": { + "bytes": 1234, + "sha256": "a1465abd64e2b3a29388f5da1912dcb87bfe9aed618c122bad557ff21c52c95b" + }, + "gates/launchers/3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a.py": { + "bytes": 16167, + "sha256": "3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a" + }, + "gates/launchers/471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de.py": { + "bytes": 5319, + "sha256": "471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de" + }, + "gates/launchers/83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364.py": { + "bytes": 5264, + "sha256": "83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364" + }, + "gates/mixed-clippy-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-clippy-a578-1.log": { + "bytes": 166, + "sha256": "36f453dc344f791cfc5bdfa532df3520008887de673b01c76edac9233e18e913" + }, + "gates/mixed-clippy-a578-1.result.json": { + "bytes": 1717, + "sha256": "c6f408b0963d8da7514ea87219e5a0b991c04d3ea9f9fe25f7b45752cb57e7a5" + }, + "gates/mixed-clippy-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-clippy-eeb1-1.log": { + "bytes": 1996, + "sha256": "ab9c0fc8baf8c56230b448f18b1de8dbf2d8e7c85a1f118aea369dea129f3f17" + }, + "gates/mixed-clippy-eeb1-1.result.json": { + "bytes": 1720, + "sha256": "886eb86c99a261af00207864ba4717735910a092f3ec3352ff455a960de38881" + }, + "gates/mixed-direct-full-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-full-a578-1.log": { + "bytes": 33333, + "sha256": "3af2546378fd0cdd634dd63791d8b3475563c49c19d28aaea1e3a35a2474fbb6" + }, + "gates/mixed-direct-full-a578-1.result.json": { + "bytes": 52081, + "sha256": "20cab12154e8f163512fd709a9ef6c2b507beb9dcb2075aa91fe5472727cb161" + }, + "gates/mixed-direct-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-list-a578-1.log": { + "bytes": 20334, + "sha256": "37551f95fc70a422e394712690bf19b69ad769890a9a07eac73bf9e0fa843242" + }, + "gates/mixed-direct-list-a578-1.result.json": { + "bytes": 49871, + "sha256": "22db9a6a34d1e0800a71ec1ae88e1f18467d1c50a10a9ad305182d29cc11d904" + }, + "gates/mixed-fmt-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-fmt-a578-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-a578-1.result.json": { + "bytes": 1631, + "sha256": "2648337aa67f6978b77e05479321a35ad782ebdad71b322efc62bb46e7180fe0" + }, + "gates/mixed-fmt-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-fmt-eeb1-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-eeb1-1.result.json": { + "bytes": 1631, + "sha256": "0ad50da9ef19f4129f593ffe37173c930b0b151cdd6ea00b1308aec12c973a5b" + }, + "gates/mixed-focused-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-focused-a578-1.log": { + "bytes": 2911, + "sha256": "4acfc2bc654210441ab07b45fcfdb9a8496667f768962c1c51a5a06f73011c60" + }, + "gates/mixed-focused-a578-1.result.json": { + "bytes": 2061, + "sha256": "fa586319f22c7eb1bd75e9d9da6784cff8cc897b6b93205c84f6591fa9c76b85" + }, + "gates/mixed-focused-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-focused-eeb1-1.log": { + "bytes": 2806, + "sha256": "1b7d6df5aaa0b0d9828cbbac9a77cb8ace0d8e2e3a8e44d58dcc5b254348628a" + }, + "gates/mixed-focused-eeb1-1.result.json": { + "bytes": 2057, + "sha256": "2b55c0b63e9bb9f3c8a45b934833a799e811b66a7c1297d40ca1b6edb54b4d75" + }, + "gates/mixed-full-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-full-eeb1-1.log": { + "bytes": 33611, + "sha256": "ae9e4f3187d053d3ded9ec2475fc7dd469d5df976261fdc30479070e08cbc2b6" + }, + "gates/mixed-full-eeb1-1.result.json": { + "bytes": 1981, + "sha256": "1f0b3e64142d8a774ad5e59c1d8e8f28c1a94717749b851d22044a41c2e01830" + }, + "gates/mixed-list-754a-1.inputs.json": { + "bytes": 100820, + "sha256": "020a1ef53d3f30699b66358cb8688add682a33960b3e12721f50af5a9f57a3cb" + }, + "gates/mixed-list-754a-1.log": { + "bytes": 473, + "sha256": "ff09dcad13a097b29fe80455f9f34b5df71d3dd1ada101dca3ee1a046ab33977" + }, + "gates/mixed-list-754a-1.result.json": { + "bytes": 1694, + "sha256": "35c109d3f9e05aaae7933f0af955703a8affad45158d3e7de6bd23c35ea76cd8" + }, + "gates/mixed-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-list-a578-1.log": { + "bytes": 20665, + "sha256": "7ad105fc530f3f13d5b108f8856d431cf5833209b9dc410428525368aa0fd063" + }, + "gates/mixed-list-a578-1.result.json": { + "bytes": 22476, + "sha256": "adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100" + }, + "gates/mixed-list-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-list-eeb1-1.log": { + "bytes": 20665, + "sha256": "3e07d0c5a843b9a2bc74d4ce8f36976c49ea57b6a14d5a4dc1f334a7e6016bd5" + }, + "gates/mixed-list-eeb1-1.result.json": { + "bytes": 22477, + "sha256": "d0f7afa28c1a7b976a1729c59c2f6c9c7a04a674658a39e04de09106698005f5" + }, + "helpers/analysis-mixed-syntax-clippy-fix-proof-20260923.py": { + "bytes": 3937, + "sha256": "95c006b1a84f42400fdad439958c3852aa54dc69ec85aedd29d79cc8c089c803" + }, + "helpers/formatting-proof.py": { + "bytes": 5518, + "sha256": "731d5c8c9993c81b789edc3c8ab9aa03e141b4334ace8a64c5d101e8315e03b4" + }, + "notes/analysis-mixed-direct-evidence-review-20260923.md": { + "bytes": 6608, + "sha256": "02e0713681e3a196d91b9cfd170bcd5a54d0e78b7948e30439baf9d051c29d6c" + }, + "notes/analysis-mixed-direct-gate-path-check-20260923.json": { + "bytes": 22970, + "sha256": "e3455ca847df1fd25e3c8dd4040e647155a917905f38b8b320f4fdfa17ff3d2d" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "bytes": 18874, + "sha256": "8ad3005d960667267a10e9a73b92f8e151dd4e451cbbaed215bbad74e79677e0" + }, + "notes/analysis-mixed-parser-proposal-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-syntax-clippy-fix-handoff-20260923.md": { + "bytes": 2848, + "sha256": "903676efac11de735cd04b91965ec44bb50dc6fa464192cbb39fa53f4276caf2" + }, + "notes/analysis-mixed-syntax-clippy-fix-proof-20260923.json": { + "bytes": 2016, + "sha256": "cd91d010d66fda68c247bf64ce3861aa2d85dc9b3a535da80d7743241aad4a9c" + }, + "notes/analysis-mixed-syntax-clock-disposition-20260923.md": { + "bytes": 1636, + "sha256": "f560270339411c6265127095bd83115143c2f97eb257a20d5f0c64193345b3e2" + }, + "notes/analysis-mixed-syntax-evidence-tools-independent-review-20260923.md": { + "bytes": 13228, + "sha256": "3f7f6dc2621b111c885550f8d2e519f3668ec8a0f48f917d69419485a3638de4" + }, + "notes/analysis-mixed-syntax-followup-754a9b4-manifest-20260923.json": { + "bytes": 688, + "sha256": "87079e866306b6418b4a69052286b96f7a3f92d5567c12ebf86fdba5f5cfd607" + }, + "notes/analysis-mixed-syntax-followup-handoff-20260923.md": { + "bytes": 3739, + "sha256": "cbde5e49a3cc7f3fa6a138680dd4a8efba77038b9489358ce98b0f1beb930218" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.json": { + "bytes": 2864, + "sha256": "52775e006cbc27df7c6d865b8ef0bf1557d9347d52476b40a62f09eaa732473c" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.md": { + "bytes": 2316, + "sha256": "430e4350c506944313825fbaff289260c08134f3ba6c7b88323e5071fa7ccbf1" + }, + "notes/analysis-mixed-syntax-independent-review-20260923.md": { + "bytes": 15780, + "sha256": "057cf307bf914832565fb92a289ac102fdd68c666201af736d7c37557984e0d8" + }, + "notes/analysis-mixed-syntax-source-0fc0826-manifest-20260923.json": { + "bytes": 3100, + "sha256": "788b0ea775dbbe4772358a488500885132bd41038ac8f278542ed45d0741e24d" + }, + "notes/analysis-mixed-syntax-source-handoff-20260923.md": { + "bytes": 11880, + "sha256": "afa06df13a87a2be290623bf33d4643c9ec70a2e38886fb1b971e770db3239fe" + }, + "prior/list-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "prior/list-10d7f33.log": { + "bytes": 18213, + "sha256": "76b9e9ebc0c0d3d8794020dd222cfc94f7dd8cda9deedd0e74e0cd0c3aa5900c" + }, + "prior/list-10d7f33.result.json": { + "bytes": 19385, + "sha256": "4baf130b68e2c044ad3e43d6e8a2e13c611008192a271d3dfa75ee5a7c1503c1" + } + }, + "git_origins": { + "baseline/full-f1d79df.log": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.log" + }, + "baseline/full-f1d79df.result.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.result.json" + }, + "baseline/full-f1d79df.inputs.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.inputs.json" + }, + "baseline/full-f1d79df.comparison.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.comparison.json" + }, + "baseline/full-f1d79df-comparison.py": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df-comparison.py" + }, + "prior/list-10d7f33.log": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.log" + }, + "prior/list-10d7f33.result.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.result.json" + }, + "prior/list-10d7f33.inputs.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.inputs.json" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-proposal-20260923.md" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-review-20260923.md" + } + }, + "verified_summary": { + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + }, + "strict_core_all_targets": "PASS", + "strict_exit": 0, + "fmt_exit": 1, + "full_invocation": "direct-executable", + "listing_artifacts": [ + { + "invocation": "direct-executable", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + } + ] + }, + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2" + } + ] + } + ], + "intermediate_checkpoint": { + "source": "eeb1069cfcfc51e4cf73cff850adc2fabc8aae77", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + }, + "strict_core_all_targets": "FAILED", + "strict_exit": 101, + "fmt_exit": 1, + "full_invocation": "cargo", + "listing_artifacts": [ + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + } + ] + } + ] + }, + "formatting_disposition": "Formatting FAILED at eeb1069; six affected blobs byte-identical at a578ac9, eeb1069, 10d7f33 and f1d79df; final fmt also FAILED exit 1 with identical nine blocks", + "unchanged_inputs_from_intermediate": 540, + "clock_discontinuity": "Raw final listing UTC end precedes start after host clock moved backward; exact immutable receipt retained; elapsed_monotonic_seconds=768.4220000000059 is the duration evidence. No wall-clock duration inferred.", + "limits": "Receipt/Git consistency only; no archived code or binaries executed. No public source8, semantic/compositor or full-suite PASS claim." + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-old-before-artifact/control-result.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-old-before-artifact/control-result.json new file mode 100644 index 00000000..ee965833 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-old-before-artifact/control-result.json @@ -0,0 +1,38 @@ +{ + "case": "direct-old-before-artifact", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 6.7189999999973224, + "expected_refusal_fragment": "Direct artifact changed or differs", + "actual_refusal": "REFUSED: Direct artifact changed or differs from focused binary", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\direct-old-before-artifact" + ], + "files": { + "evidence.zip": { + "bytes": 567819, + "sha256": "7b0c5b7b85b100e0fdd6d36af436bcccc3caa864575740ad2e84c0ae770a9ef5" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "34580251a1d0400c6b06b0b515714b39ba81c0df170c28e7bc75a2393f71a5a5" + }, + "stderr.log": { + "bytes": 65, + "sha256": "4d0643fc287138b6d325f33b211d54056f65dd560c188b54fc58c971c680f0d8" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-old-before-artifact/manifest.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-old-before-artifact/manifest.json new file mode 100644 index 00000000..f2e9a169 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-old-before-artifact/manifest.json @@ -0,0 +1,561 @@ +{ + "schema": 1, + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "payloads": { + "baseline/full-f1d79df-comparison.py": { + "bytes": 3499, + "sha256": "e88c0c630b05d0568b29301efdfb0c6e74135e4b04e27a1f71f27954b8809921" + }, + "baseline/full-f1d79df.comparison.json": { + "bytes": 3864, + "sha256": "5497ce589c3e8eea6158055af77da598aab1a7c2a92af30c7264bfd311ec89f4" + }, + "baseline/full-f1d79df.inputs.json": { + "bytes": 99490, + "sha256": "6a4c7e3c8d1e6edb7ad306c19abd05009ee410312eb34b68ec30d6408387967b" + }, + "baseline/full-f1d79df.log": { + "bytes": 28480, + "sha256": "29a08cbfc02a83922f90c00f0b48f1aa403f93261457e65d29e3b9f46389dce9" + }, + "baseline/full-f1d79df.result.json": { + "bytes": 1234, + "sha256": "a1465abd64e2b3a29388f5da1912dcb87bfe9aed618c122bad557ff21c52c95b" + }, + "gates/launchers/3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a.py": { + "bytes": 16167, + "sha256": "3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a" + }, + "gates/launchers/471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de.py": { + "bytes": 5319, + "sha256": "471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de" + }, + "gates/launchers/83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364.py": { + "bytes": 5264, + "sha256": "83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364" + }, + "gates/mixed-clippy-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-clippy-a578-1.log": { + "bytes": 166, + "sha256": "36f453dc344f791cfc5bdfa532df3520008887de673b01c76edac9233e18e913" + }, + "gates/mixed-clippy-a578-1.result.json": { + "bytes": 1717, + "sha256": "c6f408b0963d8da7514ea87219e5a0b991c04d3ea9f9fe25f7b45752cb57e7a5" + }, + "gates/mixed-clippy-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-clippy-eeb1-1.log": { + "bytes": 1996, + "sha256": "ab9c0fc8baf8c56230b448f18b1de8dbf2d8e7c85a1f118aea369dea129f3f17" + }, + "gates/mixed-clippy-eeb1-1.result.json": { + "bytes": 1720, + "sha256": "886eb86c99a261af00207864ba4717735910a092f3ec3352ff455a960de38881" + }, + "gates/mixed-direct-full-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-full-a578-1.log": { + "bytes": 33333, + "sha256": "3af2546378fd0cdd634dd63791d8b3475563c49c19d28aaea1e3a35a2474fbb6" + }, + "gates/mixed-direct-full-a578-1.result.json": { + "bytes": 52372, + "sha256": "d96695739601e6a624b88352ebebc7f25983fd485ecd49faeb3055b5020522c6" + }, + "gates/mixed-direct-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-list-a578-1.log": { + "bytes": 20334, + "sha256": "37551f95fc70a422e394712690bf19b69ad769890a9a07eac73bf9e0fa843242" + }, + "gates/mixed-direct-list-a578-1.result.json": { + "bytes": 49871, + "sha256": "22db9a6a34d1e0800a71ec1ae88e1f18467d1c50a10a9ad305182d29cc11d904" + }, + "gates/mixed-fmt-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-fmt-a578-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-a578-1.result.json": { + "bytes": 1631, + "sha256": "2648337aa67f6978b77e05479321a35ad782ebdad71b322efc62bb46e7180fe0" + }, + "gates/mixed-fmt-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-fmt-eeb1-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-eeb1-1.result.json": { + "bytes": 1631, + "sha256": "0ad50da9ef19f4129f593ffe37173c930b0b151cdd6ea00b1308aec12c973a5b" + }, + "gates/mixed-focused-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-focused-a578-1.log": { + "bytes": 2911, + "sha256": "4acfc2bc654210441ab07b45fcfdb9a8496667f768962c1c51a5a06f73011c60" + }, + "gates/mixed-focused-a578-1.result.json": { + "bytes": 2061, + "sha256": "fa586319f22c7eb1bd75e9d9da6784cff8cc897b6b93205c84f6591fa9c76b85" + }, + "gates/mixed-focused-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-focused-eeb1-1.log": { + "bytes": 2806, + "sha256": "1b7d6df5aaa0b0d9828cbbac9a77cb8ace0d8e2e3a8e44d58dcc5b254348628a" + }, + "gates/mixed-focused-eeb1-1.result.json": { + "bytes": 2057, + "sha256": "2b55c0b63e9bb9f3c8a45b934833a799e811b66a7c1297d40ca1b6edb54b4d75" + }, + "gates/mixed-full-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-full-eeb1-1.log": { + "bytes": 33611, + "sha256": "ae9e4f3187d053d3ded9ec2475fc7dd469d5df976261fdc30479070e08cbc2b6" + }, + "gates/mixed-full-eeb1-1.result.json": { + "bytes": 1981, + "sha256": "1f0b3e64142d8a774ad5e59c1d8e8f28c1a94717749b851d22044a41c2e01830" + }, + "gates/mixed-list-754a-1.inputs.json": { + "bytes": 100820, + "sha256": "020a1ef53d3f30699b66358cb8688add682a33960b3e12721f50af5a9f57a3cb" + }, + "gates/mixed-list-754a-1.log": { + "bytes": 473, + "sha256": "ff09dcad13a097b29fe80455f9f34b5df71d3dd1ada101dca3ee1a046ab33977" + }, + "gates/mixed-list-754a-1.result.json": { + "bytes": 1694, + "sha256": "35c109d3f9e05aaae7933f0af955703a8affad45158d3e7de6bd23c35ea76cd8" + }, + "gates/mixed-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-list-a578-1.log": { + "bytes": 20665, + "sha256": "7ad105fc530f3f13d5b108f8856d431cf5833209b9dc410428525368aa0fd063" + }, + "gates/mixed-list-a578-1.result.json": { + "bytes": 22476, + "sha256": "adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100" + }, + "gates/mixed-list-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-list-eeb1-1.log": { + "bytes": 20665, + "sha256": "3e07d0c5a843b9a2bc74d4ce8f36976c49ea57b6a14d5a4dc1f334a7e6016bd5" + }, + "gates/mixed-list-eeb1-1.result.json": { + "bytes": 22477, + "sha256": "d0f7afa28c1a7b976a1729c59c2f6c9c7a04a674658a39e04de09106698005f5" + }, + "helpers/analysis-mixed-syntax-clippy-fix-proof-20260923.py": { + "bytes": 3937, + "sha256": "95c006b1a84f42400fdad439958c3852aa54dc69ec85aedd29d79cc8c089c803" + }, + "helpers/formatting-proof.py": { + "bytes": 5518, + "sha256": "731d5c8c9993c81b789edc3c8ab9aa03e141b4334ace8a64c5d101e8315e03b4" + }, + "notes/analysis-mixed-direct-evidence-review-20260923.md": { + "bytes": 6608, + "sha256": "02e0713681e3a196d91b9cfd170bcd5a54d0e78b7948e30439baf9d051c29d6c" + }, + "notes/analysis-mixed-direct-gate-path-check-20260923.json": { + "bytes": 22970, + "sha256": "e3455ca847df1fd25e3c8dd4040e647155a917905f38b8b320f4fdfa17ff3d2d" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "bytes": 18874, + "sha256": "8ad3005d960667267a10e9a73b92f8e151dd4e451cbbaed215bbad74e79677e0" + }, + "notes/analysis-mixed-parser-proposal-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-syntax-clippy-fix-handoff-20260923.md": { + "bytes": 2848, + "sha256": "903676efac11de735cd04b91965ec44bb50dc6fa464192cbb39fa53f4276caf2" + }, + "notes/analysis-mixed-syntax-clippy-fix-proof-20260923.json": { + "bytes": 2016, + "sha256": "cd91d010d66fda68c247bf64ce3861aa2d85dc9b3a535da80d7743241aad4a9c" + }, + "notes/analysis-mixed-syntax-clock-disposition-20260923.md": { + "bytes": 1636, + "sha256": "f560270339411c6265127095bd83115143c2f97eb257a20d5f0c64193345b3e2" + }, + "notes/analysis-mixed-syntax-evidence-tools-independent-review-20260923.md": { + "bytes": 13228, + "sha256": "3f7f6dc2621b111c885550f8d2e519f3668ec8a0f48f917d69419485a3638de4" + }, + "notes/analysis-mixed-syntax-followup-754a9b4-manifest-20260923.json": { + "bytes": 688, + "sha256": "87079e866306b6418b4a69052286b96f7a3f92d5567c12ebf86fdba5f5cfd607" + }, + "notes/analysis-mixed-syntax-followup-handoff-20260923.md": { + "bytes": 3739, + "sha256": "cbde5e49a3cc7f3fa6a138680dd4a8efba77038b9489358ce98b0f1beb930218" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.json": { + "bytes": 2864, + "sha256": "52775e006cbc27df7c6d865b8ef0bf1557d9347d52476b40a62f09eaa732473c" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.md": { + "bytes": 2316, + "sha256": "430e4350c506944313825fbaff289260c08134f3ba6c7b88323e5071fa7ccbf1" + }, + "notes/analysis-mixed-syntax-independent-review-20260923.md": { + "bytes": 15780, + "sha256": "057cf307bf914832565fb92a289ac102fdd68c666201af736d7c37557984e0d8" + }, + "notes/analysis-mixed-syntax-source-0fc0826-manifest-20260923.json": { + "bytes": 3100, + "sha256": "788b0ea775dbbe4772358a488500885132bd41038ac8f278542ed45d0741e24d" + }, + "notes/analysis-mixed-syntax-source-handoff-20260923.md": { + "bytes": 11880, + "sha256": "afa06df13a87a2be290623bf33d4643c9ec70a2e38886fb1b971e770db3239fe" + }, + "prior/list-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "prior/list-10d7f33.log": { + "bytes": 18213, + "sha256": "76b9e9ebc0c0d3d8794020dd222cfc94f7dd8cda9deedd0e74e0cd0c3aa5900c" + }, + "prior/list-10d7f33.result.json": { + "bytes": 19385, + "sha256": "4baf130b68e2c044ad3e43d6e8a2e13c611008192a271d3dfa75ee5a7c1503c1" + } + }, + "git_origins": { + "baseline/full-f1d79df.log": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.log" + }, + "baseline/full-f1d79df.result.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.result.json" + }, + "baseline/full-f1d79df.inputs.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.inputs.json" + }, + "baseline/full-f1d79df.comparison.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.comparison.json" + }, + "baseline/full-f1d79df-comparison.py": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df-comparison.py" + }, + "prior/list-10d7f33.log": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.log" + }, + "prior/list-10d7f33.result.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.result.json" + }, + "prior/list-10d7f33.inputs.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.inputs.json" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-proposal-20260923.md" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-review-20260923.md" + } + }, + "verified_summary": { + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + }, + "strict_core_all_targets": "PASS", + "strict_exit": 0, + "fmt_exit": 1, + "full_invocation": "direct-executable", + "listing_artifacts": [ + { + "invocation": "direct-executable", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + } + ] + }, + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2" + } + ] + } + ], + "intermediate_checkpoint": { + "source": "eeb1069cfcfc51e4cf73cff850adc2fabc8aae77", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + }, + "strict_core_all_targets": "FAILED", + "strict_exit": 101, + "fmt_exit": 1, + "full_invocation": "cargo", + "listing_artifacts": [ + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + } + ] + } + ] + }, + "formatting_disposition": "Formatting FAILED at eeb1069; six affected blobs byte-identical at a578ac9, eeb1069, 10d7f33 and f1d79df; final fmt also FAILED exit 1 with identical nine blocks", + "unchanged_inputs_from_intermediate": 540, + "clock_discontinuity": "Raw final listing UTC end precedes start after host clock moved backward; exact immutable receipt retained; elapsed_monotonic_seconds=768.4220000000059 is the duration evidence. No wall-clock duration inferred.", + "limits": "Receipt/Git consistency only; no archived code or binaries executed. No public source8, semantic/compositor or full-suite PASS claim." + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-recorded-launch-failure/control-result.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-recorded-launch-failure/control-result.json new file mode 100644 index 00000000..c5481294 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-recorded-launch-failure/control-result.json @@ -0,0 +1,38 @@ +{ + "case": "direct-recorded-launch-failure", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 5.952999999994063, + "expected_refusal_fragment": "Direct invocation did not close cleanly", + "actual_refusal": "REFUSED: Direct invocation did not close cleanly", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\direct-recorded-launch-failure" + ], + "files": { + "evidence.zip": { + "bytes": 567830, + "sha256": "691a057e93f9f41e8d015fe9dbe0ebff25ac557f86301ff0e0ed46321543da90" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "bb59f57cd07bde41fbbf131b92d9e4bc9d5b3c4454da9657ae5da953682f967f" + }, + "stderr.log": { + "bytes": 50, + "sha256": "9a3f4e84380231404d41f066aaa0186b6214821a72e6e99783cf400c7a77ba59" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-recorded-launch-failure/manifest.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-recorded-launch-failure/manifest.json new file mode 100644 index 00000000..fb8fc1da --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/direct-recorded-launch-failure/manifest.json @@ -0,0 +1,561 @@ +{ + "schema": 1, + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "payloads": { + "baseline/full-f1d79df-comparison.py": { + "bytes": 3499, + "sha256": "e88c0c630b05d0568b29301efdfb0c6e74135e4b04e27a1f71f27954b8809921" + }, + "baseline/full-f1d79df.comparison.json": { + "bytes": 3864, + "sha256": "5497ce589c3e8eea6158055af77da598aab1a7c2a92af30c7264bfd311ec89f4" + }, + "baseline/full-f1d79df.inputs.json": { + "bytes": 99490, + "sha256": "6a4c7e3c8d1e6edb7ad306c19abd05009ee410312eb34b68ec30d6408387967b" + }, + "baseline/full-f1d79df.log": { + "bytes": 28480, + "sha256": "29a08cbfc02a83922f90c00f0b48f1aa403f93261457e65d29e3b9f46389dce9" + }, + "baseline/full-f1d79df.result.json": { + "bytes": 1234, + "sha256": "a1465abd64e2b3a29388f5da1912dcb87bfe9aed618c122bad557ff21c52c95b" + }, + "gates/launchers/3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a.py": { + "bytes": 16167, + "sha256": "3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a" + }, + "gates/launchers/471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de.py": { + "bytes": 5319, + "sha256": "471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de" + }, + "gates/launchers/83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364.py": { + "bytes": 5264, + "sha256": "83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364" + }, + "gates/mixed-clippy-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-clippy-a578-1.log": { + "bytes": 166, + "sha256": "36f453dc344f791cfc5bdfa532df3520008887de673b01c76edac9233e18e913" + }, + "gates/mixed-clippy-a578-1.result.json": { + "bytes": 1717, + "sha256": "c6f408b0963d8da7514ea87219e5a0b991c04d3ea9f9fe25f7b45752cb57e7a5" + }, + "gates/mixed-clippy-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-clippy-eeb1-1.log": { + "bytes": 1996, + "sha256": "ab9c0fc8baf8c56230b448f18b1de8dbf2d8e7c85a1f118aea369dea129f3f17" + }, + "gates/mixed-clippy-eeb1-1.result.json": { + "bytes": 1720, + "sha256": "886eb86c99a261af00207864ba4717735910a092f3ec3352ff455a960de38881" + }, + "gates/mixed-direct-full-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-full-a578-1.log": { + "bytes": 33333, + "sha256": "3af2546378fd0cdd634dd63791d8b3475563c49c19d28aaea1e3a35a2474fbb6" + }, + "gates/mixed-direct-full-a578-1.result.json": { + "bytes": 52426, + "sha256": "0849fd2f075bb0ed5491ec5e5df6f54bd00d2da98a315c80ac82dfcc0882209e" + }, + "gates/mixed-direct-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-list-a578-1.log": { + "bytes": 20334, + "sha256": "37551f95fc70a422e394712690bf19b69ad769890a9a07eac73bf9e0fa843242" + }, + "gates/mixed-direct-list-a578-1.result.json": { + "bytes": 49871, + "sha256": "22db9a6a34d1e0800a71ec1ae88e1f18467d1c50a10a9ad305182d29cc11d904" + }, + "gates/mixed-fmt-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-fmt-a578-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-a578-1.result.json": { + "bytes": 1631, + "sha256": "2648337aa67f6978b77e05479321a35ad782ebdad71b322efc62bb46e7180fe0" + }, + "gates/mixed-fmt-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-fmt-eeb1-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-eeb1-1.result.json": { + "bytes": 1631, + "sha256": "0ad50da9ef19f4129f593ffe37173c930b0b151cdd6ea00b1308aec12c973a5b" + }, + "gates/mixed-focused-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-focused-a578-1.log": { + "bytes": 2911, + "sha256": "4acfc2bc654210441ab07b45fcfdb9a8496667f768962c1c51a5a06f73011c60" + }, + "gates/mixed-focused-a578-1.result.json": { + "bytes": 2061, + "sha256": "fa586319f22c7eb1bd75e9d9da6784cff8cc897b6b93205c84f6591fa9c76b85" + }, + "gates/mixed-focused-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-focused-eeb1-1.log": { + "bytes": 2806, + "sha256": "1b7d6df5aaa0b0d9828cbbac9a77cb8ace0d8e2e3a8e44d58dcc5b254348628a" + }, + "gates/mixed-focused-eeb1-1.result.json": { + "bytes": 2057, + "sha256": "2b55c0b63e9bb9f3c8a45b934833a799e811b66a7c1297d40ca1b6edb54b4d75" + }, + "gates/mixed-full-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-full-eeb1-1.log": { + "bytes": 33611, + "sha256": "ae9e4f3187d053d3ded9ec2475fc7dd469d5df976261fdc30479070e08cbc2b6" + }, + "gates/mixed-full-eeb1-1.result.json": { + "bytes": 1981, + "sha256": "1f0b3e64142d8a774ad5e59c1d8e8f28c1a94717749b851d22044a41c2e01830" + }, + "gates/mixed-list-754a-1.inputs.json": { + "bytes": 100820, + "sha256": "020a1ef53d3f30699b66358cb8688add682a33960b3e12721f50af5a9f57a3cb" + }, + "gates/mixed-list-754a-1.log": { + "bytes": 473, + "sha256": "ff09dcad13a097b29fe80455f9f34b5df71d3dd1ada101dca3ee1a046ab33977" + }, + "gates/mixed-list-754a-1.result.json": { + "bytes": 1694, + "sha256": "35c109d3f9e05aaae7933f0af955703a8affad45158d3e7de6bd23c35ea76cd8" + }, + "gates/mixed-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-list-a578-1.log": { + "bytes": 20665, + "sha256": "7ad105fc530f3f13d5b108f8856d431cf5833209b9dc410428525368aa0fd063" + }, + "gates/mixed-list-a578-1.result.json": { + "bytes": 22476, + "sha256": "adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100" + }, + "gates/mixed-list-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-list-eeb1-1.log": { + "bytes": 20665, + "sha256": "3e07d0c5a843b9a2bc74d4ce8f36976c49ea57b6a14d5a4dc1f334a7e6016bd5" + }, + "gates/mixed-list-eeb1-1.result.json": { + "bytes": 22477, + "sha256": "d0f7afa28c1a7b976a1729c59c2f6c9c7a04a674658a39e04de09106698005f5" + }, + "helpers/analysis-mixed-syntax-clippy-fix-proof-20260923.py": { + "bytes": 3937, + "sha256": "95c006b1a84f42400fdad439958c3852aa54dc69ec85aedd29d79cc8c089c803" + }, + "helpers/formatting-proof.py": { + "bytes": 5518, + "sha256": "731d5c8c9993c81b789edc3c8ab9aa03e141b4334ace8a64c5d101e8315e03b4" + }, + "notes/analysis-mixed-direct-evidence-review-20260923.md": { + "bytes": 6608, + "sha256": "02e0713681e3a196d91b9cfd170bcd5a54d0e78b7948e30439baf9d051c29d6c" + }, + "notes/analysis-mixed-direct-gate-path-check-20260923.json": { + "bytes": 22970, + "sha256": "e3455ca847df1fd25e3c8dd4040e647155a917905f38b8b320f4fdfa17ff3d2d" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "bytes": 18874, + "sha256": "8ad3005d960667267a10e9a73b92f8e151dd4e451cbbaed215bbad74e79677e0" + }, + "notes/analysis-mixed-parser-proposal-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-syntax-clippy-fix-handoff-20260923.md": { + "bytes": 2848, + "sha256": "903676efac11de735cd04b91965ec44bb50dc6fa464192cbb39fa53f4276caf2" + }, + "notes/analysis-mixed-syntax-clippy-fix-proof-20260923.json": { + "bytes": 2016, + "sha256": "cd91d010d66fda68c247bf64ce3861aa2d85dc9b3a535da80d7743241aad4a9c" + }, + "notes/analysis-mixed-syntax-clock-disposition-20260923.md": { + "bytes": 1636, + "sha256": "f560270339411c6265127095bd83115143c2f97eb257a20d5f0c64193345b3e2" + }, + "notes/analysis-mixed-syntax-evidence-tools-independent-review-20260923.md": { + "bytes": 13228, + "sha256": "3f7f6dc2621b111c885550f8d2e519f3668ec8a0f48f917d69419485a3638de4" + }, + "notes/analysis-mixed-syntax-followup-754a9b4-manifest-20260923.json": { + "bytes": 688, + "sha256": "87079e866306b6418b4a69052286b96f7a3f92d5567c12ebf86fdba5f5cfd607" + }, + "notes/analysis-mixed-syntax-followup-handoff-20260923.md": { + "bytes": 3739, + "sha256": "cbde5e49a3cc7f3fa6a138680dd4a8efba77038b9489358ce98b0f1beb930218" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.json": { + "bytes": 2864, + "sha256": "52775e006cbc27df7c6d865b8ef0bf1557d9347d52476b40a62f09eaa732473c" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.md": { + "bytes": 2316, + "sha256": "430e4350c506944313825fbaff289260c08134f3ba6c7b88323e5071fa7ccbf1" + }, + "notes/analysis-mixed-syntax-independent-review-20260923.md": { + "bytes": 15780, + "sha256": "057cf307bf914832565fb92a289ac102fdd68c666201af736d7c37557984e0d8" + }, + "notes/analysis-mixed-syntax-source-0fc0826-manifest-20260923.json": { + "bytes": 3100, + "sha256": "788b0ea775dbbe4772358a488500885132bd41038ac8f278542ed45d0741e24d" + }, + "notes/analysis-mixed-syntax-source-handoff-20260923.md": { + "bytes": 11880, + "sha256": "afa06df13a87a2be290623bf33d4643c9ec70a2e38886fb1b971e770db3239fe" + }, + "prior/list-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "prior/list-10d7f33.log": { + "bytes": 18213, + "sha256": "76b9e9ebc0c0d3d8794020dd222cfc94f7dd8cda9deedd0e74e0cd0c3aa5900c" + }, + "prior/list-10d7f33.result.json": { + "bytes": 19385, + "sha256": "4baf130b68e2c044ad3e43d6e8a2e13c611008192a271d3dfa75ee5a7c1503c1" + } + }, + "git_origins": { + "baseline/full-f1d79df.log": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.log" + }, + "baseline/full-f1d79df.result.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.result.json" + }, + "baseline/full-f1d79df.inputs.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.inputs.json" + }, + "baseline/full-f1d79df.comparison.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.comparison.json" + }, + "baseline/full-f1d79df-comparison.py": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df-comparison.py" + }, + "prior/list-10d7f33.log": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.log" + }, + "prior/list-10d7f33.result.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.result.json" + }, + "prior/list-10d7f33.inputs.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.inputs.json" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-proposal-20260923.md" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-review-20260923.md" + } + }, + "verified_summary": { + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + }, + "strict_core_all_targets": "PASS", + "strict_exit": 0, + "fmt_exit": 1, + "full_invocation": "direct-executable", + "listing_artifacts": [ + { + "invocation": "direct-executable", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + } + ] + }, + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2" + } + ] + } + ], + "intermediate_checkpoint": { + "source": "eeb1069cfcfc51e4cf73cff850adc2fabc8aae77", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + }, + "strict_core_all_targets": "FAILED", + "strict_exit": 101, + "fmt_exit": 1, + "full_invocation": "cargo", + "listing_artifacts": [ + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + } + ] + } + ] + }, + "formatting_disposition": "Formatting FAILED at eeb1069; six affected blobs byte-identical at a578ac9, eeb1069, 10d7f33 and f1d79df; final fmt also FAILED exit 1 with identical nine blocks", + "unchanged_inputs_from_intermediate": 540, + "clock_discontinuity": "Raw final listing UTC end precedes start after host clock moved backward; exact immutable receipt retained; elapsed_monotonic_seconds=768.4220000000059 is the duration evidence. No wall-clock duration inferred.", + "limits": "Receipt/Git consistency only; no archived code or binaries executed. No public source8, semantic/compositor or full-suite PASS claim." + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/duplicate-zip-member/control-result.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/duplicate-zip-member/control-result.json new file mode 100644 index 00000000..06b38a6a --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/duplicate-zip-member/control-result.json @@ -0,0 +1,38 @@ +{ + "case": "duplicate-zip-member", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 0.7649999999994179, + "expected_refusal_fragment": "Duplicate ZIP members", + "actual_refusal": "REFUSED: Duplicate ZIP members", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\duplicate-zip-member" + ], + "files": { + "evidence.zip": { + "bytes": 574453, + "sha256": "bec3d8db900e6ea9f0dc35cbb8b99c58b21915ac838c7eef89a28871663b72f8" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "857879e249d730282c1269b373f16a9f708dc457a475c98088384749e568219a" + }, + "stderr.log": { + "bytes": 32, + "sha256": "3d2d7e221ca2260dffaec5e5c15488e4317d59339bbf88511a79f58c03a36607" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/duplicate-zip-member/manifest.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/duplicate-zip-member/manifest.json new file mode 100644 index 00000000..7b942be4 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/duplicate-zip-member/manifest.json @@ -0,0 +1,561 @@ +{ + "schema": 1, + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "payloads": { + "baseline/full-f1d79df-comparison.py": { + "bytes": 3499, + "sha256": "e88c0c630b05d0568b29301efdfb0c6e74135e4b04e27a1f71f27954b8809921" + }, + "baseline/full-f1d79df.comparison.json": { + "bytes": 3864, + "sha256": "5497ce589c3e8eea6158055af77da598aab1a7c2a92af30c7264bfd311ec89f4" + }, + "baseline/full-f1d79df.inputs.json": { + "bytes": 99490, + "sha256": "6a4c7e3c8d1e6edb7ad306c19abd05009ee410312eb34b68ec30d6408387967b" + }, + "baseline/full-f1d79df.log": { + "bytes": 28480, + "sha256": "29a08cbfc02a83922f90c00f0b48f1aa403f93261457e65d29e3b9f46389dce9" + }, + "baseline/full-f1d79df.result.json": { + "bytes": 1234, + "sha256": "a1465abd64e2b3a29388f5da1912dcb87bfe9aed618c122bad557ff21c52c95b" + }, + "gates/launchers/3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a.py": { + "bytes": 16167, + "sha256": "3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a" + }, + "gates/launchers/471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de.py": { + "bytes": 5319, + "sha256": "471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de" + }, + "gates/launchers/83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364.py": { + "bytes": 5264, + "sha256": "83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364" + }, + "gates/mixed-clippy-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-clippy-a578-1.log": { + "bytes": 166, + "sha256": "36f453dc344f791cfc5bdfa532df3520008887de673b01c76edac9233e18e913" + }, + "gates/mixed-clippy-a578-1.result.json": { + "bytes": 1717, + "sha256": "c6f408b0963d8da7514ea87219e5a0b991c04d3ea9f9fe25f7b45752cb57e7a5" + }, + "gates/mixed-clippy-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-clippy-eeb1-1.log": { + "bytes": 1996, + "sha256": "ab9c0fc8baf8c56230b448f18b1de8dbf2d8e7c85a1f118aea369dea129f3f17" + }, + "gates/mixed-clippy-eeb1-1.result.json": { + "bytes": 1720, + "sha256": "886eb86c99a261af00207864ba4717735910a092f3ec3352ff455a960de38881" + }, + "gates/mixed-direct-full-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-full-a578-1.log": { + "bytes": 33333, + "sha256": "3af2546378fd0cdd634dd63791d8b3475563c49c19d28aaea1e3a35a2474fbb6" + }, + "gates/mixed-direct-full-a578-1.result.json": { + "bytes": 52372, + "sha256": "8ba1ef2dca98440b57280ebf0282257ace79a0f0ccfde23f7ad8e7e2c255a0ec" + }, + "gates/mixed-direct-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-list-a578-1.log": { + "bytes": 20334, + "sha256": "37551f95fc70a422e394712690bf19b69ad769890a9a07eac73bf9e0fa843242" + }, + "gates/mixed-direct-list-a578-1.result.json": { + "bytes": 49871, + "sha256": "22db9a6a34d1e0800a71ec1ae88e1f18467d1c50a10a9ad305182d29cc11d904" + }, + "gates/mixed-fmt-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-fmt-a578-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-a578-1.result.json": { + "bytes": 1631, + "sha256": "2648337aa67f6978b77e05479321a35ad782ebdad71b322efc62bb46e7180fe0" + }, + "gates/mixed-fmt-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-fmt-eeb1-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-eeb1-1.result.json": { + "bytes": 1631, + "sha256": "0ad50da9ef19f4129f593ffe37173c930b0b151cdd6ea00b1308aec12c973a5b" + }, + "gates/mixed-focused-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-focused-a578-1.log": { + "bytes": 2911, + "sha256": "4acfc2bc654210441ab07b45fcfdb9a8496667f768962c1c51a5a06f73011c60" + }, + "gates/mixed-focused-a578-1.result.json": { + "bytes": 2061, + "sha256": "fa586319f22c7eb1bd75e9d9da6784cff8cc897b6b93205c84f6591fa9c76b85" + }, + "gates/mixed-focused-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-focused-eeb1-1.log": { + "bytes": 2806, + "sha256": "1b7d6df5aaa0b0d9828cbbac9a77cb8ace0d8e2e3a8e44d58dcc5b254348628a" + }, + "gates/mixed-focused-eeb1-1.result.json": { + "bytes": 2057, + "sha256": "2b55c0b63e9bb9f3c8a45b934833a799e811b66a7c1297d40ca1b6edb54b4d75" + }, + "gates/mixed-full-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-full-eeb1-1.log": { + "bytes": 33611, + "sha256": "ae9e4f3187d053d3ded9ec2475fc7dd469d5df976261fdc30479070e08cbc2b6" + }, + "gates/mixed-full-eeb1-1.result.json": { + "bytes": 1981, + "sha256": "1f0b3e64142d8a774ad5e59c1d8e8f28c1a94717749b851d22044a41c2e01830" + }, + "gates/mixed-list-754a-1.inputs.json": { + "bytes": 100820, + "sha256": "020a1ef53d3f30699b66358cb8688add682a33960b3e12721f50af5a9f57a3cb" + }, + "gates/mixed-list-754a-1.log": { + "bytes": 473, + "sha256": "ff09dcad13a097b29fe80455f9f34b5df71d3dd1ada101dca3ee1a046ab33977" + }, + "gates/mixed-list-754a-1.result.json": { + "bytes": 1694, + "sha256": "35c109d3f9e05aaae7933f0af955703a8affad45158d3e7de6bd23c35ea76cd8" + }, + "gates/mixed-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-list-a578-1.log": { + "bytes": 20665, + "sha256": "7ad105fc530f3f13d5b108f8856d431cf5833209b9dc410428525368aa0fd063" + }, + "gates/mixed-list-a578-1.result.json": { + "bytes": 22476, + "sha256": "adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100" + }, + "gates/mixed-list-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-list-eeb1-1.log": { + "bytes": 20665, + "sha256": "3e07d0c5a843b9a2bc74d4ce8f36976c49ea57b6a14d5a4dc1f334a7e6016bd5" + }, + "gates/mixed-list-eeb1-1.result.json": { + "bytes": 22477, + "sha256": "d0f7afa28c1a7b976a1729c59c2f6c9c7a04a674658a39e04de09106698005f5" + }, + "helpers/analysis-mixed-syntax-clippy-fix-proof-20260923.py": { + "bytes": 3937, + "sha256": "95c006b1a84f42400fdad439958c3852aa54dc69ec85aedd29d79cc8c089c803" + }, + "helpers/formatting-proof.py": { + "bytes": 5518, + "sha256": "731d5c8c9993c81b789edc3c8ab9aa03e141b4334ace8a64c5d101e8315e03b4" + }, + "notes/analysis-mixed-direct-evidence-review-20260923.md": { + "bytes": 6608, + "sha256": "02e0713681e3a196d91b9cfd170bcd5a54d0e78b7948e30439baf9d051c29d6c" + }, + "notes/analysis-mixed-direct-gate-path-check-20260923.json": { + "bytes": 22970, + "sha256": "e3455ca847df1fd25e3c8dd4040e647155a917905f38b8b320f4fdfa17ff3d2d" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "bytes": 18874, + "sha256": "8ad3005d960667267a10e9a73b92f8e151dd4e451cbbaed215bbad74e79677e0" + }, + "notes/analysis-mixed-parser-proposal-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-syntax-clippy-fix-handoff-20260923.md": { + "bytes": 2848, + "sha256": "903676efac11de735cd04b91965ec44bb50dc6fa464192cbb39fa53f4276caf2" + }, + "notes/analysis-mixed-syntax-clippy-fix-proof-20260923.json": { + "bytes": 2016, + "sha256": "cd91d010d66fda68c247bf64ce3861aa2d85dc9b3a535da80d7743241aad4a9c" + }, + "notes/analysis-mixed-syntax-clock-disposition-20260923.md": { + "bytes": 1636, + "sha256": "f560270339411c6265127095bd83115143c2f97eb257a20d5f0c64193345b3e2" + }, + "notes/analysis-mixed-syntax-evidence-tools-independent-review-20260923.md": { + "bytes": 13228, + "sha256": "3f7f6dc2621b111c885550f8d2e519f3668ec8a0f48f917d69419485a3638de4" + }, + "notes/analysis-mixed-syntax-followup-754a9b4-manifest-20260923.json": { + "bytes": 688, + "sha256": "87079e866306b6418b4a69052286b96f7a3f92d5567c12ebf86fdba5f5cfd607" + }, + "notes/analysis-mixed-syntax-followup-handoff-20260923.md": { + "bytes": 3739, + "sha256": "cbde5e49a3cc7f3fa6a138680dd4a8efba77038b9489358ce98b0f1beb930218" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.json": { + "bytes": 2864, + "sha256": "52775e006cbc27df7c6d865b8ef0bf1557d9347d52476b40a62f09eaa732473c" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.md": { + "bytes": 2316, + "sha256": "430e4350c506944313825fbaff289260c08134f3ba6c7b88323e5071fa7ccbf1" + }, + "notes/analysis-mixed-syntax-independent-review-20260923.md": { + "bytes": 15780, + "sha256": "057cf307bf914832565fb92a289ac102fdd68c666201af736d7c37557984e0d8" + }, + "notes/analysis-mixed-syntax-source-0fc0826-manifest-20260923.json": { + "bytes": 3100, + "sha256": "788b0ea775dbbe4772358a488500885132bd41038ac8f278542ed45d0741e24d" + }, + "notes/analysis-mixed-syntax-source-handoff-20260923.md": { + "bytes": 11880, + "sha256": "afa06df13a87a2be290623bf33d4643c9ec70a2e38886fb1b971e770db3239fe" + }, + "prior/list-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "prior/list-10d7f33.log": { + "bytes": 18213, + "sha256": "76b9e9ebc0c0d3d8794020dd222cfc94f7dd8cda9deedd0e74e0cd0c3aa5900c" + }, + "prior/list-10d7f33.result.json": { + "bytes": 19385, + "sha256": "4baf130b68e2c044ad3e43d6e8a2e13c611008192a271d3dfa75ee5a7c1503c1" + } + }, + "git_origins": { + "baseline/full-f1d79df.log": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.log" + }, + "baseline/full-f1d79df.result.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.result.json" + }, + "baseline/full-f1d79df.inputs.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.inputs.json" + }, + "baseline/full-f1d79df.comparison.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.comparison.json" + }, + "baseline/full-f1d79df-comparison.py": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df-comparison.py" + }, + "prior/list-10d7f33.log": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.log" + }, + "prior/list-10d7f33.result.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.result.json" + }, + "prior/list-10d7f33.inputs.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.inputs.json" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-proposal-20260923.md" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-review-20260923.md" + } + }, + "verified_summary": { + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + }, + "strict_core_all_targets": "PASS", + "strict_exit": 0, + "fmt_exit": 1, + "full_invocation": "direct-executable", + "listing_artifacts": [ + { + "invocation": "direct-executable", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + } + ] + }, + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2" + } + ] + } + ], + "intermediate_checkpoint": { + "source": "eeb1069cfcfc51e4cf73cff850adc2fabc8aae77", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + }, + "strict_core_all_targets": "FAILED", + "strict_exit": 101, + "fmt_exit": 1, + "full_invocation": "cargo", + "listing_artifacts": [ + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + } + ] + } + ] + }, + "formatting_disposition": "Formatting FAILED at eeb1069; six affected blobs byte-identical at a578ac9, eeb1069, 10d7f33 and f1d79df; final fmt also FAILED exit 1 with identical nine blocks", + "unchanged_inputs_from_intermediate": 540, + "clock_discontinuity": "Raw final listing UTC end precedes start after host clock moved backward; exact immutable receipt retained; elapsed_monotonic_seconds=768.4220000000059 is the duration evidence. No wall-clock duration inferred.", + "limits": "Receipt/Git consistency only; no archived code or binaries executed. No public source8, semantic/compositor or full-suite PASS claim." + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/forged-current-git-input/control-result.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/forged-current-git-input/control-result.json new file mode 100644 index 00000000..036587d5 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/forged-current-git-input/control-result.json @@ -0,0 +1,38 @@ +{ + "case": "forged-current-git-input", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 7.26600000000326, + "expected_refusal_fragment": "Git input bytes mismatch", + "actual_refusal": "REFUSED: Git input bytes mismatch: crates/oa-core/src/language.rs", + "matched": true, + "detail": "All 6 final-source input copies and their receipt hashes changed; immutable Git bytes unchanged.", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\forged-current-git-input" + ], + "files": { + "evidence.zip": { + "bytes": 567706, + "sha256": "20a68ff7e519354fcd22cec685085a22afe15f16cf0665a3d2508c15f0a792e3" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "0a5c78a496346daf20007e7dc4a9f423dac181d244b9e2492b4a74a6b236634d" + }, + "stderr.log": { + "bytes": 67, + "sha256": "dabd5d7e9b46b8cb4eee58f00df968a1d2c38693dcddf0a10e3475e2a9ed1895" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/forged-current-git-input/manifest.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/forged-current-git-input/manifest.json new file mode 100644 index 00000000..16074060 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/forged-current-git-input/manifest.json @@ -0,0 +1,561 @@ +{ + "schema": 1, + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "payloads": { + "baseline/full-f1d79df-comparison.py": { + "bytes": 3499, + "sha256": "e88c0c630b05d0568b29301efdfb0c6e74135e4b04e27a1f71f27954b8809921" + }, + "baseline/full-f1d79df.comparison.json": { + "bytes": 3864, + "sha256": "5497ce589c3e8eea6158055af77da598aab1a7c2a92af30c7264bfd311ec89f4" + }, + "baseline/full-f1d79df.inputs.json": { + "bytes": 99490, + "sha256": "6a4c7e3c8d1e6edb7ad306c19abd05009ee410312eb34b68ec30d6408387967b" + }, + "baseline/full-f1d79df.log": { + "bytes": 28480, + "sha256": "29a08cbfc02a83922f90c00f0b48f1aa403f93261457e65d29e3b9f46389dce9" + }, + "baseline/full-f1d79df.result.json": { + "bytes": 1234, + "sha256": "a1465abd64e2b3a29388f5da1912dcb87bfe9aed618c122bad557ff21c52c95b" + }, + "gates/launchers/3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a.py": { + "bytes": 16167, + "sha256": "3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a" + }, + "gates/launchers/471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de.py": { + "bytes": 5319, + "sha256": "471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de" + }, + "gates/launchers/83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364.py": { + "bytes": 5264, + "sha256": "83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364" + }, + "gates/mixed-clippy-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "bcb065b6e65374f13319d12a0cfc3b98e95eae5772841b6e676b44ec904a63a8" + }, + "gates/mixed-clippy-a578-1.log": { + "bytes": 166, + "sha256": "36f453dc344f791cfc5bdfa532df3520008887de673b01c76edac9233e18e913" + }, + "gates/mixed-clippy-a578-1.result.json": { + "bytes": 1717, + "sha256": "71e4a880afc13af952ea95b8187791d38e0091b1c695a3f89c537fa1e53112e6" + }, + "gates/mixed-clippy-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-clippy-eeb1-1.log": { + "bytes": 1996, + "sha256": "ab9c0fc8baf8c56230b448f18b1de8dbf2d8e7c85a1f118aea369dea129f3f17" + }, + "gates/mixed-clippy-eeb1-1.result.json": { + "bytes": 1720, + "sha256": "886eb86c99a261af00207864ba4717735910a092f3ec3352ff455a960de38881" + }, + "gates/mixed-direct-full-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "bcb065b6e65374f13319d12a0cfc3b98e95eae5772841b6e676b44ec904a63a8" + }, + "gates/mixed-direct-full-a578-1.log": { + "bytes": 33333, + "sha256": "3af2546378fd0cdd634dd63791d8b3475563c49c19d28aaea1e3a35a2474fbb6" + }, + "gates/mixed-direct-full-a578-1.result.json": { + "bytes": 52372, + "sha256": "d210c8d1641d97965efcac3cc8f9b9059b593db4953bcc1929248f39c62db071" + }, + "gates/mixed-direct-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "bcb065b6e65374f13319d12a0cfc3b98e95eae5772841b6e676b44ec904a63a8" + }, + "gates/mixed-direct-list-a578-1.log": { + "bytes": 20334, + "sha256": "37551f95fc70a422e394712690bf19b69ad769890a9a07eac73bf9e0fa843242" + }, + "gates/mixed-direct-list-a578-1.result.json": { + "bytes": 49871, + "sha256": "6df7ddc6b44fabe76c7112b7e6a99f7ac106fed57284b015a0a84643871b3b01" + }, + "gates/mixed-fmt-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "bcb065b6e65374f13319d12a0cfc3b98e95eae5772841b6e676b44ec904a63a8" + }, + "gates/mixed-fmt-a578-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-a578-1.result.json": { + "bytes": 1631, + "sha256": "ec39564f59678d684717d3087602b8ce8b7459f92103b065a5a432fe6af60ec3" + }, + "gates/mixed-fmt-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-fmt-eeb1-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-eeb1-1.result.json": { + "bytes": 1631, + "sha256": "0ad50da9ef19f4129f593ffe37173c930b0b151cdd6ea00b1308aec12c973a5b" + }, + "gates/mixed-focused-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "bcb065b6e65374f13319d12a0cfc3b98e95eae5772841b6e676b44ec904a63a8" + }, + "gates/mixed-focused-a578-1.log": { + "bytes": 2911, + "sha256": "4acfc2bc654210441ab07b45fcfdb9a8496667f768962c1c51a5a06f73011c60" + }, + "gates/mixed-focused-a578-1.result.json": { + "bytes": 2061, + "sha256": "e6aa79b10412a56f7e1e4bbfbb0df5900aeda9875d5e3e4b3e288ecb876d4c17" + }, + "gates/mixed-focused-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-focused-eeb1-1.log": { + "bytes": 2806, + "sha256": "1b7d6df5aaa0b0d9828cbbac9a77cb8ace0d8e2e3a8e44d58dcc5b254348628a" + }, + "gates/mixed-focused-eeb1-1.result.json": { + "bytes": 2057, + "sha256": "2b55c0b63e9bb9f3c8a45b934833a799e811b66a7c1297d40ca1b6edb54b4d75" + }, + "gates/mixed-full-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-full-eeb1-1.log": { + "bytes": 33611, + "sha256": "ae9e4f3187d053d3ded9ec2475fc7dd469d5df976261fdc30479070e08cbc2b6" + }, + "gates/mixed-full-eeb1-1.result.json": { + "bytes": 1981, + "sha256": "1f0b3e64142d8a774ad5e59c1d8e8f28c1a94717749b851d22044a41c2e01830" + }, + "gates/mixed-list-754a-1.inputs.json": { + "bytes": 100820, + "sha256": "020a1ef53d3f30699b66358cb8688add682a33960b3e12721f50af5a9f57a3cb" + }, + "gates/mixed-list-754a-1.log": { + "bytes": 473, + "sha256": "ff09dcad13a097b29fe80455f9f34b5df71d3dd1ada101dca3ee1a046ab33977" + }, + "gates/mixed-list-754a-1.result.json": { + "bytes": 1694, + "sha256": "35c109d3f9e05aaae7933f0af955703a8affad45158d3e7de6bd23c35ea76cd8" + }, + "gates/mixed-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "bcb065b6e65374f13319d12a0cfc3b98e95eae5772841b6e676b44ec904a63a8" + }, + "gates/mixed-list-a578-1.log": { + "bytes": 20665, + "sha256": "7ad105fc530f3f13d5b108f8856d431cf5833209b9dc410428525368aa0fd063" + }, + "gates/mixed-list-a578-1.result.json": { + "bytes": 22476, + "sha256": "d703d4da0c71ea17a64c75fcab714236012f839217142ae8f40564aca2b7bc3d" + }, + "gates/mixed-list-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-list-eeb1-1.log": { + "bytes": 20665, + "sha256": "3e07d0c5a843b9a2bc74d4ce8f36976c49ea57b6a14d5a4dc1f334a7e6016bd5" + }, + "gates/mixed-list-eeb1-1.result.json": { + "bytes": 22477, + "sha256": "d0f7afa28c1a7b976a1729c59c2f6c9c7a04a674658a39e04de09106698005f5" + }, + "helpers/analysis-mixed-syntax-clippy-fix-proof-20260923.py": { + "bytes": 3937, + "sha256": "95c006b1a84f42400fdad439958c3852aa54dc69ec85aedd29d79cc8c089c803" + }, + "helpers/formatting-proof.py": { + "bytes": 5518, + "sha256": "731d5c8c9993c81b789edc3c8ab9aa03e141b4334ace8a64c5d101e8315e03b4" + }, + "notes/analysis-mixed-direct-evidence-review-20260923.md": { + "bytes": 6608, + "sha256": "02e0713681e3a196d91b9cfd170bcd5a54d0e78b7948e30439baf9d051c29d6c" + }, + "notes/analysis-mixed-direct-gate-path-check-20260923.json": { + "bytes": 22970, + "sha256": "e3455ca847df1fd25e3c8dd4040e647155a917905f38b8b320f4fdfa17ff3d2d" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "bytes": 18874, + "sha256": "8ad3005d960667267a10e9a73b92f8e151dd4e451cbbaed215bbad74e79677e0" + }, + "notes/analysis-mixed-parser-proposal-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-syntax-clippy-fix-handoff-20260923.md": { + "bytes": 2848, + "sha256": "903676efac11de735cd04b91965ec44bb50dc6fa464192cbb39fa53f4276caf2" + }, + "notes/analysis-mixed-syntax-clippy-fix-proof-20260923.json": { + "bytes": 2016, + "sha256": "cd91d010d66fda68c247bf64ce3861aa2d85dc9b3a535da80d7743241aad4a9c" + }, + "notes/analysis-mixed-syntax-clock-disposition-20260923.md": { + "bytes": 1636, + "sha256": "f560270339411c6265127095bd83115143c2f97eb257a20d5f0c64193345b3e2" + }, + "notes/analysis-mixed-syntax-evidence-tools-independent-review-20260923.md": { + "bytes": 13228, + "sha256": "3f7f6dc2621b111c885550f8d2e519f3668ec8a0f48f917d69419485a3638de4" + }, + "notes/analysis-mixed-syntax-followup-754a9b4-manifest-20260923.json": { + "bytes": 688, + "sha256": "87079e866306b6418b4a69052286b96f7a3f92d5567c12ebf86fdba5f5cfd607" + }, + "notes/analysis-mixed-syntax-followup-handoff-20260923.md": { + "bytes": 3739, + "sha256": "cbde5e49a3cc7f3fa6a138680dd4a8efba77038b9489358ce98b0f1beb930218" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.json": { + "bytes": 2864, + "sha256": "52775e006cbc27df7c6d865b8ef0bf1557d9347d52476b40a62f09eaa732473c" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.md": { + "bytes": 2316, + "sha256": "430e4350c506944313825fbaff289260c08134f3ba6c7b88323e5071fa7ccbf1" + }, + "notes/analysis-mixed-syntax-independent-review-20260923.md": { + "bytes": 15780, + "sha256": "057cf307bf914832565fb92a289ac102fdd68c666201af736d7c37557984e0d8" + }, + "notes/analysis-mixed-syntax-source-0fc0826-manifest-20260923.json": { + "bytes": 3100, + "sha256": "788b0ea775dbbe4772358a488500885132bd41038ac8f278542ed45d0741e24d" + }, + "notes/analysis-mixed-syntax-source-handoff-20260923.md": { + "bytes": 11880, + "sha256": "afa06df13a87a2be290623bf33d4643c9ec70a2e38886fb1b971e770db3239fe" + }, + "prior/list-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "prior/list-10d7f33.log": { + "bytes": 18213, + "sha256": "76b9e9ebc0c0d3d8794020dd222cfc94f7dd8cda9deedd0e74e0cd0c3aa5900c" + }, + "prior/list-10d7f33.result.json": { + "bytes": 19385, + "sha256": "4baf130b68e2c044ad3e43d6e8a2e13c611008192a271d3dfa75ee5a7c1503c1" + } + }, + "git_origins": { + "baseline/full-f1d79df.log": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.log" + }, + "baseline/full-f1d79df.result.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.result.json" + }, + "baseline/full-f1d79df.inputs.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.inputs.json" + }, + "baseline/full-f1d79df.comparison.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.comparison.json" + }, + "baseline/full-f1d79df-comparison.py": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df-comparison.py" + }, + "prior/list-10d7f33.log": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.log" + }, + "prior/list-10d7f33.result.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.result.json" + }, + "prior/list-10d7f33.inputs.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.inputs.json" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-proposal-20260923.md" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-review-20260923.md" + } + }, + "verified_summary": { + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + }, + "strict_core_all_targets": "PASS", + "strict_exit": 0, + "fmt_exit": 1, + "full_invocation": "direct-executable", + "listing_artifacts": [ + { + "invocation": "direct-executable", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + } + ] + }, + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2" + } + ] + } + ], + "intermediate_checkpoint": { + "source": "eeb1069cfcfc51e4cf73cff850adc2fabc8aae77", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + }, + "strict_core_all_targets": "FAILED", + "strict_exit": 101, + "fmt_exit": 1, + "full_invocation": "cargo", + "listing_artifacts": [ + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + } + ] + } + ] + }, + "formatting_disposition": "Formatting FAILED at eeb1069; six affected blobs byte-identical at a578ac9, eeb1069, 10d7f33 and f1d79df; final fmt also FAILED exit 1 with identical nine blocks", + "unchanged_inputs_from_intermediate": 540, + "clock_discontinuity": "Raw final listing UTC end precedes start after host clock moved backward; exact immutable receipt retained; elapsed_monotonic_seconds=768.4220000000059 is the duration evidence. No wall-clock duration inferred.", + "limits": "Receipt/Git consistency only; no archived code or binaries executed. No public source8, semantic/compositor or full-suite PASS claim." + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-direct-listing/control-result.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-direct-listing/control-result.json new file mode 100644 index 00000000..2fc0598f --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-direct-listing/control-result.json @@ -0,0 +1,38 @@ +{ + "case": "missing-direct-listing", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 6.0460000000020955, + "expected_refusal_fragment": "gates/mixed-direct-list-a578-1.result.json", + "actual_refusal": "REFUSED: 'gates/mixed-direct-list-a578-1.result.json'", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\missing-direct-listing" + ], + "files": { + "evidence.zip": { + "bytes": 524817, + "sha256": "a59345feeaa394ac8e9b972851117cd488c87a5f2e538261c9108eb184fdc08a" + }, + "manifest.json": { + "bytes": 34780, + "sha256": "e047ecbe2c55580911b70f2df953dfb51e95937948ad4ce2c28c81c73d54594d" + }, + "stderr.log": { + "bytes": 55, + "sha256": "257ac17b28904eecd38d9bfebf9740e3a4b9651d023a2d4bc25ef906886afca2" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-direct-listing/manifest.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-direct-listing/manifest.json new file mode 100644 index 00000000..9b66e51f --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-direct-listing/manifest.json @@ -0,0 +1,549 @@ +{ + "schema": 1, + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "payloads": { + "baseline/full-f1d79df-comparison.py": { + "bytes": 3499, + "sha256": "e88c0c630b05d0568b29301efdfb0c6e74135e4b04e27a1f71f27954b8809921" + }, + "baseline/full-f1d79df.comparison.json": { + "bytes": 3864, + "sha256": "5497ce589c3e8eea6158055af77da598aab1a7c2a92af30c7264bfd311ec89f4" + }, + "baseline/full-f1d79df.inputs.json": { + "bytes": 99490, + "sha256": "6a4c7e3c8d1e6edb7ad306c19abd05009ee410312eb34b68ec30d6408387967b" + }, + "baseline/full-f1d79df.log": { + "bytes": 28480, + "sha256": "29a08cbfc02a83922f90c00f0b48f1aa403f93261457e65d29e3b9f46389dce9" + }, + "baseline/full-f1d79df.result.json": { + "bytes": 1234, + "sha256": "a1465abd64e2b3a29388f5da1912dcb87bfe9aed618c122bad557ff21c52c95b" + }, + "gates/launchers/3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a.py": { + "bytes": 16167, + "sha256": "3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a" + }, + "gates/launchers/471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de.py": { + "bytes": 5319, + "sha256": "471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de" + }, + "gates/launchers/83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364.py": { + "bytes": 5264, + "sha256": "83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364" + }, + "gates/mixed-clippy-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-clippy-a578-1.log": { + "bytes": 166, + "sha256": "36f453dc344f791cfc5bdfa532df3520008887de673b01c76edac9233e18e913" + }, + "gates/mixed-clippy-a578-1.result.json": { + "bytes": 1717, + "sha256": "c6f408b0963d8da7514ea87219e5a0b991c04d3ea9f9fe25f7b45752cb57e7a5" + }, + "gates/mixed-clippy-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-clippy-eeb1-1.log": { + "bytes": 1996, + "sha256": "ab9c0fc8baf8c56230b448f18b1de8dbf2d8e7c85a1f118aea369dea129f3f17" + }, + "gates/mixed-clippy-eeb1-1.result.json": { + "bytes": 1720, + "sha256": "886eb86c99a261af00207864ba4717735910a092f3ec3352ff455a960de38881" + }, + "gates/mixed-direct-full-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-full-a578-1.log": { + "bytes": 33333, + "sha256": "3af2546378fd0cdd634dd63791d8b3475563c49c19d28aaea1e3a35a2474fbb6" + }, + "gates/mixed-direct-full-a578-1.result.json": { + "bytes": 52372, + "sha256": "8ba1ef2dca98440b57280ebf0282257ace79a0f0ccfde23f7ad8e7e2c255a0ec" + }, + "gates/mixed-fmt-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-fmt-a578-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-a578-1.result.json": { + "bytes": 1631, + "sha256": "2648337aa67f6978b77e05479321a35ad782ebdad71b322efc62bb46e7180fe0" + }, + "gates/mixed-fmt-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-fmt-eeb1-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-eeb1-1.result.json": { + "bytes": 1631, + "sha256": "0ad50da9ef19f4129f593ffe37173c930b0b151cdd6ea00b1308aec12c973a5b" + }, + "gates/mixed-focused-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-focused-a578-1.log": { + "bytes": 2911, + "sha256": "4acfc2bc654210441ab07b45fcfdb9a8496667f768962c1c51a5a06f73011c60" + }, + "gates/mixed-focused-a578-1.result.json": { + "bytes": 2061, + "sha256": "fa586319f22c7eb1bd75e9d9da6784cff8cc897b6b93205c84f6591fa9c76b85" + }, + "gates/mixed-focused-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-focused-eeb1-1.log": { + "bytes": 2806, + "sha256": "1b7d6df5aaa0b0d9828cbbac9a77cb8ace0d8e2e3a8e44d58dcc5b254348628a" + }, + "gates/mixed-focused-eeb1-1.result.json": { + "bytes": 2057, + "sha256": "2b55c0b63e9bb9f3c8a45b934833a799e811b66a7c1297d40ca1b6edb54b4d75" + }, + "gates/mixed-full-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-full-eeb1-1.log": { + "bytes": 33611, + "sha256": "ae9e4f3187d053d3ded9ec2475fc7dd469d5df976261fdc30479070e08cbc2b6" + }, + "gates/mixed-full-eeb1-1.result.json": { + "bytes": 1981, + "sha256": "1f0b3e64142d8a774ad5e59c1d8e8f28c1a94717749b851d22044a41c2e01830" + }, + "gates/mixed-list-754a-1.inputs.json": { + "bytes": 100820, + "sha256": "020a1ef53d3f30699b66358cb8688add682a33960b3e12721f50af5a9f57a3cb" + }, + "gates/mixed-list-754a-1.log": { + "bytes": 473, + "sha256": "ff09dcad13a097b29fe80455f9f34b5df71d3dd1ada101dca3ee1a046ab33977" + }, + "gates/mixed-list-754a-1.result.json": { + "bytes": 1694, + "sha256": "35c109d3f9e05aaae7933f0af955703a8affad45158d3e7de6bd23c35ea76cd8" + }, + "gates/mixed-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-list-a578-1.log": { + "bytes": 20665, + "sha256": "7ad105fc530f3f13d5b108f8856d431cf5833209b9dc410428525368aa0fd063" + }, + "gates/mixed-list-a578-1.result.json": { + "bytes": 22476, + "sha256": "adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100" + }, + "gates/mixed-list-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-list-eeb1-1.log": { + "bytes": 20665, + "sha256": "3e07d0c5a843b9a2bc74d4ce8f36976c49ea57b6a14d5a4dc1f334a7e6016bd5" + }, + "gates/mixed-list-eeb1-1.result.json": { + "bytes": 22477, + "sha256": "d0f7afa28c1a7b976a1729c59c2f6c9c7a04a674658a39e04de09106698005f5" + }, + "helpers/analysis-mixed-syntax-clippy-fix-proof-20260923.py": { + "bytes": 3937, + "sha256": "95c006b1a84f42400fdad439958c3852aa54dc69ec85aedd29d79cc8c089c803" + }, + "helpers/formatting-proof.py": { + "bytes": 5518, + "sha256": "731d5c8c9993c81b789edc3c8ab9aa03e141b4334ace8a64c5d101e8315e03b4" + }, + "notes/analysis-mixed-direct-evidence-review-20260923.md": { + "bytes": 6608, + "sha256": "02e0713681e3a196d91b9cfd170bcd5a54d0e78b7948e30439baf9d051c29d6c" + }, + "notes/analysis-mixed-direct-gate-path-check-20260923.json": { + "bytes": 22970, + "sha256": "e3455ca847df1fd25e3c8dd4040e647155a917905f38b8b320f4fdfa17ff3d2d" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "bytes": 18874, + "sha256": "8ad3005d960667267a10e9a73b92f8e151dd4e451cbbaed215bbad74e79677e0" + }, + "notes/analysis-mixed-parser-proposal-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-syntax-clippy-fix-handoff-20260923.md": { + "bytes": 2848, + "sha256": "903676efac11de735cd04b91965ec44bb50dc6fa464192cbb39fa53f4276caf2" + }, + "notes/analysis-mixed-syntax-clippy-fix-proof-20260923.json": { + "bytes": 2016, + "sha256": "cd91d010d66fda68c247bf64ce3861aa2d85dc9b3a535da80d7743241aad4a9c" + }, + "notes/analysis-mixed-syntax-clock-disposition-20260923.md": { + "bytes": 1636, + "sha256": "f560270339411c6265127095bd83115143c2f97eb257a20d5f0c64193345b3e2" + }, + "notes/analysis-mixed-syntax-evidence-tools-independent-review-20260923.md": { + "bytes": 13228, + "sha256": "3f7f6dc2621b111c885550f8d2e519f3668ec8a0f48f917d69419485a3638de4" + }, + "notes/analysis-mixed-syntax-followup-754a9b4-manifest-20260923.json": { + "bytes": 688, + "sha256": "87079e866306b6418b4a69052286b96f7a3f92d5567c12ebf86fdba5f5cfd607" + }, + "notes/analysis-mixed-syntax-followup-handoff-20260923.md": { + "bytes": 3739, + "sha256": "cbde5e49a3cc7f3fa6a138680dd4a8efba77038b9489358ce98b0f1beb930218" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.json": { + "bytes": 2864, + "sha256": "52775e006cbc27df7c6d865b8ef0bf1557d9347d52476b40a62f09eaa732473c" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.md": { + "bytes": 2316, + "sha256": "430e4350c506944313825fbaff289260c08134f3ba6c7b88323e5071fa7ccbf1" + }, + "notes/analysis-mixed-syntax-independent-review-20260923.md": { + "bytes": 15780, + "sha256": "057cf307bf914832565fb92a289ac102fdd68c666201af736d7c37557984e0d8" + }, + "notes/analysis-mixed-syntax-source-0fc0826-manifest-20260923.json": { + "bytes": 3100, + "sha256": "788b0ea775dbbe4772358a488500885132bd41038ac8f278542ed45d0741e24d" + }, + "notes/analysis-mixed-syntax-source-handoff-20260923.md": { + "bytes": 11880, + "sha256": "afa06df13a87a2be290623bf33d4643c9ec70a2e38886fb1b971e770db3239fe" + }, + "prior/list-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "prior/list-10d7f33.log": { + "bytes": 18213, + "sha256": "76b9e9ebc0c0d3d8794020dd222cfc94f7dd8cda9deedd0e74e0cd0c3aa5900c" + }, + "prior/list-10d7f33.result.json": { + "bytes": 19385, + "sha256": "4baf130b68e2c044ad3e43d6e8a2e13c611008192a271d3dfa75ee5a7c1503c1" + } + }, + "git_origins": { + "baseline/full-f1d79df.log": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.log" + }, + "baseline/full-f1d79df.result.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.result.json" + }, + "baseline/full-f1d79df.inputs.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.inputs.json" + }, + "baseline/full-f1d79df.comparison.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.comparison.json" + }, + "baseline/full-f1d79df-comparison.py": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df-comparison.py" + }, + "prior/list-10d7f33.log": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.log" + }, + "prior/list-10d7f33.result.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.result.json" + }, + "prior/list-10d7f33.inputs.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.inputs.json" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-proposal-20260923.md" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-review-20260923.md" + } + }, + "verified_summary": { + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + }, + "strict_core_all_targets": "PASS", + "strict_exit": 0, + "fmt_exit": 1, + "full_invocation": "direct-executable", + "listing_artifacts": [ + { + "invocation": "direct-executable", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + } + ] + }, + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2" + } + ] + } + ], + "intermediate_checkpoint": { + "source": "eeb1069cfcfc51e4cf73cff850adc2fabc8aae77", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + }, + "strict_core_all_targets": "FAILED", + "strict_exit": 101, + "fmt_exit": 1, + "full_invocation": "cargo", + "listing_artifacts": [ + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + } + ] + } + ] + }, + "formatting_disposition": "Formatting FAILED at eeb1069; six affected blobs byte-identical at a578ac9, eeb1069, 10d7f33 and f1d79df; final fmt also FAILED exit 1 with identical nine blocks", + "unchanged_inputs_from_intermediate": 540, + "clock_discontinuity": "Raw final listing UTC end precedes start after host clock moved backward; exact immutable receipt retained; elapsed_monotonic_seconds=768.4220000000059 is the duration evidence. No wall-clock duration inferred.", + "limits": "Receipt/Git consistency only; no archived code or binaries executed. No public source8, semantic/compositor or full-suite PASS claim." + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-intermediate-strict/control-result.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-intermediate-strict/control-result.json new file mode 100644 index 00000000..802b472c --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-intermediate-strict/control-result.json @@ -0,0 +1,38 @@ +{ + "case": "missing-intermediate-strict", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 10.171999999998661, + "expected_refusal_fragment": "Required checkpoint gates missing/ambiguous", + "actual_refusal": "REFUSED: Required checkpoint gates missing/ambiguous", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\missing-intermediate-strict" + ], + "files": { + "evidence.zip": { + "bytes": 537195, + "sha256": "3cddf8abc727d7116790f2450972e41429f42dac85b58fd95de5981daa2f2219" + }, + "manifest.json": { + "bytes": 34797, + "sha256": "945a2f615b624bf8bb0f5f54f3b8f7eb3e8afdbe1a38853ecf3ea6c670370364" + }, + "stderr.log": { + "bytes": 54, + "sha256": "9388aabeca6ed73358d9d7246be021f7bf53a59ebc811a54929aa25275a15944" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-intermediate-strict/manifest.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-intermediate-strict/manifest.json new file mode 100644 index 00000000..743d3706 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-intermediate-strict/manifest.json @@ -0,0 +1,549 @@ +{ + "schema": 1, + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "payloads": { + "baseline/full-f1d79df-comparison.py": { + "bytes": 3499, + "sha256": "e88c0c630b05d0568b29301efdfb0c6e74135e4b04e27a1f71f27954b8809921" + }, + "baseline/full-f1d79df.comparison.json": { + "bytes": 3864, + "sha256": "5497ce589c3e8eea6158055af77da598aab1a7c2a92af30c7264bfd311ec89f4" + }, + "baseline/full-f1d79df.inputs.json": { + "bytes": 99490, + "sha256": "6a4c7e3c8d1e6edb7ad306c19abd05009ee410312eb34b68ec30d6408387967b" + }, + "baseline/full-f1d79df.log": { + "bytes": 28480, + "sha256": "29a08cbfc02a83922f90c00f0b48f1aa403f93261457e65d29e3b9f46389dce9" + }, + "baseline/full-f1d79df.result.json": { + "bytes": 1234, + "sha256": "a1465abd64e2b3a29388f5da1912dcb87bfe9aed618c122bad557ff21c52c95b" + }, + "gates/launchers/3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a.py": { + "bytes": 16167, + "sha256": "3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a" + }, + "gates/launchers/471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de.py": { + "bytes": 5319, + "sha256": "471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de" + }, + "gates/launchers/83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364.py": { + "bytes": 5264, + "sha256": "83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364" + }, + "gates/mixed-clippy-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-clippy-a578-1.log": { + "bytes": 166, + "sha256": "36f453dc344f791cfc5bdfa532df3520008887de673b01c76edac9233e18e913" + }, + "gates/mixed-clippy-a578-1.result.json": { + "bytes": 1717, + "sha256": "c6f408b0963d8da7514ea87219e5a0b991c04d3ea9f9fe25f7b45752cb57e7a5" + }, + "gates/mixed-direct-full-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-full-a578-1.log": { + "bytes": 33333, + "sha256": "3af2546378fd0cdd634dd63791d8b3475563c49c19d28aaea1e3a35a2474fbb6" + }, + "gates/mixed-direct-full-a578-1.result.json": { + "bytes": 52372, + "sha256": "8ba1ef2dca98440b57280ebf0282257ace79a0f0ccfde23f7ad8e7e2c255a0ec" + }, + "gates/mixed-direct-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-list-a578-1.log": { + "bytes": 20334, + "sha256": "37551f95fc70a422e394712690bf19b69ad769890a9a07eac73bf9e0fa843242" + }, + "gates/mixed-direct-list-a578-1.result.json": { + "bytes": 49871, + "sha256": "22db9a6a34d1e0800a71ec1ae88e1f18467d1c50a10a9ad305182d29cc11d904" + }, + "gates/mixed-fmt-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-fmt-a578-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-a578-1.result.json": { + "bytes": 1631, + "sha256": "2648337aa67f6978b77e05479321a35ad782ebdad71b322efc62bb46e7180fe0" + }, + "gates/mixed-fmt-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-fmt-eeb1-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-eeb1-1.result.json": { + "bytes": 1631, + "sha256": "0ad50da9ef19f4129f593ffe37173c930b0b151cdd6ea00b1308aec12c973a5b" + }, + "gates/mixed-focused-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-focused-a578-1.log": { + "bytes": 2911, + "sha256": "4acfc2bc654210441ab07b45fcfdb9a8496667f768962c1c51a5a06f73011c60" + }, + "gates/mixed-focused-a578-1.result.json": { + "bytes": 2061, + "sha256": "fa586319f22c7eb1bd75e9d9da6784cff8cc897b6b93205c84f6591fa9c76b85" + }, + "gates/mixed-focused-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-focused-eeb1-1.log": { + "bytes": 2806, + "sha256": "1b7d6df5aaa0b0d9828cbbac9a77cb8ace0d8e2e3a8e44d58dcc5b254348628a" + }, + "gates/mixed-focused-eeb1-1.result.json": { + "bytes": 2057, + "sha256": "2b55c0b63e9bb9f3c8a45b934833a799e811b66a7c1297d40ca1b6edb54b4d75" + }, + "gates/mixed-full-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-full-eeb1-1.log": { + "bytes": 33611, + "sha256": "ae9e4f3187d053d3ded9ec2475fc7dd469d5df976261fdc30479070e08cbc2b6" + }, + "gates/mixed-full-eeb1-1.result.json": { + "bytes": 1981, + "sha256": "1f0b3e64142d8a774ad5e59c1d8e8f28c1a94717749b851d22044a41c2e01830" + }, + "gates/mixed-list-754a-1.inputs.json": { + "bytes": 100820, + "sha256": "020a1ef53d3f30699b66358cb8688add682a33960b3e12721f50af5a9f57a3cb" + }, + "gates/mixed-list-754a-1.log": { + "bytes": 473, + "sha256": "ff09dcad13a097b29fe80455f9f34b5df71d3dd1ada101dca3ee1a046ab33977" + }, + "gates/mixed-list-754a-1.result.json": { + "bytes": 1694, + "sha256": "35c109d3f9e05aaae7933f0af955703a8affad45158d3e7de6bd23c35ea76cd8" + }, + "gates/mixed-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-list-a578-1.log": { + "bytes": 20665, + "sha256": "7ad105fc530f3f13d5b108f8856d431cf5833209b9dc410428525368aa0fd063" + }, + "gates/mixed-list-a578-1.result.json": { + "bytes": 22476, + "sha256": "adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100" + }, + "gates/mixed-list-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-list-eeb1-1.log": { + "bytes": 20665, + "sha256": "3e07d0c5a843b9a2bc74d4ce8f36976c49ea57b6a14d5a4dc1f334a7e6016bd5" + }, + "gates/mixed-list-eeb1-1.result.json": { + "bytes": 22477, + "sha256": "d0f7afa28c1a7b976a1729c59c2f6c9c7a04a674658a39e04de09106698005f5" + }, + "helpers/analysis-mixed-syntax-clippy-fix-proof-20260923.py": { + "bytes": 3937, + "sha256": "95c006b1a84f42400fdad439958c3852aa54dc69ec85aedd29d79cc8c089c803" + }, + "helpers/formatting-proof.py": { + "bytes": 5518, + "sha256": "731d5c8c9993c81b789edc3c8ab9aa03e141b4334ace8a64c5d101e8315e03b4" + }, + "notes/analysis-mixed-direct-evidence-review-20260923.md": { + "bytes": 6608, + "sha256": "02e0713681e3a196d91b9cfd170bcd5a54d0e78b7948e30439baf9d051c29d6c" + }, + "notes/analysis-mixed-direct-gate-path-check-20260923.json": { + "bytes": 22970, + "sha256": "e3455ca847df1fd25e3c8dd4040e647155a917905f38b8b320f4fdfa17ff3d2d" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "bytes": 18874, + "sha256": "8ad3005d960667267a10e9a73b92f8e151dd4e451cbbaed215bbad74e79677e0" + }, + "notes/analysis-mixed-parser-proposal-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-syntax-clippy-fix-handoff-20260923.md": { + "bytes": 2848, + "sha256": "903676efac11de735cd04b91965ec44bb50dc6fa464192cbb39fa53f4276caf2" + }, + "notes/analysis-mixed-syntax-clippy-fix-proof-20260923.json": { + "bytes": 2016, + "sha256": "cd91d010d66fda68c247bf64ce3861aa2d85dc9b3a535da80d7743241aad4a9c" + }, + "notes/analysis-mixed-syntax-clock-disposition-20260923.md": { + "bytes": 1636, + "sha256": "f560270339411c6265127095bd83115143c2f97eb257a20d5f0c64193345b3e2" + }, + "notes/analysis-mixed-syntax-evidence-tools-independent-review-20260923.md": { + "bytes": 13228, + "sha256": "3f7f6dc2621b111c885550f8d2e519f3668ec8a0f48f917d69419485a3638de4" + }, + "notes/analysis-mixed-syntax-followup-754a9b4-manifest-20260923.json": { + "bytes": 688, + "sha256": "87079e866306b6418b4a69052286b96f7a3f92d5567c12ebf86fdba5f5cfd607" + }, + "notes/analysis-mixed-syntax-followup-handoff-20260923.md": { + "bytes": 3739, + "sha256": "cbde5e49a3cc7f3fa6a138680dd4a8efba77038b9489358ce98b0f1beb930218" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.json": { + "bytes": 2864, + "sha256": "52775e006cbc27df7c6d865b8ef0bf1557d9347d52476b40a62f09eaa732473c" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.md": { + "bytes": 2316, + "sha256": "430e4350c506944313825fbaff289260c08134f3ba6c7b88323e5071fa7ccbf1" + }, + "notes/analysis-mixed-syntax-independent-review-20260923.md": { + "bytes": 15780, + "sha256": "057cf307bf914832565fb92a289ac102fdd68c666201af736d7c37557984e0d8" + }, + "notes/analysis-mixed-syntax-source-0fc0826-manifest-20260923.json": { + "bytes": 3100, + "sha256": "788b0ea775dbbe4772358a488500885132bd41038ac8f278542ed45d0741e24d" + }, + "notes/analysis-mixed-syntax-source-handoff-20260923.md": { + "bytes": 11880, + "sha256": "afa06df13a87a2be290623bf33d4643c9ec70a2e38886fb1b971e770db3239fe" + }, + "prior/list-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "prior/list-10d7f33.log": { + "bytes": 18213, + "sha256": "76b9e9ebc0c0d3d8794020dd222cfc94f7dd8cda9deedd0e74e0cd0c3aa5900c" + }, + "prior/list-10d7f33.result.json": { + "bytes": 19385, + "sha256": "4baf130b68e2c044ad3e43d6e8a2e13c611008192a271d3dfa75ee5a7c1503c1" + } + }, + "git_origins": { + "baseline/full-f1d79df.log": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.log" + }, + "baseline/full-f1d79df.result.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.result.json" + }, + "baseline/full-f1d79df.inputs.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.inputs.json" + }, + "baseline/full-f1d79df.comparison.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.comparison.json" + }, + "baseline/full-f1d79df-comparison.py": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df-comparison.py" + }, + "prior/list-10d7f33.log": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.log" + }, + "prior/list-10d7f33.result.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.result.json" + }, + "prior/list-10d7f33.inputs.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.inputs.json" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-proposal-20260923.md" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-review-20260923.md" + } + }, + "verified_summary": { + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + }, + "strict_core_all_targets": "PASS", + "strict_exit": 0, + "fmt_exit": 1, + "full_invocation": "direct-executable", + "listing_artifacts": [ + { + "invocation": "direct-executable", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + } + ] + }, + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2" + } + ] + } + ], + "intermediate_checkpoint": { + "source": "eeb1069cfcfc51e4cf73cff850adc2fabc8aae77", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + }, + "strict_core_all_targets": "FAILED", + "strict_exit": 101, + "fmt_exit": 1, + "full_invocation": "cargo", + "listing_artifacts": [ + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + } + ] + } + ] + }, + "formatting_disposition": "Formatting FAILED at eeb1069; six affected blobs byte-identical at a578ac9, eeb1069, 10d7f33 and f1d79df; final fmt also FAILED exit 1 with identical nine blocks", + "unchanged_inputs_from_intermediate": 540, + "clock_discontinuity": "Raw final listing UTC end precedes start after host clock moved backward; exact immutable receipt retained; elapsed_monotonic_seconds=768.4220000000059 is the duration evidence. No wall-clock duration inferred.", + "limits": "Receipt/Git consistency only; no archived code or binaries executed. No public source8, semantic/compositor or full-suite PASS claim." + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-new-outcome/control-result.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-new-outcome/control-result.json new file mode 100644 index 00000000..fcff160c --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-new-outcome/control-result.json @@ -0,0 +1,38 @@ +{ + "case": "missing-new-outcome", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 21.5309999999954, + "expected_refusal_fragment": "Missing/extra runtime outcomes", + "actual_refusal": "REFUSED: Missing/extra runtime outcomes", + "matched": true, + "detail": "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-20260923\\missing-new-outcome" + ], + "files": { + "evidence.zip": { + "bytes": 567792, + "sha256": "93fef3f987548bc8dd07eb173a34a10ea9541a9adf5ec61596dcda899811890b" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "f554341d8ae87cd2f256487e80e8c82265967084d4c51b23ed14315093cdafb1" + }, + "stderr.log": { + "bytes": 41, + "sha256": "4ea6eb7a458fba980b8e4d8594be7d265cc93730502d4834f9ea2503185b555e" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-new-outcome/manifest.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-new-outcome/manifest.json new file mode 100644 index 00000000..dd39e139 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/missing-new-outcome/manifest.json @@ -0,0 +1,561 @@ +{ + "schema": 1, + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "payloads": { + "baseline/full-f1d79df-comparison.py": { + "bytes": 3499, + "sha256": "e88c0c630b05d0568b29301efdfb0c6e74135e4b04e27a1f71f27954b8809921" + }, + "baseline/full-f1d79df.comparison.json": { + "bytes": 3864, + "sha256": "5497ce589c3e8eea6158055af77da598aab1a7c2a92af30c7264bfd311ec89f4" + }, + "baseline/full-f1d79df.inputs.json": { + "bytes": 99490, + "sha256": "6a4c7e3c8d1e6edb7ad306c19abd05009ee410312eb34b68ec30d6408387967b" + }, + "baseline/full-f1d79df.log": { + "bytes": 28480, + "sha256": "29a08cbfc02a83922f90c00f0b48f1aa403f93261457e65d29e3b9f46389dce9" + }, + "baseline/full-f1d79df.result.json": { + "bytes": 1234, + "sha256": "a1465abd64e2b3a29388f5da1912dcb87bfe9aed618c122bad557ff21c52c95b" + }, + "gates/launchers/3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a.py": { + "bytes": 16167, + "sha256": "3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a" + }, + "gates/launchers/471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de.py": { + "bytes": 5319, + "sha256": "471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de" + }, + "gates/launchers/83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364.py": { + "bytes": 5264, + "sha256": "83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364" + }, + "gates/mixed-clippy-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-clippy-a578-1.log": { + "bytes": 166, + "sha256": "36f453dc344f791cfc5bdfa532df3520008887de673b01c76edac9233e18e913" + }, + "gates/mixed-clippy-a578-1.result.json": { + "bytes": 1717, + "sha256": "c6f408b0963d8da7514ea87219e5a0b991c04d3ea9f9fe25f7b45752cb57e7a5" + }, + "gates/mixed-clippy-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-clippy-eeb1-1.log": { + "bytes": 1996, + "sha256": "ab9c0fc8baf8c56230b448f18b1de8dbf2d8e7c85a1f118aea369dea129f3f17" + }, + "gates/mixed-clippy-eeb1-1.result.json": { + "bytes": 1720, + "sha256": "886eb86c99a261af00207864ba4717735910a092f3ec3352ff455a960de38881" + }, + "gates/mixed-direct-full-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-full-a578-1.log": { + "bytes": 33209, + "sha256": "d8f8f1efcfb050b17d25523ce1c2d3614a3972a4a937443876f429e8d1c9aaa2" + }, + "gates/mixed-direct-full-a578-1.result.json": { + "bytes": 52372, + "sha256": "603ff7efe2a9e0356aeffbf343d72728bd231eefb70bab12c1a3ee4ecd13f057" + }, + "gates/mixed-direct-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-list-a578-1.log": { + "bytes": 20334, + "sha256": "37551f95fc70a422e394712690bf19b69ad769890a9a07eac73bf9e0fa843242" + }, + "gates/mixed-direct-list-a578-1.result.json": { + "bytes": 49871, + "sha256": "22db9a6a34d1e0800a71ec1ae88e1f18467d1c50a10a9ad305182d29cc11d904" + }, + "gates/mixed-fmt-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-fmt-a578-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-a578-1.result.json": { + "bytes": 1631, + "sha256": "2648337aa67f6978b77e05479321a35ad782ebdad71b322efc62bb46e7180fe0" + }, + "gates/mixed-fmt-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-fmt-eeb1-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-eeb1-1.result.json": { + "bytes": 1631, + "sha256": "0ad50da9ef19f4129f593ffe37173c930b0b151cdd6ea00b1308aec12c973a5b" + }, + "gates/mixed-focused-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-focused-a578-1.log": { + "bytes": 2911, + "sha256": "4acfc2bc654210441ab07b45fcfdb9a8496667f768962c1c51a5a06f73011c60" + }, + "gates/mixed-focused-a578-1.result.json": { + "bytes": 2061, + "sha256": "fa586319f22c7eb1bd75e9d9da6784cff8cc897b6b93205c84f6591fa9c76b85" + }, + "gates/mixed-focused-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-focused-eeb1-1.log": { + "bytes": 2806, + "sha256": "1b7d6df5aaa0b0d9828cbbac9a77cb8ace0d8e2e3a8e44d58dcc5b254348628a" + }, + "gates/mixed-focused-eeb1-1.result.json": { + "bytes": 2057, + "sha256": "2b55c0b63e9bb9f3c8a45b934833a799e811b66a7c1297d40ca1b6edb54b4d75" + }, + "gates/mixed-full-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-full-eeb1-1.log": { + "bytes": 33611, + "sha256": "ae9e4f3187d053d3ded9ec2475fc7dd469d5df976261fdc30479070e08cbc2b6" + }, + "gates/mixed-full-eeb1-1.result.json": { + "bytes": 1981, + "sha256": "1f0b3e64142d8a774ad5e59c1d8e8f28c1a94717749b851d22044a41c2e01830" + }, + "gates/mixed-list-754a-1.inputs.json": { + "bytes": 100820, + "sha256": "020a1ef53d3f30699b66358cb8688add682a33960b3e12721f50af5a9f57a3cb" + }, + "gates/mixed-list-754a-1.log": { + "bytes": 473, + "sha256": "ff09dcad13a097b29fe80455f9f34b5df71d3dd1ada101dca3ee1a046ab33977" + }, + "gates/mixed-list-754a-1.result.json": { + "bytes": 1694, + "sha256": "35c109d3f9e05aaae7933f0af955703a8affad45158d3e7de6bd23c35ea76cd8" + }, + "gates/mixed-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-list-a578-1.log": { + "bytes": 20665, + "sha256": "7ad105fc530f3f13d5b108f8856d431cf5833209b9dc410428525368aa0fd063" + }, + "gates/mixed-list-a578-1.result.json": { + "bytes": 22476, + "sha256": "adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100" + }, + "gates/mixed-list-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-list-eeb1-1.log": { + "bytes": 20665, + "sha256": "3e07d0c5a843b9a2bc74d4ce8f36976c49ea57b6a14d5a4dc1f334a7e6016bd5" + }, + "gates/mixed-list-eeb1-1.result.json": { + "bytes": 22477, + "sha256": "d0f7afa28c1a7b976a1729c59c2f6c9c7a04a674658a39e04de09106698005f5" + }, + "helpers/analysis-mixed-syntax-clippy-fix-proof-20260923.py": { + "bytes": 3937, + "sha256": "95c006b1a84f42400fdad439958c3852aa54dc69ec85aedd29d79cc8c089c803" + }, + "helpers/formatting-proof.py": { + "bytes": 5518, + "sha256": "731d5c8c9993c81b789edc3c8ab9aa03e141b4334ace8a64c5d101e8315e03b4" + }, + "notes/analysis-mixed-direct-evidence-review-20260923.md": { + "bytes": 6608, + "sha256": "02e0713681e3a196d91b9cfd170bcd5a54d0e78b7948e30439baf9d051c29d6c" + }, + "notes/analysis-mixed-direct-gate-path-check-20260923.json": { + "bytes": 22970, + "sha256": "e3455ca847df1fd25e3c8dd4040e647155a917905f38b8b320f4fdfa17ff3d2d" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "bytes": 18874, + "sha256": "8ad3005d960667267a10e9a73b92f8e151dd4e451cbbaed215bbad74e79677e0" + }, + "notes/analysis-mixed-parser-proposal-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-syntax-clippy-fix-handoff-20260923.md": { + "bytes": 2848, + "sha256": "903676efac11de735cd04b91965ec44bb50dc6fa464192cbb39fa53f4276caf2" + }, + "notes/analysis-mixed-syntax-clippy-fix-proof-20260923.json": { + "bytes": 2016, + "sha256": "cd91d010d66fda68c247bf64ce3861aa2d85dc9b3a535da80d7743241aad4a9c" + }, + "notes/analysis-mixed-syntax-clock-disposition-20260923.md": { + "bytes": 1636, + "sha256": "f560270339411c6265127095bd83115143c2f97eb257a20d5f0c64193345b3e2" + }, + "notes/analysis-mixed-syntax-evidence-tools-independent-review-20260923.md": { + "bytes": 13228, + "sha256": "3f7f6dc2621b111c885550f8d2e519f3668ec8a0f48f917d69419485a3638de4" + }, + "notes/analysis-mixed-syntax-followup-754a9b4-manifest-20260923.json": { + "bytes": 688, + "sha256": "87079e866306b6418b4a69052286b96f7a3f92d5567c12ebf86fdba5f5cfd607" + }, + "notes/analysis-mixed-syntax-followup-handoff-20260923.md": { + "bytes": 3739, + "sha256": "cbde5e49a3cc7f3fa6a138680dd4a8efba77038b9489358ce98b0f1beb930218" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.json": { + "bytes": 2864, + "sha256": "52775e006cbc27df7c6d865b8ef0bf1557d9347d52476b40a62f09eaa732473c" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.md": { + "bytes": 2316, + "sha256": "430e4350c506944313825fbaff289260c08134f3ba6c7b88323e5071fa7ccbf1" + }, + "notes/analysis-mixed-syntax-independent-review-20260923.md": { + "bytes": 15780, + "sha256": "057cf307bf914832565fb92a289ac102fdd68c666201af736d7c37557984e0d8" + }, + "notes/analysis-mixed-syntax-source-0fc0826-manifest-20260923.json": { + "bytes": 3100, + "sha256": "788b0ea775dbbe4772358a488500885132bd41038ac8f278542ed45d0741e24d" + }, + "notes/analysis-mixed-syntax-source-handoff-20260923.md": { + "bytes": 11880, + "sha256": "afa06df13a87a2be290623bf33d4643c9ec70a2e38886fb1b971e770db3239fe" + }, + "prior/list-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "prior/list-10d7f33.log": { + "bytes": 18213, + "sha256": "76b9e9ebc0c0d3d8794020dd222cfc94f7dd8cda9deedd0e74e0cd0c3aa5900c" + }, + "prior/list-10d7f33.result.json": { + "bytes": 19385, + "sha256": "4baf130b68e2c044ad3e43d6e8a2e13c611008192a271d3dfa75ee5a7c1503c1" + } + }, + "git_origins": { + "baseline/full-f1d79df.log": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.log" + }, + "baseline/full-f1d79df.result.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.result.json" + }, + "baseline/full-f1d79df.inputs.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.inputs.json" + }, + "baseline/full-f1d79df.comparison.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.comparison.json" + }, + "baseline/full-f1d79df-comparison.py": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df-comparison.py" + }, + "prior/list-10d7f33.log": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.log" + }, + "prior/list-10d7f33.result.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.result.json" + }, + "prior/list-10d7f33.inputs.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.inputs.json" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-proposal-20260923.md" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-review-20260923.md" + } + }, + "verified_summary": { + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + }, + "strict_core_all_targets": "PASS", + "strict_exit": 0, + "fmt_exit": 1, + "full_invocation": "direct-executable", + "listing_artifacts": [ + { + "invocation": "direct-executable", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + } + ] + }, + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2" + } + ] + } + ], + "intermediate_checkpoint": { + "source": "eeb1069cfcfc51e4cf73cff850adc2fabc8aae77", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + }, + "strict_core_all_targets": "FAILED", + "strict_exit": 101, + "fmt_exit": 1, + "full_invocation": "cargo", + "listing_artifacts": [ + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + } + ] + } + ] + }, + "formatting_disposition": "Formatting FAILED at eeb1069; six affected blobs byte-identical at a578ac9, eeb1069, 10d7f33 and f1d79df; final fmt also FAILED exit 1 with identical nine blocks", + "unchanged_inputs_from_intermediate": 540, + "clock_discontinuity": "Raw final listing UTC end precedes start after host clock moved backward; exact immutable receipt retained; elapsed_monotonic_seconds=768.4220000000059 is the duration evidence. No wall-clock duration inferred.", + "limits": "Receipt/Git consistency only; no archived code or binaries executed. No public source8, semantic/compositor or full-suite PASS claim." + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/unchanged-real-package/control-result.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/unchanged-real-package/control-result.json new file mode 100644 index 00000000..8ef6377d --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/unchanged-real-package/control-result.json @@ -0,0 +1,38 @@ +{ + "case": "unchanged-real-package", + "expected_accept": true, + "observed_accept": true, + "exit": 0, + "elapsed_monotonic_seconds": 76.40600000000268, + "expected_refusal_fragment": null, + "actual_refusal": null, + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-20260923\\unchanged-real-package" + ], + "files": { + "evidence.zip": { + "bytes": 567820, + "sha256": "f39aab1639ce14e4fe61744cf8881b0883ecbe131fefd6bc65c18edd8c81215d" + }, + "manifest.json": { + "bytes": 35826, + "sha256": "20b093860efe3f9ce895f42bd7d992b416e7b06032c7a4f0d308e63d628b0474" + }, + "stderr.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "stdout.log": { + "bytes": 22220, + "sha256": "cd0f310a2433c38d5c3992aa981c7565636fabab27183e7d89393450e2739aa0" + } + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/unchanged-real-package/manifest.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/unchanged-real-package/manifest.json new file mode 100644 index 00000000..a3543874 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/cases/unchanged-real-package/manifest.json @@ -0,0 +1,561 @@ +{ + "schema": 1, + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "payloads": { + "baseline/full-f1d79df-comparison.py": { + "bytes": 3499, + "sha256": "e88c0c630b05d0568b29301efdfb0c6e74135e4b04e27a1f71f27954b8809921" + }, + "baseline/full-f1d79df.comparison.json": { + "bytes": 3864, + "sha256": "5497ce589c3e8eea6158055af77da598aab1a7c2a92af30c7264bfd311ec89f4" + }, + "baseline/full-f1d79df.inputs.json": { + "bytes": 99490, + "sha256": "6a4c7e3c8d1e6edb7ad306c19abd05009ee410312eb34b68ec30d6408387967b" + }, + "baseline/full-f1d79df.log": { + "bytes": 28480, + "sha256": "29a08cbfc02a83922f90c00f0b48f1aa403f93261457e65d29e3b9f46389dce9" + }, + "baseline/full-f1d79df.result.json": { + "bytes": 1234, + "sha256": "a1465abd64e2b3a29388f5da1912dcb87bfe9aed618c122bad557ff21c52c95b" + }, + "gates/launchers/3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a.py": { + "bytes": 16167, + "sha256": "3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a" + }, + "gates/launchers/471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de.py": { + "bytes": 5319, + "sha256": "471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de" + }, + "gates/launchers/83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364.py": { + "bytes": 5264, + "sha256": "83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364" + }, + "gates/mixed-clippy-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-clippy-a578-1.log": { + "bytes": 166, + "sha256": "36f453dc344f791cfc5bdfa532df3520008887de673b01c76edac9233e18e913" + }, + "gates/mixed-clippy-a578-1.result.json": { + "bytes": 1717, + "sha256": "c6f408b0963d8da7514ea87219e5a0b991c04d3ea9f9fe25f7b45752cb57e7a5" + }, + "gates/mixed-clippy-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-clippy-eeb1-1.log": { + "bytes": 1996, + "sha256": "ab9c0fc8baf8c56230b448f18b1de8dbf2d8e7c85a1f118aea369dea129f3f17" + }, + "gates/mixed-clippy-eeb1-1.result.json": { + "bytes": 1720, + "sha256": "886eb86c99a261af00207864ba4717735910a092f3ec3352ff455a960de38881" + }, + "gates/mixed-direct-full-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-full-a578-1.log": { + "bytes": 33333, + "sha256": "3af2546378fd0cdd634dd63791d8b3475563c49c19d28aaea1e3a35a2474fbb6" + }, + "gates/mixed-direct-full-a578-1.result.json": { + "bytes": 52372, + "sha256": "8ba1ef2dca98440b57280ebf0282257ace79a0f0ccfde23f7ad8e7e2c255a0ec" + }, + "gates/mixed-direct-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-list-a578-1.log": { + "bytes": 20334, + "sha256": "37551f95fc70a422e394712690bf19b69ad769890a9a07eac73bf9e0fa843242" + }, + "gates/mixed-direct-list-a578-1.result.json": { + "bytes": 49871, + "sha256": "22db9a6a34d1e0800a71ec1ae88e1f18467d1c50a10a9ad305182d29cc11d904" + }, + "gates/mixed-fmt-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-fmt-a578-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-a578-1.result.json": { + "bytes": 1631, + "sha256": "2648337aa67f6978b77e05479321a35ad782ebdad71b322efc62bb46e7180fe0" + }, + "gates/mixed-fmt-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-fmt-eeb1-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-eeb1-1.result.json": { + "bytes": 1631, + "sha256": "0ad50da9ef19f4129f593ffe37173c930b0b151cdd6ea00b1308aec12c973a5b" + }, + "gates/mixed-focused-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-focused-a578-1.log": { + "bytes": 2911, + "sha256": "4acfc2bc654210441ab07b45fcfdb9a8496667f768962c1c51a5a06f73011c60" + }, + "gates/mixed-focused-a578-1.result.json": { + "bytes": 2061, + "sha256": "fa586319f22c7eb1bd75e9d9da6784cff8cc897b6b93205c84f6591fa9c76b85" + }, + "gates/mixed-focused-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-focused-eeb1-1.log": { + "bytes": 2806, + "sha256": "1b7d6df5aaa0b0d9828cbbac9a77cb8ace0d8e2e3a8e44d58dcc5b254348628a" + }, + "gates/mixed-focused-eeb1-1.result.json": { + "bytes": 2057, + "sha256": "2b55c0b63e9bb9f3c8a45b934833a799e811b66a7c1297d40ca1b6edb54b4d75" + }, + "gates/mixed-full-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-full-eeb1-1.log": { + "bytes": 33611, + "sha256": "ae9e4f3187d053d3ded9ec2475fc7dd469d5df976261fdc30479070e08cbc2b6" + }, + "gates/mixed-full-eeb1-1.result.json": { + "bytes": 1981, + "sha256": "1f0b3e64142d8a774ad5e59c1d8e8f28c1a94717749b851d22044a41c2e01830" + }, + "gates/mixed-list-754a-1.inputs.json": { + "bytes": 100820, + "sha256": "020a1ef53d3f30699b66358cb8688add682a33960b3e12721f50af5a9f57a3cb" + }, + "gates/mixed-list-754a-1.log": { + "bytes": 473, + "sha256": "ff09dcad13a097b29fe80455f9f34b5df71d3dd1ada101dca3ee1a046ab33977" + }, + "gates/mixed-list-754a-1.result.json": { + "bytes": 1694, + "sha256": "35c109d3f9e05aaae7933f0af955703a8affad45158d3e7de6bd23c35ea76cd8" + }, + "gates/mixed-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-list-a578-1.log": { + "bytes": 20665, + "sha256": "7ad105fc530f3f13d5b108f8856d431cf5833209b9dc410428525368aa0fd063" + }, + "gates/mixed-list-a578-1.result.json": { + "bytes": 22476, + "sha256": "adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100" + }, + "gates/mixed-list-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-list-eeb1-1.log": { + "bytes": 20665, + "sha256": "3e07d0c5a843b9a2bc74d4ce8f36976c49ea57b6a14d5a4dc1f334a7e6016bd5" + }, + "gates/mixed-list-eeb1-1.result.json": { + "bytes": 22477, + "sha256": "d0f7afa28c1a7b976a1729c59c2f6c9c7a04a674658a39e04de09106698005f5" + }, + "helpers/analysis-mixed-syntax-clippy-fix-proof-20260923.py": { + "bytes": 3937, + "sha256": "95c006b1a84f42400fdad439958c3852aa54dc69ec85aedd29d79cc8c089c803" + }, + "helpers/formatting-proof.py": { + "bytes": 5518, + "sha256": "731d5c8c9993c81b789edc3c8ab9aa03e141b4334ace8a64c5d101e8315e03b4" + }, + "notes/analysis-mixed-direct-evidence-review-20260923.md": { + "bytes": 6608, + "sha256": "02e0713681e3a196d91b9cfd170bcd5a54d0e78b7948e30439baf9d051c29d6c" + }, + "notes/analysis-mixed-direct-gate-path-check-20260923.json": { + "bytes": 22970, + "sha256": "e3455ca847df1fd25e3c8dd4040e647155a917905f38b8b320f4fdfa17ff3d2d" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "bytes": 18874, + "sha256": "8ad3005d960667267a10e9a73b92f8e151dd4e451cbbaed215bbad74e79677e0" + }, + "notes/analysis-mixed-parser-proposal-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-syntax-clippy-fix-handoff-20260923.md": { + "bytes": 2848, + "sha256": "903676efac11de735cd04b91965ec44bb50dc6fa464192cbb39fa53f4276caf2" + }, + "notes/analysis-mixed-syntax-clippy-fix-proof-20260923.json": { + "bytes": 2016, + "sha256": "cd91d010d66fda68c247bf64ce3861aa2d85dc9b3a535da80d7743241aad4a9c" + }, + "notes/analysis-mixed-syntax-clock-disposition-20260923.md": { + "bytes": 1636, + "sha256": "f560270339411c6265127095bd83115143c2f97eb257a20d5f0c64193345b3e2" + }, + "notes/analysis-mixed-syntax-evidence-tools-independent-review-20260923.md": { + "bytes": 13228, + "sha256": "3f7f6dc2621b111c885550f8d2e519f3668ec8a0f48f917d69419485a3638de4" + }, + "notes/analysis-mixed-syntax-followup-754a9b4-manifest-20260923.json": { + "bytes": 688, + "sha256": "87079e866306b6418b4a69052286b96f7a3f92d5567c12ebf86fdba5f5cfd607" + }, + "notes/analysis-mixed-syntax-followup-handoff-20260923.md": { + "bytes": 3739, + "sha256": "cbde5e49a3cc7f3fa6a138680dd4a8efba77038b9489358ce98b0f1beb930218" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.json": { + "bytes": 2864, + "sha256": "52775e006cbc27df7c6d865b8ef0bf1557d9347d52476b40a62f09eaa732473c" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.md": { + "bytes": 2316, + "sha256": "430e4350c506944313825fbaff289260c08134f3ba6c7b88323e5071fa7ccbf1" + }, + "notes/analysis-mixed-syntax-independent-review-20260923.md": { + "bytes": 15780, + "sha256": "057cf307bf914832565fb92a289ac102fdd68c666201af736d7c37557984e0d8" + }, + "notes/analysis-mixed-syntax-source-0fc0826-manifest-20260923.json": { + "bytes": 3100, + "sha256": "788b0ea775dbbe4772358a488500885132bd41038ac8f278542ed45d0741e24d" + }, + "notes/analysis-mixed-syntax-source-handoff-20260923.md": { + "bytes": 11880, + "sha256": "afa06df13a87a2be290623bf33d4643c9ec70a2e38886fb1b971e770db3239fe" + }, + "prior/list-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "prior/list-10d7f33.log": { + "bytes": 18213, + "sha256": "76b9e9ebc0c0d3d8794020dd222cfc94f7dd8cda9deedd0e74e0cd0c3aa5900c" + }, + "prior/list-10d7f33.result.json": { + "bytes": 19385, + "sha256": "4baf130b68e2c044ad3e43d6e8a2e13c611008192a271d3dfa75ee5a7c1503c1" + } + }, + "git_origins": { + "baseline/full-f1d79df.log": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.log" + }, + "baseline/full-f1d79df.result.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.result.json" + }, + "baseline/full-f1d79df.inputs.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.inputs.json" + }, + "baseline/full-f1d79df.comparison.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.comparison.json" + }, + "baseline/full-f1d79df-comparison.py": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df-comparison.py" + }, + "prior/list-10d7f33.log": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.log" + }, + "prior/list-10d7f33.result.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.result.json" + }, + "prior/list-10d7f33.inputs.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.inputs.json" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-proposal-20260923.md" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-review-20260923.md" + } + }, + "verified_summary": { + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + }, + "strict_core_all_targets": "PASS", + "strict_exit": 0, + "fmt_exit": 1, + "full_invocation": "direct-executable", + "listing_artifacts": [ + { + "invocation": "direct-executable", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + } + ] + }, + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2" + } + ] + } + ], + "intermediate_checkpoint": { + "source": "eeb1069cfcfc51e4cf73cff850adc2fabc8aae77", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + }, + "strict_core_all_targets": "FAILED", + "strict_exit": 101, + "fmt_exit": 1, + "full_invocation": "cargo", + "listing_artifacts": [ + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + } + ] + } + ] + }, + "formatting_disposition": "Formatting FAILED at eeb1069; six affected blobs byte-identical at a578ac9, eeb1069, 10d7f33 and f1d79df; final fmt also FAILED exit 1 with identical nine blocks", + "unchanged_inputs_from_intermediate": 540, + "clock_discontinuity": "Raw final listing UTC end precedes start after host clock moved backward; exact immutable receipt retained; elapsed_monotonic_seconds=768.4220000000059 is the duration evidence. No wall-clock duration inferred.", + "limits": "Receipt/Git consistency only; no archived code or binaries executed. No public source8, semantic/compositor or full-suite PASS claim." + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/initial-driver.py b/harness/experiments/analysis-mixed-syntax-20260923/controls/initial-driver.py new file mode 100644 index 00000000..675281e0 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/initial-driver.py @@ -0,0 +1,211 @@ +"""Real-package verifier controls. Never execute a subject or archived helper.""" +from pathlib import Path +import argparse +import copy +import hashlib +import json +import re +import subprocess +import sys +import time +import warnings +import zipfile + +VERIFIER = '2902f0c5e4922b942b3e8b9d0b288810ef6ad8dc71444d28ef8bfa756c4c5338' +SOURCE = 'a578ac98a06772a60bec00ae287e65650680d119' +FULL = 'gates/mixed-direct-full-a578-1' +ORIGINAL = 'gates/mixed-list-a578-1.result.json' + + +def pin(path): + raw = path.read_bytes() + return {'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()} + + +def encode(value): + return (json.dumps(value, indent=2, ensure_ascii=False) + '\n').encode() + + +def exclusive_json(path, value): + with path.open('xb') as stream: + stream.write(encode(value)) + + +def main(): + if sys.flags.optimize: + raise SystemExit('Optimized Python is not valid for these assertion-based controls') + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--repo', type=Path, required=True) + parser.add_argument('--package', type=Path, required=True) + parser.add_argument('--verifier', type=Path, required=True) + parser.add_argument('--out', type=Path, required=True) + args = parser.parse_args() + repo, package, verifier, out = [p.resolve() for p in (args.repo, args.package, args.verifier, args.out)] + assert pin(verifier)['sha256'] == VERIFIER, 'Use the separately reviewed external verifier' + assert verifier.parent != package and not verifier.is_relative_to(out) + out.mkdir(exist_ok=False) + original_pins = {str(p): pin(p) for p in package.iterdir() if p.is_file()} + published = repo / 'harness/experiments/analysis-mixed-syntax-20260923' + original_pins.update({str(p): pin(p) for p in published.iterdir() if p.is_file()}) + gates = repo / '.local/analysis-mixed-syntax-gates-20260923' + original_pins.update({str(p): pin(p) for p in gates.rglob('*') if p.is_file()}) + verifier_pin = pin(verifier) + original_pins[str(verifier)] = verifier_pin + with (out / 'control-script.py').open('xb') as stream: + stream.write(Path(__file__).read_bytes()) + with (out / 'reviewed-verifier.py').open('xb') as stream: + stream.write(verifier.read_bytes()) + with zipfile.ZipFile(package / 'evidence.zip') as archive: + assert len(archive.namelist()) == len(set(archive.namelist())) + original_payload = {name: archive.read(name) for name in archive.namelist()} + original_manifest = json.loads((package / 'manifest.json').read_bytes()) + new_test = next(n for n in original_manifest['verified_summary']['new_42_passes'] + if n.startswith('language::analysis_source::mixed::')) + cases = [ + ('unchanged-real-package', None), + ('missing-new-outcome', 'Missing/extra runtime outcomes'), + ('changed-new-outcome', 'Runtime status mismatch'), + ('changed-known-failure-cause', 'Failure cause changed'), + ('forged-current-git-input', 'Git input bytes mismatch'), + ('duplicate-zip-member', 'Duplicate ZIP members'), + ('missing-intermediate-strict', 'Required checkpoint gates missing/ambiguous'), + ('changed-final-formatting-location', 'Final formatting failure scope changed'), + ('changed-clock-receipt', 'Direct historical binding differs'), + ('aliased-exact-clock-receipt', 'Gate not closed'), + ('direct-extra-filter-argv', 'Unexpected direct executable argv'), + ('direct-old-before-artifact', 'Direct artifact changed or differs'), + ('direct-missing-bound-postcheck', 'Direct bound-file postcheck coverage differs'), + ('direct-fake-cargo-line', 'Direct output contains a fabricated Cargo invocation line'), + ('direct-recorded-launch-failure', 'Direct invocation did not close cleanly'), + ('missing-direct-listing', 'gates/mixed-direct-list-a578-1.result.json'), + ] + results = [] + for label, refusal in cases: + case = out / label + case.mkdir() + payload, manifest = dict(original_payload), copy.deepcopy(original_manifest) + duplicate = None + detail = '' + + def change_receipt(name, update): + value = json.loads(payload[name]) + update(value) + payload[name] = encode(value) + + def change_log(stem, transform): + name = stem + '.log' + payload[name] = transform(payload[name]) + change_receipt(stem + '.result.json', lambda r: r.update(log_sha256=hashlib.sha256(payload[name]).hexdigest())) + + def remove_gate(stem): + for suffix in ('.result.json', '.inputs.json', '.log'): + del payload[stem + suffix] + referenced = set() + for name, raw in payload.items(): + if name.startswith('gates/') and name.endswith('.result.json'): + r = json.loads(raw) + referenced.add('gates/' + r['launcher_copy'].replace('\\', '/')) + for key in ('bound_original_listing', 'bound_focused', 'bound_listing'): + if isinstance(r.get(key), dict): + referenced.add('gates/' + r[key]['launcher_copy'].replace('\\', '/')) + for name in list(payload): + if name.startswith('gates/launchers/') and name not in referenced: + del payload[name] + + if label in ('missing-new-outcome', 'changed-new-outcome'): + pattern = rb'(?m)^test ' + re.escape(new_test.encode()) + rb' \.\.\. ok\r?\n' + assert len(re.findall(pattern, payload[FULL + '.log'])) == 1 + replacement = b'' if label == 'missing-new-outcome' else ('test ' + new_test + ' ... FAILED\n').encode() + change_log(FULL, lambda raw: re.sub(pattern, replacement, raw, count=1)) + detail = new_test + elif label == 'changed-known-failure-cause': + old = b'Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.' + assert payload[FULL + '.log'].count(old) == 16 + change_log(FULL, lambda raw: raw.replace(old, b'Different semantic failure for this control.', 1)) + elif label == 'forged-current-git-input': + inputs = [] + for name, raw in list(payload.items()): + if name.startswith('gates/') and name.endswith('.inputs.json') and json.loads(raw)['source'] == SOURCE: + value = json.loads(raw) + row = next(r for r in value['inputs'] if r['path'] == 'crates/oa-core/src/language.rs') + row['sha256'] = '0' * 64 + payload[name] = encode(value) + inputs.append(name) + for name in inputs: + digest = hashlib.sha256(payload[name]).hexdigest() + change_receipt(name[:-len('.inputs.json')] + '.result.json', lambda r, d=digest: r.update(inputs_sha256=d)) + detail = 'All ' + str(len(inputs)) + ' final-source input copies and their receipt hashes changed; immutable Git bytes unchanged.' + elif label == 'duplicate-zip-member': + duplicate = FULL + '.log' + elif label == 'missing-intermediate-strict': + remove_gate('gates/mixed-clippy-eeb1-1') + elif label == 'changed-final-formatting-location': + stem = 'gates/mixed-fmt-a578-1' + assert re.search(rb'(?m)^Diff in [^\r\n]+:\d+:\r?$', payload[stem + '.log']) + change_log(stem, lambda raw: re.sub(rb'(?m)^(Diff in [^\r\n]+:)(\d+)(:\r?)$', + lambda m: m[1] + str(int(m[2]) + 1).encode() + m[3], raw, count=1)) + elif label == 'changed-clock-receipt': + payload[ORIGINAL] += b'\n' # Same JSON values, different exact receipt bytes. + elif label == 'aliased-exact-clock-receipt': + payload['gates/mixed-list-a578-clock-alias.result.json'] = payload[ORIGINAL] + detail = 'Keep original for direct bindings; identical reversed-clock receipt under a second name must not inherit exception.' + elif label == 'direct-extra-filter-argv': + change_receipt(FULL + '.result.json', lambda r: r['command'].append('analysis_source')) + elif label == 'direct-old-before-artifact': + change_receipt(FULL + '.result.json', lambda r: r['artifact_before'].update( + sha256='ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2')) + elif label == 'direct-missing-bound-postcheck': + change_receipt(FULL + '.result.json', lambda r: r['bound_files_after'].pop()) + elif label == 'direct-fake-cargo-line': + path = json.loads(payload[FULL + '.result.json'])['artifacts'][0]['path'] + change_log(FULL, lambda raw: ('Running unittests src/lib.rs (' + path + ')\n').encode() + raw) + elif label == 'direct-recorded-launch-failure': + change_receipt(FULL + '.result.json', lambda r: r.update(launch_error='control launch failure', + verification_failures=['Executable launch failed'])) + elif label == 'missing-direct-listing': + remove_gate('gates/mixed-direct-list-a578-1') + + if refusal is None: + (case / 'evidence.zip').write_bytes((package / 'evidence.zip').read_bytes()) + (case / 'manifest.json').write_bytes((package / 'manifest.json').read_bytes()) + else: + manifest['payloads'] = {name: {'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()} + for name, raw in sorted(payload.items())} + with zipfile.ZipFile(case / 'evidence.zip', 'x', compression=zipfile.ZIP_DEFLATED) as archive: + for name, raw in sorted(payload.items()): + archive.writestr(name, raw) + if duplicate: + with warnings.catch_warnings(): + warnings.simplefilter('ignore', UserWarning) + archive.writestr(duplicate, payload[duplicate]) + exclusive_json(case / 'manifest.json', manifest) + command = [sys.executable, '-B', str(verifier), '--repo', str(repo), '--package', str(case)] + started = time.monotonic() + with (case / 'stdout.log').open('xb') as stdout, (case / 'stderr.log').open('xb') as stderr: + process = subprocess.run(command, cwd=repo, stdout=stdout, stderr=stderr, timeout=180, check=False) + elapsed = time.monotonic() - started + output = (case / 'stdout.log').read_text() + (case / 'stderr.log').read_text() + accepted = process.returncode == 0 + matched = (accepted if refusal is None else not accepted and refusal in output and 'REFUSED:' in output) + result = {'case': label, 'expected_accept': refusal is None, 'observed_accept': accepted, + 'exit': process.returncode, 'elapsed_monotonic_seconds': elapsed, + 'expected_refusal_fragment': refusal, 'actual_refusal': output.strip() if not accepted else None, + 'matched': matched, 'detail': detail, 'command': command, + 'files': {p.name: pin(p) for p in case.iterdir() if p.is_file()}} + exclusive_json(case / 'control-result.json', result) + results.append(result) + print(label + ': ' + ('EXPECTED ACCEPT' if accepted else output.strip()), flush=True) + assert matched, 'Unexpected verifier outcome: ' + label + assert all(pin(Path(path)) == expected for path, expected in original_pins.items()), 'Original evidence changed' + exclusive_json(out / 'controls.json', { + 'status': 'PASS_REAL_ARCHIVE_POSITIVE_AND_NEGATIVE_CONTROLS', + 'scope': 'Receipt/Git verifier controls only; no subject, compiler or archived helper executed.', + 'original_package': str(package), 'external_verifier': {'path': str(verifier), **verifier_pin}, + 'control_script': pin(Path(__file__)), 'python': {'path': sys.executable, **pin(Path(sys.executable))}, + 'original_evidence_unchanged': original_pins, 'cases': results, + }) + print('PASS ' + str(len(results)) + '/' + str(len(cases)) + ' actual-package controls; original evidence unchanged.', flush=True) + + +if __name__ == '__main__': + main() diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/interrupted-known-failure-cause/manifest.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/interrupted-known-failure-cause/manifest.json new file mode 100644 index 00000000..3c89ed7f --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/interrupted-known-failure-cause/manifest.json @@ -0,0 +1,561 @@ +{ + "schema": 1, + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "payloads": { + "baseline/full-f1d79df-comparison.py": { + "bytes": 3499, + "sha256": "e88c0c630b05d0568b29301efdfb0c6e74135e4b04e27a1f71f27954b8809921" + }, + "baseline/full-f1d79df.comparison.json": { + "bytes": 3864, + "sha256": "5497ce589c3e8eea6158055af77da598aab1a7c2a92af30c7264bfd311ec89f4" + }, + "baseline/full-f1d79df.inputs.json": { + "bytes": 99490, + "sha256": "6a4c7e3c8d1e6edb7ad306c19abd05009ee410312eb34b68ec30d6408387967b" + }, + "baseline/full-f1d79df.log": { + "bytes": 28480, + "sha256": "29a08cbfc02a83922f90c00f0b48f1aa403f93261457e65d29e3b9f46389dce9" + }, + "baseline/full-f1d79df.result.json": { + "bytes": 1234, + "sha256": "a1465abd64e2b3a29388f5da1912dcb87bfe9aed618c122bad557ff21c52c95b" + }, + "gates/launchers/3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a.py": { + "bytes": 16167, + "sha256": "3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a" + }, + "gates/launchers/471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de.py": { + "bytes": 5319, + "sha256": "471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de" + }, + "gates/launchers/83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364.py": { + "bytes": 5264, + "sha256": "83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364" + }, + "gates/mixed-clippy-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-clippy-a578-1.log": { + "bytes": 166, + "sha256": "36f453dc344f791cfc5bdfa532df3520008887de673b01c76edac9233e18e913" + }, + "gates/mixed-clippy-a578-1.result.json": { + "bytes": 1717, + "sha256": "c6f408b0963d8da7514ea87219e5a0b991c04d3ea9f9fe25f7b45752cb57e7a5" + }, + "gates/mixed-clippy-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-clippy-eeb1-1.log": { + "bytes": 1996, + "sha256": "ab9c0fc8baf8c56230b448f18b1de8dbf2d8e7c85a1f118aea369dea129f3f17" + }, + "gates/mixed-clippy-eeb1-1.result.json": { + "bytes": 1720, + "sha256": "886eb86c99a261af00207864ba4717735910a092f3ec3352ff455a960de38881" + }, + "gates/mixed-direct-full-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-full-a578-1.log": { + "bytes": 33316, + "sha256": "0b0f113cb014254c696608f9fcd8e4cc389aa8922e5f746f098d435144c3fb7c" + }, + "gates/mixed-direct-full-a578-1.result.json": { + "bytes": 52372, + "sha256": "21041df936df95f1b0ef3cc5fc6fd3a9581994981edc7cebd14196ba15ca8570" + }, + "gates/mixed-direct-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-list-a578-1.log": { + "bytes": 20334, + "sha256": "37551f95fc70a422e394712690bf19b69ad769890a9a07eac73bf9e0fa843242" + }, + "gates/mixed-direct-list-a578-1.result.json": { + "bytes": 49871, + "sha256": "22db9a6a34d1e0800a71ec1ae88e1f18467d1c50a10a9ad305182d29cc11d904" + }, + "gates/mixed-fmt-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-fmt-a578-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-a578-1.result.json": { + "bytes": 1631, + "sha256": "2648337aa67f6978b77e05479321a35ad782ebdad71b322efc62bb46e7180fe0" + }, + "gates/mixed-fmt-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-fmt-eeb1-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-eeb1-1.result.json": { + "bytes": 1631, + "sha256": "0ad50da9ef19f4129f593ffe37173c930b0b151cdd6ea00b1308aec12c973a5b" + }, + "gates/mixed-focused-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-focused-a578-1.log": { + "bytes": 2911, + "sha256": "4acfc2bc654210441ab07b45fcfdb9a8496667f768962c1c51a5a06f73011c60" + }, + "gates/mixed-focused-a578-1.result.json": { + "bytes": 2061, + "sha256": "fa586319f22c7eb1bd75e9d9da6784cff8cc897b6b93205c84f6591fa9c76b85" + }, + "gates/mixed-focused-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-focused-eeb1-1.log": { + "bytes": 2806, + "sha256": "1b7d6df5aaa0b0d9828cbbac9a77cb8ace0d8e2e3a8e44d58dcc5b254348628a" + }, + "gates/mixed-focused-eeb1-1.result.json": { + "bytes": 2057, + "sha256": "2b55c0b63e9bb9f3c8a45b934833a799e811b66a7c1297d40ca1b6edb54b4d75" + }, + "gates/mixed-full-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-full-eeb1-1.log": { + "bytes": 33611, + "sha256": "ae9e4f3187d053d3ded9ec2475fc7dd469d5df976261fdc30479070e08cbc2b6" + }, + "gates/mixed-full-eeb1-1.result.json": { + "bytes": 1981, + "sha256": "1f0b3e64142d8a774ad5e59c1d8e8f28c1a94717749b851d22044a41c2e01830" + }, + "gates/mixed-list-754a-1.inputs.json": { + "bytes": 100820, + "sha256": "020a1ef53d3f30699b66358cb8688add682a33960b3e12721f50af5a9f57a3cb" + }, + "gates/mixed-list-754a-1.log": { + "bytes": 473, + "sha256": "ff09dcad13a097b29fe80455f9f34b5df71d3dd1ada101dca3ee1a046ab33977" + }, + "gates/mixed-list-754a-1.result.json": { + "bytes": 1694, + "sha256": "35c109d3f9e05aaae7933f0af955703a8affad45158d3e7de6bd23c35ea76cd8" + }, + "gates/mixed-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-list-a578-1.log": { + "bytes": 20665, + "sha256": "7ad105fc530f3f13d5b108f8856d431cf5833209b9dc410428525368aa0fd063" + }, + "gates/mixed-list-a578-1.result.json": { + "bytes": 22476, + "sha256": "adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100" + }, + "gates/mixed-list-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-list-eeb1-1.log": { + "bytes": 20665, + "sha256": "3e07d0c5a843b9a2bc74d4ce8f36976c49ea57b6a14d5a4dc1f334a7e6016bd5" + }, + "gates/mixed-list-eeb1-1.result.json": { + "bytes": 22477, + "sha256": "d0f7afa28c1a7b976a1729c59c2f6c9c7a04a674658a39e04de09106698005f5" + }, + "helpers/analysis-mixed-syntax-clippy-fix-proof-20260923.py": { + "bytes": 3937, + "sha256": "95c006b1a84f42400fdad439958c3852aa54dc69ec85aedd29d79cc8c089c803" + }, + "helpers/formatting-proof.py": { + "bytes": 5518, + "sha256": "731d5c8c9993c81b789edc3c8ab9aa03e141b4334ace8a64c5d101e8315e03b4" + }, + "notes/analysis-mixed-direct-evidence-review-20260923.md": { + "bytes": 6608, + "sha256": "02e0713681e3a196d91b9cfd170bcd5a54d0e78b7948e30439baf9d051c29d6c" + }, + "notes/analysis-mixed-direct-gate-path-check-20260923.json": { + "bytes": 22970, + "sha256": "e3455ca847df1fd25e3c8dd4040e647155a917905f38b8b320f4fdfa17ff3d2d" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "bytes": 18874, + "sha256": "8ad3005d960667267a10e9a73b92f8e151dd4e451cbbaed215bbad74e79677e0" + }, + "notes/analysis-mixed-parser-proposal-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-syntax-clippy-fix-handoff-20260923.md": { + "bytes": 2848, + "sha256": "903676efac11de735cd04b91965ec44bb50dc6fa464192cbb39fa53f4276caf2" + }, + "notes/analysis-mixed-syntax-clippy-fix-proof-20260923.json": { + "bytes": 2016, + "sha256": "cd91d010d66fda68c247bf64ce3861aa2d85dc9b3a535da80d7743241aad4a9c" + }, + "notes/analysis-mixed-syntax-clock-disposition-20260923.md": { + "bytes": 1636, + "sha256": "f560270339411c6265127095bd83115143c2f97eb257a20d5f0c64193345b3e2" + }, + "notes/analysis-mixed-syntax-evidence-tools-independent-review-20260923.md": { + "bytes": 13228, + "sha256": "3f7f6dc2621b111c885550f8d2e519f3668ec8a0f48f917d69419485a3638de4" + }, + "notes/analysis-mixed-syntax-followup-754a9b4-manifest-20260923.json": { + "bytes": 688, + "sha256": "87079e866306b6418b4a69052286b96f7a3f92d5567c12ebf86fdba5f5cfd607" + }, + "notes/analysis-mixed-syntax-followup-handoff-20260923.md": { + "bytes": 3739, + "sha256": "cbde5e49a3cc7f3fa6a138680dd4a8efba77038b9489358ce98b0f1beb930218" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.json": { + "bytes": 2864, + "sha256": "52775e006cbc27df7c6d865b8ef0bf1557d9347d52476b40a62f09eaa732473c" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.md": { + "bytes": 2316, + "sha256": "430e4350c506944313825fbaff289260c08134f3ba6c7b88323e5071fa7ccbf1" + }, + "notes/analysis-mixed-syntax-independent-review-20260923.md": { + "bytes": 15780, + "sha256": "057cf307bf914832565fb92a289ac102fdd68c666201af736d7c37557984e0d8" + }, + "notes/analysis-mixed-syntax-source-0fc0826-manifest-20260923.json": { + "bytes": 3100, + "sha256": "788b0ea775dbbe4772358a488500885132bd41038ac8f278542ed45d0741e24d" + }, + "notes/analysis-mixed-syntax-source-handoff-20260923.md": { + "bytes": 11880, + "sha256": "afa06df13a87a2be290623bf33d4643c9ec70a2e38886fb1b971e770db3239fe" + }, + "prior/list-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "prior/list-10d7f33.log": { + "bytes": 18213, + "sha256": "76b9e9ebc0c0d3d8794020dd222cfc94f7dd8cda9deedd0e74e0cd0c3aa5900c" + }, + "prior/list-10d7f33.result.json": { + "bytes": 19385, + "sha256": "4baf130b68e2c044ad3e43d6e8a2e13c611008192a271d3dfa75ee5a7c1503c1" + } + }, + "git_origins": { + "baseline/full-f1d79df.log": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.log" + }, + "baseline/full-f1d79df.result.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.result.json" + }, + "baseline/full-f1d79df.inputs.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.inputs.json" + }, + "baseline/full-f1d79df.comparison.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.comparison.json" + }, + "baseline/full-f1d79df-comparison.py": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df-comparison.py" + }, + "prior/list-10d7f33.log": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.log" + }, + "prior/list-10d7f33.result.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.result.json" + }, + "prior/list-10d7f33.inputs.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.inputs.json" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-proposal-20260923.md" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-review-20260923.md" + } + }, + "verified_summary": { + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + }, + "strict_core_all_targets": "PASS", + "strict_exit": 0, + "fmt_exit": 1, + "full_invocation": "direct-executable", + "listing_artifacts": [ + { + "invocation": "direct-executable", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + } + ] + }, + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2" + } + ] + } + ], + "intermediate_checkpoint": { + "source": "eeb1069cfcfc51e4cf73cff850adc2fabc8aae77", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + }, + "strict_core_all_targets": "FAILED", + "strict_exit": 101, + "fmt_exit": 1, + "full_invocation": "cargo", + "listing_artifacts": [ + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + } + ] + } + ] + }, + "formatting_disposition": "Formatting FAILED at eeb1069; six affected blobs byte-identical at a578ac9, eeb1069, 10d7f33 and f1d79df; final fmt also FAILED exit 1 with identical nine blocks", + "unchanged_inputs_from_intermediate": 540, + "clock_discontinuity": "Raw final listing UTC end precedes start after host clock moved backward; exact immutable receipt retained; elapsed_monotonic_seconds=768.4220000000059 is the duration evidence. No wall-clock duration inferred.", + "limits": "Receipt/Git consistency only; no archived code or binaries executed. No public source8, semantic/compositor or full-suite PASS claim." + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/successor-aggregate.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/successor-aggregate.json new file mode 100644 index 00000000..a12ac9f4 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/successor-aggregate.json @@ -0,0 +1,713 @@ +{ + "status": "PASS_REAL_ARCHIVE_POSITIVE_AND_NEGATIVE_CONTROLS", + "scope": "Receipt/Git verifier controls only; no subject, compiler or archived helper executed.", + "original_package": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-20260923", + "external_verifier": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "bytes": 29506, + "sha256": "2902f0c5e4922b942b3e8b9d0b288810ef6ad8dc71444d28ef8bfa756c4c5338" + }, + "control_script": { + "bytes": 12296, + "sha256": "c68437c5aa807c305215c0bae31c7ec77e216e266a7f48972572bdc6fda518e0" + }, + "python": { + "path": "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "bytes": 107312, + "sha256": "372c2eae555b344520bf147be0096e009069aeca4e7f78d6aecea6d53158056a" + }, + "original_evidence_unchanged": { + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-20260923\\evidence.zip": { + "bytes": 567820, + "sha256": "f39aab1639ce14e4fe61744cf8881b0883ecbe131fefd6bc65c18edd8c81215d" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-20260923\\manifest.json": { + "bytes": 35826, + "sha256": "20b093860efe3f9ce895f42bd7d992b416e7b06032c7a4f0d308e63d628b0474" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-20260923\\README.md": { + "bytes": 4763, + "sha256": "3baf73928d33bcea43444175cffd14f3113caffb35af7f3a625339a2bea8d2f6" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-20260923\\verify.py": { + "bytes": 29506, + "sha256": "2902f0c5e4922b942b3e8b9d0b288810ef6ad8dc71444d28ef8bfa756c4c5338" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\harness\\experiments\\analysis-mixed-syntax-20260923\\evidence.zip": { + "bytes": 567820, + "sha256": "f39aab1639ce14e4fe61744cf8881b0883ecbe131fefd6bc65c18edd8c81215d" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\harness\\experiments\\analysis-mixed-syntax-20260923\\manifest.json": { + "bytes": 35826, + "sha256": "20b093860efe3f9ce895f42bd7d992b416e7b06032c7a4f0d308e63d628b0474" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\harness\\experiments\\analysis-mixed-syntax-20260923\\parent-verification.log": { + "bytes": 22220, + "sha256": "cd0f310a2433c38d5c3992aa981c7565636fabab27183e7d89393450e2739aa0" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\harness\\experiments\\analysis-mixed-syntax-20260923\\README.md": { + "bytes": 4763, + "sha256": "3baf73928d33bcea43444175cffd14f3113caffb35af7f3a625339a2bea8d2f6" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\harness\\experiments\\analysis-mixed-syntax-20260923\\verify.py": { + "bytes": 29506, + "sha256": "2902f0c5e4922b942b3e8b9d0b288810ef6ad8dc71444d28ef8bfa756c4c5338" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-clippy-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-clippy-a578-1.log": { + "bytes": 166, + "sha256": "36f453dc344f791cfc5bdfa532df3520008887de673b01c76edac9233e18e913" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-clippy-a578-1.result.json": { + "bytes": 1717, + "sha256": "c6f408b0963d8da7514ea87219e5a0b991c04d3ea9f9fe25f7b45752cb57e7a5" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-clippy-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-clippy-eeb1-1.log": { + "bytes": 1996, + "sha256": "ab9c0fc8baf8c56230b448f18b1de8dbf2d8e7c85a1f118aea369dea129f3f17" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-clippy-eeb1-1.result.json": { + "bytes": 1720, + "sha256": "886eb86c99a261af00207864ba4717735910a092f3ec3352ff455a960de38881" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-direct-full-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-direct-full-a578-1.log": { + "bytes": 33333, + "sha256": "3af2546378fd0cdd634dd63791d8b3475563c49c19d28aaea1e3a35a2474fbb6" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-direct-full-a578-1.result.json": { + "bytes": 52372, + "sha256": "8ba1ef2dca98440b57280ebf0282257ace79a0f0ccfde23f7ad8e7e2c255a0ec" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-direct-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-direct-list-a578-1.log": { + "bytes": 20334, + "sha256": "37551f95fc70a422e394712690bf19b69ad769890a9a07eac73bf9e0fa843242" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-direct-list-a578-1.result.json": { + "bytes": 49871, + "sha256": "22db9a6a34d1e0800a71ec1ae88e1f18467d1c50a10a9ad305182d29cc11d904" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-fmt-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-fmt-a578-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-fmt-a578-1.result.json": { + "bytes": 1631, + "sha256": "2648337aa67f6978b77e05479321a35ad782ebdad71b322efc62bb46e7180fe0" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-fmt-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-fmt-eeb1-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-fmt-eeb1-1.result.json": { + "bytes": 1631, + "sha256": "0ad50da9ef19f4129f593ffe37173c930b0b151cdd6ea00b1308aec12c973a5b" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-focused-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-focused-a578-1.log": { + "bytes": 2911, + "sha256": "4acfc2bc654210441ab07b45fcfdb9a8496667f768962c1c51a5a06f73011c60" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-focused-a578-1.result.json": { + "bytes": 2061, + "sha256": "fa586319f22c7eb1bd75e9d9da6784cff8cc897b6b93205c84f6591fa9c76b85" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-focused-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-focused-eeb1-1.log": { + "bytes": 2806, + "sha256": "1b7d6df5aaa0b0d9828cbbac9a77cb8ace0d8e2e3a8e44d58dcc5b254348628a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-focused-eeb1-1.result.json": { + "bytes": 2057, + "sha256": "2b55c0b63e9bb9f3c8a45b934833a799e811b66a7c1297d40ca1b6edb54b4d75" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-full-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-full-eeb1-1.log": { + "bytes": 33611, + "sha256": "ae9e4f3187d053d3ded9ec2475fc7dd469d5df976261fdc30479070e08cbc2b6" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-full-eeb1-1.result.json": { + "bytes": 1981, + "sha256": "1f0b3e64142d8a774ad5e59c1d8e8f28c1a94717749b851d22044a41c2e01830" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-list-754a-1.inputs.json": { + "bytes": 100820, + "sha256": "020a1ef53d3f30699b66358cb8688add682a33960b3e12721f50af5a9f57a3cb" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-list-754a-1.log": { + "bytes": 473, + "sha256": "ff09dcad13a097b29fe80455f9f34b5df71d3dd1ada101dca3ee1a046ab33977" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-list-754a-1.result.json": { + "bytes": 1694, + "sha256": "35c109d3f9e05aaae7933f0af955703a8affad45158d3e7de6bd23c35ea76cd8" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-list-a578-1.log": { + "bytes": 20665, + "sha256": "7ad105fc530f3f13d5b108f8856d431cf5833209b9dc410428525368aa0fd063" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-list-a578-1.result.json": { + "bytes": 22476, + "sha256": "adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-list-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-list-eeb1-1.log": { + "bytes": 20665, + "sha256": "3e07d0c5a843b9a2bc74d4ce8f36976c49ea57b6a14d5a4dc1f334a7e6016bd5" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\mixed-list-eeb1-1.result.json": { + "bytes": 22477, + "sha256": "d0f7afa28c1a7b976a1729c59c2f6c9c7a04a674658a39e04de09106698005f5" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\launchers\\3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a.py": { + "bytes": 16167, + "sha256": "3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\launchers\\471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de.py": { + "bytes": 5319, + "sha256": "471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-gates-20260923\\launchers\\83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364.py": { + "bytes": 5264, + "sha256": "83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364" + }, + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py": { + "bytes": 29506, + "sha256": "2902f0c5e4922b942b3e8b9d0b288810ef6ad8dc71444d28ef8bfa756c4c5338" + } + }, + "cases": [ + { + "case": "changed-known-failure-cause", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 9.406000000002678, + "expected_refusal_fragment": "Failure cause changed", + "actual_refusal": "REFUSED: Failure cause changed: language::nesting_tests::checked_in_example_supports_cross_file_reparent_without_changing_allocations", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\changed-known-failure-cause" + ], + "files": { + "evidence.zip": { + "bytes": 567841, + "sha256": "ed6309c44613a716d52d59776256768db0b329b353ee331aed85b0119b7d9aab" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "0e432532792cd9b576915f0cd8f05af79182b143eb3c53763b1997614cdaf505" + }, + "stderr.log": { + "bytes": 135, + "sha256": "63a2b5759fcec79f4af4eae7c2b8df99fe52636370eaeb762e9c3351a404a1c6" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } + }, + { + "case": "forged-current-git-input", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 7.26600000000326, + "expected_refusal_fragment": "Git input bytes mismatch", + "actual_refusal": "REFUSED: Git input bytes mismatch: crates/oa-core/src/language.rs", + "matched": true, + "detail": "All 6 final-source input copies and their receipt hashes changed; immutable Git bytes unchanged.", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\forged-current-git-input" + ], + "files": { + "evidence.zip": { + "bytes": 567706, + "sha256": "20a68ff7e519354fcd22cec685085a22afe15f16cf0665a3d2508c15f0a792e3" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "0a5c78a496346daf20007e7dc4a9f423dac181d244b9e2492b4a74a6b236634d" + }, + "stderr.log": { + "bytes": 67, + "sha256": "dabd5d7e9b46b8cb4eee58f00df968a1d2c38693dcddf0a10e3475e2a9ed1895" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } + }, + { + "case": "duplicate-zip-member", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 0.7649999999994179, + "expected_refusal_fragment": "Duplicate ZIP members", + "actual_refusal": "REFUSED: Duplicate ZIP members", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\duplicate-zip-member" + ], + "files": { + "evidence.zip": { + "bytes": 574453, + "sha256": "bec3d8db900e6ea9f0dc35cbb8b99c58b21915ac838c7eef89a28871663b72f8" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "857879e249d730282c1269b373f16a9f708dc457a475c98088384749e568219a" + }, + "stderr.log": { + "bytes": 32, + "sha256": "3d2d7e221ca2260dffaec5e5c15488e4317d59339bbf88511a79f58c03a36607" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } + }, + { + "case": "missing-intermediate-strict", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 10.171999999998661, + "expected_refusal_fragment": "Required checkpoint gates missing/ambiguous", + "actual_refusal": "REFUSED: Required checkpoint gates missing/ambiguous", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\missing-intermediate-strict" + ], + "files": { + "evidence.zip": { + "bytes": 537195, + "sha256": "3cddf8abc727d7116790f2450972e41429f42dac85b58fd95de5981daa2f2219" + }, + "manifest.json": { + "bytes": 34797, + "sha256": "945a2f615b624bf8bb0f5f54f3b8f7eb3e8afdbe1a38853ecf3ea6c670370364" + }, + "stderr.log": { + "bytes": 54, + "sha256": "9388aabeca6ed73358d9d7246be021f7bf53a59ebc811a54929aa25275a15944" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } + }, + { + "case": "changed-final-formatting-location", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 11.76600000000326, + "expected_refusal_fragment": "Final formatting failure scope changed", + "actual_refusal": "REFUSED: Final formatting failure scope changed", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\changed-final-formatting-location" + ], + "files": { + "evidence.zip": { + "bytes": 567818, + "sha256": "de663fd532e194d70c8fdab55d84f3d994b04aef0d122b8815cd376b1b287409" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "6fdc0d9de10a2802db31a208331cf6ea3453949e9ddae92841a332e30cf6057f" + }, + "stderr.log": { + "bytes": 49, + "sha256": "35e6a10b94245910d4bd99b1f477a6bf655ed9e482b9ecf57ebee6c4f746eab8" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } + }, + { + "case": "changed-clock-receipt", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 7.359000000004016, + "expected_refusal_fragment": "Direct historical binding differs", + "actual_refusal": "REFUSED: Direct historical binding differs", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\changed-clock-receipt" + ], + "files": { + "evidence.zip": { + "bytes": 567821, + "sha256": "e339a7783b4af42c22fc1f4c0a9068b81390af0670f74e42d5762471e6db570e" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "88c8c090013c486b5c327afdae3fe92a270fa6b4920a176ea757e4cf5acbe37d" + }, + "stderr.log": { + "bytes": 44, + "sha256": "4431763122db1909bbd7de5d7b75ac49d311cd2441fc3895833480ae7e72a644" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } + }, + { + "case": "aliased-exact-clock-receipt", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 12.31300000000192, + "expected_refusal_fragment": "Gate not closed", + "actual_refusal": "REFUSED: Gate not closed", + "matched": true, + "detail": "Keep original for direct bindings; identical reversed-clock receipt under a second name must not inherit exception.", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\aliased-exact-clock-receipt" + ], + "files": { + "evidence.zip": { + "bytes": 574492, + "sha256": "3f9cc3cddd24e585fb7835a7493f604a2f422a9b45059e719803ac1d77756f53" + }, + "manifest.json": { + "bytes": 35432, + "sha256": "8a8cdef19a62e95180fcfae669810a644c49c73d7406ac7917e26193b48a1c17" + }, + "stderr.log": { + "bytes": 26, + "sha256": "82f4d6d3582fe536473a1085fa82393f5e391cff1df7b4a223f20f484f356153" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } + }, + { + "case": "direct-extra-filter-argv", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 5.875, + "expected_refusal_fragment": "Unexpected direct executable argv", + "actual_refusal": "REFUSED: Unexpected direct executable argv", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\direct-extra-filter-argv" + ], + "files": { + "evidence.zip": { + "bytes": 567824, + "sha256": "4439b58a08c5880bafbec5bf36d60d5445f88a0298d97ba0aefbea1ec750ca5a" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "16036eb5b15863ab12cd722ad6dbb2dc798c21d1d7d31118f2535e38066d535b" + }, + "stderr.log": { + "bytes": 44, + "sha256": "33b348e48668f6a166e6a09cd667349241657f99d0a598dbbf4311d15515db7d" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } + }, + { + "case": "direct-old-before-artifact", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 6.7189999999973224, + "expected_refusal_fragment": "Direct artifact changed or differs", + "actual_refusal": "REFUSED: Direct artifact changed or differs from focused binary", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\direct-old-before-artifact" + ], + "files": { + "evidence.zip": { + "bytes": 567819, + "sha256": "7b0c5b7b85b100e0fdd6d36af436bcccc3caa864575740ad2e84c0ae770a9ef5" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "34580251a1d0400c6b06b0b515714b39ba81c0df170c28e7bc75a2393f71a5a5" + }, + "stderr.log": { + "bytes": 65, + "sha256": "4d0643fc287138b6d325f33b211d54056f65dd560c188b54fc58c971c680f0d8" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } + }, + { + "case": "direct-missing-bound-postcheck", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 6.328000000001339, + "expected_refusal_fragment": "Direct bound-file postcheck coverage differs", + "actual_refusal": "REFUSED: Direct bound-file postcheck coverage differs", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\direct-missing-bound-postcheck" + ], + "files": { + "evidence.zip": { + "bytes": 567802, + "sha256": "01c1eddda8c358cb669853225563c711afbf6d945b5bc48ebe6e2df746d4a6fa" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "22e4845608a2c538b4be6b72679c6c793d4e87f00592a81b33d8c0b073c1ce48" + }, + "stderr.log": { + "bytes": 55, + "sha256": "014f0c5edfcdeafa16b98397f2f6040a155ec87158f75a6b836215d63891b0d3" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } + }, + { + "case": "direct-fake-cargo-line", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 6.5, + "expected_refusal_fragment": "Direct output contains a fabricated Cargo invocation line", + "actual_refusal": "REFUSED: Direct output contains a fabricated Cargo invocation line", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\direct-fake-cargo-line" + ], + "files": { + "evidence.zip": { + "bytes": 567938, + "sha256": "9ddc67f6c14b7e8ee43cb3d906106bf7b7c2863d0ccdc84305a3dc5bc9aa580a" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "0a49ae7d3041076812507f37ffad39250e2ae772952c98c6811749ea6302aebc" + }, + "stderr.log": { + "bytes": 68, + "sha256": "6f7b1bcbf8969fe815e0f12a25c2301ba1c85ebe9d3b0f49234fe3fe633cb4d7" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } + }, + { + "case": "direct-recorded-launch-failure", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 5.952999999994063, + "expected_refusal_fragment": "Direct invocation did not close cleanly", + "actual_refusal": "REFUSED: Direct invocation did not close cleanly", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\direct-recorded-launch-failure" + ], + "files": { + "evidence.zip": { + "bytes": 567830, + "sha256": "691a057e93f9f41e8d015fe9dbe0ebff25ac557f86301ff0e0ed46321543da90" + }, + "manifest.json": { + "bytes": 35265, + "sha256": "bb59f57cd07bde41fbbf131b92d9e4bc9d5b3c4454da9657ae5da953682f967f" + }, + "stderr.log": { + "bytes": 50, + "sha256": "9a3f4e84380231404d41f066aaa0186b6214821a72e6e99783cf400c7a77ba59" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } + }, + { + "case": "missing-direct-listing", + "expected_accept": false, + "observed_accept": false, + "exit": 1, + "elapsed_monotonic_seconds": 6.0460000000020955, + "expected_refusal_fragment": "gates/mixed-direct-list-a578-1.result.json", + "actual_refusal": "REFUSED: 'gates/mixed-direct-list-a578-1.result.json'", + "matched": true, + "detail": "", + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--package", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-package-negative-controls-successor-20260923\\missing-direct-listing" + ], + "files": { + "evidence.zip": { + "bytes": 524817, + "sha256": "a59345feeaa394ac8e9b972851117cd488c87a5f2e538261c9108eb184fdc08a" + }, + "manifest.json": { + "bytes": 34780, + "sha256": "e047ecbe2c55580911b70f2df953dfb51e95937948ad4ce2c28c81c73d54594d" + }, + "stderr.log": { + "bytes": 55, + "sha256": "257ac17b28904eecd38d9bfebf9740e3a4b9651d023a2d4bc25ef906886afca2" + }, + "stdout.log": { + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + } + } + ] +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/successor-driver.py b/harness/experiments/analysis-mixed-syntax-20260923/controls/successor-driver.py new file mode 100644 index 00000000..a09a717f --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/successor-driver.py @@ -0,0 +1,212 @@ +"""Real-package verifier controls. Never execute a subject or archived helper.""" +from pathlib import Path +import argparse +import copy +import hashlib +import json +import re +import subprocess +import sys +import time +import warnings +import zipfile + +VERIFIER = '2902f0c5e4922b942b3e8b9d0b288810ef6ad8dc71444d28ef8bfa756c4c5338' +SOURCE = 'a578ac98a06772a60bec00ae287e65650680d119' +FULL = 'gates/mixed-direct-full-a578-1' +ORIGINAL = 'gates/mixed-list-a578-1.result.json' + + +def pin(path): + raw = path.read_bytes() + return {'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()} + + +def encode(value): + return (json.dumps(value, indent=2, ensure_ascii=False) + '\n').encode() + + +def exclusive_json(path, value): + with path.open('xb') as stream: + stream.write(encode(value)) + + +def main(): + if sys.flags.optimize: + raise SystemExit('Optimized Python is not valid for these assertion-based controls') + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--repo', type=Path, required=True) + parser.add_argument('--package', type=Path, required=True) + parser.add_argument('--verifier', type=Path, required=True) + parser.add_argument('--out', type=Path, required=True) + args = parser.parse_args() + repo, package, verifier, out = [p.resolve() for p in (args.repo, args.package, args.verifier, args.out)] + assert pin(verifier)['sha256'] == VERIFIER, 'Use the separately reviewed external verifier' + assert verifier.parent != package and not verifier.is_relative_to(out) + out.mkdir(exist_ok=False) + original_pins = {str(p): pin(p) for p in package.iterdir() if p.is_file()} + published = repo / 'harness/experiments/analysis-mixed-syntax-20260923' + original_pins.update({str(p): pin(p) for p in published.iterdir() if p.is_file()}) + gates = repo / '.local/analysis-mixed-syntax-gates-20260923' + original_pins.update({str(p): pin(p) for p in gates.rglob('*') if p.is_file()}) + verifier_pin = pin(verifier) + original_pins[str(verifier)] = verifier_pin + with (out / 'control-script.py').open('xb') as stream: + stream.write(Path(__file__).read_bytes()) + with (out / 'reviewed-verifier.py').open('xb') as stream: + stream.write(verifier.read_bytes()) + with zipfile.ZipFile(package / 'evidence.zip') as archive: + assert len(archive.namelist()) == len(set(archive.namelist())) + original_payload = {name: archive.read(name) for name in archive.namelist()} + original_manifest = json.loads((package / 'manifest.json').read_bytes()) + new_test = next(n for n in original_manifest['verified_summary']['new_42_passes'] + if n.startswith('language::analysis_source::mixed::')) + cases = [ + ('unchanged-real-package', None), + ('missing-new-outcome', 'Missing/extra runtime outcomes'), + ('changed-new-outcome', 'Runtime status mismatch'), + ('changed-known-failure-cause', 'Failure cause changed'), + ('forged-current-git-input', 'Git input bytes mismatch'), + ('duplicate-zip-member', 'Duplicate ZIP members'), + ('missing-intermediate-strict', 'Required checkpoint gates missing/ambiguous'), + ('changed-final-formatting-location', 'Final formatting failure scope changed'), + ('changed-clock-receipt', 'Direct historical binding differs'), + ('aliased-exact-clock-receipt', 'Gate not closed'), + ('direct-extra-filter-argv', 'Unexpected direct executable argv'), + ('direct-old-before-artifact', 'Direct artifact changed or differs'), + ('direct-missing-bound-postcheck', 'Direct bound-file postcheck coverage differs'), + ('direct-fake-cargo-line', 'Direct output contains a fabricated Cargo invocation line'), + ('direct-recorded-launch-failure', 'Direct invocation did not close cleanly'), + ('missing-direct-listing', 'gates/mixed-direct-list-a578-1.result.json'), + ] + cases = cases[3:] # First three closed controls retained in the initial run; resume after timeout. + results = [] + for label, refusal in cases: + case = out / label + case.mkdir() + payload, manifest = dict(original_payload), copy.deepcopy(original_manifest) + duplicate = None + detail = '' + + def change_receipt(name, update): + value = json.loads(payload[name]) + update(value) + payload[name] = encode(value) + + def change_log(stem, transform): + name = stem + '.log' + payload[name] = transform(payload[name]) + change_receipt(stem + '.result.json', lambda r: r.update(log_sha256=hashlib.sha256(payload[name]).hexdigest())) + + def remove_gate(stem): + for suffix in ('.result.json', '.inputs.json', '.log'): + del payload[stem + suffix] + referenced = set() + for name, raw in payload.items(): + if name.startswith('gates/') and name.endswith('.result.json'): + r = json.loads(raw) + referenced.add('gates/' + r['launcher_copy'].replace('\\', '/')) + for key in ('bound_original_listing', 'bound_focused', 'bound_listing'): + if isinstance(r.get(key), dict): + referenced.add('gates/' + r[key]['launcher_copy'].replace('\\', '/')) + for name in list(payload): + if name.startswith('gates/launchers/') and name not in referenced: + del payload[name] + + if label in ('missing-new-outcome', 'changed-new-outcome'): + pattern = rb'(?m)^test ' + re.escape(new_test.encode()) + rb' \.\.\. ok\r?\n' + assert len(re.findall(pattern, payload[FULL + '.log'])) == 1 + replacement = b'' if label == 'missing-new-outcome' else ('test ' + new_test + ' ... FAILED\n').encode() + change_log(FULL, lambda raw: re.sub(pattern, replacement, raw, count=1)) + detail = new_test + elif label == 'changed-known-failure-cause': + old = b'Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.' + assert payload[FULL + '.log'].count(old) == 16 + change_log(FULL, lambda raw: raw.replace(old, b'Different semantic failure for this control.', 1)) + elif label == 'forged-current-git-input': + inputs = [] + for name, raw in list(payload.items()): + if name.startswith('gates/') and name.endswith('.inputs.json') and json.loads(raw)['source'] == SOURCE: + value = json.loads(raw) + row = next(r for r in value['inputs'] if r['path'] == 'crates/oa-core/src/language.rs') + row['sha256'] = '0' * 64 + payload[name] = encode(value) + inputs.append(name) + for name in inputs: + digest = hashlib.sha256(payload[name]).hexdigest() + change_receipt(name[:-len('.inputs.json')] + '.result.json', lambda r, d=digest: r.update(inputs_sha256=d)) + detail = 'All ' + str(len(inputs)) + ' final-source input copies and their receipt hashes changed; immutable Git bytes unchanged.' + elif label == 'duplicate-zip-member': + duplicate = FULL + '.log' + elif label == 'missing-intermediate-strict': + remove_gate('gates/mixed-clippy-eeb1-1') + elif label == 'changed-final-formatting-location': + stem = 'gates/mixed-fmt-a578-1' + assert re.search(rb'(?m)^Diff in [^\r\n]+:\d+:\r?$', payload[stem + '.log']) + change_log(stem, lambda raw: re.sub(rb'(?m)^(Diff in [^\r\n]+:)(\d+)(:\r?)$', + lambda m: m[1] + str(int(m[2]) + 1).encode() + m[3], raw, count=1)) + elif label == 'changed-clock-receipt': + payload[ORIGINAL] += b'\n' # Same JSON values, different exact receipt bytes. + elif label == 'aliased-exact-clock-receipt': + payload['gates/mixed-list-a578-clock-alias.result.json'] = payload[ORIGINAL] + detail = 'Keep original for direct bindings; identical reversed-clock receipt under a second name must not inherit exception.' + elif label == 'direct-extra-filter-argv': + change_receipt(FULL + '.result.json', lambda r: r['command'].append('analysis_source')) + elif label == 'direct-old-before-artifact': + change_receipt(FULL + '.result.json', lambda r: r['artifact_before'].update( + sha256='ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2')) + elif label == 'direct-missing-bound-postcheck': + change_receipt(FULL + '.result.json', lambda r: r['bound_files_after'].pop()) + elif label == 'direct-fake-cargo-line': + path = json.loads(payload[FULL + '.result.json'])['artifacts'][0]['path'] + change_log(FULL, lambda raw: ('Running unittests src/lib.rs (' + path + ')\n').encode() + raw) + elif label == 'direct-recorded-launch-failure': + change_receipt(FULL + '.result.json', lambda r: r.update(launch_error='control launch failure', + verification_failures=['Executable launch failed'])) + elif label == 'missing-direct-listing': + remove_gate('gates/mixed-direct-list-a578-1') + + if refusal is None: + (case / 'evidence.zip').write_bytes((package / 'evidence.zip').read_bytes()) + (case / 'manifest.json').write_bytes((package / 'manifest.json').read_bytes()) + else: + manifest['payloads'] = {name: {'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()} + for name, raw in sorted(payload.items())} + with zipfile.ZipFile(case / 'evidence.zip', 'x', compression=zipfile.ZIP_DEFLATED) as archive: + for name, raw in sorted(payload.items()): + archive.writestr(name, raw) + if duplicate: + with warnings.catch_warnings(): + warnings.simplefilter('ignore', UserWarning) + archive.writestr(duplicate, payload[duplicate]) + exclusive_json(case / 'manifest.json', manifest) + command = [sys.executable, '-B', str(verifier), '--repo', str(repo), '--package', str(case)] + started = time.monotonic() + with (case / 'stdout.log').open('xb') as stdout, (case / 'stderr.log').open('xb') as stderr: + process = subprocess.run(command, cwd=repo, stdout=stdout, stderr=stderr, timeout=900, check=False) + elapsed = time.monotonic() - started + output = (case / 'stdout.log').read_text() + (case / 'stderr.log').read_text() + accepted = process.returncode == 0 + matched = (accepted if refusal is None else not accepted and refusal in output and 'REFUSED:' in output) + result = {'case': label, 'expected_accept': refusal is None, 'observed_accept': accepted, + 'exit': process.returncode, 'elapsed_monotonic_seconds': elapsed, + 'expected_refusal_fragment': refusal, 'actual_refusal': output.strip() if not accepted else None, + 'matched': matched, 'detail': detail, 'command': command, + 'files': {p.name: pin(p) for p in case.iterdir() if p.is_file()}} + exclusive_json(case / 'control-result.json', result) + results.append(result) + print(label + ': ' + ('EXPECTED ACCEPT' if accepted else output.strip()), flush=True) + assert matched, 'Unexpected verifier outcome: ' + label + assert all(pin(Path(path)) == expected for path, expected in original_pins.items()), 'Original evidence changed' + exclusive_json(out / 'controls.json', { + 'status': 'PASS_REAL_ARCHIVE_POSITIVE_AND_NEGATIVE_CONTROLS', + 'scope': 'Receipt/Git verifier controls only; no subject, compiler or archived helper executed.', + 'original_package': str(package), 'external_verifier': {'path': str(verifier), **verifier_pin}, + 'control_script': pin(Path(__file__)), 'python': {'path': sys.executable, **pin(Path(sys.executable))}, + 'original_evidence_unchanged': original_pins, 'cases': results, + }) + print('PASS ' + str(len(results)) + '/' + str(len(cases)) + ' actual-package controls; original evidence unchanged.', flush=True) + + +if __name__ == '__main__': + main() diff --git a/harness/experiments/analysis-mixed-syntax-20260923/controls/summary.json b/harness/experiments/analysis-mixed-syntax-20260923/controls/summary.json new file mode 100644 index 00000000..14fd65c4 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/controls/summary.json @@ -0,0 +1,193 @@ +{ + "status": "PASS_16_OF_16_REAL_ARCHIVE_CONTROLS", + "scope": "External reviewed verifier only; subject/compiler/archived helpers not executed.", + "accepted": 1, + "refused": 15, + "interrupted_attempt": { + "case": "changed-known-failure-cause", + "directory": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/analysis-mixed-syntax-package-negative-controls-20260923/changed-known-failure-cause", + "disposition": "Initial attempt timed out after 180 seconds during host degradation; preserved unchanged and superseded by a fresh successful semantic refusal control. Not counted as PASS." + }, + "scripts": { + "initial": { + "bytes": 12192, + "sha256": "421f8109d583640df9c499878dba89bf12b81054b10e17b3a5b6440a188cc411" + }, + "successor": { + "bytes": 12296, + "sha256": "c68437c5aa807c305215c0bae31c7ec77e216e266a7f48972572bdc6fda518e0" + } + }, + "successor_aggregate": { + "bytes": 33236, + "sha256": "87b29589b97a44527722feb385c2707c5fb3c7b1d8705568abdbbebf6add88d8" + }, + "verifier": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-mixed-syntax-evidence-tools-20260923\\verify.py", + "bytes": 29506, + "sha256": "2902f0c5e4922b942b3e8b9d0b288810ef6ad8dc71444d28ef8bfa756c4c5338" + }, + "original_files_rechecked": 49, + "cases": [ + { + "case": "unchanged-real-package", + "directory": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/analysis-mixed-syntax-package-negative-controls-20260923/unchanged-real-package", + "receipt": { + "bytes": 1286, + "sha256": "d2fa3b9595f1dcea2da6a6d63b45c3e909b8e4a03784feb1b7fa94bf6dfa98c5" + }, + "exit": 0, + "refusal": null + }, + { + "case": "missing-new-outcome", + "directory": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/analysis-mixed-syntax-package-negative-controls-20260923/missing-new-outcome", + "receipt": { + "bytes": 1454, + "sha256": "a6c97f285cffb4860c780ba3dee71f424c6320f0a6c88661f14f9dd8c097a3ec" + }, + "exit": 1, + "refusal": "REFUSED: Missing/extra runtime outcomes" + }, + { + "case": "changed-new-outcome", + "directory": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/analysis-mixed-syntax-package-negative-controls-20260923/changed-new-outcome", + "receipt": { + "bytes": 1442, + "sha256": "04ccbadc8ed5d9a06f36ca496e19bcfece45c5aad0570a6d732499acbebdae9b" + }, + "exit": 1, + "refusal": "REFUSED: Runtime status mismatch" + }, + { + "case": "changed-known-failure-cause", + "directory": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/analysis-mixed-syntax-package-negative-controls-successor-20260923/changed-known-failure-cause", + "receipt": { + "bytes": 1456, + "sha256": "80784873c7379085b3c5b27d64d0b9c140e648694f17866c10987e1874c1f58e" + }, + "exit": 1, + "refusal": "REFUSED: Failure cause changed: language::nesting_tests::checked_in_example_supports_cross_file_reparent_without_changing_allocations" + }, + { + "case": "forged-current-git-input", + "directory": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/analysis-mixed-syntax-package-negative-controls-successor-20260923/forged-current-git-input", + "receipt": { + "bytes": 1479, + "sha256": "340b81bb0530d510dbdcaa7705ee2f4f59b90b3d2ee81f79dc2f9e73c2ee228e" + }, + "exit": 1, + "refusal": "REFUSED: Git input bytes mismatch: crates/oa-core/src/language.rs" + }, + { + "case": "duplicate-zip-member", + "directory": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/analysis-mixed-syntax-package-negative-controls-successor-20260923/duplicate-zip-member", + "receipt": { + "bytes": 1339, + "sha256": "2ab1ee6e296775faaf66d6efe8e7c1105685e360693cf4f80309a7d63ad27aee" + }, + "exit": 1, + "refusal": "REFUSED: Duplicate ZIP members" + }, + { + "case": "missing-intermediate-strict", + "directory": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/analysis-mixed-syntax-package-negative-controls-successor-20260923/missing-intermediate-strict", + "receipt": { + "bytes": 1397, + "sha256": "32998339637d64fd88645243e41c983d0d9b76812aca432c1f862b0332fc6edf" + }, + "exit": 1, + "refusal": "REFUSED: Required checkpoint gates missing/ambiguous" + }, + { + "case": "changed-final-formatting-location", + "directory": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/analysis-mixed-syntax-package-negative-controls-successor-20260923/changed-final-formatting-location", + "receipt": { + "bytes": 1398, + "sha256": "130f54af1c62427c943355ac510e106c5ab41efc1e85fb1606dcb1031ec02b48" + }, + "exit": 1, + "refusal": "REFUSED: Final formatting failure scope changed" + }, + { + "case": "changed-clock-receipt", + "directory": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/analysis-mixed-syntax-package-negative-controls-successor-20260923/changed-clock-receipt", + "receipt": { + "bytes": 1364, + "sha256": "455b784d6bff1eb694ae9b2ef474dae89f77100b5e6db30b372c0173d5dbe471" + }, + "exit": 1, + "refusal": "REFUSED: Direct historical binding differs" + }, + { + "case": "aliased-exact-clock-receipt", + "directory": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/analysis-mixed-syntax-package-negative-controls-successor-20260923/aliased-exact-clock-receipt", + "receipt": { + "bytes": 1455, + "sha256": "0c79e8e9a801b2e236ab977d19d6fab2630e985cbd782656117d312571851eba" + }, + "exit": 1, + "refusal": "REFUSED: Gate not closed" + }, + { + "case": "direct-extra-filter-argv", + "directory": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/analysis-mixed-syntax-package-negative-controls-successor-20260923/direct-extra-filter-argv", + "receipt": { + "bytes": 1358, + "sha256": "c5f715f50d47319017d4b481394858b3b3a613093cf64545cd6a7bcc91caf261" + }, + "exit": 1, + "refusal": "REFUSED: Unexpected direct executable argv" + }, + { + "case": "direct-old-before-artifact", + "directory": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/analysis-mixed-syntax-package-negative-controls-successor-20260923/direct-old-before-artifact", + "receipt": { + "bytes": 1397, + "sha256": "79023775cfcb1c10f4591f840e81f2a3c1585ea1607acc84c3f71f4d693525b0" + }, + "exit": 1, + "refusal": "REFUSED: Direct artifact changed or differs from focused binary" + }, + { + "case": "direct-missing-bound-postcheck", + "directory": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/analysis-mixed-syntax-package-negative-controls-successor-20260923/direct-missing-bound-postcheck", + "receipt": { + "bytes": 1404, + "sha256": "30a1983c227046bceb8af604de748b72b2f9115d9af29c8cb264d3dfe646f307" + }, + "exit": 1, + "refusal": "REFUSED: Direct bound-file postcheck coverage differs" + }, + { + "case": "direct-fake-cargo-line", + "directory": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/analysis-mixed-syntax-package-negative-controls-successor-20260923/direct-fake-cargo-line", + "receipt": { + "bytes": 1400, + "sha256": "018d11d3df6ea29faed4428129daf45317309b190c9770a456008d20335ed0f4" + }, + "exit": 1, + "refusal": "REFUSED: Direct output contains a fabricated Cargo invocation line" + }, + { + "case": "direct-recorded-launch-failure", + "directory": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/analysis-mixed-syntax-package-negative-controls-successor-20260923/direct-recorded-launch-failure", + "receipt": { + "bytes": 1394, + "sha256": "c36e238c778bd8fc70df6d80fd665b5068cae55eaae80dbb96911a3b322811da" + }, + "exit": 1, + "refusal": "REFUSED: Direct invocation did not close cleanly" + }, + { + "case": "missing-direct-listing", + "directory": "C:/Users/User/Documents/Git/ARCADIA-Studio/.local/analysis-mixed-syntax-package-negative-controls-successor-20260923/missing-direct-listing", + "receipt": { + "bytes": 1387, + "sha256": "ed0e680061f8e2791ad00f3e3c42799095f9f516a1c36c036ff649ce113e6d36" + }, + "exit": 1, + "refusal": "REFUSED: 'gates/mixed-direct-list-a578-1.result.json'" + } + ] +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/evidence.zip b/harness/experiments/analysis-mixed-syntax-20260923/evidence.zip new file mode 100644 index 0000000000000000000000000000000000000000..93761aa952d14569baad2fa9c0dd4c639c313eac GIT binary patch literal 567820 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%0D7qJTH_09$af^(on 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�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 _Yw@%$3us+T;TAO3`{uEY7?@D$^#i|Ol2j>Wc z#WCyBjxor^O1a)k@Ff8c_f(@+?)u3cn3)$HU6Ow4Bp{}jH0nwOwzU2QyiHZ`cF@`= z9cjovP7~xK*BxBpU*v9fp)qp}u0g#J)lGE!2Gnr5l(VRi_LtHV%gLv)Sqm$k(uGE= z5U{MOhG5|d(VIzB%zpa=<^gAZ!08#b$|&u81m*ZYFjX?9~e^p>#Qs z+olT2hlYyxTsH^0SKd7>g*(2Q|6bptNu%bN?s}~GyB1A>LC^MCgX2=^7)V8m&OF~* z{!lYSUF9%8H0~+5UOPJ(vRS73aT@aJTlK2_f%KziWd>baVeZNLFY6lRU$|PqKE85v z@PTzFxn;({O&;xyWeCLacH>0w{K(sAYqw~>rOZx|vdw1TBE{Ac?9ANqnR-_fDAA}P z#DRV#krXa1JmzvF1r@Lh1cmE4gi9{vQcn$q?=Z_#ewm;ahnR#R8}=^1Q$x%jW3HZb za47}&Wm>~ynv1opE^OUj<8{)MgB=AKLdqH_1GGn5XpG z7plb1Opdc^7KaU&6+iVDmt3@RAs`N&W+vy66>hH@Z za!vyjb}$lD@?LVAf7d=I`uSJ_-ayx7xpBAnuc*6Abb0)rK0v+hjED8&b)4f9*gW8E zu0TS^w3i`^l=xb9XS(Hc>j&au7bB>7c0DVV44;LD^q2L5RyK95mLM4-u#IpZdAGP` z4iyZJ$Fw-bmlUoVUD}uk|4yetMV}sw&79kJSG(N)I7A(Dya+E~7hM0wEpb>vh>mQF zgQ_N!)Pzp#BU6hhf2d~w6E)Y=M zn~;KeYovnKdSIr^h5BVCipSi@r9Nre5~P$kUnM~x`b(Mq%Nz;1tl{EI@A(8v<~hV> zbMY}ue`9BoaRX6Mmu;pQtvK6yOlH8khh2ZkI%XVl)vHa^cLutgrll?{g0X=+%#K#0 zMa57s#^fv{RZPywi_&cLRR06i-U*1E+)aS1qsFVvzjoLIkFRZ2mnjf765iA9qy=%t zq!9%}vh3*trBfF-UZUQVJG?WJ3~N$Nv&64@y*;q|K;@3>aE%u2;ky>=7~@B|)Xp z1(q9`ie4ZrAQ4a)#OIjnZg7{pbLxC!{myD6zsBb7&5Ku~)X)le_RmAnz#T0u31kYa z@2f~VWci(SVz0zensl5L06*S^tG^9Y_tf_7*`;UQH;-{KUHhlPUQgxr6SyFd_bH$X z&#|=3jnY6ddGc=OUAeP~aFeXxSEGv~=etq~VD!ooFCOf=OIwalrIK()Q=vTlSLEI~ zjfSOW`}~o26))#787^KEHtG8`3Yi~Ws5I}@yRrxsZr!DI3KoT@JS~+tq6sj}HQEqT zY!?km*Mf>JMXy50NLQh|oBrA}pblchHZQM_h!KRc(I00xdu!rKHLm^ zS$W44mJoRt#`vF=J`U2@8_|kKKx4udSDOu))(dE>A?ZXZ69;~dk!t}-I=X>z(6qy~ zmsK0m+uhK+h3d05s#44=egKtnNiL04`6+z7KZQj&=7HD%82)Rte?v%F%L?Y9srFIO zt~$6IdqQq<@9msE?py-1@tD-v8m>yh$*UU8aWNB9S^+9zrh*0&W<~Il$5T*psj)?Q zro94KAMCr3EStKGXwbJJ0-dhX5M12Ky!=Upx$)9>Fmn=o6Ukx~IrI3vq;B27^xO#1XmMjx6cQGJ`g4 ziGd)fcG|9qkHaqG@rl|lLlo2tl>P#mV#se%MuOe2fY-cu6;beNfQHnojf-pd2T3n^iDM5iW3_ZCFn864as$3-XzN zOLsY~iu*qLG&FQ05;%KqrWgd-rmoFa6s<`W!*(~(s4QMV8ZpBI6_8xooea&LE5{Nc zI$pD|exS<#xO?qkm#g6rse5vUt}1{~{94#7+|y}csWiNOomCnD3D9uKgpoG&NMS~vO=8R;5J7#2m?%N{Idq0g2SibfkHjG zIGo+Z$IoZAzIYfMwjzcI-UNN~NH(BN@dwckWY9nnt9JI=tLV^uBmiB7`bl~eGz*@A zdb)$$(@imJqv1*w9lTqqh|^J8EW+{vk)UUwmifM@5(bS#;1nfRvlOWcE}ILbCXzNX zE^>chn2}$}Cob?$4&B9964Lh|oB zLhxXy2;MmR65w+EIzAe^Y%te4r^bu9G&ZeLV^oKgf(9L6Q@{$5(bC-`bpmrhh5Q== zy(57DlVT@;*pa>G=GdIz$EmH4$MG=w+^Hp_kq)Iq0qfIAM?W?%m*Y}_NJ!{G)e zCYKEJK>0GDDa3_x~rpJcz1^_K==51ZXsn4bxB;m;8k!~mI!U%rsuVk`lzM|q;neI*ZB z^iv8A=zUO*UR>>3Mjs89u&Ly9$M+X)aIL_WP+W>b$l72j^SO$M6moZpD7H zXISwBFixlIsRV^Bme}Z^*TCQ|t8; zKZQ}LXLZNDW9Y4gJ^YX|5r4GTaI5Eep)ueZAVwt>A{~m=adKd1^iPuHl1Qr;St%Aw-K2tIeRL1glr)v zLo0H@c}n@Jczp%wuBm{Idfu`Rb#b+u40-1k0ei?sQvOoxk1G`RM@kw??}VyoiCfLA z_?bEZSl$ZH4eQ=mg1)+OU0P2?xx53@SNmofMW7mx1Fa9fRSs@k6p~4&I%tWXHiVUW z)V1(vtLsyMKKxw2b?ggqV(>`dv11V|Z|M|luyP5So3+*_$%%foM3~onCmVK0UBMo@ zQ^M#AnE4oXc@xM!6_~T88uZamT-E9fkzQ=P789DaiN+y*12ZR=xt-_LN|+Y#Xfnq$ zJgISl`RJs7V9JzU#92+VrAwF?g@(`?X!um8rV|)jRElQAf?!998Qxy$RKmlmSu=*Z z)`2Ip{iz0RKE#Tl#LF;`FsNJx?#7x%yvR`n+f$X>AP;d5Ahe(@;yg-jVD@w(>@8T5 zm)WP2IPzY(ysF;5nk{Qs4>ROv`{R|y40Zv1;mG6h*ULOfY(D_I3$1L;s1vqkbDNg& zMVO<9U9hJzr~JhRT*7cNX(Z)W3(uTDztFiHmwn45DO5R1^jo&{Z$N7 zO>u2RHT?l6ORd{x9mK;{keESOeGqOAk6q^%%fj$f*pYcbJHn@lO3z>l}pcfZ;+L%)ao<)F%} zH}h`5R-~BRT@9!yV=M(EVut(RMhPkMVws;D<7QY?_KR%GNC{?#hnr4(@aICZn%U_P z^Xq||g`S6?a#v4JPYM9R5N?%ctQgvXhQhQCR;a)NW8~X^6GJUpfjUe{w|sRC7v-_Y zP97bg8c-( z+1aGgy{1zr(&6}nP}_O?LYz@tM_?zy>}u7GYg?JgfeqWUobc!9ks5f`=`hcAA(JH( zq9))jQrysl;TBy4Y~08-JiQ1xa}|LBw+sMZj0kL_*gStTc~GS++}blj@a5~2QFaB{ z7Ub}jiO50VUchB1aH4w?h1~h+Q)Tb02byy!oFt7#H1Gly2- zO4?=9;&vJ6von{I_JAoY74EDJ0lf3S^vI*gT_LZP09}fqXV0<*Ny{k@Be^Wk02>c& zSI_W)+iJ{>;{J*%RY?PU2tpTA$S*`#&`d?E8#X#iLwkXB4m<9l4Al2sb&AhVe?vFj zVQp^o09Q2ttAq;XiZ?JRs;OZu>S*Mn6@=MngZejkl;8}3AD*hbQx4$y=6n%lw8?68 z?p_+!wQ&y9kd`o*BTMgYBlQ*wTAhSf&Ihs7q$Jp_>@KKKoE;a`!0JoTwQ1%#eBNyzjZo_)@CUb zd#%pGdDyux#n)mg2eZMsnFQ`4S#V<*4=X7i@3K_fZ$5%lwco1*j?0AB>vKlw$w@lI z$tEhCmXnCYt)-f?0iP3E@b5C-q^*6vsHo8R{scDv-2U2AiS5aW{dr1V<^6eiuYWa1 z(YQW6V6qG!wb?GjltT!6JcPq`3b4bgTYx=R6Ft{%w(L*#xJNFL0RX?9?a>o=Q{gy3 z-}7lhKHsoO!#t#=_Eg}#Qv$%Y&@SxCGGYXMf9wCdN- zcrkxmvfp9r*L8+|B(=4P6Njo@>K<=gJqVCSv8f-9X%*cE0At*I3gFNuP;2A}%*rEX z#X6MBG4TC9{P`AT=G81+T4PI(|6yMW$`*ff%K?Y!8-oVKglw4)LsGg2ZKrz6S&Kk} zM!m~1>r~O4o96QR4*vae_&M(e|GiG$lBv0#lSH?7+U^+z$4Sw2L2MiUk48chSBnf4^?QLmVt6V8MDO8U3McFvHxO1EKnvZ;@e8Zi|!dvawt@wMU`+Gpf znOwpnOp)n`=kn9hCw(q|r&kAHV2A3A5;8DG z)sFb(%uR`E)&Np?vc$Ti3-hmDdha$?*}})@?>jNZrj?!}o{!J%?@Pb0OTYia29%Cd zDQE)&0BFSl0KftO05CIjHg%%6v2Zsvq5a=%Kx;d*NzHBL4K@Vd;~Is#-WB__;vx$p zAY5M^uJmFXu(|FBF82N{VASJjsY{Sy+rPdY(~dpGB?M5ZvI(OG$!nAj<~Sh;PS%d83}Q*RVgp8VDDv1__gscNx^ zJg9^4`Rrh549VZojyXbTkeK{lUp!j`kEm)bZi_t@9)e_`hK@4O8IvT50m0Tt3E9Gq zeI8=A?5=0&ZOtHe5txhw$1m)$VS}X903g(K+mL*q`M*qTw{bO-$yJ2(-9blPTI)9F zx56Jxt(!!12kZ+RG!9X6vv?hOrTVvz=I(~gJF>je<$`(x&tiZpvcKu{nhvd^y> z=Q}z&4rsFjRw(mS0)LT&KvJhY1+xr5(kc-l!{|yCtIXh_aEVr*z#1$xi2zD^$Y~N5 z#Bedi2RylMoInzgWe!ML8$E)P)NB=oxwNhX3ph_kvOo~yo8`w~f z3QUymx8`6DZWyraw2>uDQ?-~8ns%-8%d!O;x_c#dFW82jS z#b60%K;>$zQY=UDrF*tQsDU>_a@3+oiAE|nAEIYn%kgV4OAkSnR4Znf(r|#aus$=b z6@qxyX<(T8gI+E@>A z%GU;zK@@gFl)0!p87)ak7?Xo#Q1JSR=C_0z(ir}GCmhl7Lk}P;sJvW?XsQ&W zIjflD5VZMhQg=oG20uUgLn>Ue%tHox>GL?jPDmU;s+PzvA102a;Sg=z zp(74P0(1>K3~ont(>8Q^?bOy6izxdcjFCJwWU&v=i9rk|NEfyrh3I_^hG4oT{&L

hVo zo>(4kWO^ct9F6H6>4a8qjHJIc;1pZj`!%B zi!ZZcdeso`cvBaa-`fYUg~mZ#1n_oSstQFB%=QLa?%F1tIti@~uOKhl0Z*cKPX zCu3SaEDPw7+kC>(8ll;jB0UMOjb)ZD_4!6UUJ2C1$!FUUP15s5$c*P}CM_5VWIOSN z7u9~HMqW9Dk|Vm>+^uQ^)|<|0lfNjwl?9LNxox5bb$5(T->G1I-B!b^CL#%`LT(wI zDWUAl)>1ZnZcdI|*+lzIWRq3)TW7>}T4k)r&D7|sOV_mI%4P57g50oCpPHoxmFU|U zI+v#1kw4GcyVMs6r{n1A)%)W#Pb^8FH7nhyTAri0Mfj|i8bvdt$Xt%$%b;8Q^>Qh8 z=hL_9+G=fx?iE~OoZUv*5)S&WW)q%fQKa#sN+&^2zTVQt9V2=5`MhpzF0{5-H$jvu zPux<>bqch{kZ_nUuM&*)_KqYoIe;9$KxJCD_(UB;Afy={ScutSmWM*NK%tD}mW~ii zq*p0Li64n$G!wXRoHU-$Cbf#6n)sMY|G}WLs z+s~d`DY2A|%S6huMM4+(Qv|SNz(4Dz>RMpP^LMOYJl)wo9!*Zz<=)k>b*jg`;V)UM z-OJ=%(^@#_c7zc;huIiFYc0fK!ynoA(7CpO>ouW~Xwa`6`URdF&W3ULl}<=s!XPy4 zHSAs2_F`wJvQogMw^XlamMnelx9DCJ0kbWa3)gLQwE`_#Z}AnRfk9AyMjHfxHz~Vr zs7MeM6fgjQ{?E`O`tJvxqp6dNwevq1Zj*|%(>fbM_q)1*vkfI6!Hbf7WF^-bhnjeb zyrEdbUtuF@BrG7Ai_wD~H_EY;g`+u(G2qe7LEraF;P=PSctucM;^+3wcHSEbJlRnR z5|~y*G5g=5k}9PX$XMnnkf;$bP`V1pAqiNNm=M{8NKgaF06RjAMdJK^;O@{v=TCnA zsZTd^1Km_QIp50=#v&iu2plifi#}O{%o6fX?OZ1*DD-;Vj`dVZ=EmBxU@d?`>h|_p zHdgBzc9}}H*(uG6aCJg_zXE6Hk?&qk6t!JoOf2~Y((1XAZR5v}W<1Ox3fS&v#L5hjbkbSA;F#-061T?)!V4q|cVO~gD zO7Na#)&WJFMXt<<2K(a)Yr(_lE4$`?=4~rR84sKV+P&4#dh9jnmoXto++X=5IZ9sE zQpIgvniUQyW3(dmu-tLH3|vr)bFA1ce8mgYnX8Li0?rnAzaW6}Gn%Y#`{sjO;v_y@ zmS!{M)M+hH2*igraBH5lAwQ0F7@32gZ>JVBr-uQ7o#giAF`<~O>{IN7eTN} z^>j`{W#a3Drn!2-E*jzA5|pwgm%YQ{uX9qKTh_PLuJPXEFVzs8xx9Ka<_nwQ0IT&zNOt#QNcBJkP4ql)c)41tsBLvY3MK9`?3Ky#@ zI*Glk*@;f-NuQ*HEX&4$r%q3f)+hD<>q(+IZWUhpf3VV~rbdkaCo4UgkS+ehN-zJ5 zmA++o6Jt(y4$Ckv2c*$rQUyR_M>asc%-GW1UNeuBy~u`TXkGM=uul6LzTWLt3x2=* zzU}!K_WL;A|11fs`?~)Z6|GaDop`qL!M=t%H1)Ia{bS+Oy7@*?Rh9L9@3%O;+4X&M zx=+mi{C(5%{Sx=>@R~U7XO8c;*mL=94&Sr!y}bT@8#n%}-@WAb-TFYhl#aF0BG3P| zrX%x4s4ZO8@W!dWX502l<~;uxvt_z$fzxT6S!G!_Zrmf$dwi5EF{(!6GdI=m@cX%E zi|KU#v!lh2of5;TcDSUS7_4=whM{gTJ`3M8EoY2w+!=Yyb+p51h^dV>QO9OpJl85` zbhEj{uicB=@9TK;-Q#R$y$N+QAc{7yb z^{tW&ggx_=EjHnqh43oFc+&7Ob>)fS%Ql%Cb5ZAsw3<^RlFwC^TP(LS!s1~Ay@qiz z>nZImmN#3HFwWAdlJV7a89LhY-lgyBeD`+8h%j5PRMwP@Jy6>?y6dghmDbk*p0OIm zXTPhOYwn?V5lM%-s~RUTySPws!sdNQc)#V_d)pVw?%KEe(3WmF$Rz+h;>Nz6`E4I{q`V_TKcG7rRxaXe%+uf8$Dr@a8hB?P~ba8)w-KEL=#j zUuc-^(Ule9>^C#6F@<5yzodCY{=Zyl5x&o>Q98M@M85JCIveeCroLhg)JiM!N73eg z#|rNv^q1a?=)2O-H$P`rbmW)ltRc4Q5Ib9JVuoC49iFZr=ZS~ro_-~3?%_f1FWELY zZC4Gpdmy}LFY#5jRPfSyxlVa+9Hf|7(Mq#9Q7qO7#M2}e+1he<*9JLM+V?rgYEjz_ zP)j5OF!aNGM&Ni)9?+-McVEBWw{#R$I>nx!rnyJ9)CDV{z4O0gHJcub6!mA+SNW*M z1yDbg{R@_MSm=NL{V!Nr`Tq_}M=*mY8aM0RmOiiy*pitTOPpwl2vIS*gJ?5$aGnRd zM^jU~eNf(#X^qn}Y3??5+1dH|b#l{JIxXQxlRUz}m-g9YKCWL+*5LVi?8pM+q0PN* zY_WSUBghI>Hen?!>S3}q%io2Uxb+qJdzSOX7#Zgi8`vXgN8?%px=wd2G&7|Efm zWr(Wg6j!e)s>au9E?Yf%G-PEDSv&V&y|p^jJ#JDXay9Kghi~+@@0n)S5JfLePp1%K zE%9$z`uwPJC-a>Euj8;~a&&NNh}7p$(7mjHHOJz{RnP8mVC~$n3;+CLhIH7w)~&|8 zw?t#jL4~;j*T%@0<|pxwB`}C|6k21lYuP!;9lB?fO_F}nJ-#*k-qMqe&d%kwCrrtX zMkVj6&gwLoEQv6FsntwN3ebyX-$ACB#5qUDyeiv2YAppY=-X9??(Q@-mba^1SlZz= zAECJQcQ!^doi#~Z10&L`W$|wVM|>c>aY)MNRq+Mbh~^;w;HK@`+j|(RukJqn@uiv$ zhbfHp8rw@e*L$hKL@)sGquVB2ju}DclKz|&kZ()MP`P3M$KPV>x16TIt@|~gRC#IW zG9V{yLOOUPXg<_d^IMO2w-{E?3sb;WY(GX$El1D;DHsM}sZ777GP^B5&lbF^Ax;o8 zKPcmwLLicV)6#hk^*A(<61$;xm3HKue=$a#W&whuSC?J@-D&zdVb*h^KRvd(fJJpC zagM^N&CDArCB$sgY#@x=)+Ent-`uC=a-h(CYAtJE!PKW>w4G9wU> zhq+r@J|HgLpJm%WO>gT1xO`vVd|N%=@B1W96Mo(5e=dwfs~8z1_M-x8TJmdfEx~r4 z(VTRBxbP*vFNA96XttIu$ItVJT1q@x+yj~0!2`2v@1{~f^$L-|yDvyMQt-*TsU;Ed z3*)o~UfAHdXqQ^iQHr%nfk*;N-ZjUDy#W5wm#2qYasYD0dslPtN`qhr1qC-Um8p%d z&u}w5fb=ChL)7g&H(m`-+^3=~fo6MAVINox+r>q%cyiI2^A`>QZ;r;bCL;%{Y;>hUOt)r>|dr`vsK zI+FNqT$P}@uZOdCY+C%QQgFBkPq;r@!P~s}mwTp~(T(Nl37eaWIrcABRRW`@yWo+Y z9edSB46zFBb}C|U-wAd0!YxFXy+ZiD4A$+c`BwHo#JCtK{?~?m7Fg z0=b)Hl7Ju9$!>UEUwTrsmyWS^eej%~A$NAwKiw1~ca64(jJm4rJQDP_mIn=*6a>IG z9>^NG32=={al)f#pNLBSTzuy}r_N`dhi-r0LjgPh-uXGcN`^ZC1`QI$EOk6UDM{j$ zvWP(!u9VG_{j@sCfa5ddo#ycaH-7}#e6thu_@%jBuMb@FZ?=3}!WaAm>Dx7VIFSUT zDO)v>xtHLWp=Bo7m@AiAFG>@$sAal)4GIo+m|qPKYXi6s4<}v*rypMK%z*sljX%c> zLJ^>J=1YzsY7eY4b!m)cR**Z5&iqx)my=h?y^1qGfam|}=SYSD-XBQ^n&tH3aQg4$ z_LG%(0Vxk_)RGA<-&xi(_fjM8gtB_7AG=Ztn2YBcw&l#9_ifzgoGekd--$Sclt&|G z&xmE2zWm-~Grrlg#OVyZI0n+rR5ENT=(AgK`f$41^fP#S`4Cwau5HQNGbXE{`Ho%` z*}FmN5Bu?@(E|R%msUFJ}B8pv9)A>Fr{Rxatzq-_q$h!8* z*=?e8Sx7oH3xi_#q^UN9aOj8VpPTr#e8L_3*zFh{!Kf)jI|m19hOT8Z)E})HPsV8&Rj}aej@r z?DB3Cw-+F56K~?BtOP~^0Z%|m9+yxih=Q`rg(c_2M%EH5Z41w5fkL0xjQM|DR$OB6%wCb>0RVC0_t9-Ug*4OL?68u@2`xufBl?>+-Cv8 zu-x-o!N^EE`t!{+2NE1Au5fiJfWIx|NJc2AwV!&A1TCNFd)D5cK;SQP?fAC7jdcmX zmX`KSA8!ihHC;2L*=6cP;LGnZwpYhu4B#vO7cnjH-xJdyLK=-!iNSCN(4hzr8e~}} zHv75;V954RTRDG=H)$XUk<|vCcc!MB-`GEQZS}a7Ni^}S^{9|>z1VOuQ$~9J#>a$K zyRBQ^c&K&;kRrE*yP;MQ9yc4J2`;Q(bG&>+O|oZkE$-Ke$PWrs@;EyzV@WCpJQQ$C zFlVH5XK+FNb)3+3R%l0;=CdM!5!}~vkbYgfW4~rpZK7olY$MFfway`11u3B~NDP!Z zpNbdwjPy@YteZb<^(6326mYTZ=u1FU*jJUhgKFtk8pfE1B#T{Rk3GTSWGGyj$MA?5 zU6&u1k(YXQ=+IK1{mg-bLY0)d!hK^IAOHU|rYDBvjo7FE#6 zYS+#vdSmmj_2;3kHipL8mvb+C{u~W?=E{kAp{ngC;pX~}A&0An;SPWsJxrlP$V>78 zUkzz^$mMIKXtLk*CF*rgpJ=CYHiz!(>iKsy{534&*%UMqs{&yn64D0vL8c>T&a+_= zK#s%F2&0n%#H)MuNZzNx{8Vm_>@F`iJH4-@%EyPBmR2{}FpYqmB|x);m4Fxfa654= zfC;0WnA>;7nLg58I{zp!e+)cb>zv2IUw-ayK61xGgSio7^Kq>q_%&@%;Eh5*)$o&8V^j-G@q9=wDBZUmXlvVJ#BgKIYr&jDDIauw6P=TmP9;FdZAr4JI*w|7 zQF)FI_j8TAx0d$&8>B6Fcf>RNt6sD;+^GDyIzV`f$UVGRLK{?&M-X?T7QgmoM=(%< zdK;{{3afht?yf%^iQk!eER z+IS@zG;Qtn{~|fbd#|=mt=XyHzqKSN4G~<(=JOAOG)|lV1gPkW>#mz`U(AT;GAFjp zeltbZRU{So2|g@WjKV5t$9?JxlR^-)WYu4T#!>9Jww4&~ujGq{ml%m&OE z%2f|Ut&PuKeTKQ54=rhJT}IrAhih&l0$>A?5Fv)lH8%U(c$FtZh($)ZfHVAT@f*zp zIJe>~UJu59lxd+KW%@pclJVn5nFjb#rjbf<0?MvocWJ8W89$-q*RAU@!%M7Q#?F2+ z>|i(3E9pAVcMTEz7;g>bJzFqYJ39R4gaG83x>mL)2{ngM`n}jrJN!dx?Cfo{Yh#g_ zY>5be^|}zVfDqAJ0^T||9(tTl%XddP@nLMD~n{G&Sj;0{-(zTT*1(eqBnE$6a$~5yv$iT54!?s+&g^a={j4*xnt)t5qt3A7>gW zloWCMhUEAI0PHw5F^_-68?Zy2BA!15+CMLvK=s$5*cP`+lj?7}_7L{y%FIx}V;$*d z9&H|$Vg|;Z%VnK5enHPH>S1$#ZMj8x+vHx2T7lKFHm_t~ zQ+L?HjlLe51F5!!R_|L`EB(E&9dX4iS*}m64StbYa*`%pi0Nnq4zL9og&O7Lqok$5 z(^eIH`-dH8=cD_{Z;kUpKoVBLC{O+8iK$ZzwR9_jYfe_&#?XLh+f`i?X-=Aqb*pFx z1|8~I=e|w1$FqFREzifOu#Z{YLPPUd1jPtfK9{i1nVZNJJO75Jy?*~d(>wM(dF+dXWV3&plkw)po-VWs5( z`ZKKW>_OXGUEjmW+Gi$Hlc4MG5(v5gBVhEsz(;EZhDZW^g8EVE9KSMf>0MZbxB6CO zQzglI{;XYRR$cSy#wbq}IYOyeF2ee2Hpj+T(2pc*&5K2Nc_IKoj=?0;SETzd%DTuH zBcnL#x7+F4T?{CJA9_TUwcHz2Vy5I>g}QZW&vD(Bzrs0au2zHImk&}EoF(wC1GLon z>ls92FVcNG7QRfboL@35W$n6^PhE=sTbd@RcVk8i?m&2tQ9X6pSbV70fjL;#f|2>D zMzOiBxn04|4sYGG&`vjT5V@J7us9D4*6&Q1!CNpu`h@nNfgKQ*b5$)ra@-~R)j^GO zdno1$=Kp?m`P0vzpO%V|TnC&7)+pYBztUx@%rK zEvP^hwm)QGv*(#WTg^?%arQ>B@#}-5>970?q*SXm6WoZBE8vcX=}P1HZc-hi1r4Fj z`D~DP!`IEFdV26?{A>OVU_0Nio9^${FP9i*6TdweHc3-Jq4-r@2er)`RN@(@-}|?? z?pw`oNF|iEiBwdI)wE4Nh_GJH=9lFq^5@0Tg!3Xz!c8RX!qH<8k_-WS%?K2hk-;^I zK_||z1fR@Chcq6Dkh=5Z-JPua;)OQNChm24rAe&LoT5>k1LA!OAcAn{u9*!WmG*Nl zfxQ;2M}RjK&#H{F%L%f+FZJz$MK{9XtU?x3>l!#rKkY=lC@-((8>rKO4|V`1N~2nc zb>InZ6!bR++q1^!`1J6X!O8Ug*Jg+ObwHmwd*0RsrPf0{q;5OaJZ?Ln+#aL_OT`e( zJ{lhkQJKSlz>ayXBv9@GDU8=W>fgIE4#Us3W8aY929{NB$5<=WORd&gsIJ#3mVv`M z{*jhSGpsjcZo*1oxrLJ5yN47n+oARC!Mj$p|4`F;cc>`COXlqYp!`5iyJ$X_Rey*y zkPJOV?(p*4cA3V5QH>c5qF?Sd2p`^$z6N5{vJl1~8vzOPjEgZ*k36?NHhz`S^pZg4 z*+_J%-b3NLj{Y%yan$6NiTI(WS^lA>i_i$Jh@GLUey@|=I)jr7ToH6m2GIjzu1-sH zs(?azWy((bG=NJ3?+PaASzZrz^4rz0>u31*`Q39Yy+7Hz`HB8e(~`sW2YTjR^4(fn zE~D1mcMuPp)3A=Yt#%JrNO9mR7FygpVtq23YMn46xf6aZYfS}yCsUA0H`A8_=~Ot_ zwNG+raP4na$d*v5{l)+bOWKQhsv0aCg%~&Dq_WMasM@})ulFfl%-3u5*Vp)jvdfNm zfUgiVYN}?A8M0kF>t#Wn6}@~Ys8FUt>BsyCXf6Apc~3BA0g@rSN6^qB{Occ8*gNdQ zCD^Sem+~Jj-dgNyKzT01_xQ{$)z8);JT@5fNjG=|`lL0pyU@V&ZutooLqIkn{ke<- z52|-t^!w!U8Gct5$B%echT-OlA})^@Lg0hRN}cOSO4_n5bZX+l07%e&tAck5#tW6w z(+trbm>Vw@mtW+pjNc?Xw*)o;=hV~me3*8Hi%d4tF3aUyGj)BLU8A{J6YvR+WpP7F z6anL+k8W*6V-+jsrY%77n0|WCd$Ho7&EP!6<$wG|fW%3tj!vD$IE?W@Zs4djsqRJ* zr?|aTR1Fd+3~18-v%ygWL0Z=Y!1k=&xX+ZKpU=a70wZ#Wb(RNGU9 zni&_127q%NZt$cb$<(rOC1bBmZ%!r8r=jhpD|-b2VGLqrERcgc|^N?!FM zx*CEU!FHUDg&OZl|Z(#2^)M~EaexAz{R*tbT`LehM zol26=t*jC+7>+!*x=opKDkSgA5jBM9^$jZrc9^j(b}Cim94X$OfLHE_Lu;V${db<{B07^&$3c=N0x z(~?92g^>tpumao)REg5{Zbk~b2r936G(Q4aGh6|Aw)B7U8 z8^aKXEcM&6u!p1e1sKZv70Qm}C!a8?z9=Z{@gN6(I*U|kX9Xu<%_aAlHIiSFWoM>KH2FlT`E=DB?Qs{<^Hq`y|LpYsDqVjc@6@}3{{x4*81vxdSUDfsnK z%ezY(`rp@I9@i#$VODdRdlt0HD{6DCtD^4z{9{c^;({;n6TEd_tjewf)UQNoEs(vo z)_j)pK8hB)G{RSHcXhqHyIt;8hZ5H&V<27R1LB4&!L{?7VV#He3r+L(_z3Tf46yxX6^ zS$2m={lSu|Y-0`_ZuZLn!LF*4?$o#L%~KUU;6!49XoW;F2ZSwm`Daz|^fC}Q)My0i zm7h~BlDrr*?q-@TQz`LqINLq2qJ79TwZ4xkt8HIdC2|G=?S;3(PRIoZqiiO>`fJB+ zjIP3<_!Py-vV=m>a>ZL<7JthH3Zj%{2|PDFE^oLQi~iSP$G zFTa$j^fKGw_)e&4mtXt+G2=*T-JPrXD|SRrzfN!g_IGo&W@kDG19ZI8f(|SPBdC=Nff0sbTH&L&d?90-#ljyb9 zG=7#*`+ETyf47HVOdXfjJhv({rkD;tqL9SM%x*wtK1Gvsf=T(ROjbXlKDFRV!~SL# zMuYJkXR%6|B!@vyBlW>fdGY>byxp&bk1s2`Z{6|lzHJI9cks6JWtr%KO)By-;L<9o zTUk;YkPJ+hq|PuJ+kTRj`El1#+FeDLowmMR4N1g_{E*xeCv*n&h&O@`ZssRY2UtW} z?T*Mms4c8mLJs{XP%t5)z}>KC{?eG4anB=8OIVy+M@*cZmY<5|A#Hwie5{4B+V6-A zr7Z$jXijpvAj=88yn7XO5Ih&vZ$u1kZo56sol?3%x|u<@^zU0@`^!zw@7vqSAN9&s zv*xH)S!K$;nT7Oh9p+WgK$a^XJCCl;E)TSZw6bVmyiM3#V4sDl?+2Q${SRn*?#-?n zw>&52>8Lad)>?V*5!Dk>CN(nW77utCsKr!!0s{FBX3crM>=`gcsMQI?`n$ipf*&i} zZXG(GV~O=l!t;#|7VMCi{0-b`qOxIas!X|xuMVHsJsVyqpprRqvMv}wiX$tJv+536<7 z)x&=NGJOmT4>D$8$7A8OgGm%8;WYKdwy}})zgH%41 zpufp+2ksX;qaq)|?)_15Cvcekv4x5H5WP!X4M#*mp-Z}hTcS1Mm6@SMY{j1B@LhU2 z0H!pJ45#^tUZZ|?$6>eUo5L=Y_1^P*J|B-?yHv9zW%z?LMI@VDQmG|{r;sAFYc^+E z`3L`ltb5?jY~iv69H(O2wkmc~v29gs+o~9EY}>5Zwylb7JGrTIzV3Uw?-=_(?6vn= zb3PysP+AN5i?8ZE`E-(yBii(vJ3coy{f@a**KzzF4`CWFu1== z?0USmb()1Y1=#nZTUpbMgsDqB$6)hT6O90O+Q! zw6}euQ{LKtlX}rA8U)NJhM)w?fPNta5 zHriSe!jalSNo>`tU{Eui=efDU#xO!d;2U&lh-!O_e9?#X#pw{6>ZY^z*ZpJ~Pn7gl zYlWe`QSf$TTz>aIewA67#~phKuqQCz5U%FA)Uz*$y`2Poxaz+wy?ko5$kR0x14U`r zxUz1TK^tNrMH{o@>$DXpR0Jh=BPll;wIy>QF&36=5l7qTMG1Fipm{&NFUr!20spr$ zP52*WI-8>RI}mk)WUI|IHA*FuhWFRp%L;t0BDhC$(M;^A!FcY3FJJ!ho5;sfg;Bl= z0{Uy*Y1wFx3}G3Izbl&j4goN}DP$WiZ60X1uUCdERVsPJ~j4AWu#Pi6Y|e=F0d?yPf@V`ty(le{?t=eBUS3xHfYzYbytzryYQ z|0>g^dH;_x9n>jqapd#?RU+S|<%ku0QQx5GpczLAm1I}9+8fBN5c8!>*GwT{MWj|$ zSZDcuxX4CiTYQWj`&xZ-u_paepxKM zSgEN9S!NlfEyQD0qfj1^i03W_N~|VghWNqP z4j1z%oU#*${FUmS2Zr}jCJw0utsRL*<|In0 zw`}0OK1*4tpa#P!%W@c8R%MB#`UR~?^yyi5;wm~4v0(WpQ*L>LeJFT3Hw?C0DG#n? zUP8&ru%MxFFm{oeKEVv~nX(xv$kMdjogqcx5U&Fo>to=+_4K`%2Jdyd@eQK?ez%aT=DzZjQ|a+`C|`&DS(8kXHyVf5%cFE&uc4!6 z4Xy;fJTC0*4>qjkP~0A3Z2zN_cX%|nga-IG`Q67A&w6ySC9ktWDNTMe+C6q;uF=_J zyDZDJis!{a5QIPiFurD!Y~+F|PBID4$j;Hn!q;l_&$pmGuh!Y(%Ysi2O`B3ukKtA> z+uJ`bWV8r6b&#Ftu%uBZ~~$NyZyx^pUe3dSrjn*;v=|(k8_sIVjnI8El(PbM23iY(CAAE?jmNav? z+K1G)4`}2uYLP)ZiT@Xw#sTjA#=}4OHdSZYr1*tQ7yN@v6Jc+qp6QL%H54)Tbnx`hUi57%eRm@zZ#qwXEp3!eP+436aCWOONrdl@n*Dkr({FIo33J z+~*(*AJEu zck`|Uy+_v3vwwkdj-96KF1b_AX~UymJj88%NP~EFbS&FrO-mpreWgZsJQZIq6MjnI z|3TZn3@fWBlzbxPO2g^LU0BzbB^3pPMB;{(W!WuJs$%trlU`t~{GziH^X1m@0<#dq zb9Bk1)F0FanI(jb%{FAoDrTKTYxL%xO5fXT^f&d1N|SY@6%X9Y%2ZV^cdB=bzBU3o zLg1LfjbI>u9@Gh|pDW4&>FNpTKgKk)pbDC*#QsVOv>oUz@1%6vo<`@?NeIB!r=u;k zU}|oEJ~ZYB`Cnr?AYjmklLiY#Vp(}%%;GMpXvwr4w*ZV_vxseC+DGLdV_NdRjA_ae zaRpOzYLyITFw2B;*6KwusyCO!#OMkI;2I4XnsGR=wYk$t>aNu{ZJikAf*AZCbX#BB zZ9%Yp1|2*d^DS~F>rS=~`!He5_Jfk@f*+ek6{642OO+4rPX&3)G{bWVh7)&+VUwt( z@Rd)zj<;1yoQg!d)@I2TG5)ahrP?$qdStUC;Hz2h9%vVz7DwsDw&&ty#ogLG?(}XF z{@qZHqx!bY{>I1^CZ^E}nG|)_<)DV3PO7dz(~eRfx6k!QpJw+jOCe2<2x<_u>XjqM zjqt+!-;f(cOT^2|MkBC2j<{s~&VxjP8xo+#{Y%W|+pZg}6epLb2+Cc)-+6S__s{HN zd3OG0!Z_OaX)okrFh7xE+&$C_SxRtX=ayNGJi2|~~!PPnXA80-CMS2#G6W)vMb zt4Hn&I6sB79G-F|9K-YTpn+%71&5teHQ2jETJu`6q|0MP z{VuDsQ9#K37~54)8bHNiE_rC|k=7W#ccYwg!!)9cDxeFi>(3^?Zp7#X&sp7y_QWr{ z{^>lMkR-5P)*WrvH%^&2301)+#+W_BVpJ5~HMX1M!-#YKzKisHuBpUQkuW%rIpsiN~F#!aW{5VCR^eD#c+wr=;)b#dw20~9T^sCOOPcV@skfIe03focu z_!J(Cd)`GGbVSdh0!&!(VD>ys2D>X|y!_^|`th=g)--x3xigAj(dg8h(#?t%IdHTe zM4tQ8woH+@w0Xm2K=E*~5CyHb*mLrl`X?=kE!Zyu0Nx(oYlkpe^8&q?_y zAEic=R&Qr;>C>nTFQdEPsIxTLNY^fr~_uqfK^wQrTg> zNUrNzZO-sSJCwzCv0_8nlCl@>_Uj}&EHkQCKYZ&R&{J;@O5D$r%XDS%>4uD#*+#V9 zY7J9K3kzj><6I*;$|ArCq+DG6Vl;uVyP*FYm|m#L`3IPe!6W4bUO9HFAq^iB;WTE0 z1A)WR1Q`e!Y9Zd|JAN!al>6XO_eit`VgN`o2vzVREX3M|nX0g@ty7UX&!TXu_o*nW zjo*^u1WSr8P^wCd6(lXCyi{%I%*}F@&A<}cG+3mkltHNiQUX1D|M8_crJ>JM<2ZXn z^JnjTIN=^zm3&q9K6zR{PM~TKj>Y#18!uTnn!fI};4&h^sjVA=VmrjpE`Y6k8b-r!>6N=~s3NZ*J`Up(P-F z$dKPg5UF^5Nf!y|ItbUx+0k2Yo4gk{-lNYVYYx*Y&FHD7Rdz93(S%bug-)Gvkt2ke z>Xh;iF2EwQbe-QkneO_cu95hXcH#U+O^Eaasi$<+(93_LVGkRh(d+!>r6d30r49N= z>A^0?3DMe5*p3X&mOi?en^+E`LzuR}+Dv5H?AU~1PctdTc&#{USeBVbbglmKRR1<&Y93JMDA}Ib2qP$&hrK-Je?+zAO7J7vCKYMRbNm== zUMUMO{w6(V#T(Z-{wCO=?3d!l+jCYp*_}ZJM;IGR!%A$|I0hMVH<^eJM|OIJLQivv z-e304QHzecAE02^y7ig5XggK>y@yOOYFPp}XM2w`psrBnI93<5fO<&`FdOrSR7>Iv z+V9!)1B;S7q}RlL77O#&UiwFeJc1rOWWuhrW$KmU9aZiK)hQB3DTfkeAb4Crh_@jI zSCVe1ojn1uGL|@5o1UBecVq?W47q80(HksVk1H~A*l?+Wq5|&DPskk1RUj0=^8=Wo zwG+X_r8Y{9Y1UsD@pJtlK<;Y5vuZvC536LQXn&8vm7p)mf>iyCtES^OqqLn{Oa%5F zp}i*LH~@&^>jtQ<;P7#Dv+i**2tV~e-LJX0053opTjyftSq2%e-b3iGE-hYSgu5#n zC;~8gvY@D#3Q5Z5r??1Sc{Xt^z=*f;hxO6R+0w%Olb|8G)#x1sQCIQ=}u!M zrBSMLV?lznN!JUK=_(yq?^QHCKaoT&PrfEQVPh-E&*bV!KZm?onjvSB>n$bCfjC=I zQ)8TU{O-A;_S~m8{{CDpJk=0S?OIW5-U5AyR(>(j?%D!d)}ovlOoz5#fYm8aXK0GY z_3SiumweUcl+-&ijUd{Jm($oZSeZ2@eki6lb4=ce-*34-*`fsft2m9bf4+3XMswovdn@ z_PWKU6GZKAN;>%+G$k(8i1i7wzi_zX+hOsfeFRI(=4rY`>@pxFvqS06*i71p#$bd; zdf5w9;SQNfpz9IWN#S?!g2erJ$Un@hgM%6yjjS?OVkwfW#u_l`90RNYuG^i~SM5(FG!xayg}CEUf`( z;MbktC|Odg+tF`^`m-#Ce{gAh@d<_QT#zCEMncrke{kurmy>{#1|v#EZBpamjWnPg zvLMDUT$&cR=uN2iUtBue9-yK({l9Q&6ua3`uPlr@9phNF?d71c|xUZL{BFjT!20;jOEQFcS~UBhDH{u`H`_`;>N;g5nhd}B1bRAyZG zzC-tjTi8h=S61jm;QhqQSWBYP8D$;27+5=DJ+`-vOFa-ghmTQ1ePWurw!Oc{Nn|Bl zoy%G{TfuhTh1HitwkMow-QWWLY7F(pCJbH_B1mp~C=F0Eoo&WlTvWruU3Uwx6#wAK zo=~oFxWRrkyz*hUTw?<#fRd;BnH4`x4MygYqKq;iqhu<%hOiwo(5Q zbj=kcr*E#Ta9@cmJFndy#nOs%+3oivO)|E6ywvMSJp3)7?&%G{_)2j4NTW!I+{t~u z!bkQ_G~&6CG%z0$j2f>KmWaGdh#_<6Mz&aNV3#EQ%U1*CU`&Jh3e+#-^vynx?qkL5S zJ4V&Y8Dw&cAb(|Yw)o-)Y}@2xssrnUIKORq8_hi&)bqk;MJOz1WBtQVsDwK1x6l zNbs0l?Vs-OK7&%ILHGvbHeQIDiK}W#!&0efp~461>bB>P^li0^B(Jh(N*szFl$}uE z=*yOHFF$#PH|N@U@&{9m!QkoQZ{HMrRd5V`9X)&q)gAAe*{&t#{Wb$wASLn`WlSJO zGXm3hCv?)tB8l_X(%m~t83y~M2D5krfebE+60XvBRBi3qn(%vLnos4&lboKN&F|SB z-@cBqc*5j_$VAcGNg7tre>=4;AdX_@Y;A%R0Ow{iSxJmz zL1fNF3?MzHGjA({u6%63DFD;vlu&7mRdqe$2ZPimTVQ&1>}sb-*4n_1Dow+D*apf# z!H|&jQraqyd&7e2B8a05wz#DoG^mM(9F9>^ct9^93a$I6NwdMbYSr zj+<{GttBmA6=D3BmInTpmhS$dr4u3iw$KHSRiW6(&6j6kpH2jiT;b0b}&}5|4U1Qhu5)|b0r;_Rw=H@p8^YZ zm{FTYuhpAI*}Qc2Ew1G;C*8S(ucrZtC7o>nmU(>13<~4sWGd8rN5^Ie~@3%5&<}*InGeb zq8qAfZ_+hau$EJI!2l_4r+)&l*JrhVFFr^!ih!J}OIV3uXmLJpI;Gm=d~d8G23rpB z&Wx^w?LaOf&Gu@wtQQQ`Pwbv_se;IN+|`U<^>-if#QE8v;ywXJQD~q7g!!#cs41g5 zARB|GP>+4_P+v}Mk8$fz0it+)SMCvmy8@i}iYl%Rv|uYK_TBH=BXU{KX6h>8|dG0el^Qlq%;psy0~wx zman>ZV!c744W8CU%DY4&w)?`wpIS#J*=tfLT-TZ|pKu<>^O}cZ5Qd1#)(p^XY>^M2 z%wJzQ!gcwjhNMegb7nINk{;QH3eQ9793xGGh*wpv6lqBZEf+Z?j*05i%Jv-sx-Ok+=XXwLU87bV00|C4gYy{B?$0)x;MJExgN2=Fe46ts zrl}Qy;w`?;K$#C{6n?q6ciP&A(;-099i_k5P)|YGyI*>GNm35jC<98jbWG&)_jAtM z;5N`5*7)4x4cf3lQI2;oU_KnV&z>VGxUs~$>~SWrYyHoi zg3{c@c;fnW1s#!l%wkv6SO|1HuO24|swc?X(CemD04%EV`KDjXf<(GXi%U*MvKZ`q zoJE!b7(!rlT3dxkydg!0J+=|p@p_hf>HHqRktd_LrFIn!Guzcez-bs6O@#g(6OqZpKp=~BhnP8@phd&MO2KarG%Cp$JcmWk*t!?qz7iA~(f5uQc zf$!GnGIN9DwAs1^7ctDvi%L0rRH14bgI~NfPP;UoP5m4k(T({gg-Mn|aMkIaOwD2f zem|Os2od?cQ02O-ZVZ+JjeW;BwDe1W^jeNOTmt^wxRF}BUTRTLiFg4KV-2nvskQykaO>tk&6yZ7Pt$u+)Z?@GYW17 zqn!U0K8rG3I@Y#ens132P;0V!t0)R?w9V7VX18}+db%m|;lgrj8|i#**Q(ueortS> zZqzX4{Wey;S80@@8DJ}6B(1E-4uW`-z%B>nT;km%zfnK+6TawEpLDeWroEm+N#gnY z!W8Z9gl3%hSZPR)81|~67J#cE2^!gKtp&^eg&L{>HQ_(BbRTx~=*)6CG@I6})e2d_ z7cC9)A6j~*uNXfQ2AW1a1Da|!X~jc#bC=u~+u!-Tu@)b4N@BSzv`}jGJJf&C(s60F zoPDFAzER5x1z)tZ1nyg=MCnw~e`smH|IpIEtX+dJZ;!5C5OA~x0b`~KpAVvk+6}S zoK+pZXz68J3FN)O6FT!gLGo&=vE(230N)fgQRpT6i&p@93L~F;oo1p>#ZM57mYgCI ziAz|xM{?Y$M+5`SH0+VZYTw3g)_@CG76I^_pE&;^KhNbvs znc}xJ@(+KSMz~+Q%n{E-{q!a;pzHfA(1@)A5b2P% zsU$x3iFca`4T5$Z7*awaD?`@u>ebqD2(Y0m)Yq=%2j}_6M0WGr#Pc+;W`@pJ}SVGn-Yh3EI8mvKa9iq&#UzQ8tLQ0yuQ|_x(;0A5Ic@0Vyf0k!kjlM~x z+4H!AK1L-I7{U4DK2@c#{sFobceY}h0*#Je%jNN7uFL0TdXRsWVb+|tL#ghLiGIx_ zHy;9if^8i?q2idf2VS6Jp-^OQi+mk63%Mv#Wy#x`JSb=DX-9DV<>m=!A#4cwQe$VDT2Y!tUe3fTgVekVwm!M8 zmh7x`R0|qDaHKWhe&@DQP>3klP(Nlli*9)kJS%rDnTT1p-2&8PWj$SSODUzotoi`o z-?x^so;+fDH~=oPtwf?{=|qY^`}M-ye7|2RQ1xm~TF3@vcvGn|ig?v7DpZs}S2Aup zl21SP`fOd7kcAx%9VUo76jB^Uo%drUV3Gf)EM4$dmWJp>3nM0A}EVUIL8LL`^-A6XiH$YP2MfAB$3 zIdKi@XOv1HX!(Jj#Ye%sjc1RM-4^*6cjKf(^7l&!l%2Kgt@!My)|~i!73^aBNXjd9 ziS4-7AGSdoxtUbXe`V>Ke`M*Ke`RUERO@elW$D-_W}gr9_Kq9)cP3Bw?&4GAFIgJ= zf5_7De`VK(AOp#~N!+OMD8SnQhx)9@@dp`bKD>Z4s z4c`WfiJ6%&qy*Bta=R9dEiW`Ae_xI7pN{OuPcJWGUtrtu+EE|WUXWZufn$+0_Laop z1yQmLQeFGsZKjAly6>}L9gdq^v5qTG#j6#IU8`*fw#oAc*jsPsa=&7(&EGK;{(o5- zj26sqEeZXrJ%@G=N~^G#KaQPxSfL@+W+@q)Fw3oHX}o>*MCTR>o}0?Wg@o6*SKFrd zSSp|m84WbCKRm3a5q_uK5i{jrvRi&SU?HAoZm{Vzna$_(nEiFG9)lGZP!!-1cu4>B z8Fxvif??6<4U9h}r6EEBAqB~BV#8tnZH-*6e66H_BH(83;ZG9{46Y?#%SqPWd`kiB zyh-(>#3#iNlb`#f03E3?CDj)!{pr`kAubVJraTbx1PKwE}83Zd3{K z95V3p9yqf3K<@KGx}~UOE4rS)00KVguPco@1xH}rFtJvZ(E)lqhNz}RFgAq!v)3CL z=8Sxnmo@a{5@Pej8S-$5dQK8KwqFpAw$fi?nA`fuYmA~v)%UYprlGQct$yT#=NK0woBEcOchD^^PPZ00e zUst*m_RE#t`RhvO7_T#7=IO@O%P1NZb}eULOHXae0oW4VDw> zl3ELzN*MalOM<i@*0PA$SM68Y-nFqmk)L#ZcOnlO-#_smoLj5|IC*>^ zGT3#0@Xo4W^x(;+jT_;wt`M%!d!Oh`%oe#6`GSY?qeNf;q#Uehz#eYaRb8 zrMIL*;;IpoUNdED8hq>^pN@Xmc8tZ#eQ51CJeP`NS(I4e7XOqf{$oH^6r=c9m~X3! zAQ)3uN+cp~1N@QqLJex^9(Cv?tGkrHKf~^#8f7p&P8F7fZ0iv=)>hiWTZz2pNdh11 zaVr z;X1#qz(BOT&jW12rKg5v7j>;HI5zVK(B<3w{vmf&CJP6=u44>Ey{ebP3zrf=g8TwR zndVSJZ~tw#$}k-}6swKSbYc3fzhPqY{LLZ6)sXkJmbACjhrHBq13Hk`5Ghh;{}{9=v^F;Y^uZD}6(~ z47TVbgm|p=_cJh#dbzH#{LcOHp+j;XDw&K%hCL!{aeG}Uk#t!lfN5rd*v8r(5O(<@ z`Orxpdy;OyB3UBiJ1qlz#1j6_O4w&fM?=9i9%+Sw#6PU`)fX#W#_pem8uJe;Es`JH zY895D`|>1bPRo0Z>MQvMsFr&RuBmkSmzBo;U#v9bUsk$YRFVU-`}Riq<;gqjb9Rxa zVX8KuS_OyoA_*#0un#{@%Z<+smR=>}dII|iDxthB;+4l<-krtO*TXl}^x^3|UrPL) zg%#yUjqRrTF^;{f^GXaqD2Ut*!_-NYRmJ>7RLVM3)L6iLo(0)0=tzPxaXxN4*Ry2j zO25lut7&`2S(0mH)ERb^ox^W&g!W_kOX`=HT3Tn1S6V7m9tc zCbPc{B+$?mck7Cf&Z0KG6XCw8o(58VP=UYYXHNC$Gw#n-jblr6`mJu%ZYy3OL2tCF z4Ix$lt|a6&7S!>4EPpUC{bi+D{<6}v_h9hxu-(TT-OJwQ2<6W4a;(mI{*7}+)e?-L z0yVG^c%nL0QhY?_Ea0ULZE>?GOL@NRcXAz^?2Xzy1}XB`B}kKqzk58an3n1w3CZKw z0vmcyT9XeoG*=guRX~Bw+-Q-e)YM-K`K~CIo5~`p*P~B0Kb({=^Gw;FYux*&EnTr$ zIp_`gTFb)%G4n`lcZV;?1cQQasqV8_A}QZ9=ndK3Q2gE=!Y;SRZ7$!Bt=QF^91pyjmYUv^WFmi7(D%y zuq3AnEhRB7H|hKcxS2h!5@t#lmVgOj9$ItL<}4@IR|_kt!t_29+-{ihx3nBS-@_n* zHZrf=qq~=h1a0%f3d}7*$Wj?C056NVj^I@TO_rx+3-K9w#~mb+|Ekgoe^u$KFUC~r zuPRMg_@zqMG*guV;DD0t$Tm6I%o!0$EzeI%6$_(A!v9N^-unMkX<;nW$NdXkI>EHg zlAG6X9BUo=Lg~q+3004WQQxfZ?{kHE&r7ceO^WUuQyJ)t;bjMOWYW0;iFk|qQL)

;s<+LnJHY{nHqPhJa63lCsXoO=f%AK> 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 z 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 At^fc4 literal 0 HcmV?d00001 diff --git a/harness/experiments/analysis-mixed-syntax-20260923/manifest.json b/harness/experiments/analysis-mixed-syntax-20260923/manifest.json new file mode 100644 index 00000000..a3543874 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/manifest.json @@ -0,0 +1,561 @@ +{ + "schema": 1, + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "payloads": { + "baseline/full-f1d79df-comparison.py": { + "bytes": 3499, + "sha256": "e88c0c630b05d0568b29301efdfb0c6e74135e4b04e27a1f71f27954b8809921" + }, + "baseline/full-f1d79df.comparison.json": { + "bytes": 3864, + "sha256": "5497ce589c3e8eea6158055af77da598aab1a7c2a92af30c7264bfd311ec89f4" + }, + "baseline/full-f1d79df.inputs.json": { + "bytes": 99490, + "sha256": "6a4c7e3c8d1e6edb7ad306c19abd05009ee410312eb34b68ec30d6408387967b" + }, + "baseline/full-f1d79df.log": { + "bytes": 28480, + "sha256": "29a08cbfc02a83922f90c00f0b48f1aa403f93261457e65d29e3b9f46389dce9" + }, + "baseline/full-f1d79df.result.json": { + "bytes": 1234, + "sha256": "a1465abd64e2b3a29388f5da1912dcb87bfe9aed618c122bad557ff21c52c95b" + }, + "gates/launchers/3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a.py": { + "bytes": 16167, + "sha256": "3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a" + }, + "gates/launchers/471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de.py": { + "bytes": 5319, + "sha256": "471a2f4f4249575bd594ea0994d549abeb0f53c0fcc1a4e78cabf27aaa24d1de" + }, + "gates/launchers/83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364.py": { + "bytes": 5264, + "sha256": "83b0720457f0508c8b8f828304e63102b69e43f1f526dde57c0c0ddf99f1f364" + }, + "gates/mixed-clippy-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-clippy-a578-1.log": { + "bytes": 166, + "sha256": "36f453dc344f791cfc5bdfa532df3520008887de673b01c76edac9233e18e913" + }, + "gates/mixed-clippy-a578-1.result.json": { + "bytes": 1717, + "sha256": "c6f408b0963d8da7514ea87219e5a0b991c04d3ea9f9fe25f7b45752cb57e7a5" + }, + "gates/mixed-clippy-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-clippy-eeb1-1.log": { + "bytes": 1996, + "sha256": "ab9c0fc8baf8c56230b448f18b1de8dbf2d8e7c85a1f118aea369dea129f3f17" + }, + "gates/mixed-clippy-eeb1-1.result.json": { + "bytes": 1720, + "sha256": "886eb86c99a261af00207864ba4717735910a092f3ec3352ff455a960de38881" + }, + "gates/mixed-direct-full-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-full-a578-1.log": { + "bytes": 33333, + "sha256": "3af2546378fd0cdd634dd63791d8b3475563c49c19d28aaea1e3a35a2474fbb6" + }, + "gates/mixed-direct-full-a578-1.result.json": { + "bytes": 52372, + "sha256": "8ba1ef2dca98440b57280ebf0282257ace79a0f0ccfde23f7ad8e7e2c255a0ec" + }, + "gates/mixed-direct-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-direct-list-a578-1.log": { + "bytes": 20334, + "sha256": "37551f95fc70a422e394712690bf19b69ad769890a9a07eac73bf9e0fa843242" + }, + "gates/mixed-direct-list-a578-1.result.json": { + "bytes": 49871, + "sha256": "22db9a6a34d1e0800a71ec1ae88e1f18467d1c50a10a9ad305182d29cc11d904" + }, + "gates/mixed-fmt-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-fmt-a578-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-a578-1.result.json": { + "bytes": 1631, + "sha256": "2648337aa67f6978b77e05479321a35ad782ebdad71b322efc62bb46e7180fe0" + }, + "gates/mixed-fmt-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-fmt-eeb1-1.log": { + "bytes": 7352, + "sha256": "62cafef008281d224d8176df5938084cf17c27b3d31cc80971fbc5594155d792" + }, + "gates/mixed-fmt-eeb1-1.result.json": { + "bytes": 1631, + "sha256": "0ad50da9ef19f4129f593ffe37173c930b0b151cdd6ea00b1308aec12c973a5b" + }, + "gates/mixed-focused-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-focused-a578-1.log": { + "bytes": 2911, + "sha256": "4acfc2bc654210441ab07b45fcfdb9a8496667f768962c1c51a5a06f73011c60" + }, + "gates/mixed-focused-a578-1.result.json": { + "bytes": 2061, + "sha256": "fa586319f22c7eb1bd75e9d9da6784cff8cc897b6b93205c84f6591fa9c76b85" + }, + "gates/mixed-focused-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-focused-eeb1-1.log": { + "bytes": 2806, + "sha256": "1b7d6df5aaa0b0d9828cbbac9a77cb8ace0d8e2e3a8e44d58dcc5b254348628a" + }, + "gates/mixed-focused-eeb1-1.result.json": { + "bytes": 2057, + "sha256": "2b55c0b63e9bb9f3c8a45b934833a799e811b66a7c1297d40ca1b6edb54b4d75" + }, + "gates/mixed-full-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-full-eeb1-1.log": { + "bytes": 33611, + "sha256": "ae9e4f3187d053d3ded9ec2475fc7dd469d5df976261fdc30479070e08cbc2b6" + }, + "gates/mixed-full-eeb1-1.result.json": { + "bytes": 1981, + "sha256": "1f0b3e64142d8a774ad5e59c1d8e8f28c1a94717749b851d22044a41c2e01830" + }, + "gates/mixed-list-754a-1.inputs.json": { + "bytes": 100820, + "sha256": "020a1ef53d3f30699b66358cb8688add682a33960b3e12721f50af5a9f57a3cb" + }, + "gates/mixed-list-754a-1.log": { + "bytes": 473, + "sha256": "ff09dcad13a097b29fe80455f9f34b5df71d3dd1ada101dca3ee1a046ab33977" + }, + "gates/mixed-list-754a-1.result.json": { + "bytes": 1694, + "sha256": "35c109d3f9e05aaae7933f0af955703a8affad45158d3e7de6bd23c35ea76cd8" + }, + "gates/mixed-list-a578-1.inputs.json": { + "bytes": 100820, + "sha256": "91316ef1384a49e5a097684366abc73a16346fef2cfba6a9ed58d3832a270bde" + }, + "gates/mixed-list-a578-1.log": { + "bytes": 20665, + "sha256": "7ad105fc530f3f13d5b108f8856d431cf5833209b9dc410428525368aa0fd063" + }, + "gates/mixed-list-a578-1.result.json": { + "bytes": 22476, + "sha256": "adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100" + }, + "gates/mixed-list-eeb1-1.inputs.json": { + "bytes": 100820, + "sha256": "a0aabf861b1322cc2843edb8befe85f8eaecda5d4d95d625c0f9886ee0435e1b" + }, + "gates/mixed-list-eeb1-1.log": { + "bytes": 20665, + "sha256": "3e07d0c5a843b9a2bc74d4ce8f36976c49ea57b6a14d5a4dc1f334a7e6016bd5" + }, + "gates/mixed-list-eeb1-1.result.json": { + "bytes": 22477, + "sha256": "d0f7afa28c1a7b976a1729c59c2f6c9c7a04a674658a39e04de09106698005f5" + }, + "helpers/analysis-mixed-syntax-clippy-fix-proof-20260923.py": { + "bytes": 3937, + "sha256": "95c006b1a84f42400fdad439958c3852aa54dc69ec85aedd29d79cc8c089c803" + }, + "helpers/formatting-proof.py": { + "bytes": 5518, + "sha256": "731d5c8c9993c81b789edc3c8ab9aa03e141b4334ace8a64c5d101e8315e03b4" + }, + "notes/analysis-mixed-direct-evidence-review-20260923.md": { + "bytes": 6608, + "sha256": "02e0713681e3a196d91b9cfd170bcd5a54d0e78b7948e30439baf9d051c29d6c" + }, + "notes/analysis-mixed-direct-gate-path-check-20260923.json": { + "bytes": 22970, + "sha256": "e3455ca847df1fd25e3c8dd4040e647155a917905f38b8b320f4fdfa17ff3d2d" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "bytes": 18874, + "sha256": "8ad3005d960667267a10e9a73b92f8e151dd4e451cbbaed215bbad74e79677e0" + }, + "notes/analysis-mixed-parser-proposal-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "bytes": 10271, + "sha256": "d8763a22883cf5fdc6a39b2fb8965f5ac061df8553b7968d3f6f4aa0adc17539" + }, + "notes/analysis-mixed-syntax-clippy-fix-handoff-20260923.md": { + "bytes": 2848, + "sha256": "903676efac11de735cd04b91965ec44bb50dc6fa464192cbb39fa53f4276caf2" + }, + "notes/analysis-mixed-syntax-clippy-fix-proof-20260923.json": { + "bytes": 2016, + "sha256": "cd91d010d66fda68c247bf64ce3861aa2d85dc9b3a535da80d7743241aad4a9c" + }, + "notes/analysis-mixed-syntax-clock-disposition-20260923.md": { + "bytes": 1636, + "sha256": "f560270339411c6265127095bd83115143c2f97eb257a20d5f0c64193345b3e2" + }, + "notes/analysis-mixed-syntax-evidence-tools-independent-review-20260923.md": { + "bytes": 13228, + "sha256": "3f7f6dc2621b111c885550f8d2e519f3668ec8a0f48f917d69419485a3638de4" + }, + "notes/analysis-mixed-syntax-followup-754a9b4-manifest-20260923.json": { + "bytes": 688, + "sha256": "87079e866306b6418b4a69052286b96f7a3f92d5567c12ebf86fdba5f5cfd607" + }, + "notes/analysis-mixed-syntax-followup-handoff-20260923.md": { + "bytes": 3739, + "sha256": "cbde5e49a3cc7f3fa6a138680dd4a8efba77038b9489358ce98b0f1beb930218" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.json": { + "bytes": 2864, + "sha256": "52775e006cbc27df7c6d865b8ef0bf1557d9347d52476b40a62f09eaa732473c" + }, + "notes/analysis-mixed-syntax-formatting-disposition-20260923.md": { + "bytes": 2316, + "sha256": "430e4350c506944313825fbaff289260c08134f3ba6c7b88323e5071fa7ccbf1" + }, + "notes/analysis-mixed-syntax-independent-review-20260923.md": { + "bytes": 15780, + "sha256": "057cf307bf914832565fb92a289ac102fdd68c666201af736d7c37557984e0d8" + }, + "notes/analysis-mixed-syntax-source-0fc0826-manifest-20260923.json": { + "bytes": 3100, + "sha256": "788b0ea775dbbe4772358a488500885132bd41038ac8f278542ed45d0741e24d" + }, + "notes/analysis-mixed-syntax-source-handoff-20260923.md": { + "bytes": 11880, + "sha256": "afa06df13a87a2be290623bf33d4643c9ec70a2e38886fb1b971e770db3239fe" + }, + "prior/list-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "prior/list-10d7f33.log": { + "bytes": 18213, + "sha256": "76b9e9ebc0c0d3d8794020dd222cfc94f7dd8cda9deedd0e74e0cd0c3aa5900c" + }, + "prior/list-10d7f33.result.json": { + "bytes": 19385, + "sha256": "4baf130b68e2c044ad3e43d6e8a2e13c611008192a271d3dfa75ee5a7c1503c1" + } + }, + "git_origins": { + "baseline/full-f1d79df.log": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.log" + }, + "baseline/full-f1d79df.result.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.result.json" + }, + "baseline/full-f1d79df.inputs.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.inputs.json" + }, + "baseline/full-f1d79df.comparison.json": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df.comparison.json" + }, + "baseline/full-f1d79df-comparison.py": { + "commit": "257984c5dae63dae116a1438fb2a5d3138df8431", + "path": "harness/experiments/analysis-source-s2c-windows-20260913/raw/full-f1d79df-comparison.py" + }, + "prior/list-10d7f33.log": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.log" + }, + "prior/list-10d7f33.result.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.result.json" + }, + "prior/list-10d7f33.inputs.json": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/experiments/analysis-original-span-20260923/evidence.zip", + "member": "list-10d7f33.inputs.json" + }, + "notes/analysis-mixed-parser-proposal-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-proposal-20260923.md" + }, + "notes/analysis-mixed-parser-review-20260923.md": { + "commit": "aecee2aff3f4410648a501a70cb2e6160c81adc5", + "path": "harness/analysis-mixed-parser-review-20260923.md" + } + }, + "verified_summary": { + "source": "a578ac98a06772a60bec00ae287e65650680d119", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + }, + "strict_core_all_targets": "PASS", + "strict_exit": 0, + "fmt_exit": 1, + "full_invocation": "direct-executable", + "listing_artifacts": [ + { + "invocation": "direct-executable", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881" + } + ] + }, + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39706624, + "sha256": "ae4974da9a58c487e1fe1a4d1461743b106fb7495f3c5a84a20a8999cc9a7ce2" + } + ] + } + ], + "intermediate_checkpoint": { + "source": "eeb1069cfcfc51e4cf73cff850adc2fabc8aae77", + "full_suite": "FAILED", + "full_exit": 101, + "listed": 194, + "prior_173_retained": 173, + "typed_passed_in_full": 85, + "mixed_focused_passed": 20, + "full_passed": 178, + "full_failed": 16, + "old_152_statuses_unchanged": 152, + "new_42_passes": [ + "language::analysis_source::index::tests::arena_rejects_duplicate_sites_occurrences_and_wrong_callee_labels", + "language::analysis_source::index::tests::arena_rejects_forward_cycles_and_cross_owner_field_file_parents", + "language::analysis_source::index::tests::deep_parse_index_plan_and_failed_build_cleanup_on_128k_stack", + "language::analysis_source::index::tests::index_checks_every_expression_edge_and_keeps_override_fields_distinct", + "language::analysis_source::index::tests::index_has_shared_budget_and_never_stabilizes_missing_ids", + "language::analysis_source::index::tests::index_rejects_comment_partial_and_non_utf8_occurrence_spans", + "language::analysis_source::index::tests::maximum_index_paths_compare_lookup_debug_and_drop_on_128k_stack", + "language::analysis_source::index::tests::repeated_reordered_calls_have_stable_full_paths_and_four_labels", + "language::analysis_source::index::tests::staged_index_preserves_complete_oa_sa_models_and_original_file_spans", + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "language::analysis_source::tests::every_parent_shape_rejects_depth129_and_cleans_children_on_128k_stack", + "language::analysis_source::update::tests::alias_edits_preserve_unit_type_override_tokens_and_unrelated_authored_bytes", + "language::analysis_source::update::tests::composition_checks_edit_record_ceiling_before_duplicate_membership", + "language::analysis_source::update::tests::composition_defers_only_typed_output_size_with_independent_shrink_arithmetic", + "language::analysis_source::update::tests::composition_exports_complete_borrowed_swap_witnesses_and_empty_noops", + "language::analysis_source::update::tests::composition_keeps_name_storage_and_rename_record_limits_before_allocation", + "language::analysis_source::update::tests::composition_rejects_stale_or_damaged_complete_batches_before_export", + "language::analysis_source::update::tests::output_and_plan_limits_are_aggregate_and_do_not_reset_parse_work", + "language::analysis_source::update::tests::rename_rejects_unknown_invalid_and_colliding_final_names_but_allows_noop", + "language::analysis_source::update::tests::simultaneous_global_and_scoped_swaps_match_original_token_and_whole_model_oracles", + "language::analysis_source::update::tests::stale_file_sets_bytes_forged_spans_and_duplicate_edits_fail_before_output", + "language::analysis_source::update::tests::standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "known_failure_names": [ + "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" + ], + "new_since_173": [ + "language::analysis_source::mixed::tests::all_short_typed_roots_share_original_buffers_without_public_activation", + "language::analysis_source::mixed::tests::caller_declaration_counts_are_aggregate_and_checked_before_typed_header_allocation", + "language::analysis_source::mixed::tests::diamond_includes_return_one_canonical_file_table_and_scan_dependency_once", + "language::analysis_source::mixed::tests::duplicate_ordinary_ids_keep_occurrences_and_scoped_parameter_ids_remain_distinct", + "language::analysis_source::mixed::tests::every_identity_class_requires_authored_ids_without_mutating_the_bundle", + "language::analysis_source::mixed::tests::exact_shared_profile_limits_include_nonlatching_metadata_phase_failures", + "language::analysis_source::mixed::tests::exact_work_and_reference_occurrences_accumulate_across_files", + "language::analysis_source::mixed::tests::interleaved_unicode_crlf_has_original_typed_and_ordinary_coordinates", + "language::analysis_source::mixed::tests::mixed_deep_typed_success_and_rejection_cleanup_on_128k_stack", + "language::analysis_source::mixed::tests::mixed_typed_reference_limit_is_inherited_without_charging_ordinary_parent_refs", + "language::analysis_source::mixed::tests::ordinary_model_records_and_parent_reference_are_not_syntax_or_step_limits", + "language::analysis_source::mixed::tests::ordinary_numeric_adjacency_and_malformed_trivia_match_legacy_refusals", + "language::analysis_source::mixed::tests::ordinary_signed_numbers_keep_complete_nested_value_and_field_ends", + "language::analysis_source::mixed::tests::ordinary_value_depth_boundary_remains_64_in_both_parser_views", + "language::analysis_source::mixed::tests::private_aggregate_preflights_run_before_traversal_path_allocation", + "language::analysis_source::mixed::tests::syntax_entries_accumulate_across_both_ordinary_and_typed_producer_orders", + "language::analysis_source::mixed::tests::typed_numeric_work_remains_in_the_same_inherited_profile", + "language::analysis_source::mixed::tests::typed_words_are_contextual_but_typed_headers_cannot_nest_in_ordinary_bodies", + "language::analysis_source::mixed::tests::whole_bundle_rejects_missing_unreachable_cyclic_and_noncanonical_files", + "language::analysis_source::mixed::tests::witness_retains_exact_caller_policy_separately_from_syntax_storage", + "source_project::traversal::tests::ordinary_compile_once_keeps_include_order_and_cycle_source_location" + ], + "test_artifact": { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + }, + "strict_core_all_targets": "FAILED", + "strict_exit": 101, + "fmt_exit": 1, + "full_invocation": "cargo", + "listing_artifacts": [ + { + "invocation": "cargo", + "artifacts": [ + { + "path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\oa_core-416e35542925bed6.exe", + "bytes": 39708672, + "sha256": "5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c" + } + ] + } + ] + }, + "formatting_disposition": "Formatting FAILED at eeb1069; six affected blobs byte-identical at a578ac9, eeb1069, 10d7f33 and f1d79df; final fmt also FAILED exit 1 with identical nine blocks", + "unchanged_inputs_from_intermediate": 540, + "clock_discontinuity": "Raw final listing UTC end precedes start after host clock moved backward; exact immutable receipt retained; elapsed_monotonic_seconds=768.4220000000059 is the duration evidence. No wall-clock duration inferred.", + "limits": "Receipt/Git consistency only; no archived code or binaries executed. No public source8, semantic/compositor or full-suite PASS claim." + } +} diff --git a/harness/experiments/analysis-mixed-syntax-20260923/verify.py b/harness/experiments/analysis-mixed-syntax-20260923/verify.py new file mode 100644 index 00000000..66aa16f8 --- /dev/null +++ b/harness/experiments/analysis-mixed-syntax-20260923/verify.py @@ -0,0 +1,484 @@ +"""Read-only portable receipt/Git verifier. Never executes archived launchers.""" +from pathlib import Path, PurePosixPath, PureWindowsPath +from datetime import datetime +import argparse +import hashlib +import io +import json +import re +import subprocess +import sys +import zipfile + +SOURCE = 'a578ac98a06772a60bec00ae287e65650680d119' +INTERMEDIATE = 'eeb1069cfcfc51e4cf73cff850adc2fabc8aae77' +FAILED_SOURCE = '754a9b4b7caca2e848742f5194d98dc9aee7f674' +PRIOR_SOURCE = '10d7f3340d5cd61a656dc0bcf7c143f8897c5551' +BASELINE_SOURCE = 'f1d79df4979121335ed7b4ce4da84b2fca8a9ef4' +SCOPE = ['Cargo.toml', 'Cargo.lock', 'rust-toolchain.toml', '.cargo', 'build', + 'crates', 'assets', 'docs', 'examples', 'harness/fixtures', 'vendor'] +PREFIX = ['cargo', 'test', '--locked', '--offline', '-p', 'oa-core', '--lib'] +TYPED = 'language::analysis_source::' +MIXED = TYPED + 'mixed::' +HEADER_ERROR = 'Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.' + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def unique_object(pairs): + result = {} + for key, value in pairs: + require(key not in result, 'Duplicate JSON key: ' + key) + result[key] = value + return result + + +def document(raw): + return json.loads(raw, object_pairs_hook=unique_object) + + +def safe_name(name): + require(isinstance(name, str) and name and '\\' not in name and ':' not in name, + 'Unsafe archive name') + p = PurePosixPath(name) + require(not p.is_absolute() and str(p) == name and '..' not in p.parts, + 'Unsafe archive path: ' + name) + return name + + +def git(repo, *arguments, data=None): + return subprocess.check_output(['git', '-C', str(repo), *arguments], input=data) + + +def git_inputs(repo, source, current, count): + require(current['source'] == source, 'Input source mismatch') + records = current['inputs'] + require(len(records) == count, 'Unexpected input count') + paths = git(repo, 'ls-tree', '-r', '--name-only', source, *SCOPE).decode().splitlines() + require(paths == [item['path'] for item in records], 'Git input membership/order mismatch') + raw = git(repo, 'cat-file', '--batch', data=''.join(f'{source}:{p}\n' for p in paths).encode()) + offset = 0 + for item in records: + end = raw.index(b'\n', offset) + _, kind, size = raw[offset:end].split() + size = int(size) + blob = raw[end + 1:end + 1 + size] + require(kind == b'blob' and size == item['bytes'] and sha(blob) == item['sha256'], + 'Git input bytes mismatch: ' + item['path']) + offset = end + size + 2 + require(offset == len(raw), 'Trailing Git batch bytes') + + +def listing(log): + names = re.findall(r'^([^\r\n]+): test\r?$', log, re.M) + require(len(names) == len(set(names)), 'Duplicate listed test') + summaries = re.findall(r'^(\d+) tests, (\d+) benchmarks\r?$', log, re.M) + require(summaries == [(str(len(names)), '0')], 'Listing footer mismatch') + return names + + +def outcomes(log, expected, passed, failed, filtered): + rows = re.findall(r'^test ([^\r\n]+) \.\.\. (ok|FAILED|ignored)\r?$', log, re.M) + require(len(rows) == len({name for name, _ in rows}), 'Duplicate runtime outcome') + actual = dict(rows) + require(set(actual) == set(expected), 'Missing/extra runtime outcomes') + require(sum(v == 'ok' for v in actual.values()) == passed and + sum(v == 'FAILED' for v in actual.values()) == failed and + 'ignored' not in actual.values(), 'Runtime status mismatch') + summaries = re.findall(r'^test result: (ok|FAILED)\. (\d+) passed; (\d+) failed; ' + r'(\d+) ignored; (\d+) measured; (\d+) filtered out;', log, re.M) + require(summaries == [('FAILED' if failed else 'ok', str(passed), str(failed), + '0', '0', str(filtered))], 'Runtime footer mismatch') + return actual + + +def failures(log, names): + blocks = re.findall(r'^---- ([^\r\n]+) stdout ----\r?\n(.*?)(?=^---- |^failures:\r?$|\Z)', + log, re.M | re.S) + require(len(blocks) == len(names) and {name for name, _ in blocks} == set(names), + 'Failure-block membership mismatch') + for name, block in blocks: + require(block.count(HEADER_ERROR) == 1 and 'invalid_source' in block, + 'Failure cause changed: ' + name) + tails = re.findall(r'^failures:\r?\n((?: [^\r\n]+\r?\n)+)', log, re.M) + require(len(tails) == 1 and tails[0].split() == sorted(names), 'Failure footer changed') + + +def formatting_evidence(payload, repo, final_log=None): + note = document(payload['notes/analysis-mixed-syntax-formatting-disposition-20260923.json']) + stem = 'gates/mixed-fmt-eeb1-1' + receipt = document(payload[stem + '.result.json']) + log = payload[stem + '.log'] + require(note['source'] == INTERMEDIATE and note['prior_source'] == PRIOR_SOURCE and + note['baseline_source'] == BASELINE_SOURCE and note['exit'] == receipt['exit'] == 1 and + note['command'] == receipt['command'] == ['cargo', 'fmt', '--all', '--', '--check'] and + note['changed_inputs'] == [] and note['input_count'] == 541, 'Formatting note scope mismatch') + for field, suffix in (('receipt_sha256', '.result.json'), ('log_sha256', '.log'), ('inputs_sha256', '.inputs.json')): + require(note[field] == sha(payload[stem + suffix]), 'Formatting note raw hash mismatch') + blocks = re.findall(r'^Diff in ([^\r\n]+):(\d+):\r?$', log.decode(), re.M) + normalized = [('crates/' + path.replace('\\', '/').split('/crates/', 1)[1], int(line)) + for path, line in blocks] + expected = ['crates/oa-core/src/' + name for name in + ('model.rs', 'references.rs', 'semantic/catalog.rs', 'session.rs', 'transitions.rs', 'validation.rs')] + require(len(blocks) == note['diff_blocks'] == 9 and sorted({path for path, _ in normalized}) == expected, + 'Formatting failure changed scope') + require([row['path'] for row in note['affected_files']] == expected, 'Formatting file inventory differs') + for row in note['affected_files']: + blobs = [git(repo, 'show', source + ':' + row['path']) for source in (SOURCE, INTERMEDIATE, PRIOR_SOURCE, BASELINE_SOURCE)] + require(len(set(blobs)) == 1 and row['equal_at_all_three_pins'] is True and + row['bytes'] == len(blobs[0]) and row['sha256'] == sha(blobs[0]), + 'Formatting inheritance not supported: ' + row['path']) + require(row['git_blob'] == git(repo, 'rev-parse', SOURCE + ':' + row['path']).decode().strip() and + row['diff_lines'] == [line for path, line in normalized if path == row['path']], + 'Formatting blob/line inventory differs') + if final_log is not None: + final_blocks = re.findall(r'^Diff in ([^\r\n]+):(\d+):\r?$', final_log, re.M) + final_normalized = [('crates/' + path.replace('\\', '/').split('/crates/', 1)[1], int(line)) + for path, line in final_blocks] + require(final_normalized == normalized, 'Final formatting failure scope changed') + return 'Formatting FAILED at eeb1069; six affected blobs byte-identical at a578ac9, eeb1069, 10d7f33 and f1d79df' + + +DIRECT_RECORDER = '3043b4ca43f2fb581d9f77361830f0ea86425982d6dee40bc9d71a3444caa14a' + + +def direct_evidence(payload, receipt, log): + """Only the reviewed final direct list/full protocol; no archived code runs.""" + require(receipt['source'] == SOURCE and receipt['mode'] in ('list', 'full') and + receipt['filter'] == '' and receipt['cargo_invoked'] is False, + 'Unsupported direct invocation scope') + require(receipt['launch_error'] is None and receipt['verification_failures'] == [] and + receipt['source_status_after'] == '', 'Direct invocation did not close cleanly') + require(receipt['launcher_sha256'] == DIRECT_RECORDER and + receipt['launcher_copy_sha256_after'] == DIRECT_RECORDER, + 'Unreviewed or changed direct recorder') + require(receipt['environment']['ARCADIA_CODEC_LIFECYCLE_PHASE'] is None and + receipt['environment']['RUST_MIN_STACK'] is None, + 'Direct parent/stack environment differs') + require(receipt['utc_clock_went_backwards'] is False, + 'Direct gate cannot inherit original listing clock exception') + require(not re.search(r'^\s*Running unittests\b', log, re.M), + 'Direct output contains a fabricated Cargo invocation line') + watched = {} + + def bound(field, fixed_name=None, fixed_hash=None): + descriptor = receipt[field] + result_name = safe_name(descriptor['result']) + require(result_name.endswith('.result.json'), 'Invalid direct bound result name') + stem = result_name[:-len('.result.json')] + raw = payload['gates/' + result_name] + if fixed_name is not None: + require(result_name == fixed_name and sha(raw) == fixed_hash, + 'Direct historical binding differs') + record = document(raw) + require(record['source'] == record['head_after'] == SOURCE and record['exit'] == 0 and + record['changed_inputs'] == [] and record['inputs'] == stem + '.inputs.json', + 'Direct bound checkpoint is not successful unchanged source') + expected = { + 'result': result_name, 'result_sha256': sha(raw), + 'log': stem + '.log', 'log_sha256': record['log_sha256'], + 'inputs': stem + '.inputs.json', 'inputs_sha256': record['inputs_sha256'], + 'source': SOURCE, 'launcher_copy': record['launcher_copy'], + 'launcher_sha256': record['launcher_sha256'], 'artifacts': record['artifacts'], + 'listing_count': record['listing_count'], 'listing_members': record['listing_members'], + } + require(descriptor == expected, 'Direct descriptor differs from actual bound receipt') + for key in ('result', 'log', 'inputs'): + relative = safe_name(expected[key]) + digest = expected[key + '_sha256'] + require(sha(payload['gates/' + relative]) == digest, 'Direct bound payload hash mismatch') + watched[relative] = digest + launcher = safe_name(record['launcher_copy'].replace('\\', '/')) + require(launcher == 'launchers/' + record['launcher_sha256'] + '.py' and + sha(payload['gates/' + launcher]) == record['launcher_sha256'] == record['launcher_sha256_after'], + 'Direct bound launcher differs') + watched[launcher] = record['launcher_sha256'] + return record, payload['gates/' + stem + '.log'].decode('utf-8') + + original, original_log = bound('bound_original_listing', 'mixed-list-a578-1.result.json', + 'adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100') + focused, _ = bound('bound_focused', 'mixed-focused-a578-1.result.json', + 'fa586319f22c7eb1bd75e9d9da6784cff8cc897b6b93205c84f6591fa9c76b85') + require(len(focused['artifacts']) == 1, 'Focused artifact missing') + artifact = focused['artifacts'][0] + require(artifact['bytes'] == 39706624 and artifact['sha256'] == + '089d7b0389bb3f4e98fd350d4d7504294087ce3fc84035672c781547c8a71881', + 'Rebuilt focused artifact differs') + require(receipt['artifact_before'] == artifact and receipt['artifacts'] == [artifact], + 'Direct artifact changed or differs from focused binary') + command = receipt['command'] + require(isinstance(command, list) and len(command) == 2 and + PureWindowsPath(command[0]) == PureWindowsPath(artifact['path']) and + command[1] == ('--list' if receipt['mode'] == 'list' else '--test-threads=1'), + 'Unexpected direct executable argv') + require(PureWindowsPath(receipt['cwd']) == PureWindowsPath( + 'C:/Users/User/Documents/Git/ARCADIA-Studio/.local/as3batch/crates/oa-core'), + 'Direct working directory is not the recorded Cargo package root') + if receipt['mode'] == 'list': + require(receipt['bound_listing'] is None, 'Direct listing unexpectedly borrows another listing') + require(listing(log) == listing(original_log), 'Direct listing differs from original test inventory') + else: + direct, direct_log = bound('bound_listing') + require(direct['mode'] == 'list' and direct['invocation'] == 'direct-executable' and + direct['launcher_sha256'] == DIRECT_RECORDER and direct['artifacts'] == [artifact] and + direct['listing_members'] == listing(direct_log) == listing(original_log), + 'Full run does not bind actual direct listing of rebuilt binary') + rows = receipt['bound_files_after'] + observed = {} + for row in rows: + path = safe_name(row['path'].replace('\\', '/')) + require(path not in observed, 'Duplicate direct bound-file postcheck') + require(row['expected_sha256'] == row['sha256_after'], 'Direct bound file changed') + observed[path] = row['sha256_after'] + require(observed == watched, 'Direct bound-file postcheck coverage differs') + + + +def runtime_checkpoint(by_mode, prior_names, old, old_failures, final): + require(all(len(by_mode.get(k, [])) == 1 for k in ('full', 'clippy', 'fmt')), + 'Required checkpoint gates missing/ambiguous') + lists = by_mode.get('list', []) + if final: + cargo_lists = [(r, log) for r, log in lists if r.get('invocation') is None] + direct_lists = [(r, log) for r, log in lists if r.get('invocation') == 'direct-executable'] + require(len(lists) == 2 and len(cargo_lists) == len(direct_lists) == 1, + 'Final requires original Cargo listing and actual rebuilt-binary direct listing') + chronology_listing, original_log = cargo_lists[0] + listed_receipt, log = direct_lists[0] + original_names = listing(original_log) + require(chronology_listing['exit'] == 0 and chronology_listing['listing_count'] == 194 and + chronology_listing['listing_members'] == original_names == listing(log), + 'Original/direct listing membership mismatch') + require(by_mode['full'][0][0].get('invocation') == 'direct-executable', + 'Final full run must use the declared direct recorder') + else: + require(len(lists) == 1, 'Intermediate listing missing/ambiguous') + listed_receipt, log = lists[0] + chronology_listing = listed_receipt + names = listing(log) + require(listed_receipt['exit'] == 0 and listed_receipt['listing_members'] == names and + listed_receipt['listing_count'] == len(names) == 194, 'Checkpoint listing not accepted') + require(set(prior_names) <= set(names), 'Prior173 membership lost') + typed = {n for n in names if n.startswith(TYPED)} + mixed = {n for n in names if n.startswith(MIXED)} + require(len(typed) == 85 and len(mixed) == 20, 'Typed/mixed membership differs') + require({n for n in prior_names if n.startswith(TYPED)} <= typed, 'Prior typed/stack controls missing') + artifacts = listed_receipt['artifacts'] + require(len(artifacts) == 1 and artifacts[0]['bytes'] > 0 and + re.fullmatch('[0-9a-f]{64}', artifacts[0]['sha256']), 'Listing binary witness missing') + mixed_runs = 0 + for receipt, log in by_mode.get('focused', []): + selected = {n for n in names if receipt['filter'] in n} + require(selected and receipt['exit'] == 0 and receipt['artifacts'] == artifacts, 'Focused binary/exit mismatch') + outcomes(log, selected, len(selected), 0, len(names) - len(selected)) + if selected == mixed: + mixed_runs += 1 + require(mixed_runs >= 1, 'Completed focused mixed gate missing') + full_receipt, full_log = by_mode['full'][0] + require(full_receipt['exit'] == 101 and full_receipt['artifacts'] == artifacts, 'Full diagnostic gate mismatch') + full = outcomes(full_log, names, 178, 16, 0) + require(all(full.get(n) == status for n, status in old.items()), 'Old152 statuses changed') + new = set(full) - set(old) + require(len(new) == 42 and all(full[n] == 'ok' for n in new), 'Later42 cases did not all pass') + require(all(full[n] == 'ok' for n in typed), 'Typed controls not all passing') + failures(full_log, old_failures) + strict, strict_log = by_mode['clippy'][0] + if final: + require(strict['exit'] == 0 and 'Finished' in strict_log and + not re.search(r'^error(?:\[|:)', strict_log, re.M), 'Final strict core gate failed') + require(datetime.fromisoformat(strict['end']) <= datetime.fromisoformat(chronology_listing['start']), + 'Final listing preceded successful strict closure') + else: + require(strict['exit'] == 101 and 'unnecessary_unwrap' in strict_log and + 'collapsible_if' in strict_log and 'due to 2 previous errors' in strict_log and + strict['artifacts'] == [], 'Intermediate failed strict evidence changed') + require(artifacts[0]['bytes'] == 39708672 and artifacts[0]['sha256'] == + '5482a24e86d6f102c34dec6be9904726488963e8552e514253efbf03dfbcd98c', + 'Intermediate observed artifact changed') + fmt, fmt_log = by_mode['fmt'][0] + require(fmt['exit'] == 1, 'Formatting status differs from inherited-failure scope') + return names, { + 'source': SOURCE if final else INTERMEDIATE, 'full_suite': 'FAILED', 'full_exit': 101, + 'listed': len(names), 'prior_173_retained': len(prior_names), + 'typed_passed_in_full': len(typed), 'mixed_focused_passed': len(mixed), + 'full_passed': 178, 'full_failed': 16, 'old_152_statuses_unchanged': len(old), + 'new_42_passes': sorted(new), 'known_failure_names': old_failures, + 'new_since_173': sorted(set(names) - set(prior_names)), 'test_artifact': artifacts[0], + 'strict_core_all_targets': 'PASS' if final else 'FAILED', 'strict_exit': strict['exit'], + 'fmt_exit': 1, + 'full_invocation': full_receipt.get('invocation', 'cargo'), + 'listing_artifacts': [{'invocation': r.get('invocation', 'cargo'), 'artifacts': r['artifacts']} + for r, _ in lists], + }, fmt_log + + +def verify_payload(payload, manifest, repo): + require(manifest['schema'] == 1 and manifest['source'] == SOURCE, 'Wrong package schema/source') + require(set(payload) == set(manifest['payloads']), 'Payload membership mismatch') + for name, raw in payload.items(): + safe_name(name) + require(manifest['payloads'][name] == {'bytes': len(raw), 'sha256': sha(raw)}, + 'Payload hash mismatch: ' + name) + # Historical records are anchored to immutable documentation Git objects, + # independently of this package's editable manifest hashes. + origins = manifest['git_origins'] + for name, origin in origins.items(): + require(name in payload and re.fullmatch('[0-9a-f]{40}', origin['commit']), 'Bad Git origin') + raw = git(repo, 'show', origin['commit'] + ':' + safe_name(origin['path'])) + if 'member' in origin: + with zipfile.ZipFile(io.BytesIO(raw)) as archive: + require(len(archive.namelist()) == len(set(archive.namelist())), 'Duplicate origin ZIP member') + raw = archive.read(safe_name(origin['member'])) + require(raw == payload[name], 'Historical Git evidence mismatch: ' + name) + historical = { + 'baseline/full-f1d79df.log', 'baseline/full-f1d79df.result.json', + 'baseline/full-f1d79df.inputs.json', 'baseline/full-f1d79df.comparison.json', + 'prior/list-10d7f33.log', 'prior/list-10d7f33.result.json', 'prior/list-10d7f33.inputs.json', + } + require(historical <= set(origins), 'Missing immutable historical origins') + prior = document(payload['prior/list-10d7f33.result.json']) + prior_names = listing(payload['prior/list-10d7f33.log'].decode()) + require(prior['source'] == prior['head_after'] == PRIOR_SOURCE and prior['exit'] == 0 and + prior['changed_inputs'] == [] and prior['listing_members'] == prior_names and + prior['listing_count'] == len(prior_names) == 173, 'Prior listing invalid') + git_inputs(repo, PRIOR_SOURCE, document(payload['prior/list-10d7f33.inputs.json']), 538) + baseline = document(payload['baseline/full-f1d79df.result.json']) + require(baseline['source'] == baseline['head_after'] == BASELINE_SOURCE and + baseline['exit'] == 101 and baseline['changed_inputs'] == [] and + baseline['command'] == ['cargo', 'test', '--locked', '-p', 'oa-core', '--lib', '--', '--test-threads=1'], + 'Historical full receipt invalid') + git_inputs(repo, BASELINE_SOURCE, document(payload['baseline/full-f1d79df.inputs.json']), 534) + baseline_log = payload['baseline/full-f1d79df.log'].decode() + baseline_names = re.findall(r'^test ([^\r\n]+) \.\.\. ', baseline_log, re.M) + require(len(baseline_names) == 152, 'Historical outcome count changed') + old = outcomes(baseline_log, baseline_names, 136, 16, 0) + old_failures = sorted(n for n, v in old.items() if v == 'FAILED') + failures(baseline_log, old_failures) + comparison = document(payload['baseline/full-f1d79df.comparison.json']) + require(comparison['source'] == BASELINE_SOURCE and comparison['failures'] == old_failures and + comparison['cargo_exit'] == 101 and comparison['passed'] == 136 and comparison['failed'] == 16, + 'Historical comparison disagrees') + for leaf in ('full-f1d79df.log', 'full-f1d79df.result.json', 'full-f1d79df.inputs.json'): + require(comparison['pins'][leaf] == sha(payload['baseline/' + leaf]), 'Historical comparison hash mismatch') + + receipt_names = sorted(n for n in payload if n.startswith('gates/') and n.endswith('.result.json')) + require(receipt_names, 'No completed current gates') + consumed = set() + by_source = {} + inputs_by_source = {} + for name in receipt_names: + receipt = document(payload[name]) + source = receipt['source'] + require(source in (SOURCE, INTERMEDIATE, FAILED_SOURCE) and receipt['head_after'] == source and + receipt['changed_inputs'] == [], 'Gate source drift') + started = datetime.fromisoformat(receipt['start']) + ended = datetime.fromisoformat(receipt['end']) + known_clock_jump = (name == 'gates/mixed-list-a578-1.result.json' and + sha(payload[name]) == 'adae5f2c78302616e853765fe1c7e61d026610cb3cb3fa312b727e5c28a92100') + require((started < ended or known_clock_jump) and + receipt['elapsed_monotonic_seconds'] > 0, 'Gate not closed') + env = receipt['environment'] + require(env['CARGO_BUILD_JOBS'] == '1' and env['CARGO_INCREMENTAL'] == '0', 'Gate environment changed') + require(all(env.get(k) is None for k in ('RUSTFLAGS', 'RUSTC', 'RUSTUP_TOOLCHAIN')), 'Unrecorded compiler override') + stem = name[:-len('.result.json')] + log_name = stem + '.log' + input_name = 'gates/' + safe_name(receipt['inputs']) + require(input_name == stem + '.inputs.json', 'Input receipt belongs to another run') + launcher = 'gates/' + safe_name(receipt['launcher_copy'].replace('\\', '/')) + require(launcher == 'gates/launchers/' + receipt['launcher_sha256'] + '.py', 'Launcher name mismatch') + require(sha(payload[launcher]) == receipt['launcher_sha256'] == receipt['launcher_sha256_after'], 'Launcher changed') + require(sha(payload[log_name]) == receipt['log_sha256'] and + sha(payload[input_name]) == receipt['inputs_sha256'], 'Log/input hash mismatch') + consumed.update((name, log_name, input_name, launcher)) + current = document(payload[input_name]) + if source not in inputs_by_source: + git_inputs(repo, source, current, 541) + inputs_by_source[source] = current + require(current == inputs_by_source[source], 'Gate input sets differ at same source') + log = payload[log_name].decode('utf-8') + mode = receipt['mode'] + require(mode == 'focused' or receipt['filter'] == '', 'Unexpected filter on unfiltered gate') + if receipt.get('invocation') == 'direct-executable': + direct_evidence(payload, receipt, log) + else: + require('invocation' not in receipt and 'cargo_invoked' not in receipt, + 'Unexpected invocation marker on Cargo receipt') + command = { + 'list': PREFIX + ['--', '--list'], + 'focused': PREFIX + [receipt['filter'], '--', '--test-threads=1'], + 'full': PREFIX + ['--', '--test-threads=1'], + 'clippy': ['cargo', 'clippy', '--locked', '--offline', '-p', 'oa-core', '--all-targets', '--', '-D', 'warnings'], + 'fmt': ['cargo', 'fmt', '--all', '--', '--check'], + }.get(mode) + require(command is not None and receipt['command'] == command, 'Unexpected gate command') + binary_lines = re.findall(r'Running unittests [^\r\n]+ \(([^\r\n]+\.exe)\)', log) + require(len(binary_lines) == len(receipt['artifacts']), 'Log/artifact occurrence mismatch') + for logged, artifact in zip(binary_lines, receipt['artifacts']): + require(logged.replace('\\', '/').rsplit('/', 1)[-1] == + artifact['path'].replace('\\', '/').rsplit('/', 1)[-1], + 'Log/artifact executable name mismatch') + if source == FAILED_SOURCE: + require(name == 'gates/mixed-list-754a-1.result.json' and mode == 'list' and receipt['exit'] == 101, + 'Unexpected earlier-source gate') + require('error[E0063]' in log and 'missing field `mixed`' in log and + 'semantic_source.rs:191' in log and receipt['artifacts'] == [] and + receipt['listing_members'] == [] and receipt['listing_count'] == 0, + 'Original initializer failure evidence changed') + continue + by_source.setdefault(source, {}).setdefault(mode, []).append((receipt, log)) + if mode != 'list': + require(receipt['listing_members'] == [] and receipt['listing_count'] == 0, 'Non-list fabricated membership') + require({SOURCE, INTERMEDIATE, FAILED_SOURCE} == set(inputs_by_source), 'All three source pins required') + require({n for n in payload if n.startswith('gates/')} == consumed, 'Unclosed/unreferenced gate payload') + eeb_names, intermediate, _ = runtime_checkpoint(by_source[INTERMEDIATE], prior_names, old, old_failures, False) + names, final, fmt_log = runtime_checkpoint(by_source[SOURCE], prior_names, old, old_failures, True) + require(names == eeb_names, 'Final listing membership/order changed from observed intermediate') + earlier = inputs_by_source[INTERMEDIATE]['inputs'] + later = inputs_by_source[SOURCE]['inputs'] + require([item['path'] for item in earlier] == [item['path'] for item in later] and + [a['path'] for a, b in zip(earlier, later) if a != b] == ['crates/oa-core/src/language.rs'], + 'Final input delta is not the one-file guard correction') + require(git(repo, 'diff', '--name-only', INTERMEDIATE, SOURCE).decode().splitlines() == + ['AGENTS.md', 'crates/oa-core/src/language.rs'], 'Final source delta expanded') + require(git(repo, 'rev-parse', SOURCE + ':AGENTS.md').decode().strip() == + '767be18f086c04b7a688b107808e97ac98881356', 'Final shared instructions differ') + final['intermediate_checkpoint'] = intermediate + final['formatting_disposition'] = formatting_evidence(payload, repo, fmt_log) + '; final fmt also FAILED exit 1 with identical nine blocks' + final['unchanged_inputs_from_intermediate'] = 540 + final['clock_discontinuity'] = 'Raw final listing UTC end precedes start after host clock moved backward; exact immutable receipt retained; elapsed_monotonic_seconds=768.4220000000059 is the duration evidence. No wall-clock duration inferred.' + final['limits'] = 'Receipt/Git consistency only; no archived code or binaries executed. No public source8, semantic/compositor or full-suite PASS claim.' + return final + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--repo', type=Path, required=True) + parser.add_argument('--package', type=Path, default=Path(__file__).resolve().parent) + args = parser.parse_args() + manifest = document((args.package / 'manifest.json').read_bytes()) + with zipfile.ZipFile(args.package / 'evidence.zip') as archive: + names = archive.namelist() + require(len(names) == len(set(names)), 'Duplicate ZIP members') + require(len(names) <= 512 and sum(item.file_size for item in archive.infolist()) <= 64 * 1024 * 1024, + 'Archive exceeds bounded evidence size') + for name in names: + safe_name(name) + payload = {name: archive.read(name) for name in names} + result = verify_payload(payload, manifest, args.repo) + require(result == manifest['verified_summary'], 'Manifest summary differs from evidence') + print(json.dumps(result, indent=2)) + print('VERIFIED evidence consistency; full core suite FAILED (178/16); formatting FAILED (inherited six-file debt).') + + +if __name__ == '__main__': + try: + main() + except (ValueError, KeyError, OSError, zipfile.BadZipFile, subprocess.CalledProcessError) as error: + raise SystemExit('REFUSED: ' + str(error)) diff --git a/harness/experiments/state-multiselect-delivery-audit-20260923/README.md b/harness/experiments/state-multiselect-delivery-audit-20260923/README.md new file mode 100644 index 00000000..cf5ea9df --- /dev/null +++ b/harness/experiments/state-multiselect-delivery-audit-20260923/README.md @@ -0,0 +1,48 @@ +# State multiselect delivery: parent evidence audit + +Codex-956atf fetched exact peer delivery +`bed7f825fd00ec32299032a664a5f5d753aad86d`, above ordinary delivery +`7e348d967d1787c052a145b7448636613a6a7054`. Parent read all four portable +verifiers before execution, exported their evidence directly from that Git +commit, and ran the reviewed verifier entrypoints with Python `-B` on Windows. +No archived launcher, Rust evaluator, test executable or GUI was executed. + +All four offline checks passed: + +- Nine gate captures, 65 logical files, 53 stored members and three source-capsule + pairs; the two failed gates retain exit 101. +- One closed native trial, 234 members, 35 captures, ten successful recorded + whole-Project checks and three distinct exact source-history groups. +- Exact Git comparison of all 733 inputs at + `2a3b9ba822a49ead233c4b5f98412a07c1c1da12` and 735 inputs at + `3480b54201a5f361cca0bcd0d45dd6546a7a7bc9`. +- The invalid first core capture retains its sole source-map/archive mismatch + in model_menu.rs and is explicitly excluded from accepted gates. + +Parent separately counted actual unique libtest outcomes and matched each raw +summary: core-2 has 11 passes; desktop-2 has 1,286 passes and six ignores; +desktop-3 has 122 passes and 1,170 filtered tests. These are recorded peer runs, +not new execution or a reconstructed complete test listing. The full desktop +result belongs to `2a3b9ba`; the final boxing correction has focused, strict, +format, build and native evidence at `3480b54`. + +`parent-result.json` identifies every exported file and verifier invocation; +the four logs preserve actual output. `state-multiselect-outcomes-20260923.json` +and its adjacent script record the independent outcome count. Local paths in +historical command receipts identify the audit environment, not shared files. +For reproduction, fetch the delivery and follow its +`harness/multiselect-state-20260923.md` portable-verification commands. + +The parent read the State adapter's production diff, existing independent +review and peer report. The narrower +[composition review](../../reviews/state-multiselect-composition-20260923.md) +records integration seams and known limitations. A tree-only merge probe found +seven conflicted paths; its raw output is preserved. After this audit, the parent +resolved the merge in a separate checkout and froze source checkpoint +`a2a326f183ba0486814cd9fbdce19eb98cad7017`. Its versioned +`harness/multiselect-union-source-20260923.md` and independent review record that +later source-only work. No combined runtime acceptance is claimed. + +Shared picker Escape dismissal is issue 35. Peer-reported multiline transition +label overlap, untested picker restoration, minimum-window/DPI and native SA +coverage remain limitations. Linux remains user-deferred. diff --git a/harness/experiments/state-multiselect-delivery-audit-20260923/check-state-multiselect-outcomes-20260923.py b/harness/experiments/state-multiselect-delivery-audit-20260923/check-state-multiselect-outcomes-20260923.py new file mode 100644 index 00000000..48c50267 --- /dev/null +++ b/harness/experiments/state-multiselect-delivery-audit-20260923/check-state-multiselect-outcomes-20260923.py @@ -0,0 +1,30 @@ +"""Independently count actual libtest outcomes in already byte-verified peer evidence.""" +from pathlib import Path +import json +import re +import zipfile + +ROOT = Path(__file__).resolve().parent.parent +PACKAGE = ROOT / '.local/state-multiselect-delivery-readback-20260923/checks' +manifest = json.loads((PACKAGE / 'manifest.json').read_bytes()) +expected = {'core-2': (11, 0, 0, 0), 'desktop-2': (1286, 0, 6, 0), + 'desktop-3': (122, 0, 0, 1170)} +results = {} +with zipfile.ZipFile(PACKAGE / 'evidence.zip') as archive: + for gate, counts in expected.items(): + name = manifest['logicalFiles']['cargo/' + gate + '/stdout.log'] + log = archive.read(name).decode('utf-8') + outcomes = re.findall(r'^test ([^\r\n]+) \.\.\. (ok|FAILED|ignored)(?:, [^\r\n]*)?\r?$', log, re.M) + names = [name for name, status in outcomes] + assert len(names) == len(set(names)), (gate, 'duplicate outcome') + actual = tuple(sum(status == value for _, status in outcomes) for value in ('ok', 'FAILED', 'ignored')) + summaries = re.findall(r'^test result: (ok|FAILED)\. (\d+) passed; (\d+) failed; (\d+) ignored; (\d+) measured; (\d+) filtered out;', log, re.M) + assert len(summaries) == 1, (gate, summaries) + state, passed, failed, ignored, measured, filtered = summaries[0] + assert state == 'ok' and int(measured) == 0 + assert actual == tuple(map(int, (passed, failed, ignored))) == counts[:3] + assert int(filtered) == counts[3] + results[gate] = {'passed': actual[0], 'failed': actual[1], 'ignored': actual[2], + 'filtered': int(filtered), 'actual_unique_outcomes': len(names), + 'ignored_names': [name for name, status in outcomes if status == 'ignored']} +print(json.dumps({'result': 'PASS', 'scope': 'Recorded libtest output only; no new execution or complete listing admission.', 'gates': results}, indent=2)) diff --git a/harness/experiments/state-multiselect-delivery-audit-20260923/parent-result.json b/harness/experiments/state-multiselect-delivery-audit-20260923/parent-result.json new file mode 100644 index 00000000..c5c01429 --- /dev/null +++ b/harness/experiments/state-multiselect-delivery-audit-20260923/parent-result.json @@ -0,0 +1,222 @@ +{ + "delivery": "bed7f825fd00ec32299032a664a5f5d753aad86d", + "exported": [ + { + "path": "harness/experiments/state-multiselect-20260923/.gitattributes", + "bytes": 175, + "sha256": "e5d48496a98fbb309b95beb1fe812915ca480261c89790a4fa5d5e5d32876bca" + }, + { + "path": "harness/experiments/state-multiselect-20260923/checks/README.md", + "bytes": 1984, + "sha256": "157584ed470fb8320d5a03b79388c6e1b7818b25fee1dee913083a41ff847f60" + }, + { + "path": "harness/experiments/state-multiselect-20260923/checks/evidence.zip", + "bytes": 8859169, + "sha256": "48a47389ffdba1180b1340c3471f3d8615790e709fe563c39941d95f3f242f77" + }, + { + "path": "harness/experiments/state-multiselect-20260923/checks/files.json", + "bytes": 625, + "sha256": "6f2c5dd2357f9732c1a51e664295c64b9ea196966c384d6a5ad459fc41ec16b6" + }, + { + "path": "harness/experiments/state-multiselect-20260923/checks/manifest.json", + "bytes": 17487, + "sha256": "d5d71a7352fe8ab8cd63d3ce907c875d98ab048080c28868571819e9afa61e4f" + }, + { + "path": "harness/experiments/state-multiselect-20260923/checks/prepare.py", + "bytes": 4802, + "sha256": "24f59b1e61a1e9c93d4aa9a47a998cbf9c2058e966cc5a7beceba73e2138943c" + }, + { + "path": "harness/experiments/state-multiselect-20260923/checks/verify.py", + "bytes": 8873, + "sha256": "c03513407073bef092d57b968f982b8ffc0c58e095f834fe7464c6a0e8454a9a" + }, + { + "path": "harness/experiments/state-multiselect-20260923/incidents/core-1/README.md", + "bytes": 1113, + "sha256": "23b6099c058997f1ed12c20b0dd89d124d2e6915eccf02bdbe1068544256a748" + }, + { + "path": "harness/experiments/state-multiselect-20260923/incidents/core-1/core-1/inputs.json", + "bytes": 122682, + "sha256": "81318b52a4f2659f0687bfa459c7e3a24f39996dd5a8b6d7f21c3c78fa16c3b4" + }, + { + "path": "harness/experiments/state-multiselect-20260923/incidents/core-1/core-1/inputs.zip", + "bytes": 2947000, + "sha256": "cecd6ae0ba45add8e913d9913cd4960c01928db0a4bc795902b7954ffb6f692e" + }, + { + "path": "harness/experiments/state-multiselect-20260923/incidents/core-1/core-1/process.json", + "bytes": 199, + "sha256": "c59cb33a7a7339a9b876b87e377ef57a8840bf76a411dc80d6cf5e32d365a9f8" + }, + { + "path": "harness/experiments/state-multiselect-20260923/incidents/core-1/core-1/result.json", + "bytes": 3196, + "sha256": "ca61228c182b4824492a6248e2c37dc4519e35b5b077212e72a4283bf3b0ffab" + }, + { + "path": "harness/experiments/state-multiselect-20260923/incidents/core-1/core-1/started.json", + "bytes": 1403, + "sha256": "2aa37908fb7eb8f49819fe8e96c59e6254f560b5c7058f7491c6c38d4b304487" + }, + { + "path": "harness/experiments/state-multiselect-20260923/incidents/core-1/core-1/stderr.log", + "bytes": 320, + "sha256": "1b7e7597c4c20f47faf6695a257cc32bfce21b7fedcbf3a57cac6ea40114cd22" + }, + { + "path": "harness/experiments/state-multiselect-20260923/incidents/core-1/core-1/stdout.log", + "bytes": 42721, + "sha256": "93c11a194e1c97abcdbce56c9b45be479bd1e60cfa5ecd873773246a696d146d" + }, + { + "path": "harness/experiments/state-multiselect-20260923/incidents/core-1/files.json", + "bytes": 1591, + "sha256": "833af244de1b984c3efd110176aa07210fd2538da4a34404841dfe68505b6ea1" + }, + { + "path": "harness/experiments/state-multiselect-20260923/incidents/core-1/gate-helper.py", + "bytes": 3502, + "sha256": "6b8fcf64a1eb0869ae29abd66b4e89564a1813fef5898b54f2a17a3230dbaa06" + }, + { + "path": "harness/experiments/state-multiselect-20260923/incidents/core-1/identity.json", + "bytes": 1455, + "sha256": "b065e20e1130fbd1caff052e71e01da083c14eaf785748b3d32c3a691f7146a9" + }, + { + "path": "harness/experiments/state-multiselect-20260923/incidents/core-1/prepare.py", + "bytes": 1866, + "sha256": "0550fb880635e27a193d2b5166f1dbbe1edb2091f3bf5d23be5fc3fa3b4ae63b" + }, + { + "path": "harness/experiments/state-multiselect-20260923/incidents/core-1/verify.py", + "bytes": 3726, + "sha256": "3a33fb46f3b9b8a30a35dbc6469d404cca94fa2ed40804101719f2d2e686d6d0" + }, + { + "path": "harness/experiments/state-multiselect-20260923/native/README.md", + "bytes": 1457, + "sha256": "dc13ee4603368a86b49cd54d5c3b19c7759e81a16ccc3c782882285db0758d26" + }, + { + "path": "harness/experiments/state-multiselect-20260923/native/evidence.zip", + "bytes": 3384779, + "sha256": "1d08c1bc6af4856a569ddd320ddf5403a302b8d9437750663a498541e489d663" + }, + { + "path": "harness/experiments/state-multiselect-20260923/native/files.json", + "bytes": 626, + "sha256": "285cbddbb5431bae49672b69656b490fd0a6dd809e0f8a6c8a51f3e7d191ceb3" + }, + { + "path": "harness/experiments/state-multiselect-20260923/native/manifest.json", + "bytes": 42972, + "sha256": "088fd71a7e41536287aeeed32ab6da41130a0f3b3621dd752b88290a435bff50" + }, + { + "path": "harness/experiments/state-multiselect-20260923/native/prepare.py", + "bytes": 7494, + "sha256": "0ba52dc39d08888e34d2b84e25f40acbcfda97aa74c2fd21319967867e0008ae" + }, + { + "path": "harness/experiments/state-multiselect-20260923/native/verify.py", + "bytes": 15255, + "sha256": "26e08398561c1753926cb994d674d311307970f06f0f8ae68ca6dec4f5e9a8e4" + }, + { + "path": "harness/experiments/state-multiselect-20260923/source/.gitattributes", + "bytes": 9, + "sha256": "8b9c3028d6467ff3be7c793141927841d70f47f52d0590677438f488ca154992" + }, + { + "path": "harness/experiments/state-multiselect-20260923/source/README.md", + "bytes": 3092, + "sha256": "b122e41bb9c52b4384e09cd62ee4115a68ff16d5aefee2f92fe632b07276d017" + }, + { + "path": "harness/experiments/state-multiselect-20260923/source/files.json", + "bytes": 925, + "sha256": "3a1d077a196fabd6b70e6da53c1703882f2ca870b62a193daca10f40da19a11f" + }, + { + "path": "harness/experiments/state-multiselect-20260923/source/prepare.py", + "bytes": 2100, + "sha256": "1be2f2a402b493a1c9700044f1119ed8ccddaa02baec2ecd25a185aba6253112" + }, + { + "path": "harness/experiments/state-multiselect-20260923/source/source-desktop-2.json", + "bytes": 428, + "sha256": "6012bdc52a3843c9cfd5f3c80ec4270a7c0f1e13ef4738b0e3f4ed048ff8d885" + }, + { + "path": "harness/experiments/state-multiselect-20260923/source/source-lint-2.json", + "bytes": 583, + "sha256": "e0a6deab68683278965643f6f34a1038fcea25c1f242b6f75f5559b7697ec7d6" + }, + { + "path": "harness/experiments/state-multiselect-20260923/source/verify-committed-inputs.py", + "bytes": 5712, + "sha256": "3cd4f0155cd29c6786f467562d458a380084b2a510eac6454a29388f8f048772" + }, + { + "path": "harness/experiments/state-multiselect-20260923/source/verify.py", + "bytes": 10126, + "sha256": "e670dc47e89a6ad5cdf7f9adfb6a50797270e475d6b312f159f7aef941ae723b" + } + ], + "runs": [ + { + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\state-multiselect-delivery-readback-20260923\\checks\\verify.py" + ], + "exit": 0, + "log": "parent-verifier-1.log", + "sha256": "51b15ab68c5503d1ccca83c45e7b1383d515ca90ec18ec5ce04a778559d62c2f" + }, + { + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\state-multiselect-delivery-readback-20260923\\native\\verify.py" + ], + "exit": 0, + "log": "parent-verifier-2.log", + "sha256": "3f0c108567bbe5f329e1a8c3305af59264cca048a6a833e54961b16ea15be5eb" + }, + { + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\state-multiselect-delivery-readback-20260923\\source\\verify.py", + "--repo", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio", + "--checks", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\state-multiselect-delivery-readback-20260923\\checks" + ], + "exit": 0, + "log": "parent-verifier-3.log", + "sha256": "cc2f96c01b8aaa03bed79cee45b04c24a46d9fe02d719de552f692d6d614aa03" + }, + { + "command": [ + "C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe", + "-B", + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\state-multiselect-delivery-readback-20260923\\incidents\\core-1\\verify.py" + ], + "exit": 0, + "log": "parent-verifier-4.log", + "sha256": "08cccbabb0ec556767f6d03974ed0d3610be847ad99758a64ff5be9ac294f56b" + } + ], + "scope": "Offline committed evidence/source consistency only; no archived launcher, Cargo, evaluator or GUI execution." +} diff --git a/harness/experiments/state-multiselect-delivery-audit-20260923/state-multiselect-outcomes-20260923.json b/harness/experiments/state-multiselect-delivery-audit-20260923/state-multiselect-outcomes-20260923.json new file mode 100644 index 00000000..29c662e2 --- /dev/null +++ b/harness/experiments/state-multiselect-delivery-audit-20260923/state-multiselect-outcomes-20260923.json @@ -0,0 +1,37 @@ +{ + "result": "PASS", + "scope": "Recorded libtest output only; no new execution or complete listing admission.", + "gates": { + "core-2": { + "passed": 11, + "failed": 0, + "ignored": 0, + "filtered": 0, + "actual_unique_outcomes": 11, + "ignored_names": [] + }, + "desktop-2": { + "passed": 1286, + "failed": 0, + "ignored": 6, + "filtered": 0, + "actual_unique_outcomes": 1292, + "ignored_names": [ + "app::source_rename::timing_tests::accepted_release1_prepare_commit_sync_and_confirm_timing", + "app::source_rename::timing_tests::layout_timing_tests::accepted_release1_constructor_vs_reuse_through_next_highlight", + "app::source_symbols::tests::source_symbols_100_modules_1000_definitions_10000_uses", + "source_annotations::anchor_tests::final_multi_glyph_cluster_anchor_uses_logical_trailing_advance_edge", + "source_annotations::anchor_tests::mixed_direction_omitted_separator_has_one_logical_predecessor_anchor", + "source_annotations::performance_tests::annotation_projection_cost_distributions" + ] + }, + "desktop-3": { + "passed": 122, + "failed": 0, + "ignored": 0, + "filtered": 1170, + "actual_unique_outcomes": 122, + "ignored_names": [] + } + } +} diff --git a/harness/reviews/state-multiselect-composition-20260923.md b/harness/reviews/state-multiselect-composition-20260923.md new file mode 100644 index 00000000..70064514 --- /dev/null +++ b/harness/reviews/state-multiselect-composition-20260923.md @@ -0,0 +1,61 @@ +# State multiselect composition review + +Parent Codex-956atf reviewed the production delta from ordinary delivery +`7e348d967d1787c052a145b7448636613a6a7054` to State delivery +`bed7f825fd00ec32299032a664a5f5d753aad86d`, its independent review and native +report. This is a static integration review plus an +[offline evidence audit](../experiments/state-multiselect-delivery-audit-20260923/README.md), +not a fresh review of every fixture or native screenshot and not combined +acceptance. The independently authored 911-line model evaluator was not rereviewed +in this pass; its reported checker results remain peer evidence. + +State now reuses the typed selection envelope while keeping exact row identity +as `(placement, relation)`. Visibility rechecks both the live placement and +relation source, preventing a surviving reassigned relation from rebinding a +stale row selection. Primary inspection remains separate from selected membership. +Queued singleton Select/Move/Remove refusals occur before shared App navigation +and allocation hooks. This addresses the peer critic's confirmed late-refusal +finding; preserve that ordering alongside e34's Scenario and Text admission. + +Group preview uses the existing simultaneous placement planner and applies its +node/route commands to a diagram clone. State's explicit unsnapped displacement +policy preserves the fractional pointer delta, while the ordinary constructor +retains its ten-unit grid. Singleton bend snapping remains separate. The gesture +keeps its selection/context/viewport snapshot, retires on context and focus +changes, and refuses unsupported mixed selections as a whole. The State toolbar +reserves picker and selection-control space to avoid canvas refitting as group +membership changes. Keep those fixed slots when composing newer controls. + +Exact State menu targets use `Option>`; matching checks placement, +semantic object and current visibility. The menu's group branch precedes the +State-specific singleton actions. Preserve the existing attachment/reconnect +and bend menu payloads when adding this field to constructors and tests. + +A `git merge-tree --write-tree` probe of candidate +`e34ba27e26ede3ab55f276acc250d92b2e0c3204` with delivery bed7 produced conflict +tree `5490ff2bd8d40ae594e7a6c2e8b66066107ea48d` without changing a checkout. +It found seven conflicted paths: app/state_attachment_escape_tests.rs, +app/state_bend_tests.rs, app/state_diagram.rs, behavior/state_bend_tests.rs, +behavior/state_canvas.rs, diagram.rs and diagram/attachment_tests.rs, all under +crates/oa-desktop/src. These reflect independently integrated attachment/bend +history as well as the new adapter; whole-file replacement would lose evidence +or behavior. Resolve against both exact parents and inspect the combined diff. +The auto-merged app.rs/model_menu.rs still require semantic review. Add +`Diagram.layout: None` to the peer evaluator if the combined schema requires it. + +Required combined checks follow the actual risks: early stale-envelope refusal +with unchanged navigation/selection state, singleton attachment/bend routing with +production selection enabled, exact row targeting, fractional simultaneous group +movement, fixed viewport dimensions, Hide/Undo/Redo and source/model conservation. +Native peer evidence is bounded to its delivered branch; the combined executable +must be exercised before integration acceptance. Shared picker Escape issue 35 +and reported State label overlap are existing open usability findings, not +successful behavior redefined by this review. + +After the probe, the parent resolved all 15 conflict hunks in a separate checkout, +added `layout: None` to both native examples, and obtained an independent review +of the combined event paths. Frozen source +`a2a326f183ba0486814cd9fbdce19eb98cad7017` on +`codex/multiselect-union-956atf-20260923` contains the full source handoff and +`harness/reviews/state-multiselect-merged-20260923.md`. Its source checks pass; +compilation, runtime and combined acceptance remain unestablished.

x|)ZP+o&JoH_2N!#K?LQE)4o&fr;`{Xw#;zeen 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 z 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 z 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