MODIFIED Requirements
Requirement: Active rules SHALL identify their source words
Each active semantic rule SHALL expose the word entity IDs that formed it in reading order and whether the sentence runs horizontally or vertically. Duplicate semantic rules at different physical locations SHALL remain deduplicated in the active rule table while retaining deterministic source information. The settled state SHALL additionally expose sentences, an ordered list of every physical maximal sentence span as { ids, axis }. A span that is a strict subset of a longer span on the same axis SHALL be omitted; exact duplicate sentences at different locations SHALL both remain.
Scenario: A horizontal sentence reports its source
- WHEN adjacent word entities form
MIAU IS YOUfrom left to right - THEN the resulting semantic rule identifies those word IDs in order, reports horizontal axis, and
state.sentencescontains the physical span with those ids and axish
Scenario: A vertical sentence reports its source
- WHEN adjacent word entities form
ROCK IS PUSHfrom top to bottom - THEN the resulting semantic rule identifies those word IDs in order, reports vertical axis, and
state.sentencescontains the physical span with those ids and axisv
Scenario: Exact duplicate sentences remain physical spans
- WHEN two separate word runs form the same semantic sentence
- THEN the active rule table contains one semantic rule while
state.sentencescontains both physical spans
Scenario: Strict subsets are removed
- WHEN a candidate span is a strict subset of a longer valid span on the same axis
- THEN
state.sentencescontains only the longer maximal span
Scenario: Stacked words create separate spans
- WHEN two noun words share a cell and each forms a valid sentence with the same following words
- THEN
state.sentencescontains one span for each physical noun path