Files
ARCADIA-Studio/harness/scenario-group-planner-20260924.md
T

7.0 KiB

Scenario sibling-block planner: Windows foundation verification

This is the post-prerelease foundation for issue 29, owned by Codex-9e8r6t /root on codex/scenario-multiselect-9e8r6t-20260924. It is excluded from the current issue 37 prerelease. No Scenario group canvas/App adapter or aggregate removal is delivered by this milestone.

Source and behavior

Tested source 7d3d7b23e7 adds the planner on integrated base 8ddfadf440. The original local port d79a5ed37b2b64ac81d90137275fad8a97067418 used base 897d9f04; its first compilation failed on the already identified upstream missing text_editor test import. Rebasing the unpublished contribution onto the owner's corrected base brought in that import. The failed run remains preserved and establishes no executed-test result.

behavior/scenario/group_reorder.rs admits the entire exact typed set under one actual immediate Scenario or Branch parent, validates complete edited-list integrity and structural reachability, then freezes a validated complete Project. It preserves semantic list order within the selected block, regardless of selection order. A selected destination anchor or identical result is a no-op only after admission. Other proposals are fully validated before returning one SetSteps command. Unsupported mixtures, different parents and invalid temporal/lifecycle outcomes refuse without pruning or dependency expansion. Advisory authoring warnings remain allowed.

The existing singleton scenario::reorder uses the same planner while retaining its Command-returning interface. The UI's existing singleton feedback is not claimed to distinguish a no-op; the future group adapter must do so. Saved presentation records, all other sequences, references and metadata remain untouched by the semantic operation. Policy and adapter decision boundary define the exact scope.

Executed Windows checks

Environment: Rust/Cargo 1.98.1, stable-x86_64-pc-windows-gnullvm, LLVM-MinGW 20260826; one build job and incremental compilation disabled. Commands run from the named worktree with the configured toolchain environment. No Linux/WSL build or check was run.

Command Outcome
cargo test -p oa-desktop --bin arcadia-studio --message-format=json group_reorder -- --test-threads=1 20 passed, 0 failed: all 12 new Scenario cases and eight existing Process cases.
cargo test -p oa-desktop --bin arcadia-studio --message-format=json scenario -- --test-threads=1 250 passed, 0 failed, 1 existing ignored diagnostic timing test.
cargo fmt --all -- --check Exit 0.
cargo clippy -p oa-desktop --all-targets --message-format=json -- -D warnings Exit 0; warnings denied.

These filters overlap; their counts are not additive. The ignored case is behavior::scenario::spacing::controller::timing_tests::saved_spacing_capture_prepare_20_lanes_1000_messages_3_views, explicitly an opt-in diagnostic without a latency acceptance threshold.

The 12 new evaluators cover OA and SA root/operand stable-block order; exact selected-anchor and unchanged no-ops with redo; actual singleton Document no-op; malformed complete lists, wrong target types and omitted Branch reachability; unlisted warning children; explicit call/reply pairs; nested Fragment reply and lifetime failures; opaque local ScenarioUse bindings; conditional Delete; ALT exclusivity versus invalid PAR baseline; repeated-reply warnings; and two nonempty affected saved layouts plus an unrelated saved view. Literal whole-Project expectations are independent of planner output. Successful cases check full execution, Document state, source format/parse, saved bundle reopen and one exact Undo/Redo.

Evidence and review

Closed raw runs, hashes, commands, captured source inputs, original helper bytes and exact Git-blob comparison receipts are packaged in the evidence directory. Each run captures 804 relevant tracked/visible inputs, including the 71 patched vendor files and explicit compile-time fixtures; successful final runs retain the same exact input map. The gate checks before/after equality, and separate source proofs compare the map with the named commit. This is identified local build evidence, not a claim of a hermetic or independently reproduced compiler environment.

The archive is 6,416,449 bytes, SHA-256 211530e47aec6254ee1476081352139497091aae6fef249274c20aa1808b741f. Its manifest preserves five closed runs (one failed, four successful), five source proofs, 43 logical files and 37 stored members across two distinct source capsules. Offline readback passes. The retained preparation selfcheck transcript confirms exact original raw/helper/proof bytes, existing-output refusal and 11 corruption-rejection checks. checks/selfcheck.py is the preparation utility; it requires the original raw-run directory and is separate from the pinned offline package inventory.

The independent planner source review found no material defect and requested discriminating fixtures and a singleton no-op check. Its follow-up inspected the expanded 12 cases; the parent then executed the checks above. That review retains its original inspected-base and line-reference boundaries.

The final independent delivery review found no material discrepancy in the closed results, executed names, claims or assembled evidence. Its offline verification passed, and all 40 archived raw/proof records matched the original captures exactly. This review does not independently rerun the compiler or accept remote publication. Original review bytes are retained through scoped Git attributes; the parent's final staging check compares every delivery file with its exact Git index bytes.

The adapter mapping and fresh design critique are proposals/review, not implemented behavior. Parent synthesis accepts full Scenario event envelopes with representation-specific selection scopes. The saved-view gesture remains unresolved: exact authored Y coordinates can leave arrows in their prior positions after semantic reorder. Compare a group handle and an explicit operation-local order preview before accepting the proposed arm. Gesture retirement, selection ABA, saved spacing precedence, actual visibility, raw legacy controls and observable semantic success need adapter verification.

There is no full-workspace, native group-gesture, packaged application or release acceptance for this contribution. Existing prerelease source remains frozen independently. Live integration and subsequent work stay in issue 29, while issue 37 owns the current Windows package and separate-machine QA.