152 lines
7.3 KiB
Markdown
152 lines
7.3 KiB
Markdown
# 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.
|