diff --git a/docs/redesign/phase-7/COMMITS.md b/docs/redesign/phase-7/COMMITS.md index 84f4172..82ffac3 100644 --- a/docs/redesign/phase-7/COMMITS.md +++ b/docs/redesign/phase-7/COMMITS.md @@ -8,7 +8,8 @@ Entry is the completed Phase6 successor receipt `b5319981ad3d1bd635daff861453d23 |---|---|---| | P7-00 inventory, preservation/debt and unchanged-source baseline | `27c54146ad6f9059295d169b533db7b1b6689210` | [P7-00](p7-00/README.md), [fresh finite baseline](p7-00/evidence/baseline.json) and [static checks](p7-00/evidence/static-checks.json); inherited runtime explicitly separated. Normal development push verified2026-10-11 14:44:45UTC: localHEAD=origin=live development27c5414; local/origin/live main unchanged27657f3; clean worktree. P7-01 entry dependency satisfied | | P7-01 public authentication sub-slice | `8ad720da5db5999ecda787575dc45621d18a5498` | [Public report](p7-01/README.md#public-authentication-implementation-and-acceptance), [immutable-source/runtime evidence](p7-01/evidence/public-auth-results.json): affected61/61, native22/22, isolated SMTP2/2, SMTP helper6/6 and unchanged-backend auth subset87/87; final types/lint/build pass. Public slice CONDITIONAL GO with31 contrast incompletes/manual/provider conditions. Normal push verified2026-10-11 18:50:24UTC: localHEAD=origin=live development8ad720d; local/origin/live main27657f3 unchanged. No completed public work remains uncommitted; independent account work in flight. Whole P7-01 remains PENDING | -| P7-01 account identity/security and final checkpoint outcome | PENDING normal account commit/push | [Account report](p7-01/README.md#account-identity-and-security-implementation), [frozen account source/runtime](p7-01/evidence/account-results.json): full573/89 (+52/+4 from521/85), native account6/public22/auth-boundaries10, types/lint/build all pass; actual eight final PNGs inspected. Implemented P7-01 scope CONDITIONAL GO, account85/public31 incompletes and manual/provider/production gates retained;57/32 statuses unchanged. Final staged finite hygiene and actual account push/direct remote receipt pending; no push inferred. Source/export frozen independently from public8ad720d | +| P7-01 account identity/security and final checkpoint outcome | `ad7b4196af638f3a8c79e261ffd96507bd002835` | [Account report](p7-01/README.md#account-identity-and-security-implementation), [frozen account source/runtime](p7-01/evidence/account-results.json): full573/89 (+52/+4 from521/85), native account6/public22/auth-boundaries10, types/lint/build all pass; actual eight final PNGs inspected. Implemented P7-01 scope CONDITIONAL GO, account85/public31 incompletes and manual/provider/production gates retained;57/32 statuses unchanged. Final staged secret/whitespace/docs/matrix checks PASS (303 local links,57 groups/32 routes); normal push verified2026-10-11 19:16:15UTC: localHEAD=origin=live developmentad7b419, local/origin/live main27657f3 unchanged, worktree clean at observation. Actual receipt appended by successor; P7-02 entry satisfied. Source/export frozen independently from public8ad720d | +| P7-02 onboarding guidance sub-slice | PENDING actual commit/push | [Report](p7-02/README.md), [frozen source/runtime](p7-02/evidence/onboarding-results.json): affected32/2 (+23 net over nine inherited subset cases), ordinary native13/regression4, app/browser types/lint/build and actual13-image review pass. BuildbwZtqlczGqVRJ0J01IxVK; thirteen all-enabled scans0/13 incompletes with M11/manual/provider conditions. Retry-focus unit/native RED and earlier12-pass history retained; latest full573/89 inherited,596 derived only. Implemented onboarding CONDITIONAL GO; slice-specific hygiene PASS (four commands0,9docs/329links/0errors,57/32 retained) and direct normal push receipt pending. Career overview/evidence and whole P7-02 pending;57/32 unchanged/main NO-GO | Hashes and remote receipts are appended by a successor to avoid self-referential commit hashes. Each row records actual commands/results, source scope, remaining conditions, normal push and immediate direct remote identity; partial or blocked evidence is recorded without inventing success. Subsequent receipt metadata is a separately reviewable documentation unit, with its own hash reported after push rather than an endless receipt chain. diff --git a/docs/redesign/phase-7/DEBT.md b/docs/redesign/phase-7/DEBT.md index 20a4eee..53bd1d0 100644 --- a/docs/redesign/phase-7/DEBT.md +++ b/docs/redesign/phase-7/DEBT.md @@ -79,10 +79,16 @@ RD28 public runtime provenance is retained in the immutable `.artifacts/phase7/p [Account results](p7-01/evidence/account-results.json) add fresh573/89 frontend, account6/public22/auth-boundaries10 and types/lint/build pass. The account8 all-enabled scans retain0 violation nodes/85 incomplete occurrences: contrast84 (74 overlap/8 short-text/2 partial overlap) and hidden-focus1 targeting`#root` in the failed revoke-others modal. Actual keyboard trap/return and modal-local error/retry assertions pass; **M09/M11 remain required**, including spoken state and contextual contrast/forced colors. The account-build public22 scans separately retain31 contrast incompletes. Keep these30/116 current finite occurrences separate from the319/2,473 inherited mixed-scope Phase6 records and earlier pre-copy account8/84. -Copy fixes following actual visual review truthfully describe stored profile CV text and natural Microsoft unavailability, without changing Career CV labels, fetching the CV library or exposing setup variables to the product user. Identity-only persist/reload and canonical/sibling no-write evidence do not close Career concurrency/import/override/render/production debts. Fresh full573 supersedes the historical pre-copy571 runtime count; no test is skipped to obtain acceptance. All eight final post-copy PNGs were actually inspected and implemented scope is CONDITIONAL GO; finite hygiene/account push receipt remains pending. Exact runtime/attempt/build/unit/source/export evidence is frozen under `.artifacts/phase7/p7-01/account-final/`, with206 path/hash references verified. The immutable public static record is separate from the latest account static checks. RD06/RD07/RD25 and all manual/provider/release obligations stay open. +Copy fixes following actual visual review truthfully describe stored profile CV text and natural Microsoft unavailability, without changing Career CV labels, fetching the CV library or exposing setup variables to the product user. Identity-only persist/reload and canonical/sibling no-write evidence do not close Career concurrency/import/override/render/production debts. Fresh full573 supersedes the historical pre-copy571 runtime count; no test is skipped to obtain acceptance. All eight final post-copy PNGs were actually inspected and implemented scope is CONDITIONAL GO; final staged finite hygiene passed and accountad7b419 is normally pushed with actual localHEAD=origin=live receipt2026-10-11 19:16:15UTC; main unchanged, worktree clean at observation. Exact runtime/attempt/build/unit/source/export evidence is frozen under `.artifacts/phase7/p7-01/account-final/`, with206 path/hash references verified. The immutable public static record is separate from the latest account static checks. RD06/RD07/RD25 and all manual/provider/release obligations stay open. ## Evidence and production limits +### P7-02 onboarding conditional disposition + +[Onboarding results](p7-02/evidence/onboarding-results.json) add fresh affected32/2, ordinary native13 and separate existing Dashboard/Analytics4 with types/lint/build passing. All13 final PNGs were actually inspected; thirteen all-enabled scans retain0 violation nodes/13 `color-contrast` incomplete occurrences on the invisible notification badge `0` (`shortTextContent`). Keep M09/M11 contextual/human qualification and all provider/zoom/physical-input gates open. The connected-mailbox response in the four-complete native case is an explicit stored-connection fixture, not a real grant. Controlled English failure text is server-fixture detail; translated product guidance/fallbacks remain separate. + +Actual review demonstrated lost focus when Retry disappeared. Five strengthened existing unit cases and one focused native case reproduced it before the bounded Dismiss-ref/focus correction; final native13 proves retry focus and next action after dismissal/complete recovery. Existing Dashboard summary Retry recovery still captures focus on the shell Skip link with altered scroll; its owner focus restoration remains unqualified. Presentation retry does not diagnose historical Dashboard/Board500 causes or close RD08–RD14. Latest full573/89 is inherited;596/89 is derived573+23 only. Exact source/test/build/export/runner/raw/unit/history are frozen under `.artifacts/phase7/p7-02/onboarding-final/`,154 file-reference hashes verified; initial pre-focus source/export observations are historical identities rather than claimed snapshots. Implemented onboarding CONDITIONAL GO is final hygiene PASS/push pending; Career overview/evidence and whole P7-02 remain pending,57/32 statuses unchanged. + The early Phase6 runner retained exact failure commands/reports/logs but reused result folders, so not all old screenshots/traces/error-context paths remain resolvable. Later runs archive the whole previous output; current successful attachments have exact provenance. Preserve that limit rather than claiming complete old failure-trace retention. Native Windows Chromium/local SQLite/synthetic fixtures and finite PDF oracles do not establish deployed Linux, human semantics, physical devices, real provider quality or production load. API transferSize0 is unavailable cross-origin timing information, not zero network bytes. CDP document/node/heap snapshots can retain earlier navigation/CV iframe documents and do not prove leak/growth. The existing measured Board/Dashboard candidates require baseline/comparative evidence before a repair or capacity claim. diff --git a/docs/redesign/phase-7/PRESERVATION.md b/docs/redesign/phase-7/PRESERVATION.md index 176236c..7871a63 100644 --- a/docs/redesign/phase-7/PRESERVATION.md +++ b/docs/redesign/phase-7/PRESERVATION.md @@ -19,8 +19,8 @@ The migration-owner column assigns the approved slice while retaining completed | **PRES-E05** Sessions/current-device/revoke/logout | [Shell/private lifecycle](../phase-5/p5-02/README.md), Sessions/account-scoped tests | PARTIAL | Native session-card refresh after remote revocation and complete device/AT acceptance | P7-01; E01 retained product inventory | | **PRES-E06** Avatar/account identity/email/password | [Retained `/profile` and confirmation route](../phase-5/p5-15/ROUTE_ACCEPTANCE.md) | PARTIAL | Complete avatar/remove/password/email-change native flow; account identity remains distinct from career facts | P7-01; E01 retained product inventory | | **PRES-E07** Expanded/rail/mobile navigation, active route, commands | [Grouped shell](../phase-5/p5-01/README.md), [utilities](../phase-5/p5-02/README.md), [drawer repair](../phase-5/p5-15/p5-15-04/mobile-drawer/README.md) | PARTIAL | Spoken names/live state, settled drawer AX-name triage and historical command/dialog timing; no route silently hidden | Retain shell; P7-11 verified residual / P7-12 | -| **PRES-E08** Themes, EN/NB hydration, shared toast/confirm/prompt/errors | [Semantic foundations](../phase-4/p4-06/README.md), [shared readiness](../phase-5/p5-00/README.md), [P6 corrections](../phase-6/p6-01/README.md) | PARTIAL | Full OS/locale/state cross-product, contrast/incomplete axe, reader/reflow; save feedback is distinct from server500 root-cause repair | Every affected slice / P7-12 | -| **PRES-E09** Account switch/stale read-write/BFCache/revalidation | [Native owned-resource protection](../phase-5/p5-13-readiness/README.md), [auth expiry/logout proof](../phase-5/p5-15/p5-15-01/analytics-auth-repair/README.md) | PARTIAL | Broader BFCache/offline/old-bundle/deployed cases; presentation never becomes authorization | Every affected slice / P7-12 | +| **PRES-E08** Themes, EN/NB hydration, shared toast/confirm/prompt/errors | [Semantic foundations](../phase-4/p4-06/README.md), [shared readiness](../phase-5/p5-00/README.md), [P6 corrections](../phase-6/p6-01/README.md), [P7-02 finite onboarding](p7-02/evidence/onboarding-results.json) | PARTIAL | Full OS/locale/state cross-product, contrast/incomplete axe, reader/reflow; save feedback is distinct from server500 root-cause repair | Every affected slice / P7-12 | +| **PRES-E09** Account switch/stale read-write/BFCache/revalidation | [Native owned-resource protection](../phase-5/p5-13-readiness/README.md), [auth expiry/logout proof](../phase-5/p5-15/p5-15-01/analytics-auth-repair/README.md), [P7-02 owner-local dismissal](p7-02/evidence/onboarding-results.json) | PARTIAL | Broader BFCache/offline/old-bundle/deployed cases; presentation never becomes authorization | Every affected slice / P7-12 | | **PRES-J01** NAV search/filter/sort/source/freshness/details | [Retained Discover owner](../phase-5/p5-15/ROUTE_ACCEPTANCE.md) | PARTIAL | Live NAV availability/freshness and long-result keyboard/narrow traversal | P7-05 | | **PRES-J02** Named saved searches/run/delete/alerts/results/dismiss | [Native saved-search repair](../phase-5/p5-15/p5-15-01/saved-search-repair/README.md) | PARTIAL | Actual scheduler-to-owned-notification delivery, human/mobile delete acceptance and intended-provider qualification; deterministic runner is not live NAV | P7-05 | | **PRES-J03** Reviewed manual/URL/paste creation/company/tags/dates/duplicates | [Jobs/Add](../phase-5/p5-03/README.md), shared AddJobModal; transport boundary tests | PARTIAL | Duplicate/company/date/interrupted creation and distinct creation-intent idempotency debt; preview/open is no-write | Retain Jobs/capture; P7-11 verified residual / P7-12 | @@ -62,7 +62,7 @@ The migration-owner column assigns the approved slice while retaining completed | **PRES-M05** Gmail reviewed job/link/reject/keep/notes/sync/create | [Review alias/native route](../phase-5/p5-15/ROUTE_ACCEPTANCE.md), review controller/page tests | PARTIAL | Real provider and complete proposed-job create flow; route opening is no-write | P7-06 | | **PRES-M06** Gmail/Graph/IMAP connect/status/disconnect | [Retained Connections](../phase-5/p5-15/ROUTE_ACCEPTANCE.md), connection/controller tests | PARTIAL | Real grants/revoke/token expiry/reconnect/IMAP safety; keep sign-in identity separate | P7-06/09 | | **PRES-S01** Personal counts/activity/funnel/company/skills/stage/salary/next action | [Dashboard](../phase-5/p5-06/README.md), [implemented Analytics](../phase-5/p5-07/README.md), [target correction](../phase-5/p5-15/p5-15-04/report-targets/README.md) | PARTIAL | Exact cohort/timezone/sample/unsupported metrics and whole reader acceptance; no fabricated statistics or Analytics rebuild | Retain reports; P7-11 residual | -| **PRES-S02** Five owner-local flags/onboarding/bell read-dismiss | [Dashboard flags](../phase-5/p5-06/README.md), [bell](../phase-5/p5-02/README.md), [12 concurrent rounds](../phase-5/p5-15/p5-15-06/README.md) | PARTIAL | Historical500 causes unproved; full onboarding/notification acceptance; order/resize/reset/cross-device design remains Phase8 | P7-02/08; Phase8 separate | +| **PRES-S02** Five owner-local flags/onboarding/bell read-dismiss | [Dashboard flags](../phase-5/p5-06/README.md), [bell](../phase-5/p5-02/README.md), [12 concurrent rounds](../phase-5/p5-15/p5-15-06/README.md), [P7-02 truthful guidance/legacy dismissal](p7-02/evidence/onboarding-results.json) | PARTIAL | Historical500 causes unproved; full human/notification acceptance; order/resize/reset/cross-device design remains Phase8 | P7-02/08; Phase8 separate | | **PRES-S03** Rules/notification/table/theme/language/account preferences | [Settings primitives](../phase-4/p4-04/README.md), [Rules retention](../phase-5/p5-15/p5-15-01/rules-draft-repair/README.md), [P6 feedback](../phase-6/p6-01/README.md) | PARTIAL | Language failure visibility is separate from RD11 server cause; RD12 notification locking/RD13 Rules500 and human/provider acceptance retained | P7-09 | | **PRES-S04** Privacy/AI usage/limits/server entitlement/billing availability | [AI protocol/privacy/metering](../phase-5/p5-13-readiness/README.md), plan/usage tests | PARTIAL | Checkout/webhook/portal and provider delivery; temporary C11 withholding cannot disable unrelated AI or imply successful review | P7-09 | | **PRES-S05** Account ZIP/encrypted backup/lifecycle/deliberate delete | [Native package/ZIP relationships](../phase-5/p5-08b-readiness/README.md), [release recovery gate](../phase-5/p5-15/p5-15-05/README.md) | PARTIAL | Current complete backup/restore/keys/tombstones/rollback and deletion/provider policy; downloading backup is not restore proof | P7-09 | @@ -88,7 +88,7 @@ The22 public native cases and two isolated recovery cases are new separate packs ### P7-01 account scoped evidence, no full-group upgrade -[Account working-tree results](p7-01/evidence/account-results.json) and [account report](p7-01/README.md#account-identity-and-security-implementation) record fresh573/89 full frontend, account6/public22/auth-boundaries10 and types/lint/build pass. Actual eight-image/context review establishes implemented account scope CONDITIONAL GO; final finite hygiene and normal account push/receipt remain pending. All57 statuses and32 whole-route qualifications remain unchanged. +[Account working-tree results](p7-01/evidence/account-results.json) and [account report](p7-01/README.md#account-identity-and-security-implementation) record fresh573/89 full frontend, account6/public22/auth-boundaries10 and types/lint/build pass. Actual eight-image/context review establishes implemented account scope CONDITIONAL GO; final staged finite hygiene passed and accountad7b419 was normally pushed, direct localHEAD=origin=live equality verified2026-10-11 19:16:15UTC with main unchanged and clean worktree at observation. All57 statuses and32 whole-route qualifications remain unchanged. | Protected groups | Fresh finite account evidence | Remaining mandatory boundary | |---|---|---| diff --git a/docs/redesign/phase-7/README.md b/docs/redesign/phase-7/README.md index ac800a7..4e7637f 100644 --- a/docs/redesign/phase-7/README.md +++ b/docs/redesign/phase-7/README.md @@ -9,8 +9,8 @@ The entry commit is `b5319981ad3d1bd635daff861453d23c0de5320b` on `codex/ui-rede | Checkpoint | Approved scope | Entry dependency / current status | |---|---|---| | [P7-00](p7-00/README.md) | Fresh scope inventory and fixture baseline | Complete finite identity/route/matrix/static checks; inherited runtime separated. Push receipt recorded by the successor before page changes | -| [P7-01](p7-01/README.md) | Authentication and account-security presentation | Public sub-slice CONDITIONAL GO, pushed8ad720d with direct receipt; account implementation/runtime/actual8-image review CONDITIONAL GO (573/89 +6/22/10); final finite hygiene/account push receipt pending | -| P7-02 | Onboarding and Career overview/evidence | Existing checklist/canonical Career owners; planned | +| [P7-01](p7-01/README.md) | Authentication and account-security presentation | Public sub-slice CONDITIONAL GO, pushed8ad720d with direct receipt; account implementation/runtime/actual8-image review CONDITIONAL GO (573/89 +6/22/10); pushedad7b419 with final static PASS/direct receipt19:16:15UTC; main unchanged | +| [P7-02](p7-02/README.md) | Onboarding and Career overview/evidence | Entryad7b419 pushed/verified; bounded onboarding CONDITIONAL GO: affected32/native13/regression4, types/lint/build and13 actual PNG inspections pass; final hygiene PASS/push pending. Career overview/evidence and whole checkpoint remain pending | | P7-03 | Career structured editing and import review | P7-02 fixtures; resolve or explicitly bound concurrency before changing save/history ownership; planned | | P7-04 | CV library and public entry | Existing gallery/editor and P7-03 source language; planned | | P7-05 | Discovery, Companies, Offers and Reminders | Existing domain owners and Jobs return context; planned | @@ -35,10 +35,12 @@ Keep the 52 all-enabled and 267 inherited-rule axe inventories separate: combine The [P7-01 public sub-slice](p7-01/evidence/public-auth-results.json) adds fresh affected61/61, ordinary native22/22, isolated real Identity/loopback SMTP2/2 and helper6/6 proof. Its unchanged-backend87-case auth subset is not additive to1,033; its affected61 cases do not stand in for a fresh full frontend run. Twenty-two all-enabled public scans separately retain0 violation nodes/31 contrast incomplete nodes. Eight exact final matrix PNGs were inspected; reader/zoom/device/provider/production requirements remain open. Push8ad720d was directly verified at2026-10-11 18:50:24UTC with main unchanged. At that public gate, account presentation/source isolation/session-security acceptance was pending; the later account result below supersedes that status. -The separate [account runtime manifest](p7-01/evidence/account-results.json) records actual fresh573/89 full frontend, account6/public22/auth-boundaries10 and app/browser TypeScript/lint/build pass after truthful account-only stored-CV-text/unavailable-provider copy repairs. Full frontend521→573 adds52 cases/+4 suites without removals; exact file/name deltas remain recorded. Account8 scans retain0 violation nodes/85 incompletes and current public22 retain31 contrast incompletes, separately from the frozen public/Phase6 baselines. All eight final post-copy PNGs were actually inspected, with contextual axe/manual qualifications retained. Implemented P7-01 scope is CONDITIONAL GO; final finite hygiene and normal account push receipt remain pending. No whole-group/route upgrade follows from these finite results. +The separate [account runtime manifest](p7-01/evidence/account-results.json) records actual fresh573/89 full frontend, account6/public22/auth-boundaries10 and app/browser TypeScript/lint/build pass after truthful account-only stored-CV-text/unavailable-provider copy repairs. Full frontend521→573 adds52 cases/+4 suites without removals; exact file/name deltas remain recorded. Account8 scans retain0 violation nodes/85 incompletes and current public22 retain31 contrast incompletes, separately from the frozen public/Phase6 baselines. All eight final post-copy PNGs were actually inspected, with contextual axe/manual qualifications retained. Implemented P7-01 scope is CONDITIONAL GO; final staged finite hygiene passed and accountad7b419 was normally pushed, direct localHEAD=origin=live development equality verified2026-10-11 19:16:15UTC, main unchanged and worktree clean at observation. No whole-group/route upgrade follows from these finite results. ## Working constraints +The [P7-02 onboarding slice](p7-02/evidence/onboarding-results.json) adds actual fresh affected32/2 (+23 cases over its nine-case inherited subset), ordinary native13 and separate Dashboard/Analytics4, app/browser types/lint/build and13 inspected final PNGs. Its13 all-enabled scans retain0 violation nodes/13 invisible-zero notification-badge contrast incompletes; no manual conformance or real provider grant is inferred. The retry-focus defect was reproduced by five strengthened unit cases and a focused native failure before correction. Latest full frontend573/89 remains inherited;596/89 is only a derived expectation. Onboarding implemented scope is CONDITIONAL GO final hygiene PASS/push pending; Career overview/evidence remains pending,57 groups/32 routes unchanged and production NO-GO. + Use the current MUI/Emotion theme, PageLayout/section primitives, ViewStateNotice/useViewResource, Router, i18n, notification and save owners. Preserve query/history/aliases, account/tenant/role boundaries, canonical Career facts versus CV overrides, revision recovery, frozen packages and original PDF pagination/oracles. Do not infer new Documents/Notifications/aggregate Admin routes from illustrative navigation. No new hard-coded user-facing strings. Verify EN/Bokmål, light/dark, appropriate density, 320/360–390/768/1024/1280/1440/wide layouts, relevant breakpoint boundaries, keyboard/focus/errors and legitimate document-canvas scrolling. Human reader/device/provider/output evidence stays explicit when unavailable. A newly demonstrated severe shared defect blocks its dependent propagation; unaffected development can continue. diff --git a/docs/redesign/phase-7/p7-01/README.md b/docs/redesign/phase-7/p7-01/README.md index 33518d4..a5b7208 100644 --- a/docs/redesign/phase-7/p7-01/README.md +++ b/docs/redesign/phase-7/p7-01/README.md @@ -1,6 +1,6 @@ # P7-01 — Authentication and account-security presentation -**Status: implemented P7-01 scope CONDITIONAL GO; public slice pushed, account final hygiene/push receipt pending.** This is the bounded execution/acceptance plan from the [approved handoff](../../phase-6/p6-05/PHASE7_HANDOFF.md). P7-00 `27c54146ad6f9059295d169b533db7b1b6689210` is pushed and direct development/localHEAD/origin equality verified at2026-10-11 14:44:45UTC; main unchanged and worktree clean at entry. Its [baseline](../p7-00/evidence/baseline.json) and [ledger](../COMMITS.md) satisfy entry. No new routes, identity/provider protocols or capability activation are included. Public8ad720da5db5999ecda787575dc45621d18a5498 is normally pushed; localHEAD=origin=live development directly verified2026-10-11 18:50:24UTC, local/origin/live main27657f3 unchanged. No completed public work remains uncommitted. The separate account implementation/runtime/visual outcome is CONDITIONAL GO below; final finite hygiene and normal account push/receipt remain pending. The public sub-slice alone does not complete P7-01. +**Status: implemented P7-01 scope CONDITIONAL GO; public8ad720d and accountad7b419 normally pushed, final static PASS and actual direct receipts recorded.** This is the bounded execution/acceptance plan from the [approved handoff](../../phase-6/p6-05/PHASE7_HANDOFF.md). P7-00 `27c54146ad6f9059295d169b533db7b1b6689210` is pushed and direct development/localHEAD/origin equality verified at2026-10-11 14:44:45UTC; main unchanged and worktree clean at entry. Its [baseline](../p7-00/evidence/baseline.json) and [ledger](../COMMITS.md) satisfy entry. No new routes, identity/provider protocols or capability activation are included. Public8ad720da5db5999ecda787575dc45621d18a5498 is normally pushed; localHEAD=origin=live development directly verified2026-10-11 18:50:24UTC, local/origin/live main27657f3 unchanged. No completed public work remains uncommitted. The separate account implementation/runtime/visual outcome is CONDITIONAL GO below; final staged finite hygiene passed and normal account pushad7b419 has actual direct receipt2026-10-11 19:16:15UTC. The public sub-slice alone does not complete P7-01. ## Baseline and bounded commit scope @@ -93,7 +93,7 @@ At the public gate, five account-presentation RED cases and12 real-provider case ## Account identity and security implementation -**Implemented account scope: CONDITIONAL GO after fresh runtime and actual final visual/context review; final finite hygiene/push receipt pending.** The [account manifest](evidence/account-results.json) records the actual fresh runtime results below, exact seven-file source/export identity, all native attachment bodies and geometry, intermediate failures and case-name deltas. Its public entry reference preserves the already pushed public slice. The whole final UI runtime tree including attempts, focused unit records, BUILD_ID, runner/browser config, inherited frontend baseline, seven source snapshots and exact export are frozen under `.artifacts/phase7/p7-01/account-final/`. All206 recorded path/hash references were verified; only file references were rebased, preserving raw bytes, hashes, commands and original report execution paths. Source identity retains original logical source paths with separate immutable snapshots. Do not recollect this slice after subsequent builds. No backend source, authentication protocol, schema, provider capability or external service was changed. +**Implemented account scope: CONDITIONAL GO after fresh runtime and actual final visual/context review; final staged finite hygiene passed; accountad7b419 normally pushed with actual direct receipt19:16:15UTC.** The [account manifest](evidence/account-results.json) records the actual fresh runtime results below, exact seven-file source/export identity, all native attachment bodies and geometry, intermediate failures and case-name deltas. Its public entry reference preserves the already pushed public slice. The whole final UI runtime tree including attempts, focused unit records, BUILD_ID, runner/browser config, inherited frontend baseline, seven source snapshots and exact export are frozen under `.artifacts/phase7/p7-01/account-final/`. All206 recorded path/hash references were verified; only file references were rebased, preserving raw bytes, hashes, commands and original report execution paths. Source identity retains original logical source paths with separate immutable snapshots. Do not recollect this slice after subsequent builds. No backend source, authentication protocol, schema, provider capability or external service was changed. AuthStatus, 2FA, Sessions and the two real account-provider consumers use the existing themed PageSection with named H2 sections. The shell owns H1; Profile's existing identity/account/password sections keep their save boundaries. Signed-in wording and security/provider dates follow the selected EN/NB locale. Long identity/session metadata wraps within the existing responsive layout. @@ -131,6 +131,6 @@ The first native account attempt passed1/6. Four cases assumed Profile PUT retur The provider RED8 pass/4 fail, original card RED0/5, strengthened card RED1/7, focused GREEN sets and copy RED33/36 are retained with their exact counts. Earlier full571/89 and passing account/public/boundary native runs precede the copy repair and remain historical, not final acceptance. The fresh full573 run has no pending/skipped/expected-failure masking. Whole previous runtime folders are retained by the runner; raw reports still contain their original execution paths. -All57 groups remain56 PARTIAL + C11 DEFERRED, all32 routes retained with existing qualifications. This slice adds finite E02–E06/E08/E09 and C01/C07/S03 evidence; it does not upgrade whole groups. Human reader/zoom/physical and software-keyboard, real OAuth/Turnstile/authenticator/device and production delivery gates remain open. Existing server-authored English errors in NB remain an explicit localisation qualification. M01–M12 and inherited debt carry forward; M13/P5-13 stays deferred do-not-execute, Phase8 stays separate, production NO-GO and main unchanged. Implemented account and whole-P7-01 scope are CONDITIONAL GO with these explicit qualifications. Final finite hygiene and normal account commit/push receipt remain pending; no account push is inferred from runtime or visual review. The latest account static record uses [static-checks.json](evidence/static-checks.json); its final metadata will be mirrored after the parent's staged checks. +All57 groups remain56 PARTIAL + C11 DEFERRED, all32 routes retained with existing qualifications. This slice adds finite E02–E06/E08/E09 and C01/C07/S03 evidence; it does not upgrade whole groups. Human reader/zoom/physical and software-keyboard, real OAuth/Turnstile/authenticator/device and production delivery gates remain open. Existing server-authored English errors in NB remain an explicit localisation qualification. M01–M12 and inherited debt carry forward; M13/P5-13 stays deferred do-not-execute, Phase8 stays separate, production NO-GO and main unchanged. Implemented account and whole-P7-01 scope are CONDITIONAL GO with these explicit qualifications. Final staged finite hygiene passed; accountad7b419 was normally committed/pushed, localHEAD=origin=live development directly verified2026-10-11 19:16:15UTC. Local/origin/live main27657f3 remains unchanged, worktree clean at immediate observation. Runtime/source/public evidence stays frozen and the actual successor receipt is appended separately. The latest account static record uses [static-checks.json](evidence/static-checks.json); its final2026-10-11 19:15:39UTC metadata and canonical-LF JSON hash are recorded under the actual push receipt. -The final account [static checks](evidence/static-checks.json) passed2026-10-11 19:15:38UTC: tracked/untracked secret scan, working/staged/Phase7 whitespace,303 relative documentation links,57 groups and32 original routes. Root independently verified all206 account manifest file/hash references. Normal account commit/push remains the next step; the successor records its actual receipt. +The final account [static checks](evidence/static-checks.json) passed2026-10-11 19:15:38UTC: tracked/untracked secret scan, working/staged/Phase7 whitespace,303 relative documentation links,57 groups and32 original routes. Root independently verified all206 account manifest file/hash references. Normal account pushad7b419 was directly verified2026-10-11 19:16:15UTC; this successor appends that actual receipt without changing frozen measurements. diff --git a/docs/redesign/phase-7/p7-01/evidence/account-results.json b/docs/redesign/phase-7/p7-01/evidence/account-results.json index bc76eca..d2948b5 100644 --- a/docs/redesign/phase-7/p7-01/evidence/account-results.json +++ b/docs/redesign/phase-7/p7-01/evidence/account-results.json @@ -136,6 +136,11 @@ "staticExportSnapshot": { "root": ".artifacts/phase7/p7-01/account-final/export", "qualification": "Exact raw files copied from job-tracker-ui/out; original path/digest algorithm and source observations remain unchanged" + }, + "historicalSourceApplicability": { + "appliesAtCommit": "ad7b4196af638f3a8c79e261ffd96507bd002835", + "mapping": "identity.accountSourceSnapshots maps each originalSourcePath to exact immutable raw bytes and its canonicalLfSha256", + "qualification": "accountSourceFiles and accountSourceSha256Lf are historical measured source identities. Later legitimate changes, including P7-02 translations, must be verified against these immutable snapshots or the committed ad7b419 tree rather than the current workspace. Original hashes/digest remain unchanged." } }, "environment": { @@ -34071,7 +34076,37 @@ "serverErrorLocalisation": "Existing server-authored English errors in NB states are explicitly retained; caller fallback is translated. No new hard-coded product strings or invented server translation.", "productionAndDeferred": "Main27657f31131cd95d42f0e1290853ec9c9b3959a4 unchanged; production NO-GO, M01-M12 open, M13/P5-13 deferred do-not-execute, Phase8 outside scope", "pushReceipt": { - "status": "PENDING_PARENT_ACCOUNT_COMMIT_AND_PUSH" + "status": "NORMAL_PUSH_VERIFIED", + "checkedUtc": "2026-10-11T19:16:15.819630+00:00", + "head": "ad7b4196af638f3a8c79e261ffd96507bd002835", + "originDevelopment": "ad7b4196af638f3a8c79e261ffd96507bd002835", + "live": { + "refs/heads/codex/ui-redesign-phase4": "ad7b4196af638f3a8c79e261ffd96507bd002835", + "refs/heads/main": "27657f31131cd95d42f0e1290853ec9c9b3959a4" + }, + "main": "27657f31131cd95d42f0e1290853ec9c9b3959a4", + "originMain": "27657f31131cd95d42f0e1290853ec9c9b3959a4", + "worktree": "", + "raw": { + "path": ".artifacts/phase7/p7-01/account-final/push-receipt.json", + "sha256": "e27e026ae49478355af8f7ade07f825db3710ebf56907cf6f83263efcb7dcb96", + "hashPolicy": "Exact measured raw bytes" + }, + "staticGate": { + "path": "docs/redesign/phase-7/p7-01/evidence/static-checks.json", + "sha256": "a872440b8907f9303034ef652da7dbd03018ce9fc28584bea5d32f82354199f7", + "hashPolicy": "Portable JSON UTF-8 text with CRLF normalized to LF", + "checkedUtc": "2026-10-11T19:15:39.214576+00:00", + "status": "PASS", + "commands": 4, + "documentation": { + "files": 8, + "relativeLinks": 303, + "errors": [] + }, + "qualification": "Final staged checkpoint hygiene, distinct from successor receipt updates" + }, + "qualification": "Actual successor receipt; original tested working-tree identity/build/runtime/public slice remains unchanged. Clean worktree recorded at immediate observation, not inferred for future work." }, "rawRetention": { "root": ".artifacts/phase7/p7-01/account-final", diff --git a/docs/redesign/phase-7/p7-02/README.md b/docs/redesign/phase-7/p7-02/README.md new file mode 100644 index 0000000..ba473b0 --- /dev/null +++ b/docs/redesign/phase-7/p7-02/README.md @@ -0,0 +1,59 @@ +# P7-02 — Onboarding and Career overview/evidence + +**Status: implemented onboarding guidance CONDITIONAL GO; final hygiene PASS, normal push pending. Career overview/evidence and whole P7-02 remain pending.** Follow the exact [approved handoff](../../phase-6/p6-05/PHASE7_HANDOFF.md#migration-order-and-commit-boundaries). This checkpoint has two bounded commits: onboarding guidance first, then Career overview/evidence. Structured Career editing/import/history remains P7-03; no alternative checkpoint order or new route is introduced. + +## Accepted entry baseline + +P7-01 account `ad7b4196af638f3a8c79e261ffd96507bd002835` is normally pushed. Its actual immediate receipt2026-10-11 19:16:15UTC records localHEAD=origin=live development equality, local/origin/live main27657f3 unchanged and a clean worktree. See the [ledger](../COMMITS.md), [P7-01 report](../p7-01/README.md) and [frozen account evidence](../p7-01/evidence/account-results.json). P7-01 implemented scope is CONDITIONAL GO; production stays NO-GO. + +The inherited latest frontend result is **573/89**, with account native6/public22/auth-boundaries10, final types/lint/build, eight actual account PNG inspections and staged secret/whitespace/docs/matrix checks passing. Account build `SbTVDn-CSb21uPKSzFqOv` is frozen separately from the earlier public export. Backend1,033, sidecar49, ordinary integrated159 and fidelity16/36+8/24 remain inherited Phase6 executions; the unchanged-backend auth subset87 is separate. These are entry evidence, **not freshly executed P7-02 results**. + +All57 preservation groups remain56 PARTIAL + C11 DEFERRED and all32 routes remain retained with their qualifications. Account8 axe scans retain0 violation nodes/85 incomplete occurrences; account-build public22 retain0/31. Earlier public and Phase6 mixed-scope319/11/2,473 inventories remain distinct. Actual human reader/zoom/device/provider/output and production gates remain open, with M13/P5-13 deferred do-not-execute. + +## Bounded onboarding-guidance commit + +Owners are [OnboardingChecklist](../../../../job-tracker-ui/src/components/OnboardingChecklist.tsx), its [Dashboard consumer](../../../../job-tracker-ui/src/components/DashboardView.tsx), existing i18n/theme/state primitives and [checklist unit tests](../../../../job-tracker-ui/src/onboarding-checklist.test.tsx). The accepted entry checklist inferred two fixed completed steps for signup/email verification although its `MeResponse` has no verification fact. Authentication/verification itself remains the already verified P7-01 owner; this guidance change does not alter it. + +Use **four observable guidance steps**: account identity, canonical Career content, optional mailbox connection and first tracked job. Keep the existing facts/endpoints, legacy per-user `onboardingDismissed:${getUserKeyFromToken()}` key and existing action destinations `/profile`, `/career`, `/settings/connected-accounts`, `/jobs`. Do not introduce forced onboarding, a preference migration or a fabricated completeness score. Canonical Career content is distinct from account identity, stored CV text and the CV library. + +Known/incomplete/unknown are separate states. A pending/failed Dashboard Jobs summary passes nullable unknown rather than invented zero/no-jobs; failed source reads cannot become authoritative unmet criteria. Retry is deliberate and read-only. Preserve independent known facts, user dismissal/reload, account switching and stale response disposal. An optional mailbox is not a prerequisite for job tracking, and opening guidance never starts OAuth, a model or mail mutation. + +The initial Dashboard caller reproducer at2026-10-11 19:17:24UTC passed8/9 and failed the new pending-summary assertion: the child receivedfalse instead ofnull. The bounded caller correction passed9/9 at19:17:51UTC with no skipped cases. Unique RED/GREEN command/report/log records are retained under `.artifacts/phase7/current/unit/onboarding-caller-{red,green}-...`. This one-file result does not establish acceptance of the new checklist or replace the forthcoming two-file affected run. + +The first frozen onboarding source at23:37:03UTC passed affected **32/32 in two suites**, zero fail/pending/todo, executed23:38:08–23:38:14UTC. Checklist23 replaces inherited1 (+22); Dashboard caller9 replaces8 (+1). The affected baseline9 therefore becomes32 (+23). Exact added/removed-or-renamed titles remain in the finite manifest. Latest full frontend573/89 is inherited; no fresh full596 run is claimed. Source-worker RED passed1/23 and failed22. First GREEN passed22/23; the remaining failure selected an unscoped status also supplied by the fixture destination. The scoped guidance assertion then passed23/23. Unique command/report/log attempts are preserved. + +The first native12 pack passed23:38:50–23:39:44UTC on build `pQI48DIBz4WVtCNmtoR5_`, with zero skip/flaky/unexpected/retry. That report is **historical**, not final acceptance: its retry workflow did not assert focus after the retry control disappeared. Actual review found focus was lost when Retry was removed during loading. Five strengthened existing unit cases reproduced it (18 pass/5 fail at23:40:32UTC); the focused native case failed0/1 at23:40:49–23:41:04UTC after actual Enter/GET success. The bounded seven-line existing Dismiss-button ref/focus correction does not change request or completion criteria. Corrected combined32/2 passed23:41:48UTC with zero failure/pending/todo. Fresh app/browser TypeScript, lint/build and corrected native12 passed, followed by separate existing Dashboard2/Analytics2 regression4. The initial manifest and raw attempts remain retained, without treating the earlier passing tests as sufficient focus proof. + +The final **13 ordinary native cases passed23:45:40–23:46:34UTC**, with zero skip/flaky/unexpected/retry, on unchanged corrected build `bwZtqlczGqVRJ0J01IxVK`. The added thirteenth case changes only test coverage: four known-complete steps remove guidance and the next actual Tab reaches Customize Dashboard. Its mailbox-connected response is an explicit stored-connection fixture; account/Career/job data are real local API data, with no writes and no real provider grant qualification. Final browser TypeScript passed23:45:40UTC after this test-only addition; no rebuild was needed. The [finite manifest](evidence/onboarding-results.json) records exact source/build/export identities, commands, case deltas and all historical attempts. The separate regression4 passed23:43:50–23:44:49UTC and remains separate from onboarding axe scope. + +The native pack includes eight finite EN/NB/theme width samples320/360/390/768/1024/1280 short landscape/1440/1920, ownerA/B dismissal/reload, failed mailbox read/read-only retry, four keyboard action destinations/Back, unknown Dashboard summary/retry and complete-guidance removal. Dismissal assertions wait for settled Dashboard state and verify no Career/mail-status GET after dismissed reload/returnA; early absent content while pending cannot stand in for dismissal proof. Actual next Tab after dismissal and persistent Dismiss focus through successful retry pass. The parent actually opened **all13 final raw PNGs** with `view_image`: labels/actions wrapped and the finite layouts were readable, with no accidental app overflow in the recorded metrics. The existing Dashboard summary Retry recovery image focuses the shell Skip link with altered scroll; this slice does not repair or accept that owner's focus restoration. Controlled English failure detail is fixture server-authored text, distinct from the translated product fallback. Onboarding has no global density setting/user control; density is not applicable. No physical input, zoom or human assistive evaluation is claimed. + +All13 all-enabled axe scans retain **0 violation nodes and13 incomplete occurrences**, each `color-contrast`/`shortTextContent` on the shell notification badge `.MuiBadge-badge` with invisible `0` content. The tool cannot determine whether this short content is text; its reported ratio0 is not a measured contrast failure. Targets, HTML and check vectors remain intact for contextual M11/manual qualification. All13 recorded root-overflow measurements are0. These finite results do not replace human evaluation or combine with the separately scoped Dashboard/Analytics scans. + +Final measured three-source LF digest is `dd98c47e6064a4f8d6abe6dbe4e2b61b86cf9dc45e5baa9e8c7fb51631ee3f70`; build `bwZtqlczGqVRJ0J01IxVK`;74-file exported digest `b6f528e55f7d12b357b0aea34fd61935aeb5c4e57550ea3d6fe6b54c66bc87f5`. Exact raw commands/reports/logs, whole UI/attempt tree, unit records, source/test snapshots, runner/config, BUILD_ID/export and accepted entry manifest are frozen under `.artifacts/phase7/p7-02/onboarding-final/`. All154 recorded path/hash references were verified at freeze; only file-reference paths were rebased, preserving measured bytes/hashes and original internal execution paths. Initial pre-focus source/export identities remain historical observations; this does not claim a pre-focus export/source snapshot. The frozen report keeps the earlier12-pass and focus RED evidence. + +The fresh affected32 result replaces nine inherited cases with32: Dashboard8→9 adds one, checklist1→23 adds22 net. The original broad checklist title is replaced by its four-source-backed successor and22 additional cases; the manifest records all23 added titles and the single renamed title rather than hiding the change. Full596/89 is only the derived expectation573+23 with no new suite, **not a newly executed full frontend result**. The inherited latest full result remains573/89; final full regression belongs to P7-12. Native12→13 adds the complete-guidance recovery case with no product or unit-count change. + +Slice-specific [final static checks](evidence/onboarding-static-checks.json) passed2026-10-11 23:53:23–23:53:26UTC: tracked/untracked secret scan and working/staged/Phase7-entry whitespace commands all exit0; nine Markdown documents/329 relative links checked with no errors at that observation;57 groups/32 concrete routes unchanged; main remains27657f3 and production NO-GO. Portable static JSON uses canonical UTF-8/LF hashes; raw log/runtime hashes retain exact saved bytes. Commit/push remains pending until its actual receipt. + +| Required proof | Acceptance condition / current result | +|---|---| +| Truthful criteria and failures | Fresh affected32 and ordinary native13 pass four-step/unknown/failure/read-only retry assertions; provider qualification remains unverified | +| Dismissal and owner boundary | Legacy-key/session dismissal, owner isolation/late responses/unavailable storage and actual dismiss/reload/settled no-read corroboration pass | +| Existing navigation | Four existing destinations, actual keyboard/Back/no-write and dismissal/complete-recovery next-action focus proof pass | +| Responsive/localised/semantic states | EN/NB/theme finite width samples, named H2/progress/control states, keyboard/focus and13 root-geometry/axe vectors pass their assertions; all13 raw PNGs actually inspected; M09/M11/human/zoom/device/provider qualifications retained | +| Verification and bounded push | Fresh affected32/native13/regression4, app/browser types, lint/build, actual13-image inspection and slice-specific final hygiene pass; actual normal commit/push receipt **PENDING** | + +## Career overview/evidence commit + +Existing [CareerWorkspacePage](../../../../job-tracker-ui/src/views/CareerWorkspacePage.tsx) delegates to [CareerProfilePage](../../../../job-tracker-ui/src/views/CareerProfilePage.tsx). Preserve the actual Overview/Profile/Evidence/Import section owner and query/history behavior, including removal of the default overview query. Scope the residual presentation to [CareerWorkspaceOverview](../../../../job-tracker-ui/src/views/career/CareerWorkspaceOverview.tsx) and [CareerEvidenceBank](../../../../job-tracker-ui/src/views/career/CareerEvidenceBank.tsx), with existing [workspace](../../../../job-tracker-ui/src/career-workspace-page.test.tsx) and [evidence](../../../../job-tracker-ui/src/career-evidence.test.tsx) tests. + +Keep canonical `/career/profile` data and existing server-provided completeness labels/provenance, source/raw-copy/history links, `/career/evidence` list/create and owned delete contracts. Evidence creation keeps existing category/title/statement/tags/source semantics and explicit manual review; presentation does not invent achievements or change persistence. Improve bounded headings/state/form/retry/reflow using existing owners after reproduction. No structured editor/save/import/history owner or CV renderer change belongs here. + +Required native evidence covers populated/empty/loading/error/retry, raw-copy/source/history destinations, actual evidence create/delete confirmation/no-write cancellation/readback, long/many items and keyboard/EN/NB/theme/narrow-screen states. Canonical/sibling/frozen boundaries and foreign-owner denial remain applicable. Any concurrency/save-owner change requires the separate P7-03 disposition; unavailable human/device evidence is carried explicitly. **Implementation/results/commit/push for this second boundary are PENDING.** + +## Preservation and exit + +S02/C02/C04/E09 and shared E08/S03 are the finite scope in the [57 matrix](../PRESERVATION.md). Retain all [debt](../DEBT.md), established auth/private-tree behavior, original routes and semantic action boundaries. Scoped truthful loading/retry does not establish the root cause of historical Dashboard/Board500 observations. + +Each completed logical boundary must include reproduction/baseline, actual changes, automated and visual evidence, exact count explanation, source/export identity, manual qualifications and normal commit/push with remote=HEAD. Record observed results here after execution; no skips, expected failures or relaxed assertions can substitute for passing ordinary cases. P7-03 starts only after the applicable P7-02 fixtures/entry are verified. Production main/deployment, P5-13 activation and Phase8 Dashboard customization remain outside this checkpoint. diff --git a/docs/redesign/phase-7/p7-02/evidence/onboarding-results.json b/docs/redesign/phase-7/p7-02/evidence/onboarding-results.json new file mode 100644 index 0000000..d156737 --- /dev/null +++ b/docs/redesign/phase-7/p7-02/evidence/onboarding-results.json @@ -0,0 +1,8555 @@ +{ + "schemaVersion": 1, + "checkpoint": "P7-02", + "slice": "Onboarding guidance only; Career overview/evidence remains pending", + "collectedUtc": "2026-10-11T23:50:38.136041+00:00", + "acceptance": "CONDITIONAL GO", + "parentConfirmedFrozenRuntimeComplete": true, + "entry": { + "commit": "ad7b4196af638f3a8c79e261ffd96507bd002835", + "evidence": { + "path": ".artifacts/phase7/p7-02/onboarding-final/entry-account-results.json", + "sha256": "766c053e35bc45abc111b7e51ea358c3a59fe61151adf9dd3f9df496282799dd", + "bytes": 1511911, + "hashPolicy": "UTF-8 text with CRLF normalized to LF" + }, + "inheritedFullFrontend": { + "passed": 573, + "suites": 89 + }, + "qualification": "P7-01 runtime is inherited, not a fresh P7-02 full frontend result" + }, + "identity": { + "headObserved": "ad7b4196af638f3a8c79e261ffd96507bd002835", + "sourceFiles": [ + { + "path": "job-tracker-ui/src/components/OnboardingChecklist.tsx", + "sha256": "b661e362a5d44ab48d5df5715d697bf2c8be54136429d4aecd0b43c98cd8e15b", + "bytes": 7393, + "hashPolicy": "UTF-8 text with CRLF normalized to LF" + }, + { + "path": "job-tracker-ui/src/components/DashboardView.tsx", + "sha256": "d6fe21241890f8473320246ae2e6287de014ad99e03804cdefc03a3142e4fc98", + "bytes": 27543, + "hashPolicy": "UTF-8 text with CRLF normalized to LF" + }, + { + "path": "job-tracker-ui/src/i18n/translations.ts", + "sha256": "820618868b12dc6519345c410bd0b3ce1f1461dcbc7e1ce9a9ac7886d8085f0d", + "bytes": 308335, + "hashPolicy": "UTF-8 text with CRLF normalized to LF" + } + ], + "sourceSha256Lf": "dd98c47e6064a4f8d6abe6dbe4e2b61b86cf9dc45e5baa9e8c7fb51631ee3f70", + "sourceHashAlgorithm": "SHA256 ordered path + TAB + canonical-LF file SHA256 + LF records", + "buildId": "bwZtqlczGqVRJ0J01IxVK", + "buildIdRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/BUILD_ID", + "sha256": "bcf86456791637fc8a4c1347635dfc3527606a3564afcc3b4a6d225490f287a6", + "bytes": 21, + "hashPolicy": "Exact measured raw bytes" + }, + "staticExportFileCount": 74, + "staticExportSha256": "b6f528e55f7d12b357b0aea34fd61935aeb5c4e57550ea3d6fe6b54c66bc87f5", + "staticExportHashAlgorithm": "SHA256 sorted original export path + TAB + raw file SHA256 + LF records", + "sourceSnapshots": [ + { + "originalSourcePath": "job-tracker-ui/src/components/OnboardingChecklist.tsx", + "path": ".artifacts/phase7/p7-02/onboarding-final/source/job-tracker-ui/src/components/OnboardingChecklist.tsx", + "sha256": "b661e362a5d44ab48d5df5715d697bf2c8be54136429d4aecd0b43c98cd8e15b", + "bytes": 7393, + "hashPolicy": "Exact measured raw bytes", + "canonicalLfSha256": "b661e362a5d44ab48d5df5715d697bf2c8be54136429d4aecd0b43c98cd8e15b" + }, + { + "originalSourcePath": "job-tracker-ui/src/components/DashboardView.tsx", + "path": ".artifacts/phase7/p7-02/onboarding-final/source/job-tracker-ui/src/components/DashboardView.tsx", + "sha256": "0e98e2f43cf024a1a563fd7663177cce08303b65a805b08f9e608da5dd48d095", + "bytes": 27938, + "hashPolicy": "Exact measured raw bytes", + "canonicalLfSha256": "d6fe21241890f8473320246ae2e6287de014ad99e03804cdefc03a3142e4fc98" + }, + { + "originalSourcePath": "job-tracker-ui/src/i18n/translations.ts", + "path": ".artifacts/phase7/p7-02/onboarding-final/source/job-tracker-ui/src/i18n/translations.ts", + "sha256": "12b45f0c07826fee810cb996b5d3018e20ee1cb1b6307b3e3cf4c7632381b60f", + "bytes": 313517, + "hashPolicy": "Exact measured raw bytes", + "canonicalLfSha256": "820618868b12dc6519345c410bd0b3ce1f1461dcbc7e1ce9a9ac7886d8085f0d" + } + ], + "testSnapshots": [ + { + "originalTestPath": "job-tracker-ui/e2e/phase7-onboarding.spec.ts", + "path": ".artifacts/phase7/p7-02/onboarding-final/tests/job-tracker-ui/e2e/phase7-onboarding.spec.ts", + "sha256": "73639d3ab25c8c0b9dd3c1d637ab0adf2c9844385a35399376a85f56f9e3b466", + "bytes": 18053, + "hashPolicy": "Exact measured raw bytes" + }, + { + "originalTestPath": "job-tracker-ui/src/onboarding-checklist.test.tsx", + "path": ".artifacts/phase7/p7-02/onboarding-final/tests/job-tracker-ui/src/onboarding-checklist.test.tsx", + "sha256": "b19d3b4ba3f033e839fb49c008f798c90e1c195aecab5542ba6d3dc5f64e22ef", + "bytes": 13785, + "hashPolicy": "Exact measured raw bytes" + }, + { + "originalTestPath": "job-tracker-ui/src/dashboard-presentation.test.tsx", + "path": ".artifacts/phase7/p7-02/onboarding-final/tests/job-tracker-ui/src/dashboard-presentation.test.tsx", + "sha256": "99040cd8c76024b106abbe152f9c31cac95f0d9aba0e54395a1cfed5f9fc9cf1", + "bytes": 8727, + "hashPolicy": "Exact measured raw bytes" + } + ], + "historicalSourceApplicability": "Original sourceFiles/sourceSha256Lf identify this frozen onboarding slice. Verify future source identities against sourceSnapshots canonicalLfSha256 or the eventual slice commit, not a later workspace. Measured hashes and original digest order remain unchanged.", + "staticExportSnapshot": { + "root": ".artifacts/phase7/p7-02/onboarding-final/export", + "qualification": "Exact raw74 files from job-tracker-ui/out; original export digest paths/algorithm unchanged" + } + }, + "environment": { + "appliedRunnerEnvironment": { + "NEXT_PUBLIC_API_BASE_URL": "http://localhost:5302/api", + "NEXT_TELEMETRY_DISABLED": "1", + "DOTNET_ROOT": "C:/Users/Connor/.dotnet", + "DOTNET_HOST_PATH": "C:/Users/Connor/.dotnet/dotnet.exe", + "PLAYWRIGHT_STATIC_EXPORT": "true", + "PLAYWRIGHT_PREBUILT_EXPORT": "true", + "PLAYWRIGHT_REUSE_SERVERS": "false", + "Workers__SavedJobSearchAlertsEnabled": "false", + "CV_FIDELITY_OUTPUT": ".artifacts/phase7/current/ui/fidelity", + "CV_SETTINGS_FIDELITY_OUTPUT": ".artifacts/phase7/current/ui/settings-fidelity" + }, + "runnerRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/run-ui.py", + "sha256": "7cf3d17cbd3c622b40f65ccec0731f6514f341e450459dfae463e3c218e563c1", + "bytes": 4158, + "hashPolicy": "Exact measured raw bytes" + }, + "browserTypeScriptConfig": { + "raw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/e2e-tsconfig.json", + "sha256": "55fa6fffaed1e76a32657edfffcc501cd8bd87330bda2c3a3944f8f89d4019e2", + "bytes": 572, + "hashPolicy": "Exact measured raw bytes" + }, + "contents": "{\n \"extends\": \"../../job-tracker-ui/tsconfig.json\",\n \"compilerOptions\": {\n \"incremental\": false,\n \"types\": [\"node\", \"jest\"],\n \"typeRoots\": [\"../../job-tracker-ui/node_modules/@types\"]\n },\n \"include\": [\n \"../../job-tracker-ui/e2e/**/*.ts\",\n \"../../job-tracker-ui/ai-tests/**/*.ts\",\n \"../../job-tracker-ui/auth-tests/**/*.ts\",\n \"../../job-tracker-ui/playwright.*.config.ts\",\n \"../../job-tracker-ui/src/mui-theme.d.ts\",\n \"../../docs/redesign/phase-5/p5-15/p5-15-01/diagnostics/**/*.ts\"\n ],\n \"exclude\": [\"../../job-tracker-ui/node_modules\"]\n}\n" + }, + "qualification": "Local native Chromium/owned synthetic SQLite fixtures; external requests blocked. No physical touch/zoom/human assistive/provider acceptance." + }, + "commands": { + "typecheck": { + "record": { + "name": "typecheck", + "command": [ + "rtk", + "proxy", + "npm.cmd", + "run", + "typecheck" + ], + "startedUtc": "2026-10-11T23:42:22.914862+00:00", + "finishedUtc": "2026-10-11T23:42:31.973589+00:00", + "exitCode": 0 + }, + "recordRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/typecheck-command.json", + "sha256": "be8349a94c8448da4a826d457d0250a81d9fcf50e1f68f2be0254855bca60acb", + "bytes": 247, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/typecheck.log", + "sha256": "89b0ec97b537eca6560c13ca2dfea9e3a97dd1bb35580c4ff39d2462db25e080", + "bytes": 148, + "hashPolicy": "Exact measured raw bytes" + } + }, + "browser-typecheck": { + "record": { + "name": "browser-typecheck", + "command": [ + "rtk", + "proxy", + "npm.cmd", + "exec", + "tsc", + "--", + "--project", + "../.artifacts/phase7/e2e-tsconfig.json", + "--noEmit" + ], + "startedUtc": "2026-10-11T23:45:36.494702+00:00", + "finishedUtc": "2026-10-11T23:45:40.091860+00:00", + "exitCode": 0 + }, + "recordRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/browser-typecheck-command.json", + "sha256": "8d2bace493df41407a76fa3326d278aee1248230152116faa6a5f2d3a37a5c57", + "bytes": 343, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/browser-typecheck.log", + "sha256": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6", + "bytes": 78, + "hashPolicy": "Exact measured raw bytes" + } + }, + "lint": { + "record": { + "name": "lint", + "command": [ + "rtk", + "proxy", + "npm.cmd", + "run", + "lint" + ], + "startedUtc": "2026-10-11T23:42:35.579152+00:00", + "finishedUtc": "2026-10-11T23:42:51.560252+00:00", + "exitCode": 0 + }, + "recordRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/lint-command.json", + "sha256": "ec2cf32f9ebe1d597005f66589011e1a8106b001ce6d3fa23d51dc43a7cdfe8b", + "bytes": 237, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/lint.log", + "sha256": "b040dbeca9b4adb3f6f4c25ac49de0d37e921375b2d9b57e87b542a10f599913", + "bytes": 136, + "hashPolicy": "Exact measured raw bytes" + } + }, + "build": { + "record": { + "name": "build", + "command": [ + "rtk", + "proxy", + "npm.cmd", + "run", + "build" + ], + "startedUtc": "2026-10-11T23:42:51.563295+00:00", + "finishedUtc": "2026-10-11T23:42:57.966728+00:00", + "exitCode": 0 + }, + "recordRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/build-command.json", + "sha256": "7245e3a3d17aef927164e5fce1fd6d8334df4b68072144aae974853fbcd63106", + "bytes": 239, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/build.log", + "sha256": "688c5c3ce07ca0b542de7e38c27bb1046526ca1b26cc891e458a04ef0cabe704", + "bytes": 670, + "hashPolicy": "Exact measured raw bytes" + } + } + }, + "affectedFrontend": { + "raw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-focus-green-final-20261011T234148Z.json", + "sha256": "4a3bccbbfe9f5829a69ed7c475b94c91558aed3baeb09f6da79a299506065514", + "bytes": 13724, + "hashPolicy": "Exact measured raw bytes" + }, + "startedUnixMs": 1791762109830, + "passed": 32, + "failed": 0, + "pending": 0, + "total": 32, + "suites": 2, + "cases": [ + { + "name": "uses structured career data and connected inbox status for four source-backed onboarding steps", + "status": "passed" + }, + { + "name": "a stored /microsoft-graph/status connection counts without connecting or syncing", + "status": "passed" + }, + { + "name": "a stored /imap/status connection counts without connecting or syncing", + "status": "passed" + }, + { + "name": "manual skills preserves the existing career-content criterion without claiming a CV import", + "status": "passed" + }, + { + "name": "raw career text preserves the existing career-content criterion without claiming a CV import", + "status": "passed" + }, + { + "name": "contact only preserves the existing career-content criterion without claiming a CV import", + "status": "passed" + }, + { + "name": "career names and account email alone do not count as account identity details", + "status": "passed" + }, + { + "name": "unknown job summary has indeterminate progress, then responds to known jobs without refetching sources", + "status": "passed" + }, + { + "name": "all four recorded steps hide the optional checklist after the sources settle", + "status": "passed" + }, + { + "name": "failed /auth/me status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "failed /career/profile status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "failed /gmail/status status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "failed /microsoft-graph/status status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "failed /imap/status status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "onboardingStepProfileAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "onboardingStepCvAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "onboardingStepEmailAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "onboardingStepJobAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "a legacy owner dismissal skips all reads on mount", + "status": "passed" + }, + { + "name": "dismissal survives reload for its owner and stays separate from another owner's checklist and Dashboard flags", + "status": "passed" + }, + { + "name": "unavailable dismissal storage still permits setup and an in-memory dismissal", + "status": "passed" + }, + { + "name": "loading is announced without guessed progress and dismissal prevents late failure from reopening the checklist", + "status": "passed" + }, + { + "name": "Bokmål guidance keeps semantic list and progress names without additional source reads", + "status": "passed" + }, + { + "name": "[PRES-S01] exact monthly values, sample, custom statuses and separate salary group remain readable", + "status": "passed" + }, + { + "name": "[PRES-S02] all five stored visibility flags hide their groups and survive remount", + "status": "passed" + }, + { + "name": "[PRES-S01] a trends failure retains summary and retries without showing a false zero response rate", + "status": "passed" + }, + { + "name": "[PRES-S01] a summary failure does not suppress independent trends", + "status": "passed" + }, + { + "name": "[PRES-J05 J09 S01] raw status and company destinations use supported exact query fields", + "status": "passed" + }, + { + "name": "[PRES-S01 S02] period changes only reload trends and retain current snapshot meaning", + "status": "passed" + }, + { + "name": "[PRES-S01] zero activity is an explicit window-empty state without a fabricated response percentage", + "status": "passed" + }, + { + "name": "[PRES-S01] activity chart uses one shared zero-based scale and a readable legend", + "status": "passed" + }, + { + "name": "[P7-02 PRES-S01 S02] setup guidance treats pending and failed summaries as unknown until their owner retries", + "status": "passed" + } + ] + }, + "affectedUnitCommand": { + "record": { + "command": [ + "rtk", + "proxy", + "npm.cmd", + "test", + "--", + "--runInBand", + "--watchAll=false", + "--json", + "--outputFile=E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\unit\\onboarding-focus-green-final-20261011T234148Z.json", + "src/onboarding-checklist.test.tsx", + "src/dashboard-presentation.test.tsx" + ], + "startedUtc": "2026-10-11T23:41:48.907295+00:00", + "finishedUtc": "2026-10-11T23:41:54.923125+00:00", + "exitCode": 0, + "counts": { + "numPassedTests": 32, + "numFailedTests": 0, + "numPendingTests": 0, + "numTodoTests": 0, + "numPassedTestSuites": 2, + "numFailedTestSuites": 0 + } + }, + "raw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-focus-green-final-20261011T234148Z-command.json", + "sha256": "397c63faf9ab4a6f2d5989678a4da1975fafd91ea8ab7f7c15659aba94c2623f", + "bytes": 700, + "hashPolicy": "Exact measured raw bytes" + } + }, + "countDeltas": { + "baselineRaw": { + "path": ".artifacts/phase7/p7-01/account-final/runtime/jest.json", + "sha256": "319679b96644fbde2ec466faa5055ac3dce0f85053f3c92c7dbfbc9d763186f0", + "bytes": 241073, + "hashPolicy": "Exact measured raw bytes" + }, + "fileCaseDifferences": [ + { + "file": "src/dashboard-presentation.test.tsx", + "priorCases": 8, + "currentCases": 9, + "added": [ + "[P7-02 PRES-S01 S02] setup guidance treats pending and failed summaries as unknown until their owner retries" + ], + "removedOrRenamed": [] + }, + { + "file": "src/onboarding-checklist.test.tsx", + "priorCases": 1, + "currentCases": 23, + "added": [ + "Bokmål guidance keeps semantic list and progress names without additional source reads", + "a legacy owner dismissal skips all reads on mount", + "a stored /imap/status connection counts without connecting or syncing", + "a stored /microsoft-graph/status connection counts without connecting or syncing", + "all four recorded steps hide the optional checklist after the sources settle", + "career names and account email alone do not count as account identity details", + "contact only preserves the existing career-content criterion without claiming a CV import", + "dismissal survives reload for its owner and stays separate from another owner's checklist and Dashboard flags", + "failed /auth/me status stays unknown and retries only the same source reads", + "failed /career/profile status stays unknown and retries only the same source reads", + "failed /gmail/status status stays unknown and retries only the same source reads", + "failed /imap/status status stays unknown and retries only the same source reads", + "failed /microsoft-graph/status status stays unknown and retries only the same source reads", + "loading is announced without guessed progress and dismissal prevents late failure from reopening the checklist", + "manual skills preserves the existing career-content criterion without claiming a CV import", + "onboardingStepCvAction keeps its source-owned destination", + "onboardingStepEmailAction keeps its source-owned destination", + "onboardingStepJobAction keeps its source-owned destination", + "onboardingStepProfileAction keeps its source-owned destination", + "raw career text preserves the existing career-content criterion without claiming a CV import", + "unavailable dismissal storage still permits setup and an in-memory dismissal", + "unknown job summary has indeterminate progress, then responds to known jobs without refetching sources", + "uses structured career data and connected inbox status for four source-backed onboarding steps" + ], + "removedOrRenamed": [ + "uses structured career data and connected inbox status for onboarding progress" + ] + } + ], + "netAddedAffected": 23, + "qualification": "Exact removed/renamed entries retained; overlapping subsets are not added to full totals" + }, + "native": { + "command": { + "name": "onboarding", + "command": [ + "rtk", + "proxy", + "node", + "node_modules/@playwright/test/cli.js", + "test", + "e2e/phase7-onboarding.spec.ts", + "--retries=0", + "--reporter=list,json", + "--output=E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\ui\\onboarding-results" + ], + "startedUtc": "2026-10-11T23:45:40.096873+00:00", + "finishedUtc": "2026-10-11T23:46:34.967036+00:00", + "exitCode": 0, + "stats": { + "startTime": "2026-10-11T23:45:40.606Z", + "duration": 54319.207, + "expected": 13, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + } + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding-command.json", + "sha256": "4980aba3fcb7fbb6bb3faf313255c300c4910a35851dd5528de1031d01f73702", + "bytes": 645, + "hashPolicy": "Exact measured raw bytes" + }, + "reportRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding.json", + "sha256": "368c6659df10795aaddcace25d5c759bf1753e17c2257a7ecd814bfc823b377c", + "bytes": 1896690, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding.log", + "sha256": "8b1afbab99779c1b5d3f1a14a53c2993ee7030af242248fe27767d0677fa0ac6", + "bytes": 3037, + "hashPolicy": "Exact measured raw bytes" + }, + "stats": { + "startTime": "2026-10-11T23:45:40.606Z", + "duration": 54319.207, + "expected": 13, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "cases": [ + { + "title": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 320px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 118, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 4269 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] en/light 360px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 118, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3701 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] nb/light 390px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 118, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3413 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] en/dark 768px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 118, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3732 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 1024px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 118, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3769 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] en/light 1280px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 118, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3926 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] nb/light 1440px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 118, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3727 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] en/dark 1920px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 118, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3929 + }, + { + "title": "[P7-02 PRES-S02 E09] dismissal survives reload and remains isolated across actual A/B logout and login", + "file": "phase7-onboarding.spec.ts", + "line": 148, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 5964 + }, + { + "title": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "file": "phase7-onboarding.spec.ts", + "line": 191, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 2789 + }, + { + "title": "[P7-02 PRES-S02 C02 E07] keyboard setup actions retain their four destinations and browser Back context", + "file": "phase7-onboarding.spec.ts", + "line": 215, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 2243 + }, + { + "title": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "file": "phase7-onboarding.spec.ts", + "line": 235, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 2973 + }, + { + "title": "[P7-02 PRES-S02 E08] recovery to four complete setup steps removes guidance while retaining the next keyboard action", + "file": "phase7-onboarding.spec.ts", + "line": 254, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 2625 + } + ], + "axeScans": [ + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 320px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-nb-dark-320-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "3f4d478d0d7d2f9db6b526ddb6e0de6202279971e59bd97eedc9447c76fb7cd6", + "bytes": 7252 + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 320, + "height": 844 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- main:\n - navigation:\n - list:\n - listitem: Hjem\n - listitem: Dashboard\n - heading \"Dashboard\" [level=1]\n - paragraph: Neste steg, nåværende statusfordeling og søknadsaktivitet.\n - region \"Kom i gang\":\n - heading \"Kom i gang\" [level=2]\n - paragraph: Veiledning basert på lagrede kontoopplysninger, karriereinformasjon, tilkoblede postkasser og stillinger du følger.\n - button \"Skjul oppstartslisten\"\n - text: 3 / 4\n - progressbar \"3 av 4 fullført\"\n - list:\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til kontoopplysninger\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til karriereinformasjon\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Koble til en postkasse\n - button \"Koble til e-post\"\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Følg din første stilling\n - paragraph: Jobbsøket ditt nå. Aktivitetsdiagrammene har et eget periodevalg.\n - button \"Tilpass dashboard\"\n - status: Innhold lastet.\n - term: Registrerte jobber\n - definition:\n - 'link \"Registrerte jobber: 1\"':\n - /url: /jobs\n - text: \"1\"\n - definition: Inkluderer muligheter og avsluttede prosesser.\n - term: Søkt (30 dager)\n - definition: \"0\"\n - definition: Registrerte søknadsdatoer fra de siste 30 dagene, inkludert eventuelle fremtidige datoer.\n - term: Jobber i intervjufasen\n - definition: \"0\"\n - definition: Jobber som er i denne fasen nå.\n - term: Nåværende tilbud\n - definition:\n - 'link \"Nåværende tilbud: 0\"':\n - /url: /offers\n - text: \"0\"\n - definition: Jobber som er i denne fasen nå.\n - region \"I dag\":\n - heading \"I dag\" [level=2]\n - paragraph: De viktigste handlingene for søknadene dine, sortert etter hvor mye de haster.\n - link \"Påminnelser\":\n - /url: /reminders\n - paragraph: Viser 0 av 0 elementer fra påminnelsene dine.\n - paragraph: 0 oppfølginger · 0 intervjuforberedelser · 0 mangler i søknadspakker i oversikten\n - paragraph: Ingenting å følge opp akkurat nå.\n - region \"Nåværende statusfordeling\":\n - heading \"Nåværende statusfordeling\" [level=2]\n - paragraph: Jobber som ikke er slettet, etter nåværende fase. Registrerte egendefinerte statuser nedenfor.\n - paragraph: Lagret\n - paragraph: \"1\"\n - group: Fordeling av registrerte statuser\n - status: Innhold lastet.\n - group \"Periode for aktivitet og taggtrender\":\n - paragraph: Periode for aktivitet og taggtrender\n - button \"6 md\"\n - button \"12 md\" [pressed]\n - button \"24 md\"\n - region \"Søknadsaktivitet\":\n - heading \"Søknadsaktivitet\" [level=2]\n - paragraph: Søknader fra de valgte månedene og daterte svar på disse i samme intervall. Slettede jobber er utelatt.\n - paragraph: november 2025 – oktober 2026\n - paragraph: Ingen søknader eller daterte svar i denne perioden.\n - group: Vis månedsverdier\n - region \"Svar etter kilde\":\n - heading \"Svar etter kilde\" [level=2]\n - paragraph: Opptil seks kilder etter antall registrerte jobber. Nåværende selskapskilde; inkluderer muligheter. Svarmarkering eller svardato regnes som registrert svar.\n - paragraph: Unknown source\n - paragraph: 0%\n - text: 0 av 1 jobber som ikke er slettet, har et registrert svar.\n - region \"Topp selskaper etter aktivitet\":\n - heading \"Topp selskaper etter aktivitet\" [level=2]\n - paragraph: Opptil åtte selskaper etter antall jobber som ikke er slettet, inkludert muligheter. Svar telles fra registrert markering eller dato.\n - link \"Oppsett AS\":\n - /url: /jobs?companyId=1\n - paragraph: 1 jobber · 0 svar (0%)\n - region \"Jobbtagger\":\n - heading \"Jobbtagger\" [level=2]\n - paragraph: De åtte vanligste jobbtaggene på alle jobber som ikke er slettet. Alle perioder.\n - paragraph: Ingen tagger ennå.\n - group: Vis månedlige taggverdier", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 320, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/light 360px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-en-light-360-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "b24c76b1f1b82d767c97a6fe65a65b123298dc883624b892f98cd10878f42613", + "bytes": 6944 + }, + "context": { + "sample": { + "language": "en", + "theme": "light", + "width": 360, + "height": 800 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- main:\n - navigation:\n - list:\n - listitem: Home\n - listitem: Dashboard\n - heading \"Dashboard\" [level=1]\n - paragraph: Your next actions, current pipeline and application activity.\n - region \"Get set up\":\n - heading \"Get set up\" [level=2]\n - paragraph: Setup guidance based on your saved account details, Career information, mailbox connections and tracked jobs.\n - button \"Dismiss setup checklist\"\n - text: 3 / 4\n - progressbar \"3 of 4 done\"\n - list:\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add account details\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add Career information\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Connect a mailbox\n - button \"Connect email\"\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Track your first job\n - paragraph: Your tracker today. Activity charts have a separate period.\n - button \"Customize dashboard\"\n - status: Content loaded.\n - term: Tracked jobs\n - definition:\n - 'link \"Tracked jobs: 1\"':\n - /url: /jobs\n - text: \"1\"\n - definition: Includes prospects and closed outcomes.\n - term: Applied (30 days)\n - definition: \"0\"\n - definition: Recorded application dates from the last 30 days, including any future-dated entries.\n - term: Jobs at interview\n - definition: \"0\"\n - definition: Jobs currently in this stage.\n - term: Current offers\n - definition:\n - 'link \"Current offers: 0\"':\n - /url: /offers\n - text: \"0\"\n - definition: Jobs currently in this stage.\n - region \"Today\":\n - heading \"Today\" [level=2]\n - paragraph: Your highest-priority application actions, ordered by urgency.\n - link \"Reminders\":\n - /url: /reminders\n - paragraph: Showing 0 of 0 items from your reminder feed.\n - paragraph: 0 follow-ups · 0 interview preparations · 0 package gaps in the feed\n - paragraph: Nothing to follow up right now.\n - region \"Current pipeline\":\n - heading \"Current pipeline\" [level=2]\n - paragraph: Non-deleted jobs by their current stage. Recorded custom statuses below.\n - paragraph: Saved\n - paragraph: \"1\"\n - group: Recorded status breakdown\n - status: Content loaded.\n - group \"Activity and tag-trend period\":\n - paragraph: Activity and tag-trend period\n - button \"6 mo\"\n - button \"12 mo\" [pressed]\n - button \"24 mo\"\n - region \"Application activity\":\n - heading \"Application activity\" [level=2]\n - paragraph: Applications from the selected months and their dated responses within the same window. Deleted jobs excluded.\n - paragraph: November 2025 – October 2026\n - paragraph: No applications or dated responses in this period.\n - group: View monthly values\n - region \"Response sources\":\n - heading \"Response sources\" [level=2]\n - paragraph: Up to six sources by tracked-job count. Current company source; includes prospects. A response flag or date counts as a recorded response.\n - paragraph: Unknown source\n - paragraph: 0%\n - text: 0 of 1 non-deleted jobs have a recorded response.\n - region \"Top companies by activity\":\n - heading \"Top companies by activity\" [level=2]\n - paragraph: Up to eight companies by non-deleted job count, including prospects. Responses use a recorded flag or date.\n - link \"Oppsett AS\":\n - /url: /jobs?companyId=2\n - paragraph: 1 jobs · 0 responses (0%)\n - region \"Job tags\":\n - heading \"Job tags\" [level=2]\n - paragraph: Top eight job tags across all non-deleted jobs. All time.\n - paragraph: No tags yet.\n - group: View monthly tag values", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 360, + "height": 800 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/light 390px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-nb-light-390-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "799e528296598b63ce6d3a196a6e22eee944edd66a6f22b186e5c4ffe76db0fc", + "bytes": 7253 + }, + "context": { + "sample": { + "language": "nb", + "theme": "light", + "width": 390, + "height": 844 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- main:\n - navigation:\n - list:\n - listitem: Hjem\n - listitem: Dashboard\n - heading \"Dashboard\" [level=1]\n - paragraph: Neste steg, nåværende statusfordeling og søknadsaktivitet.\n - region \"Kom i gang\":\n - heading \"Kom i gang\" [level=2]\n - paragraph: Veiledning basert på lagrede kontoopplysninger, karriereinformasjon, tilkoblede postkasser og stillinger du følger.\n - button \"Skjul oppstartslisten\"\n - text: 3 / 4\n - progressbar \"3 av 4 fullført\"\n - list:\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til kontoopplysninger\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til karriereinformasjon\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Koble til en postkasse\n - button \"Koble til e-post\"\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Følg din første stilling\n - paragraph: Jobbsøket ditt nå. Aktivitetsdiagrammene har et eget periodevalg.\n - button \"Tilpass dashboard\"\n - status: Innhold lastet.\n - term: Registrerte jobber\n - definition:\n - 'link \"Registrerte jobber: 1\"':\n - /url: /jobs\n - text: \"1\"\n - definition: Inkluderer muligheter og avsluttede prosesser.\n - term: Søkt (30 dager)\n - definition: \"0\"\n - definition: Registrerte søknadsdatoer fra de siste 30 dagene, inkludert eventuelle fremtidige datoer.\n - term: Jobber i intervjufasen\n - definition: \"0\"\n - definition: Jobber som er i denne fasen nå.\n - term: Nåværende tilbud\n - definition:\n - 'link \"Nåværende tilbud: 0\"':\n - /url: /offers\n - text: \"0\"\n - definition: Jobber som er i denne fasen nå.\n - region \"I dag\":\n - heading \"I dag\" [level=2]\n - paragraph: De viktigste handlingene for søknadene dine, sortert etter hvor mye de haster.\n - link \"Påminnelser\":\n - /url: /reminders\n - paragraph: Viser 0 av 0 elementer fra påminnelsene dine.\n - paragraph: 0 oppfølginger · 0 intervjuforberedelser · 0 mangler i søknadspakker i oversikten\n - paragraph: Ingenting å følge opp akkurat nå.\n - region \"Nåværende statusfordeling\":\n - heading \"Nåværende statusfordeling\" [level=2]\n - paragraph: Jobber som ikke er slettet, etter nåværende fase. Registrerte egendefinerte statuser nedenfor.\n - paragraph: Lagret\n - paragraph: \"1\"\n - group: Fordeling av registrerte statuser\n - status: Innhold lastet.\n - group \"Periode for aktivitet og taggtrender\":\n - paragraph: Periode for aktivitet og taggtrender\n - button \"6 md\"\n - button \"12 md\" [pressed]\n - button \"24 md\"\n - region \"Søknadsaktivitet\":\n - heading \"Søknadsaktivitet\" [level=2]\n - paragraph: Søknader fra de valgte månedene og daterte svar på disse i samme intervall. Slettede jobber er utelatt.\n - paragraph: november 2025 – oktober 2026\n - paragraph: Ingen søknader eller daterte svar i denne perioden.\n - group: Vis månedsverdier\n - region \"Svar etter kilde\":\n - heading \"Svar etter kilde\" [level=2]\n - paragraph: Opptil seks kilder etter antall registrerte jobber. Nåværende selskapskilde; inkluderer muligheter. Svarmarkering eller svardato regnes som registrert svar.\n - paragraph: Unknown source\n - paragraph: 0%\n - text: 0 av 1 jobber som ikke er slettet, har et registrert svar.\n - region \"Topp selskaper etter aktivitet\":\n - heading \"Topp selskaper etter aktivitet\" [level=2]\n - paragraph: Opptil åtte selskaper etter antall jobber som ikke er slettet, inkludert muligheter. Svar telles fra registrert markering eller dato.\n - link \"Oppsett AS\":\n - /url: /jobs?companyId=3\n - paragraph: 1 jobber · 0 svar (0%)\n - region \"Jobbtagger\":\n - heading \"Jobbtagger\" [level=2]\n - paragraph: De åtte vanligste jobbtaggene på alle jobber som ikke er slettet. Alle perioder.\n - paragraph: Ingen tagger ennå.\n - group: Vis månedlige taggverdier", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 390, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/dark 768px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-en-dark-768-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "c9348f2878f3445d8903b5e017a460e57b62acf81541052f389668fb4b2e29cc", + "bytes": 6945 + }, + "context": { + "sample": { + "language": "en", + "theme": "dark", + "width": 768, + "height": 1024 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- main:\n - navigation:\n - list:\n - listitem: Home\n - listitem: Dashboard\n - heading \"Dashboard\" [level=1]\n - paragraph: Your next actions, current pipeline and application activity.\n - region \"Get set up\":\n - heading \"Get set up\" [level=2]\n - paragraph: Setup guidance based on your saved account details, Career information, mailbox connections and tracked jobs.\n - button \"Dismiss setup checklist\"\n - text: 3 / 4\n - progressbar \"3 of 4 done\"\n - list:\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add account details\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add Career information\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Connect a mailbox\n - button \"Connect email\"\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Track your first job\n - paragraph: Your tracker today. Activity charts have a separate period.\n - button \"Customize dashboard\"\n - status: Content loaded.\n - term: Tracked jobs\n - definition:\n - 'link \"Tracked jobs: 1\"':\n - /url: /jobs\n - text: \"1\"\n - definition: Includes prospects and closed outcomes.\n - term: Applied (30 days)\n - definition: \"0\"\n - definition: Recorded application dates from the last 30 days, including any future-dated entries.\n - term: Jobs at interview\n - definition: \"0\"\n - definition: Jobs currently in this stage.\n - term: Current offers\n - definition:\n - 'link \"Current offers: 0\"':\n - /url: /offers\n - text: \"0\"\n - definition: Jobs currently in this stage.\n - region \"Today\":\n - heading \"Today\" [level=2]\n - paragraph: Your highest-priority application actions, ordered by urgency.\n - link \"Reminders\":\n - /url: /reminders\n - paragraph: Showing 0 of 0 items from your reminder feed.\n - paragraph: 0 follow-ups · 0 interview preparations · 0 package gaps in the feed\n - paragraph: Nothing to follow up right now.\n - region \"Current pipeline\":\n - heading \"Current pipeline\" [level=2]\n - paragraph: Non-deleted jobs by their current stage. Recorded custom statuses below.\n - paragraph: Saved\n - paragraph: \"1\"\n - group: Recorded status breakdown\n - status: Content loaded.\n - group \"Activity and tag-trend period\":\n - paragraph: Activity and tag-trend period\n - button \"6 mo\"\n - button \"12 mo\" [pressed]\n - button \"24 mo\"\n - region \"Application activity\":\n - heading \"Application activity\" [level=2]\n - paragraph: Applications from the selected months and their dated responses within the same window. Deleted jobs excluded.\n - paragraph: November 2025 – October 2026\n - paragraph: No applications or dated responses in this period.\n - group: View monthly values\n - region \"Response sources\":\n - heading \"Response sources\" [level=2]\n - paragraph: Up to six sources by tracked-job count. Current company source; includes prospects. A response flag or date counts as a recorded response.\n - paragraph: Unknown source\n - paragraph: 0%\n - text: 0 of 1 non-deleted jobs have a recorded response.\n - region \"Top companies by activity\":\n - heading \"Top companies by activity\" [level=2]\n - paragraph: Up to eight companies by non-deleted job count, including prospects. Responses use a recorded flag or date.\n - link \"Oppsett AS\":\n - /url: /jobs?companyId=4\n - paragraph: 1 jobs · 0 responses (0%)\n - region \"Job tags\":\n - heading \"Job tags\" [level=2]\n - paragraph: Top eight job tags across all non-deleted jobs. All time.\n - paragraph: No tags yet.\n - group: View monthly tag values", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 768, + "height": 1024 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 1024px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-nb-dark-1024-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "d0705a8a48e6098f4fdeb27cf2aaf686bd4a282e3974fbdaf24c978612e71442", + "bytes": 7340 + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 1024, + "height": 768 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- main:\n - navigation:\n - list:\n - listitem: Hjem\n - listitem: Dashboard\n - heading \"Dashboard\" [level=1]\n - paragraph: Neste steg, nåværende statusfordeling og søknadsaktivitet.\n - region \"Kom i gang\":\n - heading \"Kom i gang\" [level=2]\n - paragraph: Veiledning basert på lagrede kontoopplysninger, karriereinformasjon, tilkoblede postkasser og stillinger du følger.\n - button \"Skjul oppstartslisten\"\n - text: 3 / 4\n - progressbar \"3 av 4 fullført\"\n - list:\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til kontoopplysninger\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til karriereinformasjon\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Koble til en postkasse\n - button \"Koble til e-post\"\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Følg din første stilling\n - paragraph: Jobbsøket ditt nå. Aktivitetsdiagrammene har et eget periodevalg.\n - button \"Tilpass dashboard\"\n - status: Innhold lastet.\n - term: Registrerte jobber\n - definition:\n - 'link \"Registrerte jobber: 1\"':\n - /url: /jobs\n - text: \"1\"\n - definition: Inkluderer muligheter og avsluttede prosesser.\n - term: Søkt (30 dager)\n - definition: \"0\"\n - definition: Registrerte søknadsdatoer fra de siste 30 dagene, inkludert eventuelle fremtidige datoer.\n - term: Jobber i intervjufasen\n - definition: \"0\"\n - definition: Jobber som er i denne fasen nå.\n - term: Nåværende tilbud\n - definition:\n - 'link \"Nåværende tilbud: 0\"':\n - /url: /offers\n - text: \"0\"\n - definition: Jobber som er i denne fasen nå.\n - region \"I dag\":\n - heading \"I dag\" [level=2]\n - paragraph: De viktigste handlingene for søknadene dine, sortert etter hvor mye de haster.\n - link \"Påminnelser\":\n - /url: /reminders\n - paragraph: Viser 0 av 0 elementer fra påminnelsene dine.\n - paragraph: 0 oppfølginger · 0 intervjuforberedelser · 0 mangler i søknadspakker i oversikten\n - paragraph: Ingenting å følge opp akkurat nå.\n - region \"Nåværende statusfordeling\":\n - heading \"Nåværende statusfordeling\" [level=2]\n - paragraph: Jobber som ikke er slettet, etter nåværende fase. Registrerte egendefinerte statuser nedenfor.\n - paragraph: Lagret\n - paragraph: \"1\"\n - group: Fordeling av registrerte statuser\n - status: Innhold lastet.\n - group \"Periode for aktivitet og taggtrender\":\n - paragraph: Periode for aktivitet og taggtrender\n - button \"6 md\"\n - button \"12 md\" [pressed]\n - button \"24 md\"\n - region \"Søknadsaktivitet\":\n - heading \"Søknadsaktivitet\" [level=2]\n - paragraph: Søknader fra de valgte månedene og daterte svar på disse i samme intervall. Slettede jobber er utelatt.\n - paragraph: november 2025 – oktober 2026\n - paragraph: Ingen søknader eller daterte svar i denne perioden.\n - group: Vis månedsverdier\n - region \"Svar etter kilde\":\n - heading \"Svar etter kilde\" [level=2]\n - paragraph: Opptil seks kilder etter antall registrerte jobber. Nåværende selskapskilde; inkluderer muligheter. Svarmarkering eller svardato regnes som registrert svar.\n - paragraph: Unknown source\n - paragraph: 0%\n - text: 0 av 1 jobber som ikke er slettet, har et registrert svar.\n - region \"Topp selskaper etter aktivitet\":\n - heading \"Topp selskaper etter aktivitet\" [level=2]\n - paragraph: Opptil åtte selskaper etter antall jobber som ikke er slettet, inkludert muligheter. Svar telles fra registrert markering eller dato.\n - link \"Oppsett AS\":\n - /url: /jobs?companyId=5\n - paragraph: 1 jobber · 0 svar (0%)\n - region \"Jobbtagger\":\n - heading \"Jobbtagger\" [level=2]\n - paragraph: De åtte vanligste jobbtaggene på alle jobber som ikke er slettet. Alle perioder.\n - paragraph: Ingen tagger ennå.\n - group: Vis månedlige taggverdier", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 1024, + "height": 768 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/light 1280px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-en-light-1280-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "81d3d42fc8dbb90a3f6c8d21491421990c1926a89456529ec33e03bcfb18e0c3", + "bytes": 7032 + }, + "context": { + "sample": { + "language": "en", + "theme": "light", + "width": 1280, + "height": 320 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- main:\n - navigation:\n - list:\n - listitem: Home\n - listitem: Dashboard\n - heading \"Dashboard\" [level=1]\n - paragraph: Your next actions, current pipeline and application activity.\n - region \"Get set up\":\n - heading \"Get set up\" [level=2]\n - paragraph: Setup guidance based on your saved account details, Career information, mailbox connections and tracked jobs.\n - button \"Dismiss setup checklist\"\n - text: 3 / 4\n - progressbar \"3 of 4 done\"\n - list:\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add account details\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add Career information\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Connect a mailbox\n - button \"Connect email\"\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Track your first job\n - paragraph: Your tracker today. Activity charts have a separate period.\n - button \"Customize dashboard\"\n - status: Content loaded.\n - term: Tracked jobs\n - definition:\n - 'link \"Tracked jobs: 1\"':\n - /url: /jobs\n - text: \"1\"\n - definition: Includes prospects and closed outcomes.\n - term: Applied (30 days)\n - definition: \"0\"\n - definition: Recorded application dates from the last 30 days, including any future-dated entries.\n - term: Jobs at interview\n - definition: \"0\"\n - definition: Jobs currently in this stage.\n - term: Current offers\n - definition:\n - 'link \"Current offers: 0\"':\n - /url: /offers\n - text: \"0\"\n - definition: Jobs currently in this stage.\n - region \"Today\":\n - heading \"Today\" [level=2]\n - paragraph: Your highest-priority application actions, ordered by urgency.\n - link \"Reminders\":\n - /url: /reminders\n - paragraph: Showing 0 of 0 items from your reminder feed.\n - paragraph: 0 follow-ups · 0 interview preparations · 0 package gaps in the feed\n - paragraph: Nothing to follow up right now.\n - region \"Current pipeline\":\n - heading \"Current pipeline\" [level=2]\n - paragraph: Non-deleted jobs by their current stage. Recorded custom statuses below.\n - paragraph: Saved\n - paragraph: \"1\"\n - group: Recorded status breakdown\n - status: Content loaded.\n - group \"Activity and tag-trend period\":\n - paragraph: Activity and tag-trend period\n - button \"6 mo\"\n - button \"12 mo\" [pressed]\n - button \"24 mo\"\n - region \"Application activity\":\n - heading \"Application activity\" [level=2]\n - paragraph: Applications from the selected months and their dated responses within the same window. Deleted jobs excluded.\n - paragraph: November 2025 – October 2026\n - paragraph: No applications or dated responses in this period.\n - group: View monthly values\n - region \"Response sources\":\n - heading \"Response sources\" [level=2]\n - paragraph: Up to six sources by tracked-job count. Current company source; includes prospects. A response flag or date counts as a recorded response.\n - paragraph: Unknown source\n - paragraph: 0%\n - text: 0 of 1 non-deleted jobs have a recorded response.\n - region \"Top companies by activity\":\n - heading \"Top companies by activity\" [level=2]\n - paragraph: Up to eight companies by non-deleted job count, including prospects. Responses use a recorded flag or date.\n - link \"Oppsett AS\":\n - /url: /jobs?companyId=6\n - paragraph: 1 jobs · 0 responses (0%)\n - region \"Job tags\":\n - heading \"Job tags\" [level=2]\n - paragraph: Top eight job tags across all non-deleted jobs. All time.\n - paragraph: No tags yet.\n - group: View monthly tag values", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 1280, + "height": 320 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/light 1440px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-nb-light-1440-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "db4960e7c6844b4b2da2e378b3478a30f713287a935b7ac9ce2d3636d4d622f3", + "bytes": 7341 + }, + "context": { + "sample": { + "language": "nb", + "theme": "light", + "width": 1440, + "height": 900 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- main:\n - navigation:\n - list:\n - listitem: Hjem\n - listitem: Dashboard\n - heading \"Dashboard\" [level=1]\n - paragraph: Neste steg, nåværende statusfordeling og søknadsaktivitet.\n - region \"Kom i gang\":\n - heading \"Kom i gang\" [level=2]\n - paragraph: Veiledning basert på lagrede kontoopplysninger, karriereinformasjon, tilkoblede postkasser og stillinger du følger.\n - button \"Skjul oppstartslisten\"\n - text: 3 / 4\n - progressbar \"3 av 4 fullført\"\n - list:\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til kontoopplysninger\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til karriereinformasjon\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Koble til en postkasse\n - button \"Koble til e-post\"\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Følg din første stilling\n - paragraph: Jobbsøket ditt nå. Aktivitetsdiagrammene har et eget periodevalg.\n - button \"Tilpass dashboard\"\n - status: Innhold lastet.\n - term: Registrerte jobber\n - definition:\n - 'link \"Registrerte jobber: 1\"':\n - /url: /jobs\n - text: \"1\"\n - definition: Inkluderer muligheter og avsluttede prosesser.\n - term: Søkt (30 dager)\n - definition: \"0\"\n - definition: Registrerte søknadsdatoer fra de siste 30 dagene, inkludert eventuelle fremtidige datoer.\n - term: Jobber i intervjufasen\n - definition: \"0\"\n - definition: Jobber som er i denne fasen nå.\n - term: Nåværende tilbud\n - definition:\n - 'link \"Nåværende tilbud: 0\"':\n - /url: /offers\n - text: \"0\"\n - definition: Jobber som er i denne fasen nå.\n - region \"I dag\":\n - heading \"I dag\" [level=2]\n - paragraph: De viktigste handlingene for søknadene dine, sortert etter hvor mye de haster.\n - link \"Påminnelser\":\n - /url: /reminders\n - paragraph: Viser 0 av 0 elementer fra påminnelsene dine.\n - paragraph: 0 oppfølginger · 0 intervjuforberedelser · 0 mangler i søknadspakker i oversikten\n - paragraph: Ingenting å følge opp akkurat nå.\n - region \"Nåværende statusfordeling\":\n - heading \"Nåværende statusfordeling\" [level=2]\n - paragraph: Jobber som ikke er slettet, etter nåværende fase. Registrerte egendefinerte statuser nedenfor.\n - paragraph: Lagret\n - paragraph: \"1\"\n - group: Fordeling av registrerte statuser\n - status: Innhold lastet.\n - group \"Periode for aktivitet og taggtrender\":\n - paragraph: Periode for aktivitet og taggtrender\n - button \"6 md\"\n - button \"12 md\" [pressed]\n - button \"24 md\"\n - region \"Søknadsaktivitet\":\n - heading \"Søknadsaktivitet\" [level=2]\n - paragraph: Søknader fra de valgte månedene og daterte svar på disse i samme intervall. Slettede jobber er utelatt.\n - paragraph: november 2025 – oktober 2026\n - paragraph: Ingen søknader eller daterte svar i denne perioden.\n - group: Vis månedsverdier\n - region \"Svar etter kilde\":\n - heading \"Svar etter kilde\" [level=2]\n - paragraph: Opptil seks kilder etter antall registrerte jobber. Nåværende selskapskilde; inkluderer muligheter. Svarmarkering eller svardato regnes som registrert svar.\n - paragraph: Unknown source\n - paragraph: 0%\n - text: 0 av 1 jobber som ikke er slettet, har et registrert svar.\n - region \"Topp selskaper etter aktivitet\":\n - heading \"Topp selskaper etter aktivitet\" [level=2]\n - paragraph: Opptil åtte selskaper etter antall jobber som ikke er slettet, inkludert muligheter. Svar telles fra registrert markering eller dato.\n - link \"Oppsett AS\":\n - /url: /jobs?companyId=7\n - paragraph: 1 jobber · 0 svar (0%)\n - region \"Jobbtagger\":\n - heading \"Jobbtagger\" [level=2]\n - paragraph: De åtte vanligste jobbtaggene på alle jobber som ikke er slettet. Alle perioder.\n - paragraph: Ingen tagger ennå.\n - group: Vis månedlige taggverdier", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 1440, + "height": 900 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/dark 1920px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-en-dark-1920-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "590151de1fb517458aac801ad4a60aed05ef576c8384b78b9d734a1453fb1423", + "bytes": 6986 + }, + "context": { + "sample": { + "language": "en", + "theme": "dark", + "width": 1920, + "height": 1080 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- main:\n - navigation:\n - list:\n - listitem: Home\n - listitem: Dashboard\n - heading \"Dashboard\" [level=1]\n - paragraph: Your next actions, current pipeline and application activity.\n - region \"Get set up\":\n - heading \"Get set up\" [level=2]\n - paragraph: Setup guidance based on your saved account details, Career information, mailbox connections and tracked jobs.\n - button \"Dismiss setup checklist\"\n - text: 3 / 4\n - progressbar \"3 of 4 done\"\n - list:\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add account details\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add Career information\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Connect a mailbox\n - button \"Connect email\"\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Track your first job\n - paragraph: Your tracker today. Activity charts have a separate period.\n - button \"Customize dashboard\"\n - status: Content loaded.\n - term: Tracked jobs\n - definition:\n - 'link \"Tracked jobs: 1\"':\n - /url: /jobs\n - text: \"1\"\n - definition: Includes prospects and closed outcomes.\n - term: Applied (30 days)\n - definition: \"0\"\n - definition: Recorded application dates from the last 30 days, including any future-dated entries.\n - term: Jobs at interview\n - definition: \"0\"\n - definition: Jobs currently in this stage.\n - term: Current offers\n - definition:\n - 'link \"Current offers: 0\"':\n - /url: /offers\n - text: \"0\"\n - definition: Jobs currently in this stage.\n - region \"Today\":\n - heading \"Today\" [level=2]\n - paragraph: Your highest-priority application actions, ordered by urgency.\n - link \"Reminders\":\n - /url: /reminders\n - paragraph: Showing 0 of 0 items from your reminder feed.\n - paragraph: 0 follow-ups · 0 interview preparations · 0 package gaps in the feed\n - paragraph: Nothing to follow up right now.\n - region \"Current pipeline\":\n - heading \"Current pipeline\" [level=2]\n - paragraph: Non-deleted jobs by their current stage. Recorded custom statuses below.\n - paragraph: Saved\n - paragraph: \"1\"\n - group: Recorded status breakdown\n - status: Content loaded.\n - group \"Activity and tag-trend period\":\n - paragraph: Activity and tag-trend period\n - button \"6 mo\"\n - button \"12 mo\" [pressed]\n - button \"24 mo\"\n - region \"Application activity\":\n - heading \"Application activity\" [level=2]\n - paragraph: Applications from the selected months and their dated responses within the same window. Deleted jobs excluded.\n - paragraph: November 2025 – October 2026\n - paragraph: No applications or dated responses in this period.\n - group: View monthly values\n - region \"Response sources\":\n - heading \"Response sources\" [level=2]\n - paragraph: Up to six sources by tracked-job count. Current company source; includes prospects. A response flag or date counts as a recorded response.\n - paragraph: Unknown source\n - paragraph: 0%\n - text: 0 of 1 non-deleted jobs have a recorded response.\n - region \"Top companies by activity\":\n - heading \"Top companies by activity\" [level=2]\n - paragraph: Up to eight companies by non-deleted job count, including prospects. Responses use a recorded flag or date.\n - link \"Oppsett AS\":\n - /url: /jobs?companyId=8\n - paragraph: 1 jobs · 0 responses (0%)\n - region \"Job tags\":\n - heading \"Job tags\" [level=2]\n - paragraph: Top eight job tags across all non-deleted jobs. All time.\n - paragraph: No tags yet.\n - group: View monthly tag values", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 1920, + "height": 1080 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "attachment": "p7-setup-nb-dark-320-failed-mailbox-read-unknown-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "551a47e2009b9246abea0d534be7c23dbe133b2ff37a5a3bd0e87f746bc764bf", + "bytes": 4069 + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 320, + "height": 844 + }, + "state": "failed-mailbox-read-unknown", + "ariaSnapshot": "- main:\n - navigation:\n - list:\n - listitem: Hjem\n - listitem: Dashboard\n - heading \"Dashboard\" [level=1]\n - paragraph: Neste steg, nåværende statusfordeling og søknadsaktivitet.\n - region \"Kom i gang\":\n - heading \"Kom i gang\" [level=2]\n - paragraph: Veiledning basert på lagrede kontoopplysninger, karriereinformasjon, tilkoblede postkasser og stillinger du følger.\n - button \"Skjul oppstartslisten\"\n - alert:\n - text: Setup connection read unavailable\n - button \"Prøv igjen\"\n - paragraph: Jobbsøket ditt nå. Aktivitetsdiagrammene har et eget periodevalg.\n - button \"Tilpass dashboard\"\n - status: Innhold lastet.\n - region \"Jobbsøket starter her\":\n - heading \"Jobbsøket starter her\" [level=2]\n - paragraph: Lagre en jobb du vil utforske. Aktivitet og mønstre vises etter hvert som du bygger oversikten.\n - link \"Legg til jobb\":\n - /url: /jobs\n - link \"Karriereprofil\":\n - /url: /career\n - status: Innhold lastet.", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 320, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "attachment": "p7-setup-nb-dark-320-read-only-retry-known-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "3c8727776caa26130a28f83c6559d98921682534daa18a61e3ac92e71e07857a", + "bytes": 4652 + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 320, + "height": 844 + }, + "state": "read-only-retry-known", + "ariaSnapshot": "- main:\n - navigation:\n - list:\n - listitem: Hjem\n - listitem: Dashboard\n - heading \"Dashboard\" [level=1]\n - paragraph: Neste steg, nåværende statusfordeling og søknadsaktivitet.\n - region \"Kom i gang\":\n - heading \"Kom i gang\" [level=2]\n - paragraph: Veiledning basert på lagrede kontoopplysninger, karriereinformasjon, tilkoblede postkasser og stillinger du følger.\n - button \"Skjul oppstartslisten\"\n - text: 0 / 4\n - progressbar \"0 av 4 fullført\"\n - list:\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Legg til kontoopplysninger\n - button \"Åpne profil\"\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Legg til karriereinformasjon\n - button \"Åpne karriereprofil\"\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Koble til en postkasse\n - button \"Koble til e-post\"\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Følg din første stilling\n - button \"Legg til jobb\"\n - paragraph: Jobbsøket ditt nå. Aktivitetsdiagrammene har et eget periodevalg.\n - button \"Tilpass dashboard\"\n - status: Innhold lastet.\n - region \"Jobbsøket starter her\":\n - heading \"Jobbsøket starter her\" [level=2]\n - paragraph: Lagre en jobb du vil utforske. Aktivitet og mønstre vises etter hvert som du bygger oversikten.\n - link \"Legg til jobb\":\n - /url: /jobs\n - link \"Karriereprofil\":\n - /url: /career\n - status: Innhold lastet.", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 320, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "attachment": "p7-setup-en-dark-390-failed-summary-unknown-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "167a8d3ef83d6ebb6b43f4e5d6875ba3b3e5ebd8a1d4da35e1687f0f2bcaa0ff", + "bytes": 4536 + }, + "context": { + "sample": { + "language": "en", + "theme": "dark", + "width": 390, + "height": 844 + }, + "state": "failed-summary-unknown", + "ariaSnapshot": "- main:\n - navigation:\n - list:\n - listitem: Home\n - listitem: Dashboard\n - heading \"Dashboard\" [level=1]\n - paragraph: Your next actions, current pipeline and application activity.\n - region \"Get set up\":\n - heading \"Get set up\" [level=2]\n - paragraph: Setup guidance based on your saved account details, Career information, mailbox connections and tracked jobs.\n - button \"Dismiss setup checklist\"\n - status: Tracked-job status is unavailable. Retry the dashboard summary to check your jobs.\n - progressbar \"Tracked-job status is unavailable. Retry the dashboard summary to check your jobs.\"\n - list:\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Add account details\n - button \"Open profile\"\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Add Career information\n - button \"Open Career Profile\"\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Connect a mailbox\n - button \"Connect email\"\n - listitem:\n - paragraph: Track your first job\n - paragraph: Your tracker today. Activity charts have a separate period.\n - button \"Customize dashboard\"\n - status\n - alert:\n - paragraph: Unable to load dashboard summary\n - paragraph: The dashboard summary is unavailable right now.\n - paragraph: Summary read unavailable\n - button \"Retry\"\n - status: Content loaded.", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 390, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "attachment": "p7-setup-en-dark-390-summary-read-recovered-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "3c6914c69fc3930386f4070fca345bc4bf820556b3b6164fe0722fb28c0c56a2", + "bytes": 4579 + }, + "context": { + "sample": { + "language": "en", + "theme": "dark", + "width": 390, + "height": 844 + }, + "state": "summary-read-recovered", + "ariaSnapshot": "- main:\n - navigation:\n - list:\n - listitem: Home\n - listitem: Dashboard\n - heading \"Dashboard\" [level=1]\n - paragraph: Your next actions, current pipeline and application activity.\n - region \"Get set up\":\n - heading \"Get set up\" [level=2]\n - paragraph: Setup guidance based on your saved account details, Career information, mailbox connections and tracked jobs.\n - button \"Dismiss setup checklist\"\n - text: 0 / 4\n - progressbar \"0 of 4 done\"\n - list:\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Add account details\n - button \"Open profile\"\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Add Career information\n - button \"Open Career Profile\"\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Connect a mailbox\n - button \"Connect email\"\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Track your first job\n - button \"Add job\"\n - paragraph: Your tracker today. Activity charts have a separate period.\n - button \"Customize dashboard\"\n - status: Content loaded.\n - region \"Your search starts here\":\n - heading \"Your search starts here\" [level=2]\n - paragraph: Save a job you want to explore. Your activity and patterns will appear as you build your tracker.\n - link \"Add job\":\n - /url: /jobs\n - link \"Career profile\":\n - /url: /career\n - status: Content loaded.", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 390, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 E08] recovery to four complete setup steps removes guidance while retaining the next keyboard action", + "attachment": "p7-setup-en-light-390-four-complete-recovery-next-keyboard-action-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "bbd3b5ac94d71524ffb3f933be538b26364e338d273a1a64c7825ff60ecb04d5", + "bytes": 6220 + }, + "context": { + "sample": { + "language": "en", + "theme": "light", + "width": 390, + "height": 844 + }, + "state": "four-complete-recovery-next-keyboard-action", + "ariaSnapshot": "- main:\n - navigation:\n - list:\n - listitem: Home\n - listitem: Dashboard\n - heading \"Dashboard\" [level=1]\n - paragraph: Your next actions, current pipeline and application activity.\n - paragraph: Your tracker today. Activity charts have a separate period.\n - button \"Customize dashboard\"\n - status: Content loaded.\n - term: Tracked jobs\n - definition:\n - 'link \"Tracked jobs: 1\"':\n - /url: /jobs\n - text: \"1\"\n - definition: Includes prospects and closed outcomes.\n - term: Applied (30 days)\n - definition: \"0\"\n - definition: Recorded application dates from the last 30 days, including any future-dated entries.\n - term: Jobs at interview\n - definition: \"0\"\n - definition: Jobs currently in this stage.\n - term: Current offers\n - definition:\n - 'link \"Current offers: 0\"':\n - /url: /offers\n - text: \"0\"\n - definition: Jobs currently in this stage.\n - region \"Today\":\n - heading \"Today\" [level=2]\n - paragraph: Your highest-priority application actions, ordered by urgency.\n - link \"Reminders\":\n - /url: /reminders\n - paragraph: Showing 0 of 0 items from your reminder feed.\n - paragraph: 0 follow-ups · 0 interview preparations · 0 package gaps in the feed\n - paragraph: Nothing to follow up right now.\n - region \"Current pipeline\":\n - heading \"Current pipeline\" [level=2]\n - paragraph: Non-deleted jobs by their current stage. Recorded custom statuses below.\n - paragraph: Saved\n - paragraph: \"1\"\n - group: Recorded status breakdown\n - status: Content loaded.\n - group \"Activity and tag-trend period\":\n - paragraph: Activity and tag-trend period\n - button \"6 mo\"\n - button \"12 mo\" [pressed]\n - button \"24 mo\"\n - region \"Application activity\":\n - heading \"Application activity\" [level=2]\n - paragraph: Applications from the selected months and their dated responses within the same window. Deleted jobs excluded.\n - paragraph: November 2025 – October 2026\n - paragraph: No applications or dated responses in this period.\n - group: View monthly values\n - region \"Response sources\":\n - heading \"Response sources\" [level=2]\n - paragraph: Up to six sources by tracked-job count. Current company source; includes prospects. A response flag or date counts as a recorded response.\n - paragraph: Unknown source\n - paragraph: 0%\n - text: 0 of 1 non-deleted jobs have a recorded response.\n - region \"Top companies by activity\":\n - heading \"Top companies by activity\" [level=2]\n - paragraph: Up to eight companies by non-deleted job count, including prospects. Responses use a recorded flag or date.\n - link \"Complete setup AS\":\n - /url: /jobs?companyId=9\n - paragraph: 1 jobs · 0 responses (0%)\n - region \"Job tags\":\n - heading \"Job tags\" [level=2]\n - paragraph: Top eight job tags across all non-deleted jobs. All time.\n - paragraph: No tags yet.\n - group: View monthly tag values", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 390, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + } + ], + "attachments": [ + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 320px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-dark-320-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "3f4d478d0d7d2f9db6b526ddb6e0de6202279971e59bd97eedc9447c76fb7cd6", + "bytes": 7252 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 320px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-dark-320-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "09a7e0d13b4adc7fc4da605c645df405c0967ca0032631202f86eaf479a37e59", + "bytes": 113405, + "extractedPNG": { + "path": ".artifacts/phase7/p7-02/onboarding-final/visuals/368c6659df10/p7-setup-nb-dark-320-manual-data-3-of-4.png", + "sha256": "09a7e0d13b4adc7fc4da605c645df405c0967ca0032631202f86eaf479a37e59", + "bytes": 113405, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding.json", + "sha256": "368c6659df10795aaddcace25d5c759bf1753e17c2257a7ecd814bfc823b377c", + "bytes": 1896690, + "hashPolicy": "Exact measured raw bytes" + } + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/light 360px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-light-360-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "b24c76b1f1b82d767c97a6fe65a65b123298dc883624b892f98cd10878f42613", + "bytes": 6944 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/light 360px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-light-360-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "30fff6bab8319bdf445b67985836d7f2f198070a439bc2c0abab6ed28ad92e3a", + "bytes": 111818, + "extractedPNG": { + "path": ".artifacts/phase7/p7-02/onboarding-final/visuals/368c6659df10/p7-setup-en-light-360-manual-data-3-of-4.png", + "sha256": "30fff6bab8319bdf445b67985836d7f2f198070a439bc2c0abab6ed28ad92e3a", + "bytes": 111818, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding.json", + "sha256": "368c6659df10795aaddcace25d5c759bf1753e17c2257a7ecd814bfc823b377c", + "bytes": 1896690, + "hashPolicy": "Exact measured raw bytes" + } + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/light 390px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-light-390-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "799e528296598b63ce6d3a196a6e22eee944edd66a6f22b186e5c4ffe76db0fc", + "bytes": 7253 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/light 390px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-light-390-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "aa67abde0a2281743df8ab2dc5dac0ecc47e5b879d57de8b38308fbf7515bc86", + "bytes": 117004, + "extractedPNG": { + "path": ".artifacts/phase7/p7-02/onboarding-final/visuals/368c6659df10/p7-setup-nb-light-390-manual-data-3-of-4.png", + "sha256": "aa67abde0a2281743df8ab2dc5dac0ecc47e5b879d57de8b38308fbf7515bc86", + "bytes": 117004, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding.json", + "sha256": "368c6659df10795aaddcace25d5c759bf1753e17c2257a7ecd814bfc823b377c", + "bytes": 1896690, + "hashPolicy": "Exact measured raw bytes" + } + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/dark 768px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-dark-768-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "c9348f2878f3445d8903b5e017a460e57b62acf81541052f389668fb4b2e29cc", + "bytes": 6945 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/dark 768px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-dark-768-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "be85a76011da725d8374c2ce1332ed412107e487d32dbb9fc5baa447ae65dec5", + "bytes": 116513, + "extractedPNG": { + "path": ".artifacts/phase7/p7-02/onboarding-final/visuals/368c6659df10/p7-setup-en-dark-768-manual-data-3-of-4.png", + "sha256": "be85a76011da725d8374c2ce1332ed412107e487d32dbb9fc5baa447ae65dec5", + "bytes": 116513, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding.json", + "sha256": "368c6659df10795aaddcace25d5c759bf1753e17c2257a7ecd814bfc823b377c", + "bytes": 1896690, + "hashPolicy": "Exact measured raw bytes" + } + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 1024px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-dark-1024-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "d0705a8a48e6098f4fdeb27cf2aaf686bd4a282e3974fbdaf24c978612e71442", + "bytes": 7340 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 1024px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-dark-1024-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "4b93b9e59b8e8165f46f19edb89a3e40c987c354e4e797dce3776c74bf320922", + "bytes": 147511, + "extractedPNG": { + "path": ".artifacts/phase7/p7-02/onboarding-final/visuals/368c6659df10/p7-setup-nb-dark-1024-manual-data-3-of-4.png", + "sha256": "4b93b9e59b8e8165f46f19edb89a3e40c987c354e4e797dce3776c74bf320922", + "bytes": 147511, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding.json", + "sha256": "368c6659df10795aaddcace25d5c759bf1753e17c2257a7ecd814bfc823b377c", + "bytes": 1896690, + "hashPolicy": "Exact measured raw bytes" + } + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/light 1280px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-light-1280-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "81d3d42fc8dbb90a3f6c8d21491421990c1926a89456529ec33e03bcfb18e0c3", + "bytes": 7032 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/light 1280px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-light-1280-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "7a8c67dc963dd2d286ca9b4476798dad316deea5df6a6fb1f00b2b751647f324", + "bytes": 131563, + "extractedPNG": { + "path": ".artifacts/phase7/p7-02/onboarding-final/visuals/368c6659df10/p7-setup-en-light-1280-manual-data-3-of-4.png", + "sha256": "7a8c67dc963dd2d286ca9b4476798dad316deea5df6a6fb1f00b2b751647f324", + "bytes": 131563, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding.json", + "sha256": "368c6659df10795aaddcace25d5c759bf1753e17c2257a7ecd814bfc823b377c", + "bytes": 1896690, + "hashPolicy": "Exact measured raw bytes" + } + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/light 1440px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-light-1440-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "db4960e7c6844b4b2da2e378b3478a30f713287a935b7ac9ce2d3636d4d622f3", + "bytes": 7341 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/light 1440px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-light-1440-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "f9b229174edf77925ee6b7ff80145c001a8a1081a10a1c1136cb8e65c3088271", + "bytes": 153180, + "extractedPNG": { + "path": ".artifacts/phase7/p7-02/onboarding-final/visuals/368c6659df10/p7-setup-nb-light-1440-manual-data-3-of-4.png", + "sha256": "f9b229174edf77925ee6b7ff80145c001a8a1081a10a1c1136cb8e65c3088271", + "bytes": 153180, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding.json", + "sha256": "368c6659df10795aaddcace25d5c759bf1753e17c2257a7ecd814bfc823b377c", + "bytes": 1896690, + "hashPolicy": "Exact measured raw bytes" + } + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/dark 1920px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-dark-1920-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "590151de1fb517458aac801ad4a60aed05ef576c8384b78b9d734a1453fb1423", + "bytes": 6986 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/dark 1920px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-dark-1920-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "6a0267c65dc15cec8e84c53f667ce1fbb97a955ee0da279fed0be2a21a9539d4", + "bytes": 150373, + "extractedPNG": { + "path": ".artifacts/phase7/p7-02/onboarding-final/visuals/368c6659df10/p7-setup-en-dark-1920-manual-data-3-of-4.png", + "sha256": "6a0267c65dc15cec8e84c53f667ce1fbb97a955ee0da279fed0be2a21a9539d4", + "bytes": 150373, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding.json", + "sha256": "368c6659df10795aaddcace25d5c759bf1753e17c2257a7ecd814bfc823b377c", + "bytes": 1896690, + "hashPolicy": "Exact measured raw bytes" + } + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "name": "p7-setup-nb-dark-320-failed-mailbox-read-unknown-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "551a47e2009b9246abea0d534be7c23dbe133b2ff37a5a3bd0e87f746bc764bf", + "bytes": 4069 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "name": "p7-setup-nb-dark-320-failed-mailbox-read-unknown", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "0c66cb1bc253a9e497ec08ab517322ff9e6f9cb93b3b193d038deb492f4a09b8", + "bytes": 40818, + "extractedPNG": { + "path": ".artifacts/phase7/p7-02/onboarding-final/visuals/368c6659df10/p7-setup-nb-dark-320-failed-mailbox-read-unknown.png", + "sha256": "0c66cb1bc253a9e497ec08ab517322ff9e6f9cb93b3b193d038deb492f4a09b8", + "bytes": 40818, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding.json", + "sha256": "368c6659df10795aaddcace25d5c759bf1753e17c2257a7ecd814bfc823b377c", + "bytes": 1896690, + "hashPolicy": "Exact measured raw bytes" + } + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "name": "p7-setup-nb-dark-320-read-only-retry-known-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "3c8727776caa26130a28f83c6559d98921682534daa18a61e3ac92e71e07857a", + "bytes": 4652 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "name": "p7-setup-nb-dark-320-read-only-retry-known", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "0e392341bf220ff9839acaa2d04c809f113349ca15a951192e92b9c6ae97ec8a", + "bytes": 51314, + "extractedPNG": { + "path": ".artifacts/phase7/p7-02/onboarding-final/visuals/368c6659df10/p7-setup-nb-dark-320-read-only-retry-known.png", + "sha256": "0e392341bf220ff9839acaa2d04c809f113349ca15a951192e92b9c6ae97ec8a", + "bytes": 51314, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding.json", + "sha256": "368c6659df10795aaddcace25d5c759bf1753e17c2257a7ecd814bfc823b377c", + "bytes": 1896690, + "hashPolicy": "Exact measured raw bytes" + } + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "name": "p7-setup-en-dark-390-failed-summary-unknown-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "167a8d3ef83d6ebb6b43f4e5d6875ba3b3e5ebd8a1d4da35e1687f0f2bcaa0ff", + "bytes": 4536 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "name": "p7-setup-en-dark-390-failed-summary-unknown", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "7d28553de8f8c47b78c0889972498c98160dd12f40682a893933e76cda83a8d3", + "bytes": 49490, + "extractedPNG": { + "path": ".artifacts/phase7/p7-02/onboarding-final/visuals/368c6659df10/p7-setup-en-dark-390-failed-summary-unknown.png", + "sha256": "7d28553de8f8c47b78c0889972498c98160dd12f40682a893933e76cda83a8d3", + "bytes": 49490, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding.json", + "sha256": "368c6659df10795aaddcace25d5c759bf1753e17c2257a7ecd814bfc823b377c", + "bytes": 1896690, + "hashPolicy": "Exact measured raw bytes" + } + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "name": "p7-setup-en-dark-390-summary-read-recovered-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "3c6914c69fc3930386f4070fca345bc4bf820556b3b6164fe0722fb28c0c56a2", + "bytes": 4579 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "name": "p7-setup-en-dark-390-summary-read-recovered", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "f83e35ea18548777367a2aff924f06c21b9f43de01b8c60d56ca784cba76e86d", + "bytes": 43859, + "extractedPNG": { + "path": ".artifacts/phase7/p7-02/onboarding-final/visuals/368c6659df10/p7-setup-en-dark-390-summary-read-recovered.png", + "sha256": "f83e35ea18548777367a2aff924f06c21b9f43de01b8c60d56ca784cba76e86d", + "bytes": 43859, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding.json", + "sha256": "368c6659df10795aaddcace25d5c759bf1753e17c2257a7ecd814bfc823b377c", + "bytes": 1896690, + "hashPolicy": "Exact measured raw bytes" + } + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 E08] recovery to four complete setup steps removes guidance while retaining the next keyboard action", + "name": "p7-setup-en-light-390-four-complete-recovery-next-keyboard-action-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "bbd3b5ac94d71524ffb3f933be538b26364e338d273a1a64c7825ff60ecb04d5", + "bytes": 6220 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 E08] recovery to four complete setup steps removes guidance while retaining the next keyboard action", + "name": "p7-setup-en-light-390-four-complete-recovery-next-keyboard-action", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "650498d27aaf9194819e9ac5322a496c96de7bd4c647295d1f5acd8a8c61d6d2", + "bytes": 97533, + "extractedPNG": { + "path": ".artifacts/phase7/p7-02/onboarding-final/visuals/368c6659df10/p7-setup-en-light-390-four-complete-recovery-next-keyboard-action.png", + "sha256": "650498d27aaf9194819e9ac5322a496c96de7bd4c647295d1f5acd8a8c61d6d2", + "bytes": 97533, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding.json", + "sha256": "368c6659df10795aaddcace25d5c759bf1753e17c2257a7ecd814bfc823b377c", + "bytes": 1896690, + "hashPolicy": "Exact measured raw bytes" + } + }, + "manualReview": "No individual inspection claimed by collector" + } + ], + "reportErrors": [], + "configuration": { + "version": "1.62.1", + "workers": 1, + "projects": [ + { + "name": "chromium", + "retries": 0 + } + ] + } + }, + "unitHistory": [ + { + "result": { + "raw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-caller-green-20261011T191751Z.json", + "sha256": "93da6441835d3e3f2d18a44eb4de59e85565de31b82baa1037b5a11d1e4fd437", + "bytes": 4468, + "hashPolicy": "Exact measured raw bytes" + }, + "startedUnixMs": 1791746272933, + "passed": 9, + "failed": 0, + "pending": 0, + "total": 9, + "suites": 1, + "cases": [ + { + "name": "[PRES-S01] exact monthly values, sample, custom statuses and separate salary group remain readable", + "status": "passed" + }, + { + "name": "[PRES-S02] all five stored visibility flags hide their groups and survive remount", + "status": "passed" + }, + { + "name": "[PRES-S01] a trends failure retains summary and retries without showing a false zero response rate", + "status": "passed" + }, + { + "name": "[PRES-S01] a summary failure does not suppress independent trends", + "status": "passed" + }, + { + "name": "[PRES-J05 J09 S01] raw status and company destinations use supported exact query fields", + "status": "passed" + }, + { + "name": "[PRES-S01 S02] period changes only reload trends and retain current snapshot meaning", + "status": "passed" + }, + { + "name": "[PRES-S01] zero activity is an explicit window-empty state without a fabricated response percentage", + "status": "passed" + }, + { + "name": "[PRES-S01] activity chart uses one shared zero-based scale and a readable legend", + "status": "passed" + }, + { + "name": "[P7-02 PRES-S01 S02] setup guidance treats pending and failed summaries as unknown until their owner retries", + "status": "passed" + } + ] + }, + "command": { + "command": [ + "rtk", + "proxy", + "npm.cmd", + "test", + "--", + "--runInBand", + "--watchAll=false", + "--json", + "--outputFile=E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\unit\\onboarding-caller-green-20261011T191751Z.json", + "src/dashboard-presentation.test.tsx" + ], + "startedUtc": "2026-10-11T19:17:51.931812+00:00", + "finishedUtc": "2026-10-11T19:17:56.826994+00:00", + "exitCode": 0, + "counts": { + "numPassedTests": 9, + "numFailedTests": 0, + "numPendingTests": 0, + "numTodoTests": 0, + "numPassedTestSuites": 1, + "numFailedTestSuites": 0 + } + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-caller-green-20261011T191751Z-command.json", + "sha256": "0fb39a46d9367ba983d3bd196557a540d6679f784ba764f948ac23fb967eb022", + "bytes": 652, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-caller-green-20261011T191751Z.log", + "sha256": "a7249d5485a5f4374cebfc47289287bd6ffa970b9abef446de86631b3891deb9", + "bytes": 591, + "hashPolicy": "Exact measured raw bytes" + } + }, + { + "result": { + "raw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-caller-red-20261011T191724Z.json", + "sha256": "06227f6f8d8d768cc4a81fdc9c0d840ad226541a23ef304f1aae8db6877a108d", + "bytes": 7365, + "hashPolicy": "Exact measured raw bytes" + }, + "startedUnixMs": 1791746245035, + "passed": 8, + "failed": 1, + "pending": 0, + "total": 9, + "suites": 1, + "cases": [ + { + "name": "[PRES-S01] exact monthly values, sample, custom statuses and separate salary group remain readable", + "status": "passed" + }, + { + "name": "[PRES-S02] all five stored visibility flags hide their groups and survive remount", + "status": "passed" + }, + { + "name": "[PRES-S01] a trends failure retains summary and retries without showing a false zero response rate", + "status": "passed" + }, + { + "name": "[PRES-S01] a summary failure does not suppress independent trends", + "status": "passed" + }, + { + "name": "[PRES-J05 J09 S01] raw status and company destinations use supported exact query fields", + "status": "passed" + }, + { + "name": "[PRES-S01 S02] period changes only reload trends and retain current snapshot meaning", + "status": "passed" + }, + { + "name": "[PRES-S01] zero activity is an explicit window-empty state without a fabricated response percentage", + "status": "passed" + }, + { + "name": "[PRES-S01] activity chart uses one shared zero-based scale and a readable legend", + "status": "passed" + }, + { + "name": "[P7-02 PRES-S01 S02] setup guidance treats pending and failed summaries as unknown until their owner retries", + "status": "failed" + } + ] + }, + "command": { + "command": [ + "rtk", + "proxy", + "npm.cmd", + "test", + "--", + "--runInBand", + "--watchAll=false", + "--json", + "--outputFile=E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\unit\\onboarding-caller-red-20261011T191724Z.json", + "src/dashboard-presentation.test.tsx" + ], + "startedUtc": "2026-10-11T19:17:24.124460+00:00", + "finishedUtc": "2026-10-11T19:17:28.472937+00:00", + "exitCode": 1, + "counts": { + "numPassedTests": 8, + "numFailedTests": 1, + "numPendingTests": 0, + "numTodoTests": 0, + "numPassedTestSuites": 0, + "numFailedTestSuites": 1 + } + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-caller-red-20261011T191724Z-command.json", + "sha256": "f926eb479aa0c868fdded071cbb2e1278d28eade4017643050d75d949b13db25", + "bytes": 650, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-caller-red-20261011T191724Z.log", + "sha256": "d434e22726b03515605c3ea41bf00ca78c03be413afb1f2075048c61d9f30b10", + "bytes": 8224, + "hashPolicy": "Exact measured raw bytes" + } + }, + { + "result": { + "raw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-final-20261011T233808Z.json", + "sha256": "de028bf72f7a830db9af5d1a116d8a9a958b3af183b69b05a18cf5d8b14f12de", + "bytes": 13723, + "hashPolicy": "Exact measured raw bytes" + }, + "startedUnixMs": 1791761889073, + "passed": 32, + "failed": 0, + "pending": 0, + "total": 32, + "suites": 2, + "cases": [ + { + "name": "[PRES-S01] exact monthly values, sample, custom statuses and separate salary group remain readable", + "status": "passed" + }, + { + "name": "[PRES-S02] all five stored visibility flags hide their groups and survive remount", + "status": "passed" + }, + { + "name": "[PRES-S01] a trends failure retains summary and retries without showing a false zero response rate", + "status": "passed" + }, + { + "name": "[PRES-S01] a summary failure does not suppress independent trends", + "status": "passed" + }, + { + "name": "[PRES-J05 J09 S01] raw status and company destinations use supported exact query fields", + "status": "passed" + }, + { + "name": "[PRES-S01 S02] period changes only reload trends and retain current snapshot meaning", + "status": "passed" + }, + { + "name": "[PRES-S01] zero activity is an explicit window-empty state without a fabricated response percentage", + "status": "passed" + }, + { + "name": "[PRES-S01] activity chart uses one shared zero-based scale and a readable legend", + "status": "passed" + }, + { + "name": "[P7-02 PRES-S01 S02] setup guidance treats pending and failed summaries as unknown until their owner retries", + "status": "passed" + }, + { + "name": "uses structured career data and connected inbox status for four source-backed onboarding steps", + "status": "passed" + }, + { + "name": "a stored /microsoft-graph/status connection counts without connecting or syncing", + "status": "passed" + }, + { + "name": "a stored /imap/status connection counts without connecting or syncing", + "status": "passed" + }, + { + "name": "manual skills preserves the existing career-content criterion without claiming a CV import", + "status": "passed" + }, + { + "name": "raw career text preserves the existing career-content criterion without claiming a CV import", + "status": "passed" + }, + { + "name": "contact only preserves the existing career-content criterion without claiming a CV import", + "status": "passed" + }, + { + "name": "career names and account email alone do not count as account identity details", + "status": "passed" + }, + { + "name": "unknown job summary has indeterminate progress, then responds to known jobs without refetching sources", + "status": "passed" + }, + { + "name": "all four recorded steps hide the optional checklist after the sources settle", + "status": "passed" + }, + { + "name": "failed /auth/me status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "failed /career/profile status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "failed /gmail/status status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "failed /microsoft-graph/status status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "failed /imap/status status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "onboardingStepProfileAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "onboardingStepCvAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "onboardingStepEmailAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "onboardingStepJobAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "a legacy owner dismissal skips all reads on mount", + "status": "passed" + }, + { + "name": "dismissal survives reload for its owner and stays separate from another owner's checklist and Dashboard flags", + "status": "passed" + }, + { + "name": "unavailable dismissal storage still permits setup and an in-memory dismissal", + "status": "passed" + }, + { + "name": "loading is announced without guessed progress and dismissal prevents late failure from reopening the checklist", + "status": "passed" + }, + { + "name": "Bokmål guidance keeps semantic list and progress names without additional source reads", + "status": "passed" + } + ] + }, + "command": { + "command": [ + "rtk", + "proxy", + "npm.cmd", + "test", + "--", + "--runInBand", + "--watchAll=false", + "--json", + "--outputFile=E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\unit\\onboarding-final-20261011T233808Z.json", + "src/onboarding-checklist.test.tsx", + "src/dashboard-presentation.test.tsx" + ], + "startedUtc": "2026-10-11T23:38:08.091141+00:00", + "finishedUtc": "2026-10-11T23:38:14.684655+00:00", + "exitCode": 0, + "counts": { + "numPassedTests": 32, + "numFailedTests": 0, + "numPendingTests": 0, + "numTodoTests": 0, + "numPassedTestSuites": 2, + "numFailedTestSuites": 0 + } + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-final-20261011T233808Z-command.json", + "sha256": "4249e7f3cb5b5bada2e07f3b04aed84f6067bf9d99ea04e9ed01779da5c0db82", + "bytes": 688, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-final-20261011T233808Z.log", + "sha256": "df095c420c7d9437ff0da643d42145728aefcc1aea94447556cd7e3f4f5af330", + "bytes": 663, + "hashPolicy": "Exact measured raw bytes" + } + }, + { + "result": { + "raw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-focus-red-20261011T234032Z.json", + "sha256": "5316670f4eb2258e04582f20ad11b7e38d28ab9a4cc2fe18de3696e41bd65e14", + "bytes": 87750, + "hashPolicy": "Exact measured raw bytes" + }, + "startedUnixMs": 1791762033733, + "passed": 18, + "failed": 5, + "pending": 0, + "total": 23, + "suites": 1, + "cases": [ + { + "name": "uses structured career data and connected inbox status for four source-backed onboarding steps", + "status": "passed" + }, + { + "name": "a stored /microsoft-graph/status connection counts without connecting or syncing", + "status": "passed" + }, + { + "name": "a stored /imap/status connection counts without connecting or syncing", + "status": "passed" + }, + { + "name": "manual skills preserves the existing career-content criterion without claiming a CV import", + "status": "passed" + }, + { + "name": "raw career text preserves the existing career-content criterion without claiming a CV import", + "status": "passed" + }, + { + "name": "contact only preserves the existing career-content criterion without claiming a CV import", + "status": "passed" + }, + { + "name": "career names and account email alone do not count as account identity details", + "status": "passed" + }, + { + "name": "unknown job summary has indeterminate progress, then responds to known jobs without refetching sources", + "status": "passed" + }, + { + "name": "all four recorded steps hide the optional checklist after the sources settle", + "status": "passed" + }, + { + "name": "failed /auth/me status stays unknown and retries only the same source reads", + "status": "failed" + }, + { + "name": "failed /career/profile status stays unknown and retries only the same source reads", + "status": "failed" + }, + { + "name": "failed /gmail/status status stays unknown and retries only the same source reads", + "status": "failed" + }, + { + "name": "failed /microsoft-graph/status status stays unknown and retries only the same source reads", + "status": "failed" + }, + { + "name": "failed /imap/status status stays unknown and retries only the same source reads", + "status": "failed" + }, + { + "name": "onboardingStepProfileAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "onboardingStepCvAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "onboardingStepEmailAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "onboardingStepJobAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "a legacy owner dismissal skips all reads on mount", + "status": "passed" + }, + { + "name": "dismissal survives reload for its owner and stays separate from another owner's checklist and Dashboard flags", + "status": "passed" + }, + { + "name": "unavailable dismissal storage still permits setup and an in-memory dismissal", + "status": "passed" + }, + { + "name": "loading is announced without guessed progress and dismissal prevents late failure from reopening the checklist", + "status": "passed" + }, + { + "name": "Bokmål guidance keeps semantic list and progress names without additional source reads", + "status": "passed" + } + ] + }, + "command": { + "command": [ + "rtk", + "proxy", + "npm.cmd", + "test", + "--", + "--runInBand", + "--watchAll=false", + "--json", + "--outputFile=E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\unit\\onboarding-focus-red-20261011T234032Z.json", + "src/onboarding-checklist.test.tsx" + ], + "startedUtc": "2026-10-11T23:40:32.832686+00:00", + "finishedUtc": "2026-10-11T23:40:37.156430+00:00", + "exitCode": 1, + "counts": { + "numPassedTests": 18, + "numFailedTests": 5, + "numPendingTests": 0, + "numTodoTests": 0, + "numPassedTestSuites": 0, + "numFailedTestSuites": 1 + } + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-focus-red-20261011T234032Z-command.json", + "sha256": "02d48c84daea3a29768612075b586a7ef9c67bd610d528e84c41bd50913995df", + "bytes": 648, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-focus-red-20261011T234032Z.log", + "sha256": "a7c4fde092ed086cdc43021036d29518f879290e099ac2b5d1addf1bbfbb4602", + "bytes": 43716, + "hashPolicy": "Exact measured raw bytes" + } + }, + { + "result": { + "raw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-green-20261011T233557Z.json", + "sha256": "a75dcd1008ae774bb8ca93f6d01b2a77d1206a31fea4a383ac2b219a8a0c05b2", + "bytes": 24868, + "hashPolicy": "Exact measured raw bytes" + }, + "startedUnixMs": 1791761759502, + "passed": 22, + "failed": 1, + "pending": 0, + "total": 23, + "suites": 1, + "cases": [ + { + "name": "uses structured career data and connected inbox status for four source-backed onboarding steps", + "status": "passed" + }, + { + "name": "a stored /microsoft-graph/status connection counts without connecting or syncing", + "status": "passed" + }, + { + "name": "a stored /imap/status connection counts without connecting or syncing", + "status": "passed" + }, + { + "name": "manual skills preserves the existing career-content criterion without claiming a CV import", + "status": "passed" + }, + { + "name": "raw career text preserves the existing career-content criterion without claiming a CV import", + "status": "passed" + }, + { + "name": "contact only preserves the existing career-content criterion without claiming a CV import", + "status": "passed" + }, + { + "name": "career names and account email alone do not count as account identity details", + "status": "passed" + }, + { + "name": "unknown job summary has indeterminate progress, then responds to known jobs without refetching sources", + "status": "passed" + }, + { + "name": "all four recorded steps hide the optional checklist after the sources settle", + "status": "passed" + }, + { + "name": "failed /auth/me status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "failed /career/profile status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "failed /gmail/status status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "failed /microsoft-graph/status status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "failed /imap/status status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "onboardingStepProfileAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "onboardingStepCvAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "onboardingStepEmailAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "onboardingStepJobAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "a legacy owner dismissal skips all reads on mount", + "status": "passed" + }, + { + "name": "dismissal survives reload for its owner and stays separate from another owner's checklist and Dashboard flags", + "status": "passed" + }, + { + "name": "unavailable dismissal storage still permits setup and an in-memory dismissal", + "status": "passed" + }, + { + "name": "loading is announced without guessed progress and dismissal prevents late failure from reopening the checklist", + "status": "failed" + }, + { + "name": "Bokmål guidance keeps semantic list and progress names without additional source reads", + "status": "passed" + } + ] + }, + "command": { + "command": [ + "rtk", + "proxy", + "npm.cmd", + "test", + "--", + "--runInBand", + "--watchAll=false", + "--json", + "--outputFile=E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\unit\\onboarding-green-20261011T233557Z.json", + "src/onboarding-checklist.test.tsx" + ], + "startedUtc": "2026-10-11T23:35:57.283698+00:00", + "finishedUtc": "2026-10-11T23:36:03.879627+00:00", + "exitCode": 1, + "counts": { + "numPassedTests": 22, + "numFailedTests": 1, + "numPendingTests": 0, + "numTodoTests": 0, + "numPassedTestSuites": 0, + "numFailedTestSuites": 1 + } + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-green-20261011T233557Z-command.json", + "sha256": "756dc2a791cfbc8107904cd12d43ff987e5e4b1f8b1e27746cc72166b67a4f79", + "bytes": 644, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-green-20261011T233557Z.log", + "sha256": "1d9d05901a1cc49040d93e76041ed6ef6dc0147e932d3c2660c90fc8d375fe51", + "bytes": 6307, + "hashPolicy": "Exact measured raw bytes" + } + }, + { + "result": { + "raw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-green-final-20261011T233703Z.json", + "sha256": "7dd48d1a7ee18d4646bf7a897508a63d8b079624a2bcdaf4206a2aa89fde7b21", + "bytes": 9806, + "hashPolicy": "Exact measured raw bytes" + }, + "startedUnixMs": 1791761824683, + "passed": 23, + "failed": 0, + "pending": 0, + "total": 23, + "suites": 1, + "cases": [ + { + "name": "uses structured career data and connected inbox status for four source-backed onboarding steps", + "status": "passed" + }, + { + "name": "a stored /microsoft-graph/status connection counts without connecting or syncing", + "status": "passed" + }, + { + "name": "a stored /imap/status connection counts without connecting or syncing", + "status": "passed" + }, + { + "name": "manual skills preserves the existing career-content criterion without claiming a CV import", + "status": "passed" + }, + { + "name": "raw career text preserves the existing career-content criterion without claiming a CV import", + "status": "passed" + }, + { + "name": "contact only preserves the existing career-content criterion without claiming a CV import", + "status": "passed" + }, + { + "name": "career names and account email alone do not count as account identity details", + "status": "passed" + }, + { + "name": "unknown job summary has indeterminate progress, then responds to known jobs without refetching sources", + "status": "passed" + }, + { + "name": "all four recorded steps hide the optional checklist after the sources settle", + "status": "passed" + }, + { + "name": "failed /auth/me status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "failed /career/profile status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "failed /gmail/status status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "failed /microsoft-graph/status status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "failed /imap/status status stays unknown and retries only the same source reads", + "status": "passed" + }, + { + "name": "onboardingStepProfileAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "onboardingStepCvAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "onboardingStepEmailAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "onboardingStepJobAction keeps its source-owned destination", + "status": "passed" + }, + { + "name": "a legacy owner dismissal skips all reads on mount", + "status": "passed" + }, + { + "name": "dismissal survives reload for its owner and stays separate from another owner's checklist and Dashboard flags", + "status": "passed" + }, + { + "name": "unavailable dismissal storage still permits setup and an in-memory dismissal", + "status": "passed" + }, + { + "name": "loading is announced without guessed progress and dismissal prevents late failure from reopening the checklist", + "status": "passed" + }, + { + "name": "Bokmål guidance keeps semantic list and progress names without additional source reads", + "status": "passed" + } + ] + }, + "command": { + "command": [ + "rtk", + "proxy", + "npm.cmd", + "test", + "--", + "--runInBand", + "--watchAll=false", + "--json", + "--outputFile=E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\unit\\onboarding-green-final-20261011T233703Z.json", + "src/onboarding-checklist.test.tsx" + ], + "startedUtc": "2026-10-11T23:37:03.760131+00:00", + "finishedUtc": "2026-10-11T23:37:08.167745+00:00", + "exitCode": 0, + "counts": { + "numPassedTests": 23, + "numFailedTests": 0, + "numPendingTests": 0, + "numTodoTests": 0, + "numPassedTestSuites": 1, + "numFailedTestSuites": 0 + } + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-green-final-20261011T233703Z-command.json", + "sha256": "619c6c8afb2668e1830ca521d924cd4154553d360af003ebfe00938d7bd547c2", + "bytes": 650, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-green-final-20261011T233703Z.log", + "sha256": "c8cb3815fc58d0ca1b42220b5cc0da0beae912ef32755aea2f69e1515a24521f", + "bytes": 602, + "hashPolicy": "Exact measured raw bytes" + } + }, + { + "result": { + "raw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-red-20261011T192116Z.json", + "sha256": "9fb1dde76aef77faf489e920b8050fda188347a6f77837454dc3c44bc3baa2ee", + "bytes": 665637, + "hashPolicy": "Exact measured raw bytes" + }, + "startedUnixMs": 1791746477056, + "passed": 1, + "failed": 22, + "pending": 0, + "total": 23, + "suites": 1, + "cases": [ + { + "name": "uses structured career data and connected inbox status for four source-backed onboarding steps", + "status": "failed" + }, + { + "name": "a stored /microsoft-graph/status connection counts without connecting or syncing", + "status": "failed" + }, + { + "name": "a stored /imap/status connection counts without connecting or syncing", + "status": "failed" + }, + { + "name": "manual skills preserves the existing career-content criterion without claiming a CV import", + "status": "failed" + }, + { + "name": "raw career text preserves the existing career-content criterion without claiming a CV import", + "status": "failed" + }, + { + "name": "contact only preserves the existing career-content criterion without claiming a CV import", + "status": "failed" + }, + { + "name": "career names and account email alone do not count as account identity details", + "status": "failed" + }, + { + "name": "unknown job summary has indeterminate progress, then responds to known jobs without refetching sources", + "status": "failed" + }, + { + "name": "all four recorded steps hide the optional checklist after the sources settle", + "status": "passed" + }, + { + "name": "failed /auth/me status stays unknown and retries only the same source reads", + "status": "failed" + }, + { + "name": "failed /career/profile status stays unknown and retries only the same source reads", + "status": "failed" + }, + { + "name": "failed /gmail/status status stays unknown and retries only the same source reads", + "status": "failed" + }, + { + "name": "failed /microsoft-graph/status status stays unknown and retries only the same source reads", + "status": "failed" + }, + { + "name": "failed /imap/status status stays unknown and retries only the same source reads", + "status": "failed" + }, + { + "name": "onboardingStepProfileAction keeps its source-owned destination", + "status": "failed" + }, + { + "name": "onboardingStepCvAction keeps its source-owned destination", + "status": "failed" + }, + { + "name": "onboardingStepEmailAction keeps its source-owned destination", + "status": "failed" + }, + { + "name": "onboardingStepJobAction keeps its source-owned destination", + "status": "failed" + }, + { + "name": "a legacy owner dismissal skips all reads on mount", + "status": "failed" + }, + { + "name": "dismissal survives reload for its owner and stays separate from another owner's checklist and Dashboard flags", + "status": "failed" + }, + { + "name": "unavailable dismissal storage still permits setup and an in-memory dismissal", + "status": "failed" + }, + { + "name": "loading is announced without guessed progress and dismissal prevents late failure from reopening the checklist", + "status": "failed" + }, + { + "name": "Bokmål guidance keeps semantic list and progress names without additional source reads", + "status": "failed" + } + ] + }, + "command": { + "command": [ + "rtk", + "proxy", + "npm.cmd", + "test", + "--", + "--runInBand", + "--watchAll=false", + "--json", + "--outputFile=E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\unit\\onboarding-red-20261011T192116Z.json", + "src/onboarding-checklist.test.tsx" + ], + "startedUtc": "2026-10-11T19:21:16.138698+00:00", + "finishedUtc": "2026-10-11T19:22:35.739508+00:00", + "exitCode": 1, + "counts": { + "numPassedTests": 1, + "numFailedTests": 22, + "numPendingTests": 0, + "numTodoTests": 0, + "numPassedTestSuites": 0, + "numFailedTestSuites": 1 + } + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-red-20261011T192116Z-command.json", + "sha256": "ae1feeb0eb78af44bec058b1c679de21ee5997678be7091c709ece75cb76a119", + "bytes": 642, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/unit/onboarding-red-20261011T192116Z.log", + "sha256": "2155c6a78c4c41d16dc6416c2471b0ba6ecfdf95f5b2666eacd28dfcd7e52a50", + "bytes": 254255, + "hashPolicy": "Exact measured raw bytes" + } + } + ], + "nativeAttempts": [ + { + "command": { + "name": "onboarding", + "command": [ + "rtk", + "proxy", + "node", + "node_modules/@playwright/test/cli.js", + "test", + "e2e/phase7-onboarding.spec.ts", + "--retries=0", + "--reporter=list,json", + "--output=E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\ui\\onboarding-results" + ], + "startedUtc": "2026-10-11T23:38:50.786687+00:00", + "finishedUtc": "2026-10-11T23:39:44.050914+00:00", + "exitCode": 0, + "stats": { + "startTime": "2026-10-11T23:38:51.335Z", + "duration": 52660.133, + "expected": 12, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + } + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/attempts/onboarding-234257/onboarding-command.json", + "sha256": "56da5131810c3fd2aa65c021418fa60cd22d754bf9f118e129a15fd275f12c62", + "bytes": 645, + "hashPolicy": "Exact measured raw bytes" + }, + "reportRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/attempts/onboarding-234257/onboarding.json", + "sha256": "200c7bb0980724cc2de7c8b2113b9653de081f913f4e563c095ddc860b43cf1d", + "bytes": 1717706, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/attempts/onboarding-234257/onboarding.log", + "sha256": "99bc3751e33b77afb0a631ac6d4e7b9723d5d8670ee8a1a26b8407d0d60a4173", + "bytes": 2850, + "hashPolicy": "Exact measured raw bytes" + }, + "stats": { + "startTime": "2026-10-11T23:38:51.335Z", + "duration": 52660.133, + "expected": 12, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "cases": [ + { + "title": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 320px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 119, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 4340 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] en/light 360px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 119, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3607 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] nb/light 390px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 119, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3411 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] en/dark 768px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 119, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3689 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 1024px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 119, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3668 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] en/light 1280px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 119, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3779 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] nb/light 1440px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 119, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3727 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] en/dark 1920px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 119, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3951 + }, + { + "title": "[P7-02 PRES-S02 E09] dismissal survives reload and remains isolated across actual A/B logout and login", + "file": "phase7-onboarding.spec.ts", + "line": 149, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 6061 + }, + { + "title": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "file": "phase7-onboarding.spec.ts", + "line": 192, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 2808 + }, + { + "title": "[P7-02 PRES-S02 C02 E07] keyboard setup actions retain their four destinations and browser Back context", + "file": "phase7-onboarding.spec.ts", + "line": 215, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 2123 + }, + { + "title": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "file": "phase7-onboarding.spec.ts", + "line": 235, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3039 + } + ], + "axeScans": [ + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 320px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-nb-dark-320-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "010a7e272792f690949a018c12b219fd45fac336e71c705ebe5eba5f9d9f76c6", + "bytes": 3893 + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 320, + "height": 844 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- region \"Kom i gang\":\n - heading \"Kom i gang\" [level=2]\n - paragraph: Veiledning basert på lagrede kontoopplysninger, karriereinformasjon, tilkoblede postkasser og stillinger du følger.\n - button \"Skjul oppstartslisten\"\n - text: 3 / 4\n - progressbar \"3 av 4 fullført\"\n - list:\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til kontoopplysninger\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til karriereinformasjon\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Koble til en postkasse\n - button \"Koble til e-post\"\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Følg din første stilling", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 320, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/light 360px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-en-light-360-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "c26c7530874d749c92edd84c53aef946885981d2065997a7c63fdad4a72cdcec", + "bytes": 3836 + }, + "context": { + "sample": { + "language": "en", + "theme": "light", + "width": 360, + "height": 800 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- region \"Get set up\":\n - heading \"Get set up\" [level=2]\n - paragraph: Setup guidance based on your saved account details, Career information, mailbox connections and tracked jobs.\n - button \"Dismiss setup checklist\"\n - text: 3 / 4\n - progressbar \"3 of 4 done\"\n - list:\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add account details\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add Career information\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Connect a mailbox\n - button \"Connect email\"\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Track your first job", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 360, + "height": 800 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/light 390px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-nb-light-390-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "478be816060e5488d6bd2287dcff8edb24d5cfad53fa06d5bb63f89b0763bab1", + "bytes": 3894 + }, + "context": { + "sample": { + "language": "nb", + "theme": "light", + "width": 390, + "height": 844 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- region \"Kom i gang\":\n - heading \"Kom i gang\" [level=2]\n - paragraph: Veiledning basert på lagrede kontoopplysninger, karriereinformasjon, tilkoblede postkasser og stillinger du følger.\n - button \"Skjul oppstartslisten\"\n - text: 3 / 4\n - progressbar \"3 av 4 fullført\"\n - list:\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til kontoopplysninger\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til karriereinformasjon\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Koble til en postkasse\n - button \"Koble til e-post\"\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Følg din første stilling", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 390, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/dark 768px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-en-dark-768-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "748f29f677c286074b568ad4f30aafda12985c468cb1ee879788aa8022a59c1c", + "bytes": 3837 + }, + "context": { + "sample": { + "language": "en", + "theme": "dark", + "width": 768, + "height": 1024 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- region \"Get set up\":\n - heading \"Get set up\" [level=2]\n - paragraph: Setup guidance based on your saved account details, Career information, mailbox connections and tracked jobs.\n - button \"Dismiss setup checklist\"\n - text: 3 / 4\n - progressbar \"3 of 4 done\"\n - list:\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add account details\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add Career information\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Connect a mailbox\n - button \"Connect email\"\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Track your first job", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 768, + "height": 1024 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 1024px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-nb-dark-1024-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "04431124f35609fdb83cc4dcb17b96a40eeefe8c81376fcd6813a1f274bb8a8b", + "bytes": 3981 + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 1024, + "height": 768 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- region \"Kom i gang\":\n - heading \"Kom i gang\" [level=2]\n - paragraph: Veiledning basert på lagrede kontoopplysninger, karriereinformasjon, tilkoblede postkasser og stillinger du følger.\n - button \"Skjul oppstartslisten\"\n - text: 3 / 4\n - progressbar \"3 av 4 fullført\"\n - list:\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til kontoopplysninger\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til karriereinformasjon\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Koble til en postkasse\n - button \"Koble til e-post\"\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Følg din første stilling", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 1024, + "height": 768 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/light 1280px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-en-light-1280-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "0ef64ff0b797ad66fcaf79d9d4c3ebad604a50137a8875dcdd59f89c6cba907e", + "bytes": 3924 + }, + "context": { + "sample": { + "language": "en", + "theme": "light", + "width": 1280, + "height": 320 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- region \"Get set up\":\n - heading \"Get set up\" [level=2]\n - paragraph: Setup guidance based on your saved account details, Career information, mailbox connections and tracked jobs.\n - button \"Dismiss setup checklist\"\n - text: 3 / 4\n - progressbar \"3 of 4 done\"\n - list:\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add account details\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add Career information\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Connect a mailbox\n - button \"Connect email\"\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Track your first job", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 1280, + "height": 320 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/light 1440px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-nb-light-1440-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "c6a3b0da1c36bf4c66f096df909e1a2a34c7f87fd51d41b6511a5c0259c1d1e7", + "bytes": 3982 + }, + "context": { + "sample": { + "language": "nb", + "theme": "light", + "width": 1440, + "height": 900 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- region \"Kom i gang\":\n - heading \"Kom i gang\" [level=2]\n - paragraph: Veiledning basert på lagrede kontoopplysninger, karriereinformasjon, tilkoblede postkasser og stillinger du følger.\n - button \"Skjul oppstartslisten\"\n - text: 3 / 4\n - progressbar \"3 av 4 fullført\"\n - list:\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til kontoopplysninger\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til karriereinformasjon\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Koble til en postkasse\n - button \"Koble til e-post\"\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Følg din første stilling", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 1440, + "height": 900 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/dark 1920px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-en-dark-1920-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "09c249999cf5e06e2dfd59fb8ea50ae59978280938ebcd71cd2db79dec29b316", + "bytes": 3878 + }, + "context": { + "sample": { + "language": "en", + "theme": "dark", + "width": 1920, + "height": 1080 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- region \"Get set up\":\n - heading \"Get set up\" [level=2]\n - paragraph: Setup guidance based on your saved account details, Career information, mailbox connections and tracked jobs.\n - button \"Dismiss setup checklist\"\n - text: 3 / 4\n - progressbar \"3 of 4 done\"\n - list:\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add account details\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add Career information\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Connect a mailbox\n - button \"Connect email\"\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Track your first job", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 1920, + "height": 1080 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "attachment": "p7-setup-nb-dark-320-failed-mailbox-read-unknown-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "c15984f5db927090c2b0d5f6b744fc2c66e3d0b4e347b2b4a05fe03a1d5f3948", + "bytes": 3358 + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 320, + "height": 844 + }, + "state": "failed-mailbox-read-unknown", + "ariaSnapshot": "- region \"Kom i gang\":\n - heading \"Kom i gang\" [level=2]\n - paragraph: Veiledning basert på lagrede kontoopplysninger, karriereinformasjon, tilkoblede postkasser og stillinger du følger.\n - button \"Skjul oppstartslisten\"\n - alert:\n - text: Setup connection read unavailable\n - button \"Prøv igjen\"", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 320, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "attachment": "p7-setup-nb-dark-320-read-only-retry-known-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "3a782aac5fcfaa2acb23772cf6de4475e91f895e313dea70f751ca1f8e91a222", + "bytes": 3909 + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 320, + "height": 844 + }, + "state": "read-only-retry-known", + "ariaSnapshot": "- region \"Kom i gang\":\n - heading \"Kom i gang\" [level=2]\n - paragraph: Veiledning basert på lagrede kontoopplysninger, karriereinformasjon, tilkoblede postkasser og stillinger du følger.\n - button \"Skjul oppstartslisten\"\n - text: 0 / 4\n - progressbar \"0 av 4 fullført\"\n - list:\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Legg til kontoopplysninger\n - button \"Åpne profil\"\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Legg til karriereinformasjon\n - button \"Åpne karriereprofil\"\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Koble til en postkasse\n - button \"Koble til e-post\"\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Følg din første stilling\n - button \"Legg til jobb\"", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 320, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "attachment": "p7-setup-en-dark-390-failed-summary-unknown-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "3e2c88ac71bcc4a3f3b63f4132129abf09dfcfc0f1484ea2c3577a71303f3c0c", + "bytes": 3938 + }, + "context": { + "sample": { + "language": "en", + "theme": "dark", + "width": 390, + "height": 844 + }, + "state": "failed-summary-unknown", + "ariaSnapshot": "- region \"Get set up\":\n - heading \"Get set up\" [level=2]\n - paragraph: Setup guidance based on your saved account details, Career information, mailbox connections and tracked jobs.\n - button \"Dismiss setup checklist\"\n - status: Tracked-job status is unavailable. Retry the dashboard summary to check your jobs.\n - progressbar \"Tracked-job status is unavailable. Retry the dashboard summary to check your jobs.\"\n - list:\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Add account details\n - button \"Open profile\"\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Add Career information\n - button \"Open Career Profile\"\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Connect a mailbox\n - button \"Connect email\"\n - listitem:\n - paragraph: Track your first job", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 390, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "attachment": "p7-setup-en-dark-390-summary-read-recovered-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "078950cb826f8896456b9bbca031dc1a0ef68c8237fa9a6c0a41f7732d12ee9c", + "bytes": 3845 + }, + "context": { + "sample": { + "language": "en", + "theme": "dark", + "width": 390, + "height": 844 + }, + "state": "summary-read-recovered", + "ariaSnapshot": "- region \"Get set up\":\n - heading \"Get set up\" [level=2]\n - paragraph: Setup guidance based on your saved account details, Career information, mailbox connections and tracked jobs.\n - button \"Dismiss setup checklist\"\n - text: 0 / 4\n - progressbar \"0 of 4 done\"\n - list:\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Add account details\n - button \"Open profile\"\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Add Career information\n - button \"Open Career Profile\"\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Connect a mailbox\n - button \"Connect email\"\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Track your first job\n - button \"Add job\"", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 390, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + } + ], + "attachments": [ + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 320px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-dark-320-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "010a7e272792f690949a018c12b219fd45fac336e71c705ebe5eba5f9d9f76c6", + "bytes": 3893 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 320px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-dark-320-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "09a7e0d13b4adc7fc4da605c645df405c0967ca0032631202f86eaf479a37e59", + "bytes": 113405 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/light 360px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-light-360-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "c26c7530874d749c92edd84c53aef946885981d2065997a7c63fdad4a72cdcec", + "bytes": 3836 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/light 360px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-light-360-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "30fff6bab8319bdf445b67985836d7f2f198070a439bc2c0abab6ed28ad92e3a", + "bytes": 111818 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/light 390px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-light-390-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "478be816060e5488d6bd2287dcff8edb24d5cfad53fa06d5bb63f89b0763bab1", + "bytes": 3894 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/light 390px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-light-390-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "aa67abde0a2281743df8ab2dc5dac0ecc47e5b879d57de8b38308fbf7515bc86", + "bytes": 117004 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/dark 768px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-dark-768-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "748f29f677c286074b568ad4f30aafda12985c468cb1ee879788aa8022a59c1c", + "bytes": 3837 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/dark 768px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-dark-768-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "be85a76011da725d8374c2ce1332ed412107e487d32dbb9fc5baa447ae65dec5", + "bytes": 116513 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 1024px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-dark-1024-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "04431124f35609fdb83cc4dcb17b96a40eeefe8c81376fcd6813a1f274bb8a8b", + "bytes": 3981 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 1024px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-dark-1024-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "a83e626e8ab0b8a2b29ed5eaf8905144ed07132bcccc8b9788ecb4b21f2c7963", + "bytes": 147915 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/light 1280px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-light-1280-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "0ef64ff0b797ad66fcaf79d9d4c3ebad604a50137a8875dcdd59f89c6cba907e", + "bytes": 3924 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/light 1280px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-light-1280-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "e9312a346bc3988cd9d625f1e931fce24ee77ad041651752d1cdcecffb9547e2", + "bytes": 131940 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/light 1440px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-light-1440-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "c6a3b0da1c36bf4c66f096df909e1a2a34c7f87fd51d41b6511a5c0259c1d1e7", + "bytes": 3982 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/light 1440px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-light-1440-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "67e7118d2c584fe9bedecf5861fbd0428047ccd72f6c679d5e122217f726cabb", + "bytes": 152863 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/dark 1920px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-dark-1920-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "09c249999cf5e06e2dfd59fb8ea50ae59978280938ebcd71cd2db79dec29b316", + "bytes": 3878 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/dark 1920px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-dark-1920-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "f65d02bc7b8055bfd8661f4e6df50fcc2300a514e8f64e7bb790be1d703501ea", + "bytes": 150728 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "name": "p7-setup-nb-dark-320-failed-mailbox-read-unknown-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "c15984f5db927090c2b0d5f6b744fc2c66e3d0b4e347b2b4a05fe03a1d5f3948", + "bytes": 3358 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "name": "p7-setup-nb-dark-320-failed-mailbox-read-unknown", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "0c66cb1bc253a9e497ec08ab517322ff9e6f9cb93b3b193d038deb492f4a09b8", + "bytes": 40818 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "name": "p7-setup-nb-dark-320-read-only-retry-known-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "3a782aac5fcfaa2acb23772cf6de4475e91f895e313dea70f751ca1f8e91a222", + "bytes": 3909 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "name": "p7-setup-nb-dark-320-read-only-retry-known", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "18c86bcbc98599ccd6b68f949cfb016c2c103c982fe1d30db2af214d4a010304", + "bytes": 49879 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "name": "p7-setup-en-dark-390-failed-summary-unknown-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "3e2c88ac71bcc4a3f3b63f4132129abf09dfcfc0f1484ea2c3577a71303f3c0c", + "bytes": 3938 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "name": "p7-setup-en-dark-390-failed-summary-unknown", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "7d28553de8f8c47b78c0889972498c98160dd12f40682a893933e76cda83a8d3", + "bytes": 49490 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "name": "p7-setup-en-dark-390-summary-read-recovered-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "078950cb826f8896456b9bbca031dc1a0ef68c8237fa9a6c0a41f7732d12ee9c", + "bytes": 3845 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "name": "p7-setup-en-dark-390-summary-read-recovered", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "f83e35ea18548777367a2aff924f06c21b9f43de01b8c60d56ca784cba76e86d", + "bytes": 43859 + }, + "manualReview": "No individual inspection claimed by collector" + } + ], + "reportErrors": [], + "configuration": { + "version": "1.62.1", + "workers": 1, + "projects": [ + { + "name": "chromium", + "retries": 0 + } + ] + } + }, + { + "command": { + "name": "onboarding", + "command": [ + "rtk", + "proxy", + "node", + "node_modules/@playwright/test/cli.js", + "test", + "e2e/phase7-onboarding.spec.ts", + "--retries=0", + "--reporter=list,json", + "--output=E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\ui\\onboarding-results" + ], + "startedUtc": "2026-10-11T23:42:57.971261+00:00", + "finishedUtc": "2026-10-11T23:43:50.163843+00:00", + "exitCode": 0, + "stats": { + "startTime": "2026-10-11T23:42:58.496Z", + "duration": 51627.53, + "expected": 12, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + } + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/attempts/onboarding-234540/onboarding-command.json", + "sha256": "35f7f69cf600d25d271314fd6f68465a724f33d05b26981d8b1a549eb281917a", + "bytes": 644, + "hashPolicy": "Exact measured raw bytes" + }, + "reportRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/attempts/onboarding-234540/onboarding.json", + "sha256": "f49a412ee040c08548ec2ff8eeb538a4e9d42672c9037c6baf45f41c686c03d7", + "bytes": 1718577, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/attempts/onboarding-234540/onboarding.log", + "sha256": "16a502e6b27fcdd73277dcc79489b24ddb9bb37a0fe7e4b31309a27bddd03085", + "bytes": 2850, + "hashPolicy": "Exact measured raw bytes" + }, + "stats": { + "startTime": "2026-10-11T23:42:58.496Z", + "duration": 51627.53, + "expected": 12, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "cases": [ + { + "title": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 320px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 119, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 4314 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] en/light 360px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 119, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3653 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] nb/light 390px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 119, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3409 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] en/dark 768px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 119, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3751 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 1024px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 119, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3779 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] en/light 1280px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 119, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3907 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] nb/light 1440px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 119, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3753 + }, + { + "title": "[P7-02 PRES-S02 C01 C02 E09] en/dark 1920px setup counts saved manual career information without claiming CV import or email verification", + "file": "phase7-onboarding.spec.ts", + "line": 119, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3931 + }, + { + "title": "[P7-02 PRES-S02 E09] dismissal survives reload and remains isolated across actual A/B logout and login", + "file": "phase7-onboarding.spec.ts", + "line": 149, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 6030 + }, + { + "title": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "file": "phase7-onboarding.spec.ts", + "line": 192, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 2772 + }, + { + "title": "[P7-02 PRES-S02 C02 E07] keyboard setup actions retain their four destinations and browser Back context", + "file": "phase7-onboarding.spec.ts", + "line": 216, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 2110 + }, + { + "title": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "file": "phase7-onboarding.spec.ts", + "line": 236, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3075 + } + ], + "axeScans": [ + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 320px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-nb-dark-320-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "010a7e272792f690949a018c12b219fd45fac336e71c705ebe5eba5f9d9f76c6", + "bytes": 3893 + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 320, + "height": 844 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- region \"Kom i gang\":\n - heading \"Kom i gang\" [level=2]\n - paragraph: Veiledning basert på lagrede kontoopplysninger, karriereinformasjon, tilkoblede postkasser og stillinger du følger.\n - button \"Skjul oppstartslisten\"\n - text: 3 / 4\n - progressbar \"3 av 4 fullført\"\n - list:\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til kontoopplysninger\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til karriereinformasjon\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Koble til en postkasse\n - button \"Koble til e-post\"\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Følg din første stilling", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 320, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/light 360px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-en-light-360-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "c26c7530874d749c92edd84c53aef946885981d2065997a7c63fdad4a72cdcec", + "bytes": 3836 + }, + "context": { + "sample": { + "language": "en", + "theme": "light", + "width": 360, + "height": 800 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- region \"Get set up\":\n - heading \"Get set up\" [level=2]\n - paragraph: Setup guidance based on your saved account details, Career information, mailbox connections and tracked jobs.\n - button \"Dismiss setup checklist\"\n - text: 3 / 4\n - progressbar \"3 of 4 done\"\n - list:\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add account details\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add Career information\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Connect a mailbox\n - button \"Connect email\"\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Track your first job", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 360, + "height": 800 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/light 390px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-nb-light-390-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "478be816060e5488d6bd2287dcff8edb24d5cfad53fa06d5bb63f89b0763bab1", + "bytes": 3894 + }, + "context": { + "sample": { + "language": "nb", + "theme": "light", + "width": 390, + "height": 844 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- region \"Kom i gang\":\n - heading \"Kom i gang\" [level=2]\n - paragraph: Veiledning basert på lagrede kontoopplysninger, karriereinformasjon, tilkoblede postkasser og stillinger du følger.\n - button \"Skjul oppstartslisten\"\n - text: 3 / 4\n - progressbar \"3 av 4 fullført\"\n - list:\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til kontoopplysninger\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til karriereinformasjon\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Koble til en postkasse\n - button \"Koble til e-post\"\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Følg din første stilling", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 390, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/dark 768px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-en-dark-768-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "748f29f677c286074b568ad4f30aafda12985c468cb1ee879788aa8022a59c1c", + "bytes": 3837 + }, + "context": { + "sample": { + "language": "en", + "theme": "dark", + "width": 768, + "height": 1024 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- region \"Get set up\":\n - heading \"Get set up\" [level=2]\n - paragraph: Setup guidance based on your saved account details, Career information, mailbox connections and tracked jobs.\n - button \"Dismiss setup checklist\"\n - text: 3 / 4\n - progressbar \"3 of 4 done\"\n - list:\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add account details\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add Career information\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Connect a mailbox\n - button \"Connect email\"\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Track your first job", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 768, + "height": 1024 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 1024px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-nb-dark-1024-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "04431124f35609fdb83cc4dcb17b96a40eeefe8c81376fcd6813a1f274bb8a8b", + "bytes": 3981 + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 1024, + "height": 768 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- region \"Kom i gang\":\n - heading \"Kom i gang\" [level=2]\n - paragraph: Veiledning basert på lagrede kontoopplysninger, karriereinformasjon, tilkoblede postkasser og stillinger du følger.\n - button \"Skjul oppstartslisten\"\n - text: 3 / 4\n - progressbar \"3 av 4 fullført\"\n - list:\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til kontoopplysninger\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til karriereinformasjon\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Koble til en postkasse\n - button \"Koble til e-post\"\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Følg din første stilling", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 1024, + "height": 768 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/light 1280px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-en-light-1280-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "0ef64ff0b797ad66fcaf79d9d4c3ebad604a50137a8875dcdd59f89c6cba907e", + "bytes": 3924 + }, + "context": { + "sample": { + "language": "en", + "theme": "light", + "width": 1280, + "height": 320 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- region \"Get set up\":\n - heading \"Get set up\" [level=2]\n - paragraph: Setup guidance based on your saved account details, Career information, mailbox connections and tracked jobs.\n - button \"Dismiss setup checklist\"\n - text: 3 / 4\n - progressbar \"3 of 4 done\"\n - list:\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add account details\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add Career information\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Connect a mailbox\n - button \"Connect email\"\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Track your first job", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 1280, + "height": 320 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/light 1440px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-nb-light-1440-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "c6a3b0da1c36bf4c66f096df909e1a2a34c7f87fd51d41b6511a5c0259c1d1e7", + "bytes": 3982 + }, + "context": { + "sample": { + "language": "nb", + "theme": "light", + "width": 1440, + "height": 900 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- region \"Kom i gang\":\n - heading \"Kom i gang\" [level=2]\n - paragraph: Veiledning basert på lagrede kontoopplysninger, karriereinformasjon, tilkoblede postkasser og stillinger du følger.\n - button \"Skjul oppstartslisten\"\n - text: 3 / 4\n - progressbar \"3 av 4 fullført\"\n - list:\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til kontoopplysninger\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Legg til karriereinformasjon\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Koble til en postkasse\n - button \"Koble til e-post\"\n - listitem:\n - img \"1 av 1 fullført\"\n - paragraph: Følg din første stilling", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 1440, + "height": 900 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/dark 1920px setup counts saved manual career information without claiming CV import or email verification", + "attachment": "p7-setup-en-dark-1920-manual-data-3-of-4-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "09c249999cf5e06e2dfd59fb8ea50ae59978280938ebcd71cd2db79dec29b316", + "bytes": 3878 + }, + "context": { + "sample": { + "language": "en", + "theme": "dark", + "width": 1920, + "height": 1080 + }, + "state": "manual-data-3-of-4", + "ariaSnapshot": "- region \"Get set up\":\n - heading \"Get set up\" [level=2]\n - paragraph: Setup guidance based on your saved account details, Career information, mailbox connections and tracked jobs.\n - button \"Dismiss setup checklist\"\n - text: 3 / 4\n - progressbar \"3 of 4 done\"\n - list:\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add account details\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Add Career information\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Connect a mailbox\n - button \"Connect email\"\n - listitem:\n - img \"1 of 1 done\"\n - paragraph: Track your first job", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 1920, + "height": 1080 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "attachment": "p7-setup-nb-dark-320-failed-mailbox-read-unknown-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "c15984f5db927090c2b0d5f6b744fc2c66e3d0b4e347b2b4a05fe03a1d5f3948", + "bytes": 3358 + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 320, + "height": 844 + }, + "state": "failed-mailbox-read-unknown", + "ariaSnapshot": "- region \"Kom i gang\":\n - heading \"Kom i gang\" [level=2]\n - paragraph: Veiledning basert på lagrede kontoopplysninger, karriereinformasjon, tilkoblede postkasser og stillinger du følger.\n - button \"Skjul oppstartslisten\"\n - alert:\n - text: Setup connection read unavailable\n - button \"Prøv igjen\"", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 320, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "attachment": "p7-setup-nb-dark-320-read-only-retry-known-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "40e607b74f031f6dc07020420b24e0e59c8d4b8ab154a43e80178cfb54f3cdf3", + "bytes": 3909 + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 320, + "height": 844 + }, + "state": "read-only-retry-known", + "ariaSnapshot": "- region \"Kom i gang\":\n - heading \"Kom i gang\" [level=2]\n - paragraph: Veiledning basert på lagrede kontoopplysninger, karriereinformasjon, tilkoblede postkasser og stillinger du følger.\n - button \"Skjul oppstartslisten\"\n - text: 0 / 4\n - progressbar \"0 av 4 fullført\"\n - list:\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Legg til kontoopplysninger\n - button \"Åpne profil\"\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Legg til karriereinformasjon\n - button \"Åpne karriereprofil\"\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Koble til en postkasse\n - button \"Koble til e-post\"\n - listitem:\n - img \"0 av 1 fullført\"\n - paragraph: Følg din første stilling\n - button \"Legg til jobb\"", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 320, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "attachment": "p7-setup-en-dark-390-failed-summary-unknown-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "3e2c88ac71bcc4a3f3b63f4132129abf09dfcfc0f1484ea2c3577a71303f3c0c", + "bytes": 3938 + }, + "context": { + "sample": { + "language": "en", + "theme": "dark", + "width": 390, + "height": 844 + }, + "state": "failed-summary-unknown", + "ariaSnapshot": "- region \"Get set up\":\n - heading \"Get set up\" [level=2]\n - paragraph: Setup guidance based on your saved account details, Career information, mailbox connections and tracked jobs.\n - button \"Dismiss setup checklist\"\n - status: Tracked-job status is unavailable. Retry the dashboard summary to check your jobs.\n - progressbar \"Tracked-job status is unavailable. Retry the dashboard summary to check your jobs.\"\n - list:\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Add account details\n - button \"Open profile\"\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Add Career information\n - button \"Open Career Profile\"\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Connect a mailbox\n - button \"Connect email\"\n - listitem:\n - paragraph: Track your first job", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 390, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "attachment": "p7-setup-en-dark-390-summary-read-recovered-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "078950cb826f8896456b9bbca031dc1a0ef68c8237fa9a6c0a41f7732d12ee9c", + "bytes": 3845 + }, + "context": { + "sample": { + "language": "en", + "theme": "dark", + "width": 390, + "height": 844 + }, + "state": "summary-read-recovered", + "ariaSnapshot": "- region \"Get set up\":\n - heading \"Get set up\" [level=2]\n - paragraph: Setup guidance based on your saved account details, Career information, mailbox connections and tracked jobs.\n - button \"Dismiss setup checklist\"\n - text: 0 / 4\n - progressbar \"0 of 4 done\"\n - list:\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Add account details\n - button \"Open profile\"\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Add Career information\n - button \"Open Career Profile\"\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Connect a mailbox\n - button \"Connect email\"\n - listitem:\n - img \"0 of 1 done\"\n - paragraph: Track your first job\n - button \"Add job\"", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 390, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + } + ], + "attachments": [ + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 320px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-dark-320-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "010a7e272792f690949a018c12b219fd45fac336e71c705ebe5eba5f9d9f76c6", + "bytes": 3893 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 320px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-dark-320-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "09a7e0d13b4adc7fc4da605c645df405c0967ca0032631202f86eaf479a37e59", + "bytes": 113405 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/light 360px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-light-360-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "c26c7530874d749c92edd84c53aef946885981d2065997a7c63fdad4a72cdcec", + "bytes": 3836 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/light 360px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-light-360-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "30fff6bab8319bdf445b67985836d7f2f198070a439bc2c0abab6ed28ad92e3a", + "bytes": 111818 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/light 390px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-light-390-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "478be816060e5488d6bd2287dcff8edb24d5cfad53fa06d5bb63f89b0763bab1", + "bytes": 3894 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/light 390px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-light-390-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "aa67abde0a2281743df8ab2dc5dac0ecc47e5b879d57de8b38308fbf7515bc86", + "bytes": 117004 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/dark 768px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-dark-768-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "748f29f677c286074b568ad4f30aafda12985c468cb1ee879788aa8022a59c1c", + "bytes": 3837 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/dark 768px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-dark-768-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "be85a76011da725d8374c2ce1332ed412107e487d32dbb9fc5baa447ae65dec5", + "bytes": 116513 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 1024px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-dark-1024-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "04431124f35609fdb83cc4dcb17b96a40eeefe8c81376fcd6813a1f274bb8a8b", + "bytes": 3981 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/dark 1024px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-dark-1024-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "fee34a6101f294fa686c2837af9b688e906c266e66a67bd9d12de907d238ef76", + "bytes": 147578 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/light 1280px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-light-1280-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "0ef64ff0b797ad66fcaf79d9d4c3ebad604a50137a8875dcdd59f89c6cba907e", + "bytes": 3924 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/light 1280px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-light-1280-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "97f32b034ce9c7b88f1662afa7dbf2f99b056f2df11d957f1b8c9db1bc7ba2a8", + "bytes": 131888 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/light 1440px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-light-1440-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "c6a3b0da1c36bf4c66f096df909e1a2a34c7f87fd51d41b6511a5c0259c1d1e7", + "bytes": 3982 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] nb/light 1440px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-nb-light-1440-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "a67a9054dee831a8d4b6eeaba2c52274f7e7cc2a3608b0a550e2b5b75907f39a", + "bytes": 153052 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/dark 1920px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-dark-1920-manual-data-3-of-4-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "09c249999cf5e06e2dfd59fb8ea50ae59978280938ebcd71cd2db79dec29b316", + "bytes": 3878 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 C01 C02 E09] en/dark 1920px setup counts saved manual career information without claiming CV import or email verification", + "name": "p7-setup-en-dark-1920-manual-data-3-of-4", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "7a93d1ae735085273d8373667e5e3fc2af0e8eef2cec13ae7292d26966f34a9d", + "bytes": 150147 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "name": "p7-setup-nb-dark-320-failed-mailbox-read-unknown-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "c15984f5db927090c2b0d5f6b744fc2c66e3d0b4e347b2b4a05fe03a1d5f3948", + "bytes": 3358 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "name": "p7-setup-nb-dark-320-failed-mailbox-read-unknown", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "0c66cb1bc253a9e497ec08ab517322ff9e6f9cb93b3b193d038deb492f4a09b8", + "bytes": 40818 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "name": "p7-setup-nb-dark-320-read-only-retry-known-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "40e607b74f031f6dc07020420b24e0e59c8d4b8ab154a43e80178cfb54f3cdf3", + "bytes": 3909 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "name": "p7-setup-nb-dark-320-read-only-retry-known", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "0e392341bf220ff9839acaa2d04c809f113349ca15a951192e92b9c6ae97ec8a", + "bytes": 51314 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "name": "p7-setup-en-dark-390-failed-summary-unknown-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "3e2c88ac71bcc4a3f3b63f4132129abf09dfcfc0f1484ea2c3577a71303f3c0c", + "bytes": 3938 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "name": "p7-setup-en-dark-390-failed-summary-unknown", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "7d28553de8f8c47b78c0889972498c98160dd12f40682a893933e76cda83a8d3", + "bytes": 49490 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "name": "p7-setup-en-dark-390-summary-read-recovered-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "078950cb826f8896456b9bbca031dc1a0ef68c8237fa9a6c0a41f7732d12ee9c", + "bytes": 3845 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S01 S02 E08] failed Dashboard summary keeps first-job guidance unknown until its existing read owner retries", + "name": "p7-setup-en-dark-390-summary-read-recovered", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "f83e35ea18548777367a2aff924f06c21b9f43de01b8c60d56ca784cba76e86d", + "bytes": 43859 + }, + "manualReview": "No individual inspection claimed by collector" + } + ], + "reportErrors": [], + "configuration": { + "version": "1.62.1", + "workers": 1, + "projects": [ + { + "name": "chromium", + "retries": 0 + } + ] + } + } + ], + "focusDiagnosticAttempts": [ + { + "command": { + "name": "onboarding-focus", + "command": [ + "rtk", + "proxy", + "node", + "node_modules/@playwright/test/cli.js", + "test", + "e2e/phase7-onboarding.spec.ts", + "--grep", + "failed mailbox read", + "--retries=0", + "--reporter=list,json", + "--output=E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\ui\\onboarding-focus-results" + ], + "startedUtc": "2026-10-11T23:40:49.341247+00:00", + "finishedUtc": "2026-10-11T23:41:04.869673+00:00", + "exitCode": 1, + "failureLog": "E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\ui\\onboarding-focus.log", + "stats": { + "startTime": "2026-10-11T23:40:49.854Z", + "duration": 14977.26, + "expected": 0, + "skipped": 0, + "unexpected": 1, + "flaky": 0 + } + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding-focus-command.json", + "sha256": "bfa92e7a0c80b14dc64a144147d27ce32823ddd3db729b062db62f40a6690b72", + "bytes": 816, + "hashPolicy": "Exact measured raw bytes" + }, + "reportRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding-focus.json", + "sha256": "bca92342d49811687b679b7178633ebe7472ed7c5eb6cfd80a2f5798d71450c3", + "bytes": 68520, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding-focus.log", + "sha256": "ae2074dd00b87d47d24403a08889c3781c1c530719ff7bdad9ec5d73a1844305", + "bytes": 3926, + "hashPolicy": "Exact measured raw bytes" + }, + "stats": { + "startTime": "2026-10-11T23:40:49.854Z", + "duration": 14977.26, + "expected": 0, + "skipped": 0, + "unexpected": 1, + "flaky": 0 + }, + "cases": [ + { + "title": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "file": "phase7-onboarding.spec.ts", + "line": 192, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "failed" + ], + "retries": [ + 0 + ], + "errors": [ + [ + { + "location": { + "file": "E:\\Storage\\Projects\\Active\\Job tracker\\job-tracker-ui\\e2e\\phase7-onboarding.spec.ts", + "column": 88, + "line": 211 + }, + "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeFocused\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: getByRole('region', { name: 'Kom i gang', exact: true }).getByRole('button', { name: 'Skjul oppstartslisten', exact: true })\nExpected: focused\nReceived: inactive\nTimeout: 5000ms\n\nCall log:\n\u001b[2m - Expect \"toBeFocused\" with timeout 5000ms\u001b[22m\n\u001b[2m - waiting for getByRole('region', { name: 'Kom i gang', exact: true }).getByRole('button', { name: 'Skjul oppstartslisten', exact: true })\u001b[22m\n\u001b[2m 14 × locator resolved to \u001b[22m\n\u001b[2m - unexpected value \"inactive\"\u001b[22m\n\n\n 209 | await expect(region.getByRole('progressbar')).toHaveAttribute('aria-valuenow', '0');\n 210 | await expect(region.getByRole('alert')).toHaveCount(0);\n> 211 | await expect(region.getByRole('button', { name: t.onboardingDismiss, exact: true })).toBeFocused();\n | ^\n 212 | expect(writes).toEqual([]);\n 213 | await capture(page, info, sample, 'read-only-retry-known');\n 214 | });\n at E:\\Storage\\Projects\\Active\\Job tracker\\job-tracker-ui\\e2e\\phase7-onboarding.spec.ts:211:88" + } + ] + ], + "durationMs": 7753 + } + ], + "axeScans": [ + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "attachment": "p7-setup-nb-dark-320-failed-mailbox-read-unknown-audit", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "c15984f5db927090c2b0d5f6b744fc2c66e3d0b4e347b2b4a05fe03a1d5f3948", + "bytes": 3358 + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 320, + "height": 844 + }, + "state": "failed-mailbox-read-unknown", + "ariaSnapshot": "- region \"Kom i gang\":\n - heading \"Kom i gang\" [level=2]\n - paragraph: Veiledning basert på lagrede kontoopplysninger, karriereinformasjon, tilkoblede postkasser og stillinger du følger.\n - button \"Skjul oppstartslisten\"\n - alert:\n - text: Setup connection read unavailable\n - button \"Prøv igjen\"", + "limits": [ + "No human screen reader, physical touch or software keyboard", + "No real mailbox/provider or production qualification", + "Finite sample, no actual browser zoom" + ] + }, + "geometry": { + "rootOverflow": 0, + "width": 320, + "height": 844 + }, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-badge" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + } + ], + "attachments": [ + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "name": "p7-setup-nb-dark-320-failed-mailbox-read-unknown-audit", + "contentType": "application/json", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "c15984f5db927090c2b0d5f6b744fc2c66e3d0b4e347b2b4a05fe03a1d5f3948", + "bytes": 3358 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "name": "p7-setup-nb-dark-320-failed-mailbox-read-unknown", + "contentType": "image/png", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "0c66cb1bc253a9e497ec08ab517322ff9e6f9cb93b3b193d038deb492f4a09b8", + "bytes": 40818 + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "name": "screenshot", + "contentType": "image/png", + "raw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding-focus-results/phase7-onboarding--P7-02-P-f8754-ogress-and-retry-only-reads-chromium/test-failed-1.png", + "sha256": "fbd68e3ba09c677a07d420e7868264d1810761b241d1582a99baed440d0badf1", + "bytes": 37282, + "hashPolicy": "Exact measured raw bytes" + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "name": "error-context", + "contentType": "text/markdown", + "raw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding-focus-results/phase7-onboarding--P7-02-P-f8754-ogress-and-retry-only-reads-chromium/error-context.md", + "sha256": "1f1ea121956d8ef3c564aecd2f1492cc5152153c54d240b545e1d42c4d599c24", + "bytes": 12127, + "hashPolicy": "Exact measured raw bytes" + }, + "manualReview": "No individual inspection claimed by collector" + }, + { + "test": "[P7-02 PRES-S02 E08] a failed mailbox read cannot invent setup progress and retry only reads", + "name": "trace", + "contentType": "application/zip", + "raw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding-focus-results/phase7-onboarding--P7-02-P-f8754-ogress-and-retry-only-reads-chromium/trace.zip", + "sha256": "934215a932d27ceaa6bff4842960f701e1f2fe05b921458b83347ca21d751b4a", + "bytes": 1437344, + "hashPolicy": "Exact measured raw bytes" + }, + "manualReview": "No individual inspection claimed by collector" + } + ], + "reportErrors": [], + "configuration": { + "version": "1.62.1", + "workers": 1, + "projects": [ + { + "name": "chromium", + "retries": 0 + } + ] + } + } + ], + "regression": { + "evidence": { + "command": { + "name": "onboarding-regression", + "command": [ + "rtk", + "proxy", + "node", + "node_modules/@playwright/test/cli.js", + "test", + "e2e/dashboard-presentation.spec.ts", + "e2e/analytics-presentation.spec.ts", + "--retries=0", + "--reporter=list,json", + "--output=E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\ui\\onboarding-regression-results" + ], + "startedUtc": "2026-10-11T23:43:50.169342+00:00", + "finishedUtc": "2026-10-11T23:44:49.156651+00:00", + "exitCode": 0, + "stats": { + "startTime": "2026-10-11T23:43:50.692Z", + "duration": 58434.676, + "expected": 4, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + } + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding-regression-command.json", + "sha256": "bbdcfbf6203e099386525a01c8afd33fdb8c9018fceebffe82ccb2ba879b7b30", + "bytes": 714, + "hashPolicy": "Exact measured raw bytes" + }, + "reportRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding-regression.json", + "sha256": "dfcb661bbeed710defa621b303c442563b33f37ec1ecc145b8044535e92ddb78", + "bytes": 66981, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-02/onboarding-final/runtime/onboarding-regression.log", + "sha256": "1f4f4e616a0c109037f0d2a63c22a52d5a4e7c8f94ae2025a21398ba6f90710a", + "bytes": 1176, + "hashPolicy": "Exact measured raw bytes" + }, + "stats": { + "startTime": "2026-10-11T23:43:50.692Z", + "duration": 58434.676, + "expected": 4, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "cases": [ + { + "title": "[PRES-S01 S02 E07 E08 E09 J05 J09] Analytics native reports, direct entry, period, drill-down and owner isolation", + "file": "analytics-presentation.spec.ts", + "line": 19, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 17828 + }, + { + "title": "[PRES-S01 E08] Analytics independent loading and failure states never masquerade as empty reports", + "file": "analytics-presentation.spec.ts", + "line": 145, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 9853 + }, + { + "title": "[PRES-S01 S02 E07 E08 E09] Dashboard native data, visibility and responsive presentation", + "file": "dashboard-presentation.spec.ts", + "line": 18, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 20894 + }, + { + "title": "[PRES-S01 E08] Dashboard loading and independent failed resources retain retry and exact values", + "file": "dashboard-presentation.spec.ts", + "line": 160, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 2766 + } + ], + "axeScans": [ + { + "test": "[PRES-S01 S02 E07 E08 E09 J05 J09] Analytics native reports, direct entry, period, drill-down and owner isolation", + "attachment": "analytics-light-axe", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "79900a6ef59910acc093d7da401f9c15545370495ea11b1c1d4a7d025fbfe20f", + "bytes": 1186 + }, + "context": null, + "geometry": null, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "color-contrast", + "impact": "serious", + "tags": [ + "cat.color", + "wcag2aa", + "wcag143", + "TTv5", + "TT13.c", + "EN-301-549", + "EN-9.1.4.3", + "ACT", + "RGAAv4", + "RGAA-3.2.1" + ], + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright", + "nodes": [ + { + "any": [ + { + "id": "color-contrast", + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [], + "impact": "serious", + "message": "Element content is too short to determine if it is actual text content" + } + ], + "all": [], + "none": [], + "impact": "serious", + "html": "0", + "target": [ + ".MuiBadge-invisible" + ], + "failureSummary": "Fix any of the following:\n Element content is too short to determine if it is actual text content" + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 1 + }, + { + "test": "[PRES-S01 S02 E07 E08 E09 J05 J09] Analytics native reports, direct entry, period, drill-down and owner isolation", + "attachment": "analytics-dark-axe", + "raw": { + "storage": "Base64 attachment in raw report", + "sha256": "c9ffe59fd3cb4379122336dab4986dae38b5955e8f090891403d826bd41057ee", + "bytes": 12141 + }, + "context": null, + "geometry": null, + "engine": null, + "environment": null, + "toolOptions": null, + "violations": [], + "incomplete": [ + { + "id": "aria-hidden-focus", + "impact": "serious", + "tags": [ + "cat.name-role-value", + "wcag2a", + "wcag412", + "TTv5", + "TT6.a", + "EN-301-549", + "EN-9.4.1.2", + "RGAAv4", + "RGAA-10.8.1" + ], + "description": "Ensure aria-hidden elements are not focusable nor contain focusable elements", + "help": "ARIA hidden element must not be focusable or contain focusable elements", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.13/aria-hidden-focus?application=playwright", + "nodes": [ + { + "any": [], + "all": [ + { + "id": "focusable-modal-open", + "data": null, + "relatedNodes": [ + { + "html": "