Integrate typed port authoring and reviewable exchange workflows

This commit is contained in:
2026-09-05 20:00:21 +03:00
parent 2dd17aa693
commit fa096cefd3
21 changed files with 6449 additions and 2154 deletions
+50 -40
View File
@@ -1,69 +1,79 @@
# First release state — hierarchy and port correction
# Progress Ledger — first release
## Objective and evidence
## Objective and current phase
Active first-release goal: complete OA + SA/System Architecture, Rust/Iced Windows/Linux, equivalent graphical/source editing, reST contract, traceability, REST and built-in guidance. Objective attachment20fca018-f8ce-4cc0-86e7-8ead5d325630, read fully. V2 is the preserved baseline, not release acceptance. PLAN.md and release-semantics-audit.md retain the full scope.
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.
User prioritizes Capella-like hierarchical architecture and correct ports. release-diagram-port-correction.md records the correction; release-port-contract.md is being finalized before implementation. No release completion claim.
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.
## Implemented and verified
## Verified milestones
- R1 explicit process/chain occurrences and guarded control topology; R2 missions/capabilities; R4 typed scenarios/messages/reuse; R5 state/event semantics, nested regions and pseudostates. Exact contracts/reviews are in the corresponding release-*.md reports. R1/R2/R4 independent semantic findings closed before this checkpoint.
- Desktop contextual scenario/state/process authoring; typed property adapter; searchable offline guide; asynchronous bounded source lint with stale-result rejection; UTF-8 Find/Go to line. State authoring tests pass, but R4/R5 complete native authoring acceptance remains pending.
- Architecture, functional-dataflow and capability projections separated. Demo now has six focused views. Shared projection preserves allocation/containment, calculates owner-bound selectable ports, and feeds canvas, Fit, SVG and movement. Generic port metamodel is still pending correction.
- Git initialized on codex/release1-engineering; source baseline commit93ba83d. No remote publication. User authorizes worktrees. Current post-review changes are uncommitted.
- Baseline full locked core/desktop/server tests passed (desktop64; server1unit+17HTTP); strict workspace Clippy passed at baseline. Post-review core4 projection regressions pass, including missing work-parent fallback and direct-versus-inferred allocation distinction.
- 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.
## Current changes and ownership
## Active implementation and independent review
- Root owns core projection/session/regressions, desktop views.rs, docs, integration and native CUA. Fixes: omitted work parent falls back to actual performer; port reveal unfolds owner ancestry; component-port footer and larger root corridors; inferred allocation summary metadata/inspector explanation.
- hierarchy_port_review owns ONLY desktop app.rs, diagram.rs, tests.rs for insertion/reflow fixes and canvas/SVG summary distinction. Earlier full desktop run67/68 failed: folding selects placement ID instead of semantic owner, causing subsequent child creation rejection. Worker fixes root cause and nested sibling reflow; do not claim current tests all pass. Other reviewed fixes: projected child drag preview, creation routing from capability views, unfolded insertion path, SVG labels/stereotypes.
- port_contract_design owns ONLY release-port-contract.md now; adopted design separates FunctionInput/Output item contracts, Component Standard/Flow and independent orientation, PortAllocation, required FE endpoint IDs, atomic generation/reuse and explicit lossless V2→3 migration. Isolated core implementation worktree follows contract freeze.
- capella_startup_diagnosis read-only complete: healthy original Capella pid14556/window1049956; redundant graphical splash pid7048/window395654 hung in native splash update. No deletion/config workaround indicated.
- 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.
## Native verification and current pause
## Native evidence and pause
Computer Use through node_repl @oai/sky, skill26.901.41600. Root exclusively owns input. Most recent attempt reported physical Escape stop before inventory; CUA paused, no further native input without user continuation. Code work can proceed. Existing persistent handles must be revalidated on resume.
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.
Studio checkpoint D:/CodexBuilds/Capella2-release1-01a06e2e/ui-hierarchy-checkpoint/arcadia-studio.exe, SHA256 D6055F659754E9159232483EAF9FA595C1D7F53683F8FB618D855F04B9C931A5, last window723086,1440×900. Personally exercised OA/SA layer changes, nested participants/work, auto function/component port appearance and function-output selection. Found label overlap; footer/corridor/alias fixes are newer than this executable and need native recheck. No unsaved edits in this checkpoint.
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.
Healthy original Capella has the disposable In-Flight Entertainment sample open. Root reached System Analysis workflow and expanded System Architecture diagrams; SAB port workflow not yet exercised. Previously observed six workflows are recorded in release-capella-workflow-benchmark.md. Root startup diagnosis now supersedes old unavailable-window notes.
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.
Preserved actual native authoring fixtures: ui-r2-checkpoint/capability-extension-ui.arcadia (conditional extension); ui-r1-r4-checkpoint/process-branch-ui.arcadia (five control links and guarded alternatives), both under the release build directory. Find/Enter/F3/CtrlG and1100×700 layout previously exercised. New process Fit, scenario/state authoring, source focus refinements and latest diagram geometry still require native verification.
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.
## Exact next actions
## Highest-value next actions
1. Finish nested insertion/reflow and summary display; run focused then full current tests/Clippy. Regenerate distributable examples with current focused diagrams, preserving historical V2 fixtures. Update docs and commit reviewed hierarchy milestone.
2. Freeze port contract and create isolated Git worktree for core/schema3 implementation. Root integrates typed desktop actions, forms, projection glyphs and API/source parity. Verify migration, deletion/undo, OA↔SA mapping and item/provider roles with independent review.
3. Resume native Capella SAB/port study and Studio default/minimum authoring verification when CUA is resumed; fix from observed evidence.
4. Continue remaining first-release requirements: R6 data, R3 semantic drift/mapped reconciliation, persistent filters/coverage, Home/recent/recovery, optional hosted ETag editing, updated examples/help/reST/API, independent final reviews, Windows/Linux checks and packages.
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.
## Environment and commands
## Environment
Windows Rust1.98.1, target D:/CodexBuilds/Capella2-01a06e2e. Set CARGO_TARGET_DIR to that path, then 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. Copy build to a checkpoint path before native launch to avoid linker locks. WSLUbuntu24.04 setup in verification-v2-linux.md; final MSRV/platform verification remains.
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.
Prior recursive target/debug deletion was rejected: do not retry/bypass. No disk blocker. Old agents hit usage limits but current agents work; no usage reset authorized or used. Goal remains active; previous short turn stopped on explicit CUA Escape and made no material implementation progress.
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.
## Current integration checkpoint, 2026-09-05
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.
User resumed CUA explicitly; it is working. Current original Capella window527162 maximized2560x1392. Root opened [SAB] High Level System Overview with some FCs, inspected function output port FOP5 properties (Outgoing Exchange Items, Realized Function Output Ports), created FunctionalExchange38 between Provide Navigation Data and Determine Operating Profiles by palette/source/target. It automatically created output FOP1 and input FIP3; Semantic Browser verifies ownership and actual endpoint identities. Allocation Management had no available component exchange; cancelled. Separate propagation/synchronization commands observed in Modeling Accelerators. Component-port creation/properties is next.
## 2026-09-05 resumed checkpoint
Hierarchy worker released app.rs/diagram.rs/tests.rs after fixing semantic selection lost on folding, nested sibling/ancestor reflow including folded hidden descendants, and canvas/SVG inferred-summary distinction. Root full locked core+desktop+server tests session6598 passed (desktop70, server1unit+17HTTP); strict workspace Clippy and desktop build session38990 passed. Demo source/JSON regenerated from a single model with matching IDs and successful load checks; old V2 fixtures untouched. New maintained core example generate_demo provides reproducible regeneration. Guide and README reflect focused view names/summary semantics.
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.
Latest native checkpoint ready: D:/CodexBuilds/Capella2-release1-01a06e2e/ui-hierarchy-reviewed/arcadia-studio.exe SHA2563603AC957B6E16B4321F7FB7E759B3A2265357679DB8F27DD9ED5642B7E02179. Not launched yet. Old Studio window723086 has dirty marker, so inspect and preserve any unsaved changes before closing (do not infer it is safe from the earlier no-edit state).
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.
Typed-port work isolated at D:/CodexWorktrees/Capella2-typed-ports, branch codex/typed-port-contracts, from c20a207. port_contract_design owns core model/ports/validation/references/session/transitions/demo/projection + non-language tests; capella_startup_diagnosis now owns persistence/migration/language/server/API/reST + source/migration tests. They coordinate shared schema but never edit the same files. Root main remains buildable during their implementation. Temporary model-capacity errors were retried on the same agents; both resumed. Full core port/schema3 acceptance pending.
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).
## Updated objective and drag bug
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.
Authoritative objective is now attachment20fca018-f8ce-4cc0-86e7-8ead5d325630 (read fully). It retains first-release scope and adds modular source projects/includes, stable drag/reselection, and directly editable behavior/scenario diagrams. Root fixes drag; hierarchy_port_review is read-only mapping direct behavior manipulation/persisted geometry interfaces. Active port work remains aligned.
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.
Root verified drag bug: MoveNode returned a placement identity, dropping semantic highlight; SelectNode returned early for that same placement. Handler now selects the moved semantic element and restores its property draft; same-card click from a clean placement inspector restores semantic selection. Dirty placement identity edits defer to gesture release so existing remap behavior survives. Focused repeated drag/reselection/property-edit/undo regression and existing placement-identity regression pass. Native build ui-hierarchy-reviewed replaced before first launch, current SHA25630FA95CA9C606B20EAA5B4FA08AE04EB47CCB1A2498C05C0C26F2B049F006BE5; native checking now.
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.
Original Capella: created component exchange C1 between Aircraft and IFE System; it automatically made ComponentPorts. Source CP1 properties explicitly show provided/required interfaces, allocated/realized ports, Standard/Flow kind and Unset/In/Out/InOut direction; generated source is Flow/Out. Opened its allocated-port chooser, containing function ports under Aircraft-assigned functions. No port allocation committed yet; chooser remains open. Component Exchange tooltip requires same port kind; main contract amended to reject typed Standard/Flow mismatch, both workers notified. Unknown screenshot/foreground mismatch interrupted picker selection; no unchecked retry or guessed input. Capella later restored at1008×762 with modal partly outside main window; use full dialog screenshot only after fresh valid observation.
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.
## Drag selection verified; typed-port integration next
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.
Root full desktop71 tests and strict desktop all-targets Clippy passed (session60951). Reopened current SHA30FA95CA checkpoint through native CUA, fresh window527250. Dragged an initially unselected Report distress activity, clicked the same moved card, edited its name to Report distress at sea and applied: semantic highlight and properties remained correct throughout; containing participant expanded. Save As is pending, not verified: the helper targets a16×16 primary capture for modal1706878 alongside a1186×713 related screenshot and failed UIA set_value/coordinate operations; a later refresh detected user input. Do not claim the fixture exists, overwrite or discard unsaved changes. Both prior Studio windows were absent on fresh inventory, so old unsaved geometry is not assumed recoverable. Current default native layout verified; current minimum resize still pending.
## Routing requirement and additional native evidence
Port core0d14438 and migration/source/APIb9f88ce are committed on codex/typed-port-contracts, isolated worktree clean. Integrate together, retaining main hierarchy reflow/allocation_summary changes. Handoffs release-port-core.md and release-port-migration.md record actual tests and APIs. Core worker reported125 total core tests including9focused port tests; migration worker31focused core+20server tests and strict Clippy. Root integration checks, desktop typed controls/glyphs and native port acceptance remain pending. Migration worker now independently reviews core ports; hierarchy reviewer designs modular source projects. Direct behavior editing design reuses contextual Diagram placements; interface adoption/implementation remains ahead.
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.