Files
ARCADIA-Studio/harness/STATE.md
T

189 lines
12 KiB
Markdown

# First release — current engineering state
## Objective and current 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 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.
## Accepted foundations and evidence
- 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.
## Drawing acceptance — current main checkout
`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.
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.
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.
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.
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 isolated state integration
Worktree: `D:/CodexBuilds/Capella2-state-integration`, branch`codex/state-integration`.
Target: `D:/CodexBuilds/Capella2-state-integration-target`. Main core is not yet changed.
- `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.
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.
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.
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.
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.