Skip to content

docs: define RTL audit evidence policy - #6046

Merged
nynexman4464 merged 4 commits into
nynexman4464/docs/i18n-contractfrom
nynexman4464/docs/rtl-audit-evidence
Oct 15, 2026
Merged

nynexman4464 merged 4 commits into
nynexman4464/docs/i18n-contractfrom
nynexman4464/docs/rtl-audit-evidence

Conversation

@nynexman4464

@nynexman4464 nynexman4464 commented Sep 4, 2026 •

Copy link
Copy Markdown
Contributor

Stack

  1. docs(core): define the internationalization contract #6048 — internationalization architecture and provider contract
  2. docs: define RTL audit evidence policy #6046 — RTL audit evidence policy
  3. docs: define bidirectionality design intent #6047 — bidirectionality design intent

Intent

Define the evidence boundary between a story-level D1 fixture exclusion and component-wide RTL applicability. This record specifies intended behavior; the fixture metadata implementation is separate in #7489 and is not part of this stack.

Authority

The record is promoted to authority: current with approved_by: nynexman4464 and approved_at: 2026-10-15, on the owner's approval of the reviewed claims. The exact-head /approve-spec command on this pull request records that decision for the final head. Approval does not ship INV12–INV16 enforcement: the record keeps that implementation state explicit, and component-wide verified N/A, historical debt, D7 size enforcement, and required-check rollout remain open decisions.

Existing authority searched

Authority and ownership

Extend architecture:rtl-audit-evidence, not a new parallel policy record. nynexman4464 is listed first, retaining cixzhang and imdreamrunner. Human RTL meaning remains with design:bidirectionality; provider behavior remains with the internationalization record.

Cross-cutting evidence

The global testing route supplies selected RTL evidence and exemption-review claims without importing product intent or workflow topology into every component. design:bidirectionality owns the shared component-facing RTL outcomes; local records own component states and verification. The route does not settle component-wide N/A, debt, or gate rollout.

Policy clarification

  • D1 checks directional controls and cues, not the raw geometry of caller-supplied reference glyphs displayed as data.
  • A reference fixture may declare D1 non-applicable with typed resolved metadata and a nonempty semantic rationale.
  • Missing rendered metadata, malformed declarations, unsupported dimensions, or missing reasons fail closed.
  • D5 and D6 continue scanning every in-scope story. A D1 exclusion neither marks a component measured nor grants component-wide verified N/A.
  • Adding or widening an explicit D1 exemption, or changing an exempt story's semantic role, requires normal human PR review. No special approval is required for automatic no-icon N/A or every unchanged audit run.
  • Every declared exemption in the audited scope must appear in the review-facing summary with component, story, dimension, and rationale, even if D1 selected another story.
  • D1 candidates use source path, source export order, and story id. Planned/completed identities remain stable when an excluded fixture causes another candidate to run.

Component-wide verified-N/A closure, historical coverage-debt admission, required-check rollout, and D7 size enforcement remain separately identified gaps/decisions. This change does not decide them or require them to be settled before claim-scoped review of the fixture policy.

Implementation relationship

The base implementation does not contain the new D1 metadata transport or exclusion tests. The record says so explicitly. #7489 provides candidate implementation evidence: focused tests, reordered-story before/after proof, fail-closed metadata handling, and a registry-only run showing continued D5/D6 coverage. Those results do not independently approve the policy.

The complete exclusion inventory and semantic review requirements in INV16 are intended requirements, not already-implemented summary enforcement. They remain separate follow-up work; successful candidate metadata tests do not ratify an exemption's meaning.

Validation

  • pnpm check:repo, knowledge validation, formatting, and git diff --check pass.
  • Fresh delivery-branch validation passes all 152 selected knowledge/RTL join/completion/scope tests. The owner-validator prerequisite landed in fix(specs): use current repository approver membership #7538; all 121 knowledge tests pass on current main, and the promoted record validates. Earlier combined-stack raw-Intl boundary coverage also remains green.
  • The fixture hardening has a negative null-metadata unit case and browser before/after proof for malformed metadata on a later unselected story. Valid metadata still runs D5 and D6 for both stories.
  • The cross-cutting metadata passes all 100 knowledge-validator tests and focused synthetic route checks, including draft omission and selective claims; no underlying audit implementation or approval state changed.

Writing rubric results

R1 narration: replaced the draft-origin narrative and approval dependency on unrelated open decisions with the claim-scoped evidence boundary. Promotion removed draft-readiness wording rather than narrating the approval.
R2 research: current scores and historical experiments are not normative record content.
R3 evidence: the D7 gap describes the missing size assertion and observable failure, not the old PR that demonstrated it.
R4 rejected alternatives: no rejected-options narrative was added.
R5 change references: removed the superseded debt-baseline PR and historical touch-target PR from the record.
R6 open questions: component-wide N/A, debt, and rollout questions remain open; the fixture-only policy does not answer them.

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

