refactor: strip WP-/RB- ticket refs from apps and libs (RD-18)

204 WP-NN/RB-NN comments named a closed ticket instead of the code they
sit next to. git blame already records history and stays correct when
code moves; the comment does not. This sweep removes the reference and
keeps the sentence, across 95 files in apps/ and libs/ plus the
behaviour-spec generator's header text.

Eleven references stay: five story files justify an a11y disable per
the README's rule, and one line in a11y.mdx documents that convention.
Two sentences needed a rewrite, not a deletion, so the reference's
meaning survives its removal. behaviour-spec.mdx is regenerated, not
hand-edited.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
eho
2026-09-04 21:23:07 +02:00
co-authored by Claude Sonnet 5
parent 3895588b9a
commit dd11eafe50
102 changed files with 361 additions and 197 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ const meta: Meta<AlertComponent> = {
export default meta;
type Story = StoryObj<AlertComponent>;
// role assertions guard the polite/assertive split (WP-16): errors interrupt, others don't.
// role assertions guard the polite/assertive split: errors interrupt, others don't.
export const Info: Story = {
args: { type: 'info' },
play: async ({ canvasElement }) => {
@@ -6,7 +6,7 @@ import { HeadingComponent } from '@shared/ui/heading/heading.component';
`.block-wrapper` panel with a `<dl>` of projected `<app-data-row>`s. Use `stacked`
(`.data-block--stacked`) when labels/values are long and should stack. This is the
single data surface (a generic white `app-card` used to exist but was unused and
removed — see WP-12); the datablock carries its own surface, so it is not nested in
removed); the datablock carries its own surface, so it is not nested in
another one. When there is no visible `heading`, pass an `ariaLabel` so the definition
list is announced. */
@Component({
@@ -24,8 +24,8 @@ type Story = StoryObj<FormFieldComponent>;
export const Default: Story = {
args: { label: 'BSN', fieldId: 'bsn', description: '9 cijfers', required: true },
// Composition contract: fieldId must equal the input's id — enforced here, not by DI
// (see WP-16). Catches drift in the description→aria-describedby wiring.
// Composition contract: fieldId must equal the input's id — enforced here, not by DI.
// Catches drift in the description→aria-describedby wiring.
play: async ({ canvasElement }) => {
const canvas = within(canvasElement);
const input = canvas.getByRole('textbox');
@@ -3,7 +3,7 @@ import { ButtonComponent } from '@shared/ui/button/button.component';
/**
* Atom: a possibly-masked sensitive value (BSN, BIG-nummer, …) with an optional, audited
* reveal affordance (WP-40). The value arrives masked from the server (data-minimisation)
* reveal affordance. The value arrives masked from the server (data-minimisation)
* and is swapped for the full value on reveal; the reveal button shows only when the value
* is still masked AND the caller says the principal may reveal it. Centralises the
* masked-detection that consumers used to sniff inline. The atom only emits `reveal`; the
@@ -16,7 +16,7 @@ export interface PlaceholderOption {
// CIBG-GAP EXTENSION: Tekstgebied — CIBG has no rich-text/WYSIWYG pattern (a
// contenteditable editor with formatting + placeholder chips); hand-rolled
// surface (toolbar + chip styling), see cibg-gaps.mdx. Buttons still use the
// vendored .btn-ghost class (WP-10).
// vendored .btn-ghost class.
/**
* Molecule: a minimal no-dependency WYSIWYG editor over a `RichTextBlock`.
*