Files
ARCADIA-Studio/harness/release-routing-linux.md
T

152 lines
7.3 KiB
Markdown
Raw Normal View History

# Routing checkpoint: native Linux verification
Verified on **2026-09-05 at 21:24 Moscow time**. All checks below passed on
source checkpoint `23535b4` (routing label placement in `65fa9ab`). HEAD advanced
to `0a8a6f5` during verification; that commit changed only harness documentation.
No application source changed during these checks.
This report covers native Linux compilation, automated tests, strict linting,
linked-library resolution and headless commands. **No graphical application was
launched or operated by this verifier.** The root agent owns separate native UI
acceptance. No Linux-specific source fix, dependency installation or deletion
was needed.
## Environment
- WSL distribution: `Ubuntu-24.04`, Ubuntu 24.04.2 LTS, x86-64.
- Kernel: `6.6.87.2-microsoft-standard-WSL2`.
- Rust: `rustc 1.98.1 (48a229cea 2026-09-01)`.
- Cargo: `cargo 1.98.1 (797e8a9bc 2026-08-05)`.
- Workspace: `/mnt/c/Users/sorok/OneDrive/Documents/ChatGPT/Capella 2`.
- Native compiler directory: `/home/sorokinoleg/.cache/arcadia/rust/bin`.
- Native target: `/mnt/d/CodexBuilds/Capella2-01a06e2e/linux-target`.
- Existing vendor: `/mnt/d/CodexBuilds/Capella2-01a06e2e/vendor`, selected by
ignored `target/linux-cargo.toml`.
- `Cargo.lock` SHA-256:
`eb3b55fe34920d5d9e069e2f4c80ee130eb85ec2ca12fddd7fc880b8ccfe062d`.
Cargo executes natively under Ubuntu and emits Linux executables. These checks
do not establish the declared Rust 1.90 minimum or other Linux distributions.
## Reproducible commands
Run inside the established 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
file "$CARGO_TARGET_DIR/release/arcadia-studio" "$CARGO_TARGET_DIR/release/arcadia-server"
ldd "$CARGO_TARGET_DIR/release/arcadia-studio"
ldd "$CARGO_TARGET_DIR/release/arcadia-server"
"$CARGO_TARGET_DIR/release/arcadia-studio" --write-example /mnt/d/CodexBuilds/Capella2-release1-01a06e2e/routing-linux-demo.arcadia
"$CARGO_TARGET_DIR/release/arcadia-server" --help
```
The verifier invoked each command from PowerShell using `wsl.exe -d
Ubuntu-24.04 --cd <workspace> --exec /usr/bin/env PATH=<path-above>
CARGO_TARGET_DIR=<target-above> cargo ...`. Command exit codes were checked.
## Observed results
| Check | Result |
| --- | --- |
| Formatting | Passed |
| Full workspace tests | **324 passed**, zero failed/ignored |
| Strict workspace Clippy, all targets | Passed, no warnings; 27.31s |
| Optimized desktop and server build | Passed; 1m 00s using existing dependency cache |
| Binary format | Both are native x86-64 ELF PIE executables |
| Linked libraries | Both `ldd` outputs resolve all entries; no `not found` |
| Desktop headless example | Exit 0; emitted a 33,221-byte `arcadia 3` file |
| Server help | Exit 0; printed documented command options |
The full test build took 1m 24s. Test counts by subsystem:
| Subsystem | Passed |
| --- | ---: |
| Core | 198 |
| Desktop | 104 |
| Server unit | 1 |
| Server real HTTP and storage | 21 |
Core coverage includes 18 routing geometry tests, 13 routing lifecycle tests,
five route source tests and 32 source-project tests. The desktop suite includes
route gestures, label selection/dragging, coordinate transforms, stale gesture
rejection, history, Fit, SVG geometry and overlapping-connection picking. The
HTTP suite includes route edits, source/JSON parity, ETags, invalid transaction
rollback, bounded requests and restart persistence. These are actual native
Linux test runs, not results inferred from Windows.
`ldd` does not exercise graphics libraries loaded at runtime. The headless
example command intentionally returns before GUI initialization. No standalone
server daemon or GUI runtime smoke test was performed here; real HTTP behavior
was exercised by the server integration suite.
## Artifacts and logs
Native optimized binaries are in
`D:/CodexBuilds/Capella2-01a06e2e/linux-target/release/` (equivalently
`/mnt/d/CodexBuilds/Capella2-01a06e2e/linux-target/release/` in Ubuntu).
| Binary | Bytes | SHA-256 |
| --- | ---: | --- |
| `arcadia-studio` | 27,129,064 | `a290efdba3bb672b71fa104bc1c2c1a254d7b6844a677aba4306d4c0ca3714e2` |
| `arcadia-server` | 8,790,776 | `0f2efaedde33a9fe795b48fc87a1a74b8e208a5c5cd3c6a2efe646ca80bea73c` |
Raw evidence is under `D:/CodexBuilds/Capella2-release1-01a06e2e/`:
- `routing-linux-environment.log`
- `routing-linux-fmt.log` (empty output on success)
- `routing-linux-tests.log`
- `routing-linux-clippy.log`
- `routing-linux-release-build.log`
- `routing-linux-binaries.log`
- `routing-linux-headless.log`
- `routing-linux-demo.arcadia`
No OS-specific compile or headless-command blocker was observed. Subsequent
source changes require a focused refresh before using these binary hashes as
release evidence.
## Root's subsequent native GUI verification
Root launched the actual Linux executable through WSLg with the documented
`WGPU_BACKEND=vulkan` and
`VK_DRIVER_FILES=/usr/share/vulkan/icd.d/lvp_icd.x86_64.json` environment, and
operated its returned `msrdc.exe` application window using Computer Use.
At 1440×900, selecting Distress signal, dragging its line down to create a
custom bend, independently dragging the label, Undo/Redo, Save and reopen all
worked. The reopened model retained 41 objects, 25 links and zero checks.
`routing-linux-native.arcadia` is the 33,548-byte saved native trial.
This additional GUI run exposed a viewport defect: opening Save after authored
routes enlarged the diagram bounds caused an unnecessary recenter. Commit
`366ce44` fixes duplicate canvas-size measurements without suppressing actual
resize fitting. The regression failed before the fix; all 105 Windows desktop
tests and strict desktop Clippy then passed.
Root rebuilt both platforms at `41d7963` (which also extracts the shared command
preparation helper without changing routing behavior). Linux optimized build
passed in 1m22s; the refreshed Studio SHA-256 is
`59db6db22af6788cbc66655ccef801aa0c8183cfa81726071ce7363c5fbcb3a4`.
The Windows build also passed; its copied executable at
`ui-routing-viewport/arcadia-studio.exe` has SHA-256
`7B2A6C27406D87D2E69EC0546090B3EE5FE3B51610829986846CB2ECA3F5D113`.
Logs are `routing-linux-viewport-build.log` and `routing-viewport-build.log`.
On the rebuilt Linux app, root repeated the bend and label gestures. Opening,
entering a path in and submitting Save preserved the exact canvas positions
and 107% zoom. The accepted native source is
`ui-routing-viewport/linux-routing.arcadia` (33,546 bytes), containing waypoint
(445,300) and label fraction 0.5 / offset (54.0047607421875,38.798095703125).
The UI showed “All changes saved” and zero checks. Root then closed the saved
Linux test instance normally; it exited 0 with no emitted runtime errors.
The full 324-test Linux run above predates this final viewport regression;
it is not a claimed full 325-test run. The original automated verifier's
headless-only scope remains separate from root's observed GUI evidence here.