Record cross-platform native routing acceptance and usage
This commit is contained in:
@@ -55,6 +55,8 @@ The inspector exposes typed properties, references, ordered lists, aliases and U
|
||||
|
||||
Drag cards to move on a 10-unit grid, drag empty space to pan, and scroll to zoom. **Arrange** changes the current view layout; **Fit** frames its projected bounds. SVG exports the current architecture diagram as a view, not an editable model file.
|
||||
|
||||
Connections start with orthogonal routes that avoid cards and container headers. Select a connection and drag a line segment to add a bend, or choose **Add bend**. Drag its circles to adjust the route; **Remove bend** removes the selected point, and **Reset routing** restores automatic routing. Drag the connection label independently. Each completed gesture is one undoable edit; Escape cancels a drag. Routes belong to the current diagram and persist in source, JSON, REST and SVG export. Typed ports remain attached to their owning elements. Folding an endpoint container temporarily uses an automatic route; expanding it restores your authored route. Dense diagrams can still need manual adjustment—automatic routing is bounded and does not guarantee an overlap-free result.
|
||||
|
||||
## Edit the same model as text
|
||||
|
||||
**Textual model** has syntax highlighting, live linting and explicit **Apply to model**. For example:
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ The current forms are a closed typed-record adapter, not a second metamodel. Exp
|
||||
|
||||
## Milestones and measurable acceptance
|
||||
|
||||
Editable connection routing has passed code/native acceptance and independent follow-up at desktop checkpoint `23535b4`. Continue production source authoring and direct behavior editing while independent current WSL checks run. Typed port integration and its native authoring/reopen checks are complete at `fa096ce`; `release-diagram-port-correction.md` records the domain correction. Existing R5 state authoring is preserved and still needs direct gestures and full native acceptance.
|
||||
Editable connection routing has passed code/native acceptance and independent follow-up at desktop checkpoint `23535b4`, with the Linux-discovered viewport correction in `366ce44` also verified on the actual rebuilt Linux app. Current WSL automated checks and routing runtime acceptance are recorded in release-routing-linux.md. Continue production source authoring under release-source-integration.md and direct behavior editing. Typed port integration and its native authoring/reopen checks are complete at `fa096ce`; `release-diagram-port-correction.md` records the domain correction. Existing R5 state authoring is preserved and still needs direct gestures and full native acceptance.
|
||||
|
||||
The user's routing correction is implemented as editable connection bend points with automatic obstacle-aware starting routes. Persistent commands, source/API parity, shared geometry and desktop gestures passed automated and native verification. `65fa9ab` resolves six default SA label-overlap pairs; follow-up typed reopen, short gestures and SVG export at 1100×700 passed. `release-routing-verification.md` records exact evidence, completed independent native follow-up and the 119 ms dense full-solve limitation. Route identity belongs to the diagram representation and does not alter semantic endpoints or ownership. Direct state gestures remain required and should reuse geometry/routing primitives only where semantics match.
|
||||
|
||||
|
||||
+4
-4
@@ -4,7 +4,7 @@
|
||||
|
||||
The first-release goal remains active and incomplete: a Rust/Iced OA and SA/System Architecture tool for system engineers with equivalent graphical, textual and REST semantics, hierarchical diagrams and typed ports, modular source projects, artifact traceability, direct behavior editing, offline help, and Windows/Linux release evidence. The authoritative objective is attachment `07aee762-7d27-4cbe-81c3-2e82c7170711/goal-objective.md`, fully read on 2026-09-05. PLAN.md, TASK_LEDGER.md and release-semantics-audit.md retain the broader scope.
|
||||
|
||||
The editable connection-routing milestone is accepted and checkpointed at `23535b4`. Per-diagram authoring, obstacle-aware geometry, typed/nested workshop movement, save/reopen, SVG and minimum-size gestures are verified. Commit `65fa9ab` resolved all six reproduced default SA label-overlap pairs. Fresh correctness and final native UI review found no unresolved material routing finding. The broader first release remains incomplete; production text authoring is the next active phase. See release-routing-verification.md for exact evidence and limitations. Root alone operates native applications.
|
||||
The editable connection-routing milestone is accepted at `23535b4` with viewport follow-up `366ce44`. Per-diagram authoring, obstacle-aware geometry, typed/nested workshop movement, save/reopen, SVG and minimum-size gestures are verified. Commit `65fa9ab` resolved all six reproduced default SA label-overlap pairs. Fresh correctness and native UI review found no unresolved material routing finding; root also verified the actual Linux application and the viewport follow-up. The broader first release remains incomplete; production text authoring is active. See release-routing-verification.md and release-routing-linux.md for exact evidence and limitations. Root alone operates native applications.
|
||||
|
||||
## Completed foundations
|
||||
|
||||
@@ -46,8 +46,8 @@ Earlier Studio windows disappeared during concurrent work. Fresh inventory confi
|
||||
|
||||
## Exact next actions
|
||||
|
||||
1. Extend the production parser/updater for the selected source authoring direction, using the independent probe findings as regressions. Integrate per-file editing, safe Save All, conflicts, exact source undo and REST bundles. Preserve precise diagnostics, declaration identity and explicit comment ownership. Do not promote the bounded experiment unchanged.
|
||||
2. Collect the independent WSL routing check results in release-routing-linux.md. Locked workspace tests, strict Clippy and desktop/server release builds are running; Linux success is not yet claimed. Address actual failures without disturbing the accepted native Windows checkpoint.
|
||||
1. Implement release-source-integration.md. Core `prepare_command` is committed in `41d7963`; 198 core tests passed after extraction. The new desktop Document module passed eight external-harness tests and strict Clippy for exact accepted history, single identity creation, failed writeback, delayed saved baselines and missing-ID dirtiness. It is not yet integrated or committed. Agent source_integration_map owns desktop Document/workspace/app/views/tests integration; source_filesystem owns core disk IO/tests and the narrow same-file dependency/export change; source_document_review independently reviews the Document boundary. Root owns integration, documentation and native QA. Then extend the production parser/updater for the selected syntax direction and REST bundles; do not promote the bounded experiment unchanged.
|
||||
2. Linux routing acceptance is complete. Independent verification passed all 324 workspace tests, strict Clippy, formatting and optimized desktop/server builds at `23535b4`. Root's actual Linux/WSLg bend, label, Undo/Redo, Save and reopen passed. That run exposed a dialog-induced viewport recenter, fixed in `366ce44`: all 105 Windows desktop tests and strict desktop Clippy passed, Windows/Linux rebuilds passed, and root's rebuilt Linux native trial preserved the viewport throughout Save. `release-routing-linux.md` records exact scopes/hashes; final saved fixture is `ui-routing-viewport/linux-routing.arcadia` (33,546 bytes). The Linux test window was closed normally after saving. No full 325-test Linux invocation is claimed.
|
||||
3. Implement direct state/scenario/process gestures, R3 semantic drift and reviewed reconciliation, R6 data contracts, persistent coverage/filters, Home/recent/recovery, hosted ETag workflows, navigable offline guidance and normative reST/API completion. These are required release work, not non-blocking limitations of a finished release.
|
||||
4. Run fresh requirements, correctness, native UI/UX and architecture reviews for the complete release; address material findings. Verify current Windows/Linux/MSRV builds, runtime workflows, documentation, packages and checksums before completion.
|
||||
|
||||
@@ -55,4 +55,4 @@ Earlier Studio windows disappeared during concurrent work. Fresh inventory confi
|
||||
|
||||
Windows Rust 1.98.1; `CARGO_TARGET_DIR=D:/CodexBuilds/Capella2-01a06e2e`. Release logs and native fixtures are under `D:/CodexBuilds/Capella2-release1-01a06e2e`. Use `cargo test --locked --workspace`, `cargo clippy --locked --workspace --all-targets -- -D warnings`, and `cargo build --locked -p oa-desktop -p oa-server`. Generate the routing example with `cargo run --locked -p oa-core --example routing_workshop`; historical migration goldens stay frozen.
|
||||
|
||||
Prior WSL Ubuntu 24.04 evidence is in verification-v2-linux.md. A separate QA agent is running current locked workspace tests, strict Clippy and optimized desktop/server builds and owns release-routing-linux.md; results remain pending. Current first-release Linux runtime/package acceptance is still required. There is no current disk blocker. Do not retry the earlier rejected recursive target deletion. No usage reset or remote push is authorized.
|
||||
Prior WSL Ubuntu 24.04 evidence is in verification-v2-linux.md; current routing automated/build evidence is in release-routing-linux.md. The Linux routing application was launched with the documented Mesa Vulkan software adapter and operated through Computer Use. Full first-release Linux runtime/package acceptance is still required after remaining implementation. There is no current disk blocker. Do not retry the earlier rejected recursive target deletion. No usage reset or remote push is authorized.
|
||||
|
||||
@@ -0,0 +1,151 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user