41 lines
1.4 KiB
Markdown
41 lines
1.4 KiB
Markdown
# locale-data-spec-conformance
|
|
|
|
- **Change ID**: locale-data-spec-conformance
|
|
- **Package**: `@suaveplan/locale-data`
|
|
- **Status**: PROPOSED
|
|
- **Type**: spec-conformance
|
|
- **Date**: 2026-04-26
|
|
|
|
## Why
|
|
|
|
The folded `openspec/specs/locale-data/spec.md` documented the public surface
|
|
under prose section headings (`### Countries`, `### Languages`, `### Errors`,
|
|
`### Types / Schemas`) with bullet lists of function signatures. The
|
|
conformance parser only sees `### Requirement: <name>` or `### CAP-NN —`
|
|
headings, so the audit reported "0 requirements parsed". This is a parsing
|
|
gap — the implementation already satisfies every clause.
|
|
|
|
## What changes
|
|
|
|
- Rewrite `openspec/specs/locale-data/spec.md` from prose-section headings
|
|
to four `### Requirement: <name>` blocks (country lookup, bulk country
|
|
accessors, language lookup, RTL detection) with `**Verified by:**` lines.
|
|
- No source changes; no public-surface changes; no new tests required —
|
|
every scenario is already pinned by `src/countries/countries.test.ts`
|
|
and `src/languages/languages.test.ts`.
|
|
|
|
## Out of scope
|
|
|
|
- New behaviour. Heading rewrite + verification annotation only.
|
|
- Source mapping table — `@suaveplan/locale-data` is genesis-original.
|
|
|
|
## Verification approach
|
|
|
|
Every requirement is pinned to existing `it(...)` titles in
|
|
`src/countries/countries.test.ts` (15 cases) and
|
|
`src/languages/languages.test.ts` (20 cases).
|
|
|
|
## Migration impact
|
|
|
|
None — additive metadata only. Public surface unchanged.
|