Files
jobtrackingapp/docs/ui-modernisation/evidence/account-admin/frontend/a3-processing-focus-red.json
T

2 lines
38 KiB
JSON

{"numFailedTestSuites":1,"numFailedTests":1,"numPassedTestSuites":0,"numPassedTests":0,"numPendingTestSuites":0,"numPendingTests":18,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":1,"numTotalTests":19,"openHandles":[],"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0},"startTime":1793731763562,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"processing workspace keyboard targets move between filters and jobs without changing filters","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793731768810,"status":"pending","title":"processing workspace keyboard targets move between filters and jobs without changing filters"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"uses safe en fallbacks for inherited processing key constructor","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793731768810,"status":"pending","title":"uses safe en fallbacks for inherited processing key constructor"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"uses safe en fallbacks for inherited processing key toString","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793731768810,"status":"pending","title":"uses safe en fallbacks for inherited processing key toString"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"uses safe en fallbacks for inherited processing key __proto__","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793731768810,"status":"pending","title":"uses safe en fallbacks for inherited processing key __proto__"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"uses safe nb fallbacks for inherited processing key constructor","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793731768810,"status":"pending","title":"uses safe nb fallbacks for inherited processing key constructor"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"uses safe nb fallbacks for inherited processing key toString","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793731768810,"status":"pending","title":"uses safe nb fallbacks for inherited processing key toString"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"uses safe nb fallbacks for inherited processing key __proto__","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793731768810,"status":"pending","title":"uses safe nb fallbacks for inherited processing key __proto__"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"shows safe job metadata and real events with a copyable correlation ID","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793731768810,"status":"pending","title":"shows safe job metadata and real events with a copyable correlation ID"},{"ancestorTitles":[],"duration":4570,"failing":false,"failureDetails":[{"matcherResult":{"pass":false,"message":"expect(element).toHaveFocus()\n\nExpected element with focus:\n <h2 class=\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\" id=\"_r_j_\" tabindex=\"-1\">Processing details</h2>\nReceived element with focus:\n <body><div><div class=\"MuiBox-root css-18yktp4\"><header class=\"MuiBox-root css-163u82n\"><div class=\"MuiBox-root css-14m33b5\"><h2 … /><p … /></div></header><div class=\"MuiStack-root css-13hhz3e-MuiStack-root\"><button class=\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary css-1dn15bh-MuiButtonBase-root-MuiButton-root\" tabindex=\"0\" type=\"button\">Pause updates</button><button class=\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary css-1dn15bh-MuiButtonBase-root-MuiButton-root\" tabindex=\"0\" type=\"button\">Refresh</button><p aria-live=\"polite\" class=\"MuiTypography-root MuiTypography-body1 css-1px98du-MuiTypography-root\" role=\"status\">Automatic updates enabled</p><span class=\"MuiTypography-root MuiTypography-caption css-1nn49j5-MuiTypography-root\">Updated 03/11/2026, 19:49:29</span></div><form aria-label=\"Processing filters\" class=\"MuiBox-root css-1rl19zi\" tabindex=\"-1\"><button class=\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary css-1dn15bh-MuiButtonBase-root-MuiButton-root\" tabindex=\"0\" type=\"button\">Jump to processing jobs</button><div class=\"MuiStack-root css-p81m6m-MuiStack-root\"><div … /><div … /><div … /><div … /><div … /><div … /><div … /><div … /><div … /><button … /></div></form><div class=\"MuiStack-root css-pex525-MuiStack-root\"><div class=\"MuiChip-root MuiChip-filled MuiChip-sizeMedium MuiChip-colorDefault MuiChip-filledDefault css-hbteji-MuiChip-root\"><span … /></div></div><section aria-labelledby=\"_r_d_\" class=\"MuiBox-root css-rw0fp9\"><header class=\"MuiBox-root css-163u82n\"><div … /></header><div class=\"MuiBox-root css-31l7gp\"><div … /></div></section><details class=\"MuiBox-root css-0\"><summary class=\"MuiBox-root css-14962tz\">Configured worker switches</summary><p class=\"MuiTypography-root MuiTypography-body2 css-2wbpcv-MuiTypography-root\">Additional feature settings may also be required. Only document and AI operations publish individual job history here; enabled does not confirm worker health.</p><p class=\"MuiTypography-root MuiTypography-body2 css-2wbpcv-MuiTypography-root\">CV imports use deterministic interpretation. AI worker availability is shown above; model health and extraction quality are not checked by this view.</p><div class=\"MuiStack-root css-j73k6l-MuiStack-root\"><div … /></div></details><section aria-labelledby=\"_r_j_\" class=\"MuiBox-root css-rw0fp9\"><header class=\"MuiBox-root css-163u82n\"><div … /></header><div class=\"MuiBox-root css-31l7gp\"><div … /></div></section></div></div></body>"}}],"failureMessages":["Error: expect(element).toHaveFocus()\n\nExpected element with focus:\n <h2 class=\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\" id=\"_r_j_\" tabindex=\"-1\">Processing details</h2>\nReceived element with focus:\n <body><div><div class=\"MuiBox-root css-18yktp4\"><header class=\"MuiBox-root css-163u82n\"><div class=\"MuiBox-root css-14m33b5\"><h2 … /><p … /></div></header><div class=\"MuiStack-root css-13hhz3e-MuiStack-root\"><button class=\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary css-1dn15bh-MuiButtonBase-root-MuiButton-root\" tabindex=\"0\" type=\"button\">Pause updates</button><button class=\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary css-1dn15bh-MuiButtonBase-root-MuiButton-root\" tabindex=\"0\" type=\"button\">Refresh</button><p aria-live=\"polite\" class=\"MuiTypography-root MuiTypography-body1 css-1px98du-MuiTypography-root\" role=\"status\">Automatic updates enabled</p><span class=\"MuiTypography-root MuiTypography-caption css-1nn49j5-MuiTypography-root\">Updated 03/11/2026, 19:49:29</span></div><form aria-label=\"Processing filters\" class=\"MuiBox-root css-1rl19zi\" tabindex=\"-1\"><button class=\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary css-1dn15bh-MuiButtonBase-root-MuiButton-root\" tabindex=\"0\" type=\"button\">Jump to processing jobs</button><div class=\"MuiStack-root css-p81m6m-MuiStack-root\"><div … /><div … /><div … /><div … /><div … /><div … /><div … /><div … /><div … /><button … /></div></form><div class=\"MuiStack-root css-pex525-MuiStack-root\"><div class=\"MuiChip-root MuiChip-filled MuiChip-sizeMedium MuiChip-colorDefault MuiChip-filledDefault css-hbteji-MuiChip-root\"><span … /></div></div><section aria-labelledby=\"_r_d_\" class=\"MuiBox-root css-rw0fp9\"><header class=\"MuiBox-root css-163u82n\"><div … /></header><div class=\"MuiBox-root css-31l7gp\"><div … /></div></section><details class=\"MuiBox-root css-0\"><summary class=\"MuiBox-root css-14962tz\">Configured worker switches</summary><p class=\"MuiTypography-root MuiTypography-body2 css-2wbpcv-MuiTypography-root\">Additional feature settings may also be required. Only document and AI operations publish individual job history here; enabled does not confirm worker health.</p><p class=\"MuiTypography-root MuiTypography-body2 css-2wbpcv-MuiTypography-root\">CV imports use deterministic interpretation. AI worker availability is shown above; model health and extraction quality are not checked by this view.</p><div class=\"MuiStack-root css-j73k6l-MuiStack-root\"><div … /></div></details><section aria-labelledby=\"_r_j_\" class=\"MuiBox-root css-rw0fp9\"><header class=\"MuiBox-root css-163u82n\"><div … /></header><div class=\"MuiBox-root css-31l7gp\"><div … /></div></section></div></div></body>\n\nIgnored nodes: comments, script, style\n\u001b[36m<html\u001b[39m\n \u001b[33mlang\u001b[39m=\u001b[32m\"en\"\u001b[39m\n\u001b[36m>\u001b[39m\n \u001b[36m<head>\u001b[39m\n \u001b[36m<meta\u001b[39m\n \u001b[33mcontent\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mname\u001b[39m=\u001b[32m\"emotion-insertion-point\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</head>\u001b[39m\n \u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-18yktp4\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<header\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-163u82n\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-14m33b5\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<h2\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mProcessing monitor\u001b[0m\n \u001b[36m</h2>\u001b[39m\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-pageDescription css-1sqgc3a-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mDocument and AI operations, their owners and safe processing history.\u001b[0m\n \u001b[36m</p>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</header>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiStack-root css-13hhz3e-MuiStack-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary css-1dn15bh-MuiButtonBase-root-MuiButton-root\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mPause updates\u001b[0m\n \u001b[36m</button>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary css-1dn15bh-MuiButtonBase-root-MuiButton-root\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mRefresh\u001b[0m\n \u001b[36m</button>\u001b[39m\n \u001b[36m<p\u001b[39m\n \u001b[33maria-live\u001b[39m=\u001b[32m\"polite\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body1 css-1px98du-MuiTypography-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"status\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mAutomatic updates enabled\u001b[0m\n \u001b[36m</p>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-caption css-1nn49j5-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mUpdated 03/11/2026, 19:49:29\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<form\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Processing filters\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-1rl19zi\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary css-1dn15bh-MuiButtonBase-root-MuiButton-root\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mJump to processing jobs\u001b[0m\n \u001b[36m</button>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiStack-root css-p81m6m-MuiStack-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiFormControl-root MuiTextField-root css-1xp5r68-MuiFormControl-root-MuiTextField-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<label\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiFormLabel-root MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-shrink MuiInputLabel-outlined MuiFormLabel-colorPrimary MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-shrink MuiInputLabel-outlined css-18yassc-MuiFormLabel-root-MuiInputLabel-root\"\u001b[39m\n \u001b[33mdata-shrink\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mfor\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_3_-label\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mStatus\u001b[0m\n \u001b[36m</label>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiInputBase-root MuiOutlinedInput-root MuiInputBase-colorPrimary MuiInputBase-formControl MuiSelect-root css-1tft0rd-MuiInputBase-root-MuiOutlinedInput-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<select\u001b[39m\n \u001b[33maria-invalid\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiNativeSelect-select MuiNativeSelect-outlined MuiInputBase-input MuiOutlinedInput-input css-14b2s82-MuiNativeSelect-root-MuiNativeSelect-select-MuiInputBase-input-MuiOutlinedInput-input\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<option\u001b[39m\n \u001b[33mvalue\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mAll\u001b[0m\n \u001b[36m</option>\u001b[39m\n \u001b[36m<option\u001b[39m\n \u001b[33mvalue\u001b[39m=\u001b[32m\"queued\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mQueued\u001b[0m\n \u001b[36m</option>\u001b[39m\n \u001b[36m<option\u001b[39m\n \u001b[33mvalue\u001b[39m=\u001b[32m\"running\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mRunning\u001b[0m\n \u001b[36m</option>\u001b[39m\n \u001b[36m<option\u001b[39m\n \u001b[33mvalue\u001b[39m=\u001b[32m\"waiting_for_retry\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mWaiting to retry\u001b[0m\n \u001b[36m</option>\u001b[39m\n \u001b[36m<option\u001b[39m\n \u001b[33mvalue\u001b[39m=\u001b[32m\"waiting_for_external_fallback\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mWaiting for approved fallback\u001b[0m\n \u001b[36m</option>\u001b[39m\n \u001b[36m<option\u001b[39m\n \u001b[33mvalue\u001b[39m=\u001b[32m\"succeeded\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mCompleted\u001b[0m\n \u001b[36m</option>\u001b[39m\n \u001b[36m<option\u001b[39m\n \u001b[33mvalue\u001b[39m=\u001b[32m\"failed\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mFailed\u001b[0m\n \u001b[36m</option>\u001b[39m\n \u001b[36m<option\u001b[39m\n \u001b[33mvalue\u001b[39m=\u001b[32m\"cancelled\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mCancelled\u001b[0m\n \u001b[36m</option>\u001b[39m\n \u001b[36m</...\n at toHaveFocus (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\admin-processing-page.test.tsx:77:93)\n at runWithExpensiveErrorDiagnosticsDisabled (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\config.js:47:12)\n at checkCallback (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\wait-for.js:124:77)\n at checkRealTimersCallback (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\wait-for.js:118:16)\n at Timeout.task [as _onTimeout] (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jsdom\\lib\\jsdom\\browser\\Window.js:579:19)\n at listOnTimeout (node:internal/timers:635:17)\n at processTimers (node:internal/timers:571:7)"],"fullName":"processing details receive focus even when animation frames run before the response render commits","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793731768810,"status":"failed","title":"processing details receive focus even when animation frames run before the response render commits"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"submits diagnostic filters and displays explicit owner, import and unrelated-job metadata","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793731773400,"status":"pending","title":"submits diagnostic filters and displays explicit owner, import and unrelated-job metadata"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"shows stable failure evidence and links an application only when the server permits it","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793731773400,"status":"pending","title":"shows stable failure evidence and links an application only when the server permits it"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"a successful retry keeps prior failure evidence separate from its success timestamp","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793731773400,"status":"pending","title":"a successful retry keeps prior failure evidence separate from its success timestamp"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"pause stops polling and resume uses an exact string event cursor","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793731773400,"status":"pending","title":"pause stops polling and resume uses an exact string event cursor"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"forbidden responses clear metadata and do not retry automatically","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793731773400,"status":"pending","title":"forbidden responses clear metadata and do not retry automatically"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"malformed successful responses produce a recoverable error instead of rendering raw data","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793731773400,"status":"pending","title":"malformed successful responses produce a recoverable error instead of rendering raw data"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"invalid filters explain the rejected request and stop automatic retries","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793731773400,"status":"pending","title":"invalid filters explain the rejected request and stop automatic retries"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"identity changes abort pending reads and clear the previous administrator view","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793731773400,"status":"pending","title":"identity changes abort pending reads and clear the previous administrator view"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"a failed cycle aborts sibling reads and reconnects with bounded backoff","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793731773400,"status":"pending","title":"a failed cycle aborts sibling reads and reconnects with bounded backoff"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"older event pages pause updates and retain exact cursors until returning to latest","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793731773400,"status":"pending","title":"older event pages pause updates and retain exact cursors until returning to latest"}],"endTime":1793731773418,"message":" ● processing details receive focus even when animation frames run before the response render commits\n\n expect(element).toHaveFocus()\n\n Expected element with focus:\n <h2 class=\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\" id=\"_r_j_\" tabindex=\"-1\">Processing details</h2>\n Received element with focus:\n <body><div><div class=\"MuiBox-root css-18yktp4\"><header class=\"MuiBox-root css-163u82n\"><div class=\"MuiBox-root css-14m33b5\"><h2 … /><p … /></div></header><div class=\"MuiStack-root css-13hhz3e-MuiStack-root\"><button class=\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary css-1dn15bh-MuiButtonBase-root-MuiButton-root\" tabindex=\"0\" type=\"button\">Pause updates</button><button class=\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary css-1dn15bh-MuiButtonBase-root-MuiButton-root\" tabindex=\"0\" type=\"button\">Refresh</button><p aria-live=\"polite\" class=\"MuiTypography-root MuiTypography-body1 css-1px98du-MuiTypography-root\" role=\"status\">Automatic updates enabled</p><span class=\"MuiTypography-root MuiTypography-caption css-1nn49j5-MuiTypography-root\">Updated 03/11/2026, 19:49:29</span></div><form aria-label=\"Processing filters\" class=\"MuiBox-root css-1rl19zi\" tabindex=\"-1\"><button class=\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary css-1dn15bh-MuiButtonBase-root-MuiButton-root\" tabindex=\"0\" type=\"button\">Jump to processing jobs</button><div class=\"MuiStack-root css-p81m6m-MuiStack-root\"><div … /><div … /><div … /><div … /><div … /><div … /><div … /><div … /><div … /><button … /></div></form><div class=\"MuiStack-root css-pex525-MuiStack-root\"><div class=\"MuiChip-root MuiChip-filled MuiChip-sizeMedium MuiChip-colorDefault MuiChip-filledDefault css-hbteji-MuiChip-root\"><span … /></div></div><section aria-labelledby=\"_r_d_\" class=\"MuiBox-root css-rw0fp9\"><header class=\"MuiBox-root css-163u82n\"><div … /></header><div class=\"MuiBox-root css-31l7gp\"><div … /></div></section><details class=\"MuiBox-root css-0\"><summary class=\"MuiBox-root css-14962tz\">Configured worker switches</summary><p class=\"MuiTypography-root MuiTypography-body2 css-2wbpcv-MuiTypography-root\">Additional feature settings may also be required. Only document and AI operations publish individual job history here; enabled does not confirm worker health.</p><p class=\"MuiTypography-root MuiTypography-body2 css-2wbpcv-MuiTypography-root\">CV imports use deterministic interpretation. AI worker availability is shown above; model health and extraction quality are not checked by this view.</p><div class=\"MuiStack-root css-j73k6l-MuiStack-root\"><div … /></div></details><section aria-labelledby=\"_r_j_\" class=\"MuiBox-root css-rw0fp9\"><header class=\"MuiBox-root css-163u82n\"><div … /></header><div class=\"MuiBox-root css-31l7gp\"><div … /></div></section></div></div></body>\n\n Ignored nodes: comments, script, style\n \u001b[36m<html\u001b[39m\n \u001b[33mlang\u001b[39m=\u001b[32m\"en\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<head>\u001b[39m\n \u001b[36m<meta\u001b[39m\n \u001b[33mcontent\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mname\u001b[39m=\u001b[32m\"emotion-insertion-point\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</head>\u001b[39m\n \u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-18yktp4\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<header\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-163u82n\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-14m33b5\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<h2\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mProcessing monitor\u001b[0m\n \u001b[36m</h2>\u001b[39m\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-pageDescription css-1sqgc3a-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mDocument and AI operations, their owners and safe processing history.\u001b[0m\n \u001b[36m</p>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</header>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiStack-root css-13hhz3e-MuiStack-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary css-1dn15bh-MuiButtonBase-root-MuiButton-root\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mPause updates\u001b[0m\n \u001b[36m</button>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary css-1dn15bh-MuiButtonBase-root-MuiButton-root\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mRefresh\u001b[0m\n \u001b[36m</button>\u001b[39m\n \u001b[36m<p\u001b[39m\n \u001b[33maria-live\u001b[39m=\u001b[32m\"polite\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body1 css-1px98du-MuiTypography-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"status\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mAutomatic updates enabled\u001b[0m\n \u001b[36m</p>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-caption css-1nn49j5-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mUpdated 03/11/2026, 19:49:29\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<form\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Processing filters\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-1rl19zi\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary css-1dn15bh-MuiButtonBase-root-MuiButton-root\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mJump to processing jobs\u001b[0m\n \u001b[36m</button>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiStack-root css-p81m6m-MuiStack-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiFormControl-root MuiTextField-root css-1xp5r68-MuiFormControl-root-MuiTextField-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<label\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiFormLabel-root MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-shrink MuiInputLabel-outlined MuiFormLabel-colorPrimary MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-shrink MuiInputLabel-outlined css-18yassc-MuiFormLabel-root-MuiInputLabel-root\"\u001b[39m\n \u001b[33mdata-shrink\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mfor\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_3_-label\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mStatus\u001b[0m\n \u001b[36m</label>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiInputBase-root MuiOutlinedInput-root MuiInputBase-colorPrimary MuiInputBase-formControl MuiSelect-root css-1tft0rd-MuiInputBase-root-MuiOutlinedInput-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<select\u001b[39m\n \u001b[33maria-invalid\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiNativeSelect-select MuiNativeSelect-outlined MuiInputBase-input MuiOutlinedInput-input css-14b2s82-MuiNativeSelect-root-MuiNativeSelect-select-MuiInputBase-input-MuiOutlinedInput-input\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<option\u001b[39m\n \u001b[33mvalue\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mAll\u001b[0m\n \u001b[36m</option>\u001b[39m\n \u001b[36m<option\u001b[39m\n \u001b[33mvalue\u001b[39m=\u001b[32m\"queued\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mQueued\u001b[0m\n \u001b[36m</option>\u001b[39m\n \u001b[36m<option\u001b[39m\n \u001b[33mvalue\u001b[39m=\u001b[32m\"running\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mRunning\u001b[0m\n \u001b[36m</option>\u001b[39m\n \u001b[36m<option\u001b[39m\n \u001b[33mvalue\u001b[39m=\u001b[32m\"waiting_for_retry\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mWaiting to retry\u001b[0m\n \u001b[36m</option>\u001b[39m\n \u001b[36m<option\u001b[39m\n \u001b[33mvalue\u001b[39m=\u001b[32m\"waiting_for_external_fallback\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mWaiting for approved fallback\u001b[0m\n \u001b[36m</option>\u001b[39m\n \u001b[36m<option\u001b[39m\n \u001b[33mvalue\u001b[39m=\u001b[32m\"succeeded\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mCompleted\u001b[0m\n \u001b[36m</option>\u001b[39m\n \u001b[36m<option\u001b[39m\n \u001b[33mvalue\u001b[39m=\u001b[32m\"failed\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mFailed\u001b[0m\n \u001b[36m</option>\u001b[39m\n \u001b[36m<option\u001b[39m\n \u001b[33mvalue\u001b[39m=\u001b[32m\"cancelled\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mCancelled\u001b[0m\n \u001b[36m</option>\u001b[39m\n \u001b[36m</...\n\n 75 | try {\n 76 | open(); fireEvent.click(await screen.findByRole('button', { name: /View processing details/ }));\n > 77 | await waitFor(() => expect(screen.getByRole('heading', { name: 'Processing details' })).toHaveFocus());\n | ^\n 78 | } finally { frame.mockRestore(); }\n 79 | });\n 80 |\n\n at toHaveFocus (src/admin-processing-page.test.tsx:77:93)\n at runWithExpensiveErrorDiagnosticsDisabled (node_modules/@testing-library/dom/dist/config.js:47:12)\n at checkCallback (node_modules/@testing-library/dom/dist/wait-for.js:124:77)\n at checkRealTimersCallback (node_modules/@testing-library/dom/dist/wait-for.js:118:16)\n at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:579:19)\n","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\admin-processing-page.test.tsx","startTime":1793731764979,"status":"failed","summary":""}],"wasInterrupted":false}