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

152 lines
7.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.