Preserve current core, source, REST, desktop, recovery, documentation and validation work, including AGENTS.md and the development summary. This is a work-in-progress checkpoint: the new compact palette has outstanding compilation errors and native acceptance; earlier passing gates retain their documented scope.
10 KiB
Frozen source7 native Linux gate — 2026-09-07
Status: Native core PASS (436 passed, 0 failed, 2 ignored); native server gate FAILED one reproducible deadline assertion (52 passed, 1 failed). VM cleanly powered off. These are scoped results for the frozen snapshot, not overall release acceptance. Root owns VM lifecycle; no simultaneous Windows Cargo compilation is allowed during this gate.
Exact inputs and environment
Root booted the retained headless Ubuntu 24.04.4 guest at 2026-09-07 07:02:43 UTC, with a hard live deadline of 08:32:43 UTC and 180 seconds reserved for shutdown. SSH became healthy around 07:06:41 UTC. Guest kernel: 6.8.0-139-generic, x86-64. Native Rust/Cargo are explicit 1.90.0; Rust commit 1159e78c4747b02ef996e55082b704c09b970588.
Fresh guest snapshot: /home/arcadia/qa-source/source7-20260907T070243259972Z. It contains 455 frozen working-source files plus QA-SNAPSHOT.json; the recorded Git parent is 4b6b5fc1977523e8cf52fdd5503a0a71c87a3f63. Source7 changes are captured working bytes, not represented as already committed in that parent.
| Input | SHA256 |
|---|---|
source7-20260907T070243259972Z.tar.gz |
7104946c89b2be7a1a030fdff47cb4405bacf05357d68cf35d181e860f55c279 |
Corresponding external .tar.manifest.json |
b6fd1cc065a3370c3736f3d6f34545dd3f2b0f600168fada2b931ecb64a0c870 |
source7-gate.sh |
2489e1053b5523515b77c5a5d191175c21eb6d85e2ae8b080b977bec3bbd8b96 |
All three hashes matched on both host and guest. Before extraction, the setup script checked archive member count and exact inventory, prohibited nonregular/absolute/parent-traversal entries, checked every file hash and internal/external manifest equality, and required a previously absent destination. Driver syntax checking passed. Driver additionally verifies exact inventory/content before and after each test command and compares its captured manifest.
Cache: preserved /home/arcadia/qa-target; Cargo jobs=1, incremental=0. Guest has 1,961MiB RAM and no swap; the host monitor remains active. No cross-built test executable is substituted for these native Cargo tests.
Ordered gates
- Native server:
cargo +1.90.0 test --locked -p oa-server -- --test-threads=1, command timeout 50 minutes plus bounded termination grace. Started around 07:08 UTC. Final result: compilation passed; unit tests 2/2 and HTTP 50/51, detailed below. - Native core:
cargo +1.90.0 test --locked -p oa-core --tests -- --test-threads=1, only if at least 15 minutes remain after shutdown reserve. Executed after the isolated server rerun; final result below.
Driver artifacts are retained below /home/arcadia/qa-artifacts/source7-gates/; each run records its exact driver, manifest, command, status JSON, full output and source pre/post verification. Host streaming log: .local/linux-qa/runtime/source7-server-gate.log. Final passing counts below come from the collected status and complete per-target test summaries.
Separate cross-built executable runtime check
Before native tests, the hash-checked Windows/Rust1.90 cross-built probe actually executed in this guest and passed the ring SHA256, thread and UTF-8 filesystem checks. Exact ELF SHA256 1d7029f9b6ebea28b35765760c56631ebd4829e3c33dbdcc225d992f558ea023; runtime JSON was independently parsed and matched. See release-linux-cross-build-probe-20260906.md and .local/linux-qa/runtime/source7-probe-and-unpack.log. This closes only that bounded executable runtime check; no Iced Linux GUI binary has been built or launched.
Native server result and bounded classification
The full server gate ended at 07:30:19 UTC, command exit 101, driver wall time 1,290 seconds. Compilation succeeded in 17m10s; server unit tests 2/2 PASS and HTTP tests 50/51 PASS (238.94 seconds). The failed Cargo target prevents treating later targets/doc tests as executed.
Sole failure: accepted_slow_source_does_not_lock_catalog_and_loses_to_a_newer_http_revision, crates/oa-server/tests/http.rs:638: actual 504, expected 412. The test had passed its unfinished-after-100ms assertion, two-second catalog-read bound, two-second concurrent PATCH bound and winner status. The final loser JSON/revision/disk assertions occur after the failed status assertion and therefore were not reached.
The source is a 1,000-deep admitted activity hierarchy. crates/oa-server/src/lib.rs:111 independently enforces a hard 30-second request deadline and emits 504 outcome_unknown. The test permits a 45-second completion watchdog but requires preparation to finish within the actual service deadline to observe 412. The unfinished client assertion does not establish that the server has already completed its initial revision check. This is a resource-dependent fixture/deadline mismatch, not evidence that the catalog or commit mutex was held throughout preparation, nor evidence that the final persisted-state assertions passed.
One explicitly authorized isolated rerun used the identical frozen sources and assertions, the already compiled HTTP target, exact test filter, one test thread and a ten-minute outer limit. It reproduced 504 versus 412, in 49.38 seconds test time (cached Cargo preparation 14.01 seconds), without other test/compile contention. Therefore this is not classified as a random full-suite flake. No fixture, production timeout or assertion was modified and no further retry was made. A future precise synchronization test seam could test the intended post-initial-check race without depending on costly graph validation outrunning one bound but finishing before another; that requires a separately reviewed change.
Both full and isolated runs passed all 455 source-content/inventory prechecks and postchecks. Their guest artifact directories were copied intact to the host under .local/linux-qa/runtime/source7-gate-artifacts/:
server-test-20260907T070848Z-G0glzP: full run, status FAILED/101, 1,290 seconds.server-test-20260907T073317Z-3MLzDC: isolated run, status FAILED/101, 96 seconds driver wall time.
The focused driver differs only in the exact printed Cargo command and retains the same source validation/status machinery. Its SHA256 is 701e7e242109290f2952cc6929a903fc8c25d4086e44434c4c1193ad71e4b55f. Streaming evidence: source7-server-gate.log, source7-server-focused-gate.log; final guest status JSON and driver copies are preserved in the artifact directories.
Native core final result
PASS: 436 passed, 0 failed, 2 ignored across 40 test targets. Explicit native cargo +1.90.0 test --locked -p oa-core --tests -- --test-threads=1 exited 0. Compilation took 23m03s. Driver status records 1,992 seconds wall time, start 07:36:23Z, completion output 08:09:37 UTC. Exact 455-file source precheck and postcheck both passed. The copied guest status is PASSED, command status 0, exit status 0.
The source7 contract target passed all 16/16 tests (6.63 seconds), including contextual repetition/nesting and analysis budgets, source/identity/history/migration, exact inherited allocation identity, reverse unoriented Call/Reply binding, transmission mismatch/Unspecified diagnostics, and independent repair of Call and separate Reply channels after allocation deletion. The shipped teaching generator/source equality tests also passed in the actual Linux filesystem context.
The unit target passed 42 tests and ignored one. Linux-specific syscall-publication coverage executed successfully:
| Linux publication case | This snapshot's result |
|---|---|
| Concurrent stages have exactly one winner | PASS |
| Competing destination and caller-owned stage are preserved | PASS |
| Raw path bytes are preserved and NUL rejected | PASS |
| Publication refusal never starts model writes | PASS |
Injected unsupported renameat2 error fails closed |
IGNORED; requires separate strace injection and OA_TEST_RENAMEAT2_ERRNO |
The other explicit ignore is inheritance_chain_validation_scaling_probe, an opt-in scaling experiment requiring --ignored --nocapture. Neither ignored case was rerun in this gate. Prior Linux injection evidence, if cited elsewhere, belongs to its earlier snapshot and must not be relabeled as this source7 run.
Copied evidence hashes and shutdown
All three guest artifact directories were copied intact before shutdown. Each includes exact driver.sh, snapshot-manifest.json, output.log, and status.json. The 12-file host size/hash inventory is .local/linux-qa/runtime/source7-artifact-hashes.json; core count extraction is source7-core-counts.json.
| Copied artifact | SHA256 |
|---|---|
| Core output | c744bcba79ae5af163577cb6367ae39b192754b5864724fbefca05d09fd31480 |
| Core final status | af1143378ba1aebae943d9de728935d1ab655e25d36f187a90beb2aee493a810 |
| Full server output | 8ce24e5e9a84cc119e7499f41fce3c9a9a914c138237fd82d901977408aad8d0 |
| Isolated server output | 5f858c816963ae3ca013f66fa3e1945377f95c2a6844d881e56d6eba13721161 |
| Internal snapshot manifest, identical in all three runs | 57061c50d48444ef7b82fc063e874209ef7d86424638c2b37104ab7e483c4950 |
The internal manifest's bytes differ from the separately exported manifest's line endings; JSON equality and the complete file digest mapping were explicitly checked before extraction. Each driver's own internal manifest was also compared byte-for-byte before/after its run.
Root delegated clean shutdown after evidence collection, with no additional gate. sync; sudo -n poweroff was accepted at 08:12:55 UTC. Serial output reached reboot: Power down; by 08:13:56 UTC, QEMU PID 6280, launcher PID 5000 and seed PID 816 were all absent. Host free RAM was 4,157 MiB at that confirmation. The heavy build lease was released immediately. The VM disk, toolchain and approximately 1.5 GiB guest Cargo target cache remain preserved. Durable records: source7-clean-poweroff.log, source7-final-serial.log, and source7-post-poweroff.json.
An optional executed-binary hashing command was interrupted by the clean shutdown after partial output; source7-test-binary-hashes.log is explicitly not a complete binary inventory. This does not affect the copied, complete test logs/statuses/manifests or their host hashes. No source or assertion edits, VM reboot, or extra Linux test gate were made in this run. A new server test design and fresh Linux snapshot require separate validation; Linux Iced GUI compilation/execution remains outside this gate.