2.7 KiB
Planning evidence and baseline checks
2026-11-02. Baseline 5cb903b989742b7a96cb22ddf4c0e24993b18980, branch feature/i18n-00-audit. Documentation only. No runtime code, test code, lockfiles or settings changed.
| Check | Result | Scope |
|---|---|---|
git diff ba04d817fed26d659bfa2a56b089d6cac851dc34 HEAD --stat -- JobTrackerApi JobTrackerApi.Tests JobTrackerApi.MariaDb.Tests job-tracker-ui tools/summarizer |
PASSED: empty diff, exit 0 | Source identity only; no fresh runtime assertion |
| English catalogue AST extraction using existing TypeScript | PASSED: 3,119 unique keys | Property assignments required to be string literals; duplicate/unsupported members throw; 134 non-test TS/TSX files scanned |
Static syntactic t call association |
3,164 sites; 188 dynamic/unknown calls; 853 entries without static caller | Partial inventory, not symbol resolution or coverage proof; no dead-code inference |
| Existing Ajv draft-07 validation | PASSED: 60 entries | LOCALE_SCHEMA.json compiled and validated LOCALE_CATALOG.json; no installed dependency changes |
Uniqueness and Intl.getCanonicalLocales parsing |
PASSED: 60 unique parseable tags | Node v24.19.0, ICU 78.3; syntax acceptance is not runtime translation availability |
| Negative publication fixture | PASSED | In-memory copy changed first surfaces.ui from planned to released; validator rejected it |
| Montenegrin identity | OPEN | Intl maps cnr-ME to sr-ME; product semantics require explicit resolution before registry implementation |
| Product/unit/browser/MariaDB/Python suites | NOT RUN | No implementation changes; existing accepted evidence remains historical |
| Native/legal/AT/device/PDF/hosted/production/provider/model qualification | NOT RUN | No authority or claim conferred by planning checks |
The inventory records its baseline, parser version, exact source SHA-256 and source line for each English message. Callers retain expressions and file/line, making manual review possible. Extraction covers the en object in translations.ts, excludes *.test.*, and associates literal first arguments of expressions named t or ending in .t. Dynamic keys, aliases, direct property reads, C#/Python messages and hardcoded JSX are not completely captured. Recompute after source changes; do not extrapolate counts to full application completeness.
Research sources checked on this date: CLDR 49 territory table, EU official-language list, i18next plural documentation, FormatJS ICU syntax, Norwegian Language Act, Swiss federal multilingualism guidance and Serbian government constitution. Specific links and limitations are in the matrix and implementation plan. No production data or private user text was sent to translation services.