Record lifecycle and palette native acceptance and runtime provenance
This commit is contained in:
@@ -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."
|
||||
}
|
||||
+37
@@ -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))
|
||||
+62
@@ -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)
|
||||
Reference in New Issue
Block a user