Record Windows and Linux direct state editing acceptance
Rust checks / check (ubuntu-latest) (push) Canceled after 0s
Rust checks / check (windows-latest) (push) Canceled after 0s

This commit is contained in:
2026-09-06 03:31:26 +03:00
parent 316dc559d7
commit a8f451ebae
6 changed files with 268 additions and 230 deletions
+94 -169
View File
@@ -1,188 +1,113 @@
# First release — current engineering state
## Objective and current phase
## Objective and phase
The first-release goal remains active and incomplete. Deliver Rust/Iced Operational
Analysis and System Analysis/System Architecture for system engineers, equivalent
graphical/textual/REST semantics, hierarchical diagrams and typed ports, modular
source projects, artifact traceability, editable behavior, useful offline help,
and Windows/Linux release evidence. Later Arcadia layers remain future releases.
Authoritative objective: attachment
`07aee762-7d27-4cbe-81c3-2e82c7170711/goal-objective.md`, reread 2026-09-06.
PLAN.md, TASK_LEDGER.md and release-semantics-audit.md retain full release scope.
The first-release goal remains active and incomplete. Deliver usable Rust/Iced
Operational Analysis and System Analysis/System Architecture, equivalent graphical,
textual and REST semantics, artifact traceability, directly editable behavior,
offline guidance, and Windows/Linux release evidence. Later Arcadia layers remain
future releases. The full authoritative objective was reread on 2026-09-06:
attachment07aee762-7d27-4cbe-81c3-2e82c7170711/goal-objective.md.
PLAN.md retains the entire release scope; no subsystem acceptance completes it.
The latest user-directed drawing/port/menu/source-tree milestone is accepted at
`fef2e0d` plus tooltip-layer follow-up `ad7feb5`. It does not complete the release.
Root now integrates direct state-machine editing in an isolated worktree. There
is meaningful implementation, independent review and real runtime progress; no
external blocker or disk blocker exists.
Direct state-machine editing is accepted through production316dc55. The main
checkout can fast-forward to this integration. R6 data/interface contracts are now
being implemented in a separate checkout; they are not accepted or released.
Meaningful implementation and runtime progress continues; no external blocker exists.
## Accepted foundations and evidence
## Accepted foundations
- Typed OA/SA model, schema 3 ports, validated atomic commands and ordinary history
are shared across three Rust crates. Typed contracts and migration are documented
in release-port-contract.md, release-port-core.md and release-port-migration.md.
Desktop typed authoring checkpoint `fa096ce` passed native creation, generation,
undo/redo and persistence. Original Capella was operated in a disposable workspace;
exact observed semantics/workflows: release-capella-workflow-benchmark.md.
- Explorer/port discovery `d364d3c`: visible Add port, grouped roots, focused children,
breadcrumbs, contextual search/paging and full-depth outline. Windows port/Standard
exchange, 251-root paging, 12-level navigation and 1100x700 trials passed; rebuilt
Linux save/reopen/font correction passed. See release-explorer-usability.md.
- Editable routes `23535b4`, viewport fix `366ce44`, automatic labels `65fa9ab`:
authored bends/labels, nested group movement, folding/restoration, undo/redo,
save/reopen, SVG and minimum-size gestures passed native and independent review.
See release-routing-verification.md and release-routing-linux.md. Dense optimized
full solve measured119ms; arbitrary dense crossings remain possible.
- Nested source and coupled hosted source/model checkpoint `4e8575b`: source3
element nesting/includes, token/provenance-aware structural writes, exact model
source history, retained drafts and safe Save All/recovery. Full422 Windows and
425 Linux tests, strict checks and builds passed at that checkpoint. Actual REST
import/comment-only revision/cross-file reparent/stale ETag/restart passed.
Windows/Linux source and nested graphical edits, save/reopen and recovery were
exercised. See release-source-integration.md. Experiments remain evidence only;
do not adopt their independent parser/writer.
- Core typed OA/SA semantics, validated atomic commands and ordinary history are
shared by three Rust crates. Typed ports, explicit unresolved migration and
original Capella observations: release-port-{contract,core,migration}.md and
release-capella-workflow-benchmark.md.
- Explorer/port discovery d364d3c: Add port on participants, grouped roots, focused
children, breadcrumbs, contextual paging/search and full-depth outline. Actual
Windows creation,251-root/12-level trials,1100x700 and Linux reopen/font fixes:
release-explorer-usability.md.
- Routing23535b4, viewport366ce44, labels65fa9ab: authored bends/labels, group
movement, fold restoration, Undo/Redo, save/reopen and SVG, including minimum-size
native trials. Dense full solve measured119ms; arbitrary crossings remain possible.
See release-routing-verification.md and release-routing-linux.md.
- Source4e8575b: nested lexical ownership/includes, provenance-aware token writes,
exact accepted source/model history, retained drafts, Save All/recovery and coupled
hosted source/model revisions. Windows/Linux native and actual REST restart,
stale ETag, comment-only edit and cross-file reparent passed. Full422 Windows /
425 Linux tests at that checkpoint. See release-source-integration.md.
- Direct drawing fef2e0d plus tooltip ad7feb5: OA Interaction, SA Functional and
Boundary Exchange by palette click-click or drag; compatible highlights, automatic
function ports, four-side draggable anchors, contextual menus and source folders.
Independent pointer/tooltip findings fixed and native retested. Windows193 desktop
and Linux189+4 focused tests followed earlier full485/488 suites. Scoped native
Windows/Linux acceptance: release-port-drawing.md and release-context-menus.md.
## Drawing acceptance — current main checkout
## Newly accepted state workspace
`93fd32c` fixes candidate scaling without weakening validation; `35133de` supplies
persisted four-side normalized port anchors. `fef2e0d` adds direct palette drawing,
shared automatic labels, contextual menus and the source folder tree. OA Interaction,
SA Functional Exchange and Boundary Exchange accept click-click or drag. Function
cards create/reuse typed ports atomically. Compatible targets highlight; Standard
and Flow contracts remain distinct. Pan retains source; Escape cancels.
Production316dc55 includes typed machine views, shared persisted geometry, atomic
region/symbol/state creation, group movement, direct transitions and reconnection,
Internal rows, Local edges, typed detail forms, folding, placement and navigation.
Architecture and Behavior view selections are separate. Drafts survive rejected
source/model commits; passive camera events never apply a form.
Independent review reproduced batched-pointer click corruption and overview port
mispicking. Ordered CursorMoved coordinates, explicit context epochs and nearest
port glyph picking fix these, with production regressions. Native review then
reproduced port-tooltip overprint: separate Frames still share an Iced GPU layer.
The fix uses a passive second stacked Canvas (a real renderer layer). It preserves
interactive child state/input and resets held-button suppression on context change,
matching releases, Escape and focus loss. CursorLeft alone does not end suppression.
Independent/native findings fixed: covered GPU shapes, pseudo-label/edge collision,
selection-relayout drag displacement, missing typed form access, folded-content
access, wrong-view placement Apply, and camera/tool leakage on machine navigation.
An actual owner/view change resets gesture state and fits; returning to the same
view preserves camera/tool. Exact evidence and limitations: release-state-editing.md.
Evidence is in release-port-drawing.md and release-context-menus.md. Exact native
review report: `D:/CodexBuilds/Capella2-release1-01a06e2e/drawing-independent-native-review.md`.
Windows independent trials passed Standard rejection/completion, automatic function
ports, undo/redo, save/reopen and1100x700. Overprint was reproduced on9A7FF074 and
closed on3F534C67 at1440x900 and1100x700. Root tested final1EEBDC3C: first port drag,
menu outside dismissal, first repeated drag, direct FE, readable identity and Save.
Saved trial: `ui-port-tooltip-final/project.arcadia`,41objects/26links/0checks.
Verification: full551 Windows /554 Linux workspace tests and strict workspace
Clippy at e0b2210. Final316dc55:241 desktop tests, strict all-target desktop Clippy,
and desktop builds on each platform; five new navigation tests included. Two guide
tests passed after help changes. Source/reST/API state contracts and actual HTTP
rejection/revision/source/restart tests passed earlier in the integration.
Root operated actual Linux7AC5EEE: first FE drag, Right-to-Bottom port drag, Reset/
Undo, repeated Bottom-to-Left drag, source-offscreen arrow pan and completion,
Save All/reopen, persisted geometry and source-tree expansion/open. Saved trial:
`ui-port-tooltip-linux/project.arcadia`,41objects/27links/0checks. Runtime log empty;
Linux window closed normally, exec13766 exit0. Linux was inspected at1440x900;
minimum-size acceptance is Windows, not a claim of Linux minimum-size testing.
Root and independent Windows native trials covered1440x900 and1100x700 creation,
nested movement, first-drag transition, endpoint/menu reconnect, invalid target,
Escape, timed Internal, Local/EntryPoint, placement Apply, Undo/Redo and save/reopen.
Linux native covered1440x900 creation, first transition/move, Undo/Redo, fold and
saved collapsed reopen. Final316dc55 native on both platforms proved same-view
camera/tool preservation and different-machine Fit/Select reset. Logs are empty.
Verification scopes: full485 Windows /488 Linux workspace tests preceded the last
pointer/tooltip refinements. Latest main Windows193 desktop tests, strict desktop
all-target Clippy and debug build passed. Latest Linux189 desktop tests, strict
desktop Clippy and release build passed; four new tooltip lifecycle tests then
passed separately. A142-test Linux result from a shared-worktree Cargo cache was
identified and EXCLUDED; scoped package cleaning and explicit main recompilation
established the valid189-test result. Use a distinct CARGO_TARGET_DIR per worktree.
## Active R6 implementation and next actions
## Active isolated state integration
Checkout D:/CodexBuilds/Capella2-data-integration; branch
codex/data-contract-integration, base5ce3eef+plan2bf4c54+navigation9118218.
Dedicated target D:/CodexBuilds/Capella2-data-target. Contract freeze is schema/source4
with full data payload and dictionary slices together; existing typed ports remain.
See release-data-implementation.md and release-data-contract.md in that checkout.
Worktree: `D:/CodexBuilds/Capella2-state-integration`, branch`codex/state-integration`.
Target: `D:/CodexBuilds/Capella2-state-integration-target`. Main core is not yet changed.
Ownership: data_core owns core model/data/validation/references/ports/transitions
and non-source tests; state_architecture_review owns source/migration/persistence
and their tests; drawing_correctness owns desktop. Root owns API/OpenAPI/reST,
integration and native input. Do not edit workers' files or reset their changes.
- `e7a8163` integrates reviewed core state-context commit a63654f, preserving latest
anchors and routing labels. State views skip semantic port layout after boundary
snapping; both routing and label passes reserve actual internal-row headers.
- `2459581` retains behavior drafts until Document commit succeeds.
- `53cd096` adds typed state-context forms, placement membership choices and normative
source/JSON/REST/OpenAPI contracts. Strict HTML generation passed. Two actual HTTP
tests passed, including malformed/invalid rejection, revision/source atomicity and
restart. Destination pickers permit intermediate invalid drafts so coordinated
element/diagram retargeting is reachable; Apply remains strict.
- `e5660b8` integrates App dirty/Close/Save/navigation/mutation guards. Exact prepared
commands acknowledge drafts only after accepted source/model writes. Review found
passive viewport events applying properties, queued source controls creating
competing drafts and stale delete confirmations; all three fixes have App tests.
Six App lifecycle tests passed, including typed source-writeback rejection/retry
and one Undo. Clean detached buffers after Undo are intentional; reachable bundle
and accepted Document are restored exactly.
- Integrated baseline:514 Windows workspace tests (277core,199desktop,38server),
strict workspace all-target Clippy passed. This baseline precedes direct gestures;
there is no native state-gesture acceptance yet.
1. Commit state evidence and fast-forward main from ad7feb5; coordinate Git index
before carrying documentation into the active R6 checkout.
2. Finish R6 core/source/desktop, integrate actual REST/schema/reST, independent
semantic/correctness/UX review, Windows/Linux checks and real data authoring.
3. Implement R3 typed semantic drift/reconciliation after R6 freezes. Current
baselines/reconciliation only cover prose. Prefer historical typed-body snapshots
and finite proposals; avoid a duplicate recursive semantic schema without evidence.
4. Complete direct scenario/process gestures, persistent coverage/filters,
Home/recent/recovery, hosted desktop ETag workflows and offline guidance.
5. Fresh final requirements/domain/correctness/native UX/architecture review; full
Windows/Linux/MSRV checks, real runtime, reproducible docs and release packaging.
Direct-state UI integration is now implemented (uncommitted): persisted canvas,
creation within explicit regions, movement, direct transitions and endpoint
reconnection, pan/zoom/Fit, typed detail forms, and contextual fold/unfold/hide.
The old computed static state scene is removed. Source/model commands remain atomic.
Independent review found removed typed-form access, unreachable folded contents,
selection relayout altering drag deltas, fallback owner resetting the first drag,
and same-size viewport events refitting the camera. Fixes preserve typed creation,
use state-specific menus, window-space ordered gesture deltas, retained owner and
actual-size resize checks. App tests also exposed Architecture placement leaking
into Behavior selection; the two view selections are now separate.
## Environment and native ownership
First direct-state Windows verification:231 desktop tests and strict desktop
all-target Clippy passed, logs `D:/CodexBuilds/Capella2-state-direct-{tests,clippy}.log`.
Native trial2A4B5C11 created a new SA StateMachine and dedicated view; it reproduced
missing box fills/borders while text remained. Iced WGPU appends parent meshes after
clipped children: the opaque parent background covered every node. The fix moves
the content background into the clip and restricts the outer fill to the guidance
strip. Native re-verification remains required. Saved reproduction is
`ui-state-direct-01/project.arcadia`,42objects/25links/2 expected incomplete-machine
checks. Trial window1442250 received normal close after verified Save; re-inventory.
Root exclusively owns native input. Latest saved Windows trial is window1706782,
ui-state-navigation-windows,49objects/28links/1 expected missing-owner warning.
Linux navigation trial3148598 closed normally, exec46107 exit0; baseline Linux
trial721472 also closed normally, exec72680 exit0. Independent Windows3672536 is
saved at1100x700. Older root drawing windows are saved. Re-inventory before input.
Protected user7210312/6228978 were absent; do not reset/save/close if they return.
Latest verification:551 Windows workspace tests (277core,236desktop,38server)
and strict workspace all-target Clippy passed. A single let-and-return lint in the
new label hit helper was fixed without changing behavior. Subsequent compact-toolbar
changes passed desktop Clippy and build. Exact logs use `state-direct-workspace-*`
and `state-compact-*` under D:/CodexBuilds.
Evidence: D:/CodexBuilds/Capella2-release1-01a06e2e. State source checkout/target:
D:/CodexBuilds/Capella2-state-integration and -target. Linux source/target:
D:/CodexBuilds/Capella2-state-linux-review and -target. Use distinct Cargo targets
per checkout; shared-cache results were previously caught and excluded.
Native82AE5A2C closed the missing-shapes bug; root directly created Region, Initial,
State, first-drag Initial→State transition, selected without motion, moved/undid the
state, created Internal Monitor communications with generated After30s Event,
Undo/Redo of both, and Fold/Unfold via right-click. Saved trial46objects/27links/1
remaining model check uses ui-state-direct-01/project.arcadia; its original empty
machine fixture is preserved in baseline-before-editing. Minimum1100x700 exposed
excessive toolbar height; latest build removes selected-action row and shortens
state heading. Native recheck is pending, along with reconnection, nested composite,
Linux state runtime and independent final runtime review.
Additional review/native fixes: Fold retains semantic selection; placement property
Apply retains Behavior view without overwriting Architecture view. Initial names
choose among12 deterministic route-aware positions, and label hit testing uses the
same cached rectangle. This closes the observed rightward-line/name collision in
code; native verification of this last refinement remains pending.
Root owns integration/native input; all workers have returned files. Every worktree
uses its own Cargo target. Main remains ad7feb5; state work is isolated and not yet
accepted into main. No release-completion claim.
## Exact next actions
1. Rebuild and verify the state rendering fix on the saved native reproduction;
complete real state creation, connections, folding, form edit, Save/reopen and
minimum-size trials. Commit only after reviewed behavior is demonstrated.
2. Finish state-edit acceptance with explicit retained
behavior view, creation in a region, movement, transition drawing/reconnection,
guarded forms, discoverable missing placements, pan/zoom and contextual actions.
Build/run/test native at default/minimum sizes; review/reproduce/fix findings.
3. Continue direct scenario/process gestures, R3 semantic drift/reconciliation,
R6 data contracts, persistent coverage/filters, Home/recent/recovery, hosted ETag
workflows, offline guidance and normative contracts. All remain release work.
4. Fresh final requirements/domain/correctness/native UX/architecture reviews;
Windows/Linux/MSRV checks, actual runtime, docs and packages/checksums before
completing the broad goal. V2 or a subsystem checkpoint is insufficient.
## Native safety and environment
Root owns native input. Final Windows1EEBDC3C window2100032/exec55548 is saved on
its isolated41/26 trial. Earlier windows524634 and328292 are saved on the Standard
and auto-port review fixtures. Re-inventory and inspect current dirty state before
operating any window. Protected user7210312 and earlier6228978 were absent; root did
not close them and makes no recovery claim. If either returns, do not save/reset/close.
Main Windows target `D:/CodexBuilds/Capella2-01a06e2e`; Rust1.98.1. Use `cargo test
--locked --workspace`, `cargo clippy --locked --workspace --all-targets -- -D warnings`
and `cargo build --locked -p oa-desktop -p oa-server`. WSL Ubuntu24.04 uses the
existing target/linux-cargo.toml vendor config and its own linux-target; launch
with WGPU_BACKEND=vulkan and the Mesa lvp ICD. Release evidence lives under
`D:/CodexBuilds/Capella2-release1-01a06e2e`. No remote push or usage reset is authorized.
Do not retry the previously rejected broad recursive target deletion.
Windows: cargo test --locked --workspace; cargo clippy --locked --workspace
--all-targets -- -D warnings; cargo build --locked -p oa-desktop -p oa-server.
WSL Ubuntu24.04 uses target/linux-cargo.toml and Mesa software Vulkan for native
WSLg. No remote push or usage reset authorized. No broad recursive target deletion.