Files
ARCADIA-Studio/harness/saved-group-removal-app-20260925.md
T

5.9 KiB

Saved-view group model deletion: application checkpoint

Branch contribution for issue 29. The policy, language section 8.1 and planner foundation remain the contract and earlier evidence. This application checkpoint is separate from the delivered issue 37 prerelease and is not full application acceptance.

Change

Saved Architecture and State groups have an explicit Delete from model… control, whole-selection context action and focused Shift+Delete request. Plain Delete/Hide retains placement-only semantics. Context actions preserve the current group even when opened on another object; selecting only that object remains an explicit separate action.

One captured review contains the original typed selection, semantic subjects, actual removed/updated records and derived Process interpretation/caller effects. Names, aliases and effects can be searched and paged; confirmation and cancellation remain outside the scrolling effect body. The final operation is one Document transaction, including source synchronization, with one Undo/Redo. Stale requests and modal tokens are rejected before disturbing a newer edit.

Ordinary and State private pointer state now shares the same generation/RAII lease mechanism used by Process. A later native press or focus traversal can revoke a queued request before App consumes the batch. Lost-focus and abandoned gesture boundaries release ownership without making old generations reusable.

Process interpretation and caller analysis is shared by both adapters. Deleted definitions retain their pre-deletion dependency edges when reporting surviving callers; clearing stored references must not hide that effect. This is bounded definition-level analysis, not a complete expanded caller-graph calculation. The existing Process review uses the same extracted effect-row formatter.

Verification record

Source checkpoint: fa9d89efad052d9f5591ac4f8b72d18db4ca58ed. Verification is unfinished. The user explicitly requested immediate publication and stop. The running final Clippy gate was terminated (recorded Windows exit 4294967295), and the subsequent test/format gates did not start. The last edits have not passed their final checks. No final passing suite is claimed.

Raw captures and source capsules and their hash manifest preserve all five attempts, including failures and the interrupted lint run. Windows GNU/LLVM Rust/Cargo 1.98.1, one Cargo job, incremental compilation off. These are raw checkpoint records, not independently audited acceptance evidence.

The last completed test command was:

cargo test -p oa-desktop --message-format=json -- removal multiselect focus state_canvas --test-threads=1

At b137d457270d5cdf89b4bd2ac411e95a6c7e556e it passed 270 tests and failed three (0 ignored, 1410 filtered). All saved-App tests, including the owner deletion regression, passed at that source. The three follow-up edits in the checkpoint dismiss only a same-token expired menu, cancel a held Scenario gesture when its form becomes noneditable, and update the State Shift+Delete test to require the now-supported complete model-removal group. Their rerun is pending; this report does not treat the fixes as verified.

Resume checks with the same command plus direct_canvas_tests, strict desktop all-target Clippy, and formatting. Native and independent review limits below also remain. No background build or test is intentionally left running.

The retained attempts expose the corrections rather than hiding them:

  • saved-app-tests-1, source 3ab63ef028b1817924635571fbc5e8072558d2fc: compile failure from interrupted canvas refactors leaving duplicate Program implementations and missing inherent helpers. The old update bodies moved into inherent helpers, leaving one Program wrapper each.
  • saved-app-tests-2, source 1b683ea3361304b29a38597a6c2022c41ff87680: 104 passed, one failed. Deleting a selected State Machine correctly changed the model but retained its UI owner reference. Successful transactions now retire deleted behavior owner/view references; failed transactions retain them. The regression asserts surviving inspection context and exact Undo.
  • saved-app-clippy-1, source 84cd5ef56cefb2504465d2b6c771a8bab485d683: strict lint rejected a nested menu admission condition. It was collapsed without changing the admitted action.

The new App fixture uses distinct saved diagrams rather than reusing the default diagram through ensure_diagram. Mounted batch checks found the need to notify the canvas when its keyboard owner intercepts Tab; focus traversal now retires private input state before a queued deletion reaches App.

Acceptance boundary

No new native GUI trial, runnable release, default-branch integration, full desktop-suite or Linux acceptance is asserted by this record. Earlier Scenario and Process native evidence remains scoped to its identified source; it does not validate this newly enabled saved-view workflow.

Fresh independent review of the complete App changes and native compact Architecture/State mixed selections, query/paging, cancellation, deletion, exact save/Undo/Redo/reopen remain required before release acceptance. Bounded contributors drafted input, derived-impact and App-test changes but terminated at their usage limit before final review; the parent completed integration. The previous independent planner review does not cover these application edits.

Saved-App genuine source-budget failure coverage is not claimed. Existing Scenario source-budget tests cover the shared Document failure path; they are not relabeled as a saved-App runtime test. Cross-family changes to canvas focus and extracted Process effect rendering need their identified regression results, not merely successful compilation.