{"numFailedTestSuites":3,"numFailedTests":4,"numPassedTestSuites":0,"numPassedTests":1,"numPendingTestSuites":0,"numPendingTests":65,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":3,"numTotalTests":70,"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":1793730797362,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"duration":1169,"failing":false,"failureDetails":[{"name":"TestingLibraryElementError"}],"failureMessages":["TestingLibraryElementError: Unable to find an accessible element with the role \"navigation\"\n\nHere are the accessible roles:\n\n region:\n\n Name \"Profile\":\n \u001b[36m\u001b[39m\n\n Name \"Authentication\":\n \u001b[36m\u001b[39m\n\n Name \"Account\":\n \u001b[36m\u001b[39m\n\n Name \"Change password\":\n \u001b[36m\u001b[39m\n\n Name \"Two-factor authentication\":\n \u001b[36m\u001b[39m\n\n Name \"Sessions\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n banner:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n heading:\n\n Name \"Profile\":\n \u001b[36m\u001b[39m\n\n Name \"Authentication\":\n \u001b[36m\u001b[39m\n\n Name \"Account\":\n \u001b[36m\u001b[39m\n\n Name \"Change password\":\n \u001b[36m\u001b[39m\n\n Name \"Two-factor authentication\":\n \u001b[36m\u001b[39m\n\n Name \"Sessions\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n button:\n\n Name \"Change image\":\n \u001b[36m\u001b[39m\n\n Name \"Sign out\":\n \u001b[36m\u001b[39m\n\n Name \"Send confirmation\":\n \u001b[36m\u001b[39m\n\n Name \"Cancel\":\n \u001b[36m\u001b[39m\n\n Name \"Save changes\":\n \u001b[36m\u001b[39m\n\n Name \"Update password\":\n \u001b[36m\u001b[39m\n\n Name \"Enable 2FA\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n paragraph:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n textbox:\n\n Name \"Display name\":\n \u001b[36m\u001b[39m\n\n Name \"Username\":\n \u001b[36m\u001b[39m\n\n Name \"First name\":\n \u001b[36m\u001b[39m\n\n Name \"Last name\":\n \u001b[36m\u001b[39m\n\n Name \"New email\":\n \u001b[36m\u001b[39m\n\n Name \"Profile headline\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mProfile\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mDD\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mChange image\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mdemo\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mBackend Developer\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mLocal account\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mGoogle not linked\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mStored CV text · 5 words\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mAuthentication\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n\n Name \"Autentisering\":\n \u001b[36m\u001b[39m\n\n Name \"Konto\":\n \u001b[36m\u001b[39m\n\n Name \"Bytt passord\":\n \u001b[36m\u001b[39m\n\n Name \"Tofaktorautentisering\":\n \u001b[36m\u001b[39m\n\n Name \"Økter\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n banner:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n heading:\n\n Name \"Profil\":\n \u001b[36m\u001b[39m\n\n Name \"Autentisering\":\n \u001b[36m\u001b[39m\n\n Name \"Konto\":\n \u001b[36m\u001b[39m\n\n Name \"Bytt passord\":\n \u001b[36m\u001b[39m\n\n Name \"Tofaktorautentisering\":\n \u001b[36m\u001b[39m\n\n Name \"Økter\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n button:\n\n Name \"Bytt bilde\":\n \u001b[36m\u001b[39m\n\n Name \"Logg ut\":\n \u001b[36m\u001b[39m\n\n Name \"Send bekreftelse\":\n \u001b[36m\u001b[39m\n\n Name \"Avbryt\":\n \u001b[36m\u001b[39m\n\n Name \"Lagre endringer\":\n \u001b[36m\u001b[39m\n\n Name \"Oppdater passord\":\n \u001b[36m\u001b[39m\n\n Name \"Aktiver 2FA\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n paragraph:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n textbox:\n\n Name \"Visningsnavn\":\n \u001b[36m\u001b[39m\n\n Name \"Brukernavn\":\n \u001b[36m\u001b[39m\n\n Name \"Fornavn\":\n \u001b[36m\u001b[39m\n\n Name \"Etternavn\":\n \u001b[36m\u001b[39m\n\n Name \"Ny e-post\":\n \u001b[36m\u001b[39m\n\n Name \"Profiloverskrift\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mProfil\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mDD\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mBytt bilde\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mdemo\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mBackend Developer\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mLokal konto\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mGoogle ikke koblet\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mLagret CV-tekst · 5 ord\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mAutentisering\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m...\n at Object.getElementError (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\config.js:37:19)\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\query-helpers.js:76:38\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\query-helpers.js:52:17\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\query-helpers.js:95:19\n at getByRole (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\profile-page.test.tsx:97:29)\n at runNextTicks (node:internal/process/task_queues:65:5)\n at listOnTimeout (node:internal/timers:597:9)\n at processTimers (node:internal/timers:571:7)"],"fullName":"account workspace navigation preserves identity drafts and focuses existing groups (nb)","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793730804152,"status":"failed","title":"account workspace navigation preserves identity drafts and focuses existing groups (nb)"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"meaningful identity initials use a readable foreground/background pair in [Function CareerProfilePage]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"meaningful identity initials use a readable foreground/background pair in [Function CareerProfilePage]"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"meaningful identity initials use a readable foreground/background pair in [Function ProfilePage]","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"meaningful identity initials use a readable foreground/background pair in [Function ProfilePage]"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"Career Profile section headings describe the visible hierarchy without changing editing fields","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"Career Profile section headings describe the visible hierarchy without changing editing fields"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"account headings separate identity from security sections","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"account headings separate identity from security sections"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"account CV text status in en does not claim the CV library is empty","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"account CV text status in en does not claim the CV library is empty"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"account CV text status in nb does not claim the CV library is empty","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"account CV text status in nb does not claim the CV library is empty"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-E02/E09/C01] account save carries four identity fields and keeps career, email and CV writes separate","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"[PRES-E02/E09/C01] account save carries four identity fields and keeps career, email and CV writes separate"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-E02/E08/E09] failed account save keeps a scoped error and the identity draft for explicit retry","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"[PRES-E02/E08/E09] failed account save keeps a scoped error and the identity draft for explicit retry"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-E02/E08] failed password update keeps a scoped error and secret draft until explicit retry succeeds","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"[PRES-E02/E08] failed password update keeps a scoped error and secret draft until explicit retry succeeds"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"profile page loads persisted structured cv and can re-parse it","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"profile page loads persisted structured cv and can re-parse it"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"saving the career profile PUTs the structured profile and cv text unchanged (Phase 1 refactor invariant)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"saving the career profile PUTs the structured profile and cv text unchanged (Phase 1 refactor invariant)"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"editing a field in an extracted section updates parent state and flows into save (Phase 1 increment 2)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"editing a field in an extracted section updates parent state and flows into save (Phase 1 increment 2)"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"profile page can reprocess from stored artifact history","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"profile page can reprocess from stored artifact history"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"active extraction polling refreshes run status without resetting unsaved career fields","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"active extraction polling refreshes run status without resetting unsaved career fields"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"profile page shows durable CV operation state and retries a failed run","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"profile page shows durable CV operation state and retries a failed run"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"profile page keeps raw extraction collapsed until expanded","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"profile page keeps raw extraction collapsed until expanded"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"saving the master profile (career) persists the structured profile via /career/profile","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"saving the master profile (career) persists the structured profile via /career/profile"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"/career shows the profile completeness overview","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"/career shows the profile completeness overview"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"/career profile exposes extraction progress","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"/career profile exposes extraction progress"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"/career profile can queue a legacy text CV upload without visiting import review first","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"/career profile can queue a legacy text CV upload without visiting import review first"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"/career localizes completeness and review confidence without changing CV data","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"/career localizes completeness and review confidence without changing CV data"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"/career separates overview, profile and import while preserving unsaved profile edits","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"/career separates overview, profile and import while preserving unsaved profile edits"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"pending CV extraction can be reviewed and applied","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"pending CV extraction can be reviewed and applied"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"account email changes require a password and use the confirmation flow","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730804809,"status":"pending","title":"account email changes require a password and use the confirmation flow"}],"endTime":1793730804836,"message":" ● account workspace navigation preserves identity drafts and focuses existing groups (en)\n\n TestingLibraryElementError: Unable to find an accessible element with the role \"navigation\"\n\n Here are the accessible roles:\n\n region:\n\n Name \"Profile\":\n \u001b[36m\u001b[39m\n\n Name \"Authentication\":\n \u001b[36m\u001b[39m\n\n Name \"Account\":\n \u001b[36m\u001b[39m\n\n Name \"Change password\":\n \u001b[36m\u001b[39m\n\n Name \"Two-factor authentication\":\n \u001b[36m\u001b[39m\n\n Name \"Sessions\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n banner:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n heading:\n\n Name \"Profile\":\n \u001b[36m\u001b[39m\n\n Name \"Authentication\":\n \u001b[36m\u001b[39m\n\n Name \"Account\":\n \u001b[36m\u001b[39m\n\n Name \"Change password\":\n \u001b[36m\u001b[39m\n\n Name \"Two-factor authentication\":\n \u001b[36m\u001b[39m\n\n Name \"Sessions\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n button:\n\n Name \"Change image\":\n \u001b[36m\u001b[39m\n\n Name \"Sign out\":\n \u001b[36m\u001b[39m\n\n Name \"Send confirmation\":\n \u001b[36m\u001b[39m\n\n Name \"Cancel\":\n \u001b[36m\u001b[39m\n\n Name \"Save changes\":\n \u001b[36m\u001b[39m\n\n Name \"Update password\":\n \u001b[36m\u001b[39m\n\n Name \"Enable 2FA\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n paragraph:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n textbox:\n\n Name \"Display name\":\n \u001b[36m\u001b[39m\n\n Name \"Username\":\n \u001b[36m\u001b[39m\n\n Name \"First name\":\n \u001b[36m\u001b[39m\n\n Name \"Last name\":\n \u001b[36m\u001b[39m\n\n Name \"New email\":\n \u001b[36m\u001b[39m\n\n Name \"Profile headline\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n\n Ignored nodes: comments, script, style\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mProfile\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mDD\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mChange image\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mdemo\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mBackend Developer\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mLocal account\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mGoogle not linked\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mStored CV text · 5 words\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mAuthentication\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m expect(name).toHaveValue('Demo User'));\n 96 | fireEvent.change(name, { target: { value: 'Unsaved account name' } });\n > 97 | const navigation = screen.getByRole('navigation', { name: t.accountWorkspaceNavigation });\n | ^\n 98 | for (const [id, label] of [['account-details', t.profileAccountSection], ['account-connections', t.accountWorkspaceConnections], ['account-security', t.accountWorkspaceSecurity]]) {\n 99 | const target = document.getElementById(id)!;\n 100 | target.scrollIntoView = jest.fn();\n\n at Object.getElementError (node_modules/@testing-library/dom/dist/config.js:37:19)\n at node_modules/@testing-library/dom/dist/query-helpers.js:76:38\n at node_modules/@testing-library/dom/dist/query-helpers.js:52:17\n at node_modules/@testing-library/dom/dist/query-helpers.js:95:19\n at getByRole (src/profile-page.test.tsx:97:29)\n\n ● account workspace navigation preserves identity drafts and focuses existing groups (nb)\n\n TestingLibraryElementError: Unable to find an accessible element with the role \"navigation\"\n\n Here are the accessible roles:\n\n region:\n\n Name \"Profil\":\n \u001b[36m\u001b[39m\n\n Name \"Autentisering\":\n \u001b[36m\u001b[39m\n\n Name \"Konto\":\n \u001b[36m\u001b[39m\n\n Name \"Bytt passord\":\n \u001b[36m\u001b[39m\n\n Name \"Tofaktorautentisering\":\n \u001b[36m\u001b[39m\n\n Name \"Økter\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n banner:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n heading:\n\n Name \"Profil\":\n \u001b[36m\u001b[39m\n\n Name \"Autentisering\":\n \u001b[36m\u001b[39m\n\n Name \"Konto\":\n \u001b[36m\u001b[39m\n\n Name \"Bytt passord\":\n \u001b[36m\u001b[39m\n\n Name \"Tofaktorautentisering\":\n \u001b[36m\u001b[39m\n\n Name \"Økter\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n button:\n\n Name \"Bytt bilde\":\n \u001b[36m\u001b[39m\n\n Name \"Logg ut\":\n \u001b[36m\u001b[39m\n\n Name \"Send bekreftelse\":\n \u001b[36m\u001b[39m\n\n Name \"Avbryt\":\n \u001b[36m\u001b[39m\n\n Name \"Lagre endringer\":\n \u001b[36m\u001b[39m\n\n Name \"Oppdater passord\":\n \u001b[36m\u001b[39m\n\n Name \"Aktiver 2FA\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n paragraph:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n textbox:\n\n Name \"Visningsnavn\":\n \u001b[36m\u001b[39m\n\n Name \"Brukernavn\":\n \u001b[36m\u001b[39m\n\n Name \"Fornavn\":\n \u001b[36m\u001b[39m\n\n Name \"Etternavn\":\n \u001b[36m\u001b[39m\n\n Name \"Ny e-post\":\n \u001b[36m\u001b[39m\n\n Name \"Profiloverskrift\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n\n Ignored nodes: comments, script, style\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mProfil\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mDD\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mBytt bilde\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mdemo\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mBackend Developer\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mLokal konto\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mGoogle ikke koblet\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mLagret CV-tekst · 5 ord\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mAutentisering\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m...\n\n 95 | await waitFor(() => expect(name).toHaveValue('Demo User'));\n 96 | fireEvent.change(name, { target: { value: 'Unsaved account name' } });\n > 97 | const navigation = screen.getByRole('navigation', { name: t.accountWorkspaceNavigation });\n | ^\n 98 | for (const [id, label] of [['account-details', t.profileAccountSection], ['account-connections', t.accountWorkspaceConnections], ['account-security', t.accountWorkspaceSecurity]]) {\n 99 | const target = document.getElementById(id)!;\n 100 | target.scrollIntoView = jest.fn();\n\n at Object.getElementError (node_modules/@testing-library/dom/dist/config.js:37:19)\n at node_modules/@testing-library/dom/dist/query-helpers.js:76:38\n at node_modules/@testing-library/dom/dist/query-helpers.js:52:17\n at node_modules/@testing-library/dom/dist/query-helpers.js:95:19\n at getByRole (src/profile-page.test.tsx:97:29)\n","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\profile-page.test.tsx","startTime":1793730798724,"status":"failed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":4232,"failing":false,"failureDetails":[{"name":"TestingLibraryElementError"}],"failureMessages":["Error: Unable to find role=\"tabpanel\" and name \"Backup\"\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mSettings section\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mGeneral\u001b[0m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mSettings section\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mGeneral\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mAutomation\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mFollow-ups\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mNotifications\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mBackup\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-each\\build\\index.js:80:140)\n at Promise.finally.completed (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1561:28)\n at new Promise ()\n at callAsyncCircusFn (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1501:10)\n at _callCircusTest (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1011:40)\n at _runTest (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:951:3)\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:853:7\n at _runTestsForDescribeBlock (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:866:11)\n at run (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:765:3)\n at runAndTransformResultsToJestFormat (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1993:21)\n at jestAdapter (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\runner.js:111:19)\n at runTestInternal (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-runner\\build\\index.js:276:16)\n at runTest (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-runner\\build\\index.js:344:7)"],"fullName":"account data entry selects a supported initial section (data)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730806312,"status":"failed","title":"account data entry selects a supported initial section (data)"},{"ancestorTitles":[],"duration":210,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"account data entry selects a supported initial section (unknown)","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793730810545,"status":"passed","title":"account data entry selects a supported initial section (unknown)"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"each selected Settings section has a named panel linked to its tab and remains selectable on phones","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810755,"status":"pending","title":"each selected Settings section has a named panel linked to its tab and remains selectable on phones"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"settings view has no accent picker and uses one follow-up section, one notification section","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"settings view has no accent picker and uses one follow-up section, one notification section"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"AI privacy settings are server-backed and external processing is local-only by default","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"AI privacy settings are server-backed and external processing is local-only by default"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-S03] failed notification save preserves the draft for an explicit retry","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"[PRES-S03] failed notification save preserves the draft for an explicit retry"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-S03 PRES-W11] saving one follow-up rule preserves the other scenarios","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"[PRES-S03 PRES-W11] saving one follow-up rule preserves the other scenarios"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-S03 PRES-J05] table and theme preferences keep their independent callbacks","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"[PRES-S03 PRES-J05] table and theme preferences keep their independent callbacks"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-S03 W11] the Settings session retains independent pending Rules fields across tab unmounts","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"[PRES-S03 W11] the Settings session retains independent pending Rules fields across tab unmounts"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-S03] failed Rules save remains actionable after tab return and explicit retry clears dirty state","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"[PRES-S03] failed Rules save remains actionable after tab return and explicit retry clears dirty state"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-S03] invalid and empty Rules input and associated validation survive internal navigation","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"[PRES-S03] invalid and empty Rules input and associated validation survive internal navigation"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-S03] explicit discard resets only the Rules draft to its saved baseline without writing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"[PRES-S03] explicit discard resets only the Rules draft to its saved baseline without writing"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-S03] later edits stay dirty when an earlier Rules save completes after a tab switch","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"[PRES-S03] later edits stay dirty when an earlier Rules save completes after a tab switch"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-S03 E09] leaving the Settings session disposes its draft and pending responses","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"[PRES-S03 E09] leaving the Settings session disposes its draft and pending responses"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-S03] switching locale while Rules is hidden does not reload or overwrite its pending draft","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"[PRES-S03] switching locale while Rules is hidden does not reload or overwrite its pending draft"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-S03] Rules draft updates do not refetch an unrelated notification preference","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"[PRES-S03] Rules draft updates do not refetch an unrelated notification preference"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"en Automation reuses the saved notification preference and explicit save","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"en Automation reuses the saved notification preference and explicit save"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"nb Automation reuses the saved notification preference and explicit save","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"nb Automation reuses the saved notification preference and explicit save"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"Automation AI entry moves focus into existing settings without an AI request","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"Automation AI entry moves focus into existing settings without an AI request"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-09 preferences] initial notification failure offers a single GET Retry and recovers its vanished focused action","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"[P7-09 preferences] initial notification failure offers a single GET Retry and recovers its vanished focused action"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-09 preferences] notification drafts survive internal sections and locale changes without a GET or save","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"[P7-09 preferences] notification drafts survive internal sections and locale changes without a GET or save"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-09 preferences] one held notification save acknowledges its snapshot and preserves later edits across sections","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"[P7-09 preferences] one held notification save acknowledges its snapshot and preserves later edits across sections"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-09 preferences] failed notification save keeps its current-locale draft and retries only the original Save","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"[P7-09 preferences] failed notification save keeps its current-locale draft and retries only the original Save"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-09 preferences] discarding a notification draft leaves the independent Rules draft untouched","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"[P7-09 preferences] discarding a notification draft leaves the independent Rules draft untouched"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-09 preferences] a disposed notification save cannot publish into surviving providers or a new Settings session","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"[P7-09 preferences] a disposed notification save cannot publish into surviving providers or a new Settings session"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-09 preferences] Rules load failure follows locale without reloading and Retry retains the six-field contract","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730810756,"status":"pending","title":"[P7-09 preferences] Rules load failure follows locale without reloading and Retry retains the six-field contract"}],"endTime":1793730810765,"message":" ● account data entry selects a supported initial section (data)\n\n Unable to find role=\"tabpanel\" and name \"Backup\"\n\n Ignored nodes: comments, script, style\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mSettings section\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mGeneral\u001b[0m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mSettings section\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mGeneral\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mAutomation\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mFollow-ups\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mNotifications\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mBackup\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m {\n 107 | renderView({}, `/settings?section=${section}`);\n > 108 | expect(await screen.findByRole('tabpanel', { name: label, exact: true })).toBeVisible();\n | ^\n 109 | expect(mockedApi.post).not.toHaveBeenCalled(); expect(mockedApi.put).not.toHaveBeenCalled();\n 110 | });\n 111 |\n\n at waitForWrapper (node_modules/@testing-library/dom/dist/wait-for.js:163:27)\n at node_modules/@testing-library/dom/dist/query-helpers.js:86:33\n at findByRole (src/settings-view.test.tsx:108:23)\n","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\settings-view.test.tsx","startTime":1793730804869,"status":"failed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":516,"failing":false,"failureDetails":[{"name":"TestingLibraryElementError"}],"failureMessages":["TestingLibraryElementError: Unable to find an accessible element with the role \"form\" and name \"Processing filters\"\n\nHere are the accessible roles:\n\n banner:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n heading:\n\n Name \"Processing monitor\":\n \u001b[36m\u001b[39m\n\n Name \"Processing jobs\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n paragraph:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n button:\n\n Name \"Pause updates\":\n \u001b[36m\u001b[39m\n\n Name \"Refresh\":\n \u001b[36m\u001b[39m\n\n Name \"Apply filters\":\n \u001b[36m\u001b[39m\n\n Name \"View processing details 11111111-1111-4111-8111-111111111111\":\n \u001b[36m\u001b[39m\n\n Name \"Synthetic owner\":\n \u001b[36m\u001b[39m\n\n Name \"Previous page\":\n \u001b[36m\u001b[39m\n\n Name \"Next page\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n status:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n combobox:\n\n Name \"Status\":\n \u001b[36m\u001b[39m\n\n Name \"Task\":\n \u001b[36m\u001b[39m\n\n Name \"Worker filter\":\n \u001b[36m\u001b[39m\n\n Name \"Failure code\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n option:\n\n Name \"All\":\n \u001b[36m\u001b[39m\n\n Name \"Queued\":\n \u001b[36m\u001b[39m\n\n Name \"Running\":\n \u001b[36m\u001b[39m\n\n Name \"Waiting to retry\":\n \u001b[36m\u001b[39m\n\n Name \"Waiting for approved fallback\":\n \u001b[36m\u001b[39m\n\n Name \"Completed\":\n \u001b[36m\u001b[39m\n\n Name \"Failed\":\n \u001b[36m\u001b[39m\n\n Name \"Cancelled\":\n \u001b[36m\u001b[39m\n\n Name \"All\":\n \u001b[36m\u001b[39m\n\n Name \"CV processing\":\n \u001b[36m\u001b[39m\n\n Name \"Strategy snapshot\":\n \u001b[36m\u001b[39m\n\n Name \"Other operation\":\n \u001b[36m\u001b[39m\n\n Name \"All\":\n \u001b[36m\u001b[39m\n\n Name \"Document processing\":\n \u001b[36m\u001b[39m\n\n Name \"AI operations\":\n \u001b[36m\u001b[39m\n\n Name \"Unregistered worker\":\n \u001b[36m\u001b[39m\n\n Name \"All\":\n \u001b[36m\u001b[39m\n\n Name \"timeout\":\n \u001b[36m\u001b[39m\n\n Name \"lease_expired\":\n \u001b[36m\u001b[39m\n\n Name \"deadline_exceeded\":\n \u001b[36m\u001b[39m\n\n Name \"entitlement_changed\":\n \u001b[36m\u001b[39m\n\n Name \"document_unavailable\":\n \u001b[36m\u001b[39m\n\n Name \"sidecar_unavailable\":\n \u001b[36m\u001b[39m\n\n Name \"upstream_unavailable\":\n \u001b[36m\u001b[39m\n\n Name \"invalid_response\":\n \u001b[36m\u001b[39m\n\n Name \"circuit_open\":\n \u001b[36m\u001b[39m\n\n Name \"rate_limited\":\n \u001b[36m\u001b[39m\n\n Name \"permission_denied\":\n \u001b[36m\u001b[39m\n\n Name \"cancelled\":\n \u001b[36m\u001b[39m\n\n Name \"upload_rejected\":\n \u001b[36m\u001b[39m\n\n Name \"parser_failed\":\n \u001b[36m\u001b[39m\n\n Name \"malformed_output\":\n \u001b[36m\u001b[39m\n\n Name \"provider_unavailable\":\n \u001b[36m\u001b[39m\n\n Name \"processing_failed\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n textbox:\n\n Name \"Owner ID\":\n \u001b[36m\u001b[39m\n\n Name \"Search users, jobs or task ID\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n spinbutton:\n\n Name \"Application ID\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n region:\n\n Name \"Processing jobs\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n group:\n\n Name \"Processing jobs\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n table:\n\n Name \"Processing jobs\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n rowgroup:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n row:\n\n Name \"Task Owner Status Worker Created Duration\":\n \u001b[36m\u001b[39m\n\n Name \"CV processing CV.pdf Synthetic owner owner@example.test Running Reading document structure Document processing Enabled 28/10/2026, 13:00:00 8 seconds\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n columnheader:\n\n Name \"Task\":\n \u001b[36m\u001b[39m\n\n Name \"Owner\":\n \u001b[36m\u001b[39m\n\n Name \"Status\":\n \u001b[36m\u001b[39m\n\n Name \"Worker\":\n \u001b[36m\u001b[39m\n\n Name \"Created\":\n \u001b[36m\u001b[39m\n\n Name \"Duration\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n rowheader:\n\n Name \"CV processing CV.pdf\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n cell:\n\n Name \"Synthetic owner owner@example.test\":\n \u001b[36m\u001b[39m\n\n Name \"Running Reading document structure\":\n \u001b[36m\u001b[39m\n\n Name \"Document processing Enabled\":\n \u001b[36m\u001b[39m\n\n Name \"28/10/2026, 13:00:00\":\n \u001b[36m\u001b[39m\n\n Name \"8 seconds\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n time:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mProcessing monitor\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mDocument and AI operations, their owners and safe processing history.\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mPause updates\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mRefresh\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mAutomatic updates enabled\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mUpdated 03/11/2026, 19:33:32\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mStatus\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mAll\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mQueued\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mRunning\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mWaiting to retry\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mWaiting for approved fallback\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mCompleted\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mFailed\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mCancelled\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mStatus\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[...\n at Object.getElementError (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\config.js:37:19)\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\query-helpers.js:76:38\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\query-helpers.js:52:17\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\query-helpers.js:95:19\n at Object.getByRole (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\admin-processing-page.test.tsx:25:25)"],"fullName":"processing workspace keyboard targets move between filters and jobs without changing filters","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793730812187,"status":"failed","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":1793730812713,"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":1793730812713,"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":1793730812713,"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":1793730812713,"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":1793730812713,"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":1793730812713,"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":1793730812713,"status":"pending","title":"shows safe job metadata and real events with a copyable correlation ID"},{"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":1793730812713,"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":1793730812713,"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":1793730812713,"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":1793730812713,"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":1793730812713,"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":1793730812713,"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":1793730812713,"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":1793730812713,"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":1793730812713,"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":1793730812713,"status":"pending","title":"older event pages pause updates and retain exact cursors until returning to latest"}],"endTime":1793730812717,"message":" ● processing workspace keyboard targets move between filters and jobs without changing filters\n\n TestingLibraryElementError: Unable to find an accessible element with the role \"form\" and name \"Processing filters\"\n\n Here are the accessible roles:\n\n banner:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n heading:\n\n Name \"Processing monitor\":\n \u001b[36m\u001b[39m\n\n Name \"Processing jobs\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n paragraph:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n button:\n\n Name \"Pause updates\":\n \u001b[36m\u001b[39m\n\n Name \"Refresh\":\n \u001b[36m\u001b[39m\n\n Name \"Apply filters\":\n \u001b[36m\u001b[39m\n\n Name \"View processing details 11111111-1111-4111-8111-111111111111\":\n \u001b[36m\u001b[39m\n\n Name \"Synthetic owner\":\n \u001b[36m\u001b[39m\n\n Name \"Previous page\":\n \u001b[36m\u001b[39m\n\n Name \"Next page\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n status:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n combobox:\n\n Name \"Status\":\n \u001b[36m\u001b[39m\n\n Name \"Task\":\n \u001b[36m\u001b[39m\n\n Name \"Worker filter\":\n \u001b[36m\u001b[39m\n\n Name \"Failure code\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n option:\n\n Name \"All\":\n \u001b[36m\u001b[39m\n\n Name \"Queued\":\n \u001b[36m\u001b[39m\n\n Name \"Running\":\n \u001b[36m\u001b[39m\n\n Name \"Waiting to retry\":\n \u001b[36m\u001b[39m\n\n Name \"Waiting for approved fallback\":\n \u001b[36m\u001b[39m\n\n Name \"Completed\":\n \u001b[36m\u001b[39m\n\n Name \"Failed\":\n \u001b[36m\u001b[39m\n\n Name \"Cancelled\":\n \u001b[36m\u001b[39m\n\n Name \"All\":\n \u001b[36m\u001b[39m\n\n Name \"CV processing\":\n \u001b[36m\u001b[39m\n\n Name \"Strategy snapshot\":\n \u001b[36m\u001b[39m\n\n Name \"Other operation\":\n \u001b[36m\u001b[39m\n\n Name \"All\":\n \u001b[36m\u001b[39m\n\n Name \"Document processing\":\n \u001b[36m\u001b[39m\n\n Name \"AI operations\":\n \u001b[36m\u001b[39m\n\n Name \"Unregistered worker\":\n \u001b[36m\u001b[39m\n\n Name \"All\":\n \u001b[36m\u001b[39m\n\n Name \"timeout\":\n \u001b[36m\u001b[39m\n\n Name \"lease_expired\":\n \u001b[36m\u001b[39m\n\n Name \"deadline_exceeded\":\n \u001b[36m\u001b[39m\n\n Name \"entitlement_changed\":\n \u001b[36m\u001b[39m\n\n Name \"document_unavailable\":\n \u001b[36m\u001b[39m\n\n Name \"sidecar_unavailable\":\n \u001b[36m\u001b[39m\n\n Name \"upstream_unavailable\":\n \u001b[36m\u001b[39m\n\n Name \"invalid_response\":\n \u001b[36m\u001b[39m\n\n Name \"circuit_open\":\n \u001b[36m\u001b[39m\n\n Name \"rate_limited\":\n \u001b[36m\u001b[39m\n\n Name \"permission_denied\":\n \u001b[36m\u001b[39m\n\n Name \"cancelled\":\n \u001b[36m\u001b[39m\n\n Name \"upload_rejected\":\n \u001b[36m\u001b[39m\n\n Name \"parser_failed\":\n \u001b[36m\u001b[39m\n\n Name \"malformed_output\":\n \u001b[36m\u001b[39m\n\n Name \"provider_unavailable\":\n \u001b[36m\u001b[39m\n\n Name \"processing_failed\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n textbox:\n\n Name \"Owner ID\":\n \u001b[36m\u001b[39m\n\n Name \"Search users, jobs or task ID\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n spinbutton:\n\n Name \"Application ID\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n region:\n\n Name \"Processing jobs\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n group:\n\n Name \"Processing jobs\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n table:\n\n Name \"Processing jobs\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n rowgroup:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n row:\n\n Name \"Task Owner Status Worker Created Duration\":\n \u001b[36m\u001b[39m\n\n Name \"CV processing CV.pdf Synthetic owner owner@example.test Running Reading document structure Document processing Enabled 28/10/2026, 13:00:00 8 seconds\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n columnheader:\n\n Name \"Task\":\n \u001b[36m\u001b[39m\n\n Name \"Owner\":\n \u001b[36m\u001b[39m\n\n Name \"Status\":\n \u001b[36m\u001b[39m\n\n Name \"Worker\":\n \u001b[36m\u001b[39m\n\n Name \"Created\":\n \u001b[36m\u001b[39m\n\n Name \"Duration\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n rowheader:\n\n Name \"CV processing CV.pdf\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n cell:\n\n Name \"Synthetic owner owner@example.test\":\n \u001b[36m\u001b[39m\n\n Name \"Running Reading document structure\":\n \u001b[36m\u001b[39m\n\n Name \"Document processing Enabled\":\n \u001b[36m\u001b[39m\n\n Name \"28/10/2026, 13:00:00\":\n \u001b[36m\u001b[39m\n\n Name \"8 seconds\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n time:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n\n Ignored nodes: comments, script, style\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mProcessing monitor\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mDocument and AI operations, their owners and safe processing history.\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mPause updates\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mRefresh\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mAutomatic updates enabled\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mUpdated 03/11/2026, 19:33:32\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mStatus\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mAll\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mQueued\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mRunning\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mWaiting to retry\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mWaiting for approved fallback\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mCompleted\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mFailed\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mCancelled\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mStatus\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[...\n\n 23 | test('processing workspace keyboard targets move between filters and jobs without changing filters', async () => {\n 24 | open(); await screen.findByText('Synthetic owner');\n > 25 | const filter = screen.getByRole('form', { name: 'Processing filters' });\n | ^\n 26 | const search = screen.getByLabelText('Search users, jobs or task ID');\n 27 | fireEvent.change(search, { target: { value: 'Unsubmitted search' } });\n 28 | const jobs = screen.getByRole('group', { name: 'Processing results' });\n\n at Object.getElementError (node_modules/@testing-library/dom/dist/config.js:37:19)\n at node_modules/@testing-library/dom/dist/query-helpers.js:76:38\n at node_modules/@testing-library/dom/dist/query-helpers.js:52:17\n at node_modules/@testing-library/dom/dist/query-helpers.js:95:19\n at Object.getByRole (src/admin-processing-page.test.tsx:25:25)\n","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\admin-processing-page.test.tsx","startTime":1793730810783,"status":"failed","summary":""}],"wasInterrupted":false}