Publish interrupted saved-removal checkpoint and remaining verification

This commit is contained in:
2026-09-24 22:41:51 -07:00
parent fa9d89efad
commit d8db66080d
4 changed files with 282 additions and 0 deletions
+3
View File
@@ -101,3 +101,6 @@ harness/process-group-removal-evidence-20260925/** -text whitespace=cr-at-eol
# Preserve exact saved-view planner review and portable evidence bytes.
harness/saved-group-removal-evidence-20260925/** -text whitespace=cr-at-eol
# Preserve exact saved-view application check records.
harness/saved-group-removal-app-evidence-20260925/** -text whitespace=cr-at-eol
+105
View File
@@ -0,0 +1,105 @@
# Saved-view group model deletion: application checkpoint
Branch contribution for [issue 29](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/29).
The [policy](saved-group-removal-policy-20260925.md), language section 8.1 and
[planner foundation](saved-group-removal-foundation-20260925.md) 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](saved-group-removal-app-evidence-20260925/interrupted-checkpoint.zip)
and their [hash manifest](saved-group-removal-app-evidence-20260925/manifest.json)
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:
```text
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.
@@ -0,0 +1,174 @@
{
"status": "Interrupted at explicit user request; no final passing verification",
"source": "fa9d89efad052d9f5591ac4f8b72d18db4ca58ed",
"archive": {
"bytes": 16522133,
"sha256": "d97ed023dcb53b962040420e7b08f7ac3c3df8c1d9481e0908d07c94b65ef6ae"
},
"members": {
"saved-app-clippy-1/inputs.json": {
"bytes": 141119,
"sha256": "46b0563e76ecb591057cd72c33aff9abd10ca5bb7732d9eaa261b99262f329cc"
},
"saved-app-clippy-1/inputs.zip": {
"bytes": 3346263,
"sha256": "330ece3193a59dded605cde0465203753bb4f21df7bcee0fe7a84bbf256e8dd4"
},
"saved-app-clippy-1/process.json": {
"bytes": 179,
"sha256": "d17bd2b86685a29d17c60dbc1bdb28dfb8aa7ea8ed3ca7b0a8bd17e399091891"
},
"saved-app-clippy-1/result.json": {
"bytes": 1961,
"sha256": "04dac06b373f2c569b4bdc705be2d0b1cb3873818c8cc182a2e2d1b0c05908d6"
},
"saved-app-clippy-1/source-proof.json": {
"bytes": 597,
"sha256": "ca56a2ca0e0f94c2309b44dd6e78eafd2cdd51ea5bddf3f9d31fa42c21e7fbb2"
},
"saved-app-clippy-1/started.json": {
"bytes": 1563,
"sha256": "39022aa01566c2f0a96fc0e31faa621a2c9fe36ebe25fa337d6978c1cbe5f51f"
},
"saved-app-clippy-1/stderr.log": {
"bytes": 163,
"sha256": "6cd1a10aa8ce9ee8a5ac74fd1dacd158709abeeb9483b49fc61c272157cbfc6d"
},
"saved-app-clippy-1/stdout.log": {
"bytes": 272318,
"sha256": "47bfe7c3edc5146dba8ef89107de9eb80910d41524447f2e26eca16caafd9e60"
},
"saved-app-clippy-2/inputs.json": {
"bytes": 141119,
"sha256": "8bff1ac0784ff6d04be666049adca30de1a62482fc1aabd667171899d27a8d69"
},
"saved-app-clippy-2/inputs.zip": {
"bytes": 3346435,
"sha256": "76a4e581d52e0698d740d4b04281bba1356e51b60fefb906d460307cd1566a68"
},
"saved-app-clippy-2/process.json": {
"bytes": 179,
"sha256": "3512984be21e665640644f04243453b3847889836784a62da4d67634b1a3dbdc"
},
"saved-app-clippy-2/result.json": {
"bytes": 1966,
"sha256": "a0e40f1793182fc1938416f5301dd41b9485ed9ae030e5db95049c36e37fa6bb"
},
"saved-app-clippy-2/started.json": {
"bytes": 1563,
"sha256": "351e948c1711cc8cce5d470cc0c2a5beec4e9fcddaf5a18257802fe7f9a94d5a"
},
"saved-app-clippy-2/stderr.log": {
"bytes": 73,
"sha256": "85f6a6d188a56417b1b6a2dc5ba8144c2dcccba0c8fd25ceac85c2c95ab8d861"
},
"saved-app-clippy-2/stdout.log": {
"bytes": 267337,
"sha256": "654d56a12e0543015deac1eb534742f7065baf1b2eee19bfb28a37d986c587b3"
},
"saved-app-tests-1/inputs.json": {
"bytes": 141119,
"sha256": "ed1ab2d2b2a9537ab9568ba28e7c7f2fd8bf12412011c35841d76dde3b2a71c6"
},
"saved-app-tests-1/inputs.zip": {
"bytes": 3344658,
"sha256": "322130a230d3f6ffcbb2fea5854e97299800e04e6c793e7dd28ab965401745ac"
},
"saved-app-tests-1/process.json": {
"bytes": 173,
"sha256": "19b671b9dc7cbe8311b85fa812d4e57fd4a83a38578bc825c567261230a942fc"
},
"saved-app-tests-1/result.json": {
"bytes": 3307,
"sha256": "95517c0616f5580d1a186b4f296dfb4e8b4d3e5d3d926b506b329610c4112e5c"
},
"saved-app-tests-1/source-proof.json": {
"bytes": 596,
"sha256": "47cefda7aa77e8cd09ebab9db80a3067882320b3470bf66662d273d6302df091"
},
"saved-app-tests-1/started.json": {
"bytes": 1552,
"sha256": "c2e4d951849ec6b5fe98bb42cdf36d6ee2a54cf6c2a864f419307fc51c8e9649"
},
"saved-app-tests-1/stderr.log": {
"bytes": 164,
"sha256": "158c54ac0ec7922eb43268b0a72f2344babdd1e4937e90328e12542ce4bd67e1"
},
"saved-app-tests-1/stdout.log": {
"bytes": 306273,
"sha256": "2dc4b498ca8686222647438c672a0737871b5dc791516dbd418ee8acebc55954"
},
"saved-app-tests-2/inputs.json": {
"bytes": 141119,
"sha256": "2bf5d9594138d078e037c78fbc554a5f932856230cd6b7a9774e4efb21555da3"
},
"saved-app-tests-2/inputs.zip": {
"bytes": 3346136,
"sha256": "b570d82f3cb2ba5c33dbd6bdde573bc96687f8e361607e8b34272e92e5c9c4d0"
},
"saved-app-tests-2/process.json": {
"bytes": 172,
"sha256": "923409e253214b246216a303f7e2b35ee3d04edb42731b2b192c0fc1360863fd"
},
"saved-app-tests-2/result.json": {
"bytes": 4635,
"sha256": "39cb174bccbd7f2fe5debce2b25225edbb8208d23617ef16577f0ec05e38e5f6"
},
"saved-app-tests-2/source-proof.json": {
"bytes": 596,
"sha256": "8ce66483ad1e5960ccdea2121ee3c4403585bec7af0d82f104ddf6b69d02d6fe"
},
"saved-app-tests-2/started.json": {
"bytes": 1552,
"sha256": "34f07b08c03dca520640b317cfead083f8583430b656e9308f8efbf351a54e1a"
},
"saved-app-tests-2/stderr.log": {
"bytes": 355,
"sha256": "aabd0bca811fcce6bac438609a67fda9774e7bec7d7faa3f744f069b5fba32d0"
},
"saved-app-tests-2/stdout.log": {
"bytes": 307406,
"sha256": "8c4d59448c048a3e5daeb334e2991a023c74ca23f7cf2dce401e9fd0d23d8e2e"
},
"saved-app-tests-3/inputs.json": {
"bytes": 141119,
"sha256": "67e9f840904a78aee41f2f5f4bac9b4c1b51b5a11a3b95a792aa4388e9937d5d"
},
"saved-app-tests-3/inputs.zip": {
"bytes": 3346266,
"sha256": "66b9c19fcf53cb7da1d86cf17174cd1724b1db4ba09c2a034354d24be8908095"
},
"saved-app-tests-3/process.json": {
"bytes": 213,
"sha256": "5bc7171753a1242b71259de47c88502588c7b8f32881c73e825c3a6e90ec158f"
},
"saved-app-tests-3/result.json": {
"bytes": 4690,
"sha256": "e043638dcf0de996b302e15bf858f516ab6e60cd00b8468f13158aee96cf19d3"
},
"saved-app-tests-3/source-proof.json": {
"bytes": 596,
"sha256": "0bd60beafd33bdba6cb7c0bce3d325e21d6a5232ae927470177d92e4e12ab23a"
},
"saved-app-tests-3/started.json": {
"bytes": 1607,
"sha256": "e4386cd76ec9e2a717945c72124f5b82df08de6d5af060c787302b319be226a1"
},
"saved-app-tests-3/stderr.log": {
"bytes": 355,
"sha256": "b66e13c77cf7eacb33b9ce952a5e05f53c27e0ecb40eeeed211f3357c940b429"
},
"saved-app-tests-3/stdout.log": {
"bytes": 328463,
"sha256": "0911f16cb480de0f267e48cbed826e17a886a1ba091f72d841b74186bce989b9"
},
"helpers/gate.py": {
"bytes": 3778,
"sha256": "3e4cd38fd3807a4010a5a7102354f9139cab236ca55163c96090e416161e5fd2"
},
"helpers/source-proof.py": {
"bytes": 1396,
"sha256": "c86f51d9b8465341dab73d045923ec306b15ebabf7c97b81beac7afe73bd72a1"
}
}
}