From the actualbudget/actual migration (field learnings round 2, P2): assertions like "the cell in column X of the row containing Y is empty" need row/column coordinates, not flat text anchors.
One coherent piece across three layers (see the "Design notes" section in docs/design.md):
- scene(): expose table structure — column headers and row anchor text — so authoring can ground cell references.
- Grammar: a locator suffix like
in the "<column>" column of the "<row>" row on the existing field/target forms.
- Selector ladder: a structural tier that records header text + row anchor (not indices), so replays survive column reordering.
Workaround today: nth ordinals address row-anchored text for stable layouts.
🤖 Generated with Claude Code
https://claude.ai/code/session_01QCp4epPiULuqwoeSuZK7bj
From the actualbudget/actual migration (field learnings round 2, P2): assertions like "the cell in column X of the row containing Y is empty" need row/column coordinates, not flat text anchors.
One coherent piece across three layers (see the "Design notes" section in
docs/design.md):in the "<column>" column of the "<row>" rowon the existing field/target forms.Workaround today:
nthordinals address row-anchored text for stable layouts.🤖 Generated with Claude Code
https://claude.ai/code/session_01QCp4epPiULuqwoeSuZK7bj