157 lines
8.0 KiB
Markdown
157 lines
8.0 KiB
Markdown
# 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:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
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:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
/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.
|