Skip to content

The form_buttons non-vacuity guard accepts an indirect hop #854

Description

@JArmandoAnaya

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ciCI, tooling, repo automationfrontendannotator / ui-core / app packagestoolingDeveloper tooling: scripts, checks, local workflow

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions