docs(i18n): verify CV board export and confidence label domains

This commit is contained in:
cesnimda
2026-11-02 22:52:30 +01:00
parent 168ccf0b1f
commit fae2f760cd
2 changed files with 114 additions and 4 deletions
+13
View File
@@ -0,0 +1,13 @@
# CV, board and field-review translation domains
2 November 2026. Eight more historical sites resolved by source/control-flow review; no implementation change or repeated PDF qualification.
- KanbanBoard.tsx:194/446 iterate the three literal PIPELINE_GROUPS labels. Custom statuses use their separately handled Other column; they do not create group translation keys. The pipeline owner dependency is hash-bound in the register.
- CvBuilderEditor.tsx:669 iterates the literal indices 1/0/2/3/4 over five literal studio-tab keys. This lookup is independent of arbitrary tab state.
- CvBuilderEditor.tsx:1490 maps four historical sources with an existing Object.hasOwn guard and returns unknown source text as data.
- CvBuilderEditor.tsx:486 uses getCvExportFailureKey, which returns only cvEmptyContent/cvPdfBusy/cvPdfTimedOut/undefined after explicit status/code checks. Unrecognised errors use existing error handling. CvBuilderPage.tsx:178 has only four literal action-error constructors plus that same export helper. cvBuilder.ts is recorded as an owner dependency. No server/PDF renderer contract was changed.
- CareerProfileSections.tsx:45/46 uses confidenceTone, whose four branches return fixed confidence labels. Confidence is interpolated as data; no confidence value becomes a key. Missing metadata is not presented as an accepted profile fact.
All components obtain t from useI18n. Assertion verified all 23 distinct keys in both catalogues. This is finite key/control-flow coverage, not native terminology, all placeholders/plurals, semantic CV quality or complete accessibility. Canonical profile ownership, revision-safe document history, source provenance and PDF metric/visual acceptance remain untouched.
Register reconciliation: 108 original + 56 supplemental sites = 164 resolved / 24 pending of 188. Existing earlier tests are historical evidence for unchanged implementations, not fresh executions by this review.
+101 -4
View File
@@ -3,9 +3,9 @@
"inventorySha256": "79928688a7b1a4961286aaaf48c028eb13ae8286d72d132561d6b5fdd192e323",
"historicalCalls": 188,
"previouslyResolved": 108,
"additionalResolved": 48,
"resolved": 156,
"pending": 32,
"additionalResolved": 56,
"resolved": 164,
"pending": 24,
"evidence": [
"CHECKLIST_DYNAMIC_REVIEW.md",
"FINITE_OWNER_MAP_REVIEW.md",
@@ -14,7 +14,8 @@
"PROCESSING_LABEL_FALLBACKS.md",
"REMINDER_INTERVIEW_KEY_REVIEW.md",
"ASSET_KEY_REVIEW.md",
"LANDING_DOCUMENT_KEY_REVIEW.md"
"LANDING_DOCUMENT_KEY_REVIEW.md",
"CV_BOARD_KEY_REVIEW.md"
],
"entries": [
{
@@ -478,6 +479,102 @@
"sha256": "14eb6a27455289e7231cc1a67f2c8acd7fe89d038d8ac93ce1a774f2bbec9f12"
}
]
},
{
"file": "job-tracker-ui/src/components/KanbanBoard.tsx",
"historicalLine": 194,
"expression": "t(g.labelKey as any)",
"historicalSourceSha256": "f9e7491cd3bd82214fb081571b46b55b31fb8e135fa5050e76896759c2e79a92",
"reviewedSourceSha256": "f9e7491cd3bd82214fb081571b46b55b31fb8e135fa5050e76896759c2e79a92",
"status": "finite-key-domain-reviewed",
"runtimeCoverage": "static control-flow review; no PDF metric or model rerun",
"ownerDependencies": [
{
"file": "job-tracker-ui/src/pipeline.ts",
"sha256": "ad6018cad66d4b7afe022a1e8d2bfb5874906552929f60f9f4075704499a6073"
}
]
},
{
"file": "job-tracker-ui/src/components/KanbanBoard.tsx",
"historicalLine": 446,
"expression": "t(g.labelKey as any)",
"historicalSourceSha256": "f9e7491cd3bd82214fb081571b46b55b31fb8e135fa5050e76896759c2e79a92",
"reviewedSourceSha256": "f9e7491cd3bd82214fb081571b46b55b31fb8e135fa5050e76896759c2e79a92",
"status": "finite-key-domain-reviewed",
"runtimeCoverage": "static control-flow review; no PDF metric or model rerun",
"ownerDependencies": [
{
"file": "job-tracker-ui/src/pipeline.ts",
"sha256": "ad6018cad66d4b7afe022a1e8d2bfb5874906552929f60f9f4075704499a6073"
}
]
},
{
"file": "job-tracker-ui/src/views/CvBuilderEditor.tsx",
"historicalLine": 486,
"expression": "t(key)",
"historicalSourceSha256": "b163cbe792e98cc1afdd775ffb595c1abb8b58c5fdd9a79bbd6fa6b552f868ae",
"reviewedSourceSha256": "b163cbe792e98cc1afdd775ffb595c1abb8b58c5fdd9a79bbd6fa6b552f868ae",
"status": "finite-key-domain-reviewed",
"runtimeCoverage": "static control-flow review; no PDF metric or model rerun",
"ownerDependencies": [
{
"file": "job-tracker-ui/src/cvBuilder.ts",
"sha256": "7cf5976778cab8e902f13464706883845d8f5ca67ba72c9b37199334804123fd"
}
]
},
{
"file": "job-tracker-ui/src/views/CvBuilderEditor.tsx",
"historicalLine": 669,
"expression": "t(([\"cvEditorTemplate\", \"cvEditorContent\", \"cvEditorCustomize\", \"cvEditorAiTools\", \"cvEditorHistory\"] as const)[value])",
"historicalSourceSha256": "b163cbe792e98cc1afdd775ffb595c1abb8b58c5fdd9a79bbd6fa6b552f868ae",
"reviewedSourceSha256": "b163cbe792e98cc1afdd775ffb595c1abb8b58c5fdd9a79bbd6fa6b552f868ae",
"status": "finite-key-domain-reviewed",
"runtimeCoverage": "static control-flow review; no PDF metric or model rerun"
},
{
"file": "job-tracker-ui/src/views/CvBuilderEditor.tsx",
"historicalLine": 1490,
"expression": "t(source)",
"historicalSourceSha256": "b163cbe792e98cc1afdd775ffb595c1abb8b58c5fdd9a79bbd6fa6b552f868ae",
"reviewedSourceSha256": "b163cbe792e98cc1afdd775ffb595c1abb8b58c5fdd9a79bbd6fa6b552f868ae",
"status": "finite-key-domain-reviewed",
"runtimeCoverage": "static control-flow review; no PDF metric or model rerun"
},
{
"file": "job-tracker-ui/src/views/CvBuilderPage.tsx",
"historicalLine": 178,
"expression": "t(actionError.key)",
"historicalSourceSha256": "b4cc784cadb3b820b78b7b688e3c9961ed724230de4fc5fffae166d29620f361",
"reviewedSourceSha256": "b4cc784cadb3b820b78b7b688e3c9961ed724230de4fc5fffae166d29620f361",
"status": "finite-key-domain-reviewed",
"runtimeCoverage": "static control-flow review; no PDF metric or model rerun",
"ownerDependencies": [
{
"file": "job-tracker-ui/src/cvBuilder.ts",
"sha256": "7cf5976778cab8e902f13464706883845d8f5ca67ba72c9b37199334804123fd"
}
]
},
{
"file": "job-tracker-ui/src/views/career/CareerProfileSections.tsx",
"historicalLine": 45,
"expression": "t(tone.key, { percent: Math.round(metadata.confidence * 100) })",
"historicalSourceSha256": "0c772feb6bde8324676b0884aaf343283465c5cd3b3318128363063df4ea22ab",
"reviewedSourceSha256": "0c772feb6bde8324676b0884aaf343283465c5cd3b3318128363063df4ea22ab",
"status": "finite-key-domain-reviewed",
"runtimeCoverage": "static control-flow review; no PDF metric or model rerun"
},
{
"file": "job-tracker-ui/src/views/career/CareerProfileSections.tsx",
"historicalLine": 46,
"expression": "t(tone.key)",
"historicalSourceSha256": "0c772feb6bde8324676b0884aaf343283465c5cd3b3318128363063df4ea22ab",
"reviewedSourceSha256": "0c772feb6bde8324676b0884aaf343283465c5cd3b3318128363063df4ea22ab",
"status": "finite-key-domain-reviewed",
"runtimeCoverage": "static control-flow review; no PDF metric or model rerun"
}
],
"limitations": [