test(calendar): qualify connected follow-up and agenda refresh

This commit is contained in:
cesnimda
2026-11-09 22:12:27 +01:00
parent c0ef4171d5
commit e585561a02
112 changed files with 2770 additions and 12 deletions
+2
View File
@@ -1,5 +1,7 @@
# A3-IM10 Cross-application qualification
4 November follow-up source **c0ef4171d5451abfeba09321990380c395728c20**:23 native cases/four suites, types/full lint/build and8 representative configurations/48 states PASSED. Native/browser RED reproduced stale sibling agenda after scheduling; parent refresh token now updates it after successful schedule/clear, not failed PATCH, preserving month/view. Browser journey traverses real More/navigation/status/Reminders/context controls;16 intercepted mutations,zero unavailable reads/errors/axe. See visual-correction/FOLLOWUP_JOURNEY_REVIEW.md. No provider/backend scheduling/date-model/physical PDF acceptance. Publication remains pending HTTP502; last known remote8fef819c. Remaining route/error/owner/native/European/Phase10/security/recovery/release gates OPEN.
4 November CV-count source **122956b6a38f4dc06b461383f31fdaa2658a6fdb**:81 native cases/two suites, types/full lint/export build and36 configurations/72 caption states PASSED,zero writes/errors/axe violations. V23 one-entry/page captions corrected, no new dynamic calls; pagination, source content, settings and revision behavior preserved. See visual-correction/CV_COUNTS_REVIEW.md for retained failures and exact scope. Preceding CV journey7e2bf201 remains local-only pending publication; last successful remote8fef819c. No production/renderer/security/owner acceptance inferred.
4 November Profile→CV creation/edit/preview/download client journey on unchanged **9bfc51b067c4da4164b84578f5dacf452125ba62**:8 representative390/1440×EN/NB×theme journeys/40 states PASSED,16 intercepted creates/renames and8 revision-checked export/download events. No unexpected writes/errors/axe violations;8 company and8 template-preview reads unavailable. Selected contact/summary inheritance request and unchanged settings at rename checked; backend Profile rendering/physical PDF NOT RUN. Synthetic download bytes explicitly are not a PDF. See visual-correction/CV_JOURNEY_REVIEW.md. Matching-count receipt **8fef819c4e5a17eee65c8707d014155dea8a6322** published/readback-verified with1,256 integrity checks. Remaining application→follow-up/import/error/native/owner/security/recovery/release gates stay OPEN.
@@ -31,6 +31,7 @@ Owner correction: 3 November 2026. This register extends IM10 and the original 3
| 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` | RESOLVED in122956b6:81 native cases and36 configurations/72 focused caption states passed,zero writes | Entry-count formula and physical pagination unchanged; full native/European/owner acceptance separate |
| V24 | Calendar workflow | Scheduling updates reminder card but leaves adjacent agenda stale | RESOLVED inc0ef4171;23 native cases and8 configurations/48 connected states passed,16 intercepted status/date writes | Refresh only after committed follow-up change; preserve selected month/view; backend/provider/timezone/native/owner acceptance remains separate |
The owner-approved design foundation remains original A1 dashboard, D1 visual system, B1 tracking, editor left / preview right, application context right, desktop sidebar and hybrid mobile navigation. No controls, imports, revisions, permissions or provider rights may be removed to obtain visual simplicity.
@@ -0,0 +1,17 @@
# Application status, follow-up and agenda refresh
4 November 2026. Runtime `c0ef4171d5451abfeba09321990380c395728c20`, after local CV-caption receipte70c7098. Remote publication was HTTP502 at that preceding checkpoint; do not infer remote identity from local commits.
The initial unchanged-source122956 client journey passed8 configurations/40 states: Table→Board→Waiting→actual app navigation (including phone More)→Reminders→schedule3 days ahead→linked application context. Its source-bound evidence is retained in `evidence/followup-before-agenda`. It did not verify agenda refresh and is not a complete successor pass or additive total.
Extending the fixture to expose the recorded date reproduced a real stale-agenda defect: the reminder card updates but CalendarAgenda remains empty. CalendarPage renders the two siblings independently; only the reminder resource reloads after PATCH. Browser failure and native RED are retained. The native test independently reproduces the missing agenda link after successful scheduling.
Fix at the existing common parent: CalendarPage owns a small refresh counter, CalendarAgenda includes its optional token in existing resource dependencies, and RemindersView notifies only after a successful follow-up PATCH. No event bus, polling, provider/model, dependency, data model, migration or backend endpoint change. Every production caller was inspected; optional props preserve standalone callers/tests. The agenda stays mounted, preserving selected month/date/view instead of resetting it.
PASSED:23 native cases/four suites (new cross-component scheduling/clear/failure/view-preservation regression, existing agenda/reminder/calendar-action contracts), type-check, full lint, build and whitespace checks. The new test freezes synthetic time; it is not native-device or production scheduling evidence. Scheduling and clearing each refresh once; failed PATCH does not refresh; selected month and month-grid preference survive.
PASSED successor browser qualification:8 representative390/1440×EN/NB×theme journeys/48 states, six each including the refreshed agenda and linked context. Zero unavailable reads, page exceptions, unexpected writes or axe violations. The overlapping pilot1/6 is not additive. Every response/write is intercepted: exactly eight existing status PATCHes and eight date-only follow-up PATCHes. Date calculation retains the existing UTC-slice3-day policy; original timezone precision, interview appointments and provider calendars remain separate gaps. No email/provider job or actual database scheduling runs.
Examples: [phone refreshed agenda](evidence/followup-journey/agenda-refreshed-en-light-390.png), [desktop Bokmål/dark agenda](evidence/followup-journey/agenda-refreshed-nb-dark-1440.png), [phone linked context](evidence/followup-journey/linked-context-en-light-390.png). Frozen A3 calendar references remain at [390](evidence/reference/approved-calendar-390.png) and [1440](evidence/reference/approved-calendar-1440.png).
Remaining: actual backend scheduling/tenant/revision qualification, failure/retry across navigation, original timezone/precision data model and human/native/owner acceptance. Historical unchanged date-rendering evidence stays source-bound; no PDF metrics reopened. Rollback reverts the parent/token/callback delta and its regression; no data rollback. Full A3/Phase10/European/integrated security/recovery/release acceptance remain OPEN.
File diff suppressed because it is too large Load Diff
@@ -88,9 +88,9 @@
"RemindersView"
],
"visualStatus": "AGENDA_MONTH_SCOPED_REVIEW_DATA_GAPS_OPEN",
"afterStatus": "PASSED:36 configurations /108 calendar states; recorded dates and month preference/link only",
"afterStatus": "PASSED:36 configurations /108 calendar states; recorded dates and month preference/link only; status/navigation/schedule/refreshed-agenda/linked-context8 representative configurations/48 states passed atc0ef4171; provider/backend scheduling NOT RUN",
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion",
"evidence": "evidence/calendar/BROWSER.json; CAREER_DOCUMENT_ACTIVITY.md"
"evidence": "evidence/calendar/BROWSER.json; CAREER_DOCUMENT_ACTIVITY.md; FOLLOWUP_JOURNEY_REVIEW.md; evidence/followup-journey/BROWSER.json"
},
{
"route": "/operations",
@@ -0,0 +1,476 @@
{
"screens": [
{
"width": 390,
"language": "en",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "status",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "reminder",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "scheduled",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "linked-context",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "dark",
"state": "status",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "dark",
"state": "reminder",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "dark",
"state": "scheduled",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "dark",
"state": "linked-context",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "light",
"state": "status",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "light",
"state": "reminder",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "light",
"state": "scheduled",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "light",
"state": "linked-context",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"state": "status",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"state": "reminder",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"state": "scheduled",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"state": "linked-context",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "status",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "reminder",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "scheduled",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "linked-context",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"state": "status",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"state": "reminder",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"state": "scheduled",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"state": "linked-context",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"state": "status",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"state": "reminder",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"state": "scheduled",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"state": "linked-context",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"state": "status",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"state": "reminder",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"state": "scheduled",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"state": "linked-context",
"violations": []
}
],
"journeys": [
{
"width": 390,
"language": "en",
"mode": "light",
"statusToFollowUpThroughNavigation": "PASS",
"recordedDateRetainedInLinkedContext": "PASS",
"providersAndBackendScheduling": "NOT RUN"
},
{
"width": 390,
"language": "en",
"mode": "dark",
"statusToFollowUpThroughNavigation": "PASS",
"recordedDateRetainedInLinkedContext": "PASS",
"providersAndBackendScheduling": "NOT RUN"
},
{
"width": 390,
"language": "nb",
"mode": "light",
"statusToFollowUpThroughNavigation": "PASS",
"recordedDateRetainedInLinkedContext": "PASS",
"providersAndBackendScheduling": "NOT RUN"
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"statusToFollowUpThroughNavigation": "PASS",
"recordedDateRetainedInLinkedContext": "PASS",
"providersAndBackendScheduling": "NOT RUN"
},
{
"width": 1440,
"language": "en",
"mode": "light",
"statusToFollowUpThroughNavigation": "PASS",
"recordedDateRetainedInLinkedContext": "PASS",
"providersAndBackendScheduling": "NOT RUN"
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"statusToFollowUpThroughNavigation": "PASS",
"recordedDateRetainedInLinkedContext": "PASS",
"providersAndBackendScheduling": "NOT RUN"
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"statusToFollowUpThroughNavigation": "PASS",
"recordedDateRetainedInLinkedContext": "PASS",
"providersAndBackendScheduling": "NOT RUN"
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"statusToFollowUpThroughNavigation": "PASS",
"recordedDateRetainedInLinkedContext": "PASS",
"providersAndBackendScheduling": "NOT RUN"
}
],
"aliases": [],
"focusChecks": [],
"errors": [],
"unexpectedWrites": [],
"mockedWrites": [
{
"width": 390,
"language": "en",
"mode": "light",
"status": "Waiting"
},
{
"width": 390,
"language": "en",
"mode": "light",
"action": "scheduleFollowUp",
"recordedDate": "2026-11-07"
},
{
"width": 390,
"language": "en",
"mode": "dark",
"status": "Waiting"
},
{
"width": 390,
"language": "en",
"mode": "dark",
"action": "scheduleFollowUp",
"recordedDate": "2026-11-07"
},
{
"width": 390,
"language": "nb",
"mode": "light",
"status": "Waiting"
},
{
"width": 390,
"language": "nb",
"mode": "light",
"action": "scheduleFollowUp",
"recordedDate": "2026-11-07"
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"status": "Waiting"
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"action": "scheduleFollowUp",
"recordedDate": "2026-11-07"
},
{
"width": 1440,
"language": "en",
"mode": "light",
"status": "Waiting"
},
{
"width": 1440,
"language": "en",
"mode": "light",
"action": "scheduleFollowUp",
"recordedDate": "2026-11-07"
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"status": "Waiting"
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"action": "scheduleFollowUp",
"recordedDate": "2026-11-07"
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"status": "Waiting"
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"action": "scheduleFollowUp",
"recordedDate": "2026-11-07"
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"status": "Waiting"
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"action": "scheduleFollowUp",
"recordedDate": "2026-11-07"
}
],
"unavailableReads": [],
"blockedExternal": [
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com"
],
"limits": [
"controlled fixtures, not real backend integration",
"secondary service reads may return honest unavailable states",
"no native device, provider, model, security or release qualification"
]
}
@@ -0,0 +1,77 @@
{
"screens": [
{
"width": 390,
"language": "en",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "status",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "reminder",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "scheduled",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "linked-context",
"violations": []
}
],
"journeys": [
{
"width": 390,
"language": "en",
"mode": "light",
"statusToFollowUpThroughNavigation": "PASS",
"recordedDateRetainedInLinkedContext": "PASS",
"providersAndBackendScheduling": "NOT RUN"
}
],
"aliases": [],
"focusChecks": [],
"errors": [],
"unexpectedWrites": [],
"mockedWrites": [
{
"width": 390,
"language": "en",
"mode": "light",
"status": "Waiting"
},
{
"width": 390,
"language": "en",
"mode": "light",
"action": "scheduleFollowUp",
"recordedDate": "2026-11-07"
}
],
"unavailableReads": [],
"blockedExternal": [
"https://fonts.googleapis.com"
],
"limits": [
"controlled fixtures, not real backend integration",
"secondary service reads may return honest unavailable states",
"no native device, provider, model, security or release qualification"
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

@@ -0,0 +1,532 @@
{
"screens": [
{
"width": 390,
"language": "en",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "status",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "reminder",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "scheduled",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "agenda-refreshed",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "linked-context",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "dark",
"state": "status",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "dark",
"state": "reminder",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "dark",
"state": "scheduled",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "dark",
"state": "agenda-refreshed",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "dark",
"state": "linked-context",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "light",
"state": "status",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "light",
"state": "reminder",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "light",
"state": "scheduled",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "light",
"state": "agenda-refreshed",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "light",
"state": "linked-context",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"state": "status",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"state": "reminder",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"state": "scheduled",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"state": "agenda-refreshed",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"state": "linked-context",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "status",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "reminder",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "scheduled",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "agenda-refreshed",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "linked-context",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"state": "status",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"state": "reminder",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"state": "scheduled",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"state": "agenda-refreshed",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"state": "linked-context",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"state": "status",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"state": "reminder",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"state": "scheduled",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"state": "agenda-refreshed",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"state": "linked-context",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"state": "table",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"state": "status",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"state": "reminder",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"state": "scheduled",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"state": "agenda-refreshed",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"state": "linked-context",
"violations": []
}
],
"journeys": [
{
"width": 390,
"language": "en",
"mode": "light",
"statusToFollowUpThroughNavigation": "PASS",
"recordedDateRetainedInLinkedContext": "PASS",
"providersAndBackendScheduling": "NOT RUN"
},
{
"width": 390,
"language": "en",
"mode": "dark",
"statusToFollowUpThroughNavigation": "PASS",
"recordedDateRetainedInLinkedContext": "PASS",
"providersAndBackendScheduling": "NOT RUN"
},
{
"width": 390,
"language": "nb",
"mode": "light",
"statusToFollowUpThroughNavigation": "PASS",
"recordedDateRetainedInLinkedContext": "PASS",
"providersAndBackendScheduling": "NOT RUN"
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"statusToFollowUpThroughNavigation": "PASS",
"recordedDateRetainedInLinkedContext": "PASS",
"providersAndBackendScheduling": "NOT RUN"
},
{
"width": 1440,
"language": "en",
"mode": "light",
"statusToFollowUpThroughNavigation": "PASS",
"recordedDateRetainedInLinkedContext": "PASS",
"providersAndBackendScheduling": "NOT RUN"
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"statusToFollowUpThroughNavigation": "PASS",
"recordedDateRetainedInLinkedContext": "PASS",
"providersAndBackendScheduling": "NOT RUN"
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"statusToFollowUpThroughNavigation": "PASS",
"recordedDateRetainedInLinkedContext": "PASS",
"providersAndBackendScheduling": "NOT RUN"
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"statusToFollowUpThroughNavigation": "PASS",
"recordedDateRetainedInLinkedContext": "PASS",
"providersAndBackendScheduling": "NOT RUN"
}
],
"aliases": [],
"focusChecks": [],
"errors": [],
"unexpectedWrites": [],
"mockedWrites": [
{
"width": 390,
"language": "en",
"mode": "light",
"status": "Waiting"
},
{
"width": 390,
"language": "en",
"mode": "light",
"action": "scheduleFollowUp",
"recordedDate": "2026-11-07"
},
{
"width": 390,
"language": "en",
"mode": "dark",
"status": "Waiting"
},
{
"width": 390,
"language": "en",
"mode": "dark",
"action": "scheduleFollowUp",
"recordedDate": "2026-11-07"
},
{
"width": 390,
"language": "nb",
"mode": "light",
"status": "Waiting"
},
{
"width": 390,
"language": "nb",
"mode": "light",
"action": "scheduleFollowUp",
"recordedDate": "2026-11-07"
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"status": "Waiting"
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"action": "scheduleFollowUp",
"recordedDate": "2026-11-07"
},
{
"width": 1440,
"language": "en",
"mode": "light",
"status": "Waiting"
},
{
"width": 1440,
"language": "en",
"mode": "light",
"action": "scheduleFollowUp",
"recordedDate": "2026-11-07"
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"status": "Waiting"
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"action": "scheduleFollowUp",
"recordedDate": "2026-11-07"
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"status": "Waiting"
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"action": "scheduleFollowUp",
"recordedDate": "2026-11-07"
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"status": "Waiting"
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"action": "scheduleFollowUp",
"recordedDate": "2026-11-07"
}
],
"unavailableReads": [],
"blockedExternal": [
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com"
],
"limits": [
"controlled fixtures, not real backend integration",
"secondary service reads may return honest unavailable states",
"no native device, provider, model, security or release qualification"
]
}
@@ -0,0 +1,84 @@
{
"screens": [
{
"width": 390,
"language": "en",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "status",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "reminder",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "scheduled",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "agenda-refreshed",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "linked-context",
"violations": []
}
],
"journeys": [
{
"width": 390,
"language": "en",
"mode": "light",
"statusToFollowUpThroughNavigation": "PASS",
"recordedDateRetainedInLinkedContext": "PASS",
"providersAndBackendScheduling": "NOT RUN"
}
],
"aliases": [],
"focusChecks": [],
"errors": [],
"unexpectedWrites": [],
"mockedWrites": [
{
"width": 390,
"language": "en",
"mode": "light",
"status": "Waiting"
},
{
"width": 390,
"language": "en",
"mode": "light",
"action": "scheduleFollowUp",
"recordedDate": "2026-11-07"
}
],
"unavailableReads": [],
"blockedExternal": [
"https://fonts.googleapis.com"
],
"limits": [
"controlled fixtures, not real backend integration",
"secondary service reads may return honest unavailable states",
"no native device, provider, model, security or release qualification"
]
}
@@ -0,0 +1,61 @@
{
"screens": [
{
"width": 390,
"language": "en",
"mode": "light",
"state": "table",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "status",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "reminder",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "scheduled",
"violations": []
}
],
"journeys": [],
"aliases": [],
"focusChecks": [],
"errors": [],
"unexpectedWrites": [],
"mockedWrites": [
{
"width": 390,
"language": "en",
"mode": "light",
"status": "Waiting"
},
{
"width": 390,
"language": "en",
"mode": "light",
"action": "scheduleFollowUp",
"recordedDate": "2026-11-07"
}
],
"unavailableReads": [],
"blockedExternal": [
"https://fonts.googleapis.com"
],
"limits": [
"controlled fixtures, not real backend integration",
"secondary service reads may return honest unavailable states",
"no native device, provider, model, security or release qualification"
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

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