test(applications): qualify the explicit selection mode
@@ -6,14 +6,20 @@ Owner addendum received 9 November 2026. Source `E:/Storage/Projects/Active/temp
|
||||
| --- | --- | --- |
|
||||
| Admin information isolation | First slice published on `codex/security-offline-preflight` at `ecadc29b`. Reproduced and removed imported mail subjects from the Admin Audit projection. 62 selected offline tests passed, including owner-bound notices and operations. | Integrated security, remaining delivery paths, broader minimisation and deployment checks remain separate. |
|
||||
| Discover Jobs | [Search-first layout](visual-correction/DISCOVERY_SEARCH_FIRST.md) moves the query above filters and qualifies the existing NAV request, keyboard submit and source disclosure. | Expose new filters, map and multilingual suggestions only with qualified data and the existing GJ architecture. Mobile filter drawer and focused detail remain open. |
|
||||
| Applications | Review title/employer hierarchy, navigation and explicit bulk mode with keyboard and mobile parity. | Preserve status/revision writes, all current actions, Kanban, filtering, sorting and selection operations. |
|
||||
| Applications | [Title-first rows and explicit bulk mode](visual-correction/APPLICATION_SELECTION_REVIEW.md) qualified at 36 configurations. | Secondary action consolidation and final native/visual review remain open. |
|
||||
| Admin Users and Audit | Verify row alignment and review existing read metadata, available filters and expandable records. The MFA proposal is in `docs/security/MFA_RECOVERY_PROPOSAL.md` on the security branch. | 2FA recovery and private support access require explicit owner approval of their technical and privacy designs. |
|
||||
| Job Correspondence | Continue inbox layout, mailbox-status presentation and existing explicit consent flow. | Provider verification, restricted scopes, multiple-account persistence and retention decisions retain their gates. Signing in grants no mailbox access. |
|
||||
| System Status | Review current operational owners and distinguish current, stale and unavailable readings. Keep the CV benchmark while qualification depends on it. | Predefined diagnostics require isolated execution, role checks and audit. Live diagnostics, workers and arbitrary command execution are outside this scope. |
|
||||
| Terminology | Verify the application preparation action before changing EN/NB display copy. | Preserve internal routes, identifiers, versions and data contracts. |
|
||||
| Bookmarklet | Compare bookmarklet capture with the existing supported URL import and manual fallback. | Preserve existing workflows until an accepted replacement and retirement approval. |
|
||||
| Terminology | “Prepare application” / “Klargjør søknaden” is visible in the scoped EN/NB application checks. | Continue broader terminology and European catalogue review. |
|
||||
| Bookmarklet | [Dependency review](#bookmarklet-dependency-review) confirms the URL form already provides the primary import path. | Retain the existing bookmark-bar shortcut pending device parity and retirement approval. |
|
||||
| EUROPE-READY-01 | [Coverage companion](../i18n/00/EUROPE_RELEASE_COVERAGE.md) added for all 59 existing candidate codes. | Qualified data/licences, implementation entry, additional locales, native review and release approval are separate. |
|
||||
|
||||
European acceptance requires independent residence, search countries and locations, interface language, job-ad languages and per-document languages. The query, accessible location tree and optional map must consume the same canonical location selection. Selecting a parent covers its area. Selecting children refines that branch, and independent branches combine. Changing countries clears only incompatible filters with an explanation. It preserves language and saved search definitions. Provider scope, map coverage, catalogue support and production availability must each have their own status.
|
||||
|
||||
Keep the 34 routes and 57 preservation groups reconciled in the existing A3 registers. Continue independent development under IM10 and the applicable phase gates. Production launch requires the country-by-country, native, accessibility, provider, security and recovery evidence in the addendum.
|
||||
|
||||
## Bookmarklet dependency review
|
||||
|
||||
`QuickCaptureCard` opens the existing `/?add=` route with the current page URL. It does not extract page content. The PWA share target and browser extension also use the capture route, and `App.tsx` resolves the URL into the existing Add Job flow. Removing the route would break multiple supported entry points.
|
||||
|
||||
The existing Add Job form supports direct URL paste, the same preview API and manual entry if preview is unavailable. The extension's URL contract passed all three local Node cases. Earlier synthetic coverage verified the Settings copy control and Discover-to-tracker preview/review journey. Neither proves that the extension or PWA replaces bookmark-bar capture on every supported device. No supported capture path was removed. Test installation, mobile sharing and bookmark-bar parity before nominating retirement.
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# A3-IM10 Cross-application qualification
|
||||
|
||||
Application list successor `1246994c` moves role ahead of employer and shows bulk controls in explicit selection mode. Passed 57 native tests, types, lint, build and 72 rendered states. [Application selection evidence](visual-correction/APPLICATION_SELECTION_REVIEW.md)
|
||||
|
||||
Discover Jobs search-first layout at `0540e84f` passed 26 native cases, types, lint, build and 108 controlled states across 36 configurations. [Search-first evidence](visual-correction/DISCOVERY_SEARCH_FIRST.md)
|
||||
|
||||
The owner's additional A3 refinements and mandatory Europe-ready criteria are tracked in the [refinement and Europe register](REFINEMENT_AND_EUROPE.md). It extends the current milestones and preserves their separate security, provider and release gates.
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# Application list and bulk selection
|
||||
|
||||
Runtime `1246994cca9a3ba7cb89eb4605b3dc77b5d7c322`. Table rows lead with the role. Phone rows place employer beneath it. Existing employer sorting and optional columns remain available. Row navigation, status/edit/delete controls, Board, filters and saved views keep their owners.
|
||||
|
||||
The ordinary Applications table/list has no selection checkboxes. The labelled selection toggle reveals the existing row and select-all controls and bulk actions. Leaving selection mode clears selected IDs. A late partial bulk response cannot reinstate an abandoned selection. Board transitions clear the selection, and Trash retains its existing bulk controls.
|
||||
|
||||
The shared workflow caption now reads “Prepare application” and “Klargjør søknaden”. The action opens existing preparation work in the tailored-CV workspace. It retains its action key, route and write contracts.
|
||||
|
||||
The focused red test reproduced always-visible checkboxes. One initial combined test expected the old checkbox behaviour after Table/Board navigation. Updated that test to enter explicit mode and verify it resets after switching. The final 57 tests across five suites passed, including late bulk completion and query retention. Type-check, lint and build passed.
|
||||
|
||||
The 320 and 1440 px pilots passed with ordinary and selected states. The keyboard journey enters selection, selects a row, cancels the existing bulk-delete confirmation, exits selection and switches Board/Table with the same query. Desktop and phone screenshots show the title-first order and preparation label. No deletion was performed.
|
||||
|
||||
The full matrix passed 36 configurations across nine widths, EN/NB and both themes. All 72 captures passed scoped axe checks with zero page errors, fixture misses or writes. Pilot cases overlap the matrix and are not added. The real-device review and secondary row action consolidation remain open.
|
||||
@@ -35,6 +35,7 @@ Owner correction: 3 November 2026. This register extends IM10 and the original 3
|
||||
| V25 | Audit table timestamp | Tablet Bokmål capture wraps both the column heading and timestamp inside words | RESOLVED in `2dc8fe4c` | All six columns and locale formatting retained. Final fixture row stays compact. See [Audit date review](AUDIT_DATE_REVIEW.md) |
|
||||
| V26 | Embedded Gmail review counts | One thread/suggestion renders “1 candidate threads” and “1 suggested jobs” | RESOLVED in `e8e7d839` | EN/NB singular cases, zero/plural and live language switching verified. See [review count wording](MAIL_REVIEW_COUNTS.md) |
|
||||
| V27 | Public homepage baseline | Earlier mockups, missing landmarks and crawlable locale content, anonymous preference request rejected | OPEN in LAUNCH-SITE-01 | [Rendered baseline](LANDING_BASELINE_REVIEW.md) captures mobile, tablet and desktop without choosing a launch design |
|
||||
| V28 | Application list | Ordinary rows show permanent selection controls and company before the role | RESOLVED in `1246994c` | [Selection review](APPLICATION_SELECTION_REVIEW.md) covers title-first hierarchy and the explicit mode. Secondary action consolidation remains open. |
|
||||
|
||||
The owner-approved design foundation remains original A1 dashboard, D1 visual system, B1 tracking, editor left / preview right, application context right, desktop sidebar and hybrid mobile navigation. No controls, imports, revisions, permissions or provider rights may be removed to obtain visual simplicity.
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
"JobTable"
|
||||
],
|
||||
"visualStatus": "FLAT_ROWS_CORRECTED_PENDING_FINAL_VISUAL_REVIEW",
|
||||
"afterStatus": "PASSED:36 configurations; table/focused table/board/Add Job=144 scans; all row outline checks visible and phone outlines unclipped; singular count successor36/72 table/board states at9bfc51b0,zero writes",
|
||||
"afterStatus": "PASSED:36 configurations /72 title and explicit selection states at 1246994c. Earlier workspace, count, focus and Add Job evidence retained.",
|
||||
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion",
|
||||
"evidence": "evidence/applications-flat/BROWSER.json; APPLICATION_FLAT.md; MATCHING_COUNT_REVIEW.md; evidence/matching-count/BROWSER.json"
|
||||
"evidence": "APPLICATION_SELECTION_REVIEW.md; evidence/applications-selection/BROWSER.json; earlier APPLICATION_FLAT.md and MATCHING_COUNT_REVIEW.md"
|
||||
},
|
||||
{
|
||||
"route": "/jobs/:id",
|
||||
|
||||
@@ -0,0 +1,883 @@
|
||||
{
|
||||
"screens": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 360,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 360,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 360,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 360,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 360,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 360,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 360,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 360,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 430,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 430,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 430,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 430,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 430,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 430,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 430,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 430,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1024,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1024,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1024,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1024,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1024,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1024,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1024,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1024,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1280,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1280,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1280,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1280,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1280,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1280,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1280,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1280,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
}
|
||||
],
|
||||
"journeys": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 360,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 360,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 360,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 360,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 390,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 430,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 430,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 430,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 430,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 768,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1024,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1024,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1024,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1024,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1280,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1280,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1280,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1280,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"language": "en",
|
||||
"mode": "dark",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"language": "nb",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1920,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
}
|
||||
],
|
||||
"aliases": [],
|
||||
"focusChecks": [],
|
||||
"errors": [],
|
||||
"unexpectedWrites": [],
|
||||
"mockedWrites": [],
|
||||
"unavailableReads": [],
|
||||
"blockedExternal": [
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com"
|
||||
],
|
||||
"limits": [
|
||||
"controlled fixtures, not real backend integration",
|
||||
"secondary service reads may return honest unavailable states",
|
||||
"no native device, provider, model, security or release qualification"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"screens": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "ordinary",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"state": "selection",
|
||||
"violations": []
|
||||
}
|
||||
],
|
||||
"journeys": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
},
|
||||
{
|
||||
"width": 1440,
|
||||
"language": "en",
|
||||
"mode": "light",
|
||||
"keyboardSelectionAndCancel": "PASS",
|
||||
"titleBeforeEmployer": "PASS",
|
||||
"boardAndQueryRetained": "PASS",
|
||||
"mutations": "NOT RUN"
|
||||
}
|
||||
],
|
||||
"aliases": [],
|
||||
"focusChecks": [],
|
||||
"errors": [],
|
||||
"unexpectedWrites": [],
|
||||
"mockedWrites": [],
|
||||
"unavailableReads": [],
|
||||
"blockedExternal": [
|
||||
"https://fonts.googleapis.com",
|
||||
"https://fonts.googleapis.com"
|
||||
],
|
||||
"limits": [
|
||||
"controlled fixtures, not real backend integration",
|
||||
"secondary service reads may return honest unavailable states",
|
||||
"no native device, provider, model, security or release qualification"
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 73 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 89 KiB |
|
After Width: | Height: | Size: 90 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 68 KiB |
|
After Width: | Height: | Size: 83 KiB |
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 90 KiB |
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 68 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 85 KiB |
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 90 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 68 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 88 KiB |
|
After Width: | Height: | Size: 90 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 68 KiB |
@@ -26,7 +26,8 @@ body{margin:24px;font:16px/1.5 system-ui,sans-serif;color:#302744;background:#f5
|
||||
<script>
|
||||
const screens = [
|
||||
{name:'Dashboard',reference:'dashboard',folder:'dashboard',state:'dashboard',source:'a7d72673',scope:'Default density partially improved; saved geometry and all widgets retained. Full A3 visual parity remains open.'},
|
||||
{name:'Application table',reference:'applications',folder:'applications-flat',state:'table',source:'b6d830f2',scope:'Scoped populated table/phone rows; columns and actions retained.'},
|
||||
{name:'Application table',reference:'applications',folder:'applications-selection',state:'ordinary',source:'1246994c',scope:'Title before employer. Selection controls are absent in ordinary browsing.'},
|
||||
{name:'Application bulk selection',reference:'applications',folder:'applications-selection',state:'selection',source:'1246994c',scope:'Explicit selection reveals existing controls. The delete confirmation was cancelled.'},
|
||||
{name:'Application detail',reference:'detail',folder:'applications-flat',state:'detail',source:'b6d830f2',scope:'Recorded role hierarchy and right-side context; scoped fixture only.'},
|
||||
{name:'Job discovery',reference:'discover',folder:'discovery-search-first',state:'initial',source:'0540e84f',scope:'Search above filters, with contextual source disclosure. Existing NAV form and attribution retained.'},
|
||||
{name:'Discovery to tracker',reference:'applications',folder:'discovery-track',state:'tracked',source:'a84a97cb',scope:'Connected preview/review/create fixture journey. Original source fields checked; provider/backend qualification separate. Historical count grammar is corrected in9bfc51b0; select Matching count table/board.'},
|
||||
|
||||