# Operator Invariants Completion Working plan for Gitea [`#33`](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/issues/33). ## Status Implementation complete. Source and headless gates pass on the publication branch; the final exact commit is recorded in the issue closure comment. Packaged-runtime testing remains deferred by the project owner. ## Scope 1. Make registered commands distinguish immediate completion from modal Preview ownership. 2. Require stable operator IDs and terminal phases for commit, cancel, block, failure, no-op, and automatic interruption paths. 3. Make Group Selection and lighting changes atomic history transactions with repeatable undo/redo. 4. Exercise production dispatch/finalizers for assets, material drops, brushes, terrain, physics placement, and transform gizmos through reusable semantic projections. 5. Publish the invariant contract, acceptance evidence, and production-gate status without claiming release-candidate acceptance. ## Verification - `cargo test -p editor --lib --no-fail-fast` - `cargo clippy -p editor --lib --tests -- -D warnings` - `cargo fmt --all -- --check` - `cargo test --workspace --all-targets --no-fail-fast` - `cargo clippy --workspace --all-targets -- -D warnings` - `cargo validate-levels --project .` Live editor checks cover command-palette modal ownership and the grouped selection/lighting history surface. Packaged tests are deliberately excluded until re-enabled by the project owner.