test(i18n): qualify singular counts across table and board

This commit is contained in:
cesnimda
2026-11-04 09:26:58 +01:00
parent 9bfc51b067
commit 8fef819c4e
92 changed files with 2154 additions and 8 deletions
@@ -29,7 +29,7 @@ Owner correction: 3 November 2026. This register extends IM10 and the original 3
| V19 | Mail localisation | One-label count rendered as 1 labels / 1 etiketter | RESOLVED in cd116ab8:44 native cases and36 focused label states; no writes or new dynamic translation calls | Native-language/European and whole-application acceptance remain separate |
| V20 | Shared feedback | ToastProvider outside the application theme produced failing information-toast contrast3.85:1 | Fixed provider order in a84a97cb;70 native cases and36 configurations/252 Settings states passed, toast visible during contrast analysis | Other feedback/workflow and human/native acceptance remain separate; failed scan retained |
| V21 | Administration hierarchy | Repeated generic route/page headings remain after opening section surfaces | OPEN minor visual discrepancy from rendered review | Review current route heading ownership and focus/test contracts before removing repetition |
| V22 | Application localisation | One result renders `1 matching jobs` / `1 jobber samsvarer` | OPEN reproduced from discovery-to-tracker screenshot and shared table/board count caller | Add paired singular count text with current-locale/table/board regression; preserve loading/error suppression and actual counts |
| V22 | Application localisation | One result renders `1 matching jobs` / `1 jobber samsvarer` | RESOLVED in9bfc51b0:48 native cases and36 configurations/72 focused table/board count states passed,zero writes | Existing active-view locale reload/loading/error suppression retained; owner/native/European acceptance separate |
The owner-approved design foundation remains original A1 dashboard, D1 visual system, B1 tracking, editor left / preview right, application context right, desktop sidebar and hybrid mobile navigation. No controls, imports, revisions, permissions or provider rights may be removed to obtain visual simplicity.
@@ -0,0 +1,13 @@
# Matching-result count localisation
4 November 2026. Source `9bfc51b067c4da4164b84578f5dacf452125ba62`, after published discovery workflow receipted4ce4cc. V22 was reproduced in a real tracked-row capture and confirmed at the shared JobTable table/board count caller.
Add paired literal `jobsMatchingSingle` text (`{count} matching job` / `{count} jobb samsvarer`) for exactly1. Preserve the plural key and count0/2+, active view's actual count, hidden loading/refresh/error count and Trash behavior. Both translator calls are literal; no new dynamic translation key. Query, pagination, filtering, membership, revisions, status writes, provider acquisition and UI/generated-content language ownership remain unchanged.
RED: four singular cases failed and eight zero/plural cases passed; six older cases filtered. The initial test also assumed locale switching never re-fetches, but both existing resource owners explicitly depend on `t`. Preserve that existing behavior; correct the test scope to verify live text/membership and no reads of the inactive view. Initial assumption failure retained separately. Three older tests encoded the wrong English singular and were corrected. The first combined native command used a nonexistent catalogue test path (45 cases passed, command failed); the corrected full targeted run below supersedes it.
PASSED:48 native cases/four suites (18 table/board integration including12 new EN/NB×table/board×0/1/2 live-locale cases; remaining table-density, grouped-board and catalogue cases), type-check, full lint, export build and scoped verifier lint. No overlapping failed/focused run is added to48.
PASSED:36 configurations/72 actual table/board count states at all nine widths/EN/NB/themes. One-record labels are visible in both views; zero status/mutation requests, unexpected writes, page exceptions or axe violations. The count-only scope explicitly leaves detail, alias and mutation workflows NOT RUN. The prior36/144 discovery-to-tracker journey remains bound to the unchanged callback sourcea84/ed4 rather than being repeated for a text-only correction. All API results are synthetic; no backend/provider/native-language/human/device/European/security/release qualification is inferred.
Rollback reverts the paired catalogue entry/shared count selection and associated expected labels; no data, dependency or migration rollback. Final A3/Phase10 and remaining route/error/journey/security/recovery/release/owner gates remain OPEN.
File diff suppressed because it is too large Load Diff
@@ -68,9 +68,9 @@
"JobTable"
],
"visualStatus": "FLAT_ROWS_CORRECTED_PENDING_FINAL_VISUAL_REVIEW",
"afterStatus": "PASSED:36 configurations; table/focused table/board/Add Job=144 scans; all row outline checks visible and phone outlines unclipped",
"afterStatus": "PASSED:36 configurations; table/focused table/board/Add Job=144 scans; all row outline checks visible and phone outlines unclipped; singular count successor36/72 table/board states at9bfc51b0,zero writes",
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion",
"evidence": "evidence/applications-flat/BROWSER.json; APPLICATION_FLAT.md"
"evidence": "evidence/applications-flat/BROWSER.json; APPLICATION_FLAT.md; MATCHING_COUNT_REVIEW.md; evidence/matching-count/BROWSER.json"
},
{
"route": "/jobs/:id",
@@ -0,0 +1,811 @@
{
"screens": [
{
"width": 320,
"language": "en",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "light",
"state": "board",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "dark",
"state": "board",
"violations": []
},
{
"width": 320,
"language": "nb",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 320,
"language": "nb",
"mode": "light",
"state": "board",
"violations": []
},
{
"width": 320,
"language": "nb",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 320,
"language": "nb",
"mode": "dark",
"state": "board",
"violations": []
},
{
"width": 360,
"language": "en",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 360,
"language": "en",
"mode": "light",
"state": "board",
"violations": []
},
{
"width": 360,
"language": "en",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 360,
"language": "en",
"mode": "dark",
"state": "board",
"violations": []
},
{
"width": 360,
"language": "nb",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 360,
"language": "nb",
"mode": "light",
"state": "board",
"violations": []
},
{
"width": 360,
"language": "nb",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 360,
"language": "nb",
"mode": "dark",
"state": "board",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "board",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "dark",
"state": "board",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "light",
"state": "board",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"state": "board",
"violations": []
},
{
"width": 430,
"language": "en",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 430,
"language": "en",
"mode": "light",
"state": "board",
"violations": []
},
{
"width": 430,
"language": "en",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 430,
"language": "en",
"mode": "dark",
"state": "board",
"violations": []
},
{
"width": 430,
"language": "nb",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 430,
"language": "nb",
"mode": "light",
"state": "board",
"violations": []
},
{
"width": 430,
"language": "nb",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 430,
"language": "nb",
"mode": "dark",
"state": "board",
"violations": []
},
{
"width": 768,
"language": "en",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 768,
"language": "en",
"mode": "light",
"state": "board",
"violations": []
},
{
"width": 768,
"language": "en",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 768,
"language": "en",
"mode": "dark",
"state": "board",
"violations": []
},
{
"width": 768,
"language": "nb",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 768,
"language": "nb",
"mode": "light",
"state": "board",
"violations": []
},
{
"width": 768,
"language": "nb",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 768,
"language": "nb",
"mode": "dark",
"state": "board",
"violations": []
},
{
"width": 1024,
"language": "en",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 1024,
"language": "en",
"mode": "light",
"state": "board",
"violations": []
},
{
"width": 1024,
"language": "en",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 1024,
"language": "en",
"mode": "dark",
"state": "board",
"violations": []
},
{
"width": 1024,
"language": "nb",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 1024,
"language": "nb",
"mode": "light",
"state": "board",
"violations": []
},
{
"width": 1024,
"language": "nb",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 1024,
"language": "nb",
"mode": "dark",
"state": "board",
"violations": []
},
{
"width": 1280,
"language": "en",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 1280,
"language": "en",
"mode": "light",
"state": "board",
"violations": []
},
{
"width": 1280,
"language": "en",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 1280,
"language": "en",
"mode": "dark",
"state": "board",
"violations": []
},
{
"width": 1280,
"language": "nb",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 1280,
"language": "nb",
"mode": "light",
"state": "board",
"violations": []
},
{
"width": 1280,
"language": "nb",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 1280,
"language": "nb",
"mode": "dark",
"state": "board",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "board",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"state": "board",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"state": "board",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"state": "board",
"violations": []
},
{
"width": 1920,
"language": "en",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 1920,
"language": "en",
"mode": "light",
"state": "board",
"violations": []
},
{
"width": 1920,
"language": "en",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 1920,
"language": "en",
"mode": "dark",
"state": "board",
"violations": []
},
{
"width": 1920,
"language": "nb",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 1920,
"language": "nb",
"mode": "light",
"state": "board",
"violations": []
},
{
"width": 1920,
"language": "nb",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 1920,
"language": "nb",
"mode": "dark",
"state": "board",
"violations": []
}
],
"journeys": [
{
"width": 320,
"language": "en",
"mode": "light",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 320,
"language": "en",
"mode": "dark",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 320,
"language": "nb",
"mode": "light",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 320,
"language": "nb",
"mode": "dark",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 360,
"language": "en",
"mode": "light",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 360,
"language": "en",
"mode": "dark",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 360,
"language": "nb",
"mode": "light",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 360,
"language": "nb",
"mode": "dark",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 390,
"language": "en",
"mode": "light",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 390,
"language": "en",
"mode": "dark",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 390,
"language": "nb",
"mode": "light",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 430,
"language": "en",
"mode": "light",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 430,
"language": "en",
"mode": "dark",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 430,
"language": "nb",
"mode": "light",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 430,
"language": "nb",
"mode": "dark",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 768,
"language": "en",
"mode": "light",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 768,
"language": "en",
"mode": "dark",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 768,
"language": "nb",
"mode": "light",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 768,
"language": "nb",
"mode": "dark",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 1024,
"language": "en",
"mode": "light",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 1024,
"language": "en",
"mode": "dark",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 1024,
"language": "nb",
"mode": "light",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 1024,
"language": "nb",
"mode": "dark",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 1280,
"language": "en",
"mode": "light",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 1280,
"language": "en",
"mode": "dark",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 1280,
"language": "nb",
"mode": "light",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 1280,
"language": "nb",
"mode": "dark",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 1440,
"language": "en",
"mode": "light",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 1920,
"language": "en",
"mode": "light",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 1920,
"language": "en",
"mode": "dark",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 1920,
"language": "nb",
"mode": "light",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
},
{
"width": 1920,
"language": "nb",
"mode": "dark",
"singularTableAndBoard": "PASS",
"mutationsDetailAliases": "NOT RUN"
}
],
"aliases": [],
"focusChecks": [],
"errors": [],
"unexpectedWrites": [],
"mockedWrites": [],
"unavailableReads": [],
"blockedExternal": [
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com"
],
"limits": [
"controlled fixtures, not real backend integration",
"secondary service reads may return honest unavailable states",
"no native device, provider, model, security or release qualification"
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

@@ -0,0 +1,19 @@
{
"checks": [
{
"width": 390,
"language": "nb",
"theme": "dark",
"selections": 24,
"errors": []
},
{
"width": 1440,
"language": "en",
"theme": "light",
"selections": 24,
"errors": []
}
],
"scope": "Static comparison artifact only, not application acceptance."
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

@@ -26,7 +26,9 @@ const screens = [
{name:'Application table',reference:'applications',folder:'applications-flat',state:'table',source:'b6d830f2',scope:'Scoped populated table/phone rows; columns and actions retained.'},
{name:'Application detail',reference:'detail',folder:'applications-flat',state:'detail',source:'b6d830f2',scope:'Recorded role hierarchy and right-side context; scoped fixture only.'},
{name:'Job discovery',reference:'discover',folder:'discovery',state:'results',source:'a7d72673',scope:'Divided vacancies and existing supported source semantics. Synthetic NAV-shaped data; no new provider permissions.'},
{name:'Discovery to tracker',reference:'applications',folder:'discovery-track',state:'tracked',source:'a84a97cb',scope:'Connected preview/review/create fixture journey. Original source fields checked; provider/backend qualification separate. Count grammar V22 remains visible in this historical capture.'},
{name:'Discovery to tracker',reference:'applications',folder:'discovery-track',state:'tracked',source:'a84a97cb',scope:'Connected preview/review/create fixture journey. Original source fields checked; provider/backend qualification separate. Historical count grammar is corrected in9bfc51b0; select Matching count table/board.'},
{name:'Matching count table',reference:'applications',folder:'matching-count',state:'table',source:'9bfc51b0',scope:'Focused singular EN/NB count successor; zero writes. Native0/1/2/live-locale and membership regression passed.'},
{name:'Matching count board',reference:'applications',folder:'matching-count',state:'board',source:'9bfc51b0',scope:'The same single-count rule in Board; real count/membership retained. Mutation/detail qualification is not repeated.'},
{name:'Career overview',reference:'career',folder:'career',state:'overview',source:'b31ce617',scope:'Open overview sections and all14 edit actions. Scoped216-state qualification passed; company/preview reads remain unavailable.'},
{name:'Career evidence',reference:'career',folder:'career-evidence',state:'populated',source:'a84a97cb',scope:'Evidence form/record boundaries retained intentionally. Unsaved drafts, cancelled deletion and error/retry qualified with synthetic data; no evidence mutations.'},
{name:'Calendar agenda',reference:'calendar',folder:'calendar',state:'agenda',source:'b31ce617',scope:'Recorded deadlines/follow-ups only. Scoped108-state qualification passed; no invented interview appointments or original timezone precision.'},