21 KiB
First release — current engineering state
Objective and current phase
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 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
Nested source/REST integration checkpoint: production parser and iterative structural writer are implemented; REST persists the accepted bundle and model in one ETag envelope. Final workspace runs passed 422 Windows and 425 Linux tests; strict workspace Clippy, formatting and Windows/Linux builds passed. Actual server import, comment-only revision, cross-file reparent, stale ETag and exact restart/conditional GET passed. Owner-opening-line comment reassignment and equal-model delete/recreate provenance defects were reproduced, fixed and reverified. Independent parser/writer/model-source boundary reviews found no remaining material findings; fresh spawn was unavailable because of the thread limit, so workers reviewed one another's artifacts. Strict language/API reST rendering passed after correcting an API heading underline. Root's Windows nested reparent/arrange/source/Undo/Redo/Save/reopen passed with 22 objects,13 links,0 checks. Independent minimum-size/source-created port QA passed. Root also verified Linux nested source edit/Undo/Redo/Save/reopen; the Linux instance closed normally with an empty log. Evidence: release-source-integration.md.
Historical start of this continuation (superseded by the active checkpoint below): nested source/REST is committed at 4e8575b. Independent Windows source-created Standard actor port, boundary-exchange entry, Undo/Redo and Save/reopen passed at 1100×700; the isolated QA window closed normally. Linux native nesting acceptance passed (source comment/history/save/reopen and rendered hierarchy; cross-file graphical reparent was exercised on Windows). Original Windows window 6228978 contains unsaved user work: do not save, reset or close it. Root again owns native input. The state-core worker owns only oa-core in isolated worktree D:/CodexBuilds/Capella2-state-diagram-core, branch codex/state-diagram-core; root integrates after review. The latest user request prioritizes contextual right-click menus and removes permanent bend buttons. Root owns desktop integration; explorer_usability_review owns only the new reusable context_menu.rs; source_integration_map maps existing actions read-only. Native source recovery acceptance already passed; no blocker and broader release scope is unchanged.
-
The user-directed explorer/port usability milestone is accepted. Add port is visible on participants, and selected component ports expose Connect boundary exchange. The browser uses grouped roots, focused direct children, breadcrumbs, paged contextual search and Locate; the outline keeps real depth, guides and single-line labels with full-name tooltips. Root created two Standard ports and a Boundary Exchange, exercised Undo/Redo, Save/reopen, duplicate-name search, 251-root paging and 12-level navigation. Independent native review and root's final Windows build passed at 1100×700; actual rebuilt Linux save/reopen and font-fix inspection passed. Full Windows workspace tests passed 382, followed by all 138 desktop tests; Linux full workspace passed 386. Strict checks and final Windows/Linux builds passed. Slow picker, stale reparent focus, deep-row cost, collapsed header sizing, scroll reset and font wrapping findings are fixed. Exact scope, hashes and evidence: release-explorer-usability.md.
-
Source integration checkpoint
3c87576passed full366 Windows tests; its draft-history cap follow-up passed122 desktop tests and strict workspace Clippy. Root ran native build SHA256FCA6140E835B17AE4FAB003B0DAC38D7D820DD36C7559F536BA3CC607E30FE51: opened two included buffers, typed separate rationale comments, switched with drafts retained, Apply all, model Undo/Redo, then Save All toui-source-project/native-source-trial.arcadia. The entry is1496 bytes with20 other included files; both authored comments are present on disk and the UI reports all changes saved,41objects/25links/0checks. Runtime log is empty; the window closed normally (exec session99563 exited0). Those initially pending native source reopen/failure/minimum-size checks were subsequently completed at the nested-source checkpoint above. -
Fresh source integration review at
3c87576reproduced property-draft loss and diagnostic-only recovery state. Both are fixed in the current app: guards retain both drafts, and durable pending_recovery survives typing/lint, missing entries and initial Save failure. Four real-journal recovery tests and source/property collision tests pass in the full workspace run. The bounded reviews are complete; all agents released file/native ownership to root. Frozen source probe evidence: D:/CodexBuilds/Capella2-source-app-independent/REVIEW.md. The explorer Linux trial additionally verified failed Save to a missing directory retained the model and successful retry saved all files; interrupted-journal UI recovery was subsequently verified in the source-recovery milestone above. -
Branch
codex/release1-engineering; baseline93ba83d, hierarchyc7101b9, drag selection2ef16dc, typed core/schema 3 merge757ab88, alias and batch lifecycle correctionse41b8de. -
Typed desktop integration
fa096ceprovides contextual function/component ports, FE endpoint and exchange-item choices, generation, resolution, split and synchronization with semantic previews. Legacy migration, Standard/Flow distinctions and independent orientation are retained. Independent findings and native-discovered no-op synchronization and SA-only initial-perspective defects were fixed. -
Native typed-port trials created real function endpoints and exchanges, supplementary output/items, and a Standard component implementation with two port allocations and an exchange allocation. Undo/redo and save passed with zero model checks. Reviewed reopen entered SA correctly; unchanged synchronization disabled Apply. The long-reference review modal was inspected at 1440×900 and 1100×700. Evidence and fixtures are under
D:/CodexBuilds/Capella2-release1-01a06e2e/ui-typed-portsandui-typed-ports-reviewed. -
Source bundle foundation
06b3384and token-preserving updaterdbc8971passed 160 core tests, including 30 source-project tests, and strict core Clippy at that checkpoint. This was the initial core-only checkpoint; production editor, filesystem Save All/conflict handling and REST bundles were subsequently integrated at4e8575b. -
Isolated source authoring comparison
c5788fcand nested writeback experiment2dd17aapassed 23 experiment tests and strict Clippy. An independent executable probe atD:/CodexBuilds/Capella2-source-writeback-independent/probe.logreproduced positional list-comment misattachment after item reorder, rejection of a valid description edit on port shorthand, and unsupported occurrence deletion. The same comment-reorder probe retained attachment in the production updater. Complete model equality alone does not protect comment meaning. Extend the production parser/span index and shared updater for selected nesting/shorthand constructs; do not copy the experiment into a parallel production parser/writer. Freeze comment ownership, exact source Undo and full edit/delete support before adoption.experiments/source-authoring/WRITEBACK.mdretains the bounded evidence; production syntax is not yet adopted. -
R1 process topology, R2 mission/capability, R4 scenarios and R5 events/states are implemented at the semantic/form level. Full native authoring acceptance and direct behavior canvas gestures remain required; release-state-gesture-design.md records the proposed first vertical slice.
Routing implementation and verification
4e5a88d: per-diagramEdgeRoutepins and label placement, atomic set/remove commands, validation, delete/reidentify cleanup, compatible empty defaults, group movement and layout translation. Routes refer to existing relation/trace IDs and do not duplicate semantic identity.a7c6f96: equivalent source, source-project update, JSON and REST behavior, located validation, OpenAPI and reST contracts.68b1eff: shared deterministic orthogonal routing and geometry for typed ports, nested obstacles, labels, bounds and collapse suspension. Desktop draw, hit testing, gesture previews, Fit and SVG use this geometry.30c7db1: label-only edits preserve the settled polyline and warnings; single-edge previews retain settled per-edge routing budgets.65fa9abadds stable bounded automatic label placement, reducing the workshop's six reproduced label-overlap pairs to zero. All 18 geometry tests, strict core Clippy and fresh independent correctness review passed.23535b4: accepted desktop route authoring, shared geometry integration, route/label controls, guarded atomic gestures and release-cursor correction. Final independent native review captured clear minimum-size controls with the authored bend/label and the readable lower SA label band. Its full SA view was partly occluded; root's earlier full SA captures provide the complete-view evidence.- Locked workspace tests passed with 196 core, 103 desktop and 22 server tests before the last geometry regressions were added. Final follow-up passed 104 desktop tests, strict full-workspace Clippy and desktop/server builds (
routing-final-*logs). Independent review also passed four focused desktop tests for the final release-cursor correction, which commits fast drags despite coalesced motion events. Earlier follow-up passed the 1500-edge reproducer and six external preview/commit fixtures. Exact scopes are in release-routing-verification.md; a final full-workspace test rerun after all later edits is not claimed. - Independent stress measurements on 100 nodes/150 edges with eight pins per edge: maximum single-edge preview 16.4 ms debug and 2.4 ms release; settled full solve 863 ms debug and 119 ms release. The optimized settled result slightly exceeds the initial 100 ms target; this remains a measured performance limitation, not a claim that the target passed.
- Routing workshop
4b8545dadds deterministic, validated.arcadiaand JSON examples plus a reproducible Rust generator. OA and SA architecture views contain three participants and nested work groups; SA includes real functional/component ports, Standard and Flow exchanges, and an internal System exchange for group-movement testing. Generation, source/JSON equality and zero semantic/routing issues were verified.
Native checkpoint and evidence boundaries
The reviewed executable at ui-routing-reviewed/arcadia-studio.exe has SHA256 6DAD490D75F2A67A79A0804F33192EF62A3DCBEA92F5EEDA8EA47788D12273B8. Root performed default-size OA edge selection without canvas movement, segment drag without a retracing spur, separate label drag with unchanged polyline, displaced-label selection, existing-bend drag, Undo/Redo, Remove bend, Reset routing, and undo restoration. Folding an endpoint container used an automatic promoted edge and disabled route editing; expansion restored the authored pin and label. Model checks remained zero.
Native Save As and SVG export produced ui-routing-reviewed/routing-authoring-ui.arcadia (33,548 bytes) and .svg (2,564 bytes). The source contains the authored waypoint and label offset. Root then launched ui-routing-final/arcadia-studio.exe, SHA256 5558CC203E9DAFED3D0BCA1C40B5E4BDE426F00F8BC37DCD9B33A7338ADD5615, containing 30c7db1, duplicate fold-notice cleanup and export-dialog copy changes. Native Open reopened the saved source with “All changes saved”, 41 objects, 25 links and zero checks; the bend remained visible and the detached label selected the same edge. Root rendered the actual exported SVG to PNG with Sharp and visually verified the authored detour, label, bounds and nesting.
The workshop loaded with 12 cards/seven links in OA and 12 cards/12 links in SA; the full model reported 75 objects, 61 links and zero checks. Root dragged the internal Incident decision line to create a pin. Moving one function left that pin fixed; moving the whole System by snapped delta (-20, +40) translated the pin by the same amount. A single Undo/Redo restored both placement and pin state. The typed trial was saved to ui-routing-final/typed-routing-authoring-ui.arcadia (66,598 bytes); folding and expanding the System restored the route and the UI reported all changes saved.
On ui-routing-labels/arcadia-studio.exe, SHA256 4D4C8163EA2A81F2D9A241921571BE3118AE57ECD2987E7088878CBCA9F50536, native reopen of that typed trial retained the SA custom pin and separated labels. Dragging an automatically displaced label was continuous and Undo worked. This closes the label finding together with the geometry tests and independent review.
The accepted executable at ui-routing-accepted/arcadia-studio.exe has SHA256 E9B662788CC3979F8E883299CAF9B16917498D6F0DEAB62E02D9A6CE5C18AFB2. At 1100×700 (captured frame 1102×732), a short 29-pixel bend drag and approximately 18-pixel label drag succeeded on the first attempt. The canvas and controls remained stable; SVG dialog copy fitted. Native export produced minimum-routing-ui.svg; its PNG rendering was visually inspected for correct route, label and nesting. This later successful trial supersedes the earlier width-only resize attempt. The accepted minimum-size window retains an unsaved demo with those two gestures; preserve it before switching models. The saved typed workshop remains the durable SA fixture.
Unexpected concurrent arrangement/view changes were separately preserved to ui-routing-final/workshop-arrangement-preserved.arcadia (66,434 bytes). A prior icon-only capture did not establish an application failure; subsequent full native captures succeeded. Obtain fresh inventory before further input instead of relying on historical window IDs.
Original Capella was operated in a disposable workspace. Native creation demonstrated real FE/function ports and explicit component-port allocation. Format > Line Style > Oblique followed by a segment drag created an actual bend without changing its Audio Signal/FOP1/FIP1 endpoints. A rectilinear-corner attempt did not move. See release-capella-workflow-benchmark.md; the reference sample was not saved.
Earlier Studio windows disappeared during concurrent work. Fresh inventory confirmed absence and no matching application-crash event was observed; the earlier unsaved routing trial was not recovered. It is superseded by the explicitly saved reviewed fixture, not retroactively claimed as recovered.
Active drawing integration checkpoint
Meaningful progress continues: direct connection tools, movable per-diagram port anchors, contextual menus and source folders are implemented. Core commits93fd32c (feasibility scaling) and35133de (port anchors) are integrated. Full Windows workspace passed485 tests (264core,185desktop,36server); full Linux passed488 (267core,185desktop,36server). Final ordered-cursor follow-up passed189 desktop tests on both platforms, strict workspace Clippy and rebuilt desktop binaries. Earlier full runs precede those four additional lifecycle regressions. API/port anchor HTTP tests and strict reST generation passed. Detailed scopes and saved fixtures are in release-port-drawing.md and release-context-menus.md.
Fresh independent correctness review reproduced post-release mouse motion in one native batch creating a port move or exchange after a stationary click. Ordered CursorMoved coordinates are now authoritative for press and release; tests cover both failures, same-batch drags, stationary-source continuity, menu epochs, middle/arrow pan and fresh-context Reset/Draw. Nearest-glyph hit testing fixes incorrect port identity at overview zoom. Port hover shows name, owner and alias in a separate screen-space frame; no label-text overprint. Fresh requirements/architecture review found no further material issue after these fixes and scope-document correction.
Root operated final Windows binary ui-port-drawing-final/arcadia-studio.exe, SHA2569A7FF074296D49A714AD664848170D717832A28964719A903B45ABE100BBAA1F, window328292, exec68098. Fast FE port-to-port drag, first Bottom port drag, repeated Left drag, arrow panning with source retained offscreen, target completion and single Undo passed with0checks. It currently contains the isolated unsaved41object/26link model with Left port anchor and first FE. Native input is EXCLUSIVELY delegated to drawing_requirements for Save/reopen, Standard boundary drawing, Function-card auto endpoints, menu lifecycle and minimum-size acceptance. Root must not issue native input until handoff. Current Linux binary SHA25623CEAE18F53736B9B38A94E4185C45D6639825A3775DEB3FB814938B9CD00387 is built/tested; native follow-up pending.
Previous46EE7BD9 trial closed normally (exec90275 exit0) after saving its Bottom anchor/FE fixture, reopening the DE6BD100 Left-anchor/FE/Flow-boundary fixture, SVG export and1100x700 inspection. Saved fixtures and precise results are in release-port-drawing.md. Protected user window7210312 was absent after the interrupted turn; root did not close it. If it returns, do not save/reset/close it. Earlier6228978 likewise absent; no recovery claim.
Parallel release work: drawing_correctness reviews preserved state-core commit a63654f against current anchors/routing. drawing_linux owns behavior draft lifecycle implementation only in a new isolated worktree, excluding app.rs. All broader first-release requirements remain active and incomplete.
Exact next actions
- Finish independent native acceptance of the frozen9A7FF074 Windows build, then root verifies the frozen23CEAE18 Linux build. Cursor, pan, nearest-hit and tooltip fixes have passed automated verification and root's current native drawing/port/pan workflow. Preserve exact binary scopes while broader implementation continues.
- Finish direct-drawing acceptance: default/minimum-size Windows and Linux, existing-port FE and Function-card auto endpoints, Flow/Standard boundary links, invalid/cancelled/folded targets, Save/reopen and SVG. Record exact scopes in release-port-drawing.md, update menu/source-tree acceptance and commit the coherent UX milestone.
- Integrate preserved state-core commit
a63654ffrom isolated worktree only after this user-directed usability milestone. Implement direct state/scenario/process gestures, R3 semantic drift and reviewed reconciliation, R6 data contracts, persistent coverage/filters, Home/recent/recovery, hosted ETag workflows, offline guidance and normative contracts. All remain required release work. - Complete independent requirements, correctness, native UI/UX and architecture reviews for the entire release; address material findings. Verify current Windows/Linux/MSRV builds, runtime workflows, documentation, packages and checksums before completing the broad goal.
Environment and reproducibility
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; 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.