1## ADDED Requirements23### Requirement: PUSH SHALL take precedence over STOP on the same object4When one object carries both STOP and PUSH, the PUSH property SHALL take precedence for movement into that object. The object SHALL be eligible for the push chain, while a distinct STOP object without PUSH SHALL still block movement.56#### Scenario: ROCK IS STOP AND PUSH can be pushed7- **WHEN** a YOU entity moves into a ROCK object governed by `ROCK IS STOP AND PUSH`8- **THEN** the ROCK is pushed by the atomic chain and the move is not rejected by STOP910#### Scenario: A distinct STOP still blocks11- **WHEN** a YOU entity moves into a STOP object that does not carry PUSH12- **THEN** the move is rejected with a STOP block and the destination occupant remains in place1314### Requirement: DEFEAT SHALL resolve before WIN, including singleton contacts15Contact resolution SHALL evaluate DEFEAT before WIN. A surviving YOU entity that shares a cell with DEFEAT SHALL be removed before victory evaluation, and an entity carrying both YOU and DEFEAT SHALL be removed even when it is the only entity in its cell.1617#### Scenario: A singleton YOU and DEFEAT entity loses18- **WHEN** one entity has both YOU and DEFEAT after movement or transformation19- **THEN** the entity is destroyed, the settled state is not won, and the event reports control loss when no YOU remains2021#### Scenario: DEFEAT wins the precedence race22- **WHEN** YOU and WIN overlap an entity carrying DEFEAT in one contact cell23- **THEN** DEFEAT removes the controlled entity before WIN can mark the level won2425### Requirement: Self-transform rules SHALL suppress other transformations26The engine SHALL treat `X IS X` as a no-op for the object's noun while its presence suppresses every other noun transformation for X in the same turn, regardless of parse order.2728#### Scenario: Self-transform is ignored29- **WHEN** the board contains `BABA IS BABA` and no other noun transformation for BABA30- **THEN** BABA objects retain their noun and no transformation event is emitted3132#### Scenario: Self-transform masks another target33- **WHEN** the board contains both `ROCK IS ROCK` and `ROCK IS FLAG`34- **THEN** ROCK objects retain ROCK and do not transform to FLAG regardless of which sentence is parsed first3536### Requirement: Competing noun transformations SHALL use spatial reading order37When a noun has multiple valid noun transformation targets, the engine SHALL choose the first rule by the first word's spatial reading order: first-word row top-to-bottom, then left-to-right, then sentence token order. The selected source rule SHALL remain observable in the settled transformation record.3839#### Scenario: Earlier first word wins40- **WHEN** BABA has valid transformations from two sentence origins and one first word is earlier top-to-bottom, then left-to-right41- **THEN** BABA transforms to the target from the earlier rule regardless of authored object array order4243### Requirement: Noun transformations SHALL apply one link per turn44The engine SHALL apply at most one noun-to-noun transformation link to each object in a turn. A transformed noun SHALL not immediately transform again through a second rule until a later accepted turn.4546#### Scenario: A transformation chain stops after one link47- **WHEN** the board contains `BABA IS ROCK` and `ROCK IS FLAG`48- **THEN** a BABA object becomes ROCK for that turn and does not become FLAG until a later turn that still satisfies the second rule4950#### Scenario: Restoring a settled snapshot is not a turn51- **WHEN** a snapshot contains ROCK after the first link of `BABA IS ROCK`, `ROCK IS FLAG`52- **THEN** restoring that snapshot preserves ROCK and its automaton phase; only a later accepted turn may advance it to FLAG5354### Requirement: Rule reading SHALL select one stacked token per cell/path and enumerate alternatives55For each candidate sentence path, the parser SHALL select one word from each stacked cell, enumerate every valid alternative, and allow a sentence to start at a stacked cell. It SHALL not combine all stacked tokens as one permissive grammar. The resulting semantic rules SHALL remain deterministically ordered and physically sourced.5657#### Scenario: A stacked operator cell yields one valid rule58- **WHEN** the path is `ROCK [AND+IS] FLAG`59- **THEN** the parser includes `ROCK IS FLAG` as a valid alternative6061#### Scenario: A stacked noun before IS yields the valid alternative62- **WHEN** the path is `MIAU [AND+ROCK] IS YOU`63- **THEN** the parser includes `ROCK IS YOU` only and does not treat `MIAU AND ROCK IS YOU` as one malformed subject path6465#### Scenario: A stacked predicate enumerates alternatives66- **WHEN** the path is `ROCK IS [WIN+PUSH]`67- **THEN** the parser includes both `ROCK IS WIN` and `ROCK IS PUSH`6869#### Scenario: A stacked subject enumerates alternatives70- **WHEN** the path is `[ROCK+FLAG] IS WIN`71- **THEN** the parser includes both `ROCK IS WIN` and `FLAG IS WIN`7273#### Scenario: A stacked AND path starts from each valid subject74- **WHEN** the path is `ROCK AND [FLAG+IS] IS WIN`75- **THEN** the parser includes `ROCK IS WIN` and `FLAG IS WIN` from the valid alternatives and excludes malformed combinations7677### Requirement: Stacked rule parsing SHALL have a deterministic complexity limit78The parser SHALL either return every valid rule and physical sentence span or fail with a typed complexity error before exposing partial results. A pack whose initial board exceeds the limit SHALL report an authored-level validation error. If a played turn would exceed the limit, the engine SHALL reject that turn atomically without advancing moves, history, or automata.7980#### Scenario: An authored board exceeds the parser budget81- **WHEN** a dense stack of words generates more sentence paths or spans than the supported budget82- **THEN** parsing fails with a typed rule-complexity error and no partial rule set is returned8384#### Scenario: A push would exceed the parser budget85- **WHEN** an accepted push would create a word arrangement above the supported parsing budget86- **THEN** the turn reports a `rule-complexity` block and restores the exact pre-turn board, move count, undo history, and automata phase