@@ -286,6 +286,20 @@ user primitive can reach the state.
286286 per-worker server, ` withClipboardLock ` , ` clickCanvasNode ` ,
287287 ` atlasCards ` /` atlasPage ` , ` waitForViewportStable ` + percentage-position
288288 clicks.
289+ - ** Seeded-content rules on the landing board (goal 0223's nine
290+ findings)** : "Board gallery" is the PERMANENT single home for every
291+ seeded example board object — future seeds land as its children,
292+ never as new root cards (a second root card kills ADR-0038's
293+ exact-one-root auto-entry; a new root-level footprint re-fits the
294+ viewport and breaks placement-sensitive specs wholesale). Specs
295+ scope board-object locators via ` nonSeededBoardObjectWrapper `
296+ (fixtures/atlasBoard.ts) — NEVER pass a needle carrying its own
297+ ` .react-flow__node:not(...) ` ancestor clause into ` filter({has}) ` :
298+ Playwright re-queries the needle inside each candidate, demanding a
299+ nested wrapper that never exists, and the failure is a silent
300+ zero-match. No new fixed-pixel placements — derive from
301+ ` findEmptyBoardRect ` /` zoomAllTheWayOut ` , and leave margin for the
302+ test's own drags (edge placement triggers React Flow auto-pan).
289303- ** Assertion style** : web-first ` expect(...) ` retrying assertions over
290304 one-shot ` boundingBox() ` sampling after anything animated — poll
291305 geometry (` expect.poll ` ) or wait for transform stability first. New
0 commit comments