fix(security): integrate mail subject isolation into A3

This commit is contained in:
cesnimda
2026-11-10 12:48:38 +01:00
parent 2717c6afaf
commit 2033aea31b
6 changed files with 463 additions and 3 deletions
@@ -0,0 +1,9 @@
# Admin Audit isolation on the A3 integration branch
Applied the controller and regression-test changes from security checkpoint `d4c486681ad51424bfd33545d518e87193ffbc56` to A3 base `2717c6afaf6375e2e1abd7d63cbfa613a802ce83`. Git comparisons confirmed both input files matched the security patch's parent and both outputs matched its committed files. No other security branch changes were integrated.
Admin Audit now omits the mailbox subject from imported `ReplyReceived` notes. The loopback HTTP fixture verified anonymous and non-admin denial, the redacted admin response, retained non-private audit details and the unchanged stored owner note. It also verified owner-scoped notification reads and writes and processing detail access. There was no migration or data rewrite.
**PASSED 57 selected backend tests**, zero failures or skips, pinned .NET SDK 9.0.317 in Release with no restore. The native [TRX](evidence/admin-audit-isolation/INTEGRATED.trx) records 31 AdminProcessing, 19 Gmail and 7 Users cases. The seven Users cases overlap the separate read-only 2FA checkpoint. The native hash before Git text normalisation is `840180a639bbc63f9869ae013faae33f10507a0152524c89590f44357fcacea5`.
The fixtures used an isolated local database and synthetic users. Broader audit minimisation, real MariaDB and live provider checks, approved support access and final integrated security testing remain open.
@@ -4,7 +4,7 @@ Owner addendum received 9 November 2026. Source `E:/Storage/Projects/Active/temp
| Work package | Next independently eligible slice | Gate or residual requirement |
| --- | --- | --- |
| Admin information isolation | First slice published on `codex/security-offline-preflight` at `ecadc29b`. Reproduced and removed imported mail subjects from the Admin Audit projection. 62 selected offline tests passed, including owner-bound notices and operations. | Integrated security, remaining delivery paths, broader minimisation and deployment checks remain separate. |
| Admin information isolation | The original redaction patch passed 62 tests on the security branch. [A3 integration](ADMIN_AUDIT_ISOLATION_VALIDATION.md) matched the exact source/test patch and passed 57 selected tests. The runs overlap and remain separate evidence. | Integrated security, remaining delivery paths, broader minimisation and deployment checks remain separate. |
| Discover Jobs | [Search-first layout](visual-correction/DISCOVERY_SEARCH_FIRST.md) moves the query above filters and qualifies the existing NAV request, keyboard submit and source disclosure. | Expose new filters, map and multilingual suggestions only with qualified data and the existing GJ architecture. Mobile filter drawer and focused detail remain open. |
| Applications | [Title-first rows and explicit bulk mode](visual-correction/APPLICATION_SELECTION_REVIEW.md) qualified at 36 configurations. | Secondary action consolidation and final native/visual review remain open. |
| Admin Users and Audit | [Aligned rows](visual-correction/ADMIN_USER_ALIGNMENT_REVIEW.md) and [read-only 2FA status](visual-correction/ADMIN_USER_2FA_REVIEW.md) each passed their own 36-configuration checks. Compact user actions and audit filter/record presentation remain open. | 2FA recovery and private support access require explicit owner approval of their technical and privacy designs. |
@@ -0,0 +1,370 @@
<?xml version="1.0" encoding="utf-8"?>
<TestRun id="11caad6f-ec32-4ed4-a10b-87de5dc755a4" name="Connor@CESNIMDA 2026-11-10 12:47:29" runUser="Cesnimda\Connor" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Times creation="2026-11-10T12:47:29.9872552+01:00" queuing="2026-11-10T12:47:29.9872556+01:00" start="2026-11-10T12:47:28.0999819+01:00" finish="2026-11-10T12:47:36.9433050+01:00" />
<TestSettings name="default" id="e81e2d73-a700-4e1e-b0f3-7d5989555277">
<Deployment runDeploymentRoot="Connor_CESNIMDA_2026-11-10_12_47_29" />
</TestSettings>
<Results>
<UnitTestResult executionId="8de3ce5c-ae2d-40c7-87f0-0ca2308e1211" testId="a7460ecd-2dcf-3c01-9f4f-b564984877a7" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.User_authored_identity_labels_are_bounded_before_admin_projection" computerName="CESNIMDA" duration="00:00:00.1681982" startTime="2026-11-10T12:47:36.6297224+01:00" endTime="2026-11-10T12:47:36.6297226+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="8de3ce5c-ae2d-40c7-87f0-0ca2308e1211" />
<UnitTestResult executionId="67cce8fa-db94-4b94-bee6-a3558ea1cb17" testId="51e53c4c-b20b-ea5e-86f4-a0161dff998c" testName="JobTrackerApi.Tests.GmailControllerTests.Refresh_linked_threads_imports_new_messages_for_known_thread_ids" computerName="CESNIMDA" duration="00:00:00.0191831" startTime="2026-11-10T12:47:30.6974563+01:00" endTime="2026-11-10T12:47:30.6974566+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="67cce8fa-db94-4b94-bee6-a3558ea1cb17" />
<UnitTestResult executionId="569b8d36-7dec-4805-8d00-864682547338" testId="74c020c1-6f43-8b47-6887-592371457b96" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Detail_exposes_import_identity_and_links_only_the_administrators_own_application" computerName="CESNIMDA" duration="00:00:00.2398351" startTime="2026-11-10T12:47:35.9620230+01:00" endTime="2026-11-10T12:47:35.9620232+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="569b8d36-7dec-4805-8d00-864682547338" />
<UnitTestResult executionId="4f1e5f93-5307-40e4-b01e-36294d6b8937" testId="eff0c740-5766-74d7-2b54-9a9d370feaf4" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_preserve_actual_owner_relationships(query: &quot;createdBefore=2026-10-16T00:00:00Z&quot;, expected: 1)" computerName="CESNIMDA" duration="00:00:00.1678106" startTime="2026-11-10T12:47:33.3176886+01:00" endTime="2026-11-10T12:47:33.3176888+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="4f1e5f93-5307-40e4-b01e-36294d6b8937" />
<UnitTestResult executionId="c58e9b03-b7c0-4030-ac46-64380c1a6100" testId="e8ec61a8-3045-28f2-d1c2-1d24f4b43888" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_preserve_actual_owner_relationships(query: &quot;q=owner%40example.test&quot;, expected: 2)" computerName="CESNIMDA" duration="00:00:00.2198735" startTime="2026-11-10T12:47:32.5001271+01:00" endTime="2026-11-10T12:47:32.5001277+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="c58e9b03-b7c0-4030-ac46-64380c1a6100" />
<UnitTestResult executionId="02ee36b8-42f2-45af-bea8-33838f5d0053" testId="b9e6b511-16dc-188e-b0b4-b3c6d1ea5901" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Processing_reads_share_a_bounded_account_rate_limit" computerName="CESNIMDA" duration="00:00:00.2316325" startTime="2026-11-10T12:47:34.1316319+01:00" endTime="2026-11-10T12:47:34.1316321+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="02ee36b8-42f2-45af-bea8-33838f5d0053" />
<UnitTestResult executionId="44cb9c69-cc2d-4ca5-aeab-e2a47c8660a5" testId="a2bf0443-c430-60c1-dae2-66bd9de14f54" testName="JobTrackerApi.Tests.GmailControllerTests.Import_thread_reports_imported_and_skipped_counts_for_repeat_calls" computerName="CESNIMDA" duration="00:00:00.0161204" startTime="2026-11-10T12:47:30.7461004+01:00" endTime="2026-11-10T12:47:30.7461005+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="44cb9c69-cc2d-4ca5-aeab-e2a47c8660a5" />
<UnitTestResult executionId="fe44079a-21c8-4059-bd5d-a08e886edb97" testId="c178c4c9-46fe-d818-2172-b1790d08f76a" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.User_polling_does_not_expose_another_owners_notifications_or_processing_records" computerName="CESNIMDA" duration="00:00:00.2746237" startTime="2026-11-10T12:47:36.2372676+01:00" endTime="2026-11-10T12:47:36.2372677+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="fe44079a-21c8-4059-bd5d-a08e886edb97" />
<UnitTestResult executionId="1923acd6-7bb6-4e2b-b441-253f7b19e833" testId="c306a523-edb1-3483-b9d9-2894e7823843" testName="JobTrackerApi.Tests.UsersControllerTests.Delete_never_falls_back_to_identity_only_removal" computerName="CESNIMDA" duration="00:00:00.0096987" startTime="2026-11-10T12:47:28.9979080+01:00" endTime="2026-11-10T12:47:28.9979086+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="1923acd6-7bb6-4e2b-b441-253f7b19e833" />
<UnitTestResult executionId="9acc13c4-a745-4222-adaa-71780bf90ef2" testId="f94b62f1-217b-7b58-433f-78fa92c3b291" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Invalid_diagnostic_filters_fail_closed(query: &quot;createdFrom=2026-11-01T00:00:00Z&amp;createdBefore=202&quot;···)" computerName="CESNIMDA" duration="00:00:00.1819018" startTime="2026-11-10T12:47:34.8536725+01:00" endTime="2026-11-10T12:47:34.8536727+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="9acc13c4-a745-4222-adaa-71780bf90ef2" />
<UnitTestResult executionId="586294a4-2dcf-454e-a214-568f5d316df4" testId="ee5f8413-131e-d373-5831-cf9def629bf1" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Invalid_diagnostic_filters_fail_closed(query: &quot;worker=SECRET&quot;)" computerName="CESNIMDA" duration="00:00:00.1580689" startTime="2026-11-10T12:47:34.4986461+01:00" endTime="2026-11-10T12:47:34.4986463+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="586294a4-2dcf-454e-a214-568f5d316df4" />
<UnitTestResult executionId="b31589fb-25b8-46ff-9954-75c26497f048" testId="47c8243a-256a-9cd2-b778-0c1e655f34b2" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_are_applied_before_pagination(query: &quot;createdBefore=2000-01-01T00:00:00Z&quot;)" computerName="CESNIMDA" duration="00:00:00.1970828" startTime="2026-11-10T12:47:31.8097143+01:00" endTime="2026-11-10T12:47:31.8097145+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="b31589fb-25b8-46ff-9954-75c26497f048" />
<UnitTestResult executionId="51ee6176-a76e-4491-914a-66d93744d21d" testId="1d05c8f0-b4f5-5979-c2ee-b89fb865b0c0" testName="JobTrackerApi.Tests.UsersControllerTests.Delete_rejects_deleting_the_final_administrator" computerName="CESNIMDA" duration="00:00:00.0016813" startTime="2026-11-10T12:47:30.3722823+01:00" endTime="2026-11-10T12:47:30.3722825+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="51ee6176-a76e-4491-914a-66d93744d21d" />
<UnitTestResult executionId="57b0b378-436f-435b-9af2-dcc426de54d6" testId="1cb270c5-b90d-5d22-75bd-18446f0697ab" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Failure_metadata_uses_the_recorded_failure_instead_of_later_success(status: &quot;waiting_for_retry&quot;)" computerName="CESNIMDA" duration="00:00:00.2498135" startTime="2026-11-10T12:47:30.8692912+01:00" endTime="2026-11-10T12:47:30.8692915+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="57b0b378-436f-435b-9af2-dcc426de54d6" />
<UnitTestResult executionId="5b0b2459-ae49-4722-adba-7bed3c009f01" testId="dd7892ca-83cf-70c9-d495-73e403f920fd" testName="JobTrackerApi.Tests.GmailControllerTests.Unlink_thread_removes_messages_and_sets_review_decision" computerName="CESNIMDA" duration="00:00:00.0337842" startTime="2026-11-10T12:47:30.6782028+01:00" endTime="2026-11-10T12:47:30.6782029+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="5b0b2459-ae49-4722-adba-7bed3c009f01" />
<UnitTestResult executionId="9bfd71e2-9ada-41c2-b07b-ebdb18281912" testId="07351a69-1a47-c2e2-c18a-4769689406b0" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Missing_failure_history_does_not_turn_success_time_into_failure_evidence" computerName="CESNIMDA" duration="00:00:00.2125900" startTime="2026-11-10T12:47:31.0834719+01:00" endTime="2026-11-10T12:47:31.0834722+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="9bfd71e2-9ada-41c2-b07b-ebdb18281912" />
<UnitTestResult executionId="2a2087db-8295-43cb-900e-c73d607c2cd5" testId="4bd6fee0-c227-757a-f276-68c01ee512d8" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_are_applied_before_pagination(query: &quot;jobId=9999&quot;)" computerName="CESNIMDA" duration="00:00:00.2025462" startTime="2026-11-10T12:47:31.6121865+01:00" endTime="2026-11-10T12:47:31.6121868+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="2a2087db-8295-43cb-900e-c73d607c2cd5" />
<UnitTestResult executionId="fb41f0a4-f4e8-4543-9e72-04ce1aca543f" testId="dea07b3b-d253-0f24-49a5-19cddbb41e3d" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Invalid_diagnostic_filters_fail_closed(query: &quot;jobId=-1&quot;)" computerName="CESNIMDA" duration="00:00:00.1558864" startTime="2026-11-10T12:47:35.1802603+01:00" endTime="2026-11-10T12:47:35.1802605+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="fb41f0a4-f4e8-4543-9e72-04ce1aca543f" />
<UnitTestResult executionId="b45a53e8-d0b5-43ce-bb63-6dcc7961abc9" testId="cc37b055-0622-5c79-604c-d07a5ef838f8" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_preserve_actual_owner_relationships(query: &quot;failureCode=timeout&quot;, expected: 1)" computerName="CESNIMDA" duration="00:00:00.2221399" startTime="2026-11-10T12:47:32.7227430+01:00" endTime="2026-11-10T12:47:32.7227432+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="b45a53e8-d0b5-43ce-bb63-6dcc7961abc9" />
<UnitTestResult executionId="63298b21-917e-4441-8dbd-8ae184722f45" testId="4df79739-2bb8-0135-a6f0-f166c5e9b5d1" testName="JobTrackerApi.Tests.GmailControllerTests.Job_candidates_rejects_invalid_job_id" computerName="CESNIMDA" duration="00:00:00.0043986" startTime="2026-11-10T12:47:30.2755904+01:00" endTime="2026-11-10T12:47:30.2755907+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="63298b21-917e-4441-8dbd-8ae184722f45" />
<UnitTestResult executionId="c156852e-c30c-4bb3-8da6-18d6c877d646" testId="b026190f-186e-bc0e-53fe-ab0dd77e657f" testName="JobTrackerApi.Tests.GmailControllerTests.Manual_sync_auto_links_high_confidence_thread" computerName="CESNIMDA" duration="00:00:01.2753806" startTime="2026-11-10T12:47:30.1357307+01:00" endTime="2026-11-10T12:47:30.1357308+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="c156852e-c30c-4bb3-8da6-18d6c877d646" />
<UnitTestResult executionId="5140df60-ba05-428f-9f9c-1b88860f5fb6" testId="6e346171-7903-22b0-1ca1-205bad580edd" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Invalid_diagnostic_filters_fail_closed(query: &quot;failureCode=SECRET&quot;)" computerName="CESNIMDA" duration="00:00:00.1693614" startTime="2026-11-10T12:47:35.0240143+01:00" endTime="2026-11-10T12:47:35.0240144+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="5140df60-ba05-428f-9f9c-1b88860f5fb6" />
<UnitTestResult executionId="48111a9b-1758-41fa-aa3a-5616a0f873ff" testId="1942bf4b-fda0-7b4a-34e9-25989c8770bd" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_preserve_actual_owner_relationships(query: &quot;q=Owned%20job%20title&quot;, expected: 1)" computerName="CESNIMDA" duration="00:00:00.1988022" startTime="2026-11-10T12:47:33.1493651+01:00" endTime="2026-11-10T12:47:33.1493653+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="48111a9b-1758-41fa-aa3a-5616a0f873ff" />
<UnitTestResult executionId="e1974ad5-bd96-4ede-83c9-f723b93a9f9c" testId="60b6bfd7-91ef-c23f-ffe4-217e3ea1388b" testName="JobTrackerApi.Tests.UsersControllerTests.List_marks_the_current_user_and_last_admin_safety_state" computerName="CESNIMDA" duration="00:00:00.1258170" startTime="2026-11-10T12:47:28.9886728+01:00" endTime="2026-11-10T12:47:28.9886861+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="e1974ad5-bd96-4ede-83c9-f723b93a9f9c" />
<UnitTestResult executionId="489e9d00-dd04-46cc-bbf0-f48133d55f67" testId="2955f7f4-3358-54dc-4c34-6196d3f41ffd" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Audit_log_keeps_mail_subjects_in_the_owner_record" computerName="CESNIMDA" duration="00:00:00.2234018" startTime="2026-11-10T12:47:36.4610583+01:00" endTime="2026-11-10T12:47:36.4610585+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="489e9d00-dd04-46cc-bbf0-f48133d55f67" />
<UnitTestResult executionId="c92891b2-33a3-4ad8-b414-ac5e8d88a4dc" testId="e371116d-e426-f109-65b7-9aacdf55f26c" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_are_applied_before_pagination(query: &quot;q=SECRET_CV_CONTENT&quot;)" computerName="CESNIMDA" duration="00:00:00.3247592" startTime="2026-11-10T12:47:31.4091400+01:00" endTime="2026-11-10T12:47:31.4091402+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="c92891b2-33a3-4ad8-b414-ac5e8d88a4dc" />
<UnitTestResult executionId="1a485063-bc01-4bdd-8154-b9146eefb376" testId="57cc6d4c-b4ef-dbe0-fda3-1b6d1aca9b14" testName="JobTrackerApi.Tests.GmailControllerTests.Refresh_linked_threads_rejects_invalid_job_id" computerName="CESNIMDA" duration="00:00:00.0031292" startTime="2026-11-10T12:47:30.3968141+01:00" endTime="2026-11-10T12:47:30.3968143+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="1a485063-bc01-4bdd-8154-b9146eefb376" />
<UnitTestResult executionId="93239259-7f61-45f0-aca1-01b886f8d0e3" testId="be04bf9f-c1f4-b71c-97dd-e2120c2888d9" testName="JobTrackerApi.Tests.GmailControllerTests.Unlink_thread_cannot_remove_another_users_messages" computerName="CESNIMDA" duration="00:00:00.0186862" startTime="2026-11-10T12:47:30.6416471+01:00" endTime="2026-11-10T12:47:30.6416473+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="93239259-7f61-45f0-aca1-01b886f8d0e3" />
<UnitTestResult executionId="a6c3862e-4d71-4cf7-a103-d8eb571799e3" testId="e036d814-b11e-3427-2124-d9513e6d8707" testName="JobTrackerApi.Tests.GmailControllerTests.Import_thread_rejects_missing_message_ids" computerName="CESNIMDA" duration="00:00:00.0025779" startTime="2026-11-10T12:47:30.6442962+01:00" endTime="2026-11-10T12:47:30.6442963+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="a6c3862e-4d71-4cf7-a103-d8eb571799e3" />
<UnitTestResult executionId="b589694d-77be-4a08-9d5e-5b3ccd4279c8" testId="c6411e65-2573-9b0a-b091-546a25c749e9" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Processing_routes_require_the_server_administrator_role(identity: null, expected: Unauthorized)" computerName="CESNIMDA" duration="00:00:00.1565765" startTime="2026-11-10T12:47:35.3375191+01:00" endTime="2026-11-10T12:47:35.3375193+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="b589694d-77be-4a08-9d5e-5b3ccd4279c8" />
<UnitTestResult executionId="fb5c6fff-c754-4894-b0b5-9b0030de4e51" testId="ba5e704b-ca66-a258-1f80-cf0cc45d1215" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Event_cursor_is_exact_ordered_bounded_retained_and_redacted" computerName="CESNIMDA" duration="00:00:00.2075150" startTime="2026-11-10T12:47:34.3396155+01:00" endTime="2026-11-10T12:47:34.3396156+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="fb5c6fff-c754-4894-b0b5-9b0030de4e51" />
<UnitTestResult executionId="02343c11-b8bd-4b7b-ae7e-3e24697f7fec" testId="c290d6c2-2e12-8508-613f-1faef3e1e045" testName="JobTrackerApi.Tests.UsersControllerTests.List_uses_a_fixed_number_of_role_queries_for_many_users" computerName="CESNIMDA" duration="00:00:01.1848870" startTime="2026-11-10T12:47:30.1892412+01:00" endTime="2026-11-10T12:47:30.1892420+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="02343c11-b8bd-4b7b-ae7e-3e24697f7fec" />
<UnitTestResult executionId="ed1b3139-e25e-45e7-b246-f70bc26c4742" testId="925a248b-9a4e-193d-bb27-e3e23b1e39da" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_preserve_actual_owner_relationships(query: &quot;worker=document&quot;, expected: 1)" computerName="CESNIMDA" duration="00:00:00.2133301" startTime="2026-11-10T12:47:33.5314250+01:00" endTime="2026-11-10T12:47:33.5314252+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="ed1b3139-e25e-45e7-b246-f70bc26c4742" />
<UnitTestResult executionId="129053f7-1e66-482d-9ebb-2ba7ea5c2d05" testId="a55b51f5-22e2-c043-4279-8e10e60d7349" testName="JobTrackerApi.Tests.UsersControllerTests.SetRoles_revokes_existing_sessions_and_trusted_devices_when_roles_change" computerName="CESNIMDA" duration="00:00:00.1789071" startTime="2026-11-10T12:47:30.3704042+01:00" endTime="2026-11-10T12:47:30.3704043+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="129053f7-1e66-482d-9ebb-2ba7ea5c2d05" />
<UnitTestResult executionId="444fa49b-1e57-465f-a75a-fc07ae20d121" testId="9e5fc91d-b61e-dcc6-8ae5-726b071fb87e" testName="JobTrackerApi.Tests.GmailControllerTests.Import_returns_message_metadata_and_skips_repeat_message_imports" computerName="CESNIMDA" duration="00:00:00.1352545" startTime="2026-11-10T12:47:30.2711571+01:00" endTime="2026-11-10T12:47:30.2711581+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="444fa49b-1e57-465f-a75a-fc07ae20d121" />
<UnitTestResult executionId="1daa57b9-13a5-431c-82b9-269920b50bd2" testId="51ac4bbe-d7e5-71bc-246b-d1e99716f584" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Invalid_diagnostic_filters_fail_closed(query: &quot;createdFrom=0001-01-01T00:00:00Z&quot;)" computerName="CESNIMDA" duration="00:00:00.1720494" startTime="2026-11-10T12:47:34.6712334+01:00" endTime="2026-11-10T12:47:34.6712337+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="1daa57b9-13a5-431c-82b9-269920b50bd2" />
<UnitTestResult executionId="b43447db-5dab-4ff5-8630-6d73543579cf" testId="a059c7b2-6e33-c9af-2afc-cd2dc65439f2" testName="JobTrackerApi.Tests.GmailControllerTests.Review_candidates_returns_threads_grouped_with_routing_summary" computerName="CESNIMDA" duration="00:00:00.0316115" startTime="2026-11-10T12:47:30.4285329+01:00" endTime="2026-11-10T12:47:30.4285332+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="b43447db-5dab-4ff5-8630-6d73543579cf" />
<UnitTestResult executionId="d694a9b9-4d2c-45ac-a01a-3188ac6cdeed" testId="d45d0798-7cfc-42f9-8819-a57a7edb9394" testName="JobTrackerApi.Tests.GmailControllerTests.Relink_thread_can_move_messages_from_other_jobs" computerName="CESNIMDA" duration="00:00:00.0617110" startTime="2026-11-10T12:47:30.5842680+01:00" endTime="2026-11-10T12:47:30.5842683+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="d694a9b9-4d2c-45ac-a01a-3188ac6cdeed" />
<UnitTestResult executionId="e34a7d2b-0770-40c9-a907-1176a7087708" testId="ee844046-726f-42f3-8975-8f9490d048fd" testName="JobTrackerApi.Tests.GmailControllerTests.Refresh_linked_threads_reports_empty_and_disconnected_states" computerName="CESNIMDA" duration="00:00:00.0323731" startTime="2026-11-10T12:47:30.7299060+01:00" endTime="2026-11-10T12:47:30.7299061+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="e34a7d2b-0770-40c9-a907-1176a7087708" />
<UnitTestResult executionId="5a1c876e-8ff1-4639-ba28-c1ecd0f77cb4" testId="66fa9d2a-f717-592b-cce5-3f62affb59c8" testName="JobTrackerApi.Tests.GmailControllerTests.Save_review_decision_links_thread_and_imports_messages" computerName="CESNIMDA" duration="00:00:00.0695617" startTime="2026-11-10T12:47:30.5224364+01:00" endTime="2026-11-10T12:47:30.5224373+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="5a1c876e-8ff1-4639-ba28-c1ecd0f77cb4" />
<UnitTestResult executionId="cf1ada70-99ee-4f7f-8f70-63b60be1c7c8" testId="675f74a4-4cf4-d06d-d9d1-16f61fb606c0" testName="JobTrackerApi.Tests.GmailControllerTests.Suggested_jobs_and_create_suggested_job_create_job_and_link_thread" computerName="CESNIMDA" duration="00:00:00.1158230" startTime="2026-11-10T12:47:30.3914866+01:00" endTime="2026-11-10T12:47:30.3914869+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="cf1ada70-99ee-4f7f-8f70-63b60be1c7c8" />
<UnitTestResult executionId="51625678-7908-4524-8374-954f8161d146" testId="4d32ba02-105a-512c-8d73-cbe2ab1e1f04" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_are_applied_before_pagination(query: &quot;worker=untracked&quot;)" computerName="CESNIMDA" duration="00:00:00.2049924" startTime="2026-11-10T12:47:32.0150643+01:00" endTime="2026-11-10T12:47:32.0150648+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="51625678-7908-4524-8374-954f8161d146" />
<UnitTestResult executionId="69e7d020-d39f-4f3e-9d9d-47c1418ac059" testId="5b993a1e-f2f6-86d5-406c-6a46db6e0332" testName="JobTrackerApi.Tests.GmailControllerTests.Refresh_linked_threads_respects_owned_job_scope" computerName="CESNIMDA" duration="00:00:00.0015896" startTime="2026-11-10T12:47:30.7502283+01:00" endTime="2026-11-10T12:47:30.7502285+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="69e7d020-d39f-4f3e-9d9d-47c1418ac059" />
<UnitTestResult executionId="3fd18c4b-2df1-4070-972e-f5e4098f15e1" testId="aa87bb5b-2b89-868b-47a2-39dc87ec48cf" testName="JobTrackerApi.Tests.UsersControllerTests.SetRoles_rejects_removing_the_final_administrator" computerName="CESNIMDA" duration="00:00:00.0022426" startTime="2026-11-10T12:47:30.1914478+01:00" endTime="2026-11-10T12:47:30.1914478+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="3fd18c4b-2df1-4070-972e-f5e4098f15e1" />
<UnitTestResult executionId="2af791ed-e6c6-47d6-aa2c-ef78f5986b77" testId="44ff09f3-f13f-afad-c8bf-307264ed7dc8" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_preserve_actual_owner_relationships(query: &quot;worker=ai&quot;, expected: 2)" computerName="CESNIMDA" duration="00:00:00.1733522" startTime="2026-11-10T12:47:33.7051654+01:00" endTime="2026-11-10T12:47:33.7051656+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="2af791ed-e6c6-47d6-aa2c-ef78f5986b77" />
<UnitTestResult executionId="3ff86ef7-d491-417a-8694-53a79fc65e90" testId="0fbe1328-6f9f-13f7-50c5-20e6569e290d" testName="JobTrackerApi.Tests.GmailControllerTests.Job_candidates_returns_empty_threads_when_gmail_has_no_matches" computerName="CESNIMDA" duration="00:00:00.0023762" startTime="2026-11-10T12:47:30.7485703+01:00" endTime="2026-11-10T12:47:30.7485704+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="3ff86ef7-d491-417a-8694-53a79fc65e90" />
<UnitTestResult executionId="4116a14a-1e10-4665-bb47-3b4578391ca1" testId="2522538b-2fec-c9fb-5377-f146f2da0ba0" testName="JobTrackerApi.Tests.GmailControllerTests.Job_candidates_respects_owned_job_scope" computerName="CESNIMDA" duration="00:00:00.0240802" startTime="2026-11-10T12:47:30.4527166+01:00" endTime="2026-11-10T12:47:30.4527176+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="4116a14a-1e10-4665-bb47-3b4578391ca1" />
<UnitTestResult executionId="ed7b6f01-0078-419e-9cdd-225d62fd1c63" testId="812d5d43-7e52-ce08-7556-5a43f9ffdac0" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_are_applied_before_pagination(query: &quot;createdFrom=2099-01-01T00:00:00Z&quot;)" computerName="CESNIMDA" duration="00:00:00.2641083" startTime="2026-11-10T12:47:32.2795573+01:00" endTime="2026-11-10T12:47:32.2795575+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="ed7b6f01-0078-419e-9cdd-225d62fd1c63" />
<UnitTestResult executionId="650b30eb-6ee8-4aa9-b679-459f376d9aa9" testId="624e5fd3-404d-bdf0-8372-cf7f2664fb3a" testName="JobTrackerApi.Tests.GmailControllerTests.Status_returns_sync_state_fields_for_connected_account" computerName="CESNIMDA" duration="00:00:00.0019830" startTime="2026-11-10T12:47:30.3935881+01:00" endTime="2026-11-10T12:47:30.3935882+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="650b30eb-6ee8-4aa9-b679-459f376d9aa9" />
<UnitTestResult executionId="e9e94364-518e-48da-85bb-2293ceb97541" testId="3703cdc9-1200-4a8e-e91b-e5b255b6349a" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_preserve_actual_owner_relationships(query: &quot;failureCode=processing_failed&quot;, expected: 1)" computerName="CESNIMDA" duration="00:00:00.2268643" startTime="2026-11-10T12:47:32.9501256+01:00" endTime="2026-11-10T12:47:32.9501259+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="e9e94364-518e-48da-85bb-2293ceb97541" />
<UnitTestResult executionId="c4e4891f-08ea-4f2e-a93c-ffc4b9fcb6bc" testId="a3b89ebc-353f-38b3-04d4-bd41ea0c21b8" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Processing_routes_require_the_server_administrator_role(identity: &quot;ordinary&quot;, expected: Forbidden)" computerName="CESNIMDA" duration="00:00:00.1689039" startTime="2026-11-10T12:47:35.5069263+01:00" endTime="2026-11-10T12:47:35.5069265+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="c4e4891f-08ea-4f2e-a93c-ffc4b9fcb6bc" />
<UnitTestResult executionId="84f2372c-e3d3-49a0-9525-988cff0518ae" testId="49384e74-fc74-cc87-a819-9b1ba4a72e05" testName="JobTrackerApi.Tests.UsersControllerTests.SetRoles_allows_a_confirmed_self_demotion_when_another_admin_exists" computerName="CESNIMDA" duration="00:00:00.0062001" startTime="2026-11-10T12:47:29.0041804+01:00" endTime="2026-11-10T12:47:29.0041808+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="84f2372c-e3d3-49a0-9525-988cff0518ae" />
<UnitTestResult executionId="f353e41d-025b-4788-a433-1b61c95b8ff3" testId="70049eab-88eb-4514-024e-9b688c008eef" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Failure_metadata_uses_the_recorded_failure_instead_of_later_success(status: &quot;succeeded&quot;)" computerName="CESNIMDA" duration="00:00:01.7558250" startTime="2026-11-10T12:47:30.6186160+01:00" endTime="2026-11-10T12:47:30.6186162+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="f353e41d-025b-4788-a433-1b61c95b8ff3" />
<UnitTestResult executionId="03f46179-7da8-4564-a927-48e7505826f9" testId="2d9c9c47-2244-30b1-60dd-7a6c72fc4a26" testName="JobTrackerApi.Tests.GmailControllerTests.Job_candidates_returns_ranked_threads_with_match_reasons_query_hits_and_import_flags" computerName="CESNIMDA" duration="00:00:00.0385743" startTime="2026-11-10T12:47:30.6229947+01:00" endTime="2026-11-10T12:47:30.6229954+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="03f46179-7da8-4564-a927-48e7505826f9" />
<UnitTestResult executionId="d4e22fc5-2fc8-4f02-9264-6f9c79a432f0" testId="5e6c8ff2-b0d7-8172-d7f7-7a4377ce492f" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Processing_routes_require_the_server_administrator_role(identity: &quot;admin&quot;, expected: OK)" computerName="CESNIMDA" duration="00:00:00.2137631" startTime="2026-11-10T12:47:35.7213832+01:00" endTime="2026-11-10T12:47:35.7213838+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="d4e22fc5-2fc8-4f02-9264-6f9c79a432f0" />
<UnitTestResult executionId="e5597443-5941-4c01-ad96-35c961505a1f" testId="84f7e997-d635-149a-68bc-b02e9fcddd2d" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_preserve_actual_owner_relationships(query: &quot;jobId=2&quot;, expected: 1)" computerName="CESNIMDA" duration="00:00:00.1938259" startTime="2026-11-10T12:47:33.8995220+01:00" endTime="2026-11-10T12:47:33.8995223+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="e5597443-5941-4c01-ad96-35c961505a1f" />
<UnitTestResult executionId="fb6987a4-99b8-41e6-8633-512c52dab9bb" testId="369cf2cd-6a6b-3b6b-6836-0b22e26fda39" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Admin_projection_filters_owners_and_never_returns_raw_processing_contents_or_lease_data" computerName="CESNIMDA" duration="00:00:00.2376063" startTime="2026-11-10T12:47:36.8677176+01:00" endTime="2026-11-10T12:47:36.8677178+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="fb6987a4-99b8-41e6-8633-512c52dab9bb" />
</Results>
<TestDefinitions>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Detail_exposes_import_identity_and_links_only_the_administrators_own_application" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="74c020c1-6f43-8b47-6887-592371457b96">
<Execution id="569b8d36-7dec-4805-8d00-864682547338" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Detail_exposes_import_identity_and_links_only_the_administrators_own_application" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Processing_routes_require_the_server_administrator_role(identity: &quot;admin&quot;, expected: OK)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="5e6c8ff2-b0d7-8172-d7f7-7a4377ce492f">
<Execution id="d4e22fc5-2fc8-4f02-9264-6f9c79a432f0" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Processing_routes_require_the_server_administrator_role" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.GmailControllerTests.Manual_sync_auto_links_high_confidence_thread" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="b026190f-186e-bc0e-53fe-ab0dd77e657f">
<Execution id="c156852e-c30c-4bb3-8da6-18d6c877d646" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.GmailControllerTests" name="Manual_sync_auto_links_high_confidence_thread" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Missing_failure_history_does_not_turn_success_time_into_failure_evidence" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="07351a69-1a47-c2e2-c18a-4769689406b0">
<Execution id="9bfd71e2-9ada-41c2-b07b-ebdb18281912" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Missing_failure_history_does_not_turn_success_time_into_failure_evidence" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.GmailControllerTests.Job_candidates_returns_empty_threads_when_gmail_has_no_matches" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="0fbe1328-6f9f-13f7-50c5-20e6569e290d">
<Execution id="3ff86ef7-d491-417a-8694-53a79fc65e90" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.GmailControllerTests" name="Job_candidates_returns_empty_threads_when_gmail_has_no_matches" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Processing_reads_share_a_bounded_account_rate_limit" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="b9e6b511-16dc-188e-b0b4-b3c6d1ea5901">
<Execution id="02ee36b8-42f2-45af-bea8-33838f5d0053" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Processing_reads_share_a_bounded_account_rate_limit" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.GmailControllerTests.Job_candidates_rejects_invalid_job_id" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="4df79739-2bb8-0135-a6f0-f166c5e9b5d1">
<Execution id="63298b21-917e-4441-8dbd-8ae184722f45" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.GmailControllerTests" name="Job_candidates_rejects_invalid_job_id" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_preserve_actual_owner_relationships(query: &quot;jobId=2&quot;, expected: 1)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="84f7e997-d635-149a-68bc-b02e9fcddd2d">
<Execution id="e5597443-5941-4c01-ad96-35c961505a1f" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Diagnostic_filters_preserve_actual_owner_relationships" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.UsersControllerTests.List_marks_the_current_user_and_last_admin_safety_state" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="60b6bfd7-91ef-c23f-ffe4-217e3ea1388b">
<Execution id="e1974ad5-bd96-4ede-83c9-f723b93a9f9c" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.UsersControllerTests" name="List_marks_the_current_user_and_last_admin_safety_state" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.GmailControllerTests.Review_candidates_returns_threads_grouped_with_routing_summary" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="a059c7b2-6e33-c9af-2afc-cd2dc65439f2">
<Execution id="b43447db-5dab-4ff5-8630-6d73543579cf" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.GmailControllerTests" name="Review_candidates_returns_threads_grouped_with_routing_summary" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.User_polling_does_not_expose_another_owners_notifications_or_processing_records" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="c178c4c9-46fe-d818-2172-b1790d08f76a">
<Execution id="fe44079a-21c8-4059-bd5d-a08e886edb97" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="User_polling_does_not_expose_another_owners_notifications_or_processing_records" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Admin_projection_filters_owners_and_never_returns_raw_processing_contents_or_lease_data" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="369cf2cd-6a6b-3b6b-6836-0b22e26fda39">
<Execution id="fb6987a4-99b8-41e6-8633-512c52dab9bb" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Admin_projection_filters_owners_and_never_returns_raw_processing_contents_or_lease_data" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Invalid_diagnostic_filters_fail_closed(query: &quot;worker=SECRET&quot;)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="ee5f8413-131e-d373-5831-cf9def629bf1">
<Execution id="586294a4-2dcf-454e-a214-568f5d316df4" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Invalid_diagnostic_filters_fail_closed" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_are_applied_before_pagination(query: &quot;createdBefore=2000-01-01T00:00:00Z&quot;)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="47c8243a-256a-9cd2-b778-0c1e655f34b2">
<Execution id="b31589fb-25b8-46ff-9954-75c26497f048" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Diagnostic_filters_are_applied_before_pagination" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Invalid_diagnostic_filters_fail_closed(query: &quot;createdFrom=2026-11-01T00:00:00Z&amp;createdBefore=202&quot;···)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="f94b62f1-217b-7b58-433f-78fa92c3b291">
<Execution id="9acc13c4-a745-4222-adaa-71780bf90ef2" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Invalid_diagnostic_filters_fail_closed" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.GmailControllerTests.Save_review_decision_links_thread_and_imports_messages" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="66fa9d2a-f717-592b-cce5-3f62affb59c8">
<Execution id="5a1c876e-8ff1-4639-ba28-c1ecd0f77cb4" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.GmailControllerTests" name="Save_review_decision_links_thread_and_imports_messages" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Processing_routes_require_the_server_administrator_role(identity: null, expected: Unauthorized)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="c6411e65-2573-9b0a-b091-546a25c749e9">
<Execution id="b589694d-77be-4a08-9d5e-5b3ccd4279c8" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Processing_routes_require_the_server_administrator_role" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_are_applied_before_pagination(query: &quot;jobId=9999&quot;)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="4bd6fee0-c227-757a-f276-68c01ee512d8">
<Execution id="2a2087db-8295-43cb-900e-c73d607c2cd5" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Diagnostic_filters_are_applied_before_pagination" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_preserve_actual_owner_relationships(query: &quot;worker=ai&quot;, expected: 2)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="44ff09f3-f13f-afad-c8bf-307264ed7dc8">
<Execution id="2af791ed-e6c6-47d6-aa2c-ef78f5986b77" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Diagnostic_filters_preserve_actual_owner_relationships" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Event_cursor_is_exact_ordered_bounded_retained_and_redacted" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="ba5e704b-ca66-a258-1f80-cf0cc45d1215">
<Execution id="fb5c6fff-c754-4894-b0b5-9b0030de4e51" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Event_cursor_is_exact_ordered_bounded_retained_and_redacted" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_preserve_actual_owner_relationships(query: &quot;createdBefore=2026-10-16T00:00:00Z&quot;, expected: 1)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="eff0c740-5766-74d7-2b54-9a9d370feaf4">
<Execution id="4f1e5f93-5307-40e4-b01e-36294d6b8937" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Diagnostic_filters_preserve_actual_owner_relationships" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.GmailControllerTests.Job_candidates_respects_owned_job_scope" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="2522538b-2fec-c9fb-5377-f146f2da0ba0">
<Execution id="4116a14a-1e10-4665-bb47-3b4578391ca1" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.GmailControllerTests" name="Job_candidates_respects_owned_job_scope" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.GmailControllerTests.Refresh_linked_threads_reports_empty_and_disconnected_states" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="ee844046-726f-42f3-8975-8f9490d048fd">
<Execution id="e34a7d2b-0770-40c9-a907-1176a7087708" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.GmailControllerTests" name="Refresh_linked_threads_reports_empty_and_disconnected_states" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Processing_routes_require_the_server_administrator_role(identity: &quot;ordinary&quot;, expected: Forbidden)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="a3b89ebc-353f-38b3-04d4-bd41ea0c21b8">
<Execution id="c4e4891f-08ea-4f2e-a93c-ffc4b9fcb6bc" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Processing_routes_require_the_server_administrator_role" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.UsersControllerTests.List_uses_a_fixed_number_of_role_queries_for_many_users" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="c290d6c2-2e12-8508-613f-1faef3e1e045">
<Execution id="02343c11-b8bd-4b7b-ae7e-3e24697f7fec" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.UsersControllerTests" name="List_uses_a_fixed_number_of_role_queries_for_many_users" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_are_applied_before_pagination(query: &quot;createdFrom=2099-01-01T00:00:00Z&quot;)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="812d5d43-7e52-ce08-7556-5a43f9ffdac0">
<Execution id="ed7b6f01-0078-419e-9cdd-225d62fd1c63" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Diagnostic_filters_are_applied_before_pagination" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.UsersControllerTests.SetRoles_revokes_existing_sessions_and_trusted_devices_when_roles_change" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="a55b51f5-22e2-c043-4279-8e10e60d7349">
<Execution id="129053f7-1e66-482d-9ebb-2ba7ea5c2d05" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.UsersControllerTests" name="SetRoles_revokes_existing_sessions_and_trusted_devices_when_roles_change" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Invalid_diagnostic_filters_fail_closed(query: &quot;createdFrom=0001-01-01T00:00:00Z&quot;)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="51ac4bbe-d7e5-71bc-246b-d1e99716f584">
<Execution id="1daa57b9-13a5-431c-82b9-269920b50bd2" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Invalid_diagnostic_filters_fail_closed" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.GmailControllerTests.Job_candidates_returns_ranked_threads_with_match_reasons_query_hits_and_import_flags" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="2d9c9c47-2244-30b1-60dd-7a6c72fc4a26">
<Execution id="03f46179-7da8-4564-a927-48e7505826f9" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.GmailControllerTests" name="Job_candidates_returns_ranked_threads_with_match_reasons_query_hits_and_import_flags" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.GmailControllerTests.Import_returns_message_metadata_and_skips_repeat_message_imports" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="9e5fc91d-b61e-dcc6-8ae5-726b071fb87e">
<Execution id="444fa49b-1e57-465f-a75a-fc07ae20d121" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.GmailControllerTests" name="Import_returns_message_metadata_and_skips_repeat_message_imports" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.GmailControllerTests.Status_returns_sync_state_fields_for_connected_account" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="624e5fd3-404d-bdf0-8372-cf7f2664fb3a">
<Execution id="650b30eb-6ee8-4aa9-b679-459f376d9aa9" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.GmailControllerTests" name="Status_returns_sync_state_fields_for_connected_account" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.UsersControllerTests.Delete_never_falls_back_to_identity_only_removal" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="c306a523-edb1-3483-b9d9-2894e7823843">
<Execution id="1923acd6-7bb6-4e2b-b441-253f7b19e833" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.UsersControllerTests" name="Delete_never_falls_back_to_identity_only_removal" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Failure_metadata_uses_the_recorded_failure_instead_of_later_success(status: &quot;succeeded&quot;)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="70049eab-88eb-4514-024e-9b688c008eef">
<Execution id="f353e41d-025b-4788-a433-1b61c95b8ff3" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Failure_metadata_uses_the_recorded_failure_instead_of_later_success" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.GmailControllerTests.Unlink_thread_cannot_remove_another_users_messages" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="be04bf9f-c1f4-b71c-97dd-e2120c2888d9">
<Execution id="93239259-7f61-45f0-aca1-01b886f8d0e3" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.GmailControllerTests" name="Unlink_thread_cannot_remove_another_users_messages" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.GmailControllerTests.Refresh_linked_threads_imports_new_messages_for_known_thread_ids" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="51e53c4c-b20b-ea5e-86f4-a0161dff998c">
<Execution id="67cce8fa-db94-4b94-bee6-a3558ea1cb17" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.GmailControllerTests" name="Refresh_linked_threads_imports_new_messages_for_known_thread_ids" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_preserve_actual_owner_relationships(query: &quot;q=Owned%20job%20title&quot;, expected: 1)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="1942bf4b-fda0-7b4a-34e9-25989c8770bd">
<Execution id="48111a9b-1758-41fa-aa3a-5616a0f873ff" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Diagnostic_filters_preserve_actual_owner_relationships" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Audit_log_keeps_mail_subjects_in_the_owner_record" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="2955f7f4-3358-54dc-4c34-6196d3f41ffd">
<Execution id="489e9d00-dd04-46cc-bbf0-f48133d55f67" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Audit_log_keeps_mail_subjects_in_the_owner_record" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_preserve_actual_owner_relationships(query: &quot;failureCode=processing_failed&quot;, expected: 1)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="3703cdc9-1200-4a8e-e91b-e5b255b6349a">
<Execution id="e9e94364-518e-48da-85bb-2293ceb97541" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Diagnostic_filters_preserve_actual_owner_relationships" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Failure_metadata_uses_the_recorded_failure_instead_of_later_success(status: &quot;waiting_for_retry&quot;)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="1cb270c5-b90d-5d22-75bd-18446f0697ab">
<Execution id="57b0b378-436f-435b-9af2-dcc426de54d6" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Failure_metadata_uses_the_recorded_failure_instead_of_later_success" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.UsersControllerTests.Delete_rejects_deleting_the_final_administrator" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="1d05c8f0-b4f5-5979-c2ee-b89fb865b0c0">
<Execution id="51ee6176-a76e-4491-914a-66d93744d21d" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.UsersControllerTests" name="Delete_rejects_deleting_the_final_administrator" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Invalid_diagnostic_filters_fail_closed(query: &quot;jobId=-1&quot;)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="dea07b3b-d253-0f24-49a5-19cddbb41e3d">
<Execution id="fb41f0a4-f4e8-4543-9e72-04ce1aca543f" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Invalid_diagnostic_filters_fail_closed" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.GmailControllerTests.Suggested_jobs_and_create_suggested_job_create_job_and_link_thread" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="675f74a4-4cf4-d06d-d9d1-16f61fb606c0">
<Execution id="cf1ada70-99ee-4f7f-8f70-63b60be1c7c8" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.GmailControllerTests" name="Suggested_jobs_and_create_suggested_job_create_job_and_link_thread" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_are_applied_before_pagination(query: &quot;q=SECRET_CV_CONTENT&quot;)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="e371116d-e426-f109-65b7-9aacdf55f26c">
<Execution id="c92891b2-33a3-4ad8-b414-ac5e8d88a4dc" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Diagnostic_filters_are_applied_before_pagination" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_preserve_actual_owner_relationships(query: &quot;failureCode=timeout&quot;, expected: 1)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="cc37b055-0622-5c79-604c-d07a5ef838f8">
<Execution id="b45a53e8-d0b5-43ce-bb63-6dcc7961abc9" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Diagnostic_filters_preserve_actual_owner_relationships" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_preserve_actual_owner_relationships(query: &quot;q=owner%40example.test&quot;, expected: 2)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="e8ec61a8-3045-28f2-d1c2-1d24f4b43888">
<Execution id="c58e9b03-b7c0-4030-ac46-64380c1a6100" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Diagnostic_filters_preserve_actual_owner_relationships" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.User_authored_identity_labels_are_bounded_before_admin_projection" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="a7460ecd-2dcf-3c01-9f4f-b564984877a7">
<Execution id="8de3ce5c-ae2d-40c7-87f0-0ca2308e1211" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="User_authored_identity_labels_are_bounded_before_admin_projection" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_preserve_actual_owner_relationships(query: &quot;worker=document&quot;, expected: 1)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="925a248b-9a4e-193d-bb27-e3e23b1e39da">
<Execution id="ed1b3139-e25e-45e7-b246-f70bc26c4742" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Diagnostic_filters_preserve_actual_owner_relationships" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Diagnostic_filters_are_applied_before_pagination(query: &quot;worker=untracked&quot;)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="4d32ba02-105a-512c-8d73-cbe2ab1e1f04">
<Execution id="51625678-7908-4524-8374-954f8161d146" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Diagnostic_filters_are_applied_before_pagination" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.GmailControllerTests.Unlink_thread_removes_messages_and_sets_review_decision" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="dd7892ca-83cf-70c9-d495-73e403f920fd">
<Execution id="5b0b2459-ae49-4722-adba-7bed3c009f01" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.GmailControllerTests" name="Unlink_thread_removes_messages_and_sets_review_decision" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.GmailControllerTests.Import_thread_reports_imported_and_skipped_counts_for_repeat_calls" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="a2bf0443-c430-60c1-dae2-66bd9de14f54">
<Execution id="44cb9c69-cc2d-4ca5-aeab-e2a47c8660a5" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.GmailControllerTests" name="Import_thread_reports_imported_and_skipped_counts_for_repeat_calls" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.GmailControllerTests.Refresh_linked_threads_rejects_invalid_job_id" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="57cc6d4c-b4ef-dbe0-fda3-1b6d1aca9b14">
<Execution id="1a485063-bc01-4bdd-8154-b9146eefb376" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.GmailControllerTests" name="Refresh_linked_threads_rejects_invalid_job_id" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.UsersControllerTests.SetRoles_rejects_removing_the_final_administrator" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="aa87bb5b-2b89-868b-47a2-39dc87ec48cf">
<Execution id="3fd18c4b-2df1-4070-972e-f5e4098f15e1" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.UsersControllerTests" name="SetRoles_rejects_removing_the_final_administrator" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.GmailControllerTests.Import_thread_rejects_missing_message_ids" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="e036d814-b11e-3427-2124-d9513e6d8707">
<Execution id="a6c3862e-4d71-4cf7-a103-d8eb571799e3" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.GmailControllerTests" name="Import_thread_rejects_missing_message_ids" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.GmailControllerTests.Relink_thread_can_move_messages_from_other_jobs" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="d45d0798-7cfc-42f9-8819-a57a7edb9394">
<Execution id="d694a9b9-4d2c-45ac-a01a-3188ac6cdeed" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.GmailControllerTests" name="Relink_thread_can_move_messages_from_other_jobs" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AdminProcessingControllerTests.Invalid_diagnostic_filters_fail_closed(query: &quot;failureCode=SECRET&quot;)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="6e346171-7903-22b0-1ca1-205bad580edd">
<Execution id="5140df60-ba05-428f-9f9c-1b88860f5fb6" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Invalid_diagnostic_filters_fail_closed" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.GmailControllerTests.Refresh_linked_threads_respects_owned_job_scope" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="5b993a1e-f2f6-86d5-406c-6a46db6e0332">
<Execution id="69e7d020-d39f-4f3e-9d9d-47c1418ac059" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.GmailControllerTests" name="Refresh_linked_threads_respects_owned_job_scope" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.UsersControllerTests.SetRoles_allows_a_confirmed_self_demotion_when_another_admin_exists" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\release\net9.0\jobtrackerapi.tests.dll" id="49384e74-fc74-cc87-a819-9b1ba4a72e05">
<Execution id="84f2372c-e3d3-49a0-9525-988cff0518ae" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Release\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.UsersControllerTests" name="SetRoles_allows_a_confirmed_self_demotion_when_another_admin_exists" />
</UnitTest>
</TestDefinitions>
<TestEntries>
<TestEntry testId="a7460ecd-2dcf-3c01-9f4f-b564984877a7" executionId="8de3ce5c-ae2d-40c7-87f0-0ca2308e1211" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="51e53c4c-b20b-ea5e-86f4-a0161dff998c" executionId="67cce8fa-db94-4b94-bee6-a3558ea1cb17" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="74c020c1-6f43-8b47-6887-592371457b96" executionId="569b8d36-7dec-4805-8d00-864682547338" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="eff0c740-5766-74d7-2b54-9a9d370feaf4" executionId="4f1e5f93-5307-40e4-b01e-36294d6b8937" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="e8ec61a8-3045-28f2-d1c2-1d24f4b43888" executionId="c58e9b03-b7c0-4030-ac46-64380c1a6100" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="b9e6b511-16dc-188e-b0b4-b3c6d1ea5901" executionId="02ee36b8-42f2-45af-bea8-33838f5d0053" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="a2bf0443-c430-60c1-dae2-66bd9de14f54" executionId="44cb9c69-cc2d-4ca5-aeab-e2a47c8660a5" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="c178c4c9-46fe-d818-2172-b1790d08f76a" executionId="fe44079a-21c8-4059-bd5d-a08e886edb97" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="c306a523-edb1-3483-b9d9-2894e7823843" executionId="1923acd6-7bb6-4e2b-b441-253f7b19e833" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="f94b62f1-217b-7b58-433f-78fa92c3b291" executionId="9acc13c4-a745-4222-adaa-71780bf90ef2" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="ee5f8413-131e-d373-5831-cf9def629bf1" executionId="586294a4-2dcf-454e-a214-568f5d316df4" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="47c8243a-256a-9cd2-b778-0c1e655f34b2" executionId="b31589fb-25b8-46ff-9954-75c26497f048" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="1d05c8f0-b4f5-5979-c2ee-b89fb865b0c0" executionId="51ee6176-a76e-4491-914a-66d93744d21d" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="1cb270c5-b90d-5d22-75bd-18446f0697ab" executionId="57b0b378-436f-435b-9af2-dcc426de54d6" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="dd7892ca-83cf-70c9-d495-73e403f920fd" executionId="5b0b2459-ae49-4722-adba-7bed3c009f01" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="07351a69-1a47-c2e2-c18a-4769689406b0" executionId="9bfd71e2-9ada-41c2-b07b-ebdb18281912" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="4bd6fee0-c227-757a-f276-68c01ee512d8" executionId="2a2087db-8295-43cb-900e-c73d607c2cd5" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="dea07b3b-d253-0f24-49a5-19cddbb41e3d" executionId="fb41f0a4-f4e8-4543-9e72-04ce1aca543f" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="cc37b055-0622-5c79-604c-d07a5ef838f8" executionId="b45a53e8-d0b5-43ce-bb63-6dcc7961abc9" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="4df79739-2bb8-0135-a6f0-f166c5e9b5d1" executionId="63298b21-917e-4441-8dbd-8ae184722f45" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="b026190f-186e-bc0e-53fe-ab0dd77e657f" executionId="c156852e-c30c-4bb3-8da6-18d6c877d646" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="6e346171-7903-22b0-1ca1-205bad580edd" executionId="5140df60-ba05-428f-9f9c-1b88860f5fb6" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="1942bf4b-fda0-7b4a-34e9-25989c8770bd" executionId="48111a9b-1758-41fa-aa3a-5616a0f873ff" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="60b6bfd7-91ef-c23f-ffe4-217e3ea1388b" executionId="e1974ad5-bd96-4ede-83c9-f723b93a9f9c" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="2955f7f4-3358-54dc-4c34-6196d3f41ffd" executionId="489e9d00-dd04-46cc-bbf0-f48133d55f67" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="e371116d-e426-f109-65b7-9aacdf55f26c" executionId="c92891b2-33a3-4ad8-b414-ac5e8d88a4dc" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="57cc6d4c-b4ef-dbe0-fda3-1b6d1aca9b14" executionId="1a485063-bc01-4bdd-8154-b9146eefb376" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="be04bf9f-c1f4-b71c-97dd-e2120c2888d9" executionId="93239259-7f61-45f0-aca1-01b886f8d0e3" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="e036d814-b11e-3427-2124-d9513e6d8707" executionId="a6c3862e-4d71-4cf7-a103-d8eb571799e3" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="c6411e65-2573-9b0a-b091-546a25c749e9" executionId="b589694d-77be-4a08-9d5e-5b3ccd4279c8" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="ba5e704b-ca66-a258-1f80-cf0cc45d1215" executionId="fb5c6fff-c754-4894-b0b5-9b0030de4e51" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="c290d6c2-2e12-8508-613f-1faef3e1e045" executionId="02343c11-b8bd-4b7b-ae7e-3e24697f7fec" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="925a248b-9a4e-193d-bb27-e3e23b1e39da" executionId="ed1b3139-e25e-45e7-b246-f70bc26c4742" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="a55b51f5-22e2-c043-4279-8e10e60d7349" executionId="129053f7-1e66-482d-9ebb-2ba7ea5c2d05" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="9e5fc91d-b61e-dcc6-8ae5-726b071fb87e" executionId="444fa49b-1e57-465f-a75a-fc07ae20d121" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="51ac4bbe-d7e5-71bc-246b-d1e99716f584" executionId="1daa57b9-13a5-431c-82b9-269920b50bd2" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="a059c7b2-6e33-c9af-2afc-cd2dc65439f2" executionId="b43447db-5dab-4ff5-8630-6d73543579cf" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="d45d0798-7cfc-42f9-8819-a57a7edb9394" executionId="d694a9b9-4d2c-45ac-a01a-3188ac6cdeed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="ee844046-726f-42f3-8975-8f9490d048fd" executionId="e34a7d2b-0770-40c9-a907-1176a7087708" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="66fa9d2a-f717-592b-cce5-3f62affb59c8" executionId="5a1c876e-8ff1-4639-ba28-c1ecd0f77cb4" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="675f74a4-4cf4-d06d-d9d1-16f61fb606c0" executionId="cf1ada70-99ee-4f7f-8f70-63b60be1c7c8" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="4d32ba02-105a-512c-8d73-cbe2ab1e1f04" executionId="51625678-7908-4524-8374-954f8161d146" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="5b993a1e-f2f6-86d5-406c-6a46db6e0332" executionId="69e7d020-d39f-4f3e-9d9d-47c1418ac059" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="aa87bb5b-2b89-868b-47a2-39dc87ec48cf" executionId="3fd18c4b-2df1-4070-972e-f5e4098f15e1" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="44ff09f3-f13f-afad-c8bf-307264ed7dc8" executionId="2af791ed-e6c6-47d6-aa2c-ef78f5986b77" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="0fbe1328-6f9f-13f7-50c5-20e6569e290d" executionId="3ff86ef7-d491-417a-8694-53a79fc65e90" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="2522538b-2fec-c9fb-5377-f146f2da0ba0" executionId="4116a14a-1e10-4665-bb47-3b4578391ca1" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="812d5d43-7e52-ce08-7556-5a43f9ffdac0" executionId="ed7b6f01-0078-419e-9cdd-225d62fd1c63" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="624e5fd3-404d-bdf0-8372-cf7f2664fb3a" executionId="650b30eb-6ee8-4aa9-b679-459f376d9aa9" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="3703cdc9-1200-4a8e-e91b-e5b255b6349a" executionId="e9e94364-518e-48da-85bb-2293ceb97541" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="a3b89ebc-353f-38b3-04d4-bd41ea0c21b8" executionId="c4e4891f-08ea-4f2e-a93c-ffc4b9fcb6bc" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="49384e74-fc74-cc87-a819-9b1ba4a72e05" executionId="84f2372c-e3d3-49a0-9525-988cff0518ae" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="70049eab-88eb-4514-024e-9b688c008eef" executionId="f353e41d-025b-4788-a433-1b61c95b8ff3" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="2d9c9c47-2244-30b1-60dd-7a6c72fc4a26" executionId="03f46179-7da8-4564-a927-48e7505826f9" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="5e6c8ff2-b0d7-8172-d7f7-7a4377ce492f" executionId="d4e22fc5-2fc8-4f02-9264-6f9c79a432f0" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="84f7e997-d635-149a-68bc-b02e9fcddd2d" executionId="e5597443-5941-4c01-ad96-35c961505a1f" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="369cf2cd-6a6b-3b6b-6836-0b22e26fda39" executionId="fb6987a4-99b8-41e6-8633-512c52dab9bb" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
</TestEntries>
<TestLists>
<TestList name="Results Not in a List" id="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestList name="All Loaded Results" id="19431567-8539-422a-85d7-44ee4e166bda" />
</TestLists>
<ResultSummary outcome="Completed">
<Counters total="57" executed="57" passed="57" failed="0" error="0" timeout="0" aborted="0" inconclusive="0" passedButRunAborted="0" notRunnable="0" notExecuted="0" disconnected="0" warning="0" completed="0" inProgress="0" pending="0" />
<Output>
<StdOut>[xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v2.8.2+699d445a1a (64-bit .NET 9.0.19)&#xD;
[xUnit.net 00:00:00.19] Discovering: JobTrackerApi.Tests&#xD;
[xUnit.net 00:00:00.33] Discovered: JobTrackerApi.Tests&#xD;
[xUnit.net 00:00:00.34] Starting: JobTrackerApi.Tests&#xD;
[xUnit.net 00:00:08.38] Finished: JobTrackerApi.Tests&#xD;
</StdOut>
</Output>
</ResultSummary>
</TestRun>