vercel Bot commented Sep 4, 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 15, 2026 6:05pm UTC

Request Review

@github-actions

github-actions Bot commented Sep 4, 2026 •

Copy link
Copy Markdown
Contributor

PR Analysis Report

📚 Storybook Preview

View Storybook for this PR

🧪 Sandbox Preview

View Sandbox for this PR

No new or modified components detected.

Bundle Size Summary

Package Size (ESM) Size (CJS) Gzipped
@astryxdesign/core N/A 4.9KB 1.2KB

Accessibility Audit

Status: No accessibility violations detected.

Visual Regression

38 of 474 shot(s) changed.

A change here is a question, not a failure: check whether the after is the
picture you intended. Record that review on the PR. Baseline maintenance is an
explicit dispatch of CI; this report never rewrites the baseline or adds a release gate.

component story theme mode pixels
Selector Indicator Space Bottom Sheet Narrow End RTL neutral light 754,077
Selector Indicator Space Bottom Sheet Wide Start neutral light 740,188
Chat Full AI Chat probe light 238,087
Chat Full AI Chat probe dark 237,060
Collapsible Dividers probe dark 66,445
Collapsible Dividers probe light 66,445
Chat Default neutral dark 33,205
Chat Default neutral light 32,876
Chat Empty State probe light 23,531
Chat Empty State probe dark 22,622
ChatAutoScroll Scroll Behavior Comparison neutral dark 15,378
ChatAutoScroll Scroll Behavior Comparison neutral light 14,107
Chat With Attachments probe light 13,406
Chat With Attachments probe dark 11,232
ProgressBar With Target Mark probe dark 7,895
ProgressBar With Target Mark probe light 7,895
TableRowExpansion Detail Panel neutral dark 5,150
TableRowExpansion Detail Panel neutral light 4,068
SideNav Resizable in AppShell probe dark 3,846
SideNav Resizable in AppShell probe light 3,846

and 18 more.


Generated by PR Enrichment workflow | Storybook | Sandbox | View full report

@cixzhang

cixzhang commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

/approve-spec a1a63a9

@cixzhang cixzhang 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.

Thanks for separating measured RTL evidence, verified non-applicability, historical coverage debt, and merge-gate policy instead of treating one implementation as already decided. Approved as the canonical RTL audit-evidence record at exact head a1a63a9238fe5d382cb49b3b3c493b6d48e83ed3.

@astracat-bot

astracat-bot Bot commented Sep 9, 2026 •

Copy link
Copy Markdown

AI review status for this pull request.

Review status Updated
🔄 In progress (for maintainers only) Oct 15, 2026, 6:07 PM UTC

@nynexman4464
nynexman4464 force-pushed the nynexman4464/docs/rtl-audit-evidence branch from a1a63a9 to 6b322f5 Compare September 15, 2026 14:23
github-actions Bot added a commit that referenced this pull request Sep 15, 2026
@nynexman4464
nynexman4464 force-pushed the nynexman4464/docs/rtl-audit-evidence branch from 6b322f5 to 7a6f774 Compare September 21, 2026 19:37
@nynexman4464
nynexman4464 changed the base branch from main to nynexman4464/docs/i18n-contract September 21, 2026 19:37
github-actions Bot added a commit that referenced this pull request Sep 21, 2026
@nynexman4464
nynexman4464 force-pushed the nynexman4464/docs/rtl-audit-evidence branch from 7a6f774 to 2351e08 Compare September 29, 2026 20:04
github-actions Bot added a commit that referenced this pull request Sep 29, 2026
@nynexman4464
nynexman4464 force-pushed the nynexman4464/docs/rtl-audit-evidence branch from 2351e08 to 2210a40 Compare September 30, 2026 15:41
@nynexman4464
nynexman4464 force-pushed the nynexman4464/docs/rtl-audit-evidence branch from 0e1beec to 7355ffd Compare October 15, 2026 17:58
@nynexman4464
nynexman4464 marked this pull request as ready for review October 15, 2026 17:58
@nynexman4464

Copy link
Copy Markdown
Contributor Author

/approve-spec 7355ffd

@nynexman4464
nynexman4464 merged commit 4f1b5c9 into main Oct 15, 2026
62 of 92 checks passed
@github-actions
github-actions Bot deleted the nynexman4464/docs/rtl-audit-evidence branch October 16, 2026 06:22

This branch was successfully deployed

1 active deployment
Preview — 7355ffdf Deployed Oct 15, 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants