293 lines
14 KiB
JSON
293 lines
14 KiB
JSON
{
|
||
"scope": "Bounded P6-03 Career mobile selector floating-label correction only; no human/device acceptance",
|
||
"sourceChange": "CareerProfilePage mobile FormControl padding changed to margin with automatic width; redundant InputLabel left margin removed. Paper clipping, desktop Tabs, handlers and route/save ownership unchanged.",
|
||
"red": {
|
||
"sourceReport": ".artifacts/phase6/current/ui/attempts/label-084252/label.json",
|
||
"sourceReportSha256": "2494352d49407649937dfc0485a601a7f909d9421305705de8ad5f986e055a44",
|
||
"stats": {
|
||
"startTime": "2026-10-11T08:38:01.973Z",
|
||
"duration": 37396.102,
|
||
"expected": 0,
|
||
"skipped": 0,
|
||
"unexpected": 2,
|
||
"flaky": 0
|
||
},
|
||
"cases": [
|
||
{
|
||
"test": "[P6-03] nb/dark Career selector floating label is not clipped at 320px",
|
||
"status": "failed",
|
||
"retry": 0,
|
||
"errors": [
|
||
"Error: expect(received).toBeGreaterThanOrEqual(expected)\n\nExpected: >= 208\nReceived: 200\n\n 174 | const label = navigation.locator('#career-workspace-section-label');\n 175 | const bounds = await label.evaluate(element => { const label = element.getBoundingClientRect(); const nav = element.closest('nav')!.getBoundingClientRect(); return { labelTop: label.top, labelBottom: label.bottom, navTop: nav.top, navBottom: nav.bottom }; });\n> 176 | expect(bounds.labelTop).toBeGreaterThanOrEqual(bounds.navTop);\n | ^\n 177 | expect(bounds.labelBottom).toBeLessThanOrEqual(bounds.navBottom);\n 178 | const evidence = await collect(page, info, sample, 'career-selector-label');\n 179 | expect(evidence.geometry.pageHorizontalOverflow).toBe(0);\n at E:\\Storage\\Projects\\Active\\Job tracker\\job-tracker-ui\\e2e\\responsive-accessibility-audit.spec.ts:176:29"
|
||
],
|
||
"screenshot": {
|
||
"file": "screenshots/career-selector-label-red-320-nb.png",
|
||
"sha256": "ad5ad411a65dcdad687c15226143b4a657a7c87b0fe3b121bad0e8a79c4746b0",
|
||
"sourceAttachment": "screenshot",
|
||
"actualSourceFile": ".artifacts/phase6/current/ui/attempts/label-084252/label-results/responsive-accessibility-a-63ce6-bel-is-not-clipped-at-320px-chromium/test-failed-1.png",
|
||
"inspectedByAgent": true
|
||
},
|
||
"knownBoundsFromFailingAssertion": {
|
||
"labelTop": 200,
|
||
"navTop": 208,
|
||
"otherBounds": "Not attached in this initial RED test; do not infer"
|
||
}
|
||
},
|
||
{
|
||
"test": "[P6-03] en/light Career selector floating label is not clipped at 390px",
|
||
"status": "failed",
|
||
"retry": 0,
|
||
"errors": [
|
||
"Error: expect(received).toBeGreaterThanOrEqual(expected)\n\nExpected: >= 208\nReceived: 200\n\n 174 | const label = navigation.locator('#career-workspace-section-label');\n 175 | const bounds = await label.evaluate(element => { const label = element.getBoundingClientRect(); const nav = element.closest('nav')!.getBoundingClientRect(); return { labelTop: label.top, labelBottom: label.bottom, navTop: nav.top, navBottom: nav.bottom }; });\n> 176 | expect(bounds.labelTop).toBeGreaterThanOrEqual(bounds.navTop);\n | ^\n 177 | expect(bounds.labelBottom).toBeLessThanOrEqual(bounds.navBottom);\n 178 | const evidence = await collect(page, info, sample, 'career-selector-label');\n 179 | expect(evidence.geometry.pageHorizontalOverflow).toBe(0);\n at E:\\Storage\\Projects\\Active\\Job tracker\\job-tracker-ui\\e2e\\responsive-accessibility-audit.spec.ts:176:29"
|
||
],
|
||
"screenshot": {
|
||
"file": "screenshots/career-selector-label-red-390-en.png",
|
||
"sha256": "379303b21c316ed189b3550fd882b42ecdbd9d9f64064af1794bee5480e9547d",
|
||
"sourceAttachment": "screenshot",
|
||
"actualSourceFile": ".artifacts/phase6/current/ui/attempts/label-084252/label-results/responsive-accessibility-a-6de9e-bel-is-not-clipped-at-390px-chromium/test-failed-1.png",
|
||
"inspectedByAgent": true
|
||
},
|
||
"knownBoundsFromFailingAssertion": {
|
||
"labelTop": 200,
|
||
"navTop": 208,
|
||
"otherBounds": "Not attached in this initial RED test; do not infer"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"intermediate": {
|
||
"sourceReport": ".artifacts/phase6/current/ui/attempts/label-084429/label.json",
|
||
"sourceReportSha256": "5b32940f1f62c9ab0d513327e4a59fceffce5d1ec8f61794416db650e7ff08bf",
|
||
"stats": {
|
||
"startTime": "2026-10-11T08:42:52.719Z",
|
||
"duration": 50984.018,
|
||
"expected": 0,
|
||
"skipped": 0,
|
||
"unexpected": 2,
|
||
"flaky": 0
|
||
},
|
||
"cases": [
|
||
{
|
||
"test": "[P6-03] nb/dark Career selector floating label is not clipped at 320px",
|
||
"status": "failed",
|
||
"retry": 0,
|
||
"errors": [
|
||
"Error: expect(page).toHaveURL(expected) failed\n\nExpected pattern: /section=overview/\nReceived string: \"http://localhost:3300/career\"\nTimeout: 5000ms\n\nCall log:\n - Expect \"toHaveURL\" with timeout 5000ms\n 14 × locator resolved to <html lang=\"nb-NO\" data-color-scheme=\"dark\">…</html>\n - unexpected value \"http://localhost:3300/career\"\n\n\n 181 | await navigation.getByRole('combobox').press('Enter');\n 182 | await page.getByRole('option', { name: translations[language].careerWorkspaceOverviewTab, exact: true }).press('Enter');\n> 183 | await expect(page).toHaveURL(/section=overview/);\n | ^\n 184 | });\n 185 | }\n 186 |\n at E:\\Storage\\Projects\\Active\\Job tracker\\job-tracker-ui\\e2e\\responsive-accessibility-audit.spec.ts:183:24"
|
||
],
|
||
"nativeGeometry": {
|
||
"sample": {
|
||
"area": "profile",
|
||
"path": "/career?section=profile",
|
||
"width": 320,
|
||
"language": "nb",
|
||
"theme": "dark"
|
||
},
|
||
"bounds": {
|
||
"labelTop": 210,
|
||
"labelBottom": 225.09375,
|
||
"navTop": 208,
|
||
"navBottom": 272
|
||
},
|
||
"proofKind": "Native CSS label bounds versus clipping navigation container; no human/device acceptance"
|
||
},
|
||
"nativeAudit": {
|
||
"state": "profile-320x900-nb-dark-career-selector-label",
|
||
"sample": {
|
||
"area": "profile",
|
||
"path": "/career?section=profile",
|
||
"width": 320,
|
||
"language": "nb",
|
||
"theme": "dark"
|
||
},
|
||
"viewport": {
|
||
"width": 320,
|
||
"height": 900,
|
||
"devicePixelRatio": 1
|
||
},
|
||
"appChromeHorizontalOverflowCssPx": 0,
|
||
"axeViolations": [],
|
||
"axeIncompleteRules": [
|
||
{
|
||
"id": "color-contrast",
|
||
"nodes": 44
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"test": "[P6-03] en/light Career selector floating label is not clipped at 390px",
|
||
"status": "failed",
|
||
"retry": 0,
|
||
"errors": [
|
||
"Error: expect(page).toHaveURL(expected) failed\n\nExpected pattern: /section=overview/\nReceived string: \"http://localhost:3300/career\"\nTimeout: 5000ms\n\nCall log:\n - Expect \"toHaveURL\" with timeout 5000ms\n 14 × locator resolved to <html lang=\"en\" data-color-scheme=\"light\">…</html>\n - unexpected value \"http://localhost:3300/career\"\n\n\n 181 | await navigation.getByRole('combobox').press('Enter');\n 182 | await page.getByRole('option', { name: translations[language].careerWorkspaceOverviewTab, exact: true }).press('Enter');\n> 183 | await expect(page).toHaveURL(/section=overview/);\n | ^\n 184 | });\n 185 | }\n 186 |\n at E:\\Storage\\Projects\\Active\\Job tracker\\job-tracker-ui\\e2e\\responsive-accessibility-audit.spec.ts:183:24"
|
||
],
|
||
"nativeGeometry": {
|
||
"sample": {
|
||
"area": "profile",
|
||
"path": "/career?section=profile",
|
||
"width": 390,
|
||
"language": "en",
|
||
"theme": "light"
|
||
},
|
||
"bounds": {
|
||
"labelTop": 210,
|
||
"labelBottom": 225.09375,
|
||
"navTop": 208,
|
||
"navBottom": 272
|
||
},
|
||
"proofKind": "Native CSS label bounds versus clipping navigation container; no human/device acceptance"
|
||
},
|
||
"nativeAudit": {
|
||
"state": "profile-390x900-en-light-career-selector-label",
|
||
"sample": {
|
||
"area": "profile",
|
||
"path": "/career?section=profile",
|
||
"width": 390,
|
||
"language": "en",
|
||
"theme": "light"
|
||
},
|
||
"viewport": {
|
||
"width": 390,
|
||
"height": 900,
|
||
"devicePixelRatio": 1
|
||
},
|
||
"appChromeHorizontalOverflowCssPx": 0,
|
||
"axeViolations": [],
|
||
"axeIncompleteRules": [
|
||
{
|
||
"id": "color-contrast",
|
||
"nodes": 44
|
||
}
|
||
]
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"green": {
|
||
"sourceReport": ".artifacts/phase6/current/ui/label.json",
|
||
"sourceReportSha256": "81b73323d902b63812d36228deae29a559767f209ce4a0f4885632d6e644b84a",
|
||
"stats": {
|
||
"startTime": "2026-10-11T08:44:30.468Z",
|
||
"duration": 39406.638,
|
||
"expected": 2,
|
||
"skipped": 0,
|
||
"unexpected": 0,
|
||
"flaky": 0
|
||
},
|
||
"cases": [
|
||
{
|
||
"test": "[P6-03] nb/dark Career selector floating label is not clipped at 320px",
|
||
"status": "passed",
|
||
"retry": 0,
|
||
"errors": [],
|
||
"nativeGeometry": {
|
||
"sample": {
|
||
"area": "profile",
|
||
"path": "/career?section=profile",
|
||
"width": 320,
|
||
"language": "nb",
|
||
"theme": "dark"
|
||
},
|
||
"bounds": {
|
||
"labelTop": 210,
|
||
"labelBottom": 225.09375,
|
||
"navTop": 208,
|
||
"navBottom": 272
|
||
},
|
||
"proofKind": "Native CSS label bounds versus clipping navigation container; no human/device acceptance"
|
||
},
|
||
"screenshot": {
|
||
"file": "screenshots/career-selector-label-green-320-nb.png",
|
||
"sha256": "ccf5b6d77f7804f76bee27a22de3b13d7b82844e45adfbd731a0c52ea53f0beb",
|
||
"sourceAttachment": "profile-320x900-nb-dark-career-selector-label",
|
||
"actualSourceFile": "E:/Storage/Projects/Active/Job tracker/.artifacts/phase6/current/ui/label-results/responsive-accessibility-a-63ce6-bel-is-not-clipped-at-320px-chromium/attachments/profile-320x900-nb-dark-career-selector-label-ba52293a03288bc846e536f35fb021b4f7ef3bfd.png",
|
||
"inspectedByAgent": true
|
||
},
|
||
"nativeAudit": {
|
||
"state": "profile-320x900-nb-dark-career-selector-label",
|
||
"sample": {
|
||
"area": "profile",
|
||
"path": "/career?section=profile",
|
||
"width": 320,
|
||
"language": "nb",
|
||
"theme": "dark"
|
||
},
|
||
"viewport": {
|
||
"width": 320,
|
||
"height": 900,
|
||
"devicePixelRatio": 1
|
||
},
|
||
"appChromeHorizontalOverflowCssPx": 0,
|
||
"axeViolations": [],
|
||
"axeIncompleteRules": [
|
||
{
|
||
"id": "color-contrast",
|
||
"nodes": 44
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"test": "[P6-03] en/light Career selector floating label is not clipped at 390px",
|
||
"status": "passed",
|
||
"retry": 0,
|
||
"errors": [],
|
||
"nativeGeometry": {
|
||
"sample": {
|
||
"area": "profile",
|
||
"path": "/career?section=profile",
|
||
"width": 390,
|
||
"language": "en",
|
||
"theme": "light"
|
||
},
|
||
"bounds": {
|
||
"labelTop": 210,
|
||
"labelBottom": 225.09375,
|
||
"navTop": 208,
|
||
"navBottom": 272
|
||
},
|
||
"proofKind": "Native CSS label bounds versus clipping navigation container; no human/device acceptance"
|
||
},
|
||
"screenshot": {
|
||
"file": "screenshots/career-selector-label-green-390-en.png",
|
||
"sha256": "61d0ec1f9f06b9c7e8a242b73423a45d527c4c8e7e4758fccf4f3871e4616d6f",
|
||
"sourceAttachment": "profile-390x900-en-light-career-selector-label",
|
||
"actualSourceFile": "E:/Storage/Projects/Active/Job tracker/.artifacts/phase6/current/ui/label-results/responsive-accessibility-a-6de9e-bel-is-not-clipped-at-390px-chromium/attachments/profile-390x900-en-light-career-selector-label-3a0428f98c934f9a73e0f3b9b3ca53026980edf7.png",
|
||
"inspectedByAgent": true
|
||
},
|
||
"nativeAudit": {
|
||
"state": "profile-390x900-en-light-career-selector-label",
|
||
"sample": {
|
||
"area": "profile",
|
||
"path": "/career?section=profile",
|
||
"width": 390,
|
||
"language": "en",
|
||
"theme": "light"
|
||
},
|
||
"viewport": {
|
||
"width": 390,
|
||
"height": 900,
|
||
"devicePixelRatio": 1
|
||
},
|
||
"appChromeHorizontalOverflowCssPx": 0,
|
||
"axeViolations": [],
|
||
"axeIncompleteRules": [
|
||
{
|
||
"id": "color-contrast",
|
||
"nodes": 44
|
||
}
|
||
]
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"intermediateDisposition": "After CSS correction both geometry checks passed; test then wrongly expected section=overview. Existing approved handler removes the default query and navigates to /career. Parent corrected the test to the exact existing URL plus the selected Overview label; no application route change.",
|
||
"greenChecks": [
|
||
"Native floating label fully bounded by clipping navigation Paper",
|
||
"Zero app-chrome horizontal overflow at 320 NB/dark and 390 EN/light",
|
||
"Keyboard section selection reaches existing /career default URL and selected Overview text"
|
||
],
|
||
"humanAcceptance": "NOT VERIFIED; no screen-reader speech, physical device, software keyboard or production font/photo qualification",
|
||
"wholeSuiteAcceptance": "This focused GREEN2/2 is separate from the first main153/157 and does not replace the parent final full regression"
|
||
}
|