Repository navigation
spec(AST-086): FR13 announces content revealed outside React on the owner's next render - #8325
Conversation
…wner's next render, with nothing watching while hidden
|
/approve-spec 745abfe |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
AI review status for this pull request.
|
PR Analysis Report
|
There was a problem hiding this comment.
Requesting changes: the new FR13 sentence is owner-approved, but FR12 now contradicts it. FR12 still says own content "announces once per later appearance", while FR13 now announces content revealed without an owner re-render only on that owner's next render and lets nothing watch for it while hidden, so a reveal the owner never re-renders (for example an empty state inside an uncontrolled Collapsible that is opened later) can never get the announcement FR12 promises. Please name that exception in FR12, or have FR13 say that FR12's announcement for such a reveal waits for the owner's next render, then re-approve the new head with /approve-spec <full head SHA>.
[Automated review]
| starts, keep their own owner. Content revealed without a re-render of its | ||
| owner, such as when an ancestor's `hidden` attribute is removed outside | ||
| React, is announced on the owner's next render, and nothing watches for the | ||
| reveal while the content is hidden (`architecture:react-component-runtime` |
There was a problem hiding this comment.
This sentence makes FR12's "announces once per later appearance" (line 124) impossible for a reveal its owner never re-renders, such as an empty state inside an uncontrolled Collapsible that is opened later, because nothing may watch while the content is hidden. Consider naming the exception in FR12, for example "(for content revealed without a re-render of its owner, on the owner's next render, as FR13 provides)", or saying here that FR12's announcement for such a reveal is made then.
|
/approve-spec 62d1154 |
There was a problem hiding this comment.
Recommending approval: FR12 now gives an appearance its owner does not re-render for the same next-render moment that the new FR13 sentence sets, which resolves the conflict raised on the previous head. Both sentences carry exact-head owner approval, and the record passes knowledge validation. Nothing else is required; if you edit the description again, its "Claim scope" line still reads "FR13 only" although FR12 changes too.
[Automated review]
Exact decision needed
How
spec:AST-086FR13 treats own content that becomes visible without its owner re-rendering, such as an ancestor'shiddenattribute removed outside React.Existing authority searched
spec:AST-086FR13 (current): own-content announcements happen once per occasion, do no work while hidden, and leave nothing behind;architecture:react-component-runtimeINV10 owns where the work lives.architecture:react-component-runtimeINV5 (resource ownership) and INV10 (one well-behaved module, no per-adopter Effects or observers).Decision
FR13 gains one sentence: content revealed without a re-render of its owner is announced on the owner's next render, and nothing watches for the reveal while the content is hidden (
architecture:react-component-runtimeINV5, INV10). The FR13 verification row gains that state and its failure signals. This is a direct consequence of the existing FR13 decision (one contained, well-behaved module with no new Effects).Rejected alternatives
Claim scope and non-goals
FR13 only. Action announcements, FR14 modal delivery, and the module's internals are unchanged.
Evidence and implementation relationship
Implementation follows in the adopting component work. No implementation is included.
Writing rubric results
Scope
Validation
pnpm check:knowledge(CI lint)git diff --check