clone

a browser grid puzzle game where you push words around to rewrite the rules of each level

main
miau-is-true / openspec / changes / fix-rule-precedence-and-reading / proposal.md
proposal.md 1.5K source

Why

The W6 audit found several Baba-compatible edge cases where collision and rule-reading order can change the result: STOP/PUSH overlap, singleton YOU+DEFEAT, self-transform rules, competing transformations, one-link chains, and stacked-cell alternatives. These cases need one deterministic contract before Crossword and other worlds are reworked.

What Changes

  • Define PUSH precedence over STOP when the same object carries both properties.
  • Resolve singleton YOU+DEFEAT and DEFEAT-before-WIN contacts deterministically.
  • Suppress X IS X as a no-op that masks other transformations for X.
  • Resolve competing noun transformations by spatial rule-reading order and apply only one link per turn.
  • Preserve deterministic one-link transformation chains.
  • Select one word per stacked cell/path while enumerating every valid grammar alternative, including sentences that start at a stacked cell.

Capabilities

New Capabilities

  • rule-precedence-and-reading: deterministic collision, contact, transformation, and rule-reading semantics for Baba-compatible levels.

Modified Capabilities

None. This change is intentionally isolated until the worlds team confirms the stacked-cell grammar choice.

Impact

  • Affected engine contact resolution, transformation selection, and rule parser ordering.
  • Requires focused engine fixtures for the audited cases and follow-up world solver checks.
  • Crossword shove-the-danger and carry-the-pair content remains deferred until the grammar question is answered.