@@ -330,6 +330,7 @@ another package defines.
330330| Dashboard action/route references (ADR-0049) | ✓ | ✓ |
331331| Object & action name references (#3583 ) | ✓ | ✓ |
332332| Page-component field bindings (#3583 ) | ✓ | ✓ |
333+ | React page block field bindings — §10 (#4340 ) | ✓ | ✓ |
333334| Chart bindings outside dashboards (#3583 ) | ✓ | ✓ |
334335| Navigation vs. granted access (ADR-0090 D6) | ✓ | ✓ |
335336| Security posture (ADR-0090 — e.g. every custom object declares ` sharingModel ` ) | ✓ | ✓ |
@@ -346,9 +347,20 @@ will not fail `os build` on schema/predicate/binding grounds — a test in the C
346347asserts that every gate ` os build ` runs is also run by ` os validate ` , so the two
347348cannot drift apart again (#3782 ). Both entry points
348349also check SDUI styling (ADR-0065), and ` os validate ` additionally runs a set of
349- view- and page-shape checks — list-view navigation modes (ADR-0053), view
350- container shape, and JSX/React page sources (ADR-0080/0081) — that catch UI
351- metadata which would otherwise be silently dropped.
350+ view- and page-SHAPE checks — list-view navigation modes (ADR-0053), view
351+ container shape, and whether a JSX/React page source parses at all
352+ (ADR-0080/0081) — that catch UI metadata which would otherwise be silently
353+ dropped.
354+
355+ The field bindings INSIDE a react page source are a different matter: they are
356+ reference-integrity, so they run wherever the suite runs. ` os lint ` gets them
357+ too — it shares the same ` REFERENCE_INTEGRITY_RULES ` list, which is why the
358+ table's reference rows are the ones a cheap pre-flight can rely on. That was not
359+ always true: the react-page prop gate was hand-wired into ` os validate ` alone
360+ until #4340 's follow-up, so ` os lint ` and ` os build ` accepted a page whose every
361+ field binding was stale — the same divergence #4394 closed for readonly flow
362+ writes. A CLI test now asserts no command reaches for a suite member directly
363+ (#4384 ).
352364
353365A clean run walks each gate and reports timing:
354366
@@ -367,7 +379,6 @@ A clean run walks each gate and reports timing:
367379 → Checking SDUI styling (ADR-0065)...
368380 → Checking JSX-source pages (ADR-0080)...
369381 → Checking React-source pages (ADR-0081)...
370- → Checking React-source page props (ADR-0081)...
371382 → Checking source-page styling (ADR-0065)...
372383 → Checking capability references (ADR-0066)...
373384 → Checking flow trigger wiring...
0 commit comments