65 lines
10 KiB
Markdown
65 lines
10 KiB
Markdown
# Inspector Apply/Revert: fixed actions and native verification
|
||
|
||
Candidate [14e7e6aa46f59346c7a9a478fc9498fd0b496aaf](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/commit/14e7e6aa46f59346c7a9a478fc9498fd0b496aaf) keeps Apply/Revert visible above the scrolling Properties form. In the recorded Windows trial, the parent operator edited lower Call payload fields and applied, rejected or reverted drafts without scrolling back to the top. Strict desktop Clippy, 18 selected existing tests and the candidate GUI build passed; eight exact saved-Project comparisons support the bounded native result.
|
||
|
||
The published source branch is `codex/scenario-inspector-actions-ytr83r-20260922`; the linked commit pins the tested version.
|
||
|
||
This is a one-file presentation change relative to `b10b28cefd1d0794073ba241a0c8de9a83e85f68`: only `crates/oa-desktop/src/views.rs` differs. Action messages and model handlers remain unchanged. The [source review](original/source-review.md) preserves an initial defect in superseded e2536f6: shifting the Properties Scrollable to a different child index recreated its state across Connections. The reviewed 14e7 follow-up groups tabs/actions in the header and keeps the Scrollable sibling at the same outer position in both tabs. That resolves the structural reset; exact internal scroll offsets and independent state per tab are not promised.
|
||
|
||
## Current build and test evidence
|
||
|
||
The [closed gate summary](original/gate-run-01/summary.json) binds 15 successful commands and exact candidate inputs. [Independent gate review](original/gate-review.md) includes its final closed-output addendum; the earlier mid-run paragraph is retained as history.
|
||
|
||
- Strict check: `cargo clippy -p oa-desktop --all-targets --locked --offline -- -D warnings`.
|
||
- Candidate test executable built once with Cargo's JSON artifact output, then its actual test list was checked. All 18 selected tests passed: six Scenario inspector-selection tests, six mounted Scenario Details tests and six property Apply/Revert/draft/history cases. [selection.json](original/gate-recipe/selection.json) records exact names and membership; the archived individual test output confirms the selected passes.
|
||
- Candidate desktop GUI built with `cargo build -p oa-desktop --bin arcadia-studio --locked --offline --message-format=json`.
|
||
|
||
All 2,619 bound input files were rehashed during archive preparation; before/after input manifests match. All 18 Cargo configuration search slots retain their recorded presence/absence and hashes. The 651 raw dependency fingerprint JSON files are a cache snapshot, not proof that every cached dependency was rebuilt or tested. Registry/compiler caches were reused; their source contents are not independently certified immutable. No unchanged full server/core/desktop suite was rerun solely for this layout change, and no broader suite result is inferred.
|
||
|
||
The resulting GUI is **116,721,152 bytes**, SHA-256 `011396752205af88d812106693007aa3dd24f4fc949652fdf0d26d0a371ea04f`. Packaged/test LLVM runtime is **190,464 bytes**, SHA-256 `aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a`. Direct tests used the recorded LLVM/Windows-only child PATH and checked earlier DLL search locations; the distinct Rustup runtime was not substituted. Binary payloads are excluded from this evidence archive.
|
||
|
||
## Native workflow and saved-state results
|
||
|
||
The [parent observation record](original/native-run-01/root-notes.md) describes actual actions and asynchronous reobservation. The [independent native review](independent-native-review.md) viewed all 17 current images and checked all eight comparisons, finding no concrete discrepancy in the bounded claims.
|
||
|
||
At **1442 × 932**, the parent opened the exact new candidate working file, selected Saved “Service calls - Details trial”, and opened the first Call through Focus → Details → Properties. Lower Scope and Postcondition remained visible while Apply/Revert stayed above the scroller. The expression changed from quoted `primary` to quoted `secondary`; disk checkpoint 01 remained baseline before Apply. Fixed Apply accepted from that low scroll position, followed by Save, one model Undo/Save and one Redo/Save. Focus was on the Save button for history commands, according to the operator's action record.
|
||
|
||
| Immutable checkpoint | Observed action/state | Independent expected Project |
|
||
| --- | --- | --- |
|
||
| 01 | Draft before Apply; disk still baseline | `baseline` |
|
||
| 02 | Apply from lower form, then Save | `1` |
|
||
| 03 | One model Undo, then Save | `baseline` |
|
||
| 04 | One model Redo, then Save | `1` |
|
||
| 05 | Lower-field discard draft, fixed Revert | `1` |
|
||
| 06 | SetLimit with incompatible retained Scope, fixed Apply rejected | `1` |
|
||
| 07 | Fixed Revert recovers ReadStatus/Scope/secondary | `1` |
|
||
| 08 | Final Save after smaller-window and focus checks | `1` |
|
||
|
||
The rejection diagnostic is the incompatible carried-field error; raw quoted secondary remains recoverable. This does not isolate Reply-only invalidity. Connections shows references without Properties actions; returning to Properties retains the visible lower Scope/Postcondition position. These are observed visual states, not internal offset-bit equality.
|
||
|
||
At **1102 × 732**, the parent reached lower fields with the action row unobscured, entered a new draft and reverted it using the fixed row. No valid Apply transaction was performed at this size. Tab then visibly focused Name and scrolled it into view; a second Tab focused Alias, without entering characters. The short Project form and its action row were fully visible. This tests a long Call form and short Project form, not a relation form or action-button keyboard activation. The size-operation targeting warning and subsequent reobservation remain in the notes; it is not reported as successful input to another window.
|
||
|
||
All eight complete admitted saved-Project comparisons pass, preserving all other records, IDs, names/aliases, operation/reply/control pair, Steps and saved layout. All 80 receipt-listed artifacts and exact canonical actual/expected bytes were independently rechecked during archiving. Final source is **6,134 bytes**, SHA-256 `4cafcf18e45703b03b3c997080a0ed7fbbbee02d386062da3c6c00504e7be75e`; baseline is **6,132 bytes**, SHA-256 `0e4325222a451b9d4e503974ce86bb95a9931edd0d2d65b8cd9db8d0f99d69e5`.
|
||
|
||
The native GUI pin is **14e7**, while the reused saved-Project evaluator pin is **b10**. Core tree, Cargo.lock and manifests are unchanged; only inspector composition differs. The frozen comparator is SHA-256 `996803f938b7503db8508adf9b7fc2dd379852b5b603463edf6987dd1e5270a6`, build receipt `5c700a6b63ce1060c0091d6370d6e07b824fd871adb6bf89fd8c4a155b1c1c18`. Its independent expected catalog predates the native output. This reuse does not imply a candidate-built comparator or rerun of the old GUI. Source comparisons alone do not prove transient draft, focus or history-stack behavior; native observations provide the corresponding interaction evidence.
|
||
|
||
## Process, archive integrity and reproduction
|
||
|
||
Run 1 PID 2632 started at **23:18:16.518500 UTC on 2026-09-22**. The parent's close action records Alt+F4 at **23:41:36.738**; the observer records exit 0 at **23:41:39.183549**, empty stdout/stderr and unchanged immutable inputs. Launch, stage, plan, recipe, package and close hashes agree. Exit records alone do not establish close cause; the parent notes and close-action record supply it. This trial did not perform a fresh reopen.
|
||
|
||
[archive-manifest.json](archive-manifest.json) inventories **863 originals, 8,285,235 bytes**, plus generated archive metadata and the byte-exact independent native review. It includes the current recipes/gates, 651 raw fingerprint snapshots, native plan/baseline, every closed native run file and all comparison outputs. All original source/archive pairs were compared by bytes, length and SHA-256. All 17 JPEGs have distinct hashes matching metadata/signatures; independent review verified their actual dimensions. Original JSON—including 64-bit fingerprints—was copied raw, never rewritten. There are 48 intentional `.log` files requiring forced Git addition. Executables, DLL payloads, profile, mutable working source and duplicated old build archives are excluded.
|
||
|
||
Peers must retrieve the exact candidate source commit and published prerequisite history, then use machine-local paths. The [gate recipe](original/gate-recipe/README.md), [native recipe](original/native-recipe/README.md) and [native plan](original/native-recipe/native-plan.md) describe new output directories, admitted toolchain/runtime, private staging and selected checks. Rebuild from the identified source; verify and record the resulting artifacts rather than assuming another machine's absolute paths or binary hashes. The native source must be saved to immutable checkpoints before running the pinned evaluator. Do not reuse another run's private profile or mutable files as independent reproduction. The candidate source is published at the linked commit. Any distributed runnable package must be published separately; this archive supplies evidence and recipes.
|
||
|
||
Pinned prerequisites:
|
||
|
||
- [Frozen b10 comparator and build/admission evidence](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/src/commit/04129a75f3c27c9488b86b797525c36887293c93/harness/experiments/scenario-comparators-gui-b10b28c-20260913/README.md).
|
||
- [Independent expected Project catalog](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/src/commit/698126e1a0b9ab37cb3cac4339ffcf3a6bf0a340/harness/experiments/scenario-service-details-core-20260913/README.md).
|
||
- [Prior service trial and original inspector friction](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/src/commit/7dbf7ea8ecaa108ca905dfca937b80e53d26541e/harness/experiments/scenario-native-service-b10b28c-20260922/README.md).
|
||
|
||
The archive preparer performed read-only verification and copying; no compiler, comparator, test executable or GUI was rerun during packaging.
|
||
|
||
## Remaining limits
|
||
|
||
The recorded improvement is narrower than full issue or release acceptance. Valid Apply/model Undo/Redo were exercised only at the larger size; Revert at both sizes; rejection and tab return at the larger size. No new relation form, dedicated busy/modal race, keyboard activation of action buttons, broad accessibility, fresh reopen, other platform or broad lifecycle result is claimed. Linux checks are user-paused. Distant footer errors, historical save text and truncated labels remain. This evidence does not complete issue 24 or the product goal.
|