test(ui): qualify career evidence read and recovery states

This commit is contained in:
cesnimda
2026-11-04 09:06:47 +01:00
parent 505b0c01b9
commit b5b9069d1e
228 changed files with 3883 additions and 7 deletions
+2
View File
@@ -1,5 +1,7 @@
# A3-IM10 Cross-application qualification
4 November Evidence Bank qualification on unchanged runtime **a84a97cb61eda975d73690c818d56666f0929515**:36 controlled journeys/216 rendered states PASSED, drafts retained across sections/retry, valid drafts blocked while read fails, deletion cancelled. Zero writes, preview requests, page exceptions or axe violations;108 company fixture reads unavailable. Component/test unchanged fromb31; no unnecessary rebuild or native rerun. Existing form/owned evidence boundaries intentionally retained. See visual-correction/EVIDENCE_BANK_REVIEW.md. Comparison viewer21 families/756 image bindings/28 frozen references;42 artifact selections passed separately. Settings receipt **505b0c01b953002ef777eca9aea550715b217216** published/readback-verified with1,268 integrity checks. Full IM10/34 routes/57 groups, connected journeys, owner/native/European/Phase10/security/recovery/release acceptance remain OPEN.
4 November Settings/shared-feedback runtime **a84a97cb61eda975d73690c818d56666f0929515**:70 selected native cases/eight suites, types/full lint/export build and36 configurations/252 Settings states PASSED. QuickCapture decorative surface removed; actual interaction found and fixed the ToastProvider-outside-theme contrast defect. Feedback remains visible during contrast analysis. Zero writes/proposals/browser exceptions/axe violations;36 company reads unavailable fixtures. Viewer20 families/720 actual bindings/28 frozen references;40 artifact selections passed separately. Admin receipt **0e2ccfe98406d5d896c74482b0ba08a976c74c4a** is published/readback-verified with1,163 integrity checks. Evidence Bank verifier extension remains separate WIP, not part of Settings qualification. All final roadmap/owner/security/recovery/native gates remain OPEN.
4 November administration runtime **d651ce7aa41c2e296db20c2a28b2abe093884756**:60 native cases/four suites, types/full lint/export build and36 configurations/324 rendered admin states PASSED. Open diagnostic/audit/processing sections and divided benchmark findings remove decorative nesting. All reads synthetic;216 company reads unavailable and144 deliberate unavailable system reads. No mutation/probe/maintenance/SMTP/undo/restore/user action executed. See visual-correction/ADMIN_REVIEW.md for exact scope, source and limits.17-family comparison viewer has612 actual image bindings/26 immutable references and34 artifact selections; these are not extra application checks. Permission/action/error/human/owner and full roadmap acceptance remain OPEN. Settings read-only pilot is independent WIP and excluded from administration qualification.
@@ -0,0 +1,11 @@
# Career Evidence Bank rendered review
4 November 2026. Source `a84a97cb61eda975d73690c818d56666f0929515`, after published Settings receipt505b0c01. The actual Evidence Bank and its native test source are byte-identical to the qualifiedb31ce617 source (`git diff` empty for both files). No application source, dependency, data contract or rendering build changed in this package. Reuse the sealed a84 export and its source-bound type/lint/build evidence; no fresh build or native test run is claimed.
PASSED:36 controlled journeys/216 axe scans and screenshots over all nine widths, EN/NB and light/dark. Six states: unsaved form draft, populated items, deletion confirmation, empty bank, read failure with a valid draft blocked from saving, successful retry preserving that draft and re-enabling Save. Draft also survives Overview/Evidence section changes. Deletion is cancelled; every non-GET request is blocked; zero mutations and zero preview/model requests. Synthetic nurse/electrician examples identify their provenance. No factual user evidence or provider data used.
The form and individually named evidence articles retain meaningful borders. They separate editing from existing factual records and their destructive controls; this is not an enclosing-card-inside-card collection. Their typography, input/button treatment and dividers use the shared A3 system. No safe decorative-removal candidate was invented, and no behavior changed solely to flatten the screen. The approved Career reference is an overview rather than a literal Evidence Bank mock-up; compare navigation, hierarchy and component treatment, not identical content or whole-image pixels.
All final scans have zero axe violations/page exceptions/unexpected writes. Deliberate503 read failure/retry is part of each journey; unrelated companies reads remain unavailable fixtures. The verifier's scopes are explicit: Profile editing, CV/letter/import/export, actual evidence Save/Delete, permission/session-race security and backend end-to-end are NOT RUN. Existing accepted native Evidence Bank tests are reused only where their component/test/dependencies remain unchanged. This is rendered workflow evidence, not independent final security acceptance.
Remaining Career route work: restore/conflict/import processing/failure/empty states, template/preview services and the complete Profile→document reuse and CV→export journeys. Native-device, screen-reader, native-language and owner visual acceptance remain OPEN. No extra owner decision needed for the next independent IM10 check. Rollback of this evidence package affects only its verifier/reports; no data rollback required.
File diff suppressed because it is too large Load Diff
@@ -178,9 +178,9 @@
"CareerWorkspacePage"
],
"visualStatus": "OPEN_SURFACES_SCOPED_REVIEW_FULL_ACCEPTANCE_OPEN",
"afterStatus": "PASSED:36 configurations /216 Career-family states;14 keyboard edit targets; synthetic revisions/import selection only; unavailable services disclosed",
"afterStatus": "PASSED:36 configurations /216 Career-family states;14 keyboard edit targets; synthetic revisions/import selection only; unavailable services disclosed; successor Evidence Bank36/216 states passed, zero writes; other route states remain open",
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion",
"evidence": "evidence/career/BROWSER.json; CAREER_DOCUMENT_ACTIVITY.md"
"evidence": "evidence/career/BROWSER.json; CAREER_DOCUMENT_ACTIVITY.md; EVIDENCE_BANK_REVIEW.md; evidence/career-evidence/BROWSER.json"
},
{
"route": "/career/builder",
@@ -367,7 +367,6 @@
"ownerVisualAcceptance": "OPEN",
"knownRemainingStateReviews": {
"/career": [
"Evidence bank actual rendering",
"Profile restore/conflict and error/empty review",
"Import failure/processing/empty states and all template previews"
],
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,147 @@
{
"screens": [
{
"width": 320,
"language": "en",
"mode": "light",
"state": "form-draft",
"capture": "targeted viewport",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "light",
"state": "populated",
"capture": "targeted viewport",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "light",
"state": "delete-confirmation",
"capture": "targeted viewport",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "light",
"state": "empty",
"capture": "viewport at top",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "light",
"state": "error",
"capture": "viewport at top",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "light",
"state": "retry",
"capture": "targeted viewport",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "form-draft",
"capture": "targeted viewport",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "populated",
"capture": "targeted viewport",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "delete-confirmation",
"capture": "targeted viewport",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "empty",
"capture": "full page at top",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "error",
"capture": "full page at top",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "retry",
"capture": "targeted viewport",
"violations": []
}
],
"journeys": [
{
"width": 320,
"language": "en",
"mode": "light",
"evidenceDraftAcrossSections": "PASS",
"deletionCancelled": "PASS",
"emptyErrorRetry": "PASS",
"evidenceSaveDelete": "NOT RUN",
"editorImportAndExport": "NOT RUN"
},
{
"width": 1440,
"language": "en",
"mode": "light",
"evidenceDraftAcrossSections": "PASS",
"deletionCancelled": "PASS",
"emptyErrorRetry": "PASS",
"evidenceSaveDelete": "NOT RUN",
"editorImportAndExport": "NOT RUN"
}
],
"errors": [],
"unexpectedWrites": [],
"mockedWrites": [],
"renderReads": 0,
"unavailableReads": [
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies"
],
"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"
],
"limits": [
"All API and preview responses are controlled fixtures; not backend end-to-end or physical PDF qualification.",
"Evidence-only scope: delete confirmation cancelled, all mutations blocked; profile/editor/import/export workflows NOT RUN.",
"No native device, screen reader, provider, integrated security, deployment or release acceptance."
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

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