Record lifecycle and palette native acceptance and runtime provenance

This commit is contained in:
2026-09-12 19:49:08 -07:00
parent dd39e1fdc1
commit 95e0e12716
274 changed files with 74019 additions and 129 deletions
@@ -0,0 +1,13 @@
# Public checked-save failure — Windows analysis847
Closed execution of one existing public regression against source `847b1caa7e75bb82f6ce5193c45bcfc45973ad1a`. **Compilation succeeded; the test failed** when decoding source that checked-save had successfully written. This is finite failure evidence, not acceptance of the analysis candidate or its private JSON/depth codec.
The [short evidence report](../../release-analysis-checked-save-20260913.md) states the result and next repair boundary. [Original detailed handoff](run/README.md), [exact command/result](run/result.json), [full Cargo output](run/cargo.log), [raw committed input manifest](run/inputs.json), [toolchain/environment preflight](run/preflight.json), and [direct one-test listing](run/membership.stdout.log) retain actual evidence. All512 input hashes and the clean source remained unchanged; the listing selected exactly one test. Cargo returned101;0 passed,1 failed,14 filtered out.
The original result's `log_test_failed: false` is preserved. Its auxiliary matcher expected the test name and FAILED on one uninterrupted line, while nocapture inserted panic text. Cargo's exit/counts, named failure, panic at review_regressions.rs464 and executable membership are authoritative. No result was rewritten to hide this imperfect diagnostic.
`archive-manifest.json` inventories every payload except itself. Files under `run/` and the exact original runner under `tools/` are byte-for-byte copies. Original handoff/helper paths refer to the original local workspace; archived placement is evidence, not a claim that those paths automatically relocate. The archive helper is retained for review, not intended for a second create attempt at existing output paths.
[external-bindings.json](external-bindings.json) identifies the excluded30,458,368-byte failed integration executable, retained local target, runtime candidate and source commit. The executable hash was rechecked during archival: `c6b9a47856ace723de47ee714122d598994eeef21223c1f80558ae76eb4b9cec`. The large target/executable and toolchain are not copied. The test's temporary saved model was dropped by its unchanged tempfile lifetime on panic; no saved-model snapshot is claimed. The runtime record identifies a PATH candidate, not a captured loaded module.
Compiler/test lease was released after the actual failure and exact listing. Archival performs no compiler, test, native, network or package operation. Parent owns source correction, further execution, coordination and integration.
@@ -0,0 +1,72 @@
{
"utc": "2026-09-13T02:23:49.124772+00:00",
"scope": "Closed one-test public checked-save failure, source identity, actual command/logs/runner and external failed executable binding. No candidate acceptance.",
"files": [
{
"path": "run/cargo.log",
"source": ".local/analysis-checked-save-847b1caa-20260913/cargo.log",
"bytes": 2182,
"sha256": "4c74e8d7221cf927410afa8e1eeb05a86d43b833a9a83d670e3f4263a6e06d84"
},
{
"path": "run/inputs.json",
"source": ".local/analysis-checked-save-847b1caa-20260913/inputs.json",
"bytes": 95422,
"sha256": "80ae7cece89e241bc2d8b53153affa3b16dd94e6dcf7cb8e3ebb9fad36945e02"
},
{
"path": "run/membership.stderr.log",
"source": ".local/analysis-checked-save-847b1caa-20260913/membership.stderr.log",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "run/membership.stdout.log",
"source": ".local/analysis-checked-save-847b1caa-20260913/membership.stdout.log",
"bytes": 100,
"sha256": "a8bd7350f0cfbdfc9666cbb8485ebea8e8812c6a3139394bc4f6fb3ae8fe7cf6"
},
{
"path": "run/preflight.json",
"source": ".local/analysis-checked-save-847b1caa-20260913/preflight.json",
"bytes": 5705,
"sha256": "1e64e18267175eb12917e4aad962307929ed399ee0e164b3d869e61c1f77469b"
},
{
"path": "run/README.md",
"source": ".local/analysis-checked-save-847b1caa-20260913/README.md",
"bytes": 5970,
"sha256": "aca2f46a3eef784a0fd0e014171bd871d18f72c9a54c85d43c8f3ccd10af3bb8"
},
{
"path": "run/result.json",
"source": ".local/analysis-checked-save-847b1caa-20260913/result.json",
"bytes": 1757,
"sha256": "8d372f15c02964a4ca040bd2b744327bbd5318e61cfc4300ba227d91cba30b45"
},
{
"path": "tools/run-analysis-checked-save-20260913.py",
"source": ".local/run-analysis-checked-save-20260913.py",
"bytes": 5645,
"sha256": "b094433c2429369ac279517c95e2d42efa4e4d4c852dc602733eff6e38dabd31"
},
{
"path": "tools/archive-analysis-checked-save-20260913.py",
"source": ".local/archive-analysis-checked-save-20260913.py",
"bytes": 4051,
"sha256": "f25f3419fbac7a0ec64af2fd7a1b4c7190bea2032c8b3efe970c2e791602ee6b"
},
{
"path": "external-bindings.json",
"source": "generated from verified closed run/preflight receipts",
"bytes": 1356,
"sha256": "c1e6da0263725a78a9dc4d977a48a18644cda676a63fb665f5f2a543bf022b26"
},
{
"path": "README.md",
"source": "generated portable archive navigation and evidence limitations",
"bytes": 2531,
"sha256": "5a38ba08ba0b4af52d7769aa762864a902c10eee891704be82b04282276e2656"
}
]
}
@@ -0,0 +1,19 @@
{
"scope": "Excluded large artifact and existing source/toolchain paths. Test executable was rehashed at archival; toolchain/other values retain original preflight identity, not new build/module acceptance.",
"source": "847b1caa7e75bb82f6ce5193c45bcfc45973ad1a",
"source_worktree": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-core-worktree-20260911",
"retained_target_directory": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913",
"executable": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\review_regressions-bb6c689147f65d6b.exe",
"bytes": 30458368,
"sha256": "c6b9a47856ace723de47ee714122d598994eeef21223c1f80558ae76eb4b9cec"
},
"runtime_path_candidate": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\libunwind.dll",
"bytes": 190464,
"sha256": "aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a"
},
"runtime_binding_limit": "Hashed selected PATH candidate, not an observed loaded-module record.",
"raw_source_input_manifest": "run/inputs.json",
"test_temp_directory": "Not retained: the unchanged tempfile-owned test dropped it on panic. No saved-model snapshot is claimed."
}
@@ -0,0 +1,42 @@
# Actual public checked-save regression — analysis847b1caa
**FAIL at the intended public source decode assertion.** The prediction in `harness/release-analysis-next-acceptance-20260913.md` is now executed evidence. Compilation succeeded; this is not a compiler, filter or loader failure. Compiler/test lease closed and was explicitly released to the parent after the direct executable listing. No additional gate, source correction, package or native workflow was run.
## Exact execution
Source `847b1caa7e75bb82f6ce5193c45bcfc45973ad1a`, clean worktree `.local/analysis-core-worktree-20260911`. The preflight compared512 tracked source/config/build/crates/assets/docs/examples/fixture input bytes directly against raw committed blobs via batched `git cat-file`. All512 hashes, HEAD and worktree status remained unchanged after the command.
Command, working directory and environment are preserved in `preflight.json`, `inputs.json` and `result.json`:
```text
cargo test --locked -p oa-core --test review_regressions checked_save_returns_exact_bytes_and_accepts_unchanged_external_content -- --exact --test-threads=1 --nocapture
```
Absolute root `.local/toolchain/env.ps1` initialized the existing Windows GNU/LLVM environment. New `CARGO_TARGET_DIR` was `C:/Users/User/Documents/Git/ARCADIA-Studio/.local/analysis-checked-save-target-20260913`, created fresh, never root/target. `CARGO_BUILD_JOBS=1`. Rust1.98.1 commit48a229ceaefd4985c50990b14116b6d856af0985, Cargo1.98.1, host x86_64-pc-windows-gnullvm; LLVM-MinGW clang23.1.1 commit6dfe1677ab8dffbc6ec13d53a1e0215d75147689. Version-query outputs, executable hashes and selected environment are recorded. These are default **unoptimized test/development-profile** results; workspace dev debug-info setting is0, not an optimized profile.
Command start2026-09-13T02:04:30.026751Z. Cargo elapsed934.75s; its build line reports15m33s. Cargo exit101. The result receipt closed at02:20:08.790964Z after input/artifact/listing checks. Test output: **0 passed;1 failed;0 ignored;14 filtered out**,0.08s. The freshly compiled integration executable's exact-name `--exact --list` exited0 and returned exactly this one test (1 test,0 benchmarks). No second execution of the regression occurred.
Actual panic at `crates/oa-core/tests/review_regressions.rs:464:50`:
```text
called Result::unwrap() on an Err value:
Text("1:9: Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.")
```
`cargo.log` contains the verbatim original (including Rust's punctuation), SHA256 `4c74e8d7221cf927410afa8e1eeb05a86d43b833a9a83d670e3f4263a6e06d84`,2182bytes. The runner's supplemental `log_test_failed` field is false because it searches for the single contiguous string `test_name ... FAILED`; `--nocapture` inserted panic text between that prefix and FAILED. This auxiliary string-match is not the evaluator: cargo exit101, the named failures section, result counts, panic location and exact executable listing establish the actual failure. Original receipt is retained unchanged rather than rewriting its imperfect diagnostic flag.
## Bounded source cause and consequence
The existing test starts with Project::empty(), loops `.arcadia` before `.oa.json`, successfully saves, changes description to include Unicode and a newline, checks disk/returned-byte equality and then calls the public decoder. Reaching line464 proves the earlier two saves and their equality assertions succeeded. The first iteration's decode failed; repeat save and the later JSON iteration did **not** execute. Do not infer JSON corruption or success from this run.
Candidate `model.rs:9` sets SCHEMA_VERSION8. `language.rs:577` formats that value into the source header. `language.rs:1408` only admits3–7. `persistence.rs:952–958` validates the model then takes `.arcadia` directly through `language::format`; the destination is replaced at line979 without a public source round-trip check. This is an actual successful-save/unreadable-source defect in the isolated staging candidate, consistent with its documented unfinished source8 integration. It is not a failure of the private JSON depth128 experiment; DEPTH_128_VALIDATED remains false and unchanged.
Do not repair only the version whitelist: the declaration writer and explicit rejection of analysis records also need a reviewed source8 closure. No such changes were authorized or made here. Root owns #7, a separately reviewed correction and any later checked-save/migration/API tests. The complete analysis feature and production promotion remain unaccepted.
## Preserved evidence and limits
Compiled executable remains at `../analysis-checked-save-target-20260913/debug/deps/review_regressions-bb6c689147f65d6b.exe`,30,458,368bytes, SHA256 `c6b9a47856ace723de47ee714122d598994eeef21223c1f80558ae76eb4b9cec`. Its bytes were unchanged after listing. The fresh target and failed executable were preserved; no cleanup/replacement was attempted. The unmodified test owns a tempfile directory whose drop normally removes it on panic; no persisted model-file snapshot was captured, and this report does not claim one. Source and log evidence identify the reached assertion without inventing a saved-file artifact.
The selected PATH runtime candidate was hashed as `aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a`, unchanged afterward. This is candidate-path identity, **not an observed loaded-module record**. The executed test/listing worked, but no graphics/native acceptance, runtime-module observation, peak-memory measurement, optimized build, broader regression or Linux run was performed.
Runner source is `.local/run-analysis-checked-save-20260913.py`; its exact hash is in preflight.json. Raw input manifest, toolchain queries, command, process exit, complete compile/panic output, test-list output and executable identities are retained here. Root owns durable archival and coordination; no Gitea, source edit or commit was performed by this worker.
@@ -0,0 +1,55 @@
Compiling proc-macro2 v1.0.107
Compiling memchr v2.8.3
Compiling find-msvc-tools v0.1.12
Compiling shlex v2.0.1
Compiling quote v1.0.47
Compiling object v0.39.1
Compiling unicode-ident v1.0.24
Compiling cc v1.4.5
Compiling windows-link v0.2.1
Compiling serde_core v1.0.229
Compiling autocfg v1.5.1
Compiling num-traits v0.2.19
Compiling windows-sys v0.61.2
Compiling ar_archive_writer v0.5.3
Compiling syn v3.0.5
Compiling cfg-if v1.0.4
Compiling getrandom v0.4.3
Compiling psm v0.1.32
Compiling zmij v1.0.23
Compiling libc v0.2.189
Compiling stacker v0.1.25
Compiling serde v1.0.229
Compiling thiserror v2.0.20
Compiling serde_json v1.0.151
Compiling num-integer v0.1.47
Compiling thiserror-impl v2.0.20
Compiling serde_derive v1.0.229
Compiling winapi-util v0.1.11
Compiling once_cell v1.21.4
Compiling itoa v1.0.18
Compiling sha1_smol v1.0.1
Compiling oa-core v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\analysis-core-worktree-20260911\crates\oa-core)
Compiling fastrand v2.5.0
Compiling tempfile v3.27.0
Compiling uuid v1.26.0
Compiling same-file v1.0.6
Compiling num-bigint v0.5.1
Finished `test` profile [unoptimized] target(s) in 15m 33s
Running tests\review_regressions.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\analysis-checked-save-target-20260913\debug\deps\review_regressions-bb6c689147f65d6b.exe)
running 1 test
test checked_save_returns_exact_bytes_and_accepts_unchanged_external_content ...
thread 'checked_save_returns_exact_bytes_and_accepts_unchanged_external_content' (4584) panicked at crates\oa-core\tests\review_regressions.rs:464:50:
called `Result::unwrap()` on an `Err` value: Text("1:9: Unsupported schema version: expected arcadia 3, 4, 5, 6 or 7.")
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
FAILED
failures:
failures:
checked_save_returns_exact_bytes_and_accepts_unchanged_external_content
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 14 filtered out; finished in 0.08s
error: test failed, to rerun pass `-p oa-core --test review_regressions`
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,3 @@
checked_save_returns_exact_bytes_and_accepts_unchanged_external_content: test
1 test, 0 benchmarks
@@ -0,0 +1,69 @@
{
"source": "847b1caa7e75bb82f6ce5193c45bcfc45973ad1a",
"cwd": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-core-worktree-20260911",
"target_directory": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913",
"profile": "Cargo test default development/test profile; workspace profile.dev debug=0. No release optimization claimed.",
"versions": {
"rustc": "rustc 1.98.1 (48a229cea 2026-09-01)\nbinary: rustc\ncommit-hash: 48a229ceaefd4985c50990b14116b6d856af0985\ncommit-date: 2026-09-01\nhost: x86_64-pc-windows-gnullvm\nrelease: 1.98.1\nLLVM version: 22.1.8\n",
"cargo": "cargo 1.98.1 (797e8a9bc 2026-08-05)\n",
"linker": "clang version 23.1.1 (https://github.com/llvm/llvm-project.git 6dfe1677ab8dffbc6ec13d53a1e0215d75147689)\nTarget: x86_64-w64-windows-gnu\nThread model: posix\nInstalledDir: C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/llvm-mingw-20260908-ucrt-x86_64/bin\nConfiguration file: C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/llvm-mingw-20260908-ucrt-x86_64/bin/x86_64-w64-windows-gnu.cfg\n"
},
"tools": {
"cargo": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\bin\\cargo.EXE",
"bytes": 12721664,
"sha256": "6f4bef66261261fcb43131be8720bab817d403a09edec7455c371974b90bdb7e"
},
"rustc": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\bin\\rustc.EXE",
"bytes": 12721664,
"sha256": "6f4bef66261261fcb43131be8720bab817d403a09edec7455c371974b90bdb7e"
},
"clang.exe": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\clang.exe",
"bytes": 14336,
"sha256": "93303edd5791e4b60682f819267a34c349e5f52d052d067e006e76d21cc82ea4"
},
"actual_cargo.exe": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup\\toolchains\\stable-x86_64-pc-windows-gnullvm\\bin\\cargo.exe",
"bytes": 43380736,
"sha256": "e6f0f24c3a4ec70f1032de84a8260288e8a0c3f43d2a5ac1d2a1c19073fbd910"
},
"actual_rustc.exe": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup\\toolchains\\stable-x86_64-pc-windows-gnullvm\\bin\\rustc.exe",
"bytes": 86528,
"sha256": "c4c7286b198f95c5da9307ba63e756f94953527d63a33dca877211bc0979baf9"
}
},
"env_script": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\env.ps1",
"bytes": 331,
"sha256": "ed5b7e8f1105c5355511e08cdeb4b96156fb245bff430e6bb9237ae8781638cc"
},
"selected_environment": {
"CARGO_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo",
"RUSTUP_HOME": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\rustup",
"CARGO_TARGET_DIR": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913",
"CARGO_BUILD_JOBS": "1",
"CARGO_TARGET_X86_64_PC_WINDOWS_GNULLVM_LINKER": "clang.exe",
"RUSTFLAGS": null,
"CARGO_ENCODED_RUSTFLAGS": null,
"PATH": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\cargo\\bin;C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin;C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\native\\powershell;C:\\Users\\User\\.codex\\tmp\\arg0\\codex-arg08f9Dk5;C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\native\\libheif\\libheif\\bin;C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\native\\jxrlib\\jxrlib\\bin;C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\native\\poppler\\Library\\bin;C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\bin\\override;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\Git\\cmd;C:\\Windows\\System32\\OpenSSH\\;C:\\Users\\User\\AppData\\Local\\Programs\\OpenAI\\Codex\\bin;C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\native\\powershell;C:\\Users\\User\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\User\\AppData\\Local\\Programs\\Zed\\bin;C:\\Users\\User\\AppData\\Local\\Programs\\bd;C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\bin\\fallback;C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\node\\bin;C:\\Users\\User\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\native\\git\\cmd;C:\\Users\\User\\AppData\\Local\\OpenAI\\Codex\\bin\\6fdec9b372c2c0fd;C:\\Users\\User\\AppData\\Local\\OpenAI\\Codex\\bin\\7ac07f4ce733f89a"
},
"runtime_path_candidate": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\toolchain\\llvm-mingw-20260908-ucrt-x86_64\\bin\\libunwind.dll",
"bytes": 190464,
"sha256": "aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a"
},
"runtime_binding_limit": "Hashed selected PATH candidate, not an observed loaded-module record.",
"runner": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\run-analysis-checked-save-20260913.py",
"bytes": 5645,
"sha256": "b094433c2429369ac279517c95e2d42efa4e4d4c852dc602733eff6e38dabd31"
},
"input_manifest": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-847b1caa-20260913\\inputs.json",
"bytes": 95422,
"sha256": "80ae7cece89e241bc2d8b53153affa3b16dd94e6dcf7cb8e3ebb9fad36945e02"
}
}
@@ -0,0 +1,52 @@
{
"source": "847b1caa7e75bb82f6ce5193c45bcfc45973ad1a",
"start": "2026-09-13T02:04:30.026751+00:00",
"end": "2026-09-13T02:20:08.790964+00:00",
"elapsed_seconds": 934.75,
"command": [
"cargo",
"test",
"--locked",
"-p",
"oa-core",
"--test",
"review_regressions",
"checked_save_returns_exact_bytes_and_accepts_unchanged_external_content",
"--",
"--exact",
"--test-threads=1",
"--nocapture"
],
"exit": 101,
"changed_inputs": [],
"head_unchanged": true,
"worktree_status": "",
"log": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-847b1caa-20260913\\cargo.log",
"bytes": 2182,
"sha256": "4c74e8d7221cf927410afa8e1eeb05a86d43b833a9a83d670e3f4263a6e06d84"
},
"artifact": {
"path": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\review_regressions-bb6c689147f65d6b.exe",
"bytes": 30458368,
"sha256": "c6b9a47856ace723de47ee714122d598994eeef21223c1f80558ae76eb4b9cec"
},
"membership": {
"command": [
"C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\analysis-checked-save-target-20260913\\debug\\deps\\review_regressions-bb6c689147f65d6b.exe",
"checked_save_returns_exact_bytes_and_accepts_unchanged_external_content",
"--exact",
"--list"
],
"exit": 0,
"selected": [
"checked_save_returns_exact_bytes_and_accepts_unchanged_external_content: test"
],
"exact_one": true,
"artifact_unchanged": true
},
"log_running_one": true,
"log_test_failed": false,
"runtime_candidate_unchanged": true,
"classification": "Result requires source/log diagnosis; no candidate acceptance inferred."
}
@@ -0,0 +1,37 @@
from pathlib import Path
import hashlib,json,subprocess,datetime
R=Path(__file__).resolve().parent.parent;S=R/'.local/analysis-checked-save-847b1caa-20260913';D=R/'harness/experiments/analysis-checked-save-windows-20260913'
def sha(b):return hashlib.sha256(b).hexdigest()
def new(p,b):
p.parent.mkdir(parents=True,exist_ok=True)
with p.open('xb') as f:f.write(b)
assert not D.exists();D.mkdir()
result=json.loads((S/'result.json').read_bytes());pre=json.loads((S/'preflight.json').read_bytes())
assert result['source']=='847b1caa7e75bb82f6ce5193c45bcfc45973ad1a'
assert result['exit']==101 and not result['changed_inputs'] and result['head_unchanged'] and not result['worktree_status']
assert result['membership']['exact_one'] and result['membership']['exit']==0 and result['membership']['artifact_unchanged']
artifact=Path(result['artifact']['path']);assert artifact.stat().st_size==result['artifact']['bytes'] and sha(artifact.read_bytes())==result['artifact']['sha256']
assert sha((S/'inputs.json').read_bytes())=='80ae7cece89e241bc2d8b53153affa3b16dd94e6dcf7cb8e3ebb9fad36945e02'
assert len(json.loads((S/'inputs.json').read_bytes())['inputs'])==512
rows=[]
def add(p,dest):
b=p.read_bytes();new(D/dest,b);rows.append({'path':dest,'source':str(p.relative_to(R)).replace('\\','/'),'bytes':len(b),'sha256':sha(b)})
for p in sorted(S.iterdir()):
assert p.is_file() and not p.is_symlink();add(p,'run/'+p.name)
runner=R/'.local/run-analysis-checked-save-20260913.py';assert sha(runner.read_bytes())==pre['runner']['sha256'];add(runner,'tools/'+runner.name)
add(Path(__file__).resolve(),'tools/'+Path(__file__).name)
bindings={'scope':'Excluded large artifact and existing source/toolchain paths. Test executable was rehashed at archival; toolchain/other values retain original preflight identity, not new build/module acceptance.','source':result['source'],'source_worktree':pre['cwd'],'retained_target_directory':pre['target_directory'],'executable':result['artifact'],'runtime_path_candidate':pre['runtime_path_candidate'],'runtime_binding_limit':pre['runtime_binding_limit'],'raw_source_input_manifest':'run/inputs.json','test_temp_directory':'Not retained: the unchanged tempfile-owned test dropped it on panic. No saved-model snapshot is claimed.'}
b=(json.dumps(bindings,indent=2)+'\n').encode();new(D/'external-bindings.json',b);rows.append({'path':'external-bindings.json','source':'generated from verified closed run/preflight receipts','bytes':len(b),'sha256':sha(b)})
new(D/'archive-manifest.json',(json.dumps({'utc':datetime.datetime.now(datetime.timezone.utc).isoformat(),'scope':'Closed one-test public checked-save failure, source identity, actual command/logs/runner and external failed executable binding. No candidate acceptance.','files':rows},indent=2)+'\n').encode())
# Append only this new rule in the working file, preserving every existing byte.
attr=R/'.gitattributes';before=attr.read_bytes();rule=b'harness/experiments/analysis-checked-save-windows-20260913/** -text whitespace=-blank-at-eol,-blank-at-eof,cr-at-eol'
assert rule not in before;nl=b'\r\n' if b'\r\n' in before else b'\n';attr.write_bytes(before+(b'' if before.endswith(b'\n') else nl)+rule+nl)
# Index-specific patch stages only our row; other staged/unstaged attribute edits remain.
index=subprocess.check_output(['git','show',':.gitattributes'],cwd=R);assert rule not in index
old=index.decode().splitlines();context=old[-1]
patch=f'diff --git a/.gitattributes b/.gitattributes\n--- a/.gitattributes\n+++ b/.gitattributes\n@@ -{len(old)},1 +{len(old)},2 @@\n {context}\n+{rule.decode()}\n'
subprocess.run(['git','apply','--cached','--check','-'],input=patch.encode(),cwd=R,check=True)
subprocess.run(['git','apply','--cached','-'],input=patch.encode(),cwd=R,check=True)
afterindex=subprocess.check_output(['git','show',':.gitattributes'],cwd=R)
assert afterindex.decode().splitlines()==old+[rule.decode()]
print(json.dumps({'initial_payloads':len(rows),'external_executable_verified':True,'attribute_staged_only_own_new_row':True},indent=2))
@@ -0,0 +1,62 @@
from pathlib import Path
from datetime import datetime,timezone
import hashlib,json,subprocess,os,time,shutil,re,sys
ROOT=Path(__file__).resolve().parent.parent
WORK=ROOT/'.local/analysis-core-worktree-20260911'
TARGET=ROOT/'.local/analysis-checked-save-target-20260913'
OUT=ROOT/'.local/analysis-checked-save-847b1caa-20260913'
SOURCE='847b1caa7e75bb82f6ce5193c45bcfc45973ad1a'
TEST='checked_save_returns_exact_bytes_and_accepts_unchanged_external_content'
def sha(b):return hashlib.sha256(b).hexdigest()
def identity(p):
p=Path(p);b=p.read_bytes();return {'path':str(p),'bytes':len(b),'sha256':sha(b)}
def new(name,obj):
with (OUT/name).open('x',encoding='utf-8',newline='\n') as f:json.dump(obj,f,indent=2);f.write('\n')
def git(*args):return subprocess.check_output(['git',*args],cwd=WORK)
assert git('rev-parse','HEAD').decode().strip()==SOURCE
assert not git('status','--porcelain').strip()
assert not TARGET.exists();assert not OUT.exists();OUT.mkdir();TARGET.mkdir()
paths=git('ls-tree','-r','--name-only',SOURCE,'Cargo.toml','Cargo.lock','rust-toolchain.toml','.cargo','build','crates','assets','docs','examples','harness/fixtures').decode().splitlines()
data=subprocess.check_output(['git','cat-file','--batch'],cwd=WORK,input=''.join(f'{SOURCE}:{p}\n' for p in paths).encode())
offset=0;inputs=[]
for path in paths:
end=data.index(b'\n',offset);_,kind,size=data[offset:end].split();assert kind==b'blob';size=int(size)
blob=data[end+1:end+1+size];assert (WORK/path).read_bytes()==blob,path
inputs.append({'path':path,'bytes':size,'sha256':sha(blob)});offset=end+size+2
assert offset==len(data)
new('inputs.json',{'source':SOURCE,'scope':'All tracked Cargo/config/shared build/crates/assets/docs/examples/harness fixture paths; exact raw committed blobs compared with current disk bytes before build.','inputs':inputs})
env=os.environ.copy();env['CARGO_TARGET_DIR']=str(TARGET);env['CARGO_BUILD_JOBS']='1'
assert Path(env['CARGO_HOME']).resolve()==ROOT/'.local/toolchain/cargo'
assert Path(env['RUSTUP_HOME']).resolve()==ROOT/'.local/toolchain/rustup'
versions={}
for name,args in [('rustc',['rustc','-Vv']),('cargo',['cargo','-V']),('linker',['clang.exe','--version'])]:
versions[name]=subprocess.check_output(args,cwd=WORK,env=env,stderr=subprocess.STDOUT).decode()
tools={n:identity(shutil.which(n,path=env['PATH'])) for n in ['cargo','rustc','clang.exe']}
toolchain_bin=ROOT/'.local/toolchain/rustup/toolchains/stable-x86_64-pc-windows-gnullvm/bin'
for n in ['cargo.exe','rustc.exe']:tools['actual_'+n]=identity(toolchain_bin/n)
runtime=ROOT/'.local/toolchain/llvm-mingw-20260908-ucrt-x86_64/bin/libunwind.dll'
metadata={'source':SOURCE,'cwd':str(WORK),'target_directory':str(TARGET),'profile':'Cargo test default development/test profile; workspace profile.dev debug=0. No release optimization claimed.','versions':versions,'tools':tools,'env_script':identity(ROOT/'.local/toolchain/env.ps1'),'selected_environment':{k:env.get(k) for k in ['CARGO_HOME','RUSTUP_HOME','CARGO_TARGET_DIR','CARGO_BUILD_JOBS','CARGO_TARGET_X86_64_PC_WINDOWS_GNULLVM_LINKER','RUSTFLAGS','CARGO_ENCODED_RUSTFLAGS','PATH']},'runtime_path_candidate':identity(runtime),'runtime_binding_limit':'Hashed selected PATH candidate, not an observed loaded-module record.','runner':identity(__file__),'input_manifest':identity(OUT/'inputs.json')}
new('preflight.json',metadata)
command=['cargo','test','--locked','-p','oa-core','--test','review_regressions',TEST,'--','--exact','--test-threads=1','--nocapture']
start=datetime.now(timezone.utc).isoformat();clock=time.monotonic()
print(json.dumps({'start':start,'source':SOURCE,'input_count':len(inputs),'command':command,'target_directory':str(TARGET)}),flush=True)
with (OUT/'cargo.log').open('xb') as log:
p=subprocess.run(command,cwd=WORK,env=env,stdout=log,stderr=subprocess.STDOUT)
elapsed=time.monotonic()-clock
changed=[x['path'] for x in inputs if sha((WORK/x['path']).read_bytes())!=x['sha256']]
executables=list((TARGET/'debug/deps').glob('review_regressions-*.exe'))
listing=None;artifact=None
if len(executables)==1:
exe=executables[0];artifact=identity(exe)
lc=[str(exe),TEST,'--exact','--list']
with (OUT/'membership.stdout.log').open('xb') as out,(OUT/'membership.stderr.log').open('xb') as err:q=subprocess.run(lc,cwd=WORK,env=env,stdout=out,stderr=err)
lines=(OUT/'membership.stdout.log').read_text().splitlines()
selected=[line for line in lines if line.endswith(': test')]
listing={'command':lc,'exit':q.returncode,'selected':selected,'exact_one':q.returncode==0 and selected==[TEST+': test'],'artifact_unchanged':artifact==identity(exe)}
log=(OUT/'cargo.log').read_text(errors='replace')
result={'source':SOURCE,'start':start,'end':datetime.now(timezone.utc).isoformat(),'elapsed_seconds':elapsed,'command':command,'exit':p.returncode,'changed_inputs':changed,'head_unchanged':git('rev-parse','HEAD').decode().strip()==SOURCE,'worktree_status':git('status','--porcelain').decode(),'log':identity(OUT/'cargo.log'),'artifact':artifact,'membership':listing,'log_running_one':bool(re.search(r'(?m)^running 1 test\s*$',log)),'log_test_failed':TEST+' ... FAILED' in log,'runtime_candidate_unchanged':metadata['runtime_path_candidate']==identity(runtime),'classification':'Result requires source/log diagnosis; no candidate acceptance inferred.'}
new('result.json',result)
print(log[-12000:]);print(json.dumps(result,indent=2))
assert not changed and result['head_unchanged'] and not result['worktree_status']
assert listing is not None and listing['exact_one'] and listing['artifact_unchanged'] and result['log_running_one']
sys.exit(p.returncode)