test(ui): qualify profile selection to CV download workflow
@@ -30,6 +30,8 @@
|
||||
"docs/ui-modernisation/visual-correction/evidence/reference/approved-settings-390.png": "be4fe05cc4bf5e8f51ed1cae04af1835c30ea4026a9722c5f7b168390bfaa632",
|
||||
"docs/ui-modernisation/visual-correction/evidence/reference/approved-settings-1440.png": "76a1c71396b8bb4920859779195369660cba187f21d300dec2b9dbd18c905568",
|
||||
"docs/ui-modernisation/visual-correction/evidence/reference/approved-automation-390.png": "9d7c2c573397b7edd57d1246a150beb132fe0b96b4e105c426d9034369e346a8",
|
||||
"docs/ui-modernisation/visual-correction/evidence/reference/approved-automation-1440.png": "5b08bf976ab212dfe1446669f24fda7c1222c0d217f2822852e467fe4aa3a3dc"
|
||||
"docs/ui-modernisation/visual-correction/evidence/reference/approved-automation-1440.png": "5b08bf976ab212dfe1446669f24fda7c1222c0d217f2822852e467fe4aa3a3dc",
|
||||
"docs/ui-modernisation/visual-correction/evidence/reference/approved-cv-390.png": "d0235b28b846f2cdc5a3687c60a56cad08c419d65657f4e70bf4c0f886bd75a3",
|
||||
"docs/ui-modernisation/visual-correction/evidence/reference/approved-cv-1440.png": "396290ac3c626e09db4c18013c096e2ddadb98a6d422c59a69118483f74f7ce6"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
# Profile selection to CV download: controlled client journey
|
||||
|
||||
4 November 2026. Runtime `9bfc51b067c4da4164b84578f5dacf452125ba62`, after published matching-count receipt8fef819c. No application source or build changed; use the previously sealed source/export. This is a representative connected workflow check at390/1440×EN/NB×light/dark, not another nine-width visual matrix or physical renderer qualification.
|
||||
|
||||
PASSED:8 controlled journeys/40 axe scans and screenshots. Empty library→New CV→select existing Profile contact and summary→create→editor rename/autosave→live preview→download. Create explicitly sends `includeProfileContact:true`, `sectionsExplicit:true` and the selected summary reference. Rename sends the returned version and identical settings, preserving inherited/null settings instead of copying or replacing canonical Profile data. Export sends the saved version2; client download filename reflects the saved name and its bytes match the transport fixture.
|
||||
|
||||
Exactly16 fixture persistence requests (eight creates/eight renames), eight revision-checked export requests and eight download events; no unexpected writes, page exceptions or axe violations. Preview responses are synthetic HTML; the displayed name is checked against the fixture Profile. Profile-to-content rendering and PDF output are backend responsibilities and are not established by this mock. Download transport bytes explicitly say they are not a rendered PDF; no PDF file, typography/page metric or semantic-quality acceptance is claimed. Existing accepted physical PDF evidence is unchanged and not rerun.
|
||||
|
||||
The initial pilot changed the identically labelled name field while the creation dialog was still replacing itself with the editor: URL change alone was insufficient synchronisation. Its failed receipt is retained. The corrected verifier waits for dialog removal and the actual editor region before editing, then checks persistence. No application code was changed to accommodate the verifier. The overlapping two-config/ten-state pilot is not added to the final8/40 count.
|
||||
|
||||
Unavailable fixture reads:companies8 and template-modern-preview8. Template/service qualification therefore remains open. No import engine, model, provider, actual account/database, public sharing or delete action executed. Previous native CV/preservation evidence is reused where relevant component/test/dependencies are unchanged; no fresh native suite or build is claimed for this verifier-only package. Scoped verifier lint passed. Source integrity binds the current app and harness separately.
|
||||
|
||||
Screenshots: [phone editor](evidence/cv-journey/edited-en-light-390.png), [phone preview](evidence/cv-journey/preview-en-light-390.png), [desktop editor in Bokmål/dark](evidence/cv-journey/edited-nb-dark-1440.png), [desktop preview](evidence/cv-journey/preview-nb-dark-1440.png). Exact frozen A3 references: [phone](evidence/reference/approved-cv-390.png), [desktop](evidence/reference/approved-cv-1440.png). Compare editor-left/preview-right, navigation, spacing and controls; content and workshop chrome differ.
|
||||
|
||||
Remaining: legacy import acceptance→edit/export, conflict/failure/retry/restore, all template services, actual canonical rendering/physical PDF, human/native/device and final owner visual review. Application status→follow-up scheduling is the next independent connected journey. Phase10/full IM10/European localisation/integrated security/recovery/release acceptance remain OPEN.
|
||||
@@ -30,6 +30,7 @@ Owner correction: 3 November 2026. This register extends IM10 and the original 3
|
||||
| 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` | 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 |
|
||||
| V23 | CV localisation | One section item renders `1 entries` / `1 oppføringer`; one-page Bokmål caption uses `1 sider` | OPEN reproduced in connected CV screenshot and confirmed at section-entry/page-count callers | Add paired singular labels with0/1/2/current-locale regression; preserve document content, UI/output-language ownership, paging and revision behavior |
|
||||
|
||||
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.
|
||||
|
||||
|
||||
@@ -188,9 +188,9 @@
|
||||
"CvBuilderPage"
|
||||
],
|
||||
"visualStatus": "OPEN_SURFACES_SCOPED_REVIEW_FULL_ACCEPTANCE_OPEN",
|
||||
"afterStatus": "PASSED:36 configurations /216 Career-family states;14 keyboard edit targets; synthetic revisions/import selection only; unavailable services disclosed",
|
||||
"afterStatus": "PASSED:36 configurations /216 Career-family states;14 keyboard edit targets; synthetic revisions/import selection only; unavailable services disclosed; representative source-selection/create/edit/preview/download transport8/40 passed; physical PDF/backend/template services NOT RUN",
|
||||
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion",
|
||||
"evidence": "evidence/career/BROWSER.json; CAREER_DOCUMENT_ACTIVITY.md"
|
||||
"evidence": "evidence/career/BROWSER.json; CAREER_DOCUMENT_ACTIVITY.md; CV_JOURNEY_REVIEW.md; evidence/cv-journey/BROWSER.json"
|
||||
},
|
||||
{
|
||||
"route": "/career/builder/:id",
|
||||
@@ -198,8 +198,8 @@
|
||||
"CvBuilderEditor"
|
||||
],
|
||||
"visualStatus": "OPEN_SURFACES_SCOPED_REVIEW_FULL_ACCEPTANCE_OPEN",
|
||||
"afterStatus": "PASSED:36 configurations /216 Career-family states;14 keyboard edit targets; synthetic revisions/import selection only; unavailable services disclosed",
|
||||
"evidence": "evidence/career/BROWSER.json; CAREER_DOCUMENT_ACTIVITY.md",
|
||||
"afterStatus": "PASSED:36 configurations /216 Career-family states;14 keyboard edit targets; synthetic revisions/import selection only; unavailable services disclosed; representative source-selection/create/edit/preview/download transport8/40 passed; physical PDF/backend/template services NOT RUN",
|
||||
"evidence": "evidence/career/BROWSER.json; CAREER_DOCUMENT_ACTIVITY.md; CV_JOURNEY_REVIEW.md; evidence/cv-journey/BROWSER.json",
|
||||
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -0,0 +1,648 @@
|
||||
{
|
||||
"screens": [
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "library",
|
||||
"capture": "viewport at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "create-from-profile",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "edited",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "preview",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "download",
|
||||
"capture": "viewport at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "library",
|
||||
"capture": "viewport at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "create-from-profile",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "edited",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "preview",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "download",
|
||||
"capture": "viewport at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "library",
|
||||
"capture": "viewport at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "create-from-profile",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "edited",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "preview",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "download",
|
||||
"capture": "viewport at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "library",
|
||||
"capture": "viewport at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "create-from-profile",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "edited",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "preview",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "download",
|
||||
"capture": "viewport at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "library",
|
||||
"capture": "full page at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "create-from-profile",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "edited",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "preview",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "download",
|
||||
"capture": "full page at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "library",
|
||||
"capture": "full page at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "create-from-profile",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "edited",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "preview",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "download",
|
||||
"capture": "full page at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "library",
|
||||
"capture": "full page at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "create-from-profile",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "edited",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "preview",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "download",
|
||||
"capture": "full page at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "library",
|
||||
"capture": "full page at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "create-from-profile",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "edited",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "preview",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "download",
|
||||
"capture": "full page at top",
|
||||
"violations": []
|
||||
}
|
||||
],
|
||||
"journeys": [
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"selectedProfileInheritance": "PASS",
|
||||
"createEditPreviewDownloadTransport": "PASS",
|
||||
"exportUsesSavedRevision": "PASS",
|
||||
"importAndPhysicalPdf": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"selectedProfileInheritance": "PASS",
|
||||
"createEditPreviewDownloadTransport": "PASS",
|
||||
"exportUsesSavedRevision": "PASS",
|
||||
"importAndPhysicalPdf": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"selectedProfileInheritance": "PASS",
|
||||
"createEditPreviewDownloadTransport": "PASS",
|
||||
"exportUsesSavedRevision": "PASS",
|
||||
"importAndPhysicalPdf": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"selectedProfileInheritance": "PASS",
|
||||
"createEditPreviewDownloadTransport": "PASS",
|
||||
"exportUsesSavedRevision": "PASS",
|
||||
"importAndPhysicalPdf": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"selectedProfileInheritance": "PASS",
|
||||
"createEditPreviewDownloadTransport": "PASS",
|
||||
"exportUsesSavedRevision": "PASS",
|
||||
"importAndPhysicalPdf": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"selectedProfileInheritance": "PASS",
|
||||
"createEditPreviewDownloadTransport": "PASS",
|
||||
"exportUsesSavedRevision": "PASS",
|
||||
"importAndPhysicalPdf": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"selectedProfileInheritance": "PASS",
|
||||
"createEditPreviewDownloadTransport": "PASS",
|
||||
"exportUsesSavedRevision": "PASS",
|
||||
"importAndPhysicalPdf": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"selectedProfileInheritance": "PASS",
|
||||
"createEditPreviewDownloadTransport": "PASS",
|
||||
"exportUsesSavedRevision": "PASS",
|
||||
"importAndPhysicalPdf": "NOT RUN"
|
||||
}
|
||||
],
|
||||
"errors": [],
|
||||
"unexpectedWrites": [],
|
||||
"mockedWrites": [
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"action": "createVariantFromProfile"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"action": "variantRename"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"action": "createVariantFromProfile"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"action": "variantRename"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"action": "createVariantFromProfile"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"action": "variantRename"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"action": "createVariantFromProfile"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"action": "variantRename"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"action": "createVariantFromProfile"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"action": "variantRename"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"action": "createVariantFromProfile"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"action": "variantRename"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"action": "createVariantFromProfile"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"action": "variantRename"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"action": "createVariantFromProfile"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"action": "variantRename"
|
||||
}
|
||||
],
|
||||
"exportRequests": [
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"expectedVersion": 2
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"expectedVersion": 2
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"expectedVersion": 2
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"expectedVersion": 2
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"expectedVersion": 2
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"expectedVersion": 2
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"expectedVersion": 2
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"expectedVersion": 2
|
||||
}
|
||||
],
|
||||
"downloads": [
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"filename": "Reviewed teacher career CV.pdf",
|
||||
"bytes": 63,
|
||||
"renderedPdfValidation": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"filename": "Reviewed teacher career CV.pdf",
|
||||
"bytes": 63,
|
||||
"renderedPdfValidation": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"filename": "Reviewed teacher career CV.pdf",
|
||||
"bytes": 63,
|
||||
"renderedPdfValidation": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"filename": "Reviewed teacher career CV.pdf",
|
||||
"bytes": 63,
|
||||
"renderedPdfValidation": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"filename": "Reviewed teacher career CV.pdf",
|
||||
"bytes": 63,
|
||||
"renderedPdfValidation": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"filename": "Reviewed teacher career CV.pdf",
|
||||
"bytes": 63,
|
||||
"renderedPdfValidation": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"filename": "Reviewed teacher career CV.pdf",
|
||||
"bytes": 63,
|
||||
"renderedPdfValidation": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"filename": "Reviewed teacher career CV.pdf",
|
||||
"bytes": 63,
|
||||
"renderedPdfValidation": "NOT RUN"
|
||||
}
|
||||
],
|
||||
"renderReads": 8,
|
||||
"unavailableReads": [
|
||||
"/api/companies",
|
||||
"/api/cv/themes/modern/preview",
|
||||
"/api/companies",
|
||||
"/api/cv/themes/modern/preview",
|
||||
"/api/companies",
|
||||
"/api/cv/themes/modern/preview",
|
||||
"/api/companies",
|
||||
"/api/cv/themes/modern/preview",
|
||||
"/api/companies",
|
||||
"/api/cv/themes/modern/preview",
|
||||
"/api/companies",
|
||||
"/api/cv/themes/modern/preview",
|
||||
"/api/companies",
|
||||
"/api/cv/themes/modern/preview",
|
||||
"/api/companies",
|
||||
"/api/cv/themes/modern/preview"
|
||||
],
|
||||
"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"
|
||||
],
|
||||
"limits": [
|
||||
"All API and preview responses are controlled fixtures; not backend end-to-end or physical PDF qualification.",
|
||||
"Synthetic download transport bytes are not a PDF; only client revision/filename/download flow qualified. Profile inheritance uses fixture data; import, physical rendering and semantic quality NOT RUN.",
|
||||
"No native device, screen reader, provider, integrated security, deployment or release acceptance."
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"screens": [
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "library",
|
||||
"capture": "viewport at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "create-from-profile",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
}
|
||||
],
|
||||
"journeys": [],
|
||||
"errors": [],
|
||||
"unexpectedWrites": [],
|
||||
"mockedWrites": [
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"action": "createVariantFromProfile"
|
||||
}
|
||||
],
|
||||
"exportRequests": [],
|
||||
"downloads": [],
|
||||
"renderReads": 1,
|
||||
"unavailableReads": [
|
||||
"/api/companies",
|
||||
"/api/cv/themes/modern/preview"
|
||||
],
|
||||
"blockedExternal": [
|
||||
"https://fonts.googleapis.com"
|
||||
],
|
||||
"limits": [
|
||||
"All API and preview responses are controlled fixtures; not backend end-to-end or physical PDF qualification.",
|
||||
"Synthetic download transport bytes are not a PDF; only client revision/filename/download flow qualified. Profile inheritance uses fixture data; import, physical rendering and semantic quality NOT RUN.",
|
||||
"No native device, screen reader, provider, integrated security, deployment or release acceptance."
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
{
|
||||
"screens": [
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "library",
|
||||
"capture": "viewport at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "create-from-profile",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "edited",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "preview",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "download",
|
||||
"capture": "viewport at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "library",
|
||||
"capture": "full page at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "create-from-profile",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "edited",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "preview",
|
||||
"capture": "targeted viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "download",
|
||||
"capture": "full page at top",
|
||||
"violations": []
|
||||
}
|
||||
],
|
||||
"journeys": [
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"selectedProfileInheritance": "PASS",
|
||||
"createEditPreviewDownloadTransport": "PASS",
|
||||
"exportUsesSavedRevision": "PASS",
|
||||
"importAndPhysicalPdf": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"selectedProfileInheritance": "PASS",
|
||||
"createEditPreviewDownloadTransport": "PASS",
|
||||
"exportUsesSavedRevision": "PASS",
|
||||
"importAndPhysicalPdf": "NOT RUN"
|
||||
}
|
||||
],
|
||||
"errors": [],
|
||||
"unexpectedWrites": [],
|
||||
"mockedWrites": [
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"action": "createVariantFromProfile"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"action": "variantRename"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"action": "createVariantFromProfile"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"action": "variantRename"
|
||||
}
|
||||
],
|
||||
"exportRequests": [
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"expectedVersion": 2
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"expectedVersion": 2
|
||||
}
|
||||
],
|
||||
"downloads": [
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"filename": "Reviewed teacher career CV.pdf",
|
||||
"bytes": 63,
|
||||
"renderedPdfValidation": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"filename": "Reviewed teacher career CV.pdf",
|
||||
"bytes": 63,
|
||||
"renderedPdfValidation": "NOT RUN"
|
||||
}
|
||||
],
|
||||
"renderReads": 2,
|
||||
"unavailableReads": [
|
||||
"/api/companies",
|
||||
"/api/cv/themes/modern/preview",
|
||||
"/api/companies",
|
||||
"/api/cv/themes/modern/preview"
|
||||
],
|
||||
"blockedExternal": [
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com"
|
||||
],
|
||||
"limits": [
|
||||
"All API and preview responses are controlled fixtures; not backend end-to-end or physical PDF qualification.",
|
||||
"Synthetic download transport bytes are not a PDF; only client revision/filename/download flow qualified. Profile inheritance uses fixture data; import, physical rendering and semantic quality NOT RUN.",
|
||||
"No native device, screen reader, provider, integrated security, deployment or release acceptance."
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 84 KiB |
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 96 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 97 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 104 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 104 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 93 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 93 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 100 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 100 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 13 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."
|
||||
}
|
||||
|
After Width: | Height: | Size: 131 KiB |
|
After Width: | Height: | Size: 206 KiB |
@@ -7,6 +7,7 @@
|
||||
body{margin:24px;font:16px/1.5 system-ui,sans-serif;color:#302744;background:#f5f4f9}h1{font-size:26px}p{max-width:95ch}nav{display:flex;flex-wrap:wrap;gap:16px}label{display:grid;gap:4px}select{min-height:44px;max-width:100%;font:inherit;padding:6px}main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}figure{margin:0;min-width:0}figcaption{font-weight:600;margin-bottom:12px}img{display:block;width:100%}a{color:#694394}:focus-visible{outline:3px solid #694394;outline-offset:3px}@media(max-width:850px){body{margin:16px}main{grid-template-columns:1fr}}
|
||||
</style>
|
||||
<h1>A3: approved reference and real application</h1>
|
||||
<p><a href="CV_JOURNEY_REVIEW.md">Connected Profile-to-CV creation, edit, preview and download review</a> covers eight representative phone/desktop configurations. Its synthetic download transport is not physical PDF qualification.</p>
|
||||
<p>Development evidence, not final acceptance. References are unchanged PNG bytes from approved A3 commit237c79b8. They include workshop controls and different synthetic content. Compare hierarchy, spacing, borders, navigation and available actions rather than whole-image pixels. Reference text is English/light; the real capture follows the controls below. Human, device, native-language and final security/release qualifications remain separate.</p>
|
||||
<nav aria-label="Review controls">
|
||||
<label>Screen<select id="screen"></select></label>
|
||||
|
||||