test(ui): qualify career documents calendar and chart visuals

This commit is contained in:
cesnimda
2026-11-04 07:48:23 +01:00
parent b31ce6176b
commit dd284782fd
620 changed files with 10273 additions and 22 deletions
+6
View File
@@ -1,5 +1,11 @@
# A3-IM10 Cross-application qualification
4 November current source **b31ce6176bcb8f6a70d3e29ad4057b7cb74a1f53**:114 selected native tests/eight suites, types/full lint/export build and final36-configuration matrices PASSED: Career216, documents/mail216, calendar108, single-month markers36. These scoped checks do not complete IM10. Career unavailable fixture reads and all human/native/provider/security/release limits are explicit in visual-correction/CAREER_DOCUMENT_ACTIVITY.md. The later37-test flat-mail successor remains unbuilt and excluded from this runtime. Source/evidence receipt is being sealed for publication; published/verified predecessor is79d7bbe0. The navigable visual-correction/route-review.html uses11 real screen families, nine widths, EN/NB/themes and frozen A3 references; all396 actual image bindings and22 reference files plus two artifact smoke viewports passed. This is an evidence viewer, not another design concept or full34-route acceptance.
4 November latest continuation: public-language receipt **09904ecc6889e196139b1a4da448230e3d0e44c8** and account/editor receipt **368e90d57206df00204f16ced78d9379706a6878** are published and independently remotely verified. Public runtimefa6bd5d9:94 tests,504 scoped states and863 source/harness/evidence/export integrity checks. Account runtimeb6d830f2:97 tests,252 account states plus216 affected application states and827 integrity checks. These are separate packages; overlapping earlier runs are not added. Source census retains34 routes/57 preservation groups, not blanket functional or visual acceptance.
Local successora7d72673 contains offer literal-date fix, denser initial dashboard defaults and open discovery rows.101 selected tests, types/full lint/export build and six controlled timezone browser journeys passed; broader dashboard/discovery rendered qualification is active. Final milestone/owner visual review remains OPEN. visual-correction/ROUTE_COVERAGE.json and DISCREPANCIES.md are the current route/discrepancy owners. Earlier active/pending paragraphs below are historical where superseded by these source-bound records.
3 November 2026. Owner explicitly approved **"Approve IM09 and A3-IM10"**. Isolated `codex/a3-ui-10` starts at published/remotely verified receipt `7a9de940dfdc41023f87a1ef38a5fd86a0b8e477`, from implementation `773c943165669bfc97bee46c53f73f124f398c0c`. Earlier A3 milestones are accepted; do not rerun their unaffected evidence or ask again.
- [x] Reconcile baseline and narrowly inspect attachment-size localisation1ce93ca0; cherry-picked only its reviewed delta as31ce70271663a5d57c7b2eb8f80cd69be5cc95ef. No wholesale merge of its older application tree. Fresh63 affected tests passed on this newer baseline; original61-case evidence remains historical.
@@ -0,0 +1,29 @@
{
"frozenDesignCommit": "237c79b8cb3e280d7e4d1ef95cdbb2c77bb81c69",
"sourceDirectory": "docs/product-modernisation/08-a3-handoff/evidence/",
"policy": "Exact PNG bytes read from immutable approved Git source; no regeneration or image editing.",
"hashes": {
"docs/ui-modernisation/visual-correction/evidence/reference/approved-dashboard-390.png": "d6c7dfa0a89697280e5748214dacc066c3bbc0a41769bc7e79352d7ce967c1cc",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-dashboard-1440.png": "4c23f9feebbd6ce6e50f346420514059365a81437fb36c528134479038ea68d6",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-applications-390.png": "e0e14e08739de3eeb569ee56afb4772efea1a24cad81def51cfb8bf6e72482f0",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-applications-1440.png": "78e61cede2b10cbfe8f6ebd3f4c94e66c87d09797f85467f91d723672839ca86",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-detail-390.png": "6e205b99b1cddd11dda7181db0d48b0f34553bcb8c996aed3541deebd2ea7ee5",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-detail-1440.png": "b9b8f76d993ddd145caf2a19df66b6c28f3051ca9a26a5ef9df378190a732a37",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-discover-390.png": "fec1226423fa9664c322330c06f158671b39279877c44c0d44ee425ac1e82cbf",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-discover-1440.png": "be13adad9b49bf3e0f0d2df72eceb17b17ef806ed9b3abe568d34385bef8e690",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-career-390.png": "b9777e72e6eac12fc09e0beb6dfe41904a60905dd13eb26eb0cf4c8310aab081",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-career-1440.png": "3b1bca77d1da9788612f5c59d9f80592b46eed1a6b9bee8b2143a07a9c9d31eb",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-calendar-390.png": "3510037da2f14949fc612b1e0c6c4abc970e263d671ca617f6f40f6649f33924",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-calendar-1440.png": "ca6ef59804c1cdfede95774fdacf5fb5bcf2085389b27c699a4002b3aaa7f0fe",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-documents-390.png": "a58b86a475d0c6b791948c47059a8dbe56a35631cdc168ead3500999f80e71a4",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-documents-1440.png": "d2ac9732f17dd3fd0ddf732e1cf9f0cf587d45ba5bd239bc469412bcec35d7ca",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-correspondence-390.png": "e942b0cc201c75e53ee4da409fd985e091fa8186f4882924e8a14f9327a0db0b",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-correspondence-1440.png": "5f7b715c1449fc18e3f24014225e2edb3166c5394cdc0e9f03ff624c0b96307b",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-login-390.png": "209cee8a49393a39a0c0e7e35ddbd02f8a8100103434e1e347c22f18bf03f770",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-login-1440.png": "97ad64c4e522e6ee38d34fe942c8a3b2790e44c6b79f01c56da65dd6c1060b95",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-register-390.png": "511fbb03d8752839455c71b3f22327bf34cee6a15f5a3e0c636c441528470937",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-register-1440.png": "f28197980ca9e47f6625f1dfbe5ebf37179c365c86ba849ba22f52c5c47752c5",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-recovery-390.png": "c7f6d59b9e7e6c984d55971b26994e03a8bda63ad9d96e5e33c0ed0f533a0ed4",
"docs/ui-modernisation/visual-correction/evidence/reference/approved-recovery-1440.png": "104129976eb7cdadf9179a065fe8be2349f3dc212892f67c8b7d489bad0ab8c8"
}
}
@@ -12,6 +12,12 @@ Native evidence:81 tests/seven Career/history/import/evidence/editor/completenes
Rendered preparation: existing calendar, document/mail and Career pilots passed on priora7d72673 export; those are preserved in *-before directories and do not qualify this successor. Existing verifiers have opt-in nine-width output directories and expected-count assertions. Targeted viewport captures show the edited section/message rather than resetting every screenshot to the page top. Career matrix additionally checks that all14 keyboard edit targets are unobscured. A separate activity-marker mode reuses the dashboard fixture while skipping unaffected onboarding/layout-save flows; their published36/72 evidence remains separate.
Pending: settled source commit/build; pilots;36-configuration Career216, document/mail216, calendar108 and activity36 scans/captures; actual inspection, manifests and publication. These are intended counts, not execution claims. Mail uses intercepted synthetic save/confirmed-send/uncertain-outcome only; no real delivery, provider or model. Full34-route/57-group, complete journeys, human/device/native-language, final integrated security/recovery/release and owner visual acceptance remain OPEN.
PASSED on immutable source `b31ce6176bcb8f6a70d3e29ad4057b7cb74a1f53`: static export build and all four36-configuration matrices. Career216 scans/captures with108 intercepted profile/CV/letter writes and all14 keyboard edit targets checked per configuration; document/mail216 with72 intercepted draft/send requests and fixture downloads; calendar108 with zero writes; activity markers36 with zero writes. Nine widths320–1920, EN/NB, light/dark. No page exceptions, unexpected writes or axe violations. These are separate scoped matrices, not a complete application regression or owner acceptance; old overlapping pilots/baselines are not additive.
Career qualification limits:108 deliberately unavailable company reads,36 unavailable theme-preview reads and36 unavailable job-CV reads. Corresponding live services/physical rendering are not qualified. Documents/mail has no unavailable fixture reads. Mail confirms an explicit send before simulating an uncertain outcome; no real delivery, provider or model. A desktop marker verifier initially matched both the scroll panel and implicit details group. Retain the partial failed report, target the explicit focusable scroll panel and use the corrected final36-state run; no application change or broad rerun was needed for that selector correction.
Manual inspection:320px Career overview has open status/import sections and shows the first direct edit action sooner;320px activity displays both nonzero series marks while preserving its exact-value disclosure. Targeted profile/import/message captures retain actual content rather than returning every image to the top. The reference viewer uses exact frozen237c79b8 PNGs and distinct runtime labels, explicitly identifying older mail presentation and pending unbuilt flat-mail work. It is review evidence, not a new design concept.396 actual image bindings across11 families and nine widths plus22 reference files were checked. Artifact-browser smoke passed at390/1440 with22 screen selections, images loaded and no page errors/overflow. Those two artifact views are separate from application qualification counts. Publication is pending until committed-byte verification.
Next: seal source/harness/evidence/export identities and publish/read back, then build/qualify the separate37-test flat-mail successor. Continue remaining admin, complete Settings/evidence/error states and connected end-to-end workflows. Full34-route/57-group, complete journeys, human/device/native-language, final integrated security/recovery/release and owner visual acceptance remain OPEN.
Rollback reverts these presentation changes and marker addition; no schema/data migration or document revision rollback. Review capacity limitation: the previous review agent reached its usage limit; no new independent review or security acceptance is claimed for this successor.
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,9 @@
# Bounded source review and qualification limits
Application runtime: `b31ce6176bcb8f6a70d3e29ad4057b7cb74a1f53`. Self-review of the minimal diff: Career changes only remove decorative surfaces/padding, retain the same navigation and editor/import conditions, and preserve refs/IDs/actions. Documents retain filter/request/download owners, named articles and focus-only jump/return handlers; the jump now precedes filters. The chart adds two single-month marks using existing values and shared scale, retaining multi-month paths and the accessible exact-value table. No API, schema, dependency, renderer or revision contract changed.
No fresh independent agent review is claimed: review-agent capacity was exhausted earlier. This does not waive final integrated security or owner acceptance. Executed native114 cases, type/lint/build and the four final rendered matrices are recorded separately. The marker verifier correction targets the explicit focusable scroll group, rather than conflating it with the native details group's implicit role; its failed partial report is retained, not counted as a pass.
Career fixture gaps: company reads108, theme preview36 and job-CV reads36 deliberately unavailable. Physical PDF/live preview-service/backend qualification is not inferred. Documents/mail uses synthetic binary/draft/confirmation/uncertain outcome only. Calendar is recorded date-level deadline/follow-up display, with interview/original timezone/precision gaps still explicit. No new native/device/language, provider/model, hosted CI, recovery, production or final release acceptance.
The later flat-mail source/test working-tree edits are excluded from this runtime's source manifest and remain unbuilt. Frozen approved reference images come from237c79b8; the comparison viewer labels each actual family's own runtime and remains a partial review aid, not all34-route acceptance.
@@ -20,7 +20,11 @@ Owner correction: 3 November 2026. This register extends IM10 and the original 3
| V13 | Public language | Signed-out controls absent; locale changes left stale validation and replayed verification | RESOLVED in scoped fa6bd5d9;94 tests and504 rendered states, current-locale errors/feedback and local-only selector | Real identity, owner/native/device and final security remain open |
| V14 | Dashboard density | Default widget heights leave excessive unused space versus A3 | PARTIAL: fresh initial layout reduced54 to42 rows; all widgets retained and saved geometry unchanged;63 tests pass, final36/72 rendered successor passed; manual1440px comparison remains partial | Inspect compact scrolling and full current matrix; no silent saved-layout rewriting or blanket parity claim |
| V15 | Activity chart | A one-month nonzero series paints only move-only SVG paths, leaving a blank graph despite recorded values | CONFIRMED in a7d72673 desktop dashboard capture and DashboardView chart path source; exact values remain in the table | Bounded point-marker fix with regression; preserve shared scale, recorded values, accessible table and all multi-month series |
| V15 | Activity chart | Single-month nonzero series painted move-only paths and no visible marks | RESOLVED in b31ce617; regression plus final36 focused marker states; failed verifier locator report retained | Shared scale and exact values preserved; full dashboard parity remains separate |
| V16 | Career | Overview, navigation and structured/import collections retain nested decorative surfaces | Implemented in b31ce617;114 native Career/activity/document tests;216 Career states and all14 keyboard targets per configuration | Unavailable company/preview services, remaining evidence/error states and owner acceptance remain open |
| V17 | Mail | Whole-inbox frame compounds message cards and the jump action follows long filters | Unbuilt bounded successor:37 inbox tests/types/scoped lint passed; semantic article helper corrected | Build only after b31 evidence is sealed; new rendered qualification required, no real delivery |
| V18 | Administration | Source still contains enclosing section surfaces and benchmark report shadows | OPEN source finding; positive/unavailable/empty permissions and actual rendered review still required | Review admin routes against A3; preserve RBAC, last-admin/session, monitor actions and confirmed settings changes |
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.
@@ -1,5 +1,5 @@
{
"date": "2026-11-03",
"date": "2026-11-04",
"basis": "Owner global visual correction and final definition of done",
"widths": [
320,
@@ -87,9 +87,10 @@
"owners": [
"RemindersView"
],
"visualStatus": "PENDING_RENDERED_REVIEW",
"afterStatus": "NOT RUN",
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion"
"visualStatus": "AGENDA_MONTH_SCOPED_REVIEW_DATA_GAPS_OPEN",
"afterStatus": "PASSED:36 configurations /108 calendar states; recorded dates and month preference/link only",
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion",
"evidence": "evidence/calendar/BROWSER.json; CAREER_DOCUMENT_ACTIVITY.md"
},
{
"route": "/operations",
@@ -136,9 +137,10 @@
"owners": [
"CorrespondenceInboxPage"
],
"visualStatus": "PENDING_RENDERED_REVIEW",
"afterStatus": "NOT RUN",
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion"
"visualStatus": "REVIEWED_MATERIAL_FLAT_SUCCESSOR_PENDING",
"afterStatus": "PASSED:36 configurations /216 combined states on b31ce617; later37-test flat-mail working tree not built or qualified",
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion",
"evidence": "evidence/documents-inbox/BROWSER.json; CAREER_DOCUMENT_ACTIVITY.md"
},
{
"route": "/correspondence/review",
@@ -175,27 +177,29 @@
"owners": [
"CareerWorkspacePage"
],
"visualStatus": "PENDING_RENDERED_REVIEW",
"afterStatus": "NOT RUN",
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion"
"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",
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion",
"evidence": "evidence/career/BROWSER.json; CAREER_DOCUMENT_ACTIVITY.md"
},
{
"route": "/career/builder",
"owners": [
"CvBuilderPage"
],
"visualStatus": "PENDING_RENDERED_REVIEW",
"afterStatus": "NOT RUN",
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion"
"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",
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion",
"evidence": "evidence/career/BROWSER.json; CAREER_DOCUMENT_ACTIVITY.md"
},
{
"route": "/career/builder/:id",
"owners": [
"CvBuilderEditor"
],
"visualStatus": "CORRECTED_SCOPED_REVIEW_PENDING_FULL_ACCEPTANCE",
"afterStatus": "PASSED: 36 configurations, content/preview/AI review = 108 rendered accessibility states; manual comparison sampled phone and desktop",
"evidence": "evidence/cv/REVIEW.json; comparison.html; DISCREPANCIES.md V02/V03",
"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",
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion"
},
{
@@ -203,9 +207,10 @@
"owners": [
"DocumentsPage"
],
"visualStatus": "PENDING_RENDERED_REVIEW",
"afterStatus": "NOT RUN",
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion"
"visualStatus": "EARLY_JUMP_DIVIDED_ARTICLES_SCOPED_REVIEW",
"afterStatus": "PASSED:36 configurations /216 combined document/mail states; fixture-only download and metadata",
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion",
"evidence": "evidence/documents-inbox/BROWSER.json; CAREER_DOCUMENT_ACTIVITY.md"
},
{
"route": "/admin/audit",
@@ -354,5 +359,42 @@
"afterStatus": "NOT RUN",
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion"
}
],
"ownerVisualAcceptance": "OPEN",
"knownRemainingStateReviews": {
"/career": [
"Evidence bank actual rendering",
"Profile restore/conflict and error/empty review",
"Import failure/processing/empty states and all template previews"
],
"/settings": [
"All sections and error/loading/success states",
"Automation per-user persisted-contract gap remains open"
],
"/correspondence": [
"Unbuilt flat-mail successor",
"Embedded review suggestions and error/empty/conflict states"
],
"/admin/audit": [
"Current positive/empty/error and permission states"
],
"/admin/users": [
"Current responsive forms, rows, dialogs and last-admin protection"
],
"/admin/system": [
"Current positive runtime/config/benchmark presentation and unavailable states"
],
"/admin/processing": [
"Current list/detail/filter/error/permission states"
],
"/": [
"Launch appearance and claims protected decisions remain separate"
]
},
"remainingConnectedJourneys": [
"Discovery through detail and save/track",
"CV create/import review through edit/preview/export",
"Application status through follow-up scheduling",
"Career Profile reuse in documents"
]
}
@@ -0,0 +1,10 @@
{
"status": "PASSED",
"scope": "Static image bindings only, not rendered artifact or application acceptance",
"families": 11,
"widths": 9,
"languages": 2,
"themes": 2,
"actualImageBindings": 396,
"approvedReferenceFiles": 22
}
@@ -0,0 +1,352 @@
{
"screens": [
{
"width": 320,
"language": "en",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 320,
"language": "nb",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 320,
"language": "nb",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 360,
"language": "en",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 360,
"language": "en",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 360,
"language": "nb",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 360,
"language": "nb",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 430,
"language": "en",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 430,
"language": "en",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 430,
"language": "nb",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 430,
"language": "nb",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 768,
"language": "en",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 768,
"language": "en",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 768,
"language": "nb",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 768,
"language": "nb",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 1024,
"language": "en",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 1024,
"language": "en",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 1024,
"language": "nb",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 1024,
"language": "nb",
"mode": "dark",
"state": "single-month-markers",
"violations": []
}
],
"journeys": [
{
"width": 320,
"language": "en",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 320,
"language": "en",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 320,
"language": "nb",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 320,
"language": "nb",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 360,
"language": "en",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 360,
"language": "en",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 360,
"language": "nb",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 360,
"language": "nb",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 390,
"language": "en",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 390,
"language": "en",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 390,
"language": "nb",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 430,
"language": "en",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 430,
"language": "en",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 430,
"language": "nb",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 430,
"language": "nb",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 768,
"language": "en",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 768,
"language": "en",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 768,
"language": "nb",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 768,
"language": "nb",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1024,
"language": "en",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1024,
"language": "en",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1024,
"language": "nb",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1024,
"language": "nb",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
}
],
"errors": [],
"unexpectedWrites": [],
"mockedWrites": [],
"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"
],
"limits": [
"synthetic API fixtures, not real backend end-to-end",
"no native device/screen reader/model/provider/security/release qualification"
]
}
@@ -0,0 +1,519 @@
{
"screens": [
{
"width": 320,
"language": "en",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 320,
"language": "nb",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 320,
"language": "nb",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 360,
"language": "en",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 360,
"language": "en",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 360,
"language": "nb",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 360,
"language": "nb",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 430,
"language": "en",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 430,
"language": "en",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 430,
"language": "nb",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 430,
"language": "nb",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 768,
"language": "en",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 768,
"language": "en",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 768,
"language": "nb",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 768,
"language": "nb",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 1024,
"language": "en",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 1024,
"language": "en",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 1024,
"language": "nb",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 1024,
"language": "nb",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 1280,
"language": "en",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 1280,
"language": "en",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 1280,
"language": "nb",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 1280,
"language": "nb",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 1920,
"language": "en",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 1920,
"language": "en",
"mode": "dark",
"state": "single-month-markers",
"violations": []
},
{
"width": 1920,
"language": "nb",
"mode": "light",
"state": "single-month-markers",
"violations": []
},
{
"width": 1920,
"language": "nb",
"mode": "dark",
"state": "single-month-markers",
"violations": []
}
],
"journeys": [
{
"width": 320,
"language": "en",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 320,
"language": "en",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 320,
"language": "nb",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 320,
"language": "nb",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 360,
"language": "en",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 360,
"language": "en",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 360,
"language": "nb",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 360,
"language": "nb",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 390,
"language": "en",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 390,
"language": "en",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 390,
"language": "nb",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 430,
"language": "en",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 430,
"language": "en",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 430,
"language": "nb",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 430,
"language": "nb",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 768,
"language": "en",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 768,
"language": "en",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 768,
"language": "nb",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 768,
"language": "nb",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1024,
"language": "en",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1024,
"language": "en",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1024,
"language": "nb",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1024,
"language": "nb",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1280,
"language": "en",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1280,
"language": "en",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1280,
"language": "nb",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1280,
"language": "nb",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1440,
"language": "en",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1920,
"language": "en",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1920,
"language": "en",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1920,
"language": "nb",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
},
{
"width": 1920,
"language": "nb",
"mode": "dark",
"recordedSingleMonthMarkersSharedScale": "PASS"
}
],
"errors": [],
"unexpectedWrites": [],
"mockedWrites": [],
"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": [
"synthetic API fixtures, not real backend end-to-end",
"no native device/screen reader/model/provider/security/release qualification"
]
}
@@ -0,0 +1,29 @@
{
"screens": [
{
"width": 320,
"language": "en",
"mode": "light",
"state": "single-month-markers",
"violations": []
}
],
"journeys": [
{
"width": 320,
"language": "en",
"mode": "light",
"recordedSingleMonthMarkersSharedScale": "PASS"
}
],
"errors": [],
"unexpectedWrites": [],
"mockedWrites": [],
"blockedExternal": [
"https://fonts.googleapis.com"
],
"limits": [
"synthetic API fixtures, not real backend end-to-end",
"no native device/screen reader/model/provider/security/release qualification"
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 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: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 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: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

File diff suppressed because it is too large Load Diff
@@ -0,0 +1,74 @@
{
"screens": [
{
"width": 320,
"language": "en",
"mode": "light",
"state": "agenda",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "light",
"state": "month",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "light",
"state": "linked-application",
"violations": []
}
],
"journeys": [
{
"width": 320,
"language": "en",
"mode": "light",
"agendaMonthSelectionPersistedPreferenceBoundedMonthNavigationLinkedDeadline": "PASS"
}
],
"errors": [],
"unexpectedWrites": [],
"reads": [
{
"width": 320,
"language": "en",
"mode": "light",
"from": "2026-11-01",
"to": "2026-11-30"
},
{
"width": 320,
"language": "en",
"mode": "light",
"from": "2026-12-01",
"to": "2026-12-31"
},
{
"width": 320,
"language": "en",
"mode": "light",
"from": "2026-11-01",
"to": "2026-11-30"
},
{
"width": 320,
"language": "en",
"mode": "light",
"from": "2026-11-01",
"to": "2026-11-30"
}
],
"blockedExternal": [
"https://fonts.googleapis.com",
"https://fonts.googleapis.com"
],
"limits": [
"Controlled API fixtures, not a live backend/provider or reminder delivery.",
"Date-level recorded deadline/follow-up display; no fabricated interview appointments or source timezone reconstruction.",
"No native-device, physical rendering, final security or release qualification."
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Some files were not shown because too many files have changed in this diff Show More