Record accepted routing evidence and remaining release work

This commit is contained in:
2026-09-05 21:23:37 +03:00
parent 23535b4342
commit 0a8a6f5f5c
5 changed files with 287 additions and 85 deletions
+36 -57
View File
@@ -1,79 +1,58 @@
# Progress Ledger — first release
# First release — current engineering state
## Objective and current phase
Authoritative objective attachment07aee762-7d27-4cbe-81c3-2e82c7170711, read fully2026-09-05. Deliver coherent OA+SA/System Architecture for engineers with equivalent graphical/text/REST modeling, hierarchy, traceability, offline semantics/help and Windows/Linux release evidence. TASK_LEDGER.md distinguishes facts, assumptions and candidate designs; PLAN.md and release-semantics-audit.md retain scope. Goal is active, not complete.
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.
Current phase: integrate and evaluate typed ports; test modular source-project foundation and compare human-editable language designs. Direct behavior canvas editing and remaining first-release work remain required.
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.
## Verified milestones
## Completed foundations
- Git branch codex/release1-engineering. Baseline93ba83d, port contractc20a207, hierarchyc7101b9, drag/native evidence2ef16dc, typed core/source/API merge757ab88. No remote publication.
- R1 process/chain topology, R2 missions/capabilities, R4 typed scenarios, R5 states/events and their contextual forms exist. Corresponding release reports retain exact validation/review evidence; complete native R4/R5 authoring acceptance remains pending.
- c7101b9 distinguishes allocation summaries from actual assignments, preserves nested geometry/folding/ports, focused architecture/dataflow/capability views, canvas/SVG labels, and reproducible demo generation. Full locked core+desktop+server checks passed then (desktop70, server1unit+17HTTP), strict workspace Clippy/build passed.
- Drag fix2ef16dc retains semantic selection after MoveNode and permits same-card reselection without losing identity drafts. Desktop71tests+strict desktop Clippy passed before port integration. Actual native drag of an initially unselected nested activity, same-card click and name edit/apply succeeded at1440x900.
- Typed port/schema3 commits0d14438+b9f88ce merged757ab88. Merge retained main footer/reflow/allocation_summary with new anchor sides. Frozen V2 readers preserve originals as Legacy; missing FE endpoints are deterministic/reportable. Port/source/API handoffs document scoped tests, not desktop acceptance.
- Root current focused desktop tests:3port workflow tests pass (FE items/endpoints; Standard component generation and allocation; undo/redo/idempotence; creation/stale preview; Legacy resolution),4diagram regressions pass, migration-report opening test passes. Forms worker17focused tests pass. These are narrower than full current release verification.
- Branch `codex/release1-engineering`; baseline `93ba83d`, hierarchy `c7101b9`, drag selection `2ef16dc`, typed core/schema 3 merge `757ab88`, alias and batch lifecycle corrections `e41b8de`.
- Typed desktop integration `fa096ce` provides 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-ports` and `ui-typed-ports-reviewed`.
- Source bundle foundation `06b3384` and token-preserving updater `dbc8971` passed 160 core tests, including 30 source-project tests, and strict core Clippy at that checkpoint. This is a pure core foundation; production editor, filesystem Save All/conflict handling and REST bundles remain to be integrated.
- Isolated source authoring comparison `c5788fc` and nested writeback experiment `2dd17aa` passed 23 experiment tests and strict Clippy. An independent executable probe at `D:/CodexBuilds/Capella2-source-writeback-independent/probe.log` reproduced 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.md` retains 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.
## Active implementation and independent review
## Routing implementation and verification
- Root owns desktop integration except completed forms worker changes: port_workflow.rs, workflow.rs, app.rs, views.rs, diagram.rs, main.rs, tests.rs. Contextual typed creation/generation/resolution/split/sync; FE item/endpoint selectors; independent glyph/orientation; load/source migration report. Generic Port creation removed from ordinary picker. Added component endpoint choices and SVG contract regression most recently; rerun tests after these edits. Formatting/strict full checks and native port acceptance pending.
- Core reviewer found alias reservation and same-Batch PortAllocation replacement deleting ExchangeAllocation. Fixes in ports.rs/references.rs/session.rs/release_ports.rs;62focused tests reported pass. Pending deletion IDs handle Reidentify/EditRelation and explicit deletion/recreation. Root reviewed diff and is independently running13port tests plus exact-file commit; inspect process8944 outcome before any restart/commit. Clippy was blocked by concurrent source refactor, not reported passed.
- Forms worker released forms.rs and forms/port_fields.rs after17tests, formatting and no forms Clippy findings. Invalid contract drafts/current references are retained; typed endpoint/role choices and retained legacy display added. Uncommitted for aggregate desktop milestone.
- hierarchy_port_review owns pure source_project.rs, language.rs seams, lib.rs export, source-project tests, docs/language.rst and handoff. SourceBundle has virtual paths/files; compile returns stable-ID bundle/model/index/located warnings. Aggregate limits wrap existing ParseLimits. Formatter/update implementation/tests underway; no desktop/filesystem/server bundle work yet. Temporary warnings must disappear with completion.
- Fresh source_usability_critic compares aggregate files, nested syntax and another alternative through engineering tasks, criteria and primary evidence. No edits/native input.
- Fresh port_workflow_review independently reviews desktop contracts/workflows/selection/glyphs/complexity. No edits/native input. Retrieve findings before milestone acceptance.
- `4e5a88d`: per-diagram `EdgeRoute` pins 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. `65fa9ab` adds 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 `4b8545d` adds deterministic, validated `.arcadia` and 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 evidence and pause
## Native checkpoint and evidence boundaries
Native CUA is root-only via @oai/sky. Last call reported physical Escape and explicitly stopped native use. Automatic goal continuation resumes code/research/tests, not native input. Wait for user native continuation and re-inventory windows before acting.
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.
Current last Studio checkpoint D:/CodexBuilds/Capella2-release1-01a06e2e/ui-hierarchy-reviewed/arcadia-studio.exe SHA25630FA95CA9C606B20EAA5B4FA08AE04EB47CCB1A2498C05C0C26F2B049F006BE5 (predates typed integration), last main527250 and Save As1706878. Unsaved moved/renamed activity may remain. Save was NOT verified: helper returned16x16 primary capture plus full related modal, failed UIA/bounds and later user-input/Escape guards. Do not discard/overwrite or claim drag-selection-ui.arcadia exists. Earlier Studio windows disappeared from inventory. Default layout verified; current minimum resize not verified.
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.
Original Capella healthy app capellac.exe, last window527162, disposable workspace D:/CodexBuilds/Capella2-release1-01a06e2e/capella-workspace. SAB native FE creation automatically made FOP/FIP; component exchange made Flow/Out CP1. Standard/Flow matching, interface roles, allocated ports and function item declarations observed. Allocated-port chooser opened but no allocation committed; original sample remains unsaved. Detailed performed/observed distinction in release-capella-workflow-benchmark.md.
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.
Preserved earlier native fixtures: ui-r2-checkpoint/capability-extension-ui.arcadia; ui-r1-r4-checkpoint/process-branch-ui.arcadia. Prior source Find/Enter/F3/CtrlG and1100x700 verification apply to their earlier checkpoints, not current integration.
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.
## Highest-value next actions
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.
1. Poll live tests/agents; fix material review findings. Complete typed desktop full tests, formatting/strict Clippy, regenerate current examples (historical V2 goldens untouched), build fresh checkpoint and commit evidence-qualified milestone. Native acceptance remains pending until explicit resume.
2. Finish pure bundle experiment, evaluate human/AI editability alternatives, freeze source contract from evidence. Implement per-file editor/tree/diagnostics/undo, recoverable multi-file Save All/conflicts and REST virtual bundles. Test graph/text ownership/comment preservation, includes, IDs, limits and failures.
3. Adopt/test persisted behavior context and direct gestures: state region creation/move/connect/reconnect/guard, scenarios lifeline/message manipulation, process contribution topology. No UI-only durable geometry or menu-only substitute.
4. R6 data contracts, R3 semantic drift/reconciliation, persistent filters/coverage, Home/recent/recovery, optional hosted ETag workflows, examples/guide/reST/API and full independent cross-disciplinary release review remain. Follow scope, do not call missing functionality a limitation.
5. Final current Windows/Linux build/run/native/service tests, MSRV, packages/checksums and reproducible instructions; only then completion.
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.
## Environment
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.
Windows Rust1.98.1; CARGO_TARGET_DIR=D:/CodexBuilds/Capella2-01a06e2e. Commands: cargo test --locked -p oa-core -p oa-desktop -p oa-server; cargo clippy --locked --workspace --all-targets -- -D warnings; cargo build --locked -p oa-desktop; cargo run --locked -p oa-core --example generate_demo. Copy executable to a checkpoint before native launch. WSLUbuntu24.04 setup in verification-v2-linux.md; current final platforms/MSRV remain unverified. Git worktree D:/CodexWorktrees/Capella2-typed-ports retains committed port baseline, no active writers there.
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.
Prior recursive target/debug deletion was rejected; do not retry/bypass. No disk blocker. Temporary agent capacity errors can be retried on same agent; inspect authoritative live state before restarting work. No usage reset authorized/used.
## Exact next actions
Progress audit: previous turn made concrete committed/tested/native progress before Escape; current turn adds meaningful invariant evidence and comparative design evaluation. The important unknowns are usability/coherence and remaining scope, not merely compiler status. No blocked or completion claim.
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.
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.
## 2026-09-05 resumed checkpoint
## Environment and reproducibility
User explicitly resumed Computer Use. Fresh inventory: Studio and prior Save As absent; old unsaved rename/drag fixture was never verified saved. Original Capella still open in its pending port-allocation chooser; native testing resumed with foreground activation and fresh captures. CUA returns owned modals outside main-window bounds, so reposition visible dialog before targeting off-window controls; the first UIA allocation action failed bounds and made no assignment.
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.
Core alias/batch replacement fixes committed e41b8de after root13port regressions passed. Source bundle foundation committed06b3384; worker150core tests and strict core Clippy passed (20new regressions). Lossless token updates are now the next bounded source task; nested syntax remains a separate measured experiment.
Independent desktop review found six concrete issues: FE target/Apply eligibility, port owner-diagram navigation/unfolding, active-vs-preserved direction during item synchronization, incomplete semantic preview, Standard exchange default orientation, and legacy role eligibility. All six now have fixes. Root full desktop suite93tests passed; strict desktop Clippy and build passed. Logs desktop-port-preview-tests.log/desktop-port-clippy.log/desktop-port-build.log under D:/CodexBuilds/Capella2-release1-01a06e2e. Typed semantic preview wired from separately reviewed port_preview.rs (4embeddedtests).
Fresh native candidate: ui-typed-ports/arcadia-studio.exe SHA2565935489A66D445CEC2131FF3582BB96426BB3DFCE37DEC77E8189D8A2F2F44D5. Native acceptance not yet performed. Current examples regenerated by generate_demo and source/JSON equality verified; old migration goldens unchanged. Changes remain uncommitted pending native iteration.
Native typed-port trial now passed at1440x900 client: created Supplementary incident report function output carrying Digital distress report; selected port stayed in same allocation diagram; CtrlZ restored41objects/25links and CtrlShiftZ restored42objects/25links. Existing Distress reporting connection reuse shows explicit no-op and disables Apply. Generated a second implementation with Standard component ports: orientation defaults off; preview identifies both owners, item union, exact function-port/port-allocation/exchange-allocation references; apply yields44objects/29links, zero checks, empty-square Standard glyphs and no exchange arrow. Captures inspected directly. Preview's very long aliases approached/clipped the right edge; added bounded width and WordOrGlyph wrapping, increased preview text12→13; must rebuild/reverify this edit.
Fresh focused review found two additional valid cases: unoriented Flow/In-source Boundary target filtering still used oriented=true; filtered-view stored port-owner placement could outrank a usable folded architecture. Reviewer owns workflow.rs/app.rs for those two fixes/regressions. Root does not edit these files until release.
Save As for typed-port-authoring-ui.arcadia pending. Native helper returned16x16 primary plus full related dialog; UIA set_value failed cached-property retrieval, so save is not claimed. Current main5636752, SaveAs919908; reobserve before input. Main capture shows filename control at visible lower part of overhanging modal. User-input guard required a fresh capture. No overwrite/discard performed.
Save recovery succeeded using the full related dialog screenshot (screenshots[1],1186×713), not the16×16primary. Clicked the actual filename, visually verified caret/selection, typed full dedicated path, clicked Save. Main now shows All changes saved and Project saved. Verified native artifact exists: D:/CodexBuilds/Capella2-release1-01a06e2e/ui-typed-ports/typed-port-authoring-ui.arcadia (35,699bytes), with supplementary output, Standard implementation ports, explicit two PortAllocations and ExchangeAllocation. User's intervening diagram moves were preserved. Native reopened-file verification still pending. This supersedes the pending-save note above; full-size related screenshot coordinate targeting is working in current helper, whereas some UIA fields still return wrong focus/cache errors.
## Routing requirement and additional native evidence
User explicitly requires customizable connection routing/bend points or sufficiently effective automatic routing to avoid overlap. PLAN/TASK_LEDGER updated; bounded route-design investigation now active before implementation. Port semantics remain the shared endpoint contract; routing must be per-diagram layout, with manual override, automatic starting route, source/API/SVG/history parity.
Minimum client1100x700 verified (capture1102x732): outermost right/bottom frame pixels permit resize, Fit brings nested diagram into canvas, inspector scrolls independently, port review modal and fixed Cancel/Apply fit. No clipping of controls; long alias wrapping fix still requires new build. Native no-op synchronization misleadingly enabled Apply; core planner now returns no commands for an unchanged contract.13core port regressions and focused desktop sync regression passed.
Fresh functions fixture was built with actual core (initial temporary fixture compile confused Option with Result, corrected; final run valid5elements/2allocations/noports). Native Open and SA selection succeeded atminimumsize. Actual +Relationship picker offered Receive incident despite no ports; choosing target enabled Apply; added Incident report item and applied. Result7objects/3links with2function ports and FE, zero checks. This directly verifies the UI eligibility defect beyond event tests. Undo/redo/save continuation follows. Opening SA-only source initially showed empty OA; root fixed initial perspective to populatedSA and added regression; full rerun pending.
Typed checkpoint verification: root observed complete locked workspace tests pass and desktop/server build finish (typed-port-workspace-tests.log, typed-port-final-build.log). Strict workspace Clippy previously passed. Updated executable still requires focused native recheck of preview wrapping, no-op synchronization and SA-only opening. Source-preserving core updates committed dbc8971 (160 core tests); isolated B writeback committed2dd17aa (23 experimental tests). Native routing trial in original Capella successfully inserted a bend by dragging an Oblique segment; benchmark records precise observed evidence. Routing implementation starts now, not yet accepted.
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.