Repository navigation
docs(spec): ChatTokenizedText records its shipped contract as current - #9326
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
AI review status for this pull request.
|
There was a problem hiding this comment.
Approval is on hold for an engineering owner's decision: promoting ChatTokenizedText to current makes the new FR1 overlap rule a requirement, including today's prefix shadowing (with tokens @u1 then @u12, the text @u12 renders the @u1 chip followed by a stray 2). An engineering owner records that decision by commenting /approve-spec <full head SHA> on this pull request, and the author may do so as an engineering owner. Two verification-map lines also need fixing, and because editing the record resets approval, fixing them first saves a second approval:
- Credit
ChatTokenizedText.a11y.chromium.spec.tsin the map for the FR4 target, since that spec already fails when the target is missing, and drop the target from the "Read from source" list. - Add ORD2 (values containing RegExp metacharacters matching literally) to the "Read from source" list, since the
/searchspecial-character test still passes with escaping removed.
[Automated review]
| | Docs / surface | docs, declarations, exports, `check:knowledge`, docs typecheck | public props, Chat subpath, target, draft record | Missing or stale docs, export, target map, or knowledge shape fails validation or review. | `audit:ChatTokenizedText/docs` | | ||
| | Contract | Verification | Representative states | Mutation or failure expectation | Audit section | | ||
| | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | ---------------------------------------------------------------- | ------------------------------------ | | ||
| | FR1–FR3, PR1 | `ChatTokenizedText.test.tsx` plain, single, multiple, repeated, special-character, surrounding-text, empty-value, and custom-match tests | plain, structured, custom, repeated, empty | Lost text, zero-width nontermination, or the wrong branch fails. | `audit:ChatTokenizedText/behavior` | |
There was a problem hiding this comment.
ORD2's literal matching has no test that fails without escaping: the special-character test uses /search, which holds no RegExp metacharacter, so it still passes with escapeRegExp returning its input. Until a metacharacter case exists, ORD2 belongs on the read-from-source list below.
| - FR1: the first-listed token winning an overlap, and the later definition | ||
| rendering for a shared value. | ||
| - FR3: `variant` and `icon` reaching the Badge. | ||
| - FR4: `className`, `style`, and `xstyle` composition, and the target. |
There was a problem hiding this comment.
The target already has browser evidence: ChatTokenizedText.a11y.chromium.spec.ts (still in verified_by) waits for .astryx-chat-tokenized-text and fails when it is missing or not unique. A map row crediting that spec for FR4's target, and the rendered FR1-FR3 states it counts, keeps it traceable; className, style and xstyle composition can stay on this list.
…rrects its evidence
There was a problem hiding this comment.
Approval is on hold for one owner decision: promoting ChatTokenizedText to current makes FR1-FR5 its contract, with overlapping and duplicate token values left open as OQ1. An engineering owner records that decision by commenting /approve-spec <full head SHA> on this pull request, and the author may do so as an engineering owner. The two verification-map fixes from the previous review are in, and the record matches the shipped source and tests.
[Automated review]
|
/approve-spec 62cc631 |
Exact decision needed
Promote
component:ChatTokenizedTextfrom draft to current. No behavior, prop, default, target, or export changes.Existing authority searched
packages/core/src/Chat/ChatTokenizedText.spec.mdand the component's source, tests, and consumer docs on main.spec:AST-029owns the audit evidence inventory the verification map follows; the record's other cited owners are unchanged.Decision
component:ChatTokenizedText,authority: current, approved by cixzhang. Draft and audit wording is removed, basis cells read from current source and tests, and the verification map credits tests for what they catch, with a "Read from source, with no focused test yet" list for the rest. No implementation gap. How overlapping or duplicate token values resolve is left to the owner as OQ1, with today's prefix splitting recorded under Current-state impact.Rejected alternatives
None.
Claim scope and non-goals
Claims are scoped to what main's source and tests show.
Evidence and implementation relationship
The component's colocated tests, as listed in the verification map.
Writing rubric results
Scope
Validation
pnpm check:knowledge: alignedgit diff --check: clean