test(ui): qualify connected discovery to tracker journey
@@ -1,5 +1,7 @@
|
||||
# A3-IM10 Cross-application qualification
|
||||
|
||||
4 November discovery→preview→review→tracker qualification on unchanged runtime **a84a97cb61eda975d73690c818d56666f0929515**:36 connected journeys/144 rendered states PASSED;36 intercepted previews and36 creates, original source fields checked, no unexpected writes/unavailable reads/errors/axe violations. No actual provider/backend or attachment/AI execution. Existing wizard controls retained. Count grammar V22 found and remains open for the next bounded fix. Comparison viewer22 families/792 actual bindings/28 frozen references;44 artifact selections passed separately. Evidence Bank receipt **b5b9069d1e835197cc37c5e7e293c3a60857ec2f** is published/readback-verified with1,321 integrity checks. Other connected journeys and all final roadmap/native/owner/security/recovery/release gates remain OPEN.
|
||||
|
||||
4 November Evidence Bank qualification on unchanged runtime **a84a97cb61eda975d73690c818d56666f0929515**:36 controlled journeys/216 rendered states PASSED, drafts retained across sections/retry, valid drafts blocked while read fails, deletion cancelled. Zero writes, preview requests, page exceptions or axe violations;108 company fixture reads unavailable. Component/test unchanged fromb31; no unnecessary rebuild or native rerun. Existing form/owned evidence boundaries intentionally retained. See visual-correction/EVIDENCE_BANK_REVIEW.md. Comparison viewer21 families/756 image bindings/28 frozen references;42 artifact selections passed separately. Settings receipt **505b0c01b953002ef777eca9aea550715b217216** published/readback-verified with1,268 integrity checks. Full IM10/34 routes/57 groups, connected journeys, owner/native/European/Phase10/security/recovery/release acceptance remain OPEN.
|
||||
|
||||
4 November Settings/shared-feedback runtime **a84a97cb61eda975d73690c818d56666f0929515**:70 selected native cases/eight suites, types/full lint/export build and36 configurations/252 Settings states PASSED. QuickCapture decorative surface removed; actual interaction found and fixed the ToastProvider-outside-theme contrast defect. Feedback remains visible during contrast analysis. Zero writes/proposals/browser exceptions/axe violations;36 company reads unavailable fixtures. Viewer20 families/720 actual bindings/28 frozen references;40 artifact selections passed separately. Admin receipt **0e2ccfe98406d5d896c74482b0ba08a976c74c4a** is published/readback-verified with1,163 integrity checks. Evidence Bank verifier extension remains separate WIP, not part of Settings qualification. All final roadmap/owner/security/recovery/native gates remain OPEN.
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# Discovery to tracked application
|
||||
|
||||
4 November 2026. Immutable runtimea84a97cb; published predecessor Evidence Bank receiptb5b9069d. This extends the existing discovery verifier with an isolated connected journey; application source and sealed export are unchanged. Existing saved-search mutation journeys are explicitly NOT RUN in tracking-only mode.
|
||||
|
||||
PASSED:36 journeys/144 axe scans and screenshots across all nine widths, EN/NB and light/dark. Search renders three synthetic occupations with existing NAV attribution. The listing link retains the original URL. Save to tracker navigates to the existing Add Job wizard, automatically previews the synthetic advert, and exposes its original description for review. Existing Continue/Skip controls traverse the optional attachment steps without opening file pickers or invoking AI. Create then renders the tracked application row.
|
||||
|
||||
Exactly36 intercepted preview requests and36 intercepted create writes; no other writes, unavailable reads, page exceptions or axe violations. Preview does not create a tracked record. Each create request is checked for title, existing company, Saved status, original URL, source, country, original description, source language, normalised deadline date and null follow-up. It occurs once. The initial verifier incorrectly expected an exact dialog name `Add Job`; MUI's current composite heading also includes the Close action. The retained selector-failure report is not an application failure; the corrected verifier scopes the sole actual dialog and checks its title.
|
||||
|
||||
All API responses, company, provider-shaped results and import preview are controlled fixtures. The external listing is not fetched; provider rights enforcement, scraping/import backend, database persistence and actual NAV services are NOT RUN. Source language remains distinct from UI language. The existing wizard converts deadline timestamps to a calendar date; original timezone/precision preservation remains the documented model gap, not qualified by this journey. Attachment upload, new-company creation, duplicate/conflict/error, actual provider data and application-detail workflows are outside this bounded check.
|
||||
|
||||
The existing six-step wizard and optional steps are preserved, with no new steps introduced. Streamlining its optional steps remains a possible product-review improvement rather than a silent change during qualification. Screenshot review found an additional EN/NB count grammar defect, V22 (`1 matching jobs` / `1 jobber samsvarer`), to fix separately at the shared JobTable count caller. No safe removal candidate is inferred.
|
||||
|
||||
Type/lint/build and unchanged component native evidence are reused from the sealed source; scoped verifier lint passed. This is frontend workflow evidence with intercepted writes, not backend end-to-end or full regression. CV create/import-review→edit→preview→export, application→follow-up and Profile→document reuse still need their remaining connected checks. Owner/native/device/European/integrated security/recovery/Phase10/release acceptance remain OPEN.
|
||||
@@ -29,6 +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 |
|
||||
|
||||
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.
|
||||
|
||||
|
||||
@@ -58,9 +58,9 @@
|
||||
"JobDiscoveryPage"
|
||||
],
|
||||
"visualStatus": "DIVIDED_ROWS_SCOPED_RENDERED_REVIEW",
|
||||
"afterStatus": "PASSED:36 configurations /108 states; saved search synthetic actions only; full discovery-to-track journey remains open",
|
||||
"afterStatus": "PASSED:36 configurations /108 states; saved search synthetic actions only; full discovery-to-track journey remains open; successor discovery-to-tracker36/144 fixture states passed, exactlyone preview andcreate perconfiguration; provider/backend acceptance open",
|
||||
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion",
|
||||
"evidence": "evidence/discovery/BROWSER.json; DASHBOARD_DISCOVERY.md"
|
||||
"evidence": "evidence/discovery/BROWSER.json; DASHBOARD_DISCOVERY.md; DISCOVERY_TRACK_REVIEW.md; evidence/discovery-track/BROWSER.json"
|
||||
},
|
||||
{
|
||||
"route": "/jobs",
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"screens": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "initial",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "results",
|
||||
"violations": []
|
||||
}
|
||||
],
|
||||
"journeys": [],
|
||||
"errors": [],
|
||||
"unexpectedWrites": [],
|
||||
"mockedWrites": [],
|
||||
"previewRequests": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"url": "https://example.test/vacancy-0"
|
||||
}
|
||||
],
|
||||
"unavailableReads": [],
|
||||
"blockedExternal": [
|
||||
"https://fonts.googleapis.com"
|
||||
],
|
||||
"limits": [
|
||||
"synthetic provider/API fixtures, not live NAV or backend qualification",
|
||||
"no new providers/geography or native/security/release acceptance"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
{
|
||||
"screens": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "initial",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "results",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "review",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "tracked",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "initial",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "results",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "review",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "tracked",
|
||||
"violations": []
|
||||
}
|
||||
],
|
||||
"journeys": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"discoveryPreviewReviewTracked": "PASS",
|
||||
"optionalAttachmentsSkippedWithExistingControls": "PASS",
|
||||
"savedSearchMutations": "NOT RUN",
|
||||
"externalAdvertAndProviderAccess": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"discoveryPreviewReviewTracked": "PASS",
|
||||
"optionalAttachmentsSkippedWithExistingControls": "PASS",
|
||||
"savedSearchMutations": "NOT RUN",
|
||||
"externalAdvertAndProviderAccess": "NOT RUN"
|
||||
}
|
||||
],
|
||||
"errors": [],
|
||||
"unexpectedWrites": [],
|
||||
"mockedWrites": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"action": "createTrackedJob"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"action": "createTrackedJob"
|
||||
}
|
||||
],
|
||||
"previewRequests": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"url": "https://example.test/vacancy-0"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"url": "https://example.test/vacancy-0"
|
||||
}
|
||||
],
|
||||
"unavailableReads": [],
|
||||
"blockedExternal": [
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com"
|
||||
],
|
||||
"limits": [
|
||||
"synthetic provider/API fixtures, not live NAV or backend qualification",
|
||||
"no new providers/geography or native/security/release acceptance"
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 75 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 75 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 73 KiB |
|
After Width: | Height: | Size: 75 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 73 KiB |
|
After Width: | Height: | Size: 75 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 121 KiB |
|
After Width: | Height: | Size: 125 KiB |
|
After Width: | Height: | Size: 128 KiB |
|
After Width: | Height: | Size: 131 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 120 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
After Width: | Height: | Size: 128 KiB |
|
After Width: | Height: | Size: 132 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 120 KiB |
|
After Width: | Height: | Size: 116 KiB |
|
After Width: | Height: | Size: 119 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 124 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 114 KiB |
|
After Width: | Height: | Size: 116 KiB |
|
After Width: | Height: | Size: 120 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 125 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 115 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 88 KiB |
|
After Width: | Height: | Size: 96 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 95 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 46 KiB |