Files
ARCADIA-Studio/harness/verification-v2-linux.md
T

8.0 KiB

V2 native Linux verification — 2026-09-05

Status: passed, including the focused desktop refresh verified at 04:54 Moscow time on 2026-09-05. This report covers native Linux compilation, tests, linting, and the headless example command. It does not claim graphical runtime acceptance; the root agent owns that separate WSLg check.

Environment and reproducible commands

  • Distribution: WSL Ubuntu-24.04, Ubuntu 24.04.2 LTS, x86_64.
  • Kernel: 6.6.87.2-microsoft-standard-WSL2.
  • Native compiler: rustc 1.98.1 (48a229cea 2026-09-01).
  • Native Cargo: cargo 1.98.1 (797e8a9bc 2026-08-05).
  • Workspace: /mnt/c/Users/sorok/OneDrive/Documents/ChatGPT/Capella 2.
  • Native Rust binaries: /home/sorokinoleg/.cache/arcadia/rust/bin.
  • Native target cache: /mnt/d/CodexBuilds/Capella2-01a06e2e/linux-target.
  • Vendor directory: /mnt/d/CodexBuilds/Capella2-01a06e2e/vendor, selected by the existing ignored target/linux-cargo.toml source-replacement config.
  • Cargo.lock SHA-256: eb3b55fe34920d5d9e069e2f4c80ee130eb85ec2ca12fddd7fc880b8ccfe062d.

Run inside this WSL distribution:

cd '/mnt/c/Users/sorok/OneDrive/Documents/ChatGPT/Capella 2'
export PATH=/home/sorokinoleg/.cache/arcadia/rust/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export CARGO_TARGET_DIR=/mnt/d/CodexBuilds/Capella2-01a06e2e/linux-target
cargo fmt --all -- --check
cargo test --workspace --locked --offline --config target/linux-cargo.toml
cargo clippy --workspace --all-targets --locked --offline --config target/linux-cargo.toml -- -D warnings
cargo build --release -p oa-desktop -p oa-server --locked --offline --config target/linux-cargo.toml

The Windows orchestration uses wsl.exe -d Ubuntu-24.04 --cd <workspace> --exec /usr/bin/env PATH=<path-above> CARGO_TARGET_DIR=<target-above> cargo .... No cross-compilation target is selected: Cargo and Rust execute natively in Ubuntu and generate Linux executables.

Results

cargo test --workspace --locked --offline --config target/linux-cargo.toml passed on the full-workspace baseline: 91 tests, zero failures (incremental test build completed in 12.05s). This includes the root agent's 64-unit nested header allowance, canvas text width correction, counterpart diagram focus, StateTransition behavior context, numbered transition details, diagram/layer focus after placement relocation, and actual SelectNode-before-drag regression.

Suite Passed
Core language 12
Core process diagnostics 1
Core review regressions 15
Core workflows 28
Desktop reducer/property forms 23
Server actual HTTP/storage 12

The core tests include reviewed divergent transitions in both directions, Capability/Mission mapping, same-parent sequence/branch preservation, placement relocation/artifact survival/invalid rollback, unowned-machine warnings, and checked external-save conflicts. Desktop tests include shared perspective and placement ownership forms, plus counterpart creation focus and existing-view reuse. The server suite exercises actual HTTP, atomic writes, restart, auth, bounded bodies, and concurrent ownership.

Native cargo fmt --all -- --check passed. Strict cargo clippy --workspace --all-targets --locked --offline --config target/linux-cargo.toml -- -D warnings passed on that full-workspace snapshot (12.44s).

The optimized desktop/server build passed (initial build 3m53s, workspace refresh 31.69s). file identifies both outputs as native x86-64 ELF PIE executables. ldd resolves every linked library; runtime-loaded graphics drivers are covered by the separate GUI check. A preliminary test invocation caught the same renamed legacy-fixture include path that Windows caught. The root agent corrected the two language-test paths to examples/legacy-v1-coastal-rescue.*; the complete rerun above passes. No Linux-specific source changes were needed or made by this worker.

Focused desktop refresh after native GUI review

Native GUI review prompted four desktop-only corrections: stable merge-input widget placement while preview rows change, readable artifact owner labels for placements, and clearing prior merge decisions when the effective counterpart or target kind changes, and automatic node placement only while authoring on the Architecture page. Behavior and Data authoring no longer inserts nodes into an unrelated active architecture diagram. The latest source passed:

  • cargo test -p oa-desktop --locked --offline --config target/linux-cargo.toml: 25 tests, zero failures (19.29s build). The focused regressions include transition_resolutions_belong_to_the_effective_target_and_kind and behavior_and_data_authoring_do_not_place_nodes_in_unrelated_architecture_views.
  • cargo clippy -p oa-desktop --all-targets --locked --offline --config target/linux-cargo.toml -- -D warnings: passed (10.71s).
  • cargo fmt --all -- --check: passed.
  • The established locked/offline release command for desktop and server: passed (22.40s), recompiling only oa-desktop.

Core and server source were unchanged; their earlier 56 and 12 passing native tests remain the evidence for those crates. Together with the current desktop suite, this covers 93 tests across these native runs; a new full-workspace 93-test invocation was not performed for the desktop-only corrections. The refreshed desktop's ldd output still has no unresolved libraries.

Headless examples and release artifacts

The native optimized desktop command below exited successfully and produced a 29,222-byte canonical arcadia 2 example without launching a window:

/mnt/d/CodexBuilds/Capella2-01a06e2e/linux-target/release/arcadia-studio --write-example /mnt/d/CodexBuilds/Capella2-v2-01a06e2e/linux-verification/linux-demo.arcadia

Before the focused UI-only refresh, the headless example was checked by a temporary native Rust assertion program linked to the current oa-core. It confirmed:

  • Packaged examples/coastal-rescue.arcadia and examples/coastal-rescue.json deserialize to equal projects, with zero validation checks.
  • Native-generated source exactly equals canonical formatting of its parsed model, reparses to an equal project, and equals its saved/reloaded JSON.
  • The native-generated example has zero validation checks: 39 elements, 23 relations, three diagrams, ten traces, and two artifact links.

The assertion source and executable are verify_examples.rs and verify_examples in the evidence directory below. Their assertions compare each example's representations; independently generated demo instances have fresh identities and are not claimed byte-identical to one another.

Final native binaries are in D:/CodexBuilds/Capella2-01a06e2e/linux-target/release/ (the same directory is /mnt/d/CodexBuilds/Capella2-01a06e2e/linux-target/release/ inside Ubuntu):

Binary Bytes SHA-256
arcadia-studio 23,344,152 df88c9dd2f4759c95514c32c0c50ad225642fff085b67162e6bebafafad01b04
arcadia-server 7,180,464 0df8a6eaaa9bb548669cf38d9b7e452d11171affe075652b9d561ddef2281814

Raw logs are stored outside the source tree at D:/CodexBuilds/Capella2-v2-01a06e2e/linux-verification/. The full-workspace baseline logs are release-ready-fmt.log, release-ready-tests.log, release-ready-clippy.log, release-ready-build.log, release-ready-examples.log, and the two release-ready-ldd-*.log files. The latest focused desktop logs are context-fix-desktop-tests.log, context-fix-desktop-clippy.log, context-fix-fmt.log, context-fix-release-build.log, and context-fix-ldd-studio.log. Other earlier logs cover superseded snapshots.

Scope and refresh

Only this report was edited by the Linux verification worker. The root agent declared the tested source stable before the 91-test workspace pass and before the focused 25-test desktop/Clippy/release refresh. No GUI was launched and no server daemon was started by this worker. Later source changes require another incremental refresh before packaging.

The root agent received the native release-ready path immediately after the build completed, before hashes/report work, for its separate WSLg GUI run.