diff --git a/docs/redesign/phase-7/COMMITS.md b/docs/redesign/phase-7/COMMITS.md index 2ab05e1..8bbe5c3 100644 --- a/docs/redesign/phase-7/COMMITS.md +++ b/docs/redesign/phase-7/COMMITS.md @@ -37,4 +37,8 @@ Implemented P7-03 scope is **CONDITIONAL GO**. The normal import/history push `5 Exact direct receipt is retained at `.artifacts/phase7/p7-03/import-history/final/push-receipt.json`; the portable results include its raw hash and observation. No runtime bytes were replaced by this metadata successor. | P7-03 observed push receipt / P7-04 entry | `5680c0031f377b0caaae79c0cec900f58e409886` | Records the actual preceding 5d6e3235 clean normal push, closes implemented P7-03 conditionally and establishes exact library/public entry baselines. Entry static PASS (four commands0,11docs/400 local links0errors/57groups/32routes); normal push directly verified2026-10-12 17:35:00.882169UTC: localHEAD=origin=live5680c00, clean worktree, local/origin/live main27657f3 unchanged. No product/runtime/count change | -| P7-04 CV library | Pending normal commit/push after final staged gate | [Library report](p7-04/README.md#cv-library-implemented-result), [finite results](p7-04/evidence/library-results.json): affected38/4/native8/editor4/backend72/types/lint/build PASS;19 actually reviewed PNGs;19 all-enabled scans0/64 plus12 retained editor scans0/122 with manual conditions. Current10 sources/75-file export verified against exact frozen final; +12/0 gives660/93 and +8 gives241 derived only. Public entry remains pending; no main/renderer/backend/AI activation | +| P7-04 CV library | `fcacae7384b4a38c2675e6527a33cc1d09f4b505` | [Library report](p7-04/README.md#cv-library-implemented-result), [finite results](p7-04/evidence/library-results.json): affected38/4/native8/editor4/backend72/types/lint/build PASS;19 actually reviewed PNGs;19 all-enabled scans0/64 plus12 retained editor scans0/122 with manual conditions. Current10 sources/75-file export verified against exact frozen final; +12/0 gives660/93 and +8 gives241 derived only. Final staged hygiene PASS18:03:12UTC (four commands0,11docs406links0errors/57+32); normal push directly verified18:03:41.481787UTC localHEAD=origin=livefcacae7, clean worktree/main27657f3 unchanged. Actual receipt recorded by public successor. Public entry remains pending; no main/renderer/backend/AI activation | + +| P7-04 public CV entry | Actual hash follows observed normal push | [Public results](p7-04/evidence/public-results.json): fresh38/3/native8/types/lint/build/fidelity16/36+8/24 PASS;18 actual image reviews;18 all-enabled scans0/12 sandbox-frame incompletes and12 separate settings scans0/223 retained. Current7 source snapshots/74-file export verified. +13/0 gives673/93 and native+8 gives249 derived only. Final staged hygiene/normal push pending; no main/schema/renderer/model activation | + +Peer review found no product defect. The native geometry test now additionally asserts rendered width equals min(A4, viewport minus32px) within1px; focused existing eight-sample journey passes after that assertion, with fresh browser types. Product source/build/fidelity remain unchanged. Seven new screenshots exactly match previously reviewed SHA bytes; the differing1920 capture was displayed/reviewed. Extra eight scans0/8 frame-tested are repeated evidence, not additional cases. The first targeted runner grep matched0 tests/exit1; raw failure retained and exact-title grep corrected, no skip or expected failure. diff --git a/docs/redesign/phase-7/DEBT.md b/docs/redesign/phase-7/DEBT.md index 992bcae..df47095 100644 --- a/docs/redesign/phase-7/DEBT.md +++ b/docs/redesign/phase-7/DEBT.md @@ -130,3 +130,7 @@ Implemented P7-03 scope is **CONDITIONAL GO**. The normal import/history push `5 ### P7-04 library finite disposition [Library results](p7-04/evidence/library-results.json) record fresh affected38/4 (+12/0), ordinary native8, existing editor/gallery consumer4 with actual PDF200, unchanged-binary backend72 and types/lint/build PASS on _fYf-IvM_ULd3ZPdUW-8h. All19 final PNGs actually reviewed; finite root overflow0. Library19 all-enabled scans0/64 and editor12 retained-scope scans0/122 remain contextually qualified: badge/overlap/modal portals, disabled Undo/Redo wrappers and obscured print headings retain M09/M11/manual requirements. Server template names/categories remain English metadata in NB and are P7-11 localisation residual. Meaningful unit/native RED and peer fixes preserve draft/error/current-locale/managed-focus behavior; no assertion/rule waiver. Implemented library CONDITIONAL GO with final hygiene/push pending; public entry/full P7-04 pending. All57 statuses/32 routes unchanged; frontend660/93/browser241/backend1,034 derived only, full573/89/backend1,033/sidecar49 inherited until P7-12. RD21/canonical concurrency, old orphan/frozen/output/provider/human/release debt remains; P5-13 withheld/main NO-GO/Phase8 separate. + +### P7-04 public evidence + +Public18 top-document all-enabled scans0/12 retain sandbox frame-tested occurrences: generated document context is not fully scanned or human accepted. Keep scripts withheld; M09/M11 remain. Final settings12 WCAG-tagged scans0/223 retain24 disabled Undo/Redo span labels,12 short-text badges,161 overlap and26 partially obscured contexts. Explicit reload observes owner revocation; no live cross-client revocation claim. Actual18 public images and four final PDF comparisons reviewed, not all60 pages. Fresh fidelity16/36+8/24 preserves exact tolerances, no production font/photo/print or provider clearance. RD21/old orphan/concurrency/partial-write/production obligations unchanged; library server-template metadata localisation remains P7-11 residual. diff --git a/docs/redesign/phase-7/PRESERVATION.md b/docs/redesign/phase-7/PRESERVATION.md index 20e8358..ff9ea3e 100644 --- a/docs/redesign/phase-7/PRESERVATION.md +++ b/docs/redesign/phase-7/PRESERVATION.md @@ -148,3 +148,7 @@ Implemented P7-03 scope is **CONDITIONAL GO**. The normal import/history push `5 ### P7-04 library finite disposition [Library results](p7-04/evidence/library-results.json) record fresh affected38/4 (+12/0), ordinary native8, existing editor/gallery consumer4 with actual PDF200, unchanged-binary backend72 and types/lint/build PASS on _fYf-IvM_ULd3ZPdUW-8h. All19 final PNGs actually reviewed; finite root overflow0. Library19 all-enabled scans0/64 and editor12 retained-scope scans0/122 remain contextually qualified: badge/overlap/modal portals, disabled Undo/Redo wrappers and obscured print headings retain M09/M11/manual requirements. Server template names/categories remain English metadata in NB and are P7-11 localisation residual. Meaningful unit/native RED and peer fixes preserve draft/error/current-locale/managed-focus behavior; no assertion/rule waiver. Implemented library CONDITIONAL GO with final hygiene/push pending; public entry/full P7-04 pending. All57 statuses/32 routes unchanged; frontend660/93/browser241/backend1,034 derived only, full573/89/backend1,033/sidecar49 inherited until P7-12. RD21/canonical concurrency, old orphan/frozen/output/provider/human/release debt remains; P5-13 withheld/main NO-GO/Phase8 separate. + +### P7-04 public finite disposition + +[Public results](p7-04/evidence/public-results.json) establish C05/C12/E09 anonymous sharing/download/revocation/rotated-slug/private-boundary and unchanged source/settings/version/sibling safeguards. Fresh38/3/native8/fidelity16/36+8/24/types/lint/build pass;18 PNGs actually inspected. Sandbox without scripts retains12 frame-tested incompletes; final settings12 WCAG-tagged scans0/223 remain qualified. All57 whole statuses stay56 PARTIAL/C11 DEFERRED,32 routes retained. Derived673/93 and249 are not fresh integrated totals. M09/M11/human/device/output/provider/release obligations remain; production NO-GO/P5-13 withheld/Phase8 separate. Public final hygiene and normal push pending; library fcacae7 verified. diff --git a/docs/redesign/phase-7/README.md b/docs/redesign/phase-7/README.md index 54b738a..d124ca6 100644 --- a/docs/redesign/phase-7/README.md +++ b/docs/redesign/phase-7/README.md @@ -12,7 +12,7 @@ The entry commit is `b5319981ad3d1bd635daff861453d23c0de5320b` on `codex/ui-rede | [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 GO32/13/4+types/lint/build/13 actual PNG inspections, hygiene PASS and d21501aa push verified23:55:12UTC. Separate SQLite evidence-list repair91 guards/HTTP1/Release passed, pushed01281f52/direct receipt00:06:47UTC with unfinished Career work preserved. Career affected46/3/native14/preservation2/types/lint/build and actual22-image review pass; implemented checkpoint CONDITIONAL GO with99 incompletes/manual gates. Career final hygiene PASS (four commands0,9docs347links0errors); normally pushed8b4d5c2/direct localHEAD=origin=live receipt05:51:04UTC, clean worktree/main unchanged | | [P7-03](p7-03/README.md) | Career structured editing and import review | Source-ID and structured-editor commits pushed; final import/history runtime/design CONDITIONAL GO: affected76/6, native35, backend98/seeder24, types/lint/build PASS;33/54 final images inspected. Import17 scans0/302, editor13 scans0/377, Career22 scans0/99 retained. Final staged hygiene PASS; normal push5d6e3235 directly verified17:28:54UTC with clean worktree/main unchanged. RD21/human/provider/output gates remain;57/32 unchanged | -| [P7-04](p7-04/README.md) | CV library and public entry | P7-03 implemented CONDITIONAL GO/push verified; approved library then public-entry boundaries; entry recorded | +| [P7-04](p7-04/README.md) | CV library and public entry | Implemented CONDITIONAL GO; library fcacae7 push verified. Public affected38/3/native8/types/lint/build and fresh fidelity16/36+8/24 PASS;18 images actually reviewed, frame-tested12/manual gates retained. Public final hygiene/normal push pending | | P7-05 | Discovery, Companies, Offers and Reminders | Existing domain owners and Jobs return context; planned | | P7-06 | Remaining Application forms and global correspondence | Existing seven-section workspace, immutable packages and draft/send owners; planned | | P7-06F | Deferred `followMode` reviewed composer | Optional separately reviewed mail slice; **DEFERRED** until mode→draft/review action and fallback are explicitly decided | diff --git a/docs/redesign/phase-7/p7-04/README.md b/docs/redesign/phase-7/p7-04/README.md index 67438d0..82500f2 100644 --- a/docs/redesign/phase-7/p7-04/README.md +++ b/docs/redesign/phase-7/p7-04/README.md @@ -1,6 +1,6 @@ # P7-04 — CV library and public entry -**Entry CONDITIONAL GO; implementation and acceptance PENDING.** Follow the exact [approved handoff](../../phase-6/p6-05/PHASE7_HANDOFF.md#migration-order-and-commit-boundaries): one CV library commit, then one public-entry commit. Reuse the existing gallery, editor, confirmation/prompt, theme and feedback owners. +**Implemented scope CONDITIONAL GO; library pushed, public final hygiene PASS and normal push pending.** Follow the exact [approved handoff](../../phase-6/p6-05/PHASE7_HANDOFF.md#migration-order-and-commit-boundaries): one CV library commit, then one public-entry commit. Reuse the existing gallery, editor, confirmation/prompt, theme and feedback owners. [Entry evidence](evidence/entry.json) records the actual clean P7-03 normal push5d6e3235, direct development equality/main unchanged and eight exact committed Git-blob baselines. P7-03 affected76/6/native35/backend98/seeder24 and static checks pass with finite visual/axe/manual qualifications. Latest whole frontend573/89/backend1,033/sidecar49 remain inherited;648/93 frontend,233 ordinary browser and1,034 backend are derived expectations. P7-12 must run fresh integrated regression. @@ -24,3 +24,25 @@ All **19 final PNGs were displayed and reviewed** across a finite EN/Bokmål/lig New library **19 all-enabled scans0 violations/64 incomplete occurrences** retain19 invisible-badge short-text,17 modal/menu hidden-focus and28 background overlap. Existing editor **12 retained-scope scans0/122** retain24 disabled Undo/Redo wrapper aria labels,12 invisible-badge short-text,78 overlap and8 obscured iframe-heading occurrences. Full vectors remain; neither scope establishes human screen-reader/modal/contrast acceptance. M09/M11 and all M01–M12 device/zoom/output/provider gates remain. RD21 canonical concurrency/partial-write risk and historical frozen/orphan/output debt are unchanged. Twelve new cases in the existing suite give **660/93 frontend derived only**; eight new ordinary browser cases give **241 derived only**. Latest whole frontend573/89, backend1,033 and sidecar49 are inherited; backend1,034 is derived. P7-12 must run fresh integrated regression. All57 statuses remain56 PARTIAL/C11 DEFERRED,32 routes retained; P5-13 stays withheld. No backend/schema/renderer/PDF geometry or Phase8 work. Production NO-GO/main unchanged. + +### Observed library push / public-entry start + +Library implemented scope **CONDITIONAL GO** is normally pushed as `fcacae7384b4a38c2675e6527a33cc1d09f4b505`. Direct verification2026-10-12 18:03:41.481787UTC proves localHEAD=origin=live development, clean worktree and unchanged local/origin/live main27657f3. Final staged hygiene passes (four commands0,11docs406links0errors/57groups32routes); affected38/4/native8/editor4/backend72/types/lint/build and actual19-image review pass with manual/axe/localisation/production qualifications retained. [Public entry](evidence/public-entry.json) records exact preceding Git-blob baselines and this observed receipt. Public migration/final acceptance is pending; completing the library does not qualify Phase7 or production. + +### Public CV implemented result + +**P7-04 implemented scope CONDITIONAL GO; public final hygiene/normal push pending.** [Public results](evidence/public-results.json) retain final source, raw commands/reports, failed attempts and exact **74-file** `CzJrqceuLUrp0d6604-dJ` export. Fresh affected **38/3**, eight new ordinary anonymous browser cases, app/browser types, lint and production build PASS. Existing public suite1→14 (+13/0), browser+8 gives **673/93 frontend and249 browser derived only**; whole573/89/backend1,033/sidecar49 remain inherited until P7-12. The bundler emits53 JS files versus library54; other file-type counts match. Routes remain32, separately checked; output count is not a fixed capability budget. + +PageHeader and shared feedback provide localized EN/Bokmål loading, missing/revoked-link and transient error states with explicit keyboard Retry. Atomic slug-owned read state hides prior HTML/PDF/error/name/height before the next effect and ignores late requests. Slugs remain one encoded API/PDF segment. Locale changes leave source facts and request counts unchanged. Existing Next metadata keeps Jobbjakt during loading; loaded name changes the title and owned cleanup restores the prior title without overwriting a newer route. No new saving, publication or canonical-editing owner is introduced. + +Real HTTP anonymous public HTML/PDF200 with `%PDF` bytes, noindex, private401/numeric404 and revoked/rotated-link404 are verified. Owner source/settings/revisions and private sibling remain unchanged. Explicit reload observes revocation; live cross-client invalidation is not claimed. Harness history exercises slug/back/forward state without adding product navigation. All **18 final public PNGs were displayed and reviewed**, including balanced320/360/390/768/1024/1280-landscape/1440/1920 EN/Bokmål/light/dark and two long-document samples. Chrome wraps without horizontal overflow; white A4 canvas, original scaling/measurement/sandbox remain. + +[Fresh final fidelity](evidence/public-fidelity-results.json) passes **16 fixtures/36 pages plus8/24** after the final source/build; native corpus1/settings4 also pass. Exact membership and existing dimension0.5mm/position2mm/font0.5pt/RGB1/255 tolerances are unchanged.236 exact corpus files are frozen; four final comparison PNGs (long-nb-code first/last and dark-nb-after first/last) were actually reviewed. Not all60 pages or44 native settings PNGs were visually inspected; production font/photo/print qualification remains. + +Public **18 all-enabled top-document scans0 violations/12 incomplete occurrences** are entirely `frame-tested`: axe could not fully inspect the sandboxed document. This is an open document accessibility qualification, not full CV conformance; do not enable scripts to quiet the scan. Final settings **12 WCAG-tagged scans0/223** separately retain24 disabled Undo/Redo span labels,12 badge short-text,161 overlapping and26 partially obscured contexts. All node vectors are retained. M09/M11/human screen-reader and all M01–M12 device/zoom/output/provider gates remain unverified. + +Meaningful RED4/6 and title RED13/1 are frozen separately. Initial native6/2 reflects a30s second-scan timeout plus an exact initial-title fixture mismatch with the verified Next metadata owner. The fixture now asserts Jobbjakt and uses90s for that two-scan case; no assertion/rule relaxation or skip. An intermediate38/3 passed but lint failed a captured-ref cleanup warning; final captured originalTitle fixes the warning without suppression. Final eight ordinary cases pass with retries0. All57 whole-group statuses remain56 PARTIAL/C11 DEFERRED; C05/C12/E09 have finite sharing/revocation/source/export proof. RD21 concurrency/partial writes, historical output/orphan debt and release gates remain. P5-13 withheld, main unchanged/production NO-GO, Phase8 separate. + +Peer review found no product defect. The native geometry test now additionally asserts rendered width equals min(A4, viewport minus32px) within1px; focused existing eight-sample journey passes after that assertion, with fresh browser types. Product source/build/fidelity remain unchanged. Seven new screenshots exactly match previously reviewed SHA bytes; the differing1920 capture was displayed/reviewed. Extra eight scans0/8 frame-tested are repeated evidence, not additional cases. The first targeted runner grep matched0 tests/exit1; raw failure retained and exact-title grep corrected, no skip or expected failure. + +Final public [staged hygiene](evidence/public-static-checks.json) PASS at2026-10-12 22:24:04UTC: four commands0,11docs/412 local links0errors,57groups/32routes. Normal development push pending; actual hash and direct remote receipt follow in the next checkpoint. diff --git a/docs/redesign/phase-7/p7-04/evidence/library-results.json b/docs/redesign/phase-7/p7-04/evidence/library-results.json index 376f865..5592943 100644 --- a/docs/redesign/phase-7/p7-04/evidence/library-results.json +++ b/docs/redesign/phase-7/p7-04/evidence/library-results.json @@ -3,7 +3,7 @@ "checkpoint": "P7-04", "slice": "CV library", "recordedUtc": "2026-10-12T18:03:01.494389+00:00", - "acceptance": "IMPLEMENTED_SCOPE_CONDITIONAL_GO_STATIC_AND_NORMAL_PUSH_PENDING", + "acceptance": "IMPLEMENTED_SCOPE_CONDITIONAL_GO_NORMAL_PUSH_VERIFIED", "entryReceipt": { "observedUtc": "2026-10-12T17:35:00.882169+00:00", "branch": "codex/ui-redesign-phase4", @@ -3273,5 +3273,106 @@ "freshIntegratedAcceptance": "P7-12 pending" }, "preservation": "All57 remain56 PARTIAL/C11 DEFERRED;32 routes;C05/C12/E09 plus source/version/frozen/export guards supported by finite proof. No source/settings/API/schema/renderer/model/provider/save-contract/production activation.", - "remaining": "Public entry boundary pending; full P7-04 pending. Shared gallery editor consumer default disabled=false and original frame4 pass." + "remaining": "Public entry boundary pending; full P7-04 pending. Shared gallery editor consumer default disabled=false and original frame4 pass.", + "normalPushReceipt": { + "observedUtc": "2026-10-12T18:03:41.481787+00:00", + "branch": "codex/ui-redesign-phase4", + "head": "fcacae7384b4a38c2675e6527a33cc1d09f4b505", + "originDevelopment": "fcacae7384b4a38c2675e6527a33cc1d09f4b505", + "liveDevelopment": "fcacae7384b4a38c2675e6527a33cc1d09f4b505", + "main": "27657f31131cd95d42f0e1290853ec9c9b3959a4", + "originMain": "27657f31131cd95d42f0e1290853ec9c9b3959a4", + "liveMain": "27657f31131cd95d42f0e1290853ec9c9b3959a4", + "workingTreeClean": true, + "pendingPaths": [], + "commands": [ + { + "command": [ + "rtk", + "proxy", + "git", + "branch", + "--show-current" + ], + "exitCode": 0, + "stdout": "codex/ui-redesign-phase4\n", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + }, + { + "command": [ + "rtk", + "proxy", + "git", + "rev-parse", + "HEAD" + ], + "exitCode": 0, + "stdout": "fcacae7384b4a38c2675e6527a33cc1d09f4b505\n", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + }, + { + "command": [ + "rtk", + "proxy", + "git", + "rev-parse", + "origin/codex/ui-redesign-phase4" + ], + "exitCode": 0, + "stdout": "fcacae7384b4a38c2675e6527a33cc1d09f4b505\n", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + }, + { + "command": [ + "rtk", + "proxy", + "git", + "rev-parse", + "main" + ], + "exitCode": 0, + "stdout": "27657f31131cd95d42f0e1290853ec9c9b3959a4\n", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + }, + { + "command": [ + "rtk", + "proxy", + "git", + "rev-parse", + "origin/main" + ], + "exitCode": 0, + "stdout": "27657f31131cd95d42f0e1290853ec9c9b3959a4\n", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + }, + { + "command": [ + "rtk", + "proxy", + "git", + "ls-remote", + "origin", + "refs/heads/codex/ui-redesign-phase4", + "refs/heads/main" + ], + "exitCode": 0, + "stdout": "fcacae7384b4a38c2675e6527a33cc1d09f4b505\trefs/heads/codex/ui-redesign-phase4\n27657f31131cd95d42f0e1290853ec9c9b3959a4\trefs/heads/main\n", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + }, + { + "command": [ + "rtk", + "proxy", + "git", + "status", + "--porcelain=v1" + ], + "exitCode": 0, + "stdout": "", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + } + ] + }, + "finalStaticChecks": "docs/redesign/phase-7/p7-04/evidence/library-static-checks.json" } diff --git a/docs/redesign/phase-7/p7-04/evidence/public-entry.json b/docs/redesign/phase-7/p7-04/evidence/public-entry.json new file mode 100644 index 0000000..b5e610f --- /dev/null +++ b/docs/redesign/phase-7/p7-04/evidence/public-entry.json @@ -0,0 +1,149 @@ +{ + "checkpoint": "P7-04", + "slice": "Public entry", + "entry": "CONDITIONAL GO; migration pending", + "libraryPushReceipt": { + "observedUtc": "2026-10-12T18:03:41.481787+00:00", + "branch": "codex/ui-redesign-phase4", + "head": "fcacae7384b4a38c2675e6527a33cc1d09f4b505", + "originDevelopment": "fcacae7384b4a38c2675e6527a33cc1d09f4b505", + "liveDevelopment": "fcacae7384b4a38c2675e6527a33cc1d09f4b505", + "main": "27657f31131cd95d42f0e1290853ec9c9b3959a4", + "originMain": "27657f31131cd95d42f0e1290853ec9c9b3959a4", + "liveMain": "27657f31131cd95d42f0e1290853ec9c9b3959a4", + "workingTreeClean": true, + "pendingPaths": [], + "commands": [ + { + "command": [ + "rtk", + "proxy", + "git", + "branch", + "--show-current" + ], + "exitCode": 0, + "stdout": "codex/ui-redesign-phase4\n", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + }, + { + "command": [ + "rtk", + "proxy", + "git", + "rev-parse", + "HEAD" + ], + "exitCode": 0, + "stdout": "fcacae7384b4a38c2675e6527a33cc1d09f4b505\n", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + }, + { + "command": [ + "rtk", + "proxy", + "git", + "rev-parse", + "origin/codex/ui-redesign-phase4" + ], + "exitCode": 0, + "stdout": "fcacae7384b4a38c2675e6527a33cc1d09f4b505\n", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + }, + { + "command": [ + "rtk", + "proxy", + "git", + "rev-parse", + "main" + ], + "exitCode": 0, + "stdout": "27657f31131cd95d42f0e1290853ec9c9b3959a4\n", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + }, + { + "command": [ + "rtk", + "proxy", + "git", + "rev-parse", + "origin/main" + ], + "exitCode": 0, + "stdout": "27657f31131cd95d42f0e1290853ec9c9b3959a4\n", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + }, + { + "command": [ + "rtk", + "proxy", + "git", + "ls-remote", + "origin", + "refs/heads/codex/ui-redesign-phase4", + "refs/heads/main" + ], + "exitCode": 0, + "stdout": "fcacae7384b4a38c2675e6527a33cc1d09f4b505\trefs/heads/codex/ui-redesign-phase4\n27657f31131cd95d42f0e1290853ec9c9b3959a4\trefs/heads/main\n", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + }, + { + "command": [ + "rtk", + "proxy", + "git", + "status", + "--porcelain=v1" + ], + "exitCode": 0, + "stdout": "", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + } + ] + }, + "baselines": [ + { + "source": "job-tracker-ui/src/views/PublicCvPage.tsx", + "blobCommit": "fcacae7384b4a38c2675e6527a33cc1d09f4b505", + "path": ".artifacts/phase7/p7-04/public/entry-source/job-tracker-ui/src/views/PublicCvPage.tsx", + "sha256": "9b32e53f92359052e69583a90526fdebce2f2df02c80369d0d9e6748ad1a6210", + "bytes": 3574, + "hashPolicy": "Exact Git blob bytes" + }, + { + "source": "job-tracker-ui/src/public-cv-page.test.tsx", + "blobCommit": "fcacae7384b4a38c2675e6527a33cc1d09f4b505", + "path": ".artifacts/phase7/p7-04/public/entry-source/job-tracker-ui/src/public-cv-page.test.tsx", + "sha256": "f9f96d2cea8689ce795f998553db7741f4672e32c542d9b1b920be3b893fad1c", + "bytes": 1581, + "hashPolicy": "Exact Git blob bytes" + }, + { + "source": "job-tracker-ui/src/App.tsx", + "blobCommit": "fcacae7384b4a38c2675e6527a33cc1d09f4b505", + "path": ".artifacts/phase7/p7-04/public/entry-source/job-tracker-ui/src/App.tsx", + "sha256": "b7032f52def046a6f6104839a0acb6e6bd8c85b9cdfb73b6912a0923a85a0b16", + "bytes": 27290, + "hashPolicy": "Exact Git blob bytes" + }, + { + "source": "job-tracker-ui/src/components/ViewStateNotice.tsx", + "blobCommit": "fcacae7384b4a38c2675e6527a33cc1d09f4b505", + "path": ".artifacts/phase7/p7-04/public/entry-source/job-tracker-ui/src/components/ViewStateNotice.tsx", + "sha256": "7b6c3e6c311860897eb5327936dbb129e860781929cfd9a4d4e17f81c607c70c", + "bytes": 2312, + "hashPolicy": "Exact Git blob bytes" + }, + { + "source": "job-tracker-ui/src/layout/PageLayout.tsx", + "blobCommit": "fcacae7384b4a38c2675e6527a33cc1d09f4b505", + "path": ".artifacts/phase7/p7-04/public/entry-source/job-tracker-ui/src/layout/PageLayout.tsx", + "sha256": "31c7510446382039cd24b96e5709d5d8dfd00a0b84fd319a53183d1da6c2efa4", + "bytes": 2280, + "hashPolicy": "Exact Git blob bytes" + } + ], + "libraryAcceptance": "Conditional with human/context/provider/output/production qualifications", + "dependencies": "Keep exact fixedA4/white iframe/sandbox/noindex/anonymous public HTML+PDF guards; prescribed16/36+8/24 when preview touched; no backend/model/save/Phase8/main work" +} diff --git a/docs/redesign/phase-7/p7-04/evidence/public-fidelity-results.json b/docs/redesign/phase-7/p7-04/evidence/public-fidelity-results.json new file mode 100644 index 0000000..37b5cac --- /dev/null +++ b/docs/redesign/phase-7/p7-04/evidence/public-fidelity-results.json @@ -0,0 +1,5104 @@ +{ + "commands": [ + { + "name": "fidelity", + "command": [ + "rtk", + "proxy", + "C:/Users/Connor/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/python.exe", + "-X", + "utf8", + "scripts/verify-cv-fidelity.py", + "E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\ui\\fidelity" + ], + "startedUtc": "2026-10-12T22:17:46.377876+00:00", + "finishedUtc": "2026-10-12T22:17:54.594589+00:00", + "exitCode": 0, + "passed": 16, + "total": 16, + "previewPages": 36, + "pdfPages": 36, + "tolerances": { + "pageDimensionMm": 0.5, + "positionMm": 2, + "fontPt": 0.5, + "rgbComponent": 0.00392156862745098, + "pageCountAndMembership": "exact" + }, + "reportSha256": "98abd84d63708f1c632e29c8b8d37e1083811979365162ffea2e4e1bf48ea373" + }, + { + "name": "settings-fidelity", + "command": [ + "rtk", + "proxy", + "C:/Users/Connor/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/python.exe", + "-X", + "utf8", + "scripts/verify-cv-fidelity.py", + "E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\ui\\settings-fidelity" + ], + "startedUtc": "2026-10-12T22:17:54.595630+00:00", + "finishedUtc": "2026-10-12T22:18:00.040486+00:00", + "exitCode": 0, + "passed": 8, + "total": 8, + "previewPages": 24, + "pdfPages": 24, + "tolerances": { + "pageDimensionMm": 0.5, + "positionMm": 2, + "fontPt": 0.5, + "rgbComponent": 0.00392156862745098, + "pageCountAndMembership": "exact" + }, + "reportSha256": "baf25ba3f32119734b6aacf541648df6d74474274346b7f8d5db256cd0bdbcd9" + } + ], + "results": { + "fidelity": { + "tolerances": { + "pageDimensionMm": 0.5, + "positionMm": 2, + "fontPt": 0.5, + "rgbComponent": 0.00392156862745098, + "pageCountAndMembership": "exact" + }, + "browserVersion": "151.0.7922.34", + "passed": 16, + "total": 16, + "fixtures": [ + { + "fixture": "default-modern", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+SegoeUI-Bold", + "BAAAAA+SegoeUI" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.8846697945210119, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 1.1543915080462135, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.9466801572814106, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.9549481108404655, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 1.224669824365667, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 1.1419864412927418, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.9218730223856111, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "\u00c5se Fixture\nCareer platform engineer\nase@example.test Oslo, Norge\nPROFESSIONAL SUMMARY\nR01 Builds reliable and accessible career software using documented evidence.\nPROFESSIONAL EXPERIENCE\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nEDUCATION\nE02 Computer science\nFixture University\nPROJECTS\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSKILLS\nC# React Norsk Accessibility\nLANGUAGES\nNorsk \u2014 Native", + "glyphBoundsPt": [ + 45.35156061035156, + 50.27343534527347, + 404.4988765624195, + 549.1329995190109 + ] + } + ] + }, + { + "fixture": "default-minimal", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+ArialMT" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.23840431700673748, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.2504673297077049, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3210852416595337, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.32935319521854844, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.34141620791947574, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.27940338673890797, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3376192305484088, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "\u00c5se Fixture\nCareer platform engineer\nase@example.test Oslo, Norge\nProfessional Summary\nR01 Builds reliable and accessible career software using documented evidence.\nProfessional Experience\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nEducation\nE02 Computer science\nFixture University\nProjects\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSkills\nC# \u00b7 React \u00b7 Norsk \u00b7 Accessibility\nLanguages\nNorsk \u2014 Native", + "glyphBoundsPt": [ + 45.35156061035156, + 47.08593547808607, + 412.1041846030788, + 548.0121011340744 + ] + } + ] + }, + { + "fixture": "default-executive", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+Georgia-Bold", + "BAAAAA+Georgia" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.18982195911552188, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.23753521760940605, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.30557576736205694, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.31384372092107166, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.3615569794149959, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.33261704182818697, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3882555234384297, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.921568627450467e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "\u00c5se Fixture\nCareer platform engineer\nase@example.test Oslo, Norge\nProfessional Summary\nR01 Builds reliable and accessible career software using documented evidence.\nProfessional Experience\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nEducation\nE02 Computer science\nFixture University\nProjects\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSkills\nC# \u00b7 React \u00b7 Norsk \u00b7 Accessibility\nLanguages\nNorsk \u2014 Native", + "glyphBoundsPt": [ + 45.35156061035156, + 47.919431563356966, + 404.3816489774241, + 563.8316439427281 + ] + } + ] + }, + { + "fixture": "default-technical", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+ArialMT" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.1144274124177778e-06, + "deltaYmm": 0.2623550758939605, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.9270142247130983e-06, + "deltaYmm": 0.3343444905847756, + "fontDeltaPt": 4.3749992073571775e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.1144274124177778e-06, + "deltaYmm": 0.27475597545992514, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.1144274124177778e-06, + "deltaYmm": 0.1465979824043807, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.9270142247130983e-06, + "deltaYmm": 0.27646518867508024, + "fontDeltaPt": 4.3749992073571775e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.9270142247130983e-06, + "deltaYmm": 0.28059828902232004, + "fontDeltaPt": 4.3750003442255547e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.1144274124177778e-06, + "deltaYmm": 0.022572538480772168, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "\u00c5se Professional Summary\nFixture R01 Builds reliable and accessible career software using documented\nevidence.\nCareer platform\nengineer\nProfessional Experience\nE01 Platform engineer\nase@example.tes\nt Nordlys Fixture AS\nOslo, Norge B01 Delivered accessible application workflows with documented\noutcomes.\nSkills B02 Maintained reliable APIs and verified releases.\nC#\nEducation\nReact\nE02 Computer science\nNorsk\nFixture University\nAccessibility\nProjects\nLanguages\nP01 Evidence workspace\nNorsk \u2014 Native B03 Created a source-grounded review workflow.", + "glyphBoundsPt": [ + 45.35156061035156, + 46.45019332457525, + 526.7734687109811, + 344.76210960282447 + ] + } + ] + }, + { + "fixture": "default-ats-classic", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+ArialMT" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.21773375511438012, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.20912620592295006, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.2797441178747789, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.28801207143383367, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.27940452224240364, + "fontDeltaPt": 0.005025608125045267, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.19672113916945838, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.2549369829789592, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "\u00c5se Fixture\nCareer platform engineer\nase@example.test Oslo, Norge\nPROFESSIONAL SUMMARY\nR01 Builds reliable and accessible career software using documented evidence.\nPROFESSIONAL EXPERIENCE\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nEDUCATION\nE02 Computer science\nFixture University\nPROJECTS\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSKILLS\nC#\nReact\nNorsk\nAccessibility\nLANGUAGES\nNorsk \u2014 Native", + "glyphBoundsPt": [ + 45.35156061035156, + 47.08593547808607, + 412.1041846030788, + 600.5120989465744 + ] + } + ] + }, + { + "fixture": "default-nordic", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+SegoeUI-Bold", + "BAAAAA+SegoeUI" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.8350616432189417, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 1.1254537201990138, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.917742369434211, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.946680686448096, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 1.2164023999732976, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 1.1337190169003926, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.9136055979932417, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.1372549019609286e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "PROFESSIONAL SUMMARY \u00c5se\nR01 Builds reliable and accessible career software using documented Fixture\nevidence.\nCareer platform\nengineer\nPROFESSIONAL EXPERIENCE\nE01 Platform engineer ase@example.tes\nt\nNordlys Fixture AS\nOslo, Norge\nB01 Delivered accessible application workflows with documented\noutcomes.\nSKILLS\nB02 Maintained reliable APIs and verified releases.\nC# React\nEDUCATION\nNorsk\nE02 Computer science\nFixture University Accessibility\nPROJECTS LANGUAGES\nP01 Evidence workspace Norsk \u2014 Native\nB03 Created a source-grounded review workflow.", + "glyphBoundsPt": [ + 45.35156061035156, + 48.609958661877954, + 549.9178689110568, + 371.50912266022937 + ] + } + ] + }, + { + "fixture": "default-elegant", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+SegoeUI", + "BAAAAA+Georgia-Bold", + "CAAAAA+SegoeUI-Bold" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 1.0541681506842109, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 1.1709275474559542, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.9632161966911514, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.9714841502501661, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 1.0882435470219096, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 1.1171811695045502, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 3.1372549019609286e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.8970677505974194, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 3.1372549019609286e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "CURRICULUM VITAE\n\u00c5se Fixture\nCareer platform engineer\nase@example.test Oslo, Norge\nProfessional Summary\nR01 Builds reliable and accessible career software using documented evidence.\nProfessional Experience\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nEducation\nE02 Computer science\nFixture University\nProjects\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSkills\nC# React Norsk Accessibility\nLanguages\nNorsk \u2014 Native", + "glyphBoundsPt": [ + 45.35156061035156, + 47.632322215319846, + 404.4988765624195, + 600.1329973940109 + ] + } + ] + }, + { + "fixture": "default-creative", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+SegoeUI-Bold", + "BAAAAA+SegoeUI" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.1144274124177778e-06, + "deltaYmm": 1.0624379673508535, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 1.764705882352502e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.9270142247130983e-06, + "deltaYmm": 1.3156230461538534, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 1.764705882352502e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.1144274124177778e-06, + "deltaYmm": 0.8433283730800265, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 1.764705882352502e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.1144274124177778e-06, + "deltaYmm": 0.8722666900939117, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 1.764705882352502e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.9270142247130983e-06, + "deltaYmm": 1.104781405442041, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 1.764705882352502e-05 + }, + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.9270142247130983e-06, + "deltaYmm": 1.2494743465010878, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 1.764705882352502e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.1144274124177778e-06, + "deltaYmm": 1.029360927593937, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 1.764705882352502e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "\u00c5se Professional Summary\nFixture R01 Builds reliable and accessible career software using documented\nevidence.\nCareer platform\nengineer\nProfessional Experience\nase@example.tes E01 Platform engineer\nt Nordlys Fixture AS\nOslo, Norge B01 Delivered accessible application workflows with documented\noutcomes.\nSkills B02 Maintained reliable APIs and verified releases.\nC# React\nEducation\nNorsk\nE02 Computer science\nAccessibility Fixture University\nProjects\nLanguages\nP01 Evidence workspace\nNorsk \u2014 Native\nB03 Created a source-grounded review workflow.", + "glyphBoundsPt": [ + 45.35156061035156, + 48.7617166882618, + 536.2813995678008, + 363.25912300397937 + ] + } + ] + }, + { + "fixture": "default-code", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+SegoeUI-Bold", + "BAAAAA+SegoeUI", + "CAAAAA+Consolas-Bold" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3408694274723905, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.4617630733497646, + "fontDeltaPt": 0.005025658124935717, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2623199936181995, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2747220727848567, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.395615718662311, + "fontDeltaPt": 0.005025658125049404, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.4328217356761774, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2168424621946015, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "\u00c5se Fixture\nCareer platform engineer\nase@example.test Oslo, Norge\n01 \u2014 PROFESSIONAL SUMMARY\nR01 Builds reliable and accessible career software using documented evidence.\n02 \u2014 PROFESSIONAL EXPERIENCE\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\n03 \u2014 EDUCATION\nE02 Computer science\nFixture University\n04 \u2014 PROJECTS\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\n05 \u2014 SKILLS\nC#\nReact\nNorsk\nAccessibility\n06 \u2014 LANGUAGES\nNorsk \u2014 Native", + "glyphBoundsPt": [ + 43.19531070019531, + 48.39990026333737, + 381.55365235795125, + 565.482412882962 + ] + } + ] + }, + { + "fixture": "long-en-minimal", + "pass": true, + "failures": [], + "previewPages": 4, + "pdfPages": 4, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+ArialMT" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.23840431700673748, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.2504673297077049, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3210852416595337, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.39136428558311953, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.1970600071977014, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.17604846061041962, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B04", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.24666637256228857, + "fontDeltaPt": 0.002475491562471177, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B05", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3169454164859145, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B06", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3872244604095003, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E03", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.39094513795416674, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.19697972759697155, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.26725877152059746, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.33753781544418326, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.31652626885694163, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B10", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3871441808087905, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B11", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.19283990242333224, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B12", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.26311894634695815, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E05", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.25857139472509827, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B13", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.32918930667692714, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B14", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3994683506004728, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B15", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.20516407221507474, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E06", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.18415252562783307, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B16", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.25477043757968193, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B17", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.32504948150330787, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B18", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3953285254269338, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.3825111350897526, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E08", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.34530344238135574, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "P01", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.28329062120090825, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.34150646501022863, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "\u00c5se Fixture\nPlatform engineer with experience in accessible and reliable application workflows\nase@example.test Oslo, Norge\nProfessional Summary\nR01 Builds reliable and accessible career software using documented evidence.\nProfessional Experience\nE01 Workflow and integration engineer\nNordlys Fixture 1\nB01 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB02 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB03 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers.\nE02 Workflow and integration engineer\nNordlys Fixture 2\nB04 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB05 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB06 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source", + "glyphBoundsPt": [ + 45.35156061035156, + 47.08593547808607, + 549.9112904894672, + 782.118578210681 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "evidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers.\nE03 Workflow and integration engineer\nNordlys Fixture 3\nB07 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB08 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB09 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers.\nE04 Workflow and integration engineer\nNordlys Fixture 4\nB10 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB11 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB12 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers.", + "glyphBoundsPt": [ + 45.35156061035156, + 46.871108920993265, + 549.9112904894672, + 767.8685788044307 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "E05 Workflow and integration engineer\nNordlys Fixture 5\nB13 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB14 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB15 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers.\nE06 Workflow and integration engineer\nNordlys Fixture 6\nB16 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB17 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nB18 Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented\nsource evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers.", + "glyphBoundsPt": [ + 45.35156061035156, + 47.58499322520481, + 549.9112904894672, + 683.1185823356808 + ] + }, + { + "page": 4, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "Education\nE02 Computer science\nFixture University\nE08 Videreutdanning i universell utforming og informasjonsarkitektur\nFixture Academy\nProjects\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSkills\nC# \u00b7 React \u00b7 Norsk \u00b7 Accessibility\nLanguages\nNorsk \u2014 Native", + "glyphBoundsPt": [ + 45.35156061035156, + 47.54296673904298, + 408.051991873659, + 335.76210997782437 + ] + } + ] + }, + { + "fixture": "long-nb-code", + "pass": true, + "failures": [], + "previewPages": 4, + "pdfPages": 4, + "fontNames": [ + "AAAAAA+SegoeUI-Bold", + "BAAAAA+SegoeUI", + "CAAAAA+Consolas-Bold" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3408694274723905, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.4617630733497646, + "fontDeltaPt": 0.005025658124935717, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2623199936181995, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3491355399723557, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.4359510863265321, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.3542717506067425, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B04", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.4194119931841813, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B05", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2416442172293136, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B06", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3284597635834698, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E03", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.3293904325511838, + "fontDeltaPt": 0.005025658124935717, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3945306751286426, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.216762899173775, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3035784455279311, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.2218991098081617, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B10", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2870393523856005, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B11", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3738548987397168, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B12", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.460670445093913, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E05", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.3789911093741036, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B13", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.4441313519515624, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B14", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2663635759967347, + "fontDeltaPt": 0.0024756165624957305, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B15", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.328301993531498, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E06", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.2466226578117086, + "fontDeltaPt": 0.005025658125049404, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B16", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3117629003891271, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B17", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3985784467433235, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B18", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2208106707884159, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E02", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.300361395919303, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E08", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.4409206743915568, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "P01", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.2135433690963993, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B03", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2621474179238674, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "\u00c5se Fixture\nPlattformutvikler med erfaring fra tilgjengelige, p\u00e5litelige arbeidsflyter\nase@example.test Oslo, Norge\n01 \u2014 PROFIL\nR01 Builds reliable and accessible career software using documented evidence.\n02 \u2014 ARBEIDSERFARING\nE01 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 1\nB01 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB02 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB03 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nUtviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nE02 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 2\nB04 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB05 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB06 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nUtviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.", + "glyphBoundsPt": [ + 43.19531070019531, + 48.39990026333737, + 550.4331237820651, + 782.3585195678572 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "E03 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 3\nB07 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB08 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB09 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nUtviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nE04 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 4\nB10 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB11 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB12 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nUtviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nE05 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 5\nB13 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB14 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.", + "glyphBoundsPt": [ + 43.19531070019531, + 46.9638995529009, + 550.4331237820651, + 779.3585196928572 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "B15 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nUtviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nE06 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 6\nB16 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB17 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB18 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nUtviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og\ntydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\n03 \u2014 UTDANNING\nE02 Computer science\nFixture University\nE08 Videreutdanning i universell utforming og informasjonsarkitektur\nFixture Academy\n04 \u2014 PROSJEKTER\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\n05 \u2014 FERDIGHETER\nC#\nReact\nNorsk\nAccessibility", + "glyphBoundsPt": [ + 43.19531070019531, + 46.9610504344198, + 550.4331237820651, + 758.3585205678573 + ] + }, + { + "page": 4, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "06 \u2014 SPR\u00c5K\nNorsk \u2014 Native", + "glyphBoundsPt": [ + 43.19531070019531, + 45.69976097835922, + 112.36207023748328, + 81.73243303921174 + ] + } + ] + }, + { + "fixture": "compact-8mm-letter", + "pass": true, + "failures": [], + "previewPages": 4, + "pdfPages": 4, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+ArialMT" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.35829410294419367, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.731960717896855e-07, + "deltaYmm": 0.38689375036736284, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.45751166231919166, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.5567295193504602, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.39136405407268465, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 2.731960717896855e-07, + "deltaYmm": 0.5357174325722038, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B04", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.3417520222150287, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B05", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.4409698792462772, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B06", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.5401877362775457, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E03", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 2.731960717896855e-07, + "deltaYmm": 0.4406394889090288, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.5112574008608577, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.3458919355830621, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.44510979261433065, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 2.731960717896855e-07, + "deltaYmm": 0.32487984880482573, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B10", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.39549776075667464, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B11", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.49471561778794315, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B12", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.3293501525101877, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E05", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 2.731960717896855e-07, + "deltaYmm": 0.4737035310097269, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B13", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.5443214429615557, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B14", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.37895597768380024, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B15", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.45338030381237815, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E06", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 2.731960717896855e-07, + "deltaYmm": 0.33315036000289333, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B16", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.40376827195472215, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B17", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.5029861289859907, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B18", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.3376206637082352, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 2.731960717896855e-07, + "deltaYmm": 0.5522535822251378, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E08", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 2.731960717896855e-07, + "deltaYmm": 0.43649785574944844, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "P01", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 2.731960717896855e-07, + "deltaYmm": 0.39102166929104226, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 4.6060926701427556e-07, + "deltaYmm": 0.44923751310052307, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "\u00c5se Fixture\nPlatform engineer with experience in accessible and reliable application workflows\nase@example.test Oslo, Norge\nPROFESSIONAL SUMMARY\nR01 Builds reliable and accessible career software using documented evidence.\nPROFESSIONAL EXPERIENCE\nE01 Workflow and integration engineer\nNordlys Fixture 1\nB01 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB02 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB03 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable\nworkflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers.\nE02 Workflow and integration engineer\nNordlys Fixture 2\nB04 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB05 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB06 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable\nworkflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers.", + "glyphBoundsPt": [ + 18.58593672558594, + 20.835936571835987, + 587.6313359927984, + 768.6185787731808 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "E03 Workflow and integration engineer\nNordlys Fixture 3\nB07 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB08 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB09 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable\nworkflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers.\nE04 Workflow and integration engineer\nNordlys Fixture 4\nB10 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB11 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB12 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable\nworkflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers.\nE05 Workflow and integration engineer\nNordlys Fixture 5\nB13 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB14 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.", + "glyphBoundsPt": [ + 18.58593672558594, + 21.334994318954728, + 587.6313359927984, + 771.6185786481808 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "B15 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable\nworkflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers.\nE06 Workflow and integration engineer\nNordlys Fixture 6\nB16 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB17 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers.\nB18 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed reliable\nworkflows with accessible navigation, documented source evidence and explicit review for people managing their careers.\nDeveloped reliable workflows with accessible navigation, documented source evidence and explicit review for people\nmanaging their careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit\nreview for people managing their careers.\nEDUCATION\nE02 Computer science\nFixture University\nE08 Videreutdanning i universell utforming og informasjonsarkitektur\nFixture Academy\nPROJECTS\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSKILLS\nC#\nReact\nNorsk\nAccessibility", + "glyphBoundsPt": [ + 18.58593672558594, + 20.62111001474375, + 587.6313359927984, + 720.6185807731813 + ] + }, + { + "page": 4, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "LANGUAGES\nNorsk \u2014 Native", + "glyphBoundsPt": [ + 18.58593672558594, + 21.211522291760616, + 95.17926274729487, + 57.512121571574085 + ] + } + ] + }, + { + "fixture": "roomy-28mm-nb", + "pass": true, + "failures": [], + "previewPages": 5, + "pdfPages": 5, + "fontNames": [ + "AAAAAA+SegoeUI-Bold", + "BAAAAA+SegoeUI" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.012826464659883, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.376660156064228e-06, + "deltaYmm": 1.3610962450254052, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.14511659894808, + "fontDeltaPt": 0.0024754915624427554, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.2236635192605956, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.0376271172640672, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.376660156064228e-06, + "deltaYmm": 1.2701393852163572, + "fontDeltaPt": 0.005025608125002634, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.0954271758578251, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B05", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.1739740961703409, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B06", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 0.9879376941738325, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E03", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.376660156064228e-06, + "deltaYmm": 1.4850332844351664, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.0044703160488773, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.0830172363613528, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.1615641566738284, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E04", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.376660156064228e-06, + "deltaYmm": 1.3113203576990557, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B10", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.0953407116217306, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B11", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.1738876319342262, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B12", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 0.9878512299376777, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E05", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.376660156064228e-06, + "deltaYmm": 1.4849468201989915, + "fontDeltaPt": 0.005025608125002634, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B13", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.0952605091911456, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B14", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.1738074295036212, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B15", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 0.9877710275070728, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E06", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 1.376660156064228e-06, + "deltaYmm": 1.4848666177684868, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B16", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.0043036493820774, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B17", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.0828505696947937, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B18", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.1613974900073496, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 5, + "pdfPage": 5, + "deltaXmm": 1.376660156064228e-06, + "deltaYmm": 1.4930542145565866, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E08", + "previewPage": 5, + "pdfPage": 5, + "deltaXmm": 1.376660156064228e-06, + "deltaYmm": 1.402102966119161, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "P01", + "previewPage": 5, + "pdfPage": 5, + "deltaXmm": 1.376660156064228e-06, + "deltaYmm": 1.493052241205946, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 5, + "pdfPage": 5, + "deltaXmm": 1.564073353795455e-06, + "deltaYmm": 1.103440091309301, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "\u00c5se Fixture\nPlattformutvikler med erfaring fra tilgjengelige, p\u00e5litelige arbeidsflyter\nase@example.test Oslo, Norge\nPROFIL\nR01 Builds reliable and accessible career software using documented evidence.\nARBEIDSERFARING\nE01 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 1\nB01 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB02 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB03 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nUtviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag\nog tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med\ntilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nE02 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 2", + "glyphBoundsPt": [ + 93.65624609765625, + 99.02343331402346, + 499.10543914547947, + 743.5091071602294 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "B04 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB05 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB06 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nUtviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag\nog tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med\ntilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nE03 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 3\nB07 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB08 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB09 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige", + "glyphBoundsPt": [ + 93.65624609765625, + 98.26163412054177, + 499.10543914547947, + 742.0091072227292 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nUtviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag\nog tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med\ntilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nE04 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 4\nB10 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB11 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB12 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nUtviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag\nog tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med\ntilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nE05 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 5", + "glyphBoundsPt": [ + 93.65624609765625, + 98.26163412054177, + 499.10543914547947, + 733.7591075664791 + ] + }, + { + "page": 4, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "B13 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB14 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB15 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nUtviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag\nog tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med\ntilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nE06 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 6\nB16 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB17 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nB18 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige", + "glyphBoundsPt": [ + 93.65624609765625, + 98.26163412054154, + 499.10543914547947, + 742.0091072227292 + ] + }, + { + "page": 5, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nUtviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag\nog tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med\ntilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon, dokumentert\nkildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige\narbeidsflyter med tilgjengelig navigasjon, dokumentert kildegrunnlag og tydelige\nvurderinger for norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for norske arbeidss\u00f8kere.\nUTDANNING\nE02 Computer science\nFixture University\nE08 Videreutdanning i universell utforming og informasjonsarkitektur\nFixture Academy\nPROSJEKTER\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nFERDIGHETER\nC# React Norsk Accessibility\nSPR\u00c5K\nNorsk \u2014 Native", + "glyphBoundsPt": [ + 93.65624609765625, + 98.26163412054132, + 499.10543914547947, + 607.6329970815107 + ] + } + ] + }, + { + "fixture": "grid-and-bubbles", + "pass": true, + "failures": [], + "previewPages": 1, + "pdfPages": 1, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+ArialMT" + ], + "comparisons": [ + { + "token": "P01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.2256635021035085, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.2838793459129893, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.30834377632225735, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3789616882741062, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3872296418331209, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.14745014712825316, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.1595131598291805, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "\u00c5se Fixture\nCareer platform engineer\nase@example.test Oslo, Norge\nProjects\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\nSkills\nC# \u00b7 React \u00b7 Norsk \u00b7 Accessibility\nProfessional Experience\nE01 Platform engineer\nNordlys Fixture AS\nB01 Delivered accessible application workflows with documented outcomes.\nB02 Maintained reliable APIs and verified releases.\nProfessional Summary\nR01 Builds reliable and accessible career software using documented evidence.\nEducation\nE02 Computer science\nFixture University\nLanguages\nNorsk \u2014 Native", + "glyphBoundsPt": [ + 45.35156061035156, + 47.08593547808607, + 412.1041846030788, + 552.5121009465745 + ] + } + ] + }, + { + "fixture": "long-sidebar-nb", + "pass": true, + "failures": [], + "previewPages": 5, + "pdfPages": 5, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+ArialMT", + "CAAAAA+Consolas-Bold" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.2623550758939605, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 3.49987250353302e-06, + "deltaYmm": 0.3343444905847756, + "fontDeltaPt": 4.3749992073571775e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.27475597545992514, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.12179234681410282, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.2334120404772845, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 3.49987250353302e-06, + "deltaYmm": 0.2929966750466093, + "fontDeltaPt": 4.374999775791366e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B04", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.23340815992171868, + "fontDeltaPt": 0.0050255456249956865, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B05", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.08044453127589639, + "fontDeltaPt": 0.005025545624981476, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B06", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.01835889394947985, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E03", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 3.49987250353302e-06, + "deltaYmm": 0.3425268508277685, + "fontDeltaPt": 4.3749992073571775e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.018355013393893987, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.1299747070570957, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.2415944007203175, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 3.49987250353302e-06, + "deltaYmm": 0.3011790352895821, + "fontDeltaPt": 4.3750000600084604e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B10", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.14643355367180483, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B11", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.25805324733492635, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B12", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.10508961868910406, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E05", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 3.49987250353302e-06, + "deltaYmm": 0.429257575567493, + "fontDeltaPt": 4.3750003442255547e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B13", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.10508573813359841, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B14", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.21670543179680013, + "fontDeltaPt": 0.0050255456249956865, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B15", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.06374180315097785, + "fontDeltaPt": 0.0050255456249956865, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E06", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 3.49987250353302e-06, + "deltaYmm": 0.40437386523766095, + "fontDeltaPt": 4.3749992073571775e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B16", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.08020202780378645, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B17", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.19182172146690796, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B18", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.038858092821085675, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E02", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 3.49987250353302e-06, + "deltaYmm": 0.3010139230503117, + "fontDeltaPt": 4.374999775791366e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "E08", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 3.49987250353302e-06, + "deltaYmm": 0.3671591500468748, + "fontDeltaPt": 4.374999775791366e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "P01", + "previewPage": 5, + "pdfPage": 5, + "deltaXmm": 3.49987250353302e-06, + "deltaYmm": 0.5117790544736865, + "fontDeltaPt": 4.3749992073571775e-07, + "colorDelta": 4.509803921570743e-05 + }, + { + "token": "B03", + "previewPage": 5, + "pdfPage": 5, + "deltaXmm": 3.687285701264247e-06, + "deltaYmm": 0.25375330393217876, + "fontDeltaPt": 0.005025545624967265, + "colorDelta": 4.509803921570743e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "\u00c5se Profil\nFixture R01 Builds reliable and accessible career software using documented\nevidence.\nPlattformutvikler med\nerfaring fra\nArbeidserfaring\ntilgjengelige, p\u00e5litelige\narbeidsflyter E01 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 1\nase@example.test B01 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\nOslo, Norge\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nFerdigheter\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nSamarbeid Norsk\nnorske arbeidss\u00f8kere.\nTilgje\nB02 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon,\nngelig\ndokumentert kildegrunnlag og tydelige vurderinger for norske\nhet\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nSpr\u00e5k\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nNorsk \u2014 Native\nnorske arbeidss\u00f8kere.\nB03 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere.\nE02 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 2\nB04 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere.\nB05 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig", + "glyphBoundsPt": [ + 45.35156061035156, + 46.45019332457525, + 543.7773705024852, + 778.2620915403244 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "navigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere.\nB06 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere.\nE03 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 3\nB07 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere.\nB08 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere.\nB09 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere.\nE04 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 4", + "glyphBoundsPt": [ + 238.10155257910156, + 46.517122179699186, + 541.6400492415406, + 788.0120911340741 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "B10 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere.\nB11 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere.\nB12 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere.\nE05 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 5\nB13 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere.\nB14 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere.\nB15 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for", + "glyphBoundsPt": [ + 238.10155257910156, + 46.51712217969941, + 541.6400492415406, + 790.2620910403243 + ] + }, + { + "page": 4, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "norske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere.\nE06 Utvikler av dokumenterte arbeidsflyter og integrasjoner\nNordlys Fixture 6\nB16 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere.\nB17 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere.\nB18 Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig navigasjon,\ndokumentert kildegrunnlag og tydelige vurderinger for norske\narbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere. Utviklet p\u00e5litelige arbeidsflyter med tilgjengelig\nnavigasjon, dokumentert kildegrunnlag og tydelige vurderinger for\nnorske arbeidss\u00f8kere.\nUtdanning\nE02 Computer science\nFixture University\nE08 Videreutdanning i universell utforming og\ninformasjonsarkitektur\nFixture Academy", + "glyphBoundsPt": [ + 238.10155257910156, + 46.51712217969941, + 541.6400492415406, + 737.7620932278246 + ] + }, + { + "page": 5, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "Prosjekter\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.", + "glyphBoundsPt": [ + 238.10155257910156, + 47.54296673904253, + 458.26688706372056, + 94.26212004032413 + ] + } + ] + }, + { + "fixture": "unbreakable-and-boundary", + "pass": true, + "failures": [], + "previewPages": 4, + "pdfPages": 4, + "fontNames": [ + "AAAAAA+SegoeUI-Bold", + "BAAAAA+SegoeUI", + "CAAAAA+Consolas-Bold" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3408694274723905, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.4617630733497646, + "fontDeltaPt": 0.005025658124935717, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2623199936181995, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3491355399723557, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.4359510863265321, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.3542717506067425, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B04", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.4194119931841813, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B05", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2416442172293136, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B06", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3284597635834698, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E03", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.3293904325511838, + "fontDeltaPt": 0.005025658124935717, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3945306751286426, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.216762899173775, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3035784455279311, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.2218991098081617, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B10", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2870393523856005, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B11", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3738548987397168, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B12", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.460670445093913, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E05", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.3789911093741036, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B13", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.4441313519515624, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B14", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2663635759967347, + "fontDeltaPt": 0.0024756165624957305, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B15", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.328301993531498, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E06", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.2466226578117086, + "fontDeltaPt": 0.005025658125049404, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B16", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3117629003891271, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B17", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.3985784467433235, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B18", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2208106707884159, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E02", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.300361395919303, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "E08", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.4409206743915568, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "P01", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.2135433690963993, + "fontDeltaPt": 0.00502565812499256, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "B03", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 8.223442926909759e-07, + "deltaYmm": 1.2621474179238674, + "fontDeltaPt": 0.0024756165625099413, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "S09", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 1.0445529540782495e-06, + "deltaYmm": 0.6517525032163634, + "fontDeltaPt": 0.0024749615624948262, + "colorDelta": 3.725490196078429e-05 + }, + { + "token": "R09", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.2331328341564494, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + }, + { + "token": "R10", + "previewPage": 4, + "pdfPage": 4, + "deltaXmm": 6.349310999730227e-07, + "deltaYmm": 1.245533325823131, + "fontDeltaPt": 0.002475616562453098, + "colorDelta": 3.921568627450467e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "\u00c5se Fixture\nPlatform engineer with experience in accessible and reliable application workflows\nase@example.test Oslo, Norge\n01 \u2014 PROFESSIONAL SUMMARY\nR01 Builds reliable and accessible career software using documented evidence.\n02 \u2014 PROFESSIONAL EXPERIENCE\nE01 Workflow and integration engineer\nNordlys Fixture 1\nB01 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB02 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB03 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people managing\ntheir careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers.\nE02 Workflow and integration engineer\nNordlys Fixture 2\nB04 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB05 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB06 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people managing\ntheir careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers.", + "glyphBoundsPt": [ + 43.19531070019531, + 48.39990026333737, + 549.0611897192267, + 782.3585195678572 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "E03 Workflow and integration engineer\nNordlys Fixture 3\nB07 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB08 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB09 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people managing\ntheir careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers.\nE04 Workflow and integration engineer\nNordlys Fixture 4\nB10 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB11 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB12 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people managing\ntheir careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers.\nE05 Workflow and integration engineer\nNordlys Fixture 5\nB13 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB14 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.", + "glyphBoundsPt": [ + 43.19531070019531, + 46.9638995529009, + 549.0611897192267, + 779.3585196928572 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "B15 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people managing\ntheir careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers.\nE06 Workflow and integration engineer\nNordlys Fixture 6\nB16 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB17 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers.\nB18 Developed reliable workflows with accessible navigation, documented source evidence and explicit review for\npeople managing their careers. Developed reliable workflows with accessible navigation, documented source evidence\nand explicit review for people managing their careers. Developed reliable workflows with accessible navigation,\ndocumented source evidence and explicit review for people managing their careers. Developed reliable workflows with\naccessible navigation, documented source evidence and explicit review for people managing their careers. Developed\nreliable workflows with accessible navigation, documented source evidence and explicit review for people managing\ntheir careers. Developed reliable workflows with accessible navigation, documented source evidence and explicit review\nfor people managing their careers. Developed reliable workflows with accessible navigation, documented source\nevidence and explicit review for people managing their careers. Developed reliable workflows with accessible\nnavigation, documented source evidence and explicit review for people managing their careers.\n03 \u2014 EDUCATION\nE02 Computer science\nFixture University\nE08 Videreutdanning i universell utforming og informasjonsarkitektur\nFixture Academy\n04 \u2014 PROJECTS\nP01 Evidence workspace\nB03 Created a source-grounded review workflow.\n05 \u2014 SKILLS\nC#\nReact\nNorsk\nAccessibility", + "glyphBoundsPt": [ + 43.19531070019531, + 46.9610504344198, + 549.0611897192267, + 758.3585205678573 + ] + }, + { + "page": 4, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "06 \u2014 LANGUAGES\nNorsk \u2014 Native\n07 \u2014 S09 BOUNDARY CONTENT\nR09\nUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvi\ndenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreak\nableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceU\nnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvid\nenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreaka\nbleEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUn\nbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvidenceUnbreakableEvide\nnce\nR10 Final recorded paragraph \u2014 \u00e6\u00f8\u00e5.", + "glyphBoundsPt": [ + 43.19531070019531, + 45.69976097835922, + 552.0684606989041, + 263.35854119285716 + ] + } + ] + } + ] + }, + "settings-fidelity": { + "tolerances": { + "pageDimensionMm": 0.5, + "positionMm": 2, + "fontPt": 0.5, + "rgbComponent": 0.00392156862745098, + "pageCountAndMembership": "exact" + }, + "browserVersion": "151.0.7922.34", + "passed": 8, + "total": 8, + "fixtures": [ + { + "fixture": "dark-en-before", + "pass": true, + "failures": [], + "previewPages": 3, + "pdfPages": 3, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+ArialMT" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.23840431700673748, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.2504673297077049, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3210852416595337, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.14745132672896594, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.23840073410742219, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.35795032910002217, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B04", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.16398491874284704, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B05", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.25493432612130323, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B06", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.34588373349979956, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.20085000618331542, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.27139554296154667, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.362344950340043, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.18871103540947523, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.3082606304020953, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B10", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3788785423539241, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B11", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.2052446274233162, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B12", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.29619403480181256, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E05", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.1511603074853484, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B13", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.22177821943729756, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B14", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.31272762681571364, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B15", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.40367703419420997, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E08", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.3040455857840849, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "\u00c5se Fixture\nVerified career information\nOslo, Norge\nProfessional Summary\nR01 Verified source content \u2014 \u00e6\u00f8\u00e5.\nProfessional Experience\nE01 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB01 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB02 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB03 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nE02 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB04 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB05 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB06 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nE03 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS", + "glyphBoundsPt": [ + 45.35156061035156, + 47.08593547808607, + 548.8080345354361, + 785.118578085681 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "B07 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB08 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB09 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nE04 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB10 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB11 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB12 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nE05 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB13 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB14 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB15 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and", + "glyphBoundsPt": [ + 45.35156061035156, + 46.871108920993265, + 548.8080345354361, + 776.8685784294308 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "accessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nEducation\nE08 Computer science\nFixture University\nSkills\nReact \u00b7 C# \u00b7 Norsk", + "glyphBoundsPt": [ + 45.35156061035156, + 46.87110892099349, + 518.2346868343255, + 204.61860227318095 + ] + } + ] + }, + { + "fixture": "dark-en-after", + "pass": true, + "failures": [], + "previewPages": 3, + "pdfPages": 3, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+Georgia", + "CAAAAA+Georgia-Bold" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.49798503167190705, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.7379358042142248, + "fontDeltaPt": 5.000000555810402e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.4773129374011001, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.4649093148316438, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.45250569226220766, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.7337971365927197, + "fontDeltaPt": 4.999999987376214e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B04", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.4731742697795349, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B05", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.46077064721013883, + "fontDeltaPt": 0.005025608125002634, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B06", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.3615604300226399, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E03", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.6428518743531519, + "fontDeltaPt": 5.000000555810402e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.38222900753996714, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.369825384970551, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.3574217624011549, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.638713206731647, + "fontDeltaPt": 4.999999987376214e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B10", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.37809033991850227, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B11", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.36568671734902597, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B12", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.3739633249878235, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E05", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.6552547693183356, + "fontDeltaPt": 5.000000555810402e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B13", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.394631902505231, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B14", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.38222827993577474, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B15", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.36982465736629844, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E08", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.6097744597697798, + "fontDeltaPt": 4.999999987376214e-07, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "\u00c5se Fixture\nVerified career information\nOslo, Norge\nProfessional Summary\nR01 Verified source content \u2014 \u00e6\u00f8\u00e5.\nProfessional Experience\nE01 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB01 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nB02 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nB03 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nE02 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB04 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nB05 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.", + "glyphBoundsPt": [ + 62.35546615185547, + 64.33593475933606, + 546.5102261320598, + 727.6604945365257 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nB06 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nE03 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB07 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nB08 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nB09 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nE04 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB10 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nB11 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.", + "glyphBoundsPt": [ + 62.35546615185547, + 65.66552226965075, + 546.8538235427432, + 712.6604951615257 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "B12 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nE05 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB13 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nB14 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nB15 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nEducation\nE08 Computer science\nFixture University\nSkills\nReact \u00b7 C# \u00b7 Norsk", + "glyphBoundsPt": [ + 62.35546615185547, + 65.66552226965052, + 544.4862240913932, + 600.9104998177756 + ] + } + ] + }, + { + "fixture": "dark-nb-before", + "pass": true, + "failures": [], + "previewPages": 3, + "pdfPages": 3, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+ArialMT" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.23840431700673748, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.2504673297077049, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3210852416595337, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.14745132672896594, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.23840073410742219, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.35795032910002217, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B04", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.16398491874284704, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B05", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.25493432612130323, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B06", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.34588373349979956, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.20085000618331542, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.27139554296154667, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.362344950340043, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.18871103540947523, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.3082606304020953, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B10", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3788785423539241, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B11", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.2052446274233162, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B12", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.29619403480181256, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E05", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.1511603074853484, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B13", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.22177821943729756, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B14", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.31272762681571364, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B15", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.40367703419420997, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E08", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.3040455857840849, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "\u00c5se Fixture\nVerified career information\nOslo, Norge\nProfil\nR01 Verified source content \u2014 \u00e6\u00f8\u00e5.\nArbeidserfaring\nE01 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB01 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB02 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB03 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nE02 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB04 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB05 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB06 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nE03 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS", + "glyphBoundsPt": [ + 45.35156061035156, + 47.08593547808607, + 537.1263635971724, + 785.118578085681 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "B07 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB08 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB09 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nE04 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB10 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB11 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB12 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nE05 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB13 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB14 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB15 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og", + "glyphBoundsPt": [ + 45.35156061035156, + 46.871108920993265, + 537.1263635971724, + 776.8685784294308 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nUtdanning\nE08 Computer science\nFixture University\nFerdigheter\nReact \u00b7 C# \u00b7 Norsk", + "glyphBoundsPt": [ + 45.35156061035156, + 46.87110892099349, + 501.0123822019216, + 204.61860227318095 + ] + } + ] + }, + { + "fixture": "dark-nb-after", + "pass": true, + "failures": [], + "previewPages": 3, + "pdfPages": 3, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+Georgia", + "CAAAAA+Georgia-Bold" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.49798503167190705, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.7379358042142248, + "fontDeltaPt": 5.000000555810402e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.4773129374011001, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.4649093148316438, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.45250569226220766, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.7337971365927197, + "fontDeltaPt": 4.999999987376214e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B04", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.4731742697795349, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B05", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.46077064721013883, + "fontDeltaPt": 0.005025608125002634, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B06", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.3615604300226399, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E03", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.6428518743531519, + "fontDeltaPt": 5.000000555810402e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.38222900753996714, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.369825384970551, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.3574217624011549, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.638713206731647, + "fontDeltaPt": 4.999999987376214e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B10", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.37809033991850227, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B11", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.36568671734902597, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B12", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.3739633249878235, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E05", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.6552547693183356, + "fontDeltaPt": 5.000000555810402e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B13", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.394631902505231, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B14", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.38222827993577474, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B15", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.36982465736629844, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E08", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.6097744597697798, + "fontDeltaPt": 4.999999987376214e-07, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "\u00c5se Fixture\nVerified career information\nOslo, Norge\nProfil\nR01 Verified source content \u2014 \u00e6\u00f8\u00e5.\nArbeidserfaring\nE01 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB01 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nB02 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nB03 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nE02 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB04 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nB05 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.", + "glyphBoundsPt": [ + 62.35546615185547, + 64.33593475933606, + 530.6458316930759, + 727.6604945365257 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nB06 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nE03 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB07 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nB08 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nB09 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nE04 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB10 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nB11 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.", + "glyphBoundsPt": [ + 62.35546615185547, + 65.66552226965075, + 530.9894291037593, + 712.6604951615257 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "B12 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nE05 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB13 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nB14 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nB15 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nUtdanning\nE08 Computer science\nFixture University\nFerdigheter\nReact \u00b7 C# \u00b7 Norsk", + "glyphBoundsPt": [ + 62.35546615185547, + 65.66552226965052, + 528.6218296524094, + 600.9104998177756 + ] + } + ] + }, + { + "fixture": "light-en-before", + "pass": true, + "failures": [], + "previewPages": 3, + "pdfPages": 3, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+ArialMT" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.23840431700673748, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.2504673297077049, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3210852416595337, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.14745132672896594, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.23840073410742219, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.35795032910002217, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B04", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.16398491874284704, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B05", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.25493432612130323, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B06", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.34588373349979956, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.20085000618331542, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.27139554296154667, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.362344950340043, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.18871103540947523, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.3082606304020953, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B10", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3788785423539241, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B11", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.2052446274233162, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B12", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.29619403480181256, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E05", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.1511603074853484, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B13", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.22177821943729756, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B14", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.31272762681571364, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B15", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.40367703419420997, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E08", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.3040455857840849, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "\u00c5se Fixture\nVerified career information\nOslo, Norge\nProfessional Summary\nR01 Verified source content \u2014 \u00e6\u00f8\u00e5.\nProfessional Experience\nE01 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB01 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB02 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB03 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nE02 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB04 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB05 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB06 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nE03 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS", + "glyphBoundsPt": [ + 45.35156061035156, + 47.08593547808607, + 548.8080345354361, + 785.118578085681 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "B07 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB08 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB09 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nE04 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB10 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB11 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB12 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nE05 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB13 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB14 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and\naccessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nB15 Documented reliable workflows and accessible navigation for people managing their careers. Documented\nreliable workflows and accessible navigation for people managing their careers. Documented reliable\nworkflows and accessible navigation for people managing their careers. Documented reliable workflows and", + "glyphBoundsPt": [ + 45.35156061035156, + 46.871108920993265, + 548.8080345354361, + 776.8685784294308 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "accessible navigation for people managing their careers. Documented reliable workflows and accessible\nnavigation for people managing their careers.\nEducation\nE08 Computer science\nFixture University\nSkills\nReact \u00b7 C# \u00b7 Norsk", + "glyphBoundsPt": [ + 45.35156061035156, + 46.87110892099349, + 518.2346868343255, + 204.61860227318095 + ] + } + ] + }, + { + "fixture": "light-en-after", + "pass": true, + "failures": [], + "previewPages": 3, + "pdfPages": 3, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+Georgia", + "CAAAAA+Georgia-Bold" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.49798503167190705, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.7379358042142248, + "fontDeltaPt": 5.000000555810402e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.4773129374011001, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.4649093148316438, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.45250569226220766, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.7337971365927197, + "fontDeltaPt": 4.999999987376214e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B04", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.4731742697795349, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B05", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.46077064721013883, + "fontDeltaPt": 0.005025608125002634, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B06", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.3615604300226399, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E03", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.6428518743531519, + "fontDeltaPt": 5.000000555810402e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.38222900753996714, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.369825384970551, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.3574217624011549, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.638713206731647, + "fontDeltaPt": 4.999999987376214e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B10", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.37809033991850227, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B11", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.36568671734902597, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B12", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.3739633249878235, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E05", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.6552547693183356, + "fontDeltaPt": 5.000000555810402e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B13", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.394631902505231, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B14", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.38222827993577474, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B15", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.36982465736629844, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E08", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.6097744597697798, + "fontDeltaPt": 4.999999987376214e-07, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "\u00c5se Fixture\nVerified career information\nOslo, Norge\nProfessional Summary\nR01 Verified source content \u2014 \u00e6\u00f8\u00e5.\nProfessional Experience\nE01 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB01 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nB02 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nB03 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nE02 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB04 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nB05 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.", + "glyphBoundsPt": [ + 62.35546615185547, + 64.33593475933606, + 546.5102261320598, + 727.6604945365257 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nB06 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nE03 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB07 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nB08 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nB09 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nE04 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB10 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nB11 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.", + "glyphBoundsPt": [ + 62.35546615185547, + 65.66552226965075, + 546.8538235427432, + 712.6604951615257 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "B12 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nE05 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB13 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nB14 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nB15 Documented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nDocumented reliable workflows and accessible navigation for people managing their careers.\nEducation\nE08 Computer science\nFixture University\nSkills\nReact \u00b7 C# \u00b7 Norsk", + "glyphBoundsPt": [ + 62.35546615185547, + 65.66552226965052, + 544.4862240913932, + 600.9104998177756 + ] + } + ] + }, + { + "fixture": "light-nb-before", + "pass": true, + "failures": [], + "previewPages": 3, + "pdfPages": 3, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+ArialMT" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.23840431700673748, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.2504673297077049, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3210852416595337, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.14745132672896594, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.23840073410742219, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.35795032910002217, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B04", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.16398491874284704, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B05", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.25493432612130323, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B06", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.34588373349979956, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.20085000618331542, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.27139554296154667, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.362344950340043, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.18871103540947523, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.3082606304020953, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B10", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.3788785423539241, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B11", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.2052446274233162, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B12", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.29619403480181256, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E05", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.1511603074853484, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B13", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.22177821943729756, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B14", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.31272762681571364, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B15", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 8.540391718665002e-07, + "deltaYmm": 0.40367703419420997, + "fontDeltaPt": 0.002475491562499599, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E08", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 6.666259766419102e-07, + "deltaYmm": 0.3040455857840849, + "fontDeltaPt": 0.00502560812510211, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "\u00c5se Fixture\nVerified career information\nOslo, Norge\nProfil\nR01 Verified source content \u2014 \u00e6\u00f8\u00e5.\nArbeidserfaring\nE01 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB01 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB02 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB03 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nE02 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB04 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB05 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB06 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nE03 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS", + "glyphBoundsPt": [ + 45.35156061035156, + 47.08593547808607, + 537.1263635971724, + 785.118578085681 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "B07 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB08 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB09 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nE04 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB10 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB11 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB12 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nE05 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB13 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB14 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og\ntilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nB15 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte\np\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige\narbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og", + "glyphBoundsPt": [ + 45.35156061035156, + 46.871108920993265, + 537.1263635971724, + 776.8685784294308 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 209.88865255555555, + 297.01065961111107 + ], + "text": "tilgjengelig navigasjon for norske arbeidss\u00f8kere. Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig\nnavigasjon for norske arbeidss\u00f8kere.\nUtdanning\nE08 Computer science\nFixture University\nFerdigheter\nReact \u00b7 C# \u00b7 Norsk", + "glyphBoundsPt": [ + 45.35156061035156, + 46.87110892099349, + 501.0123822019216, + 204.61860227318095 + ] + } + ] + }, + { + "fixture": "light-nb-after", + "pass": true, + "failures": [], + "previewPages": 3, + "pdfPages": 3, + "fontNames": [ + "AAAAAA+Arial-BoldMT", + "BAAAAA+Georgia", + "CAAAAA+Georgia-Bold" + ], + "comparisons": [ + { + "token": "R01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.49798503167190705, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.7379358042142248, + "fontDeltaPt": 5.000000555810402e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B01", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.4773129374011001, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.4649093148316438, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B03", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.45250569226220766, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E02", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.7337971365927197, + "fontDeltaPt": 4.999999987376214e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B04", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.4731742697795349, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B05", + "previewPage": 1, + "pdfPage": 1, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.46077064721013883, + "fontDeltaPt": 0.005025608125002634, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B06", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.3615604300226399, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E03", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.6428518743531519, + "fontDeltaPt": 5.000000555810402e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B07", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.38222900753996714, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B08", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.369825384970551, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B09", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.3574217624011549, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E04", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.638713206731647, + "fontDeltaPt": 4.999999987376214e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B10", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.37809033991850227, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B11", + "previewPage": 2, + "pdfPage": 2, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.36568671734902597, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B12", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.3739633249878235, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E05", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.6552547693183356, + "fontDeltaPt": 5.000000555810402e-07, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B13", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.394631902505231, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B14", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.38222827993577474, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "B15", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 1.1039808475190838e-06, + "deltaYmm": 0.36982465736629844, + "fontDeltaPt": 0.005025608124988423, + "colorDelta": 4.117647058823892e-05 + }, + { + "token": "E08", + "previewPage": 3, + "pdfPage": 3, + "deltaXmm": 9.165676548011308e-07, + "deltaYmm": 0.6097744597697798, + "fontDeltaPt": 4.999999987376214e-07, + "colorDelta": 4.117647058823892e-05 + } + ], + "pages": [ + { + "page": 1, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "\u00c5se Fixture\nVerified career information\nOslo, Norge\nProfil\nR01 Verified source content \u2014 \u00e6\u00f8\u00e5.\nArbeidserfaring\nE01 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB01 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nB02 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nB03 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nE02 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB04 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nB05 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.", + "glyphBoundsPt": [ + 62.35546615185547, + 64.33593475933606, + 530.6458316930759, + 727.6604945365257 + ] + }, + { + "page": 2, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nB06 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nE03 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB07 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nB08 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nB09 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nE04 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB10 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nB11 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.", + "glyphBoundsPt": [ + 62.35546615185547, + 65.66552226965075, + 530.9894291037593, + 712.6604951615257 + ] + }, + { + "page": 3, + "dimensionsMm": [ + 215.89999999999998, + 279.4 + ], + "text": "B12 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nE05 Plattformutvikler og dokumenterte integrasjoner\nNordlys Fixture AS\nB13 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nB14 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nB15 Dokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nDokumenterte p\u00e5litelige arbeidsflyter og tilgjengelig navigasjon for norske arbeidss\u00f8kere.\nUtdanning\nE08 Computer science\nFixture University\nFerdigheter\nReact \u00b7 C# \u00b7 Norsk", + "glyphBoundsPt": [ + 62.35546615185547, + 65.66552226965052, + 528.6218296524094, + 600.9104998177756 + ] + } + ] + } + ] + } + } +} diff --git a/docs/redesign/phase-7/p7-04/evidence/public-results.json b/docs/redesign/phase-7/p7-04/evidence/public-results.json new file mode 100644 index 0000000..ee655fe --- /dev/null +++ b/docs/redesign/phase-7/p7-04/evidence/public-results.json @@ -0,0 +1,4244 @@ +{ + "schemaVersion": 1, + "checkpoint": "P7-04", + "slice": "Public CV entry", + "recordedUtc": "2026-10-12T22:21:23.044586+00:00", + "acceptance": "IMPLEMENTED_SCOPE_CONDITIONAL_GO_STATIC_PASS_NORMAL_PUSH_PENDING", + "entryReceipt": { + "observedUtc": "2026-10-12T18:03:41.481787+00:00", + "branch": "codex/ui-redesign-phase4", + "head": "fcacae7384b4a38c2675e6527a33cc1d09f4b505", + "originDevelopment": "fcacae7384b4a38c2675e6527a33cc1d09f4b505", + "liveDevelopment": "fcacae7384b4a38c2675e6527a33cc1d09f4b505", + "main": "27657f31131cd95d42f0e1290853ec9c9b3959a4", + "originMain": "27657f31131cd95d42f0e1290853ec9c9b3959a4", + "liveMain": "27657f31131cd95d42f0e1290853ec9c9b3959a4", + "workingTreeClean": true, + "pendingPaths": [], + "commands": [ + { + "command": [ + "rtk", + "proxy", + "git", + "branch", + "--show-current" + ], + "exitCode": 0, + "stdout": "codex/ui-redesign-phase4\n", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + }, + { + "command": [ + "rtk", + "proxy", + "git", + "rev-parse", + "HEAD" + ], + "exitCode": 0, + "stdout": "fcacae7384b4a38c2675e6527a33cc1d09f4b505\n", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + }, + { + "command": [ + "rtk", + "proxy", + "git", + "rev-parse", + "origin/codex/ui-redesign-phase4" + ], + "exitCode": 0, + "stdout": "fcacae7384b4a38c2675e6527a33cc1d09f4b505\n", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + }, + { + "command": [ + "rtk", + "proxy", + "git", + "rev-parse", + "main" + ], + "exitCode": 0, + "stdout": "27657f31131cd95d42f0e1290853ec9c9b3959a4\n", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + }, + { + "command": [ + "rtk", + "proxy", + "git", + "rev-parse", + "origin/main" + ], + "exitCode": 0, + "stdout": "27657f31131cd95d42f0e1290853ec9c9b3959a4\n", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + }, + { + "command": [ + "rtk", + "proxy", + "git", + "ls-remote", + "origin", + "refs/heads/codex/ui-redesign-phase4", + "refs/heads/main" + ], + "exitCode": 0, + "stdout": "fcacae7384b4a38c2675e6527a33cc1d09f4b505\trefs/heads/codex/ui-redesign-phase4\n27657f31131cd95d42f0e1290853ec9c9b3959a4\trefs/heads/main\n", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + }, + { + "command": [ + "rtk", + "proxy", + "git", + "status", + "--porcelain=v1" + ], + "exitCode": 0, + "stdout": "", + "stderr": "[rtk] /!\\ No hook installed — run `rtk init -g` for automatic token savings\n" + } + ] + }, + "immutableFinalCapsule": { + "path": ".artifacts/phase7/p7-04/public/final/results.json", + "sha256": "01e9eb4176bb619ed768eab4e377ca6dd59abe3e1c697e96e6195c34d66188b5", + "bytes": 109895, + "hashPolicy": "Exact raw bytes" + }, + "immutableFinalFidelityCapsule": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/results.json", + "sha256": "c1a9569adc2ba1e4db26ca77dc57e15b7c72e1d046e94b07ea3899b18d55655c", + "bytes": 100729, + "hashPolicy": "Exact raw bytes" + }, + "corpusManifest": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/corpora/manifest.json", + "sha256": "56c6e6482c61dd1944d0026ed5dd72487a197d8a15d5067fbc463041b9e04488", + "bytes": 63847, + "hashPolicy": "Exact raw bytes" + }, + "verifiedFileReferences": 610, + "currentSourceMatchesFinalLfSnapshots": "All six production/unit/shared/config final snapshots match current; e2e spec differs only by the additional expected-width assertion and matches the current width capsule.", + "currentExportMatchesMeasuredFinal": true, + "units": [ + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/unit/p704-public-final-20261012-20261012T221038Z.json", + "sha256": "dead637a5cb4e1b51d71664e4b87df15f7f75ffc5f3b4252cb0c17fcf5ac1800", + "bytes": 16649, + "hashPolicy": "Exact measured raw bytes" + }, + "startedUnixMs": 1791843039289, + "passed": 38, + "failed": 0, + "pending": 0, + "total": 38, + "suites": 3, + "cases": [ + { + "name": "the CV library has a section heading and announces its held initial read without showing an empty result", + "status": "passed" + }, + { + "name": "a failed CV list read has an explicit retry that clears the stale failure after recovery", + "status": "passed" + }, + { + "name": "a live language change retains an open CV name and template draft without refetching library data", + "status": "passed" + }, + { + "name": "held CV creation locks the draft and gallery, then keeps a failed draft for an explicit retry", + "status": "passed" + }, + { + "name": "a locked CV template remains identifiable and cannot change the creation request", + "status": "passed" + }, + { + "name": "a held duplicate blocks another action for the same CV and shows the persisted refreshed copy", + "status": "passed" + }, + { + "name": "rename reads the current revision and preserves its settings when saving the new name", + "status": "passed" + }, + { + "name": "a rename conflict keeps the original library entry and never retries the write automatically", + "status": "passed" + }, + { + "name": "cancelling deletion returns focus to the surviving CV action control without removing the CV", + "status": "passed" + }, + { + "name": "a failed creation keeps its draft and translates its failure after closing and reopening in another language", + "status": "passed" + }, + { + "name": "generic PDF failure follows the current language both after failure and when a held request fails", + "status": "passed" + }, + { + "name": "a held deletion preserves focus moved to another surviving control before the response arrives", + "status": "passed" + }, + { + "name": "PDF status 503 shows an actionable message without retrying", + "status": "passed" + }, + { + "name": "PDF status 504 shows an actionable message without retrying", + "status": "passed" + }, + { + "name": "lists existing CVs from the variants API", + "status": "passed" + }, + { + "name": "shows the empty state and creates a CV then navigates to the editor", + "status": "passed" + }, + { + "name": "CV dashboard and create flow render in Bokmål", + "status": "passed" + }, + { + "name": "CV deletion requires confirmation and supports cancellation", + "status": "passed" + }, + { + "name": "[PRES-C08 C09 E08] common controls and advanced disclosure do not mutate document settings", + "status": "passed" + }, + { + "name": "[PRES-C09 C10] numeric edits reject invalid ranges, keep exact valid values and reset only one setting", + "status": "passed" + }, + { + "name": "[PRES-C07 C08 C09] capability filtering preserves dormant saved values and exposes inherited sidebar controls", + "status": "passed" + }, + { + "name": "[PRES-C08 C10 E09] locks prevent selection and confirmed template resets preserve content and document metadata", + "status": "passed" + }, + { + "name": "[PRES-C08 C09 E08] Bokmål controls expose their scope, values and non-colour selection state", + "status": "passed" + }, + { + "name": "[PRES-C08 C09] unsupported and legacy saved values survive unrelated edits without implicit normalization", + "status": "passed" + }, + { + "name": "public CV exposes the rendered CV and PDF download", + "status": "passed" + }, + { + "name": "a public slug containing path and URL delimiters stays one encoded API and PDF path segment", + "status": "passed" + }, + { + "name": "a held public CV read has a named page and loading announcement without a document or download", + "status": "passed" + }, + { + "name": "a revoked or missing public slug shows an unavailable state without retry or download", + "status": "passed" + }, + { + "name": "a transient failure retries only when requested and keeps focus on the page heading during its held read", + "status": "passed" + }, + { + "name": "changing public slugs immediately hides the previous document, name and PDF and resets its measured height", + "status": "passed" + }, + { + "name": "a failed public slug cannot hide a subsequently loaded different public CV", + "status": "passed" + }, + { + "name": "a late success from the previous slug cannot replace the current CV or its title", + "status": "passed" + }, + { + "name": "a late failure from the previous slug cannot replace the current CV or its title", + "status": "passed" + }, + { + "name": "language changes translate loading, failure and loaded chrome without refetching anonymous CV content", + "status": "passed" + }, + { + "name": "the public page removes only its own noindex metadata and ignores a response after unmount", + "status": "passed" + }, + { + "name": "leaving a loaded public CV restores the prior page title when its candidate title is still current", + "status": "passed" + }, + { + "name": "leaving a loaded public CV preserves a page title already replaced by another owner", + "status": "passed" + }, + { + "name": "returning from A through B to A ignores both earlier held reads until the current A response arrives", + "status": "passed" + } + ], + "commandRaw": { + "path": ".artifacts/phase7/p7-04/public/final/unit/p704-public-final-20261012-20261012T221038Z-command.json", + "sha256": "e980385f3b3b5d113d70f2c7d158cddf5c933ccc1dc6ccd9a398d29f5665231a", + "bytes": 727, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-04/public/final/unit/p704-public-final-20261012-20261012T221038Z.log", + "sha256": "80d63d9604c06b319402e54b5c526303d1cba4bbce70c5e3aa616928304fd80e", + "bytes": 727, + "hashPolicy": "Exact measured raw bytes" + }, + "qualification": "Raw executed outcome; source bytes are not inferred retroactively. Passing subset is not slice acceptance." + } + ], + "unitHistory": [ + { + "name": "p704-public-candidate-20261012-20261012T180842Z", + "passed": 34, + "failed": 0, + "total": 34, + "raw": [ + { + "path": ".artifacts/phase7/p7-04/public/unit-history/p704-public-candidate-20261012-20261012T180842Z.json", + "sha256": "824b19db49da5d89afc75c3aacc9c8f1824624048664ea91a8b51026d8aad64c", + "bytes": 14975, + "hashPolicy": "Exact raw bytes" + }, + { + "path": ".artifacts/phase7/p7-04/public/unit-history/p704-public-candidate-20261012-20261012T180842Z.log", + "sha256": "40314dc259a229c2a8ef866860b64db7e591805716749c96e4802aa81d26f070", + "bytes": 735, + "hashPolicy": "Exact raw bytes" + }, + { + "path": ".artifacts/phase7/p7-04/public/unit-history/p704-public-candidate-20261012-20261012T180842Z-command.json", + "sha256": "7b84e450240f9cd039a5c7508867df3816f0ef17484f03ede94cd3dc9f338b46", + "bytes": 731, + "hashPolicy": "Exact raw bytes" + } + ] + }, + { + "name": "p704-public-encoded-segment-20261012-20261012T181627Z", + "passed": 11, + "failed": 0, + "total": 11, + "raw": [ + { + "path": ".artifacts/phase7/p7-04/public/unit-history/p704-public-encoded-segment-20261012-20261012T181627Z.json", + "sha256": "d944120cd2a3407a0c1644f2df0db1471d4f7d5a023033f60c445b09cade5ca7", + "bytes": 5237, + "hashPolicy": "Exact raw bytes" + }, + { + "path": ".artifacts/phase7/p7-04/public/unit-history/p704-public-encoded-segment-20261012-20261012T181627Z.log", + "sha256": "2150bb4808d9abcee800731a4e2dc2d70e2f7e54b5b8d7e076be6eb3d0cf3b91", + "bytes": 3789, + "hashPolicy": "Exact raw bytes" + }, + { + "path": ".artifacts/phase7/p7-04/public/unit-history/p704-public-encoded-segment-20261012-20261012T181627Z-command.json", + "sha256": "a5c958b9b7da9389e82c3029e132ec88bf4811b436919a8cfa601277e7da26fd", + "bytes": 658, + "hashPolicy": "Exact raw bytes" + } + ] + }, + { + "name": "p704-public-final-20261012-20261012T221038Z", + "passed": 38, + "failed": 0, + "total": 38, + "raw": [ + { + "path": ".artifacts/phase7/p7-04/public/unit-history/p704-public-final-20261012-20261012T221038Z.json", + "sha256": "dead637a5cb4e1b51d71664e4b87df15f7f75ffc5f3b4252cb0c17fcf5ac1800", + "bytes": 16649, + "hashPolicy": "Exact raw bytes" + }, + { + "path": ".artifacts/phase7/p7-04/public/unit-history/p704-public-final-20261012-20261012T221038Z.log", + "sha256": "80d63d9604c06b319402e54b5c526303d1cba4bbce70c5e3aa616928304fd80e", + "bytes": 727, + "hashPolicy": "Exact raw bytes" + }, + { + "path": ".artifacts/phase7/p7-04/public/unit-history/p704-public-final-20261012-20261012T221038Z-command.json", + "sha256": "e980385f3b3b5d113d70f2c7d158cddf5c933ccc1dc6ccd9a398d29f5665231a", + "bytes": 727, + "hashPolicy": "Exact raw bytes" + } + ] + }, + { + "name": "p704-public-red-20261012-20261012T180655Z", + "passed": 4, + "failed": 6, + "total": 10, + "raw": [ + { + "path": ".artifacts/phase7/p7-04/public/unit-history/p704-public-red-20261012-20261012T180655Z.json", + "sha256": "430a4d56b7c863e59b631c793ee1544a430453efcbdbc737ef091d72e5d75412", + "bytes": 32081, + "hashPolicy": "Exact raw bytes" + }, + { + "path": ".artifacts/phase7/p7-04/public/unit-history/p704-public-red-20261012-20261012T180655Z.log", + "sha256": "a0f2f2fc27220a9175442a9f7dd3d138d7cd597f384c0c99f1f46e0abdb0d7ce", + "bytes": 10823, + "hashPolicy": "Exact raw bytes" + }, + { + "path": ".artifacts/phase7/p7-04/public/unit-history/p704-public-red-20261012-20261012T180655Z-command.json", + "sha256": "1b092f4070c1ac430672d7808139bcea43fbde51ff47e4e3581d465a532dbd0d", + "bytes": 645, + "hashPolicy": "Exact raw bytes" + } + ] + }, + { + "name": "p704-public-title-green-20261012-20261012T220928Z", + "passed": 38, + "failed": 0, + "total": 38, + "raw": [ + { + "path": ".artifacts/phase7/p7-04/public/unit-history/p704-public-title-green-20261012-20261012T220928Z.json", + "sha256": "b349ce79189cae82b17c8fadf9122f92c1c22af9f884ba45f62ccdea668db96c", + "bytes": 16650, + "hashPolicy": "Exact raw bytes" + }, + { + "path": ".artifacts/phase7/p7-04/public/unit-history/p704-public-title-green-20261012-20261012T220928Z.log", + "sha256": "bf98fe7b452742149683d076c2e5413d91ebf3ca89e5c6e0b9c8c5889268263d", + "bytes": 722, + "hashPolicy": "Exact raw bytes" + }, + { + "path": ".artifacts/phase7/p7-04/public/unit-history/p704-public-title-green-20261012-20261012T220928Z-command.json", + "sha256": "7e73cb51ea9c3b4154baf48ca33c22ec3c84e4684c62ca3aefac2aef7fcde6db", + "bytes": 733, + "hashPolicy": "Exact raw bytes" + } + ] + }, + { + "name": "p704-public-title-loop-red-20261012-20261012T181759Z", + "passed": 13, + "failed": 1, + "total": 14, + "raw": [ + { + "path": ".artifacts/phase7/p7-04/public/unit-history/p704-public-title-loop-red-20261012-20261012T181759Z.json", + "sha256": "5c1974da9d3a33f3a48d72bec0426f9d1d3be7683928d208cce1c063e5e643ca", + "bytes": 7892, + "hashPolicy": "Exact raw bytes" + }, + { + "path": ".artifacts/phase7/p7-04/public/unit-history/p704-public-title-loop-red-20261012-20261012T181759Z.log", + "sha256": "2c5e317811b74c3b5dae3e950a1ab2f1e5c71b28c3ca832d1aa3451d3648e541", + "bytes": 4518, + "hashPolicy": "Exact raw bytes" + }, + { + "path": ".artifacts/phase7/p7-04/public/unit-history/p704-public-title-loop-red-20261012-20261012T181759Z-command.json", + "sha256": "5b08eedd73fb0be7c6c24e84099eac17215221cec0dbb4cb79139fa361692625", + "bytes": 657, + "hashPolicy": "Exact raw bytes" + } + ] + } + ], + "native": { + "public-cv": { + "command": { + "name": "public-cv", + "command": [ + "rtk", + "proxy", + "node", + "node_modules/@playwright/test/cli.js", + "test", + "e2e/phase7-public-cv.spec.ts", + "--retries=0", + "--reporter=list,json", + "--output=E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\ui\\public-cv-results" + ], + "startedUtc": "2026-10-12T22:11:47.726231+00:00", + "finishedUtc": "2026-10-12T22:13:20.062760+00:00", + "exitCode": 0, + "stats": { + "startTime": "2026-10-12T22:11:48.276Z", + "duration": 91746.00600000001, + "expected": 8, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + } + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv-command.json", + "sha256": "653c371b1e07d2a44e3c7e50c1fa7cabdeae719c91d94b6a7950f391ae6e5504", + "bytes": 649, + "hashPolicy": "Exact measured raw bytes" + }, + "reportRaw": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.log", + "sha256": "3d3441acbca62ddb69aeed030e113c5d517bcd29c6a6f0d3060b53b6cfd3e84f", + "bytes": 1919, + "hashPolicy": "Exact measured raw bytes" + }, + "stats": { + "startTime": "2026-10-12T22:11:48.276Z", + "duration": 91746.00600000001, + "expected": 8, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "cases": [ + { + "title": "[P7-04 PRES-C05 C07 C12 A02] anonymous shared CV keeps sandbox noindex private denial and actual keyboard PDF download", + "file": "phase7-public-cv.spec.ts", + "line": 178, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 31576 + }, + { + "title": "[P7-04 PRES-C05 C12] owner revocation removes anonymous view and PDF; republishing rotates the revoked link", + "file": "phase7-public-cv.spec.ts", + "line": 219, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 2192 + }, + { + "title": "[P7-04 PRES-C12 E08] transient error retries by keyboard with held real read polite progress and stable H1 focus", + "file": "phase7-public-cv.spec.ts", + "line": 243, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 30746 + }, + { + "title": "[P7-04 PRES-C12 E08] initial held anonymous read announces loading without a document or download", + "file": "phase7-public-cv.spec.ts", + "line": 280, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 1322 + }, + { + "title": "[P7-04 PRES-C12 E08] unknown and numeric slugs use localized unavailable states without Retry or PDF controls", + "file": "phase7-public-cv.spec.ts", + "line": 302, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 2075 + }, + { + "title": "[P7-04 PRES-C12] same-document slug change removes prior HTML title and download before the next actual response", + "file": "phase7-public-cv.spec.ts", + "line": 324, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 1591 + }, + { + "title": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "file": "phase7-public-cv.spec.ts", + "line": 358, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 10601 + }, + { + "title": "[P7-04 PRES-C12 C07] long public CV height remains reachable without shrinking A4 geometry or mutating source", + "file": "phase7-public-cv.spec.ts", + "line": 385, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 3283 + } + ], + "reportErrors": [], + "configuration": { + "version": "1.62.1", + "workers": 1, + "projects": [ + { + "name": "chromium", + "retries": 0 + } + ] + }, + "audit": { + "scans": [ + { + "test": "[P7-04 PRES-C05 C07 C12 A02] anonymous shared CV keeps sandbox noindex private denial and actual keyboard PDF download", + "attachment": "p7-public-cv-en-light-1440-anonymous-download-audit", + "geometry": { + "width": 1440, + "height": 900, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/002-p7-public-cv-en-light-1440-anonymous-download-audit.json", + "sha256": "161b822f7d82ca63cf1689438558ff76ccb4c4a31c3329c89efc7274b4ca3cf2", + "bytes": 3411, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "en", + "theme": "light", + "width": 1440, + "height": 900 + }, + "state": "anonymous-download", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 1123, + "renderedWidth": 793.6875, + "renderedHeight": 1123, + "left": 323.15625, + "right": 1116.84375, + "scale": 1, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 793.6875, + "wrapperHeight": 1123, + "wrapperLeft": 323.15625, + "wrapperRight": 1116.84375, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 1123, + "documentScrollHeight": 1123, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + }, + { + "test": "[P7-04 PRES-C05 C12] owner revocation removes anonymous view and PDF; republishing rotates the revoked link", + "attachment": "p7-public-cv-nb-dark-390-revoked-audit", + "geometry": { + "width": 390, + "height": 844, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 0, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/005-p7-public-cv-nb-dark-390-revoked-audit.json", + "sha256": "929f19b8587a10ed68b4c74cd51d01e072fd6afda11cb65333229138054b8848", + "bytes": 2154, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 390, + "height": 844 + }, + "state": "revoked", + "documentMetrics": null, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [] + }, + { + "test": "[P7-04 PRES-C12 E08] transient error retries by keyboard with held real read polite progress and stable H1 focus", + "attachment": "p7-public-cv-nb-dark-390-transient-failure-audit", + "geometry": { + "width": 390, + "height": 844, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 0, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/008-p7-public-cv-nb-dark-390-transient-failure-audit.json", + "sha256": "0d70f4f9fcdb666a8fc13860c1d3135c8e4bf27d92401976fd20a3d4be301391", + "bytes": 2250, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 390, + "height": 844 + }, + "state": "transient-failure", + "documentMetrics": null, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [] + }, + { + "test": "[P7-04 PRES-C12 E08] transient error retries by keyboard with held real read polite progress and stable H1 focus", + "attachment": "p7-public-cv-nb-dark-390-explicit-recovery-audit", + "geometry": { + "width": 390, + "height": 844, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/010-p7-public-cv-nb-dark-390-explicit-recovery-audit.json", + "sha256": "1d0dd36e8f5f11a95a0adddeafba7414ac50503602db96fea13d620a29b93383", + "bytes": 3434, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 390, + "height": 844 + }, + "state": "explicit-recovery", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 1123, + "renderedWidth": 357.9940185546875, + "renderedHeight": 506.53094482421875, + "left": 16, + "right": 373.9940185546875, + "scale": 0.451052, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 358, + "wrapperHeight": 506.515625, + "wrapperLeft": 16, + "wrapperRight": 374, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 1123, + "documentScrollHeight": 1123, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + }, + { + "test": "[P7-04 PRES-C12 E08] initial held anonymous read announces loading without a document or download", + "attachment": "p7-public-cv-en-dark-360-initial-held-read-audit", + "geometry": { + "width": 360, + "height": 844, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 0, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/013-p7-public-cv-en-dark-360-initial-held-read-audit.json", + "sha256": "3bee2008e8b425947577ce55134d87d00a5a98bb04ecea0a3147dea0914d0672", + "bytes": 2087, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "en", + "theme": "dark", + "width": 360, + "height": 844 + }, + "state": "initial-held-read", + "documentMetrics": null, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [] + }, + { + "test": "[P7-04 PRES-C12 E08] unknown and numeric slugs use localized unavailable states without Retry or PDF controls", + "attachment": "p7-public-cv-en-light-320-unavailable-audit", + "geometry": { + "width": 320, + "height": 844, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 0, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/015-p7-public-cv-en-light-320-unavailable-audit.json", + "sha256": "274ad13dd62491bb98c7b950681614f3f4b2897648c7a1a4a68117fca9bd97d9", + "bytes": 2131, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "en", + "theme": "light", + "width": 320, + "height": 844 + }, + "state": "unavailable", + "documentMetrics": null, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [] + }, + { + "test": "[P7-04 PRES-C12 E08] unknown and numeric slugs use localized unavailable states without Retry or PDF controls", + "attachment": "p7-public-cv-nb-dark-390-unavailable-audit", + "geometry": { + "width": 390, + "height": 844, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 0, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/017-p7-public-cv-nb-dark-390-unavailable-audit.json", + "sha256": "85d8fe0a89e59fbcd5b8cc3647acb370034ab33105d85cb75ddbeaadc883650f", + "bytes": 2158, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 390, + "height": 844 + }, + "state": "unavailable", + "documentMetrics": null, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [] + }, + { + "test": "[P7-04 PRES-C12] same-document slug change removes prior HTML title and download before the next actual response", + "attachment": "p7-public-cv-en-light-1440-changed-slug-held-audit", + "geometry": { + "width": 1440, + "height": 900, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 0, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/019-p7-public-cv-en-light-1440-changed-slug-held-audit.json", + "sha256": "7b799d4127d4b79df067a4b5e45f990f24cc44532fe5c6c4ca95e372842b1f6c", + "bytes": 2150, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "en", + "theme": "light", + "width": 1440, + "height": 900 + }, + "state": "changed-slug-held", + "documentMetrics": null, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [] + }, + { + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "attachment": "p7-public-cv-nb-light-320-loaded-audit", + "geometry": { + "width": 320, + "height": 844, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/022-p7-public-cv-nb-light-320-loaded-audit.json", + "sha256": "701e6364b7a232e27297c6c3a976b1877a70fc5fa2a99c362c26f4f4088db75f", + "bytes": 3424, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "nb", + "theme": "light", + "width": 320, + "height": 844 + }, + "state": "loaded", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 1123, + "renderedWidth": 287.99517822265625, + "renderedHeight": 407.488525390625, + "left": 16, + "right": 303.99517822265625, + "scale": 0.362857, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 288, + "wrapperHeight": 407.484375, + "wrapperLeft": 16, + "wrapperRight": 304, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 1123, + "documentScrollHeight": 1123, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + }, + { + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "attachment": "p7-public-cv-en-dark-360-loaded-audit", + "geometry": { + "width": 360, + "height": 844, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/024-p7-public-cv-en-dark-360-loaded-audit.json", + "sha256": "1355a530d39c3cd3cfdfab75844893f83cb3988e5e48f939bf777e90b6610df4", + "bytes": 3411, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "en", + "theme": "dark", + "width": 360, + "height": 844 + }, + "state": "loaded", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 1123, + "renderedWidth": 327.9945068359375, + "renderedHeight": 464.084228515625, + "left": 16, + "right": 343.9945068359375, + "scale": 0.413254, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 328, + "wrapperHeight": 464.078125, + "wrapperLeft": 16, + "wrapperRight": 344, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 1123, + "documentScrollHeight": 1123, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + }, + { + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "attachment": "p7-public-cv-nb-dark-390-loaded-audit", + "geometry": { + "width": 390, + "height": 844, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/026-p7-public-cv-nb-dark-390-loaded-audit.json", + "sha256": "b033758fe15773d725559927f9a4b3ba76bf9edcdf1454048ac2e04546031b3b", + "bytes": 3423, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 390, + "height": 844 + }, + "state": "loaded", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 1123, + "renderedWidth": 357.9940185546875, + "renderedHeight": 506.53094482421875, + "left": 16, + "right": 373.9940185546875, + "scale": 0.451052, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 358, + "wrapperHeight": 506.515625, + "wrapperLeft": 16, + "wrapperRight": 374, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 1123, + "documentScrollHeight": 1123, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + }, + { + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "attachment": "p7-public-cv-en-light-768-loaded-audit", + "geometry": { + "width": 768, + "height": 1024, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/028-p7-public-cv-en-light-768-loaded-audit.json", + "sha256": "bf340839c03782b13323bf5e56814c9812b2e1139903235c731264098991d97c", + "bytes": 3417, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "en", + "theme": "light", + "width": 768, + "height": 1024 + }, + "state": "loaded", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 1123, + "renderedWidth": 735.9876708984375, + "renderedHeight": 1041.3597412109375, + "left": 16, + "right": 751.9876708984375, + "scale": 0.927302, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 736, + "wrapperHeight": 1041.359375, + "wrapperLeft": 16, + "wrapperRight": 752, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 1123, + "documentScrollHeight": 1123, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + }, + { + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "attachment": "p7-public-cv-nb-light-1024-loaded-audit", + "geometry": { + "width": 1024, + "height": 768, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/030-p7-public-cv-nb-light-1024-loaded-audit.json", + "sha256": "1559f2212678be47cb07d32d092dd13bb81595b49a1f937bde33142805138711", + "bytes": 3407, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "nb", + "theme": "light", + "width": 1024, + "height": 768 + }, + "state": "loaded", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 1123, + "renderedWidth": 793.6875, + "renderedHeight": 1123, + "left": 115.15625, + "right": 908.84375, + "scale": 1, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 793.6875, + "wrapperHeight": 1123, + "wrapperLeft": 115.15625, + "wrapperRight": 908.84375, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 1123, + "documentScrollHeight": 1123, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + }, + { + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "attachment": "p7-public-cv-en-dark-1280-loaded-audit", + "geometry": { + "width": 1280, + "height": 320, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/032-p7-public-cv-en-dark-1280-loaded-audit.json", + "sha256": "d072e4ad564b8f7f6573411066d9aaf834bd390349114d29752fb25e7f85614c", + "bytes": 3398, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "en", + "theme": "dark", + "width": 1280, + "height": 320 + }, + "state": "loaded", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 1123, + "renderedWidth": 793.6875, + "renderedHeight": 1123, + "left": 243.15625, + "right": 1036.84375, + "scale": 1, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 793.6875, + "wrapperHeight": 1123, + "wrapperLeft": 243.15625, + "wrapperRight": 1036.84375, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 1123, + "documentScrollHeight": 1123, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + }, + { + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "attachment": "p7-public-cv-nb-dark-1440-loaded-audit", + "geometry": { + "width": 1440, + "height": 900, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/034-p7-public-cv-nb-dark-1440-loaded-audit.json", + "sha256": "52837482b9170b0d5d7c496200c88f8e4234fde7f140c4afa6ad219dfa1cf981", + "bytes": 3408, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 1440, + "height": 900 + }, + "state": "loaded", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 1123, + "renderedWidth": 793.6875, + "renderedHeight": 1123, + "left": 323.15625, + "right": 1116.84375, + "scale": 1, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 793.6875, + "wrapperHeight": 1123, + "wrapperLeft": 323.15625, + "wrapperRight": 1116.84375, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 1123, + "documentScrollHeight": 1123, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + }, + { + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "attachment": "p7-public-cv-en-light-1920-loaded-audit", + "geometry": { + "width": 1920, + "height": 1080, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/036-p7-public-cv-en-light-1920-loaded-audit.json", + "sha256": "d326722df34b3eb2a8914dd5ad307ee7882c9140bab38cc64b7cb964954ba28d", + "bytes": 3401, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "en", + "theme": "light", + "width": 1920, + "height": 1080 + }, + "state": "loaded", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 1123, + "renderedWidth": 793.6875, + "renderedHeight": 1123, + "left": 563.15625, + "right": 1356.84375, + "scale": 1, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 793.6875, + "wrapperHeight": 1123, + "wrapperLeft": 563.15625, + "wrapperRight": 1356.84375, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 1123, + "documentScrollHeight": 1123, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + }, + { + "test": "[P7-04 PRES-C12 C07] long public CV height remains reachable without shrinking A4 geometry or mutating source", + "attachment": "p7-public-cv-nb-dark-1440-long-document-audit", + "geometry": { + "width": 1440, + "height": 900, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/039-p7-public-cv-nb-dark-1440-long-document-audit.json", + "sha256": "32bdbb4f131aabb932d1413fc999ed78c5e3405dba814dcbc96ff1ddd80a1775", + "bytes": 3415, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 1440, + "height": 900 + }, + "state": "long-document", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 3440, + "renderedWidth": 793.6875, + "renderedHeight": 3440, + "left": 323.15625, + "right": 1116.84375, + "scale": 1, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 793.6875, + "wrapperHeight": 3440, + "wrapperLeft": 323.15625, + "wrapperRight": 1116.84375, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 3440, + "documentScrollHeight": 3440, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + }, + { + "test": "[P7-04 PRES-C12 C07] long public CV height remains reachable without shrinking A4 geometry or mutating source", + "attachment": "p7-public-cv-en-light-320-long-document-audit", + "geometry": { + "width": 320, + "height": 844, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/041-p7-public-cv-en-light-320-long-document-audit.json", + "sha256": "354e054f16b4d9acf1926499cdeef5fa69dbecce857ec6008ad4f8272bb9daad", + "bytes": 3419, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "en", + "theme": "light", + "width": 320, + "height": 844 + }, + "state": "long-document", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 3440, + "renderedWidth": 287.99517822265625, + "renderedHeight": 1248.228515625, + "left": 16, + "right": 303.99517822265625, + "scale": 0.362857, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 288, + "wrapperHeight": 1248.21875, + "wrapperLeft": 16, + "wrapperRight": 304, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 3440, + "documentScrollHeight": 3440, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 12, + "checkContexts": [ + { + "kind": "incomplete", + "rule": "frame-tested", + "check": "frame-tested", + "message": "The iframe still has to be tested with axe-core", + "occurrences": 12, + "representativeContexts": [ + { + "attachment": "p7-public-cv-en-light-1440-anonymous-download-audit", + "target": [ + "iframe" + ], + "data": null, + "relatedNodes": [] + }, + { + "attachment": "p7-public-cv-nb-dark-390-explicit-recovery-audit", + "target": [ + "iframe" + ], + "data": null, + "relatedNodes": [] + } + ] + } + ], + "qualification": "Every violation/incomplete category counted; complete node/check vectors remain exact raw report and extracted JSON. Parent contextual triage pending." + } + } + }, + "fidelityNative": { + "public-cv-fidelity": { + "command": { + "name": "public-cv-fidelity", + "command": [ + "rtk", + "proxy", + "node", + "node_modules/@playwright/test/cli.js", + "test", + "e2e/cv-readiness.spec.ts", + "--grep", + "fidelity corpus", + "--retries=0", + "--reporter=list,json", + "--output=E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\ui\\public-cv-fidelity-results" + ], + "startedUtc": "2026-10-12T22:13:20.073839+00:00", + "finishedUtc": "2026-10-12T22:14:16.048458+00:00", + "exitCode": 0, + "stats": { + "startTime": "2026-10-12T22:13:20.654Z", + "duration": 55360.479, + "expected": 1, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + } + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/public-cv-fidelity-command.json", + "sha256": "c418d76c0bfb011d25d396a9c2138da5214a5111a96019730e4caeb20d3e0721", + "bytes": 694, + "hashPolicy": "Exact measured raw bytes" + }, + "reportRaw": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/public-cv-fidelity.json", + "sha256": "7be2b084c0c4a71302e09ee42db5c73a1884508d71b4da6ca34ea2ae9638bbe5", + "bytes": 3947, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/public-cv-fidelity.log", + "sha256": "3126b0687671b5b2e394a0b926cb7f7269c293d07fc874f4ac9552c268bce58a", + "bytes": 647, + "hashPolicy": "Exact measured raw bytes" + }, + "stats": { + "startTime": "2026-10-12T22:13:20.654Z", + "duration": 55360.479, + "expected": 1, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "cases": [ + { + "title": "[PRES-C06 C08 C09 C12] native preview/PDF fidelity corpus records unchanged output at fixed settings", + "file": "cv-readiness.spec.ts", + "line": 40, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 48411 + } + ], + "reportErrors": [], + "configuration": { + "version": "1.62.1", + "workers": 1, + "projects": [ + { + "name": "chromium", + "retries": 0 + } + ] + }, + "audit": { + "scans": [], + "violationNodes": 0, + "incompleteNodes": 0, + "checkContexts": [], + "qualification": "Every violation/incomplete category counted; complete node/check vectors remain exact raw report and extracted JSON. Parent contextual triage pending." + } + }, + "public-cv-settings-fidelity": { + "command": { + "name": "public-cv-settings-fidelity", + "command": [ + "rtk", + "proxy", + "node", + "node_modules/@playwright/test/cli.js", + "test", + "e2e/cv-settings-presentation.spec.ts", + "--retries=0", + "--reporter=list,json", + "--output=E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\ui\\public-cv-settings-fidelity-results" + ], + "startedUtc": "2026-10-12T22:14:16.055038+00:00", + "finishedUtc": "2026-10-12T22:15:41.713094+00:00", + "exitCode": 0, + "stats": { + "startTime": "2026-10-12T22:14:16.615Z", + "duration": 85059.357, + "expected": 4, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + } + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/public-cv-settings-fidelity-command.json", + "sha256": "67d0051ef9aa4c7912ec68dadc1f5c401500b60679426499fa34de3014d453d2", + "bytes": 685, + "hashPolicy": "Exact measured raw bytes" + }, + "reportRaw": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/public-cv-settings-fidelity.json", + "sha256": "4393e6fc171c46245d4454e3d6c9fe7abf953ff4d51a3065b883cd6461c82bf2", + "bytes": 407527, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/public-cv-settings-fidelity.log", + "sha256": "521802c6a6abf00c9e9ec03179f7007b7a7f98afcce236901448f9d36de892c6", + "bytes": 1244, + "hashPolicy": "Exact measured raw bytes" + }, + "stats": { + "startTime": "2026-10-12T22:14:16.615Z", + "duration": 85059.357, + "expected": 4, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "cases": [ + { + "title": "[PRES-C06 C08 C09 C10 C12 E08 E09] light/en document controls preserve settings, source, history and native output", + "file": "cv-settings-presentation.spec.ts", + "line": 81, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 19682 + }, + { + "title": "[PRES-C06 C08 C09 C10 C12 E08 E09] dark/nb document controls preserve settings, source, history and native output", + "file": "cv-settings-presentation.spec.ts", + "line": 81, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 19734 + }, + { + "title": "[PRES-C06 C08 C09 C10 C12 E08 E09] light/nb document controls preserve settings, source, history and native output", + "file": "cv-settings-presentation.spec.ts", + "line": 81, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 18745 + }, + { + "title": "[PRES-C06 C08 C09 C10 C12 E08 E09] dark/en document controls preserve settings, source, history and native output", + "file": "cv-settings-presentation.spec.ts", + "line": 81, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 19618 + } + ], + "reportErrors": [], + "configuration": { + "version": "1.62.1", + "workers": 1, + "projects": [ + { + "name": "chromium", + "retries": 0 + } + ] + }, + "audit": { + "scans": [ + { + "test": "[PRES-C06 C08 C09 C10 C12 E08 E09] light/en document controls preserve settings, source, history and native output", + "attachment": "default-controls-axe", + "geometry": null, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 20, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/embedded/public-cv-settings-fidelity/002-default-controls-axe.json", + "sha256": "e4614b6db77ef8912e66dcfc74c3ec1beba8b8782eb3b0d0cf422217f99ee85e", + "bytes": 16395, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/public-cv-settings-fidelity.json", + "sha256": "4393e6fc171c46245d4454e3d6c9fe7abf953ff4d51a3065b883cd6461c82bf2", + "bytes": 407527, + "hashPolicy": "Exact measured raw bytes" + }, + "context": null, + "rules": [ + { + "kind": "incomplete", + "id": "aria-prohibited-attr", + "nodes": 2 + }, + { + "kind": "incomplete", + "id": "color-contrast", + "nodes": 18 + } + ] + }, + { + "test": "[PRES-C06 C08 C09 C10 C12 E08 E09] light/en document controls preserve settings, source, history and native output", + "attachment": "phone-advanced-axe", + "geometry": null, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 25, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/embedded/public-cv-settings-fidelity/004-phone-advanced-axe.json", + "sha256": "5ebf7342d9169e3fa340a7e04772e781f90ba891b7f4f4f4c1ee0599591b38ac", + "bytes": 20835, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/public-cv-settings-fidelity.json", + "sha256": "4393e6fc171c46245d4454e3d6c9fe7abf953ff4d51a3065b883cd6461c82bf2", + "bytes": 407527, + "hashPolicy": "Exact measured raw bytes" + }, + "context": null, + "rules": [ + { + "kind": "incomplete", + "id": "aria-prohibited-attr", + "nodes": 2 + }, + { + "kind": "incomplete", + "id": "color-contrast", + "nodes": 23 + } + ] + }, + { + "test": "[PRES-C06 C08 C09 C10 C12 E08 E09] light/en document controls preserve settings, source, history and native output", + "attachment": "templates-axe", + "geometry": null, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 14, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/embedded/public-cv-settings-fidelity/005-templates-axe.json", + "sha256": "dc11ff101a899ac13a3cec9ec59e249eba5c8eae45628a37e93f4191bda36507", + "bytes": 12279, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/public-cv-settings-fidelity.json", + "sha256": "4393e6fc171c46245d4454e3d6c9fe7abf953ff4d51a3065b883cd6461c82bf2", + "bytes": 407527, + "hashPolicy": "Exact measured raw bytes" + }, + "context": null, + "rules": [ + { + "kind": "incomplete", + "id": "aria-prohibited-attr", + "nodes": 2 + }, + { + "kind": "incomplete", + "id": "color-contrast", + "nodes": 12 + } + ] + }, + { + "test": "[PRES-C06 C08 C09 C10 C12 E08 E09] dark/nb document controls preserve settings, source, history and native output", + "attachment": "default-controls-axe", + "geometry": null, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 20, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/embedded/public-cv-settings-fidelity/007-default-controls-axe.json", + "sha256": "e974f883abbbf1b87d8944ddb7d14c7e10ad845906c71e0697ff92a3a94b8fb3", + "bytes": 16440, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/public-cv-settings-fidelity.json", + "sha256": "4393e6fc171c46245d4454e3d6c9fe7abf953ff4d51a3065b883cd6461c82bf2", + "bytes": 407527, + "hashPolicy": "Exact measured raw bytes" + }, + "context": null, + "rules": [ + { + "kind": "incomplete", + "id": "aria-prohibited-attr", + "nodes": 2 + }, + { + "kind": "incomplete", + "id": "color-contrast", + "nodes": 18 + } + ] + }, + { + "test": "[PRES-C06 C08 C09 C10 C12 E08 E09] dark/nb document controls preserve settings, source, history and native output", + "attachment": "phone-advanced-axe", + "geometry": null, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 25, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/embedded/public-cv-settings-fidelity/009-phone-advanced-axe.json", + "sha256": "536cd8c87a2f686407a652b4f96628f155c6ebc2f55b9e91091524d4965f89ab", + "bytes": 20850, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/public-cv-settings-fidelity.json", + "sha256": "4393e6fc171c46245d4454e3d6c9fe7abf953ff4d51a3065b883cd6461c82bf2", + "bytes": 407527, + "hashPolicy": "Exact measured raw bytes" + }, + "context": null, + "rules": [ + { + "kind": "incomplete", + "id": "aria-prohibited-attr", + "nodes": 2 + }, + { + "kind": "incomplete", + "id": "color-contrast", + "nodes": 23 + } + ] + }, + { + "test": "[PRES-C06 C08 C09 C10 C12 E08 E09] dark/nb document controls preserve settings, source, history and native output", + "attachment": "templates-axe", + "geometry": null, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 8, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/embedded/public-cv-settings-fidelity/010-templates-axe.json", + "sha256": "8e014eeb7e4dd13583e0a18851ac67d787ad336a616784238178bae732e28ce8", + "bytes": 6227, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/public-cv-settings-fidelity.json", + "sha256": "4393e6fc171c46245d4454e3d6c9fe7abf953ff4d51a3065b883cd6461c82bf2", + "bytes": 407527, + "hashPolicy": "Exact measured raw bytes" + }, + "context": null, + "rules": [ + { + "kind": "incomplete", + "id": "aria-prohibited-attr", + "nodes": 2 + }, + { + "kind": "incomplete", + "id": "color-contrast", + "nodes": 6 + } + ] + }, + { + "test": "[PRES-C06 C08 C09 C10 C12 E08 E09] light/nb document controls preserve settings, source, history and native output", + "attachment": "default-controls-axe", + "geometry": null, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 20, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/embedded/public-cv-settings-fidelity/012-default-controls-axe.json", + "sha256": "e974f883abbbf1b87d8944ddb7d14c7e10ad845906c71e0697ff92a3a94b8fb3", + "bytes": 16440, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/public-cv-settings-fidelity.json", + "sha256": "4393e6fc171c46245d4454e3d6c9fe7abf953ff4d51a3065b883cd6461c82bf2", + "bytes": 407527, + "hashPolicy": "Exact measured raw bytes" + }, + "context": null, + "rules": [ + { + "kind": "incomplete", + "id": "aria-prohibited-attr", + "nodes": 2 + }, + { + "kind": "incomplete", + "id": "color-contrast", + "nodes": 18 + } + ] + }, + { + "test": "[PRES-C06 C08 C09 C10 C12 E08 E09] light/nb document controls preserve settings, source, history and native output", + "attachment": "phone-advanced-axe", + "geometry": null, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 25, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/embedded/public-cv-settings-fidelity/014-phone-advanced-axe.json", + "sha256": "536cd8c87a2f686407a652b4f96628f155c6ebc2f55b9e91091524d4965f89ab", + "bytes": 20850, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/public-cv-settings-fidelity.json", + "sha256": "4393e6fc171c46245d4454e3d6c9fe7abf953ff4d51a3065b883cd6461c82bf2", + "bytes": 407527, + "hashPolicy": "Exact measured raw bytes" + }, + "context": null, + "rules": [ + { + "kind": "incomplete", + "id": "aria-prohibited-attr", + "nodes": 2 + }, + { + "kind": "incomplete", + "id": "color-contrast", + "nodes": 23 + } + ] + }, + { + "test": "[PRES-C06 C08 C09 C10 C12 E08 E09] light/nb document controls preserve settings, source, history and native output", + "attachment": "templates-axe", + "geometry": null, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 14, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/embedded/public-cv-settings-fidelity/015-templates-axe.json", + "sha256": "a01527dbc9405ae9d997495d4c27c1db1220eb9dcd885f0694f1096d73ae4d8b", + "bytes": 12393, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/public-cv-settings-fidelity.json", + "sha256": "4393e6fc171c46245d4454e3d6c9fe7abf953ff4d51a3065b883cd6461c82bf2", + "bytes": 407527, + "hashPolicy": "Exact measured raw bytes" + }, + "context": null, + "rules": [ + { + "kind": "incomplete", + "id": "aria-prohibited-attr", + "nodes": 2 + }, + { + "kind": "incomplete", + "id": "color-contrast", + "nodes": 12 + } + ] + }, + { + "test": "[PRES-C06 C08 C09 C10 C12 E08 E09] dark/en document controls preserve settings, source, history and native output", + "attachment": "default-controls-axe", + "geometry": null, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 20, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/embedded/public-cv-settings-fidelity/017-default-controls-axe.json", + "sha256": "e4614b6db77ef8912e66dcfc74c3ec1beba8b8782eb3b0d0cf422217f99ee85e", + "bytes": 16395, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/public-cv-settings-fidelity.json", + "sha256": "4393e6fc171c46245d4454e3d6c9fe7abf953ff4d51a3065b883cd6461c82bf2", + "bytes": 407527, + "hashPolicy": "Exact measured raw bytes" + }, + "context": null, + "rules": [ + { + "kind": "incomplete", + "id": "aria-prohibited-attr", + "nodes": 2 + }, + { + "kind": "incomplete", + "id": "color-contrast", + "nodes": 18 + } + ] + }, + { + "test": "[PRES-C06 C08 C09 C10 C12 E08 E09] dark/en document controls preserve settings, source, history and native output", + "attachment": "phone-advanced-axe", + "geometry": null, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 25, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/embedded/public-cv-settings-fidelity/019-phone-advanced-axe.json", + "sha256": "5ebf7342d9169e3fa340a7e04772e781f90ba891b7f4f4f4c1ee0599591b38ac", + "bytes": 20835, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/public-cv-settings-fidelity.json", + "sha256": "4393e6fc171c46245d4454e3d6c9fe7abf953ff4d51a3065b883cd6461c82bf2", + "bytes": 407527, + "hashPolicy": "Exact measured raw bytes" + }, + "context": null, + "rules": [ + { + "kind": "incomplete", + "id": "aria-prohibited-attr", + "nodes": 2 + }, + { + "kind": "incomplete", + "id": "color-contrast", + "nodes": 23 + } + ] + }, + { + "test": "[PRES-C06 C08 C09 C10 C12 E08 E09] dark/en document controls preserve settings, source, history and native output", + "attachment": "templates-axe", + "geometry": null, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 7, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/embedded/public-cv-settings-fidelity/020-templates-axe.json", + "sha256": "e190ed7ed08ba163ca65017c1a86c1aecc3a490cbb3939c814bd471d4da20966", + "bytes": 5569, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-fidelity/public-cv-settings-fidelity.json", + "sha256": "4393e6fc171c46245d4454e3d6c9fe7abf953ff4d51a3065b883cd6461c82bf2", + "bytes": 407527, + "hashPolicy": "Exact measured raw bytes" + }, + "context": null, + "rules": [ + { + "kind": "incomplete", + "id": "aria-prohibited-attr", + "nodes": 2 + }, + { + "kind": "incomplete", + "id": "color-contrast", + "nodes": 5 + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 223, + "checkContexts": [ + { + "kind": "incomplete", + "rule": "aria-prohibited-attr", + "check": "aria-prohibited-attr", + "message": "aria-label attribute is not well supported on a span with no valid role attribute.", + "occurrences": 24, + "representativeContexts": [ + { + "attachment": "default-controls-axe", + "target": [ + "span[aria-label=\"Undo\"]" + ], + "data": { + "role": null, + "nodeName": "span", + "messageKey": "noRoleSingular", + "prohibited": [ + "aria-label" + ] + }, + "relatedNodes": [] + }, + { + "attachment": "default-controls-axe", + "target": [ + "span[aria-label=\"Redo\"]" + ], + "data": { + "role": null, + "nodeName": "span", + "messageKey": "noRoleSingular", + "prohibited": [ + "aria-label" + ] + }, + "relatedNodes": [] + } + ] + }, + { + "kind": "incomplete", + "rule": "color-contrast", + "check": "color-contrast", + "message": "Element content is too short to determine if it is actual text content", + "occurrences": 12, + "representativeContexts": [ + { + "attachment": "default-controls-axe", + "target": [ + ".MuiBadge-badge" + ], + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [] + }, + { + "attachment": "phone-advanced-axe", + "target": [ + ".MuiBadge-badge" + ], + "data": { + "contrastRatio": 0, + "fontSize": "9.0pt (12px)", + "fontWeight": "normal", + "messageKey": "shortTextContent", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [] + } + ] + }, + { + "kind": "incomplete", + "rule": "color-contrast", + "check": "color-contrast", + "message": "Element's background color could not be determined because it is overlapped by another element", + "occurrences": 161, + "representativeContexts": [ + { + "attachment": "default-controls-axe", + "target": [ + ".css-15ja76x" + ], + "data": { + "contrastRatio": 0, + "fontSize": "9.8pt (13px)", + "fontWeight": "normal", + "messageKey": "bgOverlap", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [] + }, + { + "attachment": "default-controls-axe", + "target": [ + "#cv-studio-tab-2" + ], + "data": { + "contrastRatio": 0, + "fontSize": "10.5pt (14px)", + "fontWeight": "normal", + "messageKey": "bgOverlap", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [] + } + ] + }, + { + "kind": "incomplete", + "rule": "color-contrast", + "check": "color-contrast", + "message": "Element's background color could not be determined because it's partially obscured by another element", + "occurrences": 26, + "representativeContexts": [ + { + "attachment": "default-controls-axe", + "target": [ + "iframe[title=\"CV preview page 1\"]", + "h1" + ], + "data": { + "contrastRatio": 0, + "fontSize": "24.0pt (32px)", + "fontWeight": "bold", + "messageKey": "elmPartiallyObscured", + "expectedContrastRatio": "3:1" + }, + "relatedNodes": [ + { + "html": "
", + "target": [ + "iframe[title=\"CV preview page 1\"]", + "main" + ] + } + ] + }, + { + "attachment": "templates-axe", + "target": [ + ".css-7wzbvf > h2" + ], + "data": { + "contrastRatio": 0, + "fontSize": "9.8pt (13px)", + "fontWeight": "normal", + "messageKey": "elmPartiallyObscured", + "expectedContrastRatio": "4.5:1" + }, + "relatedNodes": [ + { + "html": "
", + "target": [ + ".css-9ib07s" + ] + } + ] + } + ] + } + ], + "qualification": "Every violation/incomplete category counted; complete node/check vectors remain exact raw report and extracted JSON. Parent contextual triage pending." + } + } + }, + "gates": [ + { + "command": { + "name": "typecheck", + "command": [ + "rtk", + "proxy", + "npm.cmd", + "run", + "typecheck" + ], + "startedUtc": "2026-10-12T22:10:38.309761+00:00", + "finishedUtc": "2026-10-12T22:10:48.049092+00:00", + "exitCode": 0 + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-04/public/final/gates/typecheck-command.json", + "sha256": "36b5d76e8057975c52a7edf1f945659e6d6859ae8281f660e502e4c6e59c2e00", + "bytes": 247, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-04/public/final/gates/typecheck.log", + "sha256": "89b0ec97b537eca6560c13ca2dfea9e3a97dd1bb35580c4ff39d2462db25e080", + "bytes": 148, + "hashPolicy": "Exact measured raw bytes" + } + }, + { + "command": { + "name": "lint", + "command": [ + "rtk", + "proxy", + "npm.cmd", + "run", + "lint" + ], + "startedUtc": "2026-10-12T22:10:48.051592+00:00", + "finishedUtc": "2026-10-12T22:11:05.293533+00:00", + "exitCode": 0 + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-04/public/final/gates/lint-command.json", + "sha256": "8518109786267cfb83828e2d3954b1f894531333b5c4477880362db5f2605dd6", + "bytes": 237, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-04/public/final/gates/lint.log", + "sha256": "b040dbeca9b4adb3f6f4c25ac49de0d37e921375b2d9b57e87b542a10f599913", + "bytes": 136, + "hashPolicy": "Exact measured raw bytes" + } + }, + { + "command": { + "name": "browser-typecheck", + "command": [ + "rtk", + "proxy", + "npm.cmd", + "exec", + "tsc", + "--", + "--project", + "../.artifacts/phase7/e2e-tsconfig.json", + "--noEmit" + ], + "startedUtc": "2026-10-12T22:11:05.295543+00:00", + "finishedUtc": "2026-10-12T22:11:13.030645+00:00", + "exitCode": 0 + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-04/public/final/gates/browser-typecheck-command.json", + "sha256": "ec8137e4cd557a4b3c2f8fe8b1c031311b79bbbeff18b31cedec5329a9da3b1f", + "bytes": 343, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-04/public/final/gates/browser-typecheck.log", + "sha256": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6", + "bytes": 78, + "hashPolicy": "Exact measured raw bytes" + } + }, + { + "command": { + "name": "build", + "command": [ + "rtk", + "proxy", + "npm.cmd", + "run", + "build" + ], + "startedUtc": "2026-10-12T22:11:13.032146+00:00", + "finishedUtc": "2026-10-12T22:11:19.851575+00:00", + "exitCode": 0 + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-04/public/final/gates/build-command.json", + "sha256": "51e14838acaf6e297909aa262f60d697de340c08fba17b2979d87d9dbcb41b84", + "bytes": 239, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-04/public/final/gates/build.log", + "sha256": "4691604737f57a8c33e239f00cab696b2eeff2ed54b6bfa472ef48a0a1f09402", + "bytes": 670, + "hashPolicy": "Exact measured raw bytes" + } + } + ], + "fidelityVerifier": [ + { + "name": "fidelity", + "command": [ + "rtk", + "proxy", + "C:/Users/Connor/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/python.exe", + "-X", + "utf8", + "scripts/verify-cv-fidelity.py", + "E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\ui\\fidelity" + ], + "startedUtc": "2026-10-12T22:17:46.377876+00:00", + "finishedUtc": "2026-10-12T22:17:54.594589+00:00", + "exitCode": 0, + "passed": 16, + "total": 16, + "previewPages": 36, + "pdfPages": 36, + "tolerances": { + "pageDimensionMm": 0.5, + "positionMm": 2, + "fontPt": 0.5, + "rgbComponent": 0.00392156862745098, + "pageCountAndMembership": "exact" + }, + "reportSha256": "98abd84d63708f1c632e29c8b8d37e1083811979365162ffea2e4e1bf48ea373" + }, + { + "name": "settings-fidelity", + "command": [ + "rtk", + "proxy", + "C:/Users/Connor/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/python.exe", + "-X", + "utf8", + "scripts/verify-cv-fidelity.py", + "E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\ui\\settings-fidelity" + ], + "startedUtc": "2026-10-12T22:17:54.595630+00:00", + "finishedUtc": "2026-10-12T22:18:00.040486+00:00", + "exitCode": 0, + "passed": 8, + "total": 8, + "previewPages": 24, + "pdfPages": 24, + "tolerances": { + "pageDimensionMm": 0.5, + "positionMm": 2, + "fontPt": 0.5, + "rgbComponent": 0.00392156862745098, + "pageCountAndMembership": "exact" + }, + "reportSha256": "baf25ba3f32119734b6aacf541648df6d74474274346b7f8d5db256cd0bdbcd9" + } + ], + "sourceSnapshots": [ + { + "originalSourcePath": "job-tracker-ui/src/views/PublicCvPage.tsx", + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/source/job-tracker-ui/src/views/PublicCvPage.tsx", + "sha256": "ab48f5a8f59e9232ca0238c6c729449e18e83237cda34971d256a92e88a12e26", + "bytes": 5599, + "hashPolicy": "Exact measured raw bytes" + }, + "canonicalLf": { + "path": ".artifacts/phase7/p7-04/public/final/source/job-tracker-ui/src/views/PublicCvPage.tsx", + "sha256": "6c368441859b8beccd0f4eb21e439e38388bbcaf772c721f382625b629645255", + "bytes": 5481, + "hashPolicy": "UTF-8 text with CRLF normalized to LF" + }, + "qualification": "Current candidate snapshot at collection time; parent must qualify unchanged as-run source before acceptance." + }, + { + "originalSourcePath": "job-tracker-ui/src/i18n/translations.ts", + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/source/job-tracker-ui/src/i18n/translations.ts", + "sha256": "f9c9ca2312e58b121db1544b62791ac6b11692f1e71ca88b9b9cd6c836be15d0", + "bytes": 320041, + "hashPolicy": "Exact measured raw bytes" + }, + "canonicalLf": { + "path": ".artifacts/phase7/p7-04/public/final/source/job-tracker-ui/src/i18n/translations.ts", + "sha256": "43a41622649cd9dea96964f21cada3aa63ac04bac07d9ee3aaa899aa800ca61e", + "bytes": 314753, + "hashPolicy": "UTF-8 text with CRLF normalized to LF" + }, + "qualification": "Current candidate snapshot at collection time; parent must qualify unchanged as-run source before acceptance." + }, + { + "originalSourcePath": "job-tracker-ui/src/public-cv-page.test.tsx", + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/source/job-tracker-ui/src/public-cv-page.test.tsx", + "sha256": "34eea91b2d9c3222ab8c79bc9506361fb136ad81e578d73809e4afe19808b756", + "bytes": 15053, + "hashPolicy": "Exact measured raw bytes" + }, + "canonicalLf": { + "path": ".artifacts/phase7/p7-04/public/final/source/job-tracker-ui/src/public-cv-page.test.tsx", + "sha256": "4f3ef679eb264fa9dd692a368870620dc9019891c3af63d72b8561542e3ac23f", + "bytes": 14785, + "hashPolicy": "UTF-8 text with CRLF normalized to LF" + }, + "qualification": "Current candidate snapshot at collection time; parent must qualify unchanged as-run source before acceptance." + }, + { + "originalSourcePath": "job-tracker-ui/e2e/phase7-public-cv.spec.ts", + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/source/job-tracker-ui/e2e/phase7-public-cv.spec.ts", + "sha256": "add93d07ace04b83a9a6f9d344b59765c926354d034c19a575c00c1b355a0ea7", + "bytes": 29124, + "hashPolicy": "Exact measured raw bytes" + }, + "canonicalLf": { + "path": ".artifacts/phase7/p7-04/public/final/source/job-tracker-ui/e2e/phase7-public-cv.spec.ts", + "sha256": "add93d07ace04b83a9a6f9d344b59765c926354d034c19a575c00c1b355a0ea7", + "bytes": 29124, + "hashPolicy": "UTF-8 text with CRLF normalized to LF" + }, + "qualification": "Current candidate snapshot at collection time; parent must qualify unchanged as-run source before acceptance." + }, + { + "originalSourcePath": "job-tracker-ui/src/components/ViewStateNotice.tsx", + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/source/job-tracker-ui/src/components/ViewStateNotice.tsx", + "sha256": "fd4bb314346a1603d9e01a15fd02f01576b9fd959e83f8ff0b1dfe5ec94378e9", + "bytes": 2340, + "hashPolicy": "Exact measured raw bytes" + }, + "canonicalLf": { + "path": ".artifacts/phase7/p7-04/public/final/source/job-tracker-ui/src/components/ViewStateNotice.tsx", + "sha256": "7b6c3e6c311860897eb5327936dbb129e860781929cfd9a4d4e17f81c607c70c", + "bytes": 2312, + "hashPolicy": "UTF-8 text with CRLF normalized to LF" + }, + "qualification": "Current candidate snapshot at collection time; parent must qualify unchanged as-run source before acceptance." + }, + { + "originalSourcePath": "job-tracker-ui/src/layout/PageLayout.tsx", + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/source/job-tracker-ui/src/layout/PageLayout.tsx", + "sha256": "9d7d8b3df0f533cc608c8b44519e12f1c9a8547fe91401c45023c6d2c34e111d", + "bytes": 2330, + "hashPolicy": "Exact measured raw bytes" + }, + "canonicalLf": { + "path": ".artifacts/phase7/p7-04/public/final/source/job-tracker-ui/src/layout/PageLayout.tsx", + "sha256": "31c7510446382039cd24b96e5709d5d8dfd00a0b84fd319a53183d1da6c2efa4", + "bytes": 2280, + "hashPolicy": "UTF-8 text with CRLF normalized to LF" + }, + "qualification": "Current candidate snapshot at collection time; parent must qualify unchanged as-run source before acceptance." + }, + { + "originalSourcePath": "job-tracker-ui/playwright.config.ts", + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/source/job-tracker-ui/playwright.config.ts", + "sha256": "01840494c782b2cc3c4c639dd2978a98ffa685b656e6a61fe4c503aeac6798f3", + "bytes": 2669, + "hashPolicy": "Exact measured raw bytes" + }, + "canonicalLf": { + "path": ".artifacts/phase7/p7-04/public/final/source/job-tracker-ui/playwright.config.ts", + "sha256": "bcf1dc87bd573f251ab3030088801fa5966907c86fdb90c701003c180ed969d3", + "bytes": 2606, + "hashPolicy": "UTF-8 text with CRLF normalized to LF" + }, + "qualification": "Current candidate snapshot at collection time; parent must qualify unchanged as-run source before acceptance." + } + ], + "buildId": "CzJrqceuLUrp0d6604-dJ", + "buildIdRaw": { + "path": ".artifacts/phase7/p7-04/public/final/BUILD_ID", + "sha256": "12048351e9a1c77ec027cd856b365cd19ff4eec0ffc3ffd4cdc3c3abdd4f203f", + "bytes": 21, + "hashPolicy": "Exact measured raw bytes" + }, + "export": { + "count": 74, + "sha256": "198502ef636f9ec08f665a543d81f7d0ff813ecdeef1daf0d1752f981cb4cdab", + "policy": "Windows Path sort; original output path + TAB + exact raw file SHA + LF" + }, + "exportCountQualification": "Library75 had54 JS files; final public74 has53 JS files. Remaining suffix counts are identical. Bundler output count is measured, not a route or capability count;32 original routes remain checked separately.", + "visualReview": { + "reviewed": 18, + "retained": 18, + "images": [ + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/003-p7-public-cv-en-light-1440-anonymous-download.png", + "sha256": "d438986ee0f7c6d416d88693834f2fb414026024516c69d7fc25dc037c67119c", + "bytes": 49950, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv", + "test": "[P7-04 PRES-C05 C07 C12 A02] anonymous shared CV keeps sandbox noindex private denial and actual keyboard PDF download", + "name": "p7-public-cv-en-light-1440-anonymous-download", + "manualReview": "ACTUALLY_DISPLAYED_AND_REVIEWED_BY_PARENT" + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/006-p7-public-cv-nb-dark-390-revoked.png", + "sha256": "ecdc90020ed34af556ac300ddc7576afdb0a0e5c5d26d77869a17e1638870d27", + "bytes": 14859, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv", + "test": "[P7-04 PRES-C05 C12] owner revocation removes anonymous view and PDF; republishing rotates the revoked link", + "name": "p7-public-cv-nb-dark-390-revoked", + "manualReview": "ACTUALLY_DISPLAYED_AND_REVIEWED_BY_PARENT" + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/009-p7-public-cv-nb-dark-390-transient-failure.png", + "sha256": "e7bc146e7eb7d34e87521b75ce5cec3017ac4d5ac6421c342c99d52f689f8b2e", + "bytes": 15344, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv", + "test": "[P7-04 PRES-C12 E08] transient error retries by keyboard with held real read polite progress and stable H1 focus", + "name": "p7-public-cv-nb-dark-390-transient-failure", + "manualReview": "ACTUALLY_DISPLAYED_AND_REVIEWED_BY_PARENT" + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/011-p7-public-cv-nb-dark-390-explicit-recovery.png", + "sha256": "0e2385d12062fb0ad0b7c344d4115c529838cb8e4c7d43f53454637d3521f536", + "bytes": 22584, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv", + "test": "[P7-04 PRES-C12 E08] transient error retries by keyboard with held real read polite progress and stable H1 focus", + "name": "p7-public-cv-nb-dark-390-explicit-recovery", + "manualReview": "ACTUALLY_DISPLAYED_AND_REVIEWED_BY_PARENT" + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/014-p7-public-cv-en-dark-360-initial-held-read.png", + "sha256": "15644a41647fab56fc2f8141a288762c58f4c69b24f689e184c0473de5e2b862", + "bytes": 8002, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv", + "test": "[P7-04 PRES-C12 E08] initial held anonymous read announces loading without a document or download", + "name": "p7-public-cv-en-dark-360-initial-held-read", + "manualReview": "ACTUALLY_DISPLAYED_AND_REVIEWED_BY_PARENT" + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/016-p7-public-cv-en-light-320-unavailable.png", + "sha256": "7bb523f7e0cf7151681b7611cfe0afe0e4ded98f6062627a932f6dc813f2f9b6", + "bytes": 13955, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv", + "test": "[P7-04 PRES-C12 E08] unknown and numeric slugs use localized unavailable states without Retry or PDF controls", + "name": "p7-public-cv-en-light-320-unavailable", + "manualReview": "ACTUALLY_DISPLAYED_AND_REVIEWED_BY_PARENT" + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/018-p7-public-cv-nb-dark-390-unavailable.png", + "sha256": "ecdc90020ed34af556ac300ddc7576afdb0a0e5c5d26d77869a17e1638870d27", + "bytes": 14859, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv", + "test": "[P7-04 PRES-C12 E08] unknown and numeric slugs use localized unavailable states without Retry or PDF controls", + "name": "p7-public-cv-nb-dark-390-unavailable", + "manualReview": "ACTUALLY_DISPLAYED_AND_REVIEWED_BY_PARENT" + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/020-p7-public-cv-en-light-1440-changed-slug-held.png", + "sha256": "ccec67f79ded1f8c3e8f8e71c2b5477bdd423bfc2e33d95b420aa29c668997e3", + "bytes": 11648, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv", + "test": "[P7-04 PRES-C12] same-document slug change removes prior HTML title and download before the next actual response", + "name": "p7-public-cv-en-light-1440-changed-slug-held", + "manualReview": "ACTUALLY_DISPLAYED_AND_REVIEWED_BY_PARENT" + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/023-p7-public-cv-nb-light-320-loaded.png", + "sha256": "2152d458e327f2c230fd0a2373c9e66976d6f229869ae6dfa6e2104bf6584864", + "bytes": 23359, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv", + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "name": "p7-public-cv-nb-light-320-loaded", + "manualReview": "ACTUALLY_DISPLAYED_AND_REVIEWED_BY_PARENT" + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/025-p7-public-cv-en-dark-360-loaded.png", + "sha256": "9fe406c33168b2b40f6743d0d6692b6e7272215b18b238e482cd205fa612812b", + "bytes": 23019, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv", + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "name": "p7-public-cv-en-dark-360-loaded", + "manualReview": "ACTUALLY_DISPLAYED_AND_REVIEWED_BY_PARENT" + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/027-p7-public-cv-nb-dark-390-loaded.png", + "sha256": "6037d6616f6c92adc343cd017c039b541ec34376505431fdc24e0b1197c51558", + "bytes": 23789, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv", + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "name": "p7-public-cv-nb-dark-390-loaded", + "manualReview": "ACTUALLY_DISPLAYED_AND_REVIEWED_BY_PARENT" + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/029-p7-public-cv-en-light-768-loaded.png", + "sha256": "e49fc1c134e5323af1c845e24b0970ef5f508d8045c83e849196985675153dfd", + "bytes": 44432, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv", + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "name": "p7-public-cv-en-light-768-loaded", + "manualReview": "ACTUALLY_DISPLAYED_AND_REVIEWED_BY_PARENT" + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/031-p7-public-cv-nb-light-1024-loaded.png", + "sha256": "3d25af0b58b8d36533360bef8036ed01fa6370b49f3cbd5aca44d0ca619afe8a", + "bytes": 47614, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv", + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "name": "p7-public-cv-nb-light-1024-loaded", + "manualReview": "ACTUALLY_DISPLAYED_AND_REVIEWED_BY_PARENT" + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/033-p7-public-cv-en-dark-1280-loaded.png", + "sha256": "8507f53c5366e03f55bc172f7d5637aa444b54267c2aa745bacdc9ac4af8efd0", + "bytes": 45852, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv", + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "name": "p7-public-cv-en-dark-1280-loaded", + "manualReview": "ACTUALLY_DISPLAYED_AND_REVIEWED_BY_PARENT" + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/035-p7-public-cv-nb-dark-1440-loaded.png", + "sha256": "5649d3253d897f6d968ab9f2a76d640c4a37a6749613e4a21a7709fe5d18608f", + "bytes": 47157, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv", + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "name": "p7-public-cv-nb-dark-1440-loaded", + "manualReview": "ACTUALLY_DISPLAYED_AND_REVIEWED_BY_PARENT" + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/037-p7-public-cv-en-light-1920-loaded.png", + "sha256": "c15b903440ba9b629f4cc9677e1dd07814617ad897faeab7ebf431bf8d8d8ca8", + "bytes": 52484, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv", + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "name": "p7-public-cv-en-light-1920-loaded", + "manualReview": "ACTUALLY_DISPLAYED_AND_REVIEWED_BY_PARENT" + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/040-p7-public-cv-nb-dark-1440-long-document.png", + "sha256": "57b9226f4ab6eded2d4258b14e6505c722153f78504d646f218d5ad695f69d16", + "bytes": 312676, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv", + "test": "[P7-04 PRES-C12 C07] long public CV height remains reachable without shrinking A4 geometry or mutating source", + "name": "p7-public-cv-nb-dark-1440-long-document", + "manualReview": "ACTUALLY_DISPLAYED_AND_REVIEWED_BY_PARENT" + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final/embedded/public-cv/042-p7-public-cv-en-light-320-long-document.png", + "sha256": "c0740cc43cd27d85046f964c62bc32ffc50dd427edcca37ae57551a4c38c8298", + "bytes": 115024, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final/public-cv.json", + "sha256": "c474a2b51a8dc27e8354382d3105cf419860548d1b8cc87476a8ec5d614f966a", + "bytes": 1346636, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv", + "test": "[P7-04 PRES-C12 C07] long public CV height remains reachable without shrinking A4 geometry or mutating source", + "name": "p7-public-cv-en-light-320-long-document", + "manualReview": "ACTUALLY_DISPLAYED_AND_REVIEWED_BY_PARENT" + } + ], + "finding": "Shared compact header/feedback, reachable keyboard PDF/Retry, natural NB wrapping, finite app-root overflow0. White A4 document remains unchanged in dark mode; mobile page scales as before. Long document capture is not a new pagination claim." + }, + "fidelityVisualReview": { + "reviewedComparisons": 4, + "retainedNativeImages": 44, + "qualification": "Actually displayed final long-nb-code comparisons1/4 and dark-nb-after comparisons1/3; observed same content membership/continuations/white output. Not all60 pages or44 native PNGs visually reviewed." + }, + "attemptQualification": "Initial meaningful RED4/6; encoded segment11 passes; title-loop RED13/1 reproduces stale title on unmount while loop cases already pass. First native6/2 retained:30s two-scan context timeout and initial title fixture expecting localized Public CV while Next metadata owns Jobbjakt. Exact brand assertion corrected, transient fixture budget90s; final8 ordinary pass with no skip/retry/waiver. Intermediate38/3 passed but lint failed exhaustive-deps cleanup warning; captured originalTitle repair passes final38/3 and all gates. No rule filters, assertions weakened or unsafe iframe script permission.", + "attempts": [ + { + "path": ".artifacts/phase7/p7-04/public/candidate-hUW/results.json", + "sha256": "4da59c03396018f6059ea1ac15805ff983b9fa18bbe2be0d062940ed52b017fb", + "bytes": 35816, + "hashPolicy": "Exact raw bytes" + }, + { + "path": ".artifacts/phase7/p7-04/public/attempt1-hUW/results.json", + "sha256": "e19b50b1d7ed2123e434cc29c366c0a2a998489e1c0891db336f90c2e63d59a3", + "bytes": 94482, + "hashPolicy": "Exact raw bytes" + }, + { + "path": ".artifacts/phase7/p7-04/public/title-candidate-lint/results.json", + "sha256": "ac4ee6c89316c2f890e572c4a0ce3de28b8c130eb577836cf8290fed0cf3c5d2", + "bytes": 12473, + "hashPolicy": "Exact raw bytes" + }, + { + "path": ".artifacts/phase7/p7-04/public/fidelity-hUW/results.json", + "sha256": "9478a3c31b20b1a91ed030923b53534c3491a50168129486f93b2c0eafe374eb", + "bytes": 78781, + "hashPolicy": "Exact raw bytes" + }, + { + "path": ".artifacts/phase7/p7-04/public/final-pre-run/results.json", + "sha256": "fff27bf2d589f85be00d9a7b180c25da94303dc2e738b3609448978ec296a8ac", + "bytes": 15871, + "hashPolicy": "Exact raw bytes" + } + ], + "redSourceReceipts": [ + { + "path": ".artifacts/phase7/p7-04/public/unit-red/pre-run-source-receipt.json", + "sha256": "612f0cbd59ef9694b14be69df6c5262b860198ba067eeca1a85ba68045a2d4d8", + "bytes": 814, + "hashPolicy": "Exact raw bytes" + }, + { + "path": ".artifacts/phase7/p7-04/public/unit-title-loop-red/pre-run-source-receipt.json", + "sha256": "0908beb4edb8bccc1eb342e150f2e45a20ddadbb072e2128a541977c5a6c6d21", + "bytes": 596, + "hashPolicy": "Exact raw bytes" + } + ], + "backend": { + "inheritedWithinCheckpoint": "Library fresh72-case subset on unchanged Release DLL; no new backend suite/build for public presentation.", + "privateEditorConsumer": "Library4 ordinary native journeys retained actual private PDF200; final settings4 and corpus1 freshly regenerated." + }, + "manualQualifications": [ + "18 all-enabled top-document scans0/12; all12 frame-tested: sandboxed rendered CV context not fully scanned. Keep allow-same-origin without scripts. M09/M11 document semantics/readability remain unverified; no full-document axe or human acceptance claim.", + "Final12 WCAG-tagged settings scans0/223:24 disabled Undo/Redo span labels,12 badge short-text,161 overlap,26 partially obscured. Distinct scope, full vectors retained.", + "M01-M12 human/device/zoom/production font/photo/print/providers remain pending; explicit reload observes remote revocation, not live cross-client invalidation." + ], + "countProvenance": { + "latestWholeFrontend": "573/89 inherited P7-01", + "entryFrontendDerived": "660/93", + "newCases": 13, + "newSuites": 0, + "frontendDerivedOnly": "673/93", + "entryBrowserDerived": 241, + "newOrdinaryBrowserCases": 8, + "browserDerivedOnly": 249, + "backendDerivedOnly": 1034, + "sidecarInherited": 49, + "freshIntegratedAcceptance": "P7-12 pending" + }, + "preservation": "All57 remain56 PARTIAL/C11 DEFERRED;32 routes. C05/C12/E09 supported by anonymous HTML/PDF200 versus private401/numeric404, revocation/rotated-slug rejection, no source/version/settings/sibling mutation and unchanged exact A4 geometry/fidelity tolerances.", + "remaining": "P7-05 and later handoff checkpoints pending; P7-06F deferred, P5-13 withheld, Phase8 separate, production NO-GO/main unchanged.", + "widthAssertionHardening": { + "capsule": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/results.json", + "sha256": "b92a778f1e3f85cc1e72c8b47dfcbfa8339f98c57de0412a8e0e7b2e642967bc", + "bytes": 60008, + "hashPolicy": "Exact raw bytes" + }, + "native": { + "public-cv-width": { + "command": { + "name": "public-cv-width", + "command": [ + "rtk", + "proxy", + "node", + "node_modules/@playwright/test/cli.js", + "test", + "e2e/phase7-public-cv.spec.ts", + "--grep", + "finite public width", + "--retries=0", + "--reporter=list,json", + "--output=E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\phase7\\current\\ui\\public-cv-width-results" + ], + "startedUtc": "2026-10-12T22:22:26.190316+00:00", + "finishedUtc": "2026-10-12T22:22:44.753084+00:00", + "exitCode": 0 + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/public-cv-width-command.json", + "sha256": "f5bbb20b9f5445f4c1780c6d86acc6badbb75b26a74a2d3042095d8aabb97a86", + "bytes": 525, + "hashPolicy": "Exact measured raw bytes" + }, + "reportRaw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/public-cv-width.json", + "sha256": "6268b3367ad64515f0f37566e1d4cd0d79ffc2765082660b55cfaf41c8c841b3", + "bytes": 454623, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/public-cv-width.log", + "sha256": "e0a03521691a6b4c9dc7883030c5125fd2091490d6695a24f0cb02fa376d2b61", + "bytes": 670, + "hashPolicy": "Exact measured raw bytes" + }, + "stats": { + "startTime": "2026-10-12T22:22:26.708Z", + "duration": 18011.811999999998, + "expected": 1, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "cases": [ + { + "title": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "file": "phase7-public-cv.spec.ts", + "line": 359, + "expectedStatus": "passed", + "project": "chromium", + "resultStatuses": [ + "passed" + ], + "retries": [ + 0 + ], + "errors": [ + [] + ], + "durationMs": 11078 + } + ], + "reportErrors": [], + "configuration": { + "version": "1.62.1", + "workers": 1, + "projects": [ + { + "name": "chromium", + "retries": 0 + } + ] + }, + "audit": { + "scans": [ + { + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "attachment": "p7-public-cv-nb-light-320-loaded-audit", + "geometry": { + "width": 320, + "height": 844, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/embedded/public-cv-width/001-p7-public-cv-nb-light-320-loaded-audit.json", + "sha256": "02cd8e542991bba843c246b328a6ba3f9db3303d1f2aacfb343773486b826400", + "bytes": 3424, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/public-cv-width.json", + "sha256": "6268b3367ad64515f0f37566e1d4cd0d79ffc2765082660b55cfaf41c8c841b3", + "bytes": 454623, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "nb", + "theme": "light", + "width": 320, + "height": 844 + }, + "state": "loaded", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 1123, + "renderedWidth": 287.99517822265625, + "renderedHeight": 407.488525390625, + "left": 16, + "right": 303.99517822265625, + "scale": 0.362857, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 288, + "wrapperHeight": 407.484375, + "wrapperLeft": 16, + "wrapperRight": 304, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 1123, + "documentScrollHeight": 1123, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + }, + { + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "attachment": "p7-public-cv-en-dark-360-loaded-audit", + "geometry": { + "width": 360, + "height": 844, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/embedded/public-cv-width/003-p7-public-cv-en-dark-360-loaded-audit.json", + "sha256": "cc50dea901fb57437161230daa3a1f522cbdf4cdb3865ab0cbe861a89f823088", + "bytes": 3411, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/public-cv-width.json", + "sha256": "6268b3367ad64515f0f37566e1d4cd0d79ffc2765082660b55cfaf41c8c841b3", + "bytes": 454623, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "en", + "theme": "dark", + "width": 360, + "height": 844 + }, + "state": "loaded", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 1123, + "renderedWidth": 327.9945068359375, + "renderedHeight": 464.084228515625, + "left": 16, + "right": 343.9945068359375, + "scale": 0.413254, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 328, + "wrapperHeight": 464.078125, + "wrapperLeft": 16, + "wrapperRight": 344, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 1123, + "documentScrollHeight": 1123, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + }, + { + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "attachment": "p7-public-cv-nb-dark-390-loaded-audit", + "geometry": { + "width": 390, + "height": 844, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/embedded/public-cv-width/005-p7-public-cv-nb-dark-390-loaded-audit.json", + "sha256": "1144cf087768c261107f5b01c2dbd3bc458805ea443c832748ab364769e90d4a", + "bytes": 3423, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/public-cv-width.json", + "sha256": "6268b3367ad64515f0f37566e1d4cd0d79ffc2765082660b55cfaf41c8c841b3", + "bytes": 454623, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 390, + "height": 844 + }, + "state": "loaded", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 1123, + "renderedWidth": 357.9940185546875, + "renderedHeight": 506.53094482421875, + "left": 16, + "right": 373.9940185546875, + "scale": 0.451052, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 358, + "wrapperHeight": 506.515625, + "wrapperLeft": 16, + "wrapperRight": 374, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 1123, + "documentScrollHeight": 1123, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + }, + { + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "attachment": "p7-public-cv-en-light-768-loaded-audit", + "geometry": { + "width": 768, + "height": 1024, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/embedded/public-cv-width/007-p7-public-cv-en-light-768-loaded-audit.json", + "sha256": "8b47fbc3218ff0e69d967f2ff65b222041531ab95232cea972fc348268b3fc4e", + "bytes": 3417, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/public-cv-width.json", + "sha256": "6268b3367ad64515f0f37566e1d4cd0d79ffc2765082660b55cfaf41c8c841b3", + "bytes": 454623, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "en", + "theme": "light", + "width": 768, + "height": 1024 + }, + "state": "loaded", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 1123, + "renderedWidth": 735.9876708984375, + "renderedHeight": 1041.3597412109375, + "left": 16, + "right": 751.9876708984375, + "scale": 0.927302, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 736, + "wrapperHeight": 1041.359375, + "wrapperLeft": 16, + "wrapperRight": 752, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 1123, + "documentScrollHeight": 1123, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + }, + { + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "attachment": "p7-public-cv-nb-light-1024-loaded-audit", + "geometry": { + "width": 1024, + "height": 768, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/embedded/public-cv-width/009-p7-public-cv-nb-light-1024-loaded-audit.json", + "sha256": "7e9bc4ad5f392fc22208a059c64d7b735ce62b42ccec28602b814fcf57c128f6", + "bytes": 3407, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/public-cv-width.json", + "sha256": "6268b3367ad64515f0f37566e1d4cd0d79ffc2765082660b55cfaf41c8c841b3", + "bytes": 454623, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "nb", + "theme": "light", + "width": 1024, + "height": 768 + }, + "state": "loaded", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 1123, + "renderedWidth": 793.6875, + "renderedHeight": 1123, + "left": 115.15625, + "right": 908.84375, + "scale": 1, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 793.6875, + "wrapperHeight": 1123, + "wrapperLeft": 115.15625, + "wrapperRight": 908.84375, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 1123, + "documentScrollHeight": 1123, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + }, + { + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "attachment": "p7-public-cv-en-dark-1280-loaded-audit", + "geometry": { + "width": 1280, + "height": 320, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/embedded/public-cv-width/011-p7-public-cv-en-dark-1280-loaded-audit.json", + "sha256": "9a75548fa669901580ba8001e8c206634b7c8814ea4776d98fe474f90e837725", + "bytes": 3398, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/public-cv-width.json", + "sha256": "6268b3367ad64515f0f37566e1d4cd0d79ffc2765082660b55cfaf41c8c841b3", + "bytes": 454623, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "en", + "theme": "dark", + "width": 1280, + "height": 320 + }, + "state": "loaded", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 1123, + "renderedWidth": 793.6875, + "renderedHeight": 1123, + "left": 243.15625, + "right": 1036.84375, + "scale": 1, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 793.6875, + "wrapperHeight": 1123, + "wrapperLeft": 243.15625, + "wrapperRight": 1036.84375, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 1123, + "documentScrollHeight": 1123, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + }, + { + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "attachment": "p7-public-cv-nb-dark-1440-loaded-audit", + "geometry": { + "width": 1440, + "height": 900, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/embedded/public-cv-width/013-p7-public-cv-nb-dark-1440-loaded-audit.json", + "sha256": "c6e2706c1f5b0cdba7895f5d34a6836699847967b0abc7ea59611ab84fbad11f", + "bytes": 3408, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/public-cv-width.json", + "sha256": "6268b3367ad64515f0f37566e1d4cd0d79ffc2765082660b55cfaf41c8c841b3", + "bytes": 454623, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "nb", + "theme": "dark", + "width": 1440, + "height": 900 + }, + "state": "loaded", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 1123, + "renderedWidth": 793.6875, + "renderedHeight": 1123, + "left": 323.15625, + "right": 1116.84375, + "scale": 1, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 793.6875, + "wrapperHeight": 1123, + "wrapperLeft": 323.15625, + "wrapperRight": 1116.84375, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 1123, + "documentScrollHeight": 1123, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + }, + { + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "attachment": "p7-public-cv-en-light-1920-loaded-audit", + "geometry": { + "width": 1920, + "height": 1080, + "rootOverflow": 0, + "overflowElements": [] + }, + "engine": null, + "toolOptions": null, + "violationNodes": 0, + "incompleteNodes": 1, + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/embedded/public-cv-width/015-p7-public-cv-en-light-1920-loaded-audit.json", + "sha256": "67e51a52a9597df4e67b3a69d8a204035ed061741de097d5743db1e9b690bae3", + "bytes": 3401, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/public-cv-width.json", + "sha256": "6268b3367ad64515f0f37566e1d4cd0d79ffc2765082660b55cfaf41c8c841b3", + "bytes": 454623, + "hashPolicy": "Exact measured raw bytes" + }, + "context": { + "sample": { + "language": "en", + "theme": "light", + "width": 1920, + "height": 1080 + }, + "state": "loaded", + "documentMetrics": { + "cssWidth": 793.688, + "cssHeight": 1123, + "renderedWidth": 793.6875, + "renderedHeight": 1123, + "left": 563.15625, + "right": 1356.84375, + "scale": 1, + "frameBackground": "rgb(255, 255, 255)", + "wrapperWidth": 793.6875, + "wrapperHeight": 1123, + "wrapperLeft": 563.15625, + "wrapperRight": 1356.84375, + "documentLang": "en", + "documentWidth": 794, + "documentScrollWidth": 794, + "contentHeight": 1123, + "documentScrollHeight": 1123, + "reducedMotion": true + }, + "qualifications": [ + "Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.", + "Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.", + "Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden." + ] + }, + "rules": [ + { + "kind": "incomplete", + "id": "frame-tested", + "nodes": 1 + } + ] + } + ], + "violationNodes": 0, + "incompleteNodes": 8, + "checkContexts": [ + { + "kind": "incomplete", + "rule": "frame-tested", + "check": "frame-tested", + "message": "The iframe still has to be tested with axe-core", + "occurrences": 8, + "representativeContexts": [ + { + "attachment": "p7-public-cv-nb-light-320-loaded-audit", + "target": [ + "iframe" + ], + "data": null, + "relatedNodes": [] + }, + { + "attachment": "p7-public-cv-en-dark-360-loaded-audit", + "target": [ + "iframe" + ], + "data": null, + "relatedNodes": [] + } + ] + } + ], + "qualification": "Every violation/incomplete category counted; complete node/check vectors remain exact raw report and extracted JSON. Parent contextual triage pending." + } + } + }, + "gate": [ + { + "command": { + "name": "browser-typecheck", + "command": [ + "rtk", + "proxy", + "npm.cmd", + "exec", + "tsc", + "--", + "--project", + "../.artifacts/phase7/e2e-tsconfig.json", + "--noEmit" + ], + "startedUtc": "2026-10-12T22:22:06.900889+00:00", + "finishedUtc": "2026-10-12T22:22:10.690271+00:00", + "exitCode": 0 + }, + "commandRaw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/gates/browser-typecheck-command.json", + "sha256": "1b3e2252b666da593cb35dd94f8065ea6ceaddae105d549c9badf393abde4b57", + "bytes": 343, + "hashPolicy": "Exact measured raw bytes" + }, + "logRaw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/gates/browser-typecheck.log", + "sha256": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6", + "bytes": 78, + "hashPolicy": "Exact measured raw bytes" + } + } + ], + "currentSpecSnapshot": { + "originalSourcePath": "job-tracker-ui/e2e/phase7-public-cv.spec.ts", + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/source/job-tracker-ui/e2e/phase7-public-cv.spec.ts", + "sha256": "f3dfebaf8bae716e3b824d6778c7581690393812d93a3b0b15b9af105252f019", + "bytes": 29234, + "hashPolicy": "Exact measured raw bytes" + }, + "canonicalLf": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/source/job-tracker-ui/e2e/phase7-public-cv.spec.ts", + "sha256": "f3dfebaf8bae716e3b824d6778c7581690393812d93a3b0b15b9af105252f019", + "bytes": 29234, + "hashPolicy": "UTF-8 text with CRLF normalized to LF" + }, + "qualification": "Current candidate snapshot at collection time; parent must qualify unchanged as-run source before acceptance." + }, + "visuals": [ + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/embedded/public-cv-width/002-p7-public-cv-nb-light-320-loaded.png", + "sha256": "2152d458e327f2c230fd0a2373c9e66976d6f229869ae6dfa6e2104bf6584864", + "bytes": 23359, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/public-cv-width.json", + "sha256": "6268b3367ad64515f0f37566e1d4cd0d79ffc2765082660b55cfaf41c8c841b3", + "bytes": 454623, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv-width", + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "name": "p7-public-cv-nb-light-320-loaded", + "manualReview": "EXACT_SHA_MATCH_TO_ACTUALLY_REVIEWED_IMAGE", + "sameBitmapAsReviewed": true + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/embedded/public-cv-width/004-p7-public-cv-en-dark-360-loaded.png", + "sha256": "9fe406c33168b2b40f6743d0d6692b6e7272215b18b238e482cd205fa612812b", + "bytes": 23019, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/public-cv-width.json", + "sha256": "6268b3367ad64515f0f37566e1d4cd0d79ffc2765082660b55cfaf41c8c841b3", + "bytes": 454623, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv-width", + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "name": "p7-public-cv-en-dark-360-loaded", + "manualReview": "EXACT_SHA_MATCH_TO_ACTUALLY_REVIEWED_IMAGE", + "sameBitmapAsReviewed": true + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/embedded/public-cv-width/006-p7-public-cv-nb-dark-390-loaded.png", + "sha256": "6037d6616f6c92adc343cd017c039b541ec34376505431fdc24e0b1197c51558", + "bytes": 23789, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/public-cv-width.json", + "sha256": "6268b3367ad64515f0f37566e1d4cd0d79ffc2765082660b55cfaf41c8c841b3", + "bytes": 454623, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv-width", + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "name": "p7-public-cv-nb-dark-390-loaded", + "manualReview": "EXACT_SHA_MATCH_TO_ACTUALLY_REVIEWED_IMAGE", + "sameBitmapAsReviewed": true + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/embedded/public-cv-width/008-p7-public-cv-en-light-768-loaded.png", + "sha256": "e49fc1c134e5323af1c845e24b0970ef5f508d8045c83e849196985675153dfd", + "bytes": 44432, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/public-cv-width.json", + "sha256": "6268b3367ad64515f0f37566e1d4cd0d79ffc2765082660b55cfaf41c8c841b3", + "bytes": 454623, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv-width", + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "name": "p7-public-cv-en-light-768-loaded", + "manualReview": "EXACT_SHA_MATCH_TO_ACTUALLY_REVIEWED_IMAGE", + "sameBitmapAsReviewed": true + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/embedded/public-cv-width/010-p7-public-cv-nb-light-1024-loaded.png", + "sha256": "3d25af0b58b8d36533360bef8036ed01fa6370b49f3cbd5aca44d0ca619afe8a", + "bytes": 47614, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/public-cv-width.json", + "sha256": "6268b3367ad64515f0f37566e1d4cd0d79ffc2765082660b55cfaf41c8c841b3", + "bytes": 454623, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv-width", + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "name": "p7-public-cv-nb-light-1024-loaded", + "manualReview": "EXACT_SHA_MATCH_TO_ACTUALLY_REVIEWED_IMAGE", + "sameBitmapAsReviewed": true + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/embedded/public-cv-width/012-p7-public-cv-en-dark-1280-loaded.png", + "sha256": "8507f53c5366e03f55bc172f7d5637aa444b54267c2aa745bacdc9ac4af8efd0", + "bytes": 45852, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/public-cv-width.json", + "sha256": "6268b3367ad64515f0f37566e1d4cd0d79ffc2765082660b55cfaf41c8c841b3", + "bytes": 454623, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv-width", + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "name": "p7-public-cv-en-dark-1280-loaded", + "manualReview": "EXACT_SHA_MATCH_TO_ACTUALLY_REVIEWED_IMAGE", + "sameBitmapAsReviewed": true + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/embedded/public-cv-width/014-p7-public-cv-nb-dark-1440-loaded.png", + "sha256": "5649d3253d897f6d968ab9f2a76d640c4a37a6749613e4a21a7709fe5d18608f", + "bytes": 47157, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/public-cv-width.json", + "sha256": "6268b3367ad64515f0f37566e1d4cd0d79ffc2765082660b55cfaf41c8c841b3", + "bytes": 454623, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv-width", + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "name": "p7-public-cv-nb-dark-1440-loaded", + "manualReview": "EXACT_SHA_MATCH_TO_ACTUALLY_REVIEWED_IMAGE", + "sameBitmapAsReviewed": true + }, + { + "raw": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/embedded/public-cv-width/016-p7-public-cv-en-light-1920-loaded.png", + "sha256": "7feb5b758b80bdaf6cc58e5352f55bc3602526c6f6384027177efdd07fe73a86", + "bytes": 52483, + "hashPolicy": "Exact measured raw bytes" + }, + "originalEmbeddedReport": { + "path": ".artifacts/phase7/p7-04/public/final-width-regression/public-cv-width.json", + "sha256": "6268b3367ad64515f0f37566e1d4cd0d79ffc2765082660b55cfaf41c8c841b3", + "bytes": 454623, + "hashPolicy": "Exact measured raw bytes" + }, + "lane": "public-cv-width", + "test": "[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries", + "name": "p7-public-cv-en-light-1920-loaded", + "manualReview": "ACTUALLY_DISPLAYED_AND_REVIEWED_BY_PARENT", + "sameBitmapAsReviewed": false + } + ], + "qualification": "Peer P3 test coverage repaired with expected rendered width=min(A4, viewport minus32px), tolerance1px. Focused existing width journey1/8 samples passes after assertion;8 original native cases precede only this assertion change. No new cases/build/product change; app/source/output/fidelity snapshots remain exact. Seven new images SHA-identical to reviewed originals; changed1920 capture actually displayed/reviewed. Extra8 scans0/8 frame-tested are repeat evidence, not new coverage cases.", + "collectorFailure": "Initial targeted grep responsive matched0 tests and exited1; corrected exact existing title finite public width. Raw failed command/log archived under current/ui/attempts/public-cv-width-222226; no product failure or skipped test." + }, + "staticHygiene": { + "schemaVersion": 1, + "checkpoint": "p7-04", + "status": "PASS", + "checkedUtc": "2026-10-12T22:24:04.886934+00:00", + "commands": [ + { + "name": "secret-scan", + "command": [ + "rtk", + "proxy", + "C:\\Users\\Connor\\AppData\\Local\\Programs\\Python\\Python312\\python.exe", + "-X", + "utf8", + "scripts/supply-chain.py", + "scan-secrets" + ], + "startedUtc": "2026-10-12T22:24:01.388438+00:00", + "finishedUtc": "2026-10-12T22:24:04.240173+00:00", + "exitCode": 0, + "log": ".artifacts/phase7/current/static/20261012T222401Z/secret-scan.log", + "logSha256Raw": "c5a88d5ebdc042adba125c1eaacbe44f9f4a5c19898c0f195573c00d511aa28d" + }, + { + "name": "working-whitespace", + "command": [ + "rtk", + "proxy", + "git", + "diff", + "--check" + ], + "startedUtc": "2026-10-12T22:24:04.240675+00:00", + "finishedUtc": "2026-10-12T22:24:04.325036+00:00", + "exitCode": 0, + "log": ".artifacts/phase7/current/static/20261012T222401Z/working-whitespace.log", + "logSha256Raw": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6" + }, + { + "name": "staged-whitespace", + "command": [ + "rtk", + "proxy", + "git", + "diff", + "--cached", + "--check" + ], + "startedUtc": "2026-10-12T22:24:04.325036+00:00", + "finishedUtc": "2026-10-12T22:24:04.415611+00:00", + "exitCode": 0, + "log": ".artifacts/phase7/current/static/20261012T222401Z/staged-whitespace.log", + "logSha256Raw": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6" + }, + { + "name": "phase7-whitespace", + "command": [ + "rtk", + "proxy", + "git", + "diff", + "--check", + "b5319981ad3d1bd635daff861453d23c0de5320b" + ], + "startedUtc": "2026-10-12T22:24:04.415611+00:00", + "finishedUtc": "2026-10-12T22:24:04.546953+00:00", + "exitCode": 0, + "log": ".artifacts/phase7/current/static/20261012T222401Z/phase7-whitespace.log", + "logSha256Raw": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6" + } + ], + "untrackedSecretScan": { + "files": 0, + "findings": 0 + }, + "documentation": { + "files": 11, + "relativeLinks": 412, + "errors": [] + }, + "preservation": { + "groups": 57, + "statuses": { + "PARTIAL": 56, + "PASS": 0, + "FAIL": 0, + "DEFERRED": 1 + }, + "originalRoutesPreserved": true, + "currentConcreteRoutes": 32 + }, + "production": { + "main": "27657f31131cd95d42f0e1290853ec9c9b3959a4", + "originMain": "27657f31131cd95d42f0e1290853ec9c9b3959a4", + "status": "NO-GO", + "qualification": "Local fetched refs; direct push observation recorded separately." + }, + "hashPolicy": "Portable JSON UTF8 LF; raw log hashes measure exact saved bytes.", + "limits": [ + "Pattern scanner skips binary and files over2MiB; not historical Git/production secrets.", + "Local links check target existence, not URL/heading anchors.", + "Static evidence is not runtime/manual/device/provider/production acceptance." + ] + } +} diff --git a/docs/redesign/phase-7/p7-04/evidence/public-static-checks.json b/docs/redesign/phase-7/p7-04/evidence/public-static-checks.json new file mode 100644 index 0000000..b9536ed --- /dev/null +++ b/docs/redesign/phase-7/p7-04/evidence/public-static-checks.json @@ -0,0 +1,104 @@ +{ + "schemaVersion": 1, + "checkpoint": "p7-04", + "status": "PASS", + "checkedUtc": "2026-10-12T22:24:04.886934+00:00", + "commands": [ + { + "name": "secret-scan", + "command": [ + "rtk", + "proxy", + "C:\\Users\\Connor\\AppData\\Local\\Programs\\Python\\Python312\\python.exe", + "-X", + "utf8", + "scripts/supply-chain.py", + "scan-secrets" + ], + "startedUtc": "2026-10-12T22:24:01.388438+00:00", + "finishedUtc": "2026-10-12T22:24:04.240173+00:00", + "exitCode": 0, + "log": ".artifacts/phase7/current/static/20261012T222401Z/secret-scan.log", + "logSha256Raw": "c5a88d5ebdc042adba125c1eaacbe44f9f4a5c19898c0f195573c00d511aa28d" + }, + { + "name": "working-whitespace", + "command": [ + "rtk", + "proxy", + "git", + "diff", + "--check" + ], + "startedUtc": "2026-10-12T22:24:04.240675+00:00", + "finishedUtc": "2026-10-12T22:24:04.325036+00:00", + "exitCode": 0, + "log": ".artifacts/phase7/current/static/20261012T222401Z/working-whitespace.log", + "logSha256Raw": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6" + }, + { + "name": "staged-whitespace", + "command": [ + "rtk", + "proxy", + "git", + "diff", + "--cached", + "--check" + ], + "startedUtc": "2026-10-12T22:24:04.325036+00:00", + "finishedUtc": "2026-10-12T22:24:04.415611+00:00", + "exitCode": 0, + "log": ".artifacts/phase7/current/static/20261012T222401Z/staged-whitespace.log", + "logSha256Raw": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6" + }, + { + "name": "phase7-whitespace", + "command": [ + "rtk", + "proxy", + "git", + "diff", + "--check", + "b5319981ad3d1bd635daff861453d23c0de5320b" + ], + "startedUtc": "2026-10-12T22:24:04.415611+00:00", + "finishedUtc": "2026-10-12T22:24:04.546953+00:00", + "exitCode": 0, + "log": ".artifacts/phase7/current/static/20261012T222401Z/phase7-whitespace.log", + "logSha256Raw": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6" + } + ], + "untrackedSecretScan": { + "files": 0, + "findings": 0 + }, + "documentation": { + "files": 11, + "relativeLinks": 412, + "errors": [] + }, + "preservation": { + "groups": 57, + "statuses": { + "PARTIAL": 56, + "PASS": 0, + "FAIL": 0, + "DEFERRED": 1 + }, + "originalRoutesPreserved": true, + "currentConcreteRoutes": 32 + }, + "production": { + "main": "27657f31131cd95d42f0e1290853ec9c9b3959a4", + "originMain": "27657f31131cd95d42f0e1290853ec9c9b3959a4", + "status": "NO-GO", + "qualification": "Local fetched refs; direct push observation recorded separately." + }, + "hashPolicy": "Portable JSON UTF8 LF; raw log hashes measure exact saved bytes.", + "limits": [ + "Pattern scanner skips binary and files over2MiB; not historical Git/production secrets.", + "Local links check target existence, not URL/heading anchors.", + "Static evidence is not runtime/manual/device/provider/production acceptance." + ] +} diff --git a/docs/roadmap/todo.md b/docs/roadmap/todo.md index 4000b71..5acf66b 100644 --- a/docs/roadmap/todo.md +++ b/docs/roadmap/todo.md @@ -86,7 +86,7 @@ Follow the approved [Phase 7 handoff](../redesign/phase-6/p6-05/PHASE7_HANDOFF.m - [x] P7-01 public authentication and separate account/security presentation (implemented scope CONDITIONAL GO; account pushedad7b419/direct receipt19:16:15UTC): public sub-slice CONDITIONAL GO, pushed `8ad720d`, direct remote=HEAD verified2026-10-11 18:50:24UTC, main unchanged; affected61/native22/isolated SMTP2/helper6/auth subset87 pass. [Checkpoint record](../redesign/phase-7/p7-01/README.md) retains manual/provider/production gates. Fresh account full573/89, native6/public22/auth-boundaries10 and types/lint/build pass; all eight final post-copy PNGs actually inspected and source/context evidence frozen. Account85 and public31 current axe incompletes remain qualified; final staged finite hygiene passed; normal account pushad7b419 directly verified2026-10-11 19:16:15UTC with localHEAD=origin=live equality and clean worktree at observation, main unchanged. - [x] P7-02 [onboarding guidance and Career overview/evidence](../redesign/phase-7/p7-02/README.md): entryad7b419 pushed/verified; onboarding implemented-scope CONDITIONAL GO32/13/4+types/lint/build/13 actual PNG inspections/hygiene, pushedd21501aa/direct receipt23:55:12UTC. Separate actual SQLite evidence-list repair91 guards/HTTP1/Release passed and pushed01281f52/direct receipt00:06:47UTC; unfinished Career work preserved/main unchanged. Career affected46/3/native14/fresh preservation2/types/lint/build and22 actual PNG inspections pass; implemented P7-02 CONDITIONAL GO, final Career hygiene PASS (four commands0,9docs347links0errors) and normal push8b4d5c2 directly verified05:51:04UTC, localHEAD=origin=live/clean worktree/main unchanged. Career0/99 axe incompletes/manual gates retained; fullfrontend610/backend1,034 are derived only, latest fresh full573/89 unchanged. - [x] P7-03 Career structured editor and import/history: Implemented P7-03 scope is **CONDITIONAL GO**. The normal import/history push `5d6e32358c79cc8cfe505013fc79995940079767` was directly verified at 2026-10-12 17:28:54.912933UTC: local HEAD=origin=live development, clean worktree, local/origin/live main unchanged `27657f31131cd95d42f0e1290853ec9c9b3959a4`. Fresh affected76/6, ordinary native35, backend98/seeder24, types/lint/build and staged hygiene pass; 33/54 retained final images were inspected. Import17 scans0/302, editor13 scans0/377 and Career22 scans0/99 remain qualified. RD21 concurrency/partial-write recovery, old orphan records and human/device/provider/output requirements remain open. All57 groups remain56 PARTIAL/C11 DEFERRED,32 routes retained. 648/93 frontend and233 browser are derived only; latest whole573/89 remains inherited. Production NO-GO, P5-13 withholding and Phase8 separation remain unchanged. -- [ ] P7-04 CV library and public entry: Library finite implementation CONDITIONAL GO (38/4 unit,8 native,4 editor,72 backend,19 actual PNG reviews; types/lint/build pass); staged hygiene/normal push and separate public entry pending. Manual/M09/M11/production qualifications retained. +- [x] P7-04 CV library and public entry implemented scope CONDITIONAL GO: library fcacae7 pushed/verified; public38/3 affected/native8/fidelity16/36+8/24/types/lint/build PASS,18 actual public images reviewed. Public final hygiene/normal push pending; sandbox frame-tested12 and human/device/production qualifications retained. - [ ] P7-05 Discovery, Companies, Offers and Reminders. - [ ] P7-06 remaining Application forms and global correspondence. - [ ] P7-06F optional reviewed followMode composer: retain deferral unless its required action/fallback decision is established. diff --git a/job-tracker-ui/e2e/phase7-public-cv.spec.ts b/job-tracker-ui/e2e/phase7-public-cv.spec.ts new file mode 100644 index 0000000..edb23e1 --- /dev/null +++ b/job-tracker-ui/e2e/phase7-public-cv.spec.ts @@ -0,0 +1,402 @@ +import { expect, test as base, type APIRequestContext, type APIResponse, type Page, type Response, type TestInfo } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; +import { readFile } from 'node:fs/promises'; +import { translations } from '../src/i18n/translations'; +import type { CvVariant } from '../src/cvBuilder'; +import { emptyStructuredCv } from '../src/profileCv'; + +const apiUrl = 'http://localhost:5302/api'; +const password = 'E2ePassword123!'; +const a4Width = 210 / 25.4 * 96; +const a4Height = 297 / 25.4 * 96; +type Owner = { api: APIRequestContext; id: string; headers: Record }; +type Sample = { language: 'en' | 'nb'; theme: 'light' | 'dark'; width: number; height: number }; +type Documents = { published: CvVariant; sibling: CvVariant }; +const desktop: Sample = { language: 'en', theme: 'light', width: 1440, height: 900 }; + +async function json(response: APIResponse | Response, status = 200): Promise { + expect(response.status(), `${response.url()} must return ${status}`).toBe(status); + return response.json(); +} + +async function login(api: APIRequestContext, email: string) { + expect((await api.post(`${apiUrl}/auth/login`, { data: { email, password } })).status()).toBe(200); + const me = await json<{ id: string; sessionContext: string }>(await api.get(`${apiUrl}/auth/me`)); + const csrf = (await api.storageState()).cookies.find(cookie => cookie.name === 'XSRF-TOKEN'); + expect(csrf).toBeDefined(); + return { id: me.id, headers: { 'X-CSRF-TOKEN': csrf!.value, 'X-Session-Context': me.sessionContext } }; +} + +const test = base.extend<{ owner: Owner }>({ + owner: async ({ page, context, playwright }, provide, info) => { + expect(process.env.PLAYWRIGHT_REUSE_SERVERS).not.toBe('true'); + expect(info.config.metadata.isolatedDataRoot).toEqual(expect.any(String)); + const admin = await playwright.request.newContext(); + const api = await playwright.request.newContext(); + try { + const administrator = await login(admin, 'e2e@example.test'); + const email = `p7-public-cv-${Date.now()}-${Math.random().toString(36).slice(2)}@example.test`; + expect((await admin.post(`${apiUrl}/users`, { headers: administrator.headers, data: { email, password, roles: [] } })).status()).toBe(200); + const owner = { api, ...await login(api, email) }; + expect((await page.request.get(`${apiUrl}/auth/me`)).status()).toBe(401); + await context.route('**/*', route => { + const url = new URL(route.request().url()); + return ['localhost', '127.0.0.1'].includes(url.hostname) || ['data:', 'blob:', 'about:'].includes(url.protocol) + ? route.continue() : route.abort(); + }); + await provide(owner); + } finally { await api.dispose(); await admin.dispose(); } + }, +}); + +async function seed(owner: Owner, long = false): Promise { + const profile = { ...emptyStructuredCv(), contact: { ...emptyStructuredCv().contact, + fullName: 'Åse Nordlys — recorded owner-reviewed identity', headline: 'Recorded canonical professional context', + email: 'reviewed-professional-contact@example.test', location: 'Trondheim, Norge' }, + summary: ['Reviewed canonical summary, kept separate from CV-specific presentation.'], + skills: ['C#', 'React', 'Norsk'], + jobs: Array.from({ length: long ? 14 : 1 }, (_, index) => ({ id: `public-source-job-${index}`, title: `Recorded professional role ${index + 1}`, + company: `Recorded Norwegian organisation ${index + 1}`, start: 'Jan 2020', end: 'Dec 2023', + bullets: long ? ['Recorded implementation responsibility with owner-reviewed professional context across reliable services and accessible interfaces.', + 'Recorded collaboration with colleagues on documented delivery and operational responsibilities across Norwegian organisations.', + 'Recorded review and maintenance of existing services, preserving factual source material without inventing metrics or qualifications.'] : ['Recorded owner-reviewed source evidence.'], skills: ['C#'] })), + }; + await json(await owner.api.put(`${apiUrl}/career/profile`, { headers: owner.headers, + data: { profile, cvText: 'Exact owner-reviewed original source — æøå\nRecorded work and qualifications.\n' } })); + const variant = await json(await owner.api.post(`${apiUrl}/cv/variants`, { headers: owner.headers, + data: { name: 'Recorded shared CV', settings: { themeId: 'minimal', language: 'en', showPhoto: false, showPageNumbers: false, showIcons: true, + sections: [], customSections: [], headline: 'Recorded CV-specific shared presentation', + overrides: { 'public-source-job-0': { title: 'CV-specific reviewed public title', bullets: ['CV-specific reviewed public evidence.'] } } } } })); + const sibling = await json(await owner.api.post(`${apiUrl}/cv/variants`, { headers: owner.headers, + data: { name: 'Recorded private sibling', settings: { themeId: 'minimal', showPhoto: false, showPageNumbers: false, showIcons: true, + sections: [], overrides: {}, customSections: [], headline: 'Recorded alternate CV presentation' } } })); + const published = await publish(owner, variant.id, true); + return { published, sibling }; +} + +async function publish(owner: Owner, id: number, isPublic: boolean) { + return json(await owner.api.put(`${apiUrl}/cv/variants/${id}/public`, { headers: owner.headers, data: { isPublic } })); +} + +async function preserved(owner: Owner, documents: Documents) { + const current = await json(await owner.api.get(`${apiUrl}/cv/variants/${documents.published.id}`)); + return { canonical: await json(await owner.api.get(`${apiUrl}/career/profile`)), + sourceHistory: await json(await owner.api.get(`${apiUrl}/career/profile/versions`)), + selected: { name: current.name, settings: current.settings, version: current.version, jobApplicationId: current.jobApplicationId }, + selectedHistory: await json(await owner.api.get(`${apiUrl}/cv/variants/${documents.published.id}/versions`)), + sibling: await json(await owner.api.get(`${apiUrl}/cv/variants/${documents.sibling.id}`)), + siblingHistory: await json(await owner.api.get(`${apiUrl}/cv/variants/${documents.sibling.id}/versions`)) }; +} + +async function enter(page: Page, slug: string, sample: Sample = desktop) { + await page.addInitScript(({ language, theme }) => { + if (localStorage.getItem('uiLanguage') === null) localStorage.setItem('uiLanguage', language); + if (localStorage.getItem('jobtracker.themeMode') === null) localStorage.setItem('jobtracker.themeMode', theme); + }, sample); + await page.setViewportSize({ width: sample.width, height: sample.height }); + await page.emulateMedia({ reducedMotion: 'reduce' }); + await page.goto(`/cv/${slug}?source=phase7-public#preserved`); + const stored = await page.evaluate(() => ({ language: localStorage.getItem('uiLanguage'), theme: localStorage.getItem('jobtracker.themeMode') })); + if (stored.language !== sample.language || stored.theme !== sample.theme) { + await page.evaluate(({ language, theme }) => { localStorage.setItem('uiLanguage', language); localStorage.setItem('jobtracker.themeMode', theme); }, sample); + await page.reload(); + } + await expect(page.locator('html')).toHaveAttribute('lang', sample.language === 'nb' ? 'nb-NO' : 'en'); + await expect(page.locator('html')).toHaveAttribute('data-color-scheme', sample.theme); + await expect(page.getByRole('heading', { level: 1 })).toHaveCount(1); + await expect(page.getByRole('heading', { level: 1, name: translations[sample.language].publicCvTitle, exact: true })).toBeVisible(); +} + +async function ready(page: Page, language: Sample['language']) { + const frame = page.getByTitle(translations[language].publicCvTitle, { exact: true }); + await expect(frame).toBeVisible(); + await expect.poll(() => frame.evaluate(element => { + const doc = (element as HTMLIFrameElement).contentDocument; + return doc?.readyState === 'complete' && !!doc.body.textContent?.includes('CV-specific reviewed public title'); + })).toBe(true); + await expect(frame).toHaveAttribute('sandbox', 'allow-same-origin'); + await expect(page.getByRole('link', { name: translations[language].publicCvDownloadPdf, exact: true })).toBeVisible(); + await expect(page.locator('meta[name="robots"]')).toHaveAttribute('content', 'noindex, nofollow'); + return frame; +} + +async function capture(page: Page, info: TestInfo, sample: Sample, state: string, documentExpected = true) { + await page.evaluate(async () => { await document.fonts.ready; await new Promise(resolve => requestAnimationFrame(() => requestAnimationFrame(() => resolve()))); }); + const geometry = await page.evaluate(() => ({ width: innerWidth, height: innerHeight, + rootOverflow: Math.max(0, document.documentElement.scrollWidth - document.documentElement.clientWidth), + overflowElements: [...document.querySelectorAll('body *')] + .filter(element => element.getClientRects().length > 0 && getComputedStyle(element).visibility !== 'hidden' && !element.closest('[hidden],[aria-hidden="true"]')) + .map(element => { const rect = element.getBoundingClientRect(); return { tag: element.tagName, text: (element.textContent ?? '').slice(0, 100), left: rect.left, right: rect.right, width: rect.width }; }) + .filter(element => element.width > 0 && (element.left < -1 || element.right > innerWidth + 1)).slice(0, 20), + })); + const frame = page.getByTitle(translations[sample.language].publicCvTitle, { exact: true }); + const documentMetrics = documentExpected ? await frame.evaluate(async element => { + const iframe = element as HTMLIFrameElement; + const doc = iframe.contentDocument!; + await doc.fonts.ready; + const style = getComputedStyle(iframe); + const rect = iframe.getBoundingClientRect(); + const wrapper = iframe.parentElement!; + const wrapperRect = wrapper.getBoundingClientRect(); + return { cssWidth: parseFloat(style.width), cssHeight: parseFloat(style.height), renderedWidth: rect.width, renderedHeight: rect.height, + left: rect.left, right: rect.right, scale: new DOMMatrix(style.transform).a, frameBackground: style.backgroundColor, + wrapperWidth: wrapperRect.width, wrapperHeight: wrapperRect.height, wrapperLeft: wrapperRect.left, wrapperRight: wrapperRect.right, + documentLang: doc.documentElement.lang, documentWidth: doc.documentElement.clientWidth, + documentScrollWidth: doc.documentElement.scrollWidth, contentHeight: doc.body.scrollHeight, + documentScrollHeight: doc.documentElement.scrollHeight, reducedMotion: matchMedia('(prefers-reduced-motion: reduce)').matches }; + }) : null; + const axe = await new AxeBuilder({ page }).options({ rules: { 'target-size': { enabled: true } } }).analyze(); + const name = `p7-public-cv-${sample.language}-${sample.theme}-${sample.width}-${state}`; + await info.attach(`${name}-audit`, { body: JSON.stringify({ sample, state, geometry, documentMetrics, ariaSnapshot: await page.locator('body').ariaSnapshot(), + axe: { scope: 'All enabled rules plus target-size; complete iframe/incomplete contexts retained', violations: axe.violations, incomplete: axe.incomplete, + passes: axe.passes.map(rule => ({ id: rule.id, nodes: rule.nodes.length })) }, + qualifications: ['Automated local Chromium; no human screen reader, physical touch/software keyboard, actual browser zoom or production font/photo qualification.', + 'Document locale is separate from app locale. CSS-pixel A4/white-canvas measurements are not manual print, Linux-font or PDF pagination-fidelity acceptance.', + 'Same-origin sandbox and noindex are retained; any untestable iframe axe contexts remain incomplete rather than being hidden.'], + }), contentType: 'application/json' }); + await info.attach(name, { body: await page.screenshot({ fullPage: true, animations: 'disabled' }), contentType: 'image/png' }); + expect(geometry.rootOverflow).toBe(0); + if (documentMetrics) { + expect(Math.abs(documentMetrics.cssWidth - a4Width)).toBeLessThan(0.05); + expect(Math.abs(documentMetrics.renderedWidth - Math.min(a4Width, geometry.width - 32))).toBeLessThan(1); + expect(documentMetrics.cssHeight).toBeGreaterThanOrEqual(a4Height - 0.05); + expect(documentMetrics.documentScrollWidth - documentMetrics.documentWidth).toBeLessThanOrEqual(1); + expect(documentMetrics.left).toBeGreaterThanOrEqual(0); + expect(documentMetrics.right).toBeLessThanOrEqual(geometry.width + 1); + expect(documentMetrics.left).toBeGreaterThanOrEqual(documentMetrics.wrapperLeft - 1); + expect(documentMetrics.right).toBeLessThanOrEqual(documentMetrics.wrapperRight + 1); + expect(Math.abs(documentMetrics.renderedWidth - documentMetrics.cssWidth * documentMetrics.scale)).toBeLessThan(1); + expect(Math.abs(documentMetrics.wrapperWidth - documentMetrics.renderedWidth)).toBeLessThan(1); + expect(Math.abs(documentMetrics.wrapperHeight - documentMetrics.renderedHeight)).toBeLessThan(1); + expect(documentMetrics.cssHeight).toBeGreaterThanOrEqual(documentMetrics.contentHeight - 1); + expect(documentMetrics.frameBackground).toBe('rgb(255, 255, 255)'); + expect(documentMetrics.reducedMotion).toBe(true); + } else await expect(frame).toHaveCount(0); + expect(axe.violations).toEqual([]); + return documentMetrics; +} + +test('[P7-04 PRES-C05 C07 C12 A02] anonymous shared CV keeps sandbox noindex private denial and actual keyboard PDF download', async ({ page, owner }, info) => { + test.setTimeout(90_000); + const documents = await seed(owner); + const before = await preserved(owner, documents); + const response = await page.request.get(`${apiUrl}/public-cv/${documents.published.publicSlug}`); + const shared = await json<{ html: string; name: string }>(response); + expect(response.headers()['x-robots-tag']).toBe('noindex, nofollow'); + expect(shared.html).toContain('CV-specific reviewed public title'); + expect((await page.request.get(`${apiUrl}/cv/variants/${documents.published.id}`)).status()).toBe(401); + expect((await page.request.get(`${apiUrl}/public-cv/${documents.sibling.publicSlug}`)).status()).toBe(404); + expect((await page.request.get(`${apiUrl}/public-cv/${documents.published.id}`)).status()).toBe(404); + await enter(page, documents.published.publicSlug); + const frame = await ready(page, 'en'); + expect(await frame.getAttribute('srcdoc')).toBe(shared.html); + expect(await page.title()).toContain(shared.name); + const downloadResponse = page.waitForResponse(result => result.url() === `${apiUrl}/public-cv/${documents.published.publicSlug}/pdf`); + const downloadEvent = page.waitForEvent('download'); + const link = page.getByRole('link', { name: translations.en.publicCvDownloadPdf, exact: true }); + await expect(link).toHaveAttribute('href', `${apiUrl}/public-cv/${documents.published.publicSlug}/pdf`); + await link.focus(); await page.keyboard.press('Enter'); + const downloaded = await downloadEvent; + const pdfResponse = await downloadResponse; + expect(pdfResponse.status()).toBe(200); expect(pdfResponse.headers()['content-type']).toContain('application/pdf'); + expect(await downloaded.failure()).toBeNull(); + const downloadedPath = await downloaded.path(); expect(downloadedPath).not.toBeNull(); + const pdf = await readFile(downloadedPath!); + expect(pdf.length).toBeGreaterThan(1_000); expect(pdf.subarray(0, 5).toString()).toBe('%PDF-'); + await info.attach('public-cv-actual-keyboard-download.pdf', { body: pdf, contentType: 'application/pdf' }); + expect(await preserved(owner, documents)).toEqual(before); + await capture(page, info, desktop, 'anonymous-download'); + await info.attach('public-cv-anonymous-contract', { body: JSON.stringify({ privateStatus: 401, unknownNumericSlugStatus: 404, + privateSiblingSlugStatus: 404, pdfStatus: pdfResponse.status(), pdfBytes: pdf.length, fileName: downloaded.suggestedFilename(), + qualification: 'Actual anonymous HTML and local Chromium PDF bytes, triggered by keyboard Enter on the real download link. This does not establish print pagination, deployed Linux fonts/photos or production acceptance.' }), contentType: 'application/json' }); + await page.evaluate(() => { + history.pushState(null, '', '/login'); + dispatchEvent(new PopStateEvent('popstate')); + }); + await expect(page.getByTitle(translations.en.publicCvTitle, { exact: true })).toHaveCount(0); + await expect(page).toHaveTitle('Jobbjakt'); +}); + +test('[P7-04 PRES-C05 C12] owner revocation removes anonymous view and PDF; republishing rotates the revoked link', async ({ page, owner }, info) => { + const documents = await seed(owner); + const before = await preserved(owner, documents); + const sample: Sample = { language: 'nb', theme: 'dark', width: 390, height: 844 }; + await enter(page, documents.published.publicSlug, sample); await ready(page, 'nb'); + await publish(owner, documents.published.id, false); + expect((await page.request.get(`${apiUrl}/public-cv/${documents.published.publicSlug}`)).status()).toBe(404); + expect((await page.request.get(`${apiUrl}/public-cv/${documents.published.publicSlug}/pdf`)).status()).toBe(404); + await page.reload(); + await expect(page.getByText(translations.nb.publicCvUnavailableTitle, { exact: true })).toBeVisible(); + await expect(page.getByText(translations.nb.publicCvUnavailableBody, { exact: true })).toBeVisible(); + await expect(page.getByRole('button', { name: translations.nb.retry, exact: true })).toHaveCount(0); + await expect(page.getByRole('link', { name: translations.nb.publicCvDownloadPdf, exact: true })).toHaveCount(0); + await capture(page, info, sample, 'revoked', false); + const republished = await publish(owner, documents.published.id, true); + expect(republished.publicSlug).not.toBe(documents.published.publicSlug); + expect((await page.request.get(`${apiUrl}/public-cv/${documents.published.publicSlug}`)).status()).toBe(404); + expect((await page.request.get(`${apiUrl}/public-cv/${documents.published.publicSlug}/pdf`)).status()).toBe(404); + await enter(page, republished.publicSlug, sample); await ready(page, 'nb'); + expect(await preserved(owner, documents)).toEqual(before); + await info.attach('public-cv-revocation-readback', { body: JSON.stringify({ oldSlug: documents.published.publicSlug, newSlug: republished.publicSlug, + qualification: 'Actual owner publication PUTs and anonymous old-link HTML/PDF404; settings, versions, source and private sibling are unchanged. Existing open content is refreshed explicitly to observe revocation; no claim of live cross-client revocation events.' }), contentType: 'application/json' }); +}); + +test('[P7-04 PRES-C12 E08] transient error retries by keyboard with held real read polite progress and stable H1 focus', async ({ page, owner }, info) => { + test.setTimeout(90_000); + const documents = await seed(owner); + const before = await preserved(owner, documents); + const sample: Sample = { language: 'nb', theme: 'dark', width: 390, height: 844 }; + let reads = 0; + let release!: () => void; + const held = new Promise(resolve => { release = resolve; }); + await page.route(`**/api/public-cv/${documents.published.publicSlug}`, async route => { + reads++; + if (reads === 1) return route.fulfill({ status: 500, contentType: 'application/json', body: JSON.stringify({ message: 'Controlled public CV read unavailable' }) }); + if (reads === 2) await held; + return route.continue(); + }); + await enter(page, documents.published.publicSlug, sample); + await expect(page.getByText(translations.nb.publicCvLoadFailedTitle, { exact: true })).toBeVisible(); + await expect(page.getByText(translations.nb.publicCvLoadFailedBody, { exact: true })).toBeVisible(); + await expect(page.getByRole('link', { name: translations.nb.publicCvDownloadPdf, exact: true })).toHaveCount(0); + await capture(page, info, sample, 'transient-failure', false); + const title = page.getByRole('heading', { level: 1, name: translations.nb.publicCvTitle, exact: true }); + try { + await page.getByRole('button', { name: translations.nb.retry, exact: true }).focus(); await page.keyboard.press('Enter'); + await expect.poll(() => reads).toBe(2); + await expect(title).toBeFocused(); + await expect(page.getByRole('progressbar', { name: translations.nb.loading, exact: true })).toBeVisible(); + await expect(page.getByRole('status')).toHaveText(translations.nb.loading); + await expect(page.getByRole('status')).toHaveAttribute('aria-live', 'polite'); + await page.keyboard.press('Enter'); expect(reads).toBe(2); + } finally { release(); } + await ready(page, 'nb'); await expect(title).toBeFocused(); + await expect(page.getByText(translations.nb.publicCvLoadFailedTitle, { exact: true })).toHaveCount(0); + expect(reads).toBe(2); expect(await preserved(owner, documents)).toEqual(before); + await capture(page, info, sample, 'explicit-recovery'); + await info.attach('public-cv-controlled-retry', { body: JSON.stringify({ reads, + qualification: 'First GET is a controlled500; only keyboard Retry reaches the held then continued actual HTTP read. Successful document HTML is not fabricated; no automatic retry or source mutation.' }), contentType: 'application/json' }); +}); + +test('[P7-04 PRES-C12 E08] initial held anonymous read announces loading without a document or download', async ({ page, owner }, info) => { + const documents = await seed(owner); + const before = await preserved(owner, documents); + const sample: Sample = { language: 'en', theme: 'dark', width: 360, height: 844 }; + let reads = 0; + let release!: () => void; + const held = new Promise(resolve => { release = resolve; }); + await page.route(`**/api/public-cv/${documents.published.publicSlug}`, async route => { reads++; await held; return route.continue(); }); + try { + await enter(page, documents.published.publicSlug, sample); + await expect.poll(() => reads).toBe(1); + await expect(page.getByRole('progressbar', { name: translations.en.loading, exact: true })).toBeVisible(); + await expect(page.getByRole('status')).toHaveText(translations.en.loading); + await expect(page.getByRole('status')).toHaveAttribute('aria-live', 'polite'); + await expect(page.getByRole('link', { name: translations.en.publicCvDownloadPdf, exact: true })).toHaveCount(0); + expect(await page.title()).toBe('Jobbjakt'); + await capture(page, info, sample, 'initial-held-read', false); + } finally { release(); } + await ready(page, 'en'); expect(reads).toBe(1); + expect(await preserved(owner, documents)).toEqual(before); +}); + +test('[P7-04 PRES-C12 E08] unknown and numeric slugs use localized unavailable states without Retry or PDF controls', async ({ page, owner }, info) => { + const documents = await seed(owner); + const before = await preserved(owner, documents); + const samples: Sample[] = [ + { language: 'en', theme: 'light', width: 320, height: 844 }, + { language: 'nb', theme: 'dark', width: 390, height: 844 }, + ]; + for (let index = 0; index < samples.length; index++) { + const sample = samples[index]; + const slug = index === 0 ? `missing-${owner.id}` : String(documents.published.id); + expect((await page.request.get(`${apiUrl}/public-cv/${slug}`)).status()).toBe(404); + await enter(page, slug, sample); + const t = translations[sample.language]; + await expect(page.getByText(t.publicCvUnavailableTitle, { exact: true })).toBeVisible(); + await expect(page.getByText(t.publicCvUnavailableBody, { exact: true })).toBeVisible(); + await expect(page.getByRole('button', { name: t.retry, exact: true })).toHaveCount(0); + await expect(page.getByRole('link', { name: t.publicCvDownloadPdf, exact: true })).toHaveCount(0); + await capture(page, info, sample, 'unavailable', false); + } + expect(await preserved(owner, documents)).toEqual(before); +}); + +test('[P7-04 PRES-C12] same-document slug change removes prior HTML title and download before the next actual response', async ({ page, owner }, info) => { + test.setTimeout(90_000); + const documents = await seed(owner); + const alternate = await publish(owner, documents.sibling.id, true); + const before = await preserved(owner, documents); + await enter(page, documents.published.publicSlug); await ready(page, 'en'); + let reads = 0; + let release!: () => void; + const held = new Promise(resolve => { release = resolve; }); + await page.route(`**/api/public-cv/${alternate.publicSlug}`, async route => { reads++; await held; return route.continue(); }); + try { + await page.evaluate(slug => { + history.pushState(null, '', `/cv/${slug}?source=phase7-public-route#preserved`); + dispatchEvent(new PopStateEvent('popstate')); + }, alternate.publicSlug); + await expect.poll(() => reads).toBe(1); + await expect(page.getByTitle(translations.en.publicCvTitle, { exact: true })).toHaveCount(0); + await expect(page.getByRole('link', { name: translations.en.publicCvDownloadPdf, exact: true })).toHaveCount(0); + expect(await page.title()).toBe('Jobbjakt'); + await capture(page, info, desktop, 'changed-slug-held', false); + } finally { release(); } + const alternateFrame = page.getByTitle(translations.en.publicCvTitle, { exact: true }); + await expect(alternateFrame).toBeVisible(); + await expect.poll(() => alternateFrame.getAttribute('srcdoc')).toContain('Recorded alternate CV presentation'); + expect(await alternateFrame.getAttribute('srcdoc')).not.toContain('Recorded CV-specific shared presentation'); + await expect(page.getByRole('link', { name: translations.en.publicCvDownloadPdf, exact: true })).toHaveAttribute('href', `${apiUrl}/public-cv/${alternate.publicSlug}/pdf`); + await page.goBack(); await ready(page, 'en'); + await page.goForward(); + await expect.poll(() => page.getByTitle(translations.en.publicCvTitle, { exact: true }).getAttribute('srcdoc')).toContain('Recorded alternate CV presentation'); + expect(await preserved(owner, documents)).toEqual(before); + await info.attach('public-cv-same-document-transition', { body: JSON.stringify({ originalSlug: documents.published.publicSlug, alternateSlug: alternate.publicSlug, reads, + qualification: 'A test-harness browser History pushState/popstate establishes a same-document route change; no product navigation is added. Back/forward then use actual browser history. Both documents and GETs are real; late-response isolation also requires focused unit evidence.' }), contentType: 'application/json' }); +}); + +test('[P7-04 PRES-C12 E08] finite public width locale theme matrix preserves A4 white document and scaled wrapper boundaries', async ({ page, owner }, info) => { + test.setTimeout(180_000); + const documents = await seed(owner); + const before = await preserved(owner, documents); + const samples: Sample[] = [ + { language: 'nb', theme: 'light', width: 320, height: 844 }, + { language: 'en', theme: 'dark', width: 360, height: 844 }, + { language: 'nb', theme: 'dark', width: 390, height: 844 }, + { language: 'en', theme: 'light', width: 768, height: 1024 }, + { language: 'nb', theme: 'light', width: 1024, height: 768 }, + { language: 'en', theme: 'dark', width: 1280, height: 320 }, + { language: 'nb', theme: 'dark', width: 1440, height: 900 }, + { language: 'en', theme: 'light', width: 1920, height: 1080 }, + ]; + for (const sample of samples) { + await enter(page, documents.published.publicSlug, sample); await ready(page, sample.language); + const link = page.getByRole('link', { name: translations[sample.language].publicCvDownloadPdf, exact: true }); + await page.getByRole('heading', { level: 1 }).focus(); await page.keyboard.press('Tab'); + await expect(link).toBeFocused(); + await page.getByRole('heading', { level: 1 }).scrollIntoViewIfNeeded(); + await capture(page, info, sample, 'loaded'); + } + expect(await preserved(owner, documents)).toEqual(before); + await info.attach('public-cv-finite-matrix', { body: JSON.stringify({ samples, + qualification: 'Eight balanced viewport/locale/theme samples, not the complete Cartesian product. Keyboard Tab reaches the PDF link; A4 CSS pixels and transformed wrapper boundaries are measured separately. Renderer settings and document locale remain unchanged.' }), contentType: 'application/json' }); +}); + +test('[P7-04 PRES-C12 C07] long public CV height remains reachable without shrinking A4 geometry or mutating source', async ({ page, owner }, info) => { + test.setTimeout(90_000); + const documents = await seed(owner, true); + const before = await preserved(owner, documents); + const samples: Sample[] = [ + { language: 'nb', theme: 'dark', width: 1440, height: 900 }, + { language: 'en', theme: 'light', width: 320, height: 844 }, + ]; + for (const sample of samples) { + await enter(page, documents.published.publicSlug, sample); const frame = await ready(page, sample.language); + await expect.poll(() => frame.evaluate(element => parseFloat(getComputedStyle(element).height))).toBeGreaterThan(a4Height); + const metrics = await capture(page, info, sample, 'long-document'); + expect(metrics!.cssHeight).toBeGreaterThan(a4Height); + expect(metrics!.documentScrollHeight).toBeLessThanOrEqual(metrics!.cssHeight + 1); + } + expect(await preserved(owner, documents)).toEqual(before); +}); diff --git a/job-tracker-ui/src/i18n/translations.ts b/job-tracker-ui/src/i18n/translations.ts index f1cec1b..3afacd3 100644 --- a/job-tracker-ui/src/i18n/translations.ts +++ b/job-tracker-ui/src/i18n/translations.ts @@ -784,6 +784,13 @@ export const translations = { cvEditorRestoredVersion: "Restored version {version}.", cvEditorRestoreFailed: "Restore failed.", cvDashboardTitle: "CV Builder", + publicCvTitle: "Public CV", + publicCvDescription: "A read-only CV shared by its owner. Download the PDF to keep a copy.", + publicCvDownloadPdf: "Download PDF", + publicCvUnavailableTitle: "CV unavailable", + publicCvUnavailableBody: "This CV isn’t available. The link may be wrong, or the owner has made it private.", + publicCvLoadFailedTitle: "Could not load CV", + publicCvLoadFailedBody: "This CV can’t be loaded right now. Please try again in a moment.", cvDashboardLibraryTitle: "Your CVs", cvDashboardSubtitle: "Build polished, job-specific resumes from one trusted career profile. Every version keeps its own template, content choices and history.", cvDashboardUntitled: "Untitled CV", @@ -3418,6 +3425,13 @@ export const translations = { cvEditorRestoredVersion: "Versjon {version} er gjenopprettet.", cvEditorRestoreFailed: "Gjenoppretting mislyktes.", cvDashboardTitle: "CV-bygger", + publicCvTitle: "Offentlig CV", + publicCvDescription: "En CV som eieren har delt. Du kan lese den og laste ned en kopi som PDF.", + publicCvDownloadPdf: "Last ned PDF", + publicCvUnavailableTitle: "CV-en er utilgjengelig", + publicCvUnavailableBody: "Denne CV-en er ikke tilgjengelig. Lenken kan være feil, eller eieren kan ha gjort CV-en privat.", + publicCvLoadFailedTitle: "Kunne ikke laste CV", + publicCvLoadFailedBody: "CV-en kan ikke lastes akkurat nå. Prøv igjen om litt.", cvDashboardLibraryTitle: "Dine CV-er", cvDashboardSubtitle: "Lag profesjonelle, jobbtilpassede CV-er fra én pålitelig karriereprofil. Hver versjon beholder sin egen mal, sine innholdsvalg og sin historikk.", cvDashboardUntitled: "CV uten tittel", diff --git a/job-tracker-ui/src/public-cv-page.test.tsx b/job-tracker-ui/src/public-cv-page.test.tsx index 0c98d02..7c1a097 100644 --- a/job-tracker-ui/src/public-cv-page.test.tsx +++ b/job-tracker-ui/src/public-cv-page.test.tsx @@ -1,10 +1,11 @@ import React from 'react'; import '@testing-library/jest-dom'; -import { render, screen, waitFor } from '@testing-library/react'; -import { MemoryRouter, Route, Routes } from 'react-router-dom'; +import { act, fireEvent, render, screen, waitFor } from '@testing-library/react'; +import { MemoryRouter, Route, Routes, useNavigate } from 'react-router-dom'; import { api } from './api'; import PublicCvPage from './views/PublicCvPage'; +import { I18nProvider } from './i18n/I18nProvider'; jest.mock('./api', () => ({ api: { @@ -14,24 +15,254 @@ jest.mock('./api', () => ({ })); const mockedApi = api as jest.Mocked; +const originalInnerWidth = window.innerWidth; +const originalTitle = document.title; + +function RouteControls() { + const navigate = useNavigate(); + return <>; +} + +function renderPage(path = '/cv/public-slug') { + return render( + + + + } /> + + , + ); +} + +function deferred() { + let resolve!: (value: T) => void; + let reject!: (reason: unknown) => void; + const promise = new Promise((yes, no) => { resolve = yes; reject = no; }); + return { promise, resolve, reject }; +} + +function switchLanguage(language: 'en' | 'nb') { + act(() => { window.dispatchEvent(new StorageEvent('storage', { key: 'uiLanguage', newValue: language })); }); +} + +beforeEach(() => { + mockedApi.get.mockReset(); + window.localStorage.removeItem('uiLanguage'); + document.title = originalTitle; +}); + +afterEach(() => { + Object.defineProperty(window, 'innerWidth', { configurable: true, value: originalInnerWidth }); + window.localStorage.removeItem('uiLanguage'); + document.title = originalTitle; +}); test('public CV exposes the rendered CV and PDF download', async () => { - const originalInnerWidth = window.innerWidth; Object.defineProperty(window, 'innerWidth', { configurable: true, value: 375 }); mockedApi.get.mockResolvedValueOnce({ data: { html: '

Public CV

', name: 'Ada Lovelace' } } as any); - - render( - - } /> - , - ); + renderPage(); const frame = await screen.findByTitle('Public CV'); expect(frame).toHaveAttribute('srcdoc', '

Public CV

'); + expect(frame).toHaveAttribute('sandbox', 'allow-same-origin'); expect(Number.parseFloat(frame.style.width)).toBeGreaterThan(790); await waitFor(() => expect(frame.style.transform).not.toBe('scale(1)')); expect(Number.parseFloat(screen.getByTestId('public-cv-frame-container').style.width)).toBeLessThanOrEqual(343); expect(screen.getByRole('link', { name: 'Download PDF' })).toHaveAttribute('href', '/api/public-cv/public-slug/pdf'); expect(mockedApi.get).toHaveBeenCalledWith('/public-cv/public-slug'); - Object.defineProperty(window, 'innerWidth', { configurable: true, value: originalInnerWidth }); +}); + +test('a public slug containing path and URL delimiters stays one encoded API and PDF path segment', async () => { + const slug = 'owner/document?mode=preview#section%'; + const encodedSlug = encodeURIComponent(slug); + const read = deferred(); + mockedApi.get.mockImplementationOnce(() => read.promise); + renderPage(`/cv/${encodedSlug}`); + expect(mockedApi.get).toHaveBeenCalledWith(`/public-cv/${encodedSlug}`); + expect(screen.queryByRole('link', { name: 'Download PDF' })).not.toBeInTheDocument(); + await act(async () => { read.resolve({ data: { html: '

Encoded slug document

', name: 'Candidate' } }); }); + expect(await screen.findByTitle('Public CV')).toHaveAttribute('srcdoc', '

Encoded slug document

'); + expect(screen.getByTitle('Public CV')).toHaveAttribute('sandbox', 'allow-same-origin'); + expect(screen.getByRole('link', { name: 'Download PDF' })).toHaveAttribute('href', `/api/public-cv/${encodedSlug}/pdf`); + expect(mockedApi.get).toHaveBeenCalledTimes(1); +}); + +test('a held public CV read has a named page and loading announcement without a document or download', async () => { + const read = deferred(); + mockedApi.get.mockImplementationOnce(() => read.promise); + renderPage(); + expect(screen.getByRole('heading', { level: 1, name: 'Public CV' })).toBeInTheDocument(); + expect(screen.getByRole('status')).toHaveTextContent(/Loading/i); + expect(screen.queryByTitle('Public CV')).not.toBeInTheDocument(); + expect(screen.queryByRole('link', { name: 'Download PDF' })).not.toBeInTheDocument(); + expect(mockedApi.get).toHaveBeenCalledTimes(1); + await act(async () => { read.resolve({ data: { html: '

Current public document

', name: 'Ada' } }); }); + expect(await screen.findByTitle('Public CV')).toHaveAttribute('srcdoc', '

Current public document

'); +}); + +test('a revoked or missing public slug shows an unavailable state without retry or download', async () => { + mockedApi.get.mockRejectedValueOnce({ response: { status: 404 } }); + renderPage(); + expect(await screen.findByText('CV unavailable')).toBeInTheDocument(); + expect(screen.getByRole('alert')).toHaveTextContent(/link|owner|private/i); + expect(screen.queryByRole('button', { name: 'Retry' })).not.toBeInTheDocument(); + expect(screen.queryByTitle('Public CV')).not.toBeInTheDocument(); + expect(screen.queryByRole('link', { name: 'Download PDF' })).not.toBeInTheDocument(); + expect(mockedApi.get).toHaveBeenCalledTimes(1); +}); + +test('a transient failure retries only when requested and keeps focus on the page heading during its held read', async () => { + const retry = deferred(); + mockedApi.get.mockRejectedValueOnce({ response: { status: 503 } }).mockImplementationOnce(() => retry.promise); + renderPage(); + expect(await screen.findByText('Could not load CV')).toBeInTheDocument(); + expect(mockedApi.get).toHaveBeenCalledTimes(1); + const retryButton = screen.getByRole('button', { name: 'Retry' }); + retryButton.focus(); + fireEvent.click(retryButton); + expect(mockedApi.get).toHaveBeenCalledTimes(2); + expect(screen.getByRole('heading', { level: 1, name: 'Public CV' })).toHaveFocus(); + expect(screen.getByRole('status')).toHaveTextContent(/Loading/i); + expect(screen.queryByRole('link', { name: 'Download PDF' })).not.toBeInTheDocument(); + await act(async () => { retry.resolve({ data: { html: '

Recovered CV

', name: 'Recovered candidate' } }); }); + expect(await screen.findByTitle('Public CV')).toHaveAttribute('srcdoc', '

Recovered CV

'); + expect(screen.queryByText('Could not load CV')).not.toBeInTheDocument(); + expect(mockedApi.get).toHaveBeenCalledTimes(2); +}); + +test('changing public slugs immediately hides the previous document, name and PDF and resets its measured height', async () => { + const second = deferred(); + mockedApi.get.mockResolvedValueOnce({ data: { html: '

Candidate A

', name: 'Candidate A' } } as any).mockImplementationOnce(() => second.promise); + renderPage('/cv/slug-a'); + const firstFrame = await screen.findByTitle('Public CV') as HTMLIFrameElement; + Object.defineProperty(firstFrame.contentDocument!.documentElement, 'scrollHeight', { configurable: true, value: 3000 }); + fireEvent.load(firstFrame); + expect(firstFrame.style.height).toBe('3000px'); + expect(document.title).toBe('Candidate A — CV'); + fireEvent.click(screen.getByRole('button', { name: 'Open B' })); + expect(screen.queryByTitle('Public CV')).not.toBeInTheDocument(); + expect(screen.queryByRole('link', { name: 'Download PDF' })).not.toBeInTheDocument(); + expect(document.title).not.toContain('Candidate A'); + expect(screen.getByRole('status')).toHaveTextContent(/Loading/i); + await act(async () => { second.resolve({ data: { html: '

Candidate B

', name: 'Candidate B' } }); }); + const secondFrame = await screen.findByTitle('Public CV'); + expect(secondFrame).toHaveAttribute('srcdoc', '

Candidate B

'); + expect(Number.parseFloat(secondFrame.style.height)).toBeCloseTo((297 / 25.4) * 96); + expect(screen.getByRole('link', { name: 'Download PDF' })).toHaveAttribute('href', '/api/public-cv/slug-b/pdf'); + expect(document.title).toBe('Candidate B — CV'); +}); + +test('a failed public slug cannot hide a subsequently loaded different public CV', async () => { + mockedApi.get.mockRejectedValueOnce({ response: { status: 404 } }).mockResolvedValueOnce({ data: { html: '

Candidate B

', name: 'Candidate B' } } as any); + renderPage('/cv/slug-a'); + await screen.findByText(/link.*wrong|wrong.*link/i); + fireEvent.click(screen.getByRole('button', { name: 'Open B' })); + expect(await screen.findByTitle('Public CV')).toHaveAttribute('srcdoc', '

Candidate B

'); + expect(screen.queryByRole('alert')).not.toBeInTheDocument(); + expect(screen.getByRole('link', { name: 'Download PDF' })).toHaveAttribute('href', '/api/public-cv/slug-b/pdf'); +}); + +test.each(['success', 'failure'])('a late %s from the previous slug cannot replace the current CV or its title', async (outcome) => { + const previous = deferred(); + mockedApi.get.mockImplementationOnce(() => previous.promise).mockResolvedValueOnce({ data: { html: '

Candidate B

', name: 'Candidate B' } } as any); + renderPage('/cv/slug-a'); + fireEvent.click(screen.getByRole('button', { name: 'Open B' })); + expect(await screen.findByTitle('Public CV')).toHaveAttribute('srcdoc', '

Candidate B

'); + await act(async () => { + if (outcome === 'success') previous.resolve({ data: { html: '

Late candidate A

', name: 'Late candidate A' } }); + else previous.reject({ response: { status: 404 } }); + }); + expect(screen.getByTitle('Public CV')).toHaveAttribute('srcdoc', '

Candidate B

'); + expect(screen.queryByRole('alert')).not.toBeInTheDocument(); + expect(document.title).toBe('Candidate B — CV'); + expect(mockedApi.get).toHaveBeenCalledTimes(2); +}); + +test('language changes translate loading, failure and loaded chrome without refetching anonymous CV content', async () => { + const first = deferred(); + mockedApi.get.mockImplementationOnce(() => first.promise).mockResolvedValueOnce({ data: { html: '

Untranslated candidate facts

', name: 'Candidate' } } as any); + renderPage(); + switchLanguage('nb'); + expect(screen.getByRole('heading', { level: 1, name: 'Offentlig CV' })).toBeInTheDocument(); + expect(screen.getByRole('status')).toHaveTextContent(/Laster/i); + expect(mockedApi.get).toHaveBeenCalledTimes(1); + await act(async () => { first.reject({ response: { status: 500 } }); }); + expect(await screen.findByText('Kunne ikke laste CV')).toBeInTheDocument(); + switchLanguage('en'); + expect(screen.getByText('Could not load CV')).toBeInTheDocument(); + expect(mockedApi.get).toHaveBeenCalledTimes(1); + fireEvent.click(screen.getByRole('button', { name: 'Retry' })); + expect(await screen.findByTitle('Public CV')).toHaveAttribute('srcdoc', '

Untranslated candidate facts

'); + switchLanguage('nb'); + expect(screen.getByTitle('Offentlig CV')).toHaveAttribute('srcdoc', '

Untranslated candidate facts

'); + expect(screen.getByRole('link', { name: 'Last ned PDF' })).toHaveAttribute('href', '/api/public-cv/public-slug/pdf'); + expect(mockedApi.get).toHaveBeenCalledTimes(2); +}); + +test('the public page removes only its own noindex metadata and ignores a response after unmount', async () => { + const read = deferred(); + mockedApi.get.mockImplementationOnce(() => read.promise); + const unrelated = document.createElement('meta'); + unrelated.name = 'robots'; + unrelated.content = 'index, follow'; + document.head.appendChild(unrelated); + try { + const page = renderPage(); + const owned = Array.from(document.head.querySelectorAll('meta[name="robots"]')).find((item) => item !== unrelated)!; + expect(owned).toHaveAttribute('content', 'noindex, nofollow'); + expect(unrelated).toHaveAttribute('content', 'index, follow'); + page.unmount(); + expect(owned).not.toBeInTheDocument(); + expect(unrelated).toBeInTheDocument(); + document.title = 'Destination after unmount'; + await act(async () => { read.resolve({ data: { html: '

Late response

', name: 'Late candidate' } }); }); + expect(document.title).toBe('Destination after unmount'); + expect(unrelated).toHaveAttribute('content', 'index, follow'); + } finally { unrelated.remove(); } +}); + +test('leaving a loaded public CV restores the prior page title when its candidate title is still current', async () => { + document.title = 'Jobs dashboard — Jobbjakt'; + mockedApi.get.mockResolvedValueOnce({ data: { html: '

Candidate document

', name: 'Candidate identity' } } as any); + const page = renderPage(); + await screen.findByTitle('Public CV'); + expect(document.title).toBe('Candidate identity — CV'); + page.unmount(); + expect(document.title).toBe('Jobs dashboard — Jobbjakt'); +}); + +test('leaving a loaded public CV preserves a page title already replaced by another owner', async () => { + document.title = 'Jobs dashboard — Jobbjakt'; + mockedApi.get.mockResolvedValueOnce({ data: { html: '

Candidate document

', name: 'Candidate identity' } } as any); + const page = renderPage(); + await screen.findByTitle('Public CV'); + expect(document.title).toBe('Candidate identity — CV'); + document.title = 'Destination page — Jobbjakt'; + page.unmount(); + expect(document.title).toBe('Destination page — Jobbjakt'); +}); + +test('returning from A through B to A ignores both earlier held reads until the current A response arrives', async () => { + const originalA = deferred(); + const previousB = deferred(); + const currentA = deferred(); + mockedApi.get.mockImplementationOnce(() => originalA.promise) + .mockImplementationOnce(() => previousB.promise) + .mockImplementationOnce(() => currentA.promise); + renderPage('/cv/slug-a'); + fireEvent.click(screen.getByRole('button', { name: 'Open B' })); + fireEvent.click(screen.getByRole('button', { name: 'Open A' })); + expect(mockedApi.get.mock.calls.map(([url]) => url)).toEqual(['/public-cv/slug-a', '/public-cv/slug-b', '/public-cv/slug-a']); + await act(async () => { originalA.resolve({ data: { html: '

Stale original A

', name: 'Stale original A' } }); }); + expect(screen.queryByTitle('Public CV')).not.toBeInTheDocument(); + expect(screen.queryByRole('link', { name: 'Download PDF' })).not.toBeInTheDocument(); + expect(document.title).not.toContain('Stale original A'); + await act(async () => { previousB.reject({ response: { status: 404 } }); }); + expect(screen.queryByRole('alert')).not.toBeInTheDocument(); + expect(screen.getByRole('status')).toHaveTextContent(/Loading/i); + await act(async () => { currentA.resolve({ data: { html: '

Current A document

', name: 'Current A candidate' } }); }); + expect(await screen.findByTitle('Public CV')).toHaveAttribute('srcdoc', '

Current A document

'); + expect(screen.getByRole('link', { name: 'Download PDF' })).toHaveAttribute('href', '/api/public-cv/slug-a/pdf'); + expect(document.title).toBe('Current A candidate — CV'); + expect(mockedApi.get).toHaveBeenCalledTimes(3); }); diff --git a/job-tracker-ui/src/views/PublicCvPage.tsx b/job-tracker-ui/src/views/PublicCvPage.tsx index 8f721a0..be97571 100644 --- a/job-tracker-ui/src/views/PublicCvPage.tsx +++ b/job-tracker-ui/src/views/PublicCvPage.tsx @@ -1,43 +1,78 @@ -import React, { useEffect, useState } from "react"; +import React, { useEffect, useRef, useState } from "react"; import { useParams } from "react-router-dom"; +import { Box, Button } from "@mui/material"; import { api } from "../api"; +import { useI18n } from "../i18n/I18nProvider"; +import { PageHeader } from "../layout/PageLayout"; +import ViewStateNotice from "../components/ViewStateNotice"; const A4_WIDTH_PX = (210 / 25.4) * 96; const A4_HEIGHT_PX = (297 / 25.4) * 96; +type PublicCvRead = { + slug?: string; + html?: string; + name?: string; + error?: "missing" | "transient"; + loading: boolean; + height: number; +}; + // Anonymous read-only public CV at /cv/:slug. Renders the server-produced HTML in a sandboxed // iframe. noindex is enforced server-side (X-Robots-Tag) and reinforced with a meta tag here. export default function PublicCvPage() { const { slug } = useParams(); - const pdfUrl = `${api.defaults.baseURL}/public-cv/${slug}/pdf`; - const [html, setHtml] = useState(null); - const [error, setError] = useState(null); + const { t } = useI18n(); + const pdfUrl = `${api.defaults.baseURL}/public-cv/${encodeURIComponent(slug ?? "")}/pdf`; + const [read, setRead] = useState({ slug, loading: true, height: A4_HEIGHT_PX }); + const [retry, setRetry] = useState(0); + const pending = useRef(false); + const headingRef = useRef(null); + const previousTitle = useRef(""); + const ownedTitle = useRef(null); const [frameScale, setFrameScale] = useState(1); - const [frameHeight, setFrameHeight] = useState(A4_HEIGHT_PX); + // Hide the old document on the first render of a new route, before its effect runs. + const current = read.slug === slug ? read : null; + const loading = !current || current.loading; + const frameHeight = current?.height ?? A4_HEIGHT_PX; + const title = t("publicCvTitle"); + const unavailable = current?.error === "missing"; + const errorTitle = t(unavailable ? "publicCvUnavailableTitle" : "publicCvLoadFailedTitle"); useEffect(() => { + const originalTitle = document.title; + previousTitle.current = originalTitle; const meta = document.createElement("meta"); meta.name = "robots"; meta.content = "noindex, nofollow"; document.head.appendChild(meta); + return () => { + meta.remove(); + if (document.title === ownedTitle.current) document.title = originalTitle; + }; + }, []); + useEffect(() => { let alive = true; - api.get<{ html: string; name: string }>(`/public-cv/${slug}`) - .then((r) => { if (alive) { setHtml(r.data.html); if (r.data.name) document.title = `${r.data.name} — CV`; } }) + pending.current = true; + setRead({ slug, loading: true, height: A4_HEIGHT_PX }); + api.get<{ html: string; name: string }>(`/public-cv/${encodeURIComponent(slug ?? "")}`) + .then((r) => { if (alive) setRead({ slug, html: r.data.html, name: r.data.name, loading: false, height: A4_HEIGHT_PX }); }) .catch((err) => { if (!alive) return; // 404 = unknown slug or the owner made it private again. Anything else is a transient error. - setError(err?.response?.status === 404 - ? "This CV isn’t available. The link may be wrong, or the owner has made it private." - : "This CV can’t be loaded right now. Please try again in a moment."); - }); + setRead({ slug, error: err?.response?.status === 404 ? "missing" : "transient", loading: false, height: A4_HEIGHT_PX }); + }) + .finally(() => { if (alive) pending.current = false; }); + return () => { alive = false; }; + }, [slug, retry]); - return () => { - alive = false; - document.head.removeChild(meta); - }; - }, [slug]); + useEffect(() => { + const nextTitle = current?.name ? `${current.name} — CV` : previousTitle.current; + document.title = nextTitle; + ownedTitle.current = nextTitle; + }, [current?.name]); useEffect(() => { const updateScale = () => setFrameScale(Math.min(1, Math.max(0.1, (window.innerWidth - 32) / A4_WIDTH_PX))); @@ -46,41 +81,38 @@ export default function PublicCvPage() { return () => window.removeEventListener("resize", updateScale); }, []); - if (error) { - return ( -
- {error} -
- ); - } - if (html === null) { - return ( -
- Loading… -
- ); - } - return ( -
- - Download PDF - -
+ + {t("publicCvDownloadPdf")} : undefined} /> + { + if (pending.current || loading) return; + pending.current = true; + headingRef.current?.focus(); + setRead({ slug, loading: true, height: A4_HEIGHT_PX }); + setRetry((value) => value + 1); + }} /> + + {current?.html !== undefined &&