Files
jobtrackingapp/docs/ui-modernisation/evidence/career/frontend/a3-letter-tablet-red.json
T

2 lines
80 KiB
JSON

{"numFailedTestSuites":1,"numFailedTests":1,"numPassedTestSuites":0,"numPassedTests":2,"numPendingTestSuites":0,"numPendingTests":52,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":1,"numTotalTests":55,"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":1793711359388,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-11 tailoring] generated metadata and known history enums follow locale while evidence, unknown metadata and dirty prose stay verbatim","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366036,"status":"pending","title":"[P7-11 tailoring] generated metadata and known history enums follow locale while evidence, unknown metadata and dirty prose stay verbatim"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"document package history is read-only and separates captured notes from answers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"document package history is read-only and separates captured notes from answers"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"cv section shows the attached variant and the ones available to attach","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"cv section shows the attached variant and the ones available to attach"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"attaching a different variant only re-points the application","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"attaching a different variant only re-points the application"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"cv section points at the builder when there are no variants","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"cv section points at the builder when there are no variants"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"tailoring renders suggestions grouped by kind","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"tailoring renders suggestions grouped by kind"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"tailoring asks for a career profile when there is none","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"tailoring asks for a career profile when there is none"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"submitted package capture appends an immutable history entry","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"submitted package capture appends an immutable history entry"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"cover letter loads the current text and its history","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"cover letter loads the current text and its history"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"editing marks the draft dirty and saving sends the new text","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"editing marks the draft dirty and saving sends the new text"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"discarding returns to the saved text","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"discarding returns to the saved text"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"restoring an old version calls the restore endpoint","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"restoring an old version calls the restore endpoint"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"an empty cover letter offers the template and an empty history","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"an empty cover letter offers the template and an empty history"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"the empty cover-letter template and rich-text controls follow Bokmål UI language","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"the empty cover-letter template and rich-text controls follow Bokmål UI language"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"AI letter results are discarded when the source changes during generation","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"AI letter results are discarded when the source changes during generation"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter Improve writing uses the existing reviewed action","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"letter Improve writing uses the existing reviewed action"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter Suggest content uses the existing reviewed action","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"letter Suggest content uses the existing reviewed action"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter Grammar check uses the existing reviewed action","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"letter Grammar check uses the existing reviewed action"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter Shorter uses the existing reviewed action","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"letter Shorter uses the existing reviewed action"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"cancelling letter generation ignores its late response","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"cancelling letter generation ignores its late response"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"AI cover letter suggestions use the linked CV and require explicit apply","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"AI cover letter suggestions use the linked CV and require explicit apply"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter AI revalidates its recorded source before applying and refuses a cross-tab source conflict","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"letter AI revalidates its recorded source before applying and refuses a cross-tab source conflict"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter AI language follows the saved document and updates the same local language draft","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"letter AI language follows the saved document and updates the same local language draft"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter AI ignores a late source validation after local edit","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"letter AI ignores a late source validation after local edit"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter AI ignores a late source validation after local cancel","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"letter AI ignores a late source validation after local cancel"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter AI ignores a late source validation after local job change","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"letter AI ignores a late source validation after local job change"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"a held letter Save prevents an in-flight AI validation from replacing the submitted snapshot","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"a held letter Save prevents an in-flight AI validation from replacing the submitted snapshot"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-W06] rejecting an AI cover letter preserves the saved draft without a write","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"[PRES-W06] rejecting an AI cover letter preserves the saved draft without a write"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"a failed load surfaces an error","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"a failed load surfaces an error"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"application answer and recruiter drafts save from the dedicated workspace","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"application answer and recruiter drafts save from the dedicated workspace"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"application package drafts can be cleared without deleting ordinary notes","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"application package drafts can be cleared without deleting ordinary notes"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"failed cover-letter saving retains editable dirty text and original Save recovery across a live locale change","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"failed cover-letter saving retains editable dirty text and original Save recovery across a live locale change"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"failed application-answer saving keeps both dirty drafts editable and retries only the original save payload","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"failed application-answer saving keeps both dirty drafts editable and retries only the original save payload"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"failed CV attachment leaves the current association and selector available for the original explicit action","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"failed CV attachment leaves the current association and selector available for the original explicit action"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"dirty version restore cancels without a write and confirmed held restore appends history exactly once","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"dirty version restore cancels without a write and confirmed held restore appends history exactly once"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"held letter Save submits one snapshot and prevents an AI Apply from replacing its pending draft","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"held letter Save submits one snapshot and prevents an AI Apply from replacing its pending draft"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"held AI generation locks its controls and preserves captured action attribution after a later action selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"held AI generation locks its controls and preserves captured action attribution after a later action selection"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"capture, detail and download failures keep owned frozen history and recover only through their original explicit actions","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"capture, detail and download failures keep owned frozen history and recover only through their original explicit actions"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"all five asset read owners expose GET-only recovery without false empty history or locale refetch","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"all five asset read owners expose GET-only recovery without false empty history or locale refetch"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"keyed job changes stop a late CV copy from attaching and never reuse another job's saved-copy recovery","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"keyed job changes stop a late CV copy from attaching and never reuse another job's saved-copy recovery"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"keyed job changes keep job B's answer drafts and callbacks independent of job A's late save","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"keyed job changes keep job B's answer drafts and callbacks independent of job A's late save"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"a parent refresh cannot attach a newer revision to dirty application drafts","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"a parent refresh cannot attach a newer revision to dirty application drafts"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"cover-letter rejection (409) retains draft and source revision without a fresh read","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"cover-letter rejection (409) retains draft and source revision without a fresh read"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"cover-letter rejection (0) retains draft and source revision without a fresh read","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366037,"status":"pending","title":"cover-letter rejection (0) retains draft and source revision without a fresh read"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter text preview shows unsaved formatting, hides the inactive narrow pane and never saves on switching","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366038,"status":"pending","title":"letter text preview shows unsaved formatting, hides the inactive narrow pane and never saves on switching"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter text preview renders unsafe Markdown as inert text","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366038,"status":"pending","title":"letter text preview renders unsafe Markdown as inert text"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter preview retains the draft after cancelled restore and failed save","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366038,"status":"pending","title":"letter preview retains the draft after cancelled restore and failed save"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"keyed letter job changes discard the old preview and ignore its late save","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366038,"status":"pending","title":"keyed letter job changes discard the old preview and ignore its late save"},{"ancestorTitles":[],"duration":1052,"failing":false,"failureDetails":[{"name":"TestingLibraryElementError"}],"failureMessages":["TestingLibraryElementError: Unable to find an accessible element with the role \"region\" and name \"Letter text preview\"\n\nHere are the accessible roles:\n\n region:\n\n Name \"Cover Letter\":\n \u001b[36m<section\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-rw0fp9\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"AI writing assistant\":\n \u001b[36m<section\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_5_\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-rw0fp9\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"Version history\":\n \u001b[36m<section\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_6_\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-rw0fp9\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n banner:\n\n Name \"\":\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\n Name \"\":\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\n Name \"\":\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\n --------------------------------------------------\n heading:\n\n Name \"Cover Letter\":\n \u001b[36m<h3\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"AI writing assistant\":\n \u001b[36m<h3\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_5_\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"Version history\":\n \u001b[36m<h3\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_6_\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n paragraph:\n\n Name \"\":\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\n Name \"\":\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\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-ciq0df-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-ciq0df-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n group:\n\n Name \"Cover Letter\":\n \u001b[36m<div\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Cover Letter\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-31l7gp\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"group\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"AI writing assistant\":\n \u001b[36m<div\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"AI writing assistant\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-31l7gp\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"group\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"Version history\":\n \u001b[36m<div\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Version history\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-31l7gp\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"group\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n status:\n\n Name \"\":\n \u001b[36m<span\u001b[39m\n \u001b[33maria-atomic\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33maria-live\u001b[39m=\u001b[32m\"polite\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-ty8jgw\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"status\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<span\u001b[39m\n \u001b[33maria-atomic\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33maria-live\u001b[39m=\u001b[32m\"polite\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-ty8jgw\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"status\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<span\u001b[39m\n \u001b[33maria-atomic\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33maria-live\u001b[39m=\u001b[32m\"polite\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-ty8jgw\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"status\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n tablist:\n\n Name \"Letter workspace\":\n \u001b[36m<div\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Letter workspace\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTabs-list MuiTabs-flexContainer css-hzcega-MuiTabs-list\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"tablist\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n tab:\n\n Name \"Write\":\n \u001b[36m<button\u001b[39m\n \u001b[33maria-controls\u001b[39m=\u001b[32m\"_r_2_-write-panel\"\u001b[39m\n \u001b[33maria-selected\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary MuiTab-fullWidth Mui-selected css-1yf2fw4-MuiButtonBase-root-MuiTab-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_2_-write\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"tab\"\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\n Name \"Preview\":\n \u001b[36m<button\u001b[39m\n \u001b[33maria-controls\u001b[39m=\u001b[32m\"_r_2_-preview-panel\"\u001b[39m\n \u001b[33maria-selected\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary MuiTab-fullWidth css-1yf2fw4-MuiButtonBase-root-MuiTab-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_2_-preview\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"tab\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n tabpanel:\n\n Name \"Write\":\n \u001b[36m<div\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_2_-write\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-31l7gp\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_2_-write-panel\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"tabpanel\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n button:\n\n Name \"Bold\":\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Bold\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-155wbr6-MuiButtonBase-root-MuiIconButton-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\n Name \"Italic\":\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Italic\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-155wbr6-MuiButtonBase-root-MuiIconButton-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\n Name \"Underline\":\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Underline\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-155wbr6-MuiButtonBase-root-MuiIconButton-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\n Name \"Link\":\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Link\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-155wbr6-MuiButtonBase-root-MuiIconButton-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\n Name \"Improve writing\":\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-3defe9-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\n Name \"Suggest content\":\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-3defe9-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\n Name \"Grammar check\":\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-3defe9-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\n Name \"Shorter\":\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-3defe9-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\n Name \"Save\":\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary css-83fk99-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\n Name \"Discard changes\":\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\n Name \"Start from template\":\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 Mui-disabled MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary css-1dn15bh-MuiButtonBase-root-MuiButton-root\"\u001b[39m\n \u001b[33mdisabled\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"Generate\":\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary css-71rffq-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\n Name \"Restore version 1\":\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Restore version 1\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-155wbr6-MuiButtonBase-root-MuiIconButton-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\n --------------------------------------------------\n textbox:\n\n Name \"Cover letter\":\n \u001b[36m<textarea\u001b[39m\n \u001b[33maria-invalid\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Cover letter\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiInputBase-input MuiOutlinedInput-input MuiInputBase-inputMultiline MuiInputBase-inputSizeSmall css-tkk7tv-MuiInputBase-input-MuiOutlinedInput-input\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_g_\"\u001b[39m\n \u001b[33mplaceholder\u001b[39m=\u001b[32m\"Write it yourself, start from the template, or generate a tailored draft.\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"height: 0px; overflow: hidden;\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"Additional instructions\":\n \u001b[36m<textarea\u001b[39m\n \u001b[33maria-invalid\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiInputBase-input MuiOutlinedInput-input MuiInputBase-inputMultiline css-1cuox7w-MuiInputBase-input-MuiOutlinedInput-input\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_r_\"\u001b[39m\n \u001b[33mplaceholder\u001b[39m=\u001b[32m\"For example: Focus on my .NET experience and keep it concise.\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"height: 0px; overflow: hidden;\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n alert:\n\n Name \"\":\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation0 MuiAlert-root MuiAlert-colorSuccess MuiAlert-outlinedSuccess MuiAlert-outlined css-1inriw1-MuiPaper-root-MuiAlert-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"alert\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"--Paper-shadow: none;\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n combobox:\n\n Name \"Action\":\n \u001b[36m<div\u001b[39m\n \u001b[33maria-expanded\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33maria-haspopup\u001b[39m=\u001b[32m\"listbox\"\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_4_-coverAiAction\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSelect-select MuiSelect-outlined MuiInputBase-input MuiOutlinedInput-input MuiInputBase-inputSizeSmall css-19marfc-MuiNativeSelect-root-MuiSelect-select-MuiInputBase-input-MuiOutlinedInput-input\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"combobox\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"Tone\":\n \u001b[36m<div\u001b[39m\n \u001b[33maria-expanded\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33maria-haspopup\u001b[39m=\u001b[32m\"listbox\"\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_4_-coverAiTone\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSelect-select MuiSelect-outlined MuiInputBase-input MuiOutlinedInput-input MuiInputBase-inputSizeSmall css-19marfc-MuiNativeSelect-root-MuiSelect-select-MuiInputBase-input-MuiOutlinedInput-input\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"combobox\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"Document language\":\n \u001b[36m<div\u001b[39m\n \u001b[33maria-expanded\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33maria-haspopup\u001b[39m=\u001b[32m\"listbox\"\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_4_-coverAiDocumentLanguage\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSelect-select MuiSelect-outlined MuiInputBase-input MuiOutlinedInput-input MuiInputBase-inputSizeSmall css-19marfc-MuiNativeSelect-root-MuiSelect-select-MuiInputBase-input-MuiOutlinedInput-input\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"combobox\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n\nIgnored nodes: comments, script, style\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\"MuiStack-root css-1sazv7p-MuiStack-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-rw0fp9\"\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<h3\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mCover Letter\u001b[0m\n \u001b[36m</h3>\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[0mEvery save creates a version, so manually edited text is never overwritten without review.\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\"MuiBox-root css-31l7gp\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Cover Letter\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-31l7gp\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"group\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33maria-atomic\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33maria-live\u001b[39m=\u001b[32m\"polite\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-ty8jgw\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"status\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mContent loaded.\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiStack-root css-1sazv7p-MuiStack-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTabs-root css-jhczcq-MuiTabs-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTabs-scroller MuiTabs-fixed css-s2t35c-MuiTabs-scroller\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"overflow: hidden; margin-bottom: 0px;\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Letter workspace\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTabs-list MuiTabs-flexContainer css-hzcega-MuiTabs-list\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"tablist\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-controls\u001b[39m=\u001b[32m\"_r_2_-write-panel\"\u001b[39m\n \u001b[33maria-selected\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary MuiTab-fullWidth Mui-selected css-1yf2fw4-MuiButtonBase-root-MuiTab-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_2_-write\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"tab\"\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[0mWrite\u001b[0m\n \u001b[36m</button>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-controls\u001b[39m=\u001b[32m\"_r_2_-preview-panel\"\u001b[39m\n \u001b[33maria-selected\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary MuiTab-fullWidth css-1yf2fw4-MuiButtonBase-root-MuiTab-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_2_-preview\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"tab\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mPreview\u001b[0m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTabs-indicator css-1qltlow-MuiTabs-indicator\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"left: 0px; width: 0px;\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-rwoo4c\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_2_-write\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-31l7gp\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_2_-write-panel\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"tabpanel\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-0\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-fn27yc\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mdata-mui-internal-clone-element\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"display: inline-flex;\"\u001b[39m\n \u001b[33mtitle\u001b[39m=\u001b[32m\"Bold\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Bold\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-155wbr6-MuiButtonBase-root-MuiIconButton-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[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-fontSizeInherit css-1ckov0h-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"FormatBoldIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42M10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mdata-mui-internal-clone-element\u001b[39m=\u001b[32m\"true\"\u001b[39m\n ...\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\\application-assets.test.tsx:979:19)"],"fullName":"letter workspace at 768px keeps one editor and its preview available without writing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711366038,"status":"failed","title":"letter workspace at 768px keeps one editor and its preview available without writing"},{"ancestorTitles":[],"duration":401,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter workspace at 1000px keeps one editor and its preview available without writing","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793711367125,"status":"passed","title":"letter workspace at 1000px keeps one editor and its preview available without writing"},{"ancestorTitles":[],"duration":436,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter workspace at 1440px keeps one editor and its preview available without writing","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793711367528,"status":"passed","title":"letter workspace at 1440px keeps one editor and its preview available without writing"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter preview controls follow Bokmål without translating or saving the local draft","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711367964,"status":"pending","title":"letter preview controls follow Bokmål without translating or saving the local draft"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"document settings are dirty local drafts until explicit Save, and Discard restores saved details","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711367964,"status":"pending","title":"document settings are dirty local drafts until explicit Save, and Discard restores saved details"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter PDF awaits durable settings and blocks duplicate exports; failed save never exports","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711367965,"status":"pending","title":"letter PDF awaits durable settings and blocks duplicate exports; failed save never exports"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"letter document preview ignores stale responses, keeps last good HTML on failure and retries without saving","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711367965,"status":"pending","title":"letter document preview ignores stale responses, keeps last good HTML on failure and retries without saving"}],"endTime":1793711367998,"message":" ● letter workspace at 768px keeps one editor and its preview available without writing\n\n TestingLibraryElementError: Unable to find an accessible element with the role \"region\" and name \"Letter text preview\"\n\n Here are the accessible roles:\n\n region:\n\n Name \"Cover Letter\":\n \u001b[36m<section\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-rw0fp9\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"AI writing assistant\":\n \u001b[36m<section\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_5_\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-rw0fp9\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"Version history\":\n \u001b[36m<section\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_6_\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-rw0fp9\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n banner:\n\n Name \"\":\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\n Name \"\":\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\n Name \"\":\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\n --------------------------------------------------\n heading:\n\n Name \"Cover Letter\":\n \u001b[36m<h3\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"AI writing assistant\":\n \u001b[36m<h3\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_5_\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"Version history\":\n \u001b[36m<h3\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_6_\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n paragraph:\n\n Name \"\":\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\n Name \"\":\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\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-ciq0df-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-ciq0df-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n group:\n\n Name \"Cover Letter\":\n \u001b[36m<div\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Cover Letter\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-31l7gp\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"group\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"AI writing assistant\":\n \u001b[36m<div\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"AI writing assistant\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-31l7gp\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"group\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"Version history\":\n \u001b[36m<div\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Version history\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-31l7gp\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"group\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n status:\n\n Name \"\":\n \u001b[36m<span\u001b[39m\n \u001b[33maria-atomic\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33maria-live\u001b[39m=\u001b[32m\"polite\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-ty8jgw\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"status\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<span\u001b[39m\n \u001b[33maria-atomic\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33maria-live\u001b[39m=\u001b[32m\"polite\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-ty8jgw\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"status\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<span\u001b[39m\n \u001b[33maria-atomic\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33maria-live\u001b[39m=\u001b[32m\"polite\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-ty8jgw\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"status\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n tablist:\n\n Name \"Letter workspace\":\n \u001b[36m<div\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Letter workspace\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTabs-list MuiTabs-flexContainer css-hzcega-MuiTabs-list\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"tablist\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n tab:\n\n Name \"Write\":\n \u001b[36m<button\u001b[39m\n \u001b[33maria-controls\u001b[39m=\u001b[32m\"_r_2_-write-panel\"\u001b[39m\n \u001b[33maria-selected\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary MuiTab-fullWidth Mui-selected css-1yf2fw4-MuiButtonBase-root-MuiTab-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_2_-write\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"tab\"\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\n Name \"Preview\":\n \u001b[36m<button\u001b[39m\n \u001b[33maria-controls\u001b[39m=\u001b[32m\"_r_2_-preview-panel\"\u001b[39m\n \u001b[33maria-selected\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary MuiTab-fullWidth css-1yf2fw4-MuiButtonBase-root-MuiTab-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_2_-preview\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"tab\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n tabpanel:\n\n Name \"Write\":\n \u001b[36m<div\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_2_-write\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-31l7gp\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_2_-write-panel\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"tabpanel\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n button:\n\n Name \"Bold\":\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Bold\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-155wbr6-MuiButtonBase-root-MuiIconButton-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\n Name \"Italic\":\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Italic\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-155wbr6-MuiButtonBase-root-MuiIconButton-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\n Name \"Underline\":\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Underline\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-155wbr6-MuiButtonBase-root-MuiIconButton-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\n Name \"Link\":\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Link\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-155wbr6-MuiButtonBase-root-MuiIconButton-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\n Name \"Improve writing\":\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-3defe9-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\n Name \"Suggest content\":\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-3defe9-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\n Name \"Grammar check\":\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-3defe9-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\n Name \"Shorter\":\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-3defe9-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\n Name \"Save\":\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary css-83fk99-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\n Name \"Discard changes\":\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\n Name \"Start from template\":\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 Mui-disabled MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary css-1dn15bh-MuiButtonBase-root-MuiButton-root\"\u001b[39m\n \u001b[33mdisabled\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"Generate\":\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary css-71rffq-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\n Name \"Restore version 1\":\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Restore version 1\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-155wbr6-MuiButtonBase-root-MuiIconButton-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\n --------------------------------------------------\n textbox:\n\n Name \"Cover letter\":\n \u001b[36m<textarea\u001b[39m\n \u001b[33maria-invalid\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Cover letter\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiInputBase-input MuiOutlinedInput-input MuiInputBase-inputMultiline MuiInputBase-inputSizeSmall css-tkk7tv-MuiInputBase-input-MuiOutlinedInput-input\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_g_\"\u001b[39m\n \u001b[33mplaceholder\u001b[39m=\u001b[32m\"Write it yourself, start from the template, or generate a tailored draft.\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"height: 0px; overflow: hidden;\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"Additional instructions\":\n \u001b[36m<textarea\u001b[39m\n \u001b[33maria-invalid\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiInputBase-input MuiOutlinedInput-input MuiInputBase-inputMultiline css-1cuox7w-MuiInputBase-input-MuiOutlinedInput-input\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_r_\"\u001b[39m\n \u001b[33mplaceholder\u001b[39m=\u001b[32m\"For example: Focus on my .NET experience and keep it concise.\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"height: 0px; overflow: hidden;\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n alert:\n\n Name \"\":\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation0 MuiAlert-root MuiAlert-colorSuccess MuiAlert-outlinedSuccess MuiAlert-outlined css-1inriw1-MuiPaper-root-MuiAlert-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"alert\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"--Paper-shadow: none;\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n combobox:\n\n Name \"Action\":\n \u001b[36m<div\u001b[39m\n \u001b[33maria-expanded\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33maria-haspopup\u001b[39m=\u001b[32m\"listbox\"\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_4_-coverAiAction\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSelect-select MuiSelect-outlined MuiInputBase-input MuiOutlinedInput-input MuiInputBase-inputSizeSmall css-19marfc-MuiNativeSelect-root-MuiSelect-select-MuiInputBase-input-MuiOutlinedInput-input\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"combobox\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"Tone\":\n \u001b[36m<div\u001b[39m\n \u001b[33maria-expanded\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33maria-haspopup\u001b[39m=\u001b[32m\"listbox\"\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_4_-coverAiTone\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSelect-select MuiSelect-outlined MuiInputBase-input MuiOutlinedInput-input MuiInputBase-inputSizeSmall css-19marfc-MuiNativeSelect-root-MuiSelect-select-MuiInputBase-input-MuiOutlinedInput-input\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"combobox\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"Document language\":\n \u001b[36m<div\u001b[39m\n \u001b[33maria-expanded\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33maria-haspopup\u001b[39m=\u001b[32m\"listbox\"\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_4_-coverAiDocumentLanguage\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSelect-select MuiSelect-outlined MuiInputBase-input MuiOutlinedInput-input MuiInputBase-inputSizeSmall css-19marfc-MuiNativeSelect-root-MuiSelect-select-MuiInputBase-input-MuiOutlinedInput-input\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"combobox\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n\n Ignored nodes: comments, script, style\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\"MuiStack-root css-1sazv7p-MuiStack-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-rw0fp9\"\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<h3\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mCover Letter\u001b[0m\n \u001b[36m</h3>\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[0mEvery save creates a version, so manually edited text is never overwritten without review.\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\"MuiBox-root css-31l7gp\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Cover Letter\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-31l7gp\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"group\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33maria-atomic\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33maria-live\u001b[39m=\u001b[32m\"polite\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-ty8jgw\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"status\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mContent loaded.\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiStack-root css-1sazv7p-MuiStack-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTabs-root css-jhczcq-MuiTabs-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTabs-scroller MuiTabs-fixed css-s2t35c-MuiTabs-scroller\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"overflow: hidden; margin-bottom: 0px;\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Letter workspace\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTabs-list MuiTabs-flexContainer css-hzcega-MuiTabs-list\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"tablist\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-controls\u001b[39m=\u001b[32m\"_r_2_-write-panel\"\u001b[39m\n \u001b[33maria-selected\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary MuiTab-fullWidth Mui-selected css-1yf2fw4-MuiButtonBase-root-MuiTab-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_2_-write\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"tab\"\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[0mWrite\u001b[0m\n \u001b[36m</button>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-controls\u001b[39m=\u001b[32m\"_r_2_-preview-panel\"\u001b[39m\n \u001b[33maria-selected\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary MuiTab-fullWidth css-1yf2fw4-MuiButtonBase-root-MuiTab-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_2_-preview\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"tab\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mPreview\u001b[0m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTabs-indicator css-1qltlow-MuiTabs-indicator\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"left: 0px; width: 0px;\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-rwoo4c\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_2_-write\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-31l7gp\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_2_-write-panel\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"tabpanel\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-0\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-fn27yc\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mdata-mui-internal-clone-element\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"display: inline-flex;\"\u001b[39m\n \u001b[33mtitle\u001b[39m=\u001b[32m\"Bold\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Bold\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-155wbr6-MuiButtonBase-root-MuiIconButton-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[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-fontSizeInherit css-1ckov0h-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"FormatBoldIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42M10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mdata-mui-internal-clone-element\u001b[39m=\u001b[32m\"true\"\u001b[39m\n ...\n\n 977 | const editor = await screen.findByRole(\"textbox\", { name: copy(\"jobDetailsCoverLetter\") });\n 978 | fireEvent.change(editor, { target: { value: \"Live desktop **draft**\" } });\n > 979 | expect(screen.getByRole(\"region\", { name: copy(\"assetsLetterTextPreview\") })).toHaveTextContent(\"Live desktop draft\");\n | ^\n 980 | expect(editor).toBeVisible();\n 981 | expect(screen.getAllByRole(\"textbox\", { name: copy(\"jobDetailsCoverLetter\") })).toHaveLength(1);\n 982 | expect(screen.queryByRole(\"tablist\", { name: copy(\"assetsLetterWorkspace\") })).not.toBeInTheDocument();\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/application-assets.test.tsx:979:19)\n","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\application-assets.test.tsx","startTime":1793711361049,"status":"failed","summary":""}],"wasInterrupted":false}