Skip to content

spec(AST-009): real-AT evidence never gates merge or release - #7915

Merged
cixzhang merged 2 commits into
mainfrom
spec/ast009-producible-evidence
Oct 22, 2026
Merged

cixzhang merged 2 commits into
mainfrom
spec/ast009-producible-evidence

Conversation

@cixzhang

@cixzhang cixzhang commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Exact decision needed

Whether merge or stable release may wait on real assistive-technology (NVDA, VoiceOver) evidence that contributors cannot produce.

Existing authority searched

Decision

  • No requirement gates merge or release on evidence that cannot be produced (Intent, FR17, DEC-4).
  • Merge and stable release need only the unit, DOM, accessibility-tree, axe, and real-browser evidence the owning records require (FR17).
  • Announcements are proved by their routing: which element or channel carries them, their text, urgency, and update count per occasion (FR4, FR19).
  • Real-AT observation is recommended follow-up when an outcome depends on AT behavior, may be tracked in a public issue, and holds no pull request or release (FR1–FR6, FR18).
  • A change with an AT-dependent claim says so and names its lower-layer evidence; no matrix, scenario, or release record is needed to merge (FR8).
  • Evidence-layer boundaries, the representative matrix, failure handling, and durable receipts stay, scoped to when a real-AT check runs.
  • The exception process (old FR23–FR26) is removed because nothing remains to except.

Rejected alternatives

  • Holding stable releases until named real-AT receipts pass: fixes for known accessibility defects stall when no contributor can run the required pairings.

Claim scope and non-goals

Only the evidence bar for merge and release, and the status of real-AT observation. Component accessibility requirements, evidence-layer boundaries, and focus/announcement behavior stay with their owners.

Evidence and implementation relationship

Status-announcement conformance PRs (#7869, #7870, #7871, #7892, #7900, #7910) stall on the old real-AT release-block requirement because nobody in the review loop can run NVDA or VoiceOver. No implementation is included.

Writing rubric results

  • R1 narration: none; present-tense rules throughout. The two earlier holds are described as current follow-ups.
  • R2 research in the record: none.
  • R3 evidence naming a change: none; the earlier hold sections that named pull requests are replaced by the facts (story names and claims).
  • R4 rejected alternatives over one line or outside a decision: one per decision, one line each.
  • R5 pull request or issue references remaining: none in AST-009 or the edited lines.
  • R6 ruled open questions still listing options: none.

Scope

  • This PR contains specification records only.
  • It records observable behavior and preserves equivalent internal implementations.
  • Any named internal mechanism is intentionally public, names its dependent caller/system, and explains why an equivalent implementation would not satisfy the contract.
  • Verification states the evidence layer and failure signal without prescribing CI job/workflow topology.
  • It records one intentional durable decision, not a rescue for a separable tagalong.
  • The canonical knowledge owner, affected current claims, and overlapping open work are named; any ownership collision is resolved or called out for human decision.
  • Adjacent API, visual, accessibility, composition, and implementation facts remain outside scope unless this exact decision depends on them.
  • Public text and artifacts contain no internal Meta context.

Validation

  • pnpm check:knowledge
  • Prettier
  • git diff --check

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Meta Open Source bot. label Oct 22, 2026
@vercel

vercel Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
astryx Ready Ready Preview Oct 22, 2026 1:44pm UTC

Request Review

@astracat-bot

astracat-bot Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

AI review status for this pull request.

Review status Updated
🟢 Reviewed (for maintainers only) Oct 22, 2026, 2:08 PM UTC

@cixzhang

Copy link
Copy Markdown
Contributor Author

/approve-spec 6b9105f

@github-actions github-actions Bot added the spec-auto-merge Auto-merge was enabled by the spec owner gate label Oct 22, 2026
@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

PR Analysis Report

View Storybook for this PR · View Sandbox for this PR

Current run: The current change has no visual or preview-producing scope. Visual checks are not applicable; preview links are not shown.


Generated by PR Enrichment workflow | View current CI run

@astracat-bot astracat-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes requested: the AST-009 rewrite is owner-approved, but three current records outside this pull request still require screen-reader verification, which the new FR17 says no record may make a gate. Please reword them the way component:FieldStatus AR5 now reads (recommended real-AT follow-up, not a merge or release requirement) and list them in AST-009's Current-state impact:

  • docs/specs/AST-001/spec.md: the browser-evidence line (lines 76–78) and the FR7 verification row (line 110).
  • packages/core/src/Table/plugins/rowStatus/useTableRowStatus.spec.md: AR6 (lines 217–218) and its AR1–AR6 verification row (line 262).
  • packages/core/src/Table/plugins/columnResize/useTableColumnResize.spec.md: the FR8, AR1–AR3, AR6 verification row (line 237).

[Automated review]

Comment thread docs/specs/AST-009/spec.md Outdated
Comment on lines +172 to +173
- `spec:AST-056`, `spec:AST-021`, `spec:AST-086`, and `component:FieldStatus`
stop describing real-AT receipts as a release boundary or a pending gate.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This list leaves out three current records that still require screen-reader verification, which FR17 now says no record may make a gate: docs/specs/AST-001/spec.md lines 76–78 and its FR7 verification row (line 110); useTableRowStatus.spec.md AR6 (lines 217–218) and its AR1–AR6 row (line 262); useTableColumnResize.spec.md line 237. Rewording them the way FieldStatus AR5 now reads, and naming them here, keeps the current records from contradicting each other.

@cixzhang

Copy link
Copy Markdown
Contributor Author

/approve-spec bdd248c

@astracat-bot astracat-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks ready to approve: the AST-009 rewrite is owner-approved for this head, and the three records that still required screen-reader verification (AST-001, Table row status and Table column resize) now describe it as recommended follow-up, so no current record contradicts the new FR17. One follow-up sits outside this spec-only change: internal/a11y-spec/src/patterns/status-message.ts still says AST-009 requires a named real-AT matrix and durable receipts, and should be reworded once this lands.

[Automated review]

@cixzhang
cixzhang merged commit 7370328 into main Oct 22, 2026
51 checks passed
@github-actions
github-actions Bot deleted the spec/ast009-producible-evidence branch October 23, 2026 06:23

This branch was successfully deployed

1 active deployment
Preview — bdd248cd Deployed Oct 22, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot. spec-auto-merge Auto-merge was enabled by the spec owner gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant