tests/scripts/form_buttons.test.mjs enforces that every button inside a form says what kind it is. That assertion is intact.
Around it sits a meta-guard: a component on the allow-list has to actually contain a <Button>, so the list cannot silently drift into naming components that no longer hold one. To survive the ingest-screen split, that guard was widened - a listed component may now earn its non-vacuity by rendering another listed name rather than by holding a <Button> itself.
Nothing escaped being scanned, and the allow-list grew rather than shrank. But the widened guard re-opens the shape of bug it was added for: a chain of listed components can now satisfy each other without any of them holding the thing the gate is about.
Two smaller notes on the same file: the inline comment describes "one hop" while insideSomeForm recurses transitively through seen; and the relaxation was taken to let a change pass, which is the case the repository's own rule asks to restructure instead.
Raised as part of #847 rather than left in that pull request's description alone.
tests/scripts/form_buttons.test.mjsenforces that every button inside a form says what kind it is. That assertion is intact.Around it sits a meta-guard: a component on the allow-list has to actually contain a
<Button>, so the list cannot silently drift into naming components that no longer hold one. To survive the ingest-screen split, that guard was widened - a listed component may now earn its non-vacuity by rendering another listed name rather than by holding a<Button>itself.Nothing escaped being scanned, and the allow-list grew rather than shrank. But the widened guard re-opens the shape of bug it was added for: a chain of listed components can now satisfy each other without any of them holding the thing the gate is about.
Two smaller notes on the same file: the inline comment describes "one hop" while
insideSomeFormrecurses transitively throughseen; and the relaxation was taken to let a change pass, which is the case the repository's own rule asks to restructure instead.Raised as part of #847 rather than left in that pull request's description alone.