Publish interrupted saved-removal checkpoint and remaining verification
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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.
|
||||
Binary file not shown.
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user