Compare commits

..

65 Commits

Author SHA1 Message Date
cesnimda 21db35d2b9 fix(perf): keep superseded company reads out of cache 2026-11-10 17:40:51 +01:00
cesnimda fd524a4b9d test(admin): qualify recent audit filters and disclosure 2026-11-10 13:24:48 +01:00
cesnimda cd69b769a2 feat(admin): filter and expand recent audit events 2026-11-10 13:23:26 +01:00
cesnimda 49e79875d9 test(admin): qualify recent audit search and responsive feedback 2026-11-10 13:12:23 +01:00
cesnimda 1a8a97a578 feat(admin): search recent audit metadata 2026-11-10 13:11:29 +01:00
cesnimda 2033aea31b fix(security): integrate mail subject isolation into A3 2026-11-10 12:48:38 +01:00
cesnimda 2717c6afaf test(admin): qualify read-only account status 2026-11-10 12:46:45 +01:00
cesnimda e22f2d6450 feat(admin): show read-only account 2FA status 2026-11-10 12:45:11 +01:00
cesnimda 13c9c65352 test(admin): qualify status refresh and document diagnostics 2026-11-10 12:42:57 +01:00
cesnimda 4981a24238 fix(admin): keep status timestamp above secondary warnings 2026-11-10 12:40:07 +01:00
cesnimda 320bf6d1c7 feat(admin): show when system status last refreshed 2026-11-10 12:37:34 +01:00
cesnimda d6e5a45ba2 test(admin): qualify the users table alignment 2026-11-10 12:35:20 +01:00
cesnimda dddec04366 fix(admin): align user details and actions within each row 2026-11-10 12:33:02 +01:00
cesnimda 252759f420 test(applications): qualify the explicit selection mode 2026-11-10 12:28:50 +01:00
cesnimda 1246994cca feat(applications): make bulk selection an explicit mode 2026-11-10 12:26:06 +01:00
cesnimda 99a2b6f4f6 test(discovery): qualify search-first layout and keyboard submission 2026-11-09 23:03:59 +01:00
cesnimda 0540e84ff6 feat(discovery): lead with the existing search controls 2026-11-09 22:57:07 +01:00
cesnimda bd34a3504f test(launch): capture existing public homepage baseline 2026-11-09 22:56:22 +01:00
cesnimda 0bb7226725 docs(roadmap): incorporate A3 refinements and Europe readiness 2026-11-09 22:56:00 +01:00
cesnimda 511945b4f2 test(settings): qualify privacy read and rejected save recovery 2026-11-09 22:50:33 +01:00
cesnimda 91e5a6bf3a test(i18n): qualify Gmail review counts across EN and NB 2026-11-09 22:41:12 +01:00
cesnimda e8e7d83958 fix(i18n): use singular Gmail review counts 2026-11-09 22:36:32 +01:00
cesnimda 2af1502594 test(admin): qualify audit timestamps and table density 2026-11-09 22:35:58 +01:00
cesnimda 2dc8fe4c31 fix(admin): preserve audit table density when columns scroll 2026-11-09 22:33:55 +01:00
cesnimda 9c95096e1a fix(admin): keep audit timestamps readable in narrow tables 2026-11-09 22:31:05 +01:00
cesnimda f79024df69 test(mail): qualify review recovery and draft conflict 2026-11-09 22:30:10 +01:00
cesnimda 71c927b15b test(admin): qualify heading hierarchy across four routes 2026-11-09 22:25:02 +01:00
cesnimda c7e8627ca7 fix(admin): consolidate route headings and descriptions 2026-11-09 22:16:59 +01:00
cesnimda e585561a02 test(calendar): qualify connected follow-up and agenda refresh 2026-11-09 22:12:27 +01:00
cesnimda c0ef4171d5 fix(calendar): refresh recorded dates after follow-up changes 2026-11-04 13:34:16 +01:00
cesnimda e70c7098cd test(i18n): qualify CV singular captions and preserved editor behavior 2026-11-04 13:21:23 +01:00
cesnimda 122956b6a3 fix(i18n): use singular CV entry and page captions 2026-11-04 13:16:44 +01:00
cesnimda 7e2bf20187 test(ui): qualify profile selection to CV download workflow 2026-11-04 13:09:29 +01:00
cesnimda 8fef819c4e test(i18n): qualify singular counts across table and board 2026-11-04 09:26:58 +01:00
cesnimda 9bfc51b067 fix(i18n): localize singular matching job counts 2026-11-04 09:22:59 +01:00
cesnimda ed4ce4cc3a test(ui): qualify connected discovery to tracker journey 2026-11-04 09:15:09 +01:00
cesnimda b5b9069d1e test(ui): qualify career evidence read and recovery states 2026-11-04 09:06:47 +01:00
cesnimda 505b0c01b9 test(ui): qualify settings and themed toast feedback 2026-11-04 09:02:07 +01:00
cesnimda a84a97cb61 fix(ui): apply application theme to toast feedback 2026-11-04 08:54:26 +01:00
cesnimda 266e8bc09d style(ui): open settings quick capture section 2026-11-04 08:51:32 +01:00
cesnimda 0e2ccfe984 test(ui): qualify flat administration across responsive locales 2026-11-04 08:48:35 +01:00
cesnimda d651ce7aa4 style(ui): flatten administration collections and diagnostics 2026-11-04 08:40:02 +01:00
cesnimda 1427eb2184 test(i18n): qualify singular mail counts across responsive locales 2026-11-04 08:25:36 +01:00
cesnimda cd116ab8ca fix(i18n): use singular mail label counts in English and Bokmal 2026-11-04 08:16:01 +01:00
cesnimda 1881fdb224 test(ui): qualify flat mail rows and recorded application context 2026-11-04 08:11:38 +01:00
cesnimda a9208ab4b3 feat(ui): show recorded application context beside opened mail 2026-11-04 08:00:43 +01:00
cesnimda dd284782fd test(ui): qualify career documents calendar and chart visuals 2026-11-04 07:48:23 +01:00
cesnimda b31ce6176b style(ui): open career and document surfaces and show single-month activity 2026-11-04 07:16:25 +01:00
cesnimda 79d7bbe0a1 test(ui): qualify denser dashboard discovery and offer date states 2026-11-04 07:06:46 +01:00
cesnimda a7d726738b style(ui): reduce initial dashboard gaps and flatten discovery rows 2026-11-04 01:58:30 +01:00
cesnimda df0ef68cd9 fix(i18n): preserve literal calendar dates in offer comparisons 2026-11-04 01:58:27 +01:00
cesnimda 09904ecc68 test(i18n): qualify public language controls across responsive states 2026-11-04 01:52:11 +01:00
cesnimda fa6bd5d98e fix(i18n): preserve public auth commands and feedback across language changes 2026-11-04 01:44:39 +01:00
cesnimda 368e90d572 test(ui): qualify account sections and editor hierarchy 2026-11-04 01:41:02 +01:00
cesnimda b6d830f279 style(ui): simplify account sections and prioritise recorded role titles
81 account and 16 layout tests pass. Settled export built; fresh rendered matrices and final visual acceptance remain pending.
2026-11-04 01:13:24 +01:00
cesnimda 1c88cacb4d test(ui): qualify flat application layouts and keyboard focus 2026-11-04 01:06:13 +01:00
cesnimda c9138af01e style(ui): open application rows and workspace sections
65 targeted tests and focused six-state phone pilot pass. Full 216-state visual qualification remains pending; final owner acceptance is separate.
2026-11-04 00:56:57 +01:00
cesnimda af2df36062 test(ui): qualify responsive secondary and application routes 2026-11-04 00:47:24 +01:00
cesnimda 69621788ee style(ui): flatten activity and offer comparison sections
61 selected tests and build/lint pass. Wider rendered qualification remains in progress; this local checkpoint does not establish visual acceptance.
2026-11-04 00:41:27 +01:00
cesnimda 2218659ecf feat(ui): simplify A3 workspace and refresh saved AI availability 2026-11-04 00:21:04 +01:00
cesnimda 7aa54bff1f test(ui): qualify retained secondary routes and preservation map 2026-11-03 20:27:34 +01:00
cesnimda ccf8d26426 fix(ui): retain locale-aware document review labels 2026-11-03 20:09:19 +01:00
cesnimda 31ce702716 fix(i18n): localise attachment size displays 2026-11-03 19:56:33 +01:00
cesnimda 7a9de940df docs(ui): record account administration acceptance and IM10 approval 2026-11-03 19:55:51 +01:00
cesnimda 773c943165 feat(ui): connect account controls and processing navigation 2026-11-03 19:54:03 +01:00
5869 changed files with 136646 additions and 520 deletions
@@ -159,6 +159,82 @@ public sealed class AdminProcessingControllerTests
Assert.Equal(expected, (await client.GetAsync(route)).StatusCode);
}
[Fact]
public async Task Audit_log_keeps_mail_subjects_in_the_owner_record()
{
await using var host = await Host.Start();
const string privateSubject = "Synthetic private correspondence subject";
const string operationalNote = "Synthetic workflow status change";
await using (var scope = host.Services.CreateAsyncScope())
{
var db = scope.ServiceProvider.GetRequiredService<JobTrackerContext>();
db.JobEvents.AddRange(
new JobEvent { JobApplicationId = 2, Type = "ReplyReceived", NewValue = "True:2026-11-03", Note = privateSubject, At = DateTime.UtcNow },
new JobEvent { JobApplicationId = 2, Type = "StatusChanged", OldValue = "Applied", NewValue = "Interview", Note = operationalNote, At = DateTime.UtcNow });
await db.SaveChangesAsync();
}
using var anonymous = host.Client(null);
using var ordinary = host.Client("owner");
foreach (var (client, status) in new[] { (anonymous, HttpStatusCode.Unauthorized), (ordinary, HttpStatusCode.Forbidden) })
{
using var response = await client.GetAsync("/api/admin/audit");
Assert.Equal(status, response.StatusCode);
Assert.DoesNotContain(privateSubject, await response.Content.ReadAsStringAsync());
}
using var admin = host.Client("admin");
var audit = await admin.GetFromJsonAsync<JsonElement>("/api/admin/audit");
var events = audit.EnumerateArray().ToDictionary(item => item.GetProperty("type").GetString()!);
Assert.DoesNotContain(privateSubject, audit.GetRawText());
var reply = events["ReplyReceived"];
Assert.Equal(JsonValueKind.Null, reply.GetProperty("note").ValueKind);
Assert.Equal("True:2026-11-03", reply.GetProperty("newValue").GetString());
Assert.Equal(2, reply.GetProperty("jobApplicationId").GetInt32());
Assert.Equal(operationalNote, events["StatusChanged"].GetProperty("note").GetString());
await using var verifyScope = host.Services.CreateAsyncScope();
var verifyDb = verifyScope.ServiceProvider.GetRequiredService<JobTrackerContext>();
Assert.Equal(privateSubject, await verifyDb.JobEvents.IgnoreQueryFilters().Where(item => item.Type == "ReplyReceived").Select(item => item.Note).SingleAsync());
}
[Fact]
public async Task User_polling_does_not_expose_another_owners_notifications_or_processing_records()
{
await using var host = await Host.Start();
var foreignNoticeId = Guid.NewGuid();
const string foreignNotice = "Synthetic notice for the other owner";
await using (var scope = host.Services.CreateAsyncScope())
{
var db = scope.ServiceProvider.GetRequiredService<JobTrackerContext>();
db.UserNotifications.AddRange(
new UserNotification { Id = Guid.NewGuid(), OwnerUserId = "owner", Kind = "operation_failed", Title = "Operation failed", Message = "Synthetic owner notice", CreatedAtUtc = DateTime.UtcNow },
new UserNotification { Id = foreignNoticeId, OwnerUserId = "other", Kind = "operation_failed", Title = "Operation failed", Message = foreignNotice, CreatedAtUtc = DateTime.UtcNow });
await db.SaveChangesAsync();
}
using var owner = host.Client("owner");
var notices = await owner.GetFromJsonAsync<JsonElement>("/api/notifications?owner=other");
Assert.Equal("Synthetic owner notice", Assert.Single(notices.EnumerateArray()).GetProperty("message").GetString());
var unread = await owner.GetFromJsonAsync<JsonElement>("/api/notifications/unread-count?owner=other");
Assert.Equal(1, unread.GetProperty("count").GetInt32());
Assert.Equal(HttpStatusCode.NotFound, (await owner.PostAsync($"/api/notifications/{foreignNoticeId}/read", null)).StatusCode);
Assert.Equal(HttpStatusCode.NotFound, (await owner.DeleteAsync($"/api/notifications/{foreignNoticeId}")).StatusCode);
Assert.Equal(HttpStatusCode.NotFound, (await owner.GetAsync($"/api/operations/{host.ForeignSubjectOperationId}")).StatusCode);
var ownOperation = await owner.GetStringAsync($"/api/operations/{host.OperationId}");
foreach (var internalValue in new[] { "SECRET_TOKEN", "SECRET_EXCEPTION", "SECRET_RESULT", "SECRET_CV_CONTENT" })
Assert.DoesNotContain(internalValue, ownOperation);
using var other = host.Client("other");
notices = await other.GetFromJsonAsync<JsonElement>("/api/notifications");
Assert.Equal(foreignNotice, Assert.Single(notices.EnumerateArray()).GetProperty("message").GetString());
await using var verifyScope = host.Services.CreateAsyncScope();
var verifyDb = verifyScope.ServiceProvider.GetRequiredService<JobTrackerContext>();
var notice = await verifyDb.UserNotifications.IgnoreQueryFilters().SingleAsync(item => item.Id == foreignNoticeId);
Assert.Null(notice.ReadAtUtc);
Assert.Null(notice.DismissedAtUtc);
}
[Fact]
public async Task Admin_projection_filters_owners_and_never_returns_raw_processing_contents_or_lease_data()
{
@@ -216,7 +292,9 @@ public sealed class AdminProcessingControllerTests
var builder = WebApplication.CreateBuilder();
builder.Logging.ClearProviders(); builder.WebHost.UseUrls("http://127.0.0.1:0");
builder.Services.AddControllers().AddApplicationPart(typeof(AuthController).Assembly);
builder.Services.AddAuthentication("test").AddScheme<AuthenticationSchemeOptions, TestAuthentication>("test", _ => { });
builder.Services.AddAuthentication("test")
.AddScheme<AuthenticationSchemeOptions, TestAuthentication>("test", _ => { })
.AddScheme<AuthenticationSchemeOptions, TestAuthentication>("local", _ => { });
builder.Services.AddAuthorization(); builder.Services.AddHttpContextAccessor();
builder.Services.AddRateLimiter(options =>
{
@@ -226,6 +304,8 @@ public sealed class AdminProcessingControllerTests
_ => new FixedWindowRateLimiterOptions { PermitLimit = permits, Window = TimeSpan.FromMinutes(1), QueueLimit = 0 }));
});
builder.Services.AddScoped<ICurrentUserService, CurrentUserService>();
builder.Services.AddScoped<UserOperationStore>();
builder.Services.AddScoped<UserNotificationStore>();
builder.Services.AddSingleton(TimeProvider.System);
builder.Services.AddDbContext<JobTrackerContext>(options => options.UseSqlite($"Data Source={Path.Combine(directory, "processing.db")};Pooling=False"));
var app = builder.Build();
@@ -170,6 +170,7 @@ public sealed class UsersControllerTests
var memberRole = new IdentityRole("Member") { Id = "role-member", NormalizedName = "MEMBER" };
db.Roles.AddRange(adminRole, memberRole);
var usersToAdd = Enumerable.Range(1, 75).Select(index => User(index == 1 ? "admin-1" : $"user-{index}")).ToList();
usersToAdd[0].TwoFactorEnabled = true;
db.Users.AddRange(usersToAdd);
db.UserRoles.Add(new IdentityUserRole<string> { UserId = "admin-1", RoleId = adminRole.Id });
foreach (var user in usersToAdd.Skip(1))
@@ -183,6 +184,8 @@ public sealed class UsersControllerTests
var rows = Assert.IsType<List<UsersController.UserDto>>(Assert.IsType<OkObjectResult>(action.Result).Value);
Assert.Equal(75, rows.Count);
Assert.True(Assert.Single(rows, row => row.Id == "admin-1").TwoFactorEnabled);
Assert.False(Assert.Single(rows, row => row.Id == "user-2").TwoFactorEnabled);
Assert.Equal(2, counter.ReaderCount);
manager.Verify(userManager => userManager.GetRolesAsync(It.IsAny<ApplicationUser>()), Times.Never);
manager.Verify(userManager => userManager.GetUsersInRoleAsync(It.IsAny<string>()), Times.Never);
@@ -51,7 +51,8 @@ public sealed class AdminAuditController : ControllerBase
e.Type,
e.OldValue,
e.NewValue,
e.Note,
// Imported replies keep the mailbox subject in the owner's timeline.
Note = e.Type == "ReplyReceived" ? null : e.Note,
e.At,
e.JobApplicationId
})
@@ -41,6 +41,7 @@ public sealed class UsersController : ControllerBase
string? LastName,
string? DisplayName,
bool EmailConfirmed,
bool TwoFactorEnabled,
string? GoogleEmail,
DateTimeOffset? GoogleLinkedAt,
List<string> Roles,
@@ -292,6 +293,7 @@ public sealed class UsersController : ControllerBase
user.LastName,
user.DisplayName,
user.EmailConfirmed,
user.TwoFactorEnabled,
user.GoogleEmail,
user.GoogleLinkedAt,
roles,
@@ -1,5 +1,7 @@
# Europe country and language research matrix
The [EUROPE-READY-01 coverage companion](EUROPE_RELEASE_COVERAGE.md) tracks release evidence for these same candidate codes. This file remains the country/language research register.
Research checkpoint 2026-11-02; not a market-launch list or legal opinion. All entries are candidate scope. CLDR 49 provides an initial language relationship dataset; national/regional official-record cross-checks remain incomplete. Blank CLDR status is not proof of absence or recognition. No tag decides sovereignty, EU membership, provider rights or support. XK is a CLDR user-assigned territory code, not ISO 3166-1; do not silently persist it as an ISO identifier.
Source: [Unicode CLDR 49 territory-language data](https://www.unicode.org/cldr/charts/49/tsv/territory_language_information.tsv); retrieved SHA-256 `29bcadbb4362e1a7a3685f4bf199152809635acca58fab10a3576a0f7b55868c`. Population percentages are deliberately omitted; they are not product usage evidence.
+60
View File
@@ -0,0 +1,60 @@
territoryCode,scopeReview,countrySelectable,administrativeHierarchy,canonicalResolution,mapCountrySwitching,canonicalLocationFilters,providerCoverage,countryAwareResults,multiCountrySavedSearches,marketLanguageOptions,marketCatalogue,currencyAndTimezone,mobile,accessibility,countryTestEvidence,humanApproval,productionAvailability,existingNavFixture
AD,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
AL,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
AT,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
AX,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
BA,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
BE,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
BG,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
BY,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
CH,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
CY,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
CZ,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
DE,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
DK,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
EE,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
ES,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
FI,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
FO,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
FR,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
GB,AWAITING REVIEW,NOT IMPLEMENTED,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,BLOCKED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
GG,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
GI,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
GR,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
HR,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
HU,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
IE,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
IM,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
IS,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
IT,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
JE,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
LI,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
LT,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
LU,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
LV,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
MC,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
MD,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
ME,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
MK,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
MT,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
NL,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
NO,AWAITING REVIEW,NOT IMPLEMENTED,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,BLOCKED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,TESTED
PL,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
PT,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
RO,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
RS,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
RU,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
SE,AWAITING REVIEW,NOT IMPLEMENTED,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,BLOCKED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
SI,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
SJ,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
SK,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
SM,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
TR,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
UA,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
VA,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
XK,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
AM,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
AZ,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
GE,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
KZ,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
GL,AWAITING REVIEW,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,NOT IMPLEMENTED,AWAITING REVIEW,BLOCKED,NOT IMPLEMENTED
1 territoryCode scopeReview countrySelectable administrativeHierarchy canonicalResolution mapCountrySwitching canonicalLocationFilters providerCoverage countryAwareResults multiCountrySavedSearches marketLanguageOptions marketCatalogue currencyAndTimezone mobile accessibility countryTestEvidence humanApproval productionAvailability existingNavFixture
2 AD AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
3 AL AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
4 AT AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
5 AX AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
6 BA AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
7 BE AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
8 BG AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
9 BY AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
10 CH AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
11 CY AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
12 CZ AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
13 DE AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
14 DK AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
15 EE AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
16 ES AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
17 FI AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
18 FO AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
19 FR AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
20 GB AWAITING REVIEW NOT IMPLEMENTED AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED BLOCKED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
21 GG AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
22 GI AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
23 GR AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
24 HR AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
25 HU AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
26 IE AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
27 IM AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
28 IS AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
29 IT AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
30 JE AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
31 LI AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
32 LT AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
33 LU AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
34 LV AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
35 MC AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
36 MD AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
37 ME AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
38 MK AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
39 MT AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
40 NL AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
41 NO AWAITING REVIEW NOT IMPLEMENTED AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED BLOCKED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED TESTED
42 PL AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
43 PT AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
44 RO AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
45 RS AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
46 RU AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
47 SE AWAITING REVIEW NOT IMPLEMENTED AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED BLOCKED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
48 SI AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
49 SJ AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
50 SK AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
51 SM AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
52 TR AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
53 UA AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
54 VA AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
55 XK AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
56 AM AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
57 AZ AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
58 GE AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
59 KZ AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
60 GL AWAITING REVIEW NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED NOT IMPLEMENTED AWAITING REVIEW BLOCKED NOT IMPLEMENTED
+30
View File
@@ -0,0 +1,30 @@
# EUROPE-READY-01 release coverage
9 November 2026. The [coverage table](EUROPE_RELEASE_COVERAGE.csv) uses the exact 59 candidate codes from the existing [country/language register](EUROPE_COUNTRY_LANGUAGE_MATRIX.md). The roster retains its market and territory review flags. XK remains a candidate territory code outside ISO 3166-1. The [locale catalogue](LOCALE_CATALOG.json) remains the source of locale identities. The CSV records qualification status only.
The country columns refer to the new country-aware experience. Existing EN/NB interface support is global. Existing NAV source evidence is separate and marked `TESTED` for the narrow Norway fixture only. `BLOCKED` provider coverage for NO/SE/GB denotes the full Global Jobs entry and provider qualification gates. For other candidates, provider coverage has no implementation or approved claim. No row is accepted or released. Verified all 59 codes matched the research register once, all values used the approved status vocabulary, and only Norway carried the existing fixture result.
## Integrate with existing owners
Use GJ-00 `0ec9f98e6ed4a646fc5e017d8eb6fade07653f37` for the geography and provider-rights decisions, then its GJ-02 implementation contract for stable `LocationNode` and `LocationScope` identities. Keep administrative containment, settlement relationships, display names and provider-specific IDs distinct. The tree, query and map use the same resolved scopes and edition. The map is optional for search completion. When country changes invalidate a location, clear only that filter and explain why. Preserve user residence, UI language, advertisement languages and saved searches. Maintain separate per-document languages.
GISCO offers administrative and statistical data at several versions and scales. The administrative dataset page explicitly restricts its listed downloads to non-commercial use without a separate commercial agreement. Treat each proposed product's edition, licence, attribution, resolution and update policy as a required review item before ingestion. The LAU directory is evidence of available editions. [GISCO administrative terms](https://ec.europa.eu/eurostat/en/web/gisco/geodata/administrative-units), [GISCO LAU catalogue](https://gisco-services.ec.europa.eu/distribution/v2/lau/)
The public OSMF Nominatim service disallows autocomplete, limits traffic and asks users to avoid sending private or confidential data. It is excluded from the proposed interactive location search. A provider evaluation must establish a suitable licensed dataset or service, explicit quotas, attribution, privacy and fallback. It must also distinguish tile access, boundaries, geocoding and provider job-feed rights. No map, tile or geocoder service was activated. [Nominatim usage policy](https://operations.osmfoundation.org/policies/nominatim/), [OSMF tile policy](https://operations.osmfoundation.org/policies/tiles/)
## Cross-country acceptance queue
| Case | Required outcome | Status |
| --- | --- | --- |
| EN interface, residence NO, search GB | GB geography and qualified source capabilities; EN preserved | NOT RUN |
| NB interface, search SE | SE geography and source capabilities; NB preserved | NOT RUN |
| PL interface, search DE | Local locale formats and DE scope | NOT RUN |
| FR interface, search BE and FR | Both countries retain correct administrative paths and capability disclosures | NOT RUN |
| Cross-country search and map | Only selected areas/results determine viewport, sources and result eligibility | NOT RUN |
| Parent then child selection | Parent covers whole area until explicit child refinement; siblings remain independent | NOT RUN |
| Multiple towns and independent branches | Canonical scopes combine without checking unselected children | NOT RUN |
| Switch country with filters | Only incompatible geography clears, with an explanation | NOT RUN |
| Switch UI language with active search | Search scope, saved settings and document languages stay intact | NOT RUN |
| Save and reopen cross-border search | Stable identifiers, owner isolation and unchanged effective scope | NOT RUN |
Basic locale, location and geography contracts must pass for every code accepted into release scope. Real provider evidence, licensed map coverage, native-language review and the release gate remain separate. The CSV can advance each dimension only when the corresponding evidence is recorded.
+17
View File
@@ -0,0 +1,17 @@
# Attachment size localisation
3 November 2026. Isolated `codex/i18n-attachment-sizes` from published `ca519cacbec6ee8e385927ad31356dacc18b2f2d`. Ordinary localisation work is authorised independently of the pending A3 increment gate. This branch does not replace the newer A3 application tree.
`Attachments` and the frozen submitted-package attachment list displayed decimal points through `toFixed`, even with Norwegian UI text. They now use `Intl.NumberFormat` with the existing UI language. The attachment table keeps its existing 1024-based KB/MB threshold, zero KB decimals and one MB decimal. Frozen package labels keep one KB decimal. No stored file size, filename, snapshot, route, API, revision, download or generation language changes.
Verification:
- Red regression: two Norwegian-format cases failed, one English case passed; 58 cases were filtered, not executed. Native `attachment-size-red.json`.
- Full affected suites: **61 passed**, zero failed/skipped, two suites; `attachment-size-tests.json`. Includes EN/NB MB labels and changing the UI locale on a retained frozen package without a write.
- Typecheck, scoped ESLint for the four affected files, static-export build and `git diff --check`: PASSED.
- AST-only graph refresh PASSED:18,702 nodes/46,195 edges/1,119 communities. Optional SQL parser is absent and143 files yielded no symbols; these are graph coverage limits. Generated graph stays local.
- Independent static review found no actionable issues; verification reruns were not added to the61 cases.
Rollback reverts these four source/test changes; no database rollback is required. The published branch remains separate until its narrow delta is reconciled against the newer A3 baseline. Existing physical PDF metrics and visual acceptance are unaffected; no renderer source changed.
NOT RUN: new browser/device or physical PDF checks, complete European localisation, native-language review, backend/provider/live-model or release qualification. Existing tests and code remain responsible for file permissions and downloads; this display-only change adds no new access path. The 188 historical dynamic-call reviews remain accounted for and are not expanded by these three numeric-format regressions.
+13
View File
@@ -0,0 +1,13 @@
{
"base": "ca519cacbec6ee8e385927ad31356dacc18b2f2d",
"policy": "LF-normalised text SHA256",
"files": {
"job-tracker-ui/src/components/Attachments.tsx": "02081be8282cb3d1a525b336bededb8aabe561cc3b73e1b98e924f9ef945add1",
"job-tracker-ui/src/components/ApplicationAssets.tsx": "effcee6cfa0a43ebe0d73a0da625410dc98a6580fddda225b843e5e00d4e45f6",
"job-tracker-ui/src/attachments.test.tsx": "89bb3e277ae7be652073eec6d3b6188bcbeaea8b29b07478ff5b21654be8e7c1",
"job-tracker-ui/src/application-assets.test.tsx": "980a346cb4452ac4b7e6b689a963e5a23fc6d77410e47e66a422f9cd9c704e7b",
"docs/i18n/ATTACHMENT_SIZE_FORMATTING.md": "4576ccfc3de3b72cd3e5591c40f697b827d724b8f4fe588b54567dbe75252332",
"docs/i18n/attachment-size-red.json": "872882cb7d2937bf1df7f7a89810158c5de831381f56c6ae8bb0263d26b84d8e",
"docs/i18n/attachment-size-tests.json": "8b8188d432b7788f951cf2c67f790c6cd4d24553ed9accbeb702645b3d4b2c6a"
}
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,9 @@
# PERF-01 Companies cache
Base `fd524a4b9d55d671d4f9c93134057d42f9cd6373`. The browser's Companies cache is scoped to the current owner. A response that started before invalidation could finish after its replacement and overwrite the fresh list. A pre-logout response could also write after signing back in as the same account. Separately, a mounting consumer could publish its initial empty array as cached data before the network request finished, so another consumer could miss the shared result.
Only the current in-flight response can now populate the cache. It must still match the active owner. The resource-state effect no longer writes a second copy into the shared cache. Existing readers, invalidation callers, request URL and server authorisation are unchanged.
Before the fix, the three added cases failed on the stale post-edit list, a missed shared response and the stale pre-logout list. After the fix, the two simultaneous readers both received the shared result with exactly one request. The post-invalidation check used exactly two requests across the old and new generations, with no extra request on a warm mount. Re-login and account switching checks also passed.
**Verification:** 16 tests across the account-scoped state, Edit Job revision and theme state suites passed. Targeted lint and TypeScript passed. The test worktree reused the installed dependency tree from the matching A3 lockfile. These are mock request counts, with no browser or production latency measurement.
@@ -0,0 +1,11 @@
# A3-IM09 publication and owner acceptance
3 November 2026. Implementation `773c943165669bfc97bee46c53f73f124f398c0c` on `codex/a3-ui-09` is published and independently remotely verified. All45 source/143 evidence manifest entries match committed bytes;80 export assets separately hashed. Validation: `ACCOUNT_ADMIN_VALIDATION.md`.
Owner explicitly answered **"Approve IM09 and A3-IM10"**. IM09 Gate F is ACCEPTED; do not repeat. Next authorised scope: cross-application consistency, preserved secondary routes, responsive/localisation/accessibility checks and combined affected regression. Human/native-language, real providers/models, final integrated security/recovery and release approval remain separate.
143 distinct frontend cases/11 suites and69 local backend cases passed. Initial full browser16 controlled journeys/128 states passed; visual review exposed processing label/column issues and an affected rerun reproduced a focus race. Corrected processing19-case unit suite and16-configuration browser successor passed. Final distinct browser coverage is112 retained states plus16 refreshed processing states=128. Pilots, failed attempts and focused reruns are not added. Confirmation dialogs were cancelled and16 explicit export requests received fixture403; no real mutation, credential/provider/model operation or deletion.
Keep earlier IM08 granular Ghosted pause and mounted AI-entitlement refresh gaps OPEN. Independently published attachment-size delta `1ce93ca0e3a906673e636e56f1b910756ca78bb2` still needs narrow integration against this newer baseline; never replace the application tree with its older branch.
Full Phase10/Product Review/Global Jobs/European localisation, native/provider, final integrated security/recovery/hosted CI and release qualifications remain OPEN. No orchestrator/pre-P10/main/production changes.
@@ -0,0 +1,31 @@
# A3-IM09 Account and administration validation
3 November 2026. Owner explicitly approved **"Approve IM08 and A3-IM09"**. Isolated `codex/a3-ui-09` starts at published/remotely verified IM08 acceptance receipt `f0c8c6d321a70b4d477e99c7b9557246b6361cdf`. This is a presentation increment, not final authentication/security/release acceptance.
## Changes and preservation
- Account overview adds named navigation to identity, sign-in/connections and password/security groups. Keyboard actions focus and scroll existing groups. Forms remain mounted: changing sections does not reset an unsaved identity draft. Existing account avatar, local/external restrictions, password, 2FA, trusted-device, provider and session controls remain with their existing owners. Career Profile is still canonical and separate.
- The account data link enters existing Settings Backup controls through `/settings?section=data`. Only this exact initial query selects section3; unsupported queries retain General. Existing sections, lifecycle availability, recent-sign-in export requirement, deletion phrase and confirmation writers remain unchanged.
- Processing monitor has named filter/result targets and keyboard jump/return actions. No filter submission, reads, polling or mutations occur merely from moving focus. Visual inspection then found native-select labels overlapping the selected All value and a long failure chip squeezing Duration. Four labels now shrink above the value; failure chips wrap and the duration column retains readable width. An affected browser rerun exposed intermittent detail focus loss: the animation-frame callback could execute before React committed the heading ref. A failing scheduling regression reproduced it. Requested focus now runs after commit with the existing owner/session guards. Existing identity cancellation, permission failures, bounded events, pause/resume and owner-permitted job links remain. Existing admin users/audit/system components are retained and qualified alongside these changes.
No API, schema, migration, dependency, worker/provider/model configuration or physical renderer change. Rollback reverts this UI increment; no database rollback required. The IM08 granular Ghosted pause and mounted AI-entitlement refresh gaps remain OPEN.
## Verification
| Check | Result and scope |
|---|---|
| Frontend | **143 distinct cases PASSED** across11 suites. Initial stable application-source run142 passed, zero failed/skipped. Final processing successor19 passed, replacing the18 processing cases in142 and adding one scheduling regression:142−18+19=143. Profile/account security/presentation/providers/data export, admin users/audit/system/processing, Settings and translation catalogue. Native reports under `evidence/account-admin/frontend`. Intermediate18-case visual rerun overlaps these totals. |
| Red contracts | Four expected failures before implementation, one supported-default case passed;65 filtered cases NOT RUN. Focused successor five passed; these overlap142. |
| Initial broad attempt | `EARLY-MIXED.json`:135 passed/two new-contract failures across137 cases. Regression tests were added while the command ran, so this is **not a clean baseline** and provides no acceptance count. Superseded by the stable application-source142-case run. |
| Backend | **69 PASSED**, zero failed/skipped. Users/last-admin, 2FA, session revocation/controller, processing, account export and API authorization posture. Native TRX under `evidence/account-admin/backend`. Local mock/InMemory/temp SQLite fixtures; no production accounts or providers. |
| Static checks | Typecheck, full ESLint, static-export build, scoped verifier ESLint/syntax and diff check PASSED. Initial build/typecheck rejected unsupported test-query `exact` options; removed without changing product behavior. System `dotnet` could not resolve the SDK; existing user SDK/DOTNET_ROOT succeeded without config changes. |
| Browser | Full16 controlled journeys/128 scans passed across EN/NB, light/dark,320/390/768/1440; `evidence/account-admin/browser/BROWSER.json`, with16 intercepted export denials and no mutations. Processing visual/focus corrections passed the affected16-configuration successor under `PROCESSING.json`. Final distinct coverage remains128 (112 unchanged states plus16 processing), not an additional full pass. Geometric checks verify native labels above selected text and Duration width. Pilot overlaps, not extra cases. Representative phone account and final desktop NB/dark processing captures were visually inspected. |
| Review/graph | Independent source/verifier review, including the visual and postcommit focus fixes, found no actionable issues. No extra test reruns counted. Final AST-only update passed:18,858 nodes/46,544 edges/1,109 communities. Optional SQL parser absent and144 files yielded no symbols; generated graph remains local. |
Browser journeys exercise unsaved identity drafts across keyboard section jumps, cancelled session-revocation and account-deletion confirmations, an explicit export request rejected by a fixture403, disconnected-provider presentation, disabled last-admin deletion/demotion, empty audit, unavailable system reads and paused processing drill-down with a non-openable linked job. The verifier blocks external origins and unexpected writes; all API responses are synthetic. No credential change, reset, account deletion, provider connect/disconnect, model or production operation is executed. System normal-state actions and detailed audit action scenarios are covered by selected unit tests, not the browser's unavailable/empty captures. The first geometry-check selector matched both Task and the search label; the failed followup is retained and the selector now uses the control's actual label association. The saved diagnostic image shows the visual defect that axe did not detect; it is not an accepted final capture.
NOT RUN: real authentication/OAuth/email/2FA delivery, MariaDB/hosted CI, native device/screen-reader, live security attack simulation, complete European native-language review, integrated recovery/restore or release qualification. Reused physical-PDF acceptance is unaffected; no PDF rerun was justified.
## Next gate
After final browser evidence, source/evidence reconciliation, publication and independent remote readback, request Gate F for IM09 and progression to IM10: cross-application consistency, secondary-route preservation, responsive/localisation/accessibility and combined affected regression. The approved proposal requires owner milestone review before the next increment. Do not infer IM10 approval from the earlier IM09 answer. Full Phase10, Global Jobs dependencies and final integrated security/release gates remain separate.
@@ -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.
@@ -0,0 +1,15 @@
# IM10 initial localisation and preservation checkpoint
3 November 2026. Owner approved **"Approve IM09 and A3-IM10"**. Base `7a9de940dfdc41023f87a1ef38a5fd86a0b8e477` is published/remotely verified. This bounded checkpoint advances IM10; it does not complete cross-application or roadmap acceptance.
The reviewed attachment-size patch `1ce93ca0e3a906673e636e56f1b910756ca78bb2` was narrowly cherry-picked as `31ce70271663a5d57c7b2eb8f80cd69be5cc95ef`. Git reconciled the newer ApplicationAssets/test changes without conflict; the older branch tree was not merged. Fresh affected tests on this baseline: **63 PASSED**, zero failed/skipped, two suites. Original `docs/i18n/ATTACHMENT_SIZE_*` records bind the old isolated source and61-case run; they remain historical, not fresh integration evidence. Current source/evidence binding is the cross-app manifest.
Whole-document AI review displayed the internal `headline` ID when no title was supplied. It now falls back to the existing translated headline-override label. Supplied/original titles and unknown IDs keep existing behavior. A new regression failed before the fix and passes afterward: switching UI language changes only chrome, retaining the reviewed English proposal without another generation or apply. Full studio successor: **61 PASSED**, zero failed/skipped; existing direct-focus React act warnings remain. Total fresh unit coverage for this checkpoint is124 distinct cases/three suites, not the old61+new63+61 combined.
The existing AI/settings browser verifier was reused in an affected-review mode, with a separate output directory. **16 controlled journeys/16 axe scans** passed at320/390/768/1440, EN/NB and light/dark. Caption asserted, English output language retained under Norwegian UI, explicit review shown with zero mutations and16 synthetic proposal responses. No live model, semantic translation-quality, backend end-to-end, provider or physical-PDF claim. Original IM08 captures/manifests are not overwritten by this run. Native artifacts: `evidence/cross-app/browser-ai-review/REVIEW.json` and16 captures.
The TypeScript AST census confirms all34 inherited route patterns are registered. The complete57-group preservation register has the same LF-normalised hash as integration `d3d338376444b8abdcaf7200f682faa3daf1ad10`. Source statuses/required closures remain unchanged:56 PARTIAL/one DEFERRED. This is source membership and criteria preservation, not browser/auth/deployed or whole-capability acceptance. The approved design's frozen237c79b8 coverage pack was read for the full route/group map; no new design exploration or production-UI approval was inferred.
Typecheck, full lint, scoped verifier lint and static-export build PASSED. AST-only graph refreshed locally; optional SQL/symbol-less limits remain. Independent source/verifier/integration review found no actionable issues. Backend and physical-renderer sources are unchanged; no repeat backend/PDF run was justified for these display changes. Rollback reverts the caption patch and narrow attachment localisation integration; no database rollback.
Remaining authorised work: secondary-route connected/responsive/accessibility checks and an evidence-by-group reconciliation across the accepted A3 increments; combined affected regression and final A3 proposal. Native/human/provider, full European localisation, Phase10, Global Jobs dependencies, public homepage, final integrated security/recovery/hosted CI/release gates remain separate. Mounted AI entitlement refresh and granular Ghosted pause remain OPEN. Do not dispatch the general auth-changed event as a shortcut: it resets authResolved and can unmount drafts. No main merge, deployment, orchestrator or pre-P10 changes.
@@ -0,0 +1,67 @@
# A3 implementation preservation reconciliation
3 November 2026. All57 original groups and34 route patterns remain in the unchanged [preservation register](../pre-phase10-ux/preservation.json). The [source census](evidence/cross-app/PRESERVATION_CENSUS.json) retains each original requiredClosure/sourceCriterion. **56 PARTIAL/one DEFERRED remain historical capability statuses.** Owner acceptance of A3 presentation increments does not promote those statuses, waive linked criteria or grant providers/models/production access.
This table maps each group to bounded implementation evidence and identifies residual work. The accepted evidence remains bound to its implementation commit/manifest. New IM10 secondary qualification passed:85 unit cases/seven suites and16 controlled route journeys/96 scoped axe scans across EN/NB, both themes and320/390/768/1440. See SECONDARY_VALIDATION.md. Pilot/failure attempts do not add coverage; these results do not promote historical capability statuses.
| Group | Relevant A3 implementation evidence | Scope and remaining qualification |
|---|---|---|
| PRES-E01 | Shared theme; public/plans retained | Separate LAUNCH-SITE visual/claims and real billing availability gates. No new launch or pricing claim. |
| PRES-E02 | Navigation; account/admin; secondary public-auth tests | Controlled local access/recovery presentation. Real mail/challenge/token delivery and native checks remain distinct. |
| PRES-E03 | Account/admin; secondary legacy-relink tests | Existing sign-in provider/link/relink contracts retained. No real OAuth/link/provider validation. |
| PRES-E04 | Account/admin | Local 2FA/recovery/trusted-device fixtures and cancellation. Real credentials/delivery/native qualification open. |
| PRES-E05 | Account/admin | Session guards and confirmation fixtures; no real revocation for visual testing. |
| PRES-E06 | Account/admin | Identity-only fields, avatar/account restrictions; drafts retained across in-page section jumps. Canonical career data remains separate. |
| PRES-E07 | Navigation; shared theme | Sidebar/hybrid mobile/commands retained. Physical-device and full native accessibility remain separate. |
| PRES-E08 | Shared theme; Settings/AI; IM10 localisation | EN/NB hydration, feedback/dialog owners retained. Complete European/native-language qualification remains open. |
| PRES-E09 | Navigation; account/admin; original session boundaries | Existing private-state disposal and stale-request boundaries retained. No integrated-security acceptance inferred. |
| PRES-J01 | Discovery | Existing supported NAV presentation/attribution/geography retained. Global Jobs dependencies and provider rights not granted by A3. |
| PRES-J02 | Discovery | Controlled saved-search actions/alerts qualified; real provider/worker delivery remains separate. |
| PRES-J03 | Applications | Existing manual/URL/paste review and duplicate handling retained; no provider scraping added. |
| PRES-J04 | Applications; Settings capture owner | Existing capture/deep-link surfaces retained; extension/device/platform qualifications unchanged. |
| PRES-J05 | Applications | Table/filter/column/saved-view and mobile actions retained; broader native/device criteria not promoted. |
| PRES-J06 | Applications; secondary trash | Existing trash/restore/bulk contracts retained. Secondary browser trash state is empty; no real delete/restore. |
| PRES-J07 | Applications | Table/board/status/keyboard controlled journeys retained; real pointer/touch qualification separate. |
| PRES-J08 | Theme/navigation; secondary companies | Existing company/contact/relationship owner retained; secondary bounded fixtures, no real CRM writes. |
| PRES-J09 | Secondary offer comparison | Recorded facts/unknown compensation/links retained. No inferred salary, deadline provenance or financial advice. |
| PRES-J10 | Applications; Settings/import owners | CSV/JSON conversion/import/export owners retained. Original full data-fidelity/compatibility closure remains authoritative. |
| PRES-W01 | Applications; Career | Existing full workspace/sections/legacy aliases/context retained; no route removed. |
| PRES-W02 | Applications | Status/progression/details/timeline actions retain existing revision writers and permissions. |
| PRES-W03 | Applications; AI | Controlled analysis/review presentation. Live semantic AI and provider quality remain unqualified. |
| PRES-W04 | Applications | Existing checklist lifecycle/reorder/next-action owner retained. No replacement persistence layer. |
| PRES-W05 | Career | CV attach/select/tailor owner and canonical/variant boundaries retained; no live tailoring quality claim. |
| PRES-W06 | Career; workspace | Manual letter/preview/history/conflict/dirty protections retained, existing atomic assets writer unchanged. |
| PRES-W07 | Career; IM10 attachment localisation | Frozen package/snapshot/download ownership retained; displayed sizes change without changing bytes or filenames. |
| PRES-W08 | Workspace; IM10 attachment localisation | Existing upload/preview/download/consent/category owner retained; no file-access boundary changed. |
| PRES-W09 | Retained interview task components; Applications | Controlled manual/review scope only. No live AI quality or new stored interview scheduling claimed. |
| PRES-W10 | Retained debrief/follow-up components; Calendar | Original readiness/draft/date contracts retained; interview appointment data-model gap remains explicit. |
| PRES-W11 | Calendar; Settings/AI | Recorded date agenda/month and email switch qualified. Original precision/timezone data, real ICS/provider consent/delivery remain separate. |
| PRES-W12 | Workspace; account/admin; secondary operations | Existing async progress/failure/retry/cancel/notification owners retained. No real workers/models activated. |
| PRES-C01 | Career | Canonical full profile/long-tail/custom sections retained; no engine replacement or canonical-owner transfer. |
| PRES-C02 | Career | Overview, completion and edit actions retain existing import/raw/history owners. |
| PRES-C03 | Career | Existing upload/diff/review/accept/cancel controls retained. Deferred CV-import engine overhaul remains excluded. |
| PRES-C04 | Career/evidence owner retained | Original evidence-bank CRUD/source criteria remain authoritative; UI milestone is not full source-quality acceptance. |
| PRES-C05 | Career | Library/templates/share/PDF actions retained; real storage/publication/PDF qualifications remain separately evidenced. |
| PRES-C06 | Career; IM10 caption | Editor-left/preview-right, mobile panes and preview lifecycle retained; caption is app chrome, not renderer content. |
| PRES-C07 | Career | Existing section/item/document overrides and null-as-inherit retained; no settings schema change. |
| PRES-C08 | Career | Existing template/capability/typography/photo controls retained. Physical rendering evidence is reused where unaffected. |
| PRES-C09 | Career | Existing page/density/margins/document language/settings owner retained; UI language never silently translates document content. |
| PRES-C10 | Career | Undo/save/conflict/history/lifecycle contracts retained; focused reruns do not inflate accepted totals. |
| PRES-C11 | AI; IM10 caption | Historical DEFERRED semantic qualification remains. Controlled proposal invalidation/review/apply and caption language are tested; no live inference. |
| PRES-C12 | Career; secondary public CV | Public/private document surfaces retained. Mock HTML/PDF href checks are not renderer, real anonymous-access or physical-PDF qualification. |
| PRES-M01 | Workspace | Existing job-scoped manual correspondence/paste/search/delete owner retained; no real messages changed. |
| PRES-M02 | Workspace | Gmail import/thread/link/conflict owner retained; real provider OAuth/delivery/rights gates remain. |
| PRES-M03 | Workspace | Global inbox/filter/page/detail/source context qualified with fixtures; real provider data not accessed. |
| PRES-M04 | Workspace | Compose/reply/conflict/confirmation/uncertain-send fixtures qualified. No actual delivery or unsafe retry. |
| PRES-M05 | Navigation/workspace; legacy route retained | Existing review/link/reject/notes owner retained; final provider-backed review qualification remains separate. |
| PRES-M06 | Account/admin | Mailbox connections remain separate from sign-in providers; no real connect/disconnect or credentials. |
| PRES-S01 | Dashboard; secondary analytics | Existing metrics/activity/funnel/reporting and query owners retained; fixture values are not live user analytics. |
| PRES-S02 | Dashboard | Optional onboarding/skip/resume and original widget/schema-2/CAS/geometry protections retained. |
| PRES-S03 | Settings/AI; account/admin | Existing preference/rule/draft writers retained. Six numeric thresholds do not provide per-user Ghosted pause. |
| PRES-S04 | AI/Settings | Privacy/usage/entitlement/billing boundaries retained. Mounted entitlement display refresh gap remains OPEN; no inferred client grant. |
| PRES-S05 | Account/admin | Export/recent-sign-in/deletion confirmations retained. Offline fixtures do not qualify real backup/restore/recovery. |
| PRES-A01 | Account/admin | Existing roles/self/last-admin controls and local backend tests retained; no real account mutation for visual testing. |
| PRES-A02 | Account/admin | Existing audit/read/undo/restore owner retained; browser capture is empty and action scenarios are unit fixtures. |
| PRES-A03 | Account/admin | Existing system/mail/probe/benchmark/maintenance controls retained; browser unavailable-state checks are not real diagnostics/security/recovery acceptance. |
Evidence index: [theme](VALIDATION.md), [navigation](NAVIGATION_VALIDATION.md), [dashboard](DASHBOARD_VALIDATION.md), [applications](APPLICATIONS_VALIDATION.md), [discovery](DISCOVERY_VALIDATION.md), [career](CAREER_VALIDATION.md), [workspace](WORKSPACE_VALIDATION.md), [AI/settings](AI_SETTINGS_VALIDATION.md), [account/admin](ACCOUNT_ADMIN_VALIDATION.md), [IM10 localisation](CROSS_APP_LOCALISATION.md). Processing monitor is also retained at the34th route, /admin/processing; the historical group register is not expanded or rewritten to fabricate acceptance.
@@ -0,0 +1,25 @@
# A3 refinement and Europe-ready release
Owner addendum received 9 November 2026. Source `E:/Storage/Projects/Active/temp docs/final/additional/# Jobjakt — A3 refinement+EUJOBS.txt`, SHA-256 `5aaefea0e2fde342fd78917d0b9d9eb38c873d902095bdaa4389c9bb6d83397d`. The three adjacent reference images were reviewed. The job search image shows the current banner-first layout. The FINN example informs filter categories and hierarchy only. The admin image shows the alignment problem in the existing Users table. This work extends the approved A3 and existing roadmap owners.
| Work package | Next independently eligible slice | Gate or residual requirement |
| --- | --- | --- |
| 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), [read-only 2FA status](visual-correction/ADMIN_USER_2FA_REVIEW.md) and [recent audit filtering and details](visual-correction/AUDIT_FILTERS_REVIEW.md) passed their own 36-configuration checks. Compact user actions and additional structured filters remain open. | 2FA recovery and private support access require explicit owner approval of their technical and privacy designs. |
| Job Correspondence | Continue inbox layout, mailbox-status presentation and existing explicit consent flow. | Provider verification, restricted scopes, multiple-account persistence and retention decisions retain their gates. Signing in grants no mailbox access. |
| System Status | [Status refresh evidence](visual-correction/SYSTEM_STATUS_REFRESH_REVIEW.md) and [diagnostics design](SYSTEM_DIAGNOSTICS_DESIGN.md) distinguish current, stale and unavailable readings. CV Benchmark Review is retained. | Predefined diagnostics require approved suites, isolated execution, role checks and audit. Live execution and per-signal telemetry remain open. |
| Terminology | “Prepare application” / “Klargjør søknaden” is visible in the scoped EN/NB application checks. | Continue broader terminology and European catalogue review. |
| Bookmarklet | [Dependency review](#bookmarklet-dependency-review) confirms the URL form already provides the primary import path. | Retain the existing bookmark-bar shortcut pending device parity and retirement approval. |
| EUROPE-READY-01 | [Coverage companion](../i18n/00/EUROPE_RELEASE_COVERAGE.md) added for all 59 existing candidate codes. | Qualified data/licences, implementation entry, additional locales, native review and release approval are separate. |
European acceptance requires independent residence, search countries and locations, interface language, job-ad languages and per-document languages. The query, accessible location tree and optional map must consume the same canonical location selection. Selecting a parent covers its area. Selecting children refines that branch, and independent branches combine. Changing countries clears only incompatible filters with an explanation. It preserves language and saved search definitions. Provider scope, map coverage, catalogue support and production availability must each have their own status.
Keep the 34 routes and 57 preservation groups reconciled in the existing A3 registers. Continue independent development under IM10 and the applicable phase gates. Production launch requires the country-by-country, native, accessibility, provider, security and recovery evidence in the addendum.
## Bookmarklet dependency review
`QuickCaptureCard` opens the existing `/?add=` route with the current page URL. It does not extract page content. The PWA share target and browser extension also use the capture route, and `App.tsx` resolves the URL into the existing Add Job flow. Removing the route would break multiple supported entry points.
The existing Add Job form supports direct URL paste, the same preview API and manual entry if preview is unavailable. The extension's URL contract passed all three local Node cases. Earlier synthetic coverage verified the Settings copy control and Discover-to-tracker preview/review journey. Neither proves that the extension or PWA replaces bookmark-bar capture on every supported device. No supported capture path was removed. Test installation, mobile sharing and bookmark-bar parity before nominating retirement.
@@ -0,0 +1,15 @@
# IM10 secondary-route qualification
3 November 2026. Approved IM10 continues from published `ccf8d26426235a7a54903162e539d9d613058465`. No application implementation change in this package: existing secondary components are retained and checked, rather than replaced or omitted.
**85 frontend tests/seven suites PASSED**, zero failed/skipped: companies/relationships, offers, operations, analytics, public authentication, public CV and Microsoft legacy relink. Native report under `evidence/secondary/frontend`. These suites are distinct from the initial IM10 localisation/studio124 cases; count209 distinct cases/ten suites across those two bounded packages, not a full frontend regression pass.
**16 controlled route journeys/96 scoped axe scans/captures PASSED** at320/390/768/1440, EN/NB and both themes. Six direct-entry surfaces: populated companies; recorded teacher and nursing offers with unknown values kept explicit; processing progress with unavailable task actions absent; populated analytics with24-month query navigation; empty trash; public CV fixture HTML and PDF link. Public route issued no identity read in this fixture. Zero mutations/page errors/returned WCAG-tagged axe violations/document overflow. These are bounded fixtures, not real datasets or provider results.
The verifier permits static assets at localhost4338 and intercepts every /api request to the app's existing development API origin localhost5202. It never continues API requests to a server. Other origins are blocked; only the existing Google-font stylesheet attempt was observed. The initial pilot blocked5202 too, producing the application read-error state; this was a verifier setup failure, preserved separately. Corrected pilot overlaps the full run, not extra coverage. No app API configuration or service changed.
No real deletion/restore, operation cancel/retry, credentials, provider, model, anonymous backend-access or PDF render/download operation was performed. The public CV HTML is a controlled preview, not renderer/physical-PDF qualification. Native/keyboard devices, screen readers, deployed security, hosted CI, data recovery and release acceptance remain separate.
Verifier scoped lint/syntax passed; AST-only graph refresh completed locally (18,882 nodes/46,576 edges/1,131 communities), with existing optional SQL and symbol-less-file limits. No dependency/build-source change justified another application build; the same124-case package export was used. The57-row preservation reconciliation self-check matches all57 original IDs exactly and retains their required closures/statuses. All34 route patterns remain in the separate AST census; six secondary route executions are not a claim of34 runtime routes passing.
Remaining IM10 work: final integrated evidence reconciliation/combined affected regression and consolidated A3 acceptance proposal; bounded mounted AI-entitlement refresh investigation continues separately. Granular Ghosted pause still lacks a persisted rules contract. Full Phase10, European localisation/Global Jobs/launch/security/recovery/release gates remain open. No main merge, deploy, orchestrator or pre-P10 changes.
@@ -0,0 +1,24 @@
# System Status and diagnostics
## What the page can report today
| Signal | Source and limit |
| --- | --- |
| Backend status and refresh | The admin status GET reports environment, build and runtime details. Its success indicates a response from that endpoint. The UI timestamp is when the browser received that response. A failed refresh retains the earlier timestamp with the existing warning. |
| Database | The status GET attempts database reads and reports connectivity and query warnings. This is a point-in-time observation. |
| AI | The status GET displays summarizer metrics and their own available timestamps. The manual probe is a separate existing action. A status response alone does not prove a model, OCR, or a processing task succeeded. |
| Processing | The Admin Processing monitor owns worker flags, recorded operations, counts, and recorded failures. A flag alone gives no liveness guarantee. Any future status summary should link to that owner and label unsupported queues or heartbeats as unavailable. |
| Mail, external providers and scheduled enrichment | No system-wide measurement is established in this slice. A per-user connection and configuration flags are insufficient evidence for service health. Aggregate only supported service signals and keep account or job content out of the admin view. |
| API errors and timings | Existing AI timings remain scoped to AI. General request error rates and latency need their own instrumented source, time window and sample counts. |
Source owners are `AdminSystemController.Get`, `AdminProcessingController` and `AdminSystemPage`. Preserve the separation between an observed value, an earlier value with its timestamp, a failure to read and a signal the app does not measure. Each eventual backend metric needs its own observation time and sampling window where applicable.
## Proposed operator flow
In an Advanced diagnostics section, list the approved suite name, description, target environment, last execution and result. An unavailable suite shows its reason and has no Start control. An authorised operator reviews the fixed environment and scope before starting. A run row shows queued, running and terminal status with time and progress from the runner. History exposes a bounded, sanitised summary and a run ID.
The existing `MaintenanceJobDispatcher` only accepts `cv-benchmark` and dispatches a fixed Gitea workflow from `main`. The workflow uses a private CV corpus and AI service on the production host and publishes reports back to the running backend. Its queue acknowledgement is not a completion receipt. Retain CV Benchmark Review and its historical evidence for CV extraction qualification. Keep dispatch separate from the proposed isolated suites. This review executed neither path.
The first candidate for isolated execution is a fixture-only API smoke suite with a disposable datastore, synthetic records and AI/mail/providers disabled. A server-side allowlist must bind each suite ID to an immutable executable, target and resource limits. Inputs must never include shell commands, arbitrary arguments, URLs, credentials or a caller-selected environment. Validate administrator role and current session on every read and start, and recheck authorisation at dispatch. Use a separate least-privilege runner without production credentials, mounts or network paths. Apply time and concurrency limits, deduplicate starts, and record actor, suite, environment, revision, time and outcome. User data and secrets must never enter logs or history. Show structured allowlisted results and retain them only for an agreed interval.
Before enabling Start, qualify role and session denial, unknown suite IDs, duplicate starts, expired runs, cancellation and timeout cleanup, sanitised output, and absence of access to production or provider routes. Qualify status and history with fixtures independently of execution. Actual suite approval, runner isolation, retention and deployment remain separate decisions.
+14
View File
@@ -0,0 +1,14 @@
# A3-IM09 Account and administration
3 November 2026. Owner explicitly approved **"Approve IM08 and A3-IM09"**. Isolated `codex/a3-ui-09` starts at published/remotely verified acceptance receipt `f0c8c6d321a70b4d477e99c7b9557246b6361cdf`, from implementation `e2327c1fa2ceaf785d4058c802bafe0d3428c235`. No repeat approval required for this scope.
- [x] Reconcile actual Git state; retain generated graph locally and all prior milestone refs.
- [x] Inspect ProfilePage identity/password/providers, existing 2FA/sessions, ConnectedAccountsPage, BackupCard, admin users/audit/system and processing owners.
- [x] Account presentation: named section navigation/focus targets, mounted forms and retained drafts, direct data-settings entry without new writers. Identity/Career Profile separation and existing local/external/security/provider actions preserved.
- [x] Processing presentation: named filters/results and keyboard jump/return; existing polling/identity/events/permissions retained. Corrected native-label overlap, constrained duration column and a reproduced precommit detail-focus race. Existing admin presentation retained.
- [x]143 distinct frontend cases/11 suites,69 local backend cases,128 distinct scoped browser states across16 configurations.112 unchanged states reused plus16 refreshed processing scans;18/19-case reruns overlap, not added. Types/full lint plus affected successor lint/build and independent review passed. See ACCOUNT_ADMIN_VALIDATION.md.
- [ ] Commit/publish validated checkpoints, verify remote refs, update durable handoff; Gate F before IM10.
No API/schema/dependency/migration/model/provider change planned. No real account deletion, security-credential reset, production operation or provider activation for visual verification. Existing confirmations and backend permission checks remain authoritative; fixture tests do not establish live security acceptance. IM08 granular Ghosted pause and mounted AI entitlement-refresh gaps remain OPEN, not silently addressed by this presentation increment.
Affected callers: /profile, /settings data entry, /admin/processing and existing tests. All existing routes and handlers remain. Rollback reverts the isolated UI increment; no database rollback. Full Phase10, European/local/native/provider, final integrated security/recovery/release gates remain separate.
+73
View File
@@ -0,0 +1,73 @@
# A3-IM10 Cross-application qualification
Audit runtime `cd69b769` combines exact event type and inclusive local dates with recent search and adds keyboard-expandable details for already permitted values. See [Audit filter review](visual-correction/AUDIT_FILTERS_REVIEW.md).
Audit runtime `1a8a97a5` adds local metadata search for the loaded recent-event window. Ten frontend tests and 72 controlled captures and scans passed. See [audit search evidence](visual-correction/AUDIT_SEARCH_REVIEW.md).
Admin Users runtime `e22f2d64` presents read-only 2FA and confirmation status. Seven backend tests, 14 frontend tests, lint, export and 36 scoped browser scans passed. See [account status evidence](visual-correction/ADMIN_USER_2FA_REVIEW.md).
System Status runtime `4981a242` displays the last successful browser read and preserves its timestamp when a refresh fails. See [refresh evidence](visual-correction/SYSTEM_STATUS_REFRESH_REVIEW.md) and the [separate diagnostics design](SYSTEM_DIAGNOSTICS_DESIGN.md).
Application list successor `1246994c` moves role ahead of employer and shows bulk controls in explicit selection mode. Passed 57 native tests, types, lint, build and 72 rendered states. [Application selection evidence](visual-correction/APPLICATION_SELECTION_REVIEW.md)
Discover Jobs search-first layout at `0540e84f` passed 26 native cases, types, lint, build and 108 controlled states across 36 configurations. [Search-first evidence](visual-correction/DISCOVERY_SEARCH_FIRST.md)
The owner's additional A3 refinements and mandatory Europe-ready criteria are tracked in the [refinement and Europe register](REFINEMENT_AND_EUROPE.md). It extends the current milestones and preserves their separate security, provider and release gates.
Settings privacy recovery passed 36 configurations and 180 states on unchanged runtime `e8e7d839`. Loading, unavailable, retry, rejected save and discard were exercised with fixture responses. [Settings recovery review](visual-correction/SETTINGS_RECOVERY_REVIEW.md)
Audit timestamp successor `2dc8fe4c` preserves date and time readability without inflating the table row. Nine native cases, types, lint, build and 36 focused rendered states passed. See [Audit date review](visual-correction/AUDIT_DATE_REVIEW.md).
Correspondence recovery passed 36 controlled configurations and 144 captured states on unchanged runtime `c7e8627c`. Review error/retry/empty/suggestion and draft 409 recovery were exercised without sending mail. [Mail recovery review](visual-correction/MAIL_RECOVERY_REVIEW.md)
Gmail review count wording in `e8e7d839` passed 54 targeted tests, types, lint, build and 36 focused read-only rendered states. [Review count wording](visual-correction/MAIL_REVIEW_COUNTS.md)
Admin heading successor `c7e8627c` removes repeated titles on four routes and retains route descriptions, section hierarchy and keyboard refresh focus. Passed 66 targeted native tests, types, lint, build, and 36 configurations with 324 captured states. Audit timestamp wrapping remains open as V25. See [Admin heading review](visual-correction/ADMIN_HEADINGS_REVIEW.md).
4 November follow-up source **c0ef4171d5451abfeba09321990380c395728c20**:23 native cases/four suites, types/full lint/build and8 representative configurations/48 states PASSED. Native/browser RED reproduced stale sibling agenda after scheduling; parent refresh token now updates it after successful schedule/clear, not failed PATCH, preserving month/view. Browser journey traverses real More/navigation/status/Reminders/context controls;16 intercepted mutations,zero unavailable reads/errors/axe. See visual-correction/FOLLOWUP_JOURNEY_REVIEW.md. No provider/backend scheduling/date-model/physical PDF acceptance. Publication remains pending HTTP502; last known remote8fef819c. Remaining route/error/owner/native/European/Phase10/security/recovery/release gates OPEN.
4 November CV-count source **122956b6a38f4dc06b461383f31fdaa2658a6fdb**:81 native cases/two suites, types/full lint/export build and36 configurations/72 caption states PASSED,zero writes/errors/axe violations. V23 one-entry/page captions corrected, no new dynamic calls; pagination, source content, settings and revision behavior preserved. See visual-correction/CV_COUNTS_REVIEW.md for retained failures and exact scope. Preceding CV journey7e2bf201 remains local-only pending publication; last successful remote8fef819c. No production/renderer/security/owner acceptance inferred.
4 November Profile→CV creation/edit/preview/download client journey on unchanged **9bfc51b067c4da4164b84578f5dacf452125ba62**:8 representative390/1440×EN/NB×theme journeys/40 states PASSED,16 intercepted creates/renames and8 revision-checked export/download events. No unexpected writes/errors/axe violations;8 company and8 template-preview reads unavailable. Selected contact/summary inheritance request and unchanged settings at rename checked; backend Profile rendering/physical PDF NOT RUN. Synthetic download bytes explicitly are not a PDF. See visual-correction/CV_JOURNEY_REVIEW.md. Matching-count receipt **8fef819c4e5a17eee65c8707d014155dea8a6322** published/readback-verified with1,256 integrity checks. Remaining application→follow-up/import/error/native/owner/security/recovery/release gates stay OPEN.
4 November matching-count source **9bfc51b067c4da4164b84578f5dacf452125ba62**:48 selected native cases/four suites, types/full lint/export build and36 configurations/72 table/board states PASSED,zero writes/unavailable reads/page errors/axe violations. V22 singular text resolved in EN/NB, no new dynamic translation call; existing locale-triggered active-view reload preserved. See visual-correction/MATCHING_COUNT_REVIEW.md for retained RED/path failures and exact superseded counts. Viewer24 families/864 actual bindings/28 frozen references;48 artifact selections passed separately. Discovery receipt **ed4ce4cc3a0fffecfa406793a60680e490fa6674** published and independently verified after one ordinary retry of a remote unpack checksum rejection;1,287 integrity checks matched. No infrastructure change. Remaining IM10/route/workflow/owner/native/European/security/recovery/release gates remain OPEN.
4 November discovery→preview→review→tracker qualification on unchanged runtime **a84a97cb61eda975d73690c818d56666f0929515**:36 connected journeys/144 rendered states PASSED;36 intercepted previews and36 creates, original source fields checked, no unexpected writes/unavailable reads/errors/axe violations. No actual provider/backend or attachment/AI execution. Existing wizard controls retained. Count grammar V22 found and remains open for the next bounded fix. Comparison viewer22 families/792 actual bindings/28 frozen references;44 artifact selections passed separately. Evidence Bank receipt **b5b9069d1e835197cc37c5e7e293c3a60857ec2f** is published/readback-verified with1,321 integrity checks. Other connected journeys and all final roadmap/native/owner/security/recovery/release gates remain OPEN.
4 November Evidence Bank qualification on unchanged runtime **a84a97cb61eda975d73690c818d56666f0929515**:36 controlled journeys/216 rendered states PASSED, drafts retained across sections/retry, valid drafts blocked while read fails, deletion cancelled. Zero writes, preview requests, page exceptions or axe violations;108 company fixture reads unavailable. Component/test unchanged fromb31; no unnecessary rebuild or native rerun. Existing form/owned evidence boundaries intentionally retained. See visual-correction/EVIDENCE_BANK_REVIEW.md. Comparison viewer21 families/756 image bindings/28 frozen references;42 artifact selections passed separately. Settings receipt **505b0c01b953002ef777eca9aea550715b217216** published/readback-verified with1,268 integrity checks. Full IM10/34 routes/57 groups, connected journeys, owner/native/European/Phase10/security/recovery/release acceptance remain OPEN.
4 November Settings/shared-feedback runtime **a84a97cb61eda975d73690c818d56666f0929515**:70 selected native cases/eight suites, types/full lint/export build and36 configurations/252 Settings states PASSED. QuickCapture decorative surface removed; actual interaction found and fixed the ToastProvider-outside-theme contrast defect. Feedback remains visible during contrast analysis. Zero writes/proposals/browser exceptions/axe violations;36 company reads unavailable fixtures. Viewer20 families/720 actual bindings/28 frozen references;40 artifact selections passed separately. Admin receipt **0e2ccfe98406d5d896c74482b0ba08a976c74c4a** is published/readback-verified with1,163 integrity checks. Evidence Bank verifier extension remains separate WIP, not part of Settings qualification. All final roadmap/owner/security/recovery/native gates remain OPEN.
4 November administration runtime **d651ce7aa41c2e296db20c2a28b2abe093884756**:60 native cases/four suites, types/full lint/export build and36 configurations/324 rendered admin states PASSED. Open diagnostic/audit/processing sections and divided benchmark findings remove decorative nesting. All reads synthetic;216 company reads unavailable and144 deliberate unavailable system reads. No mutation/probe/maintenance/SMTP/undo/restore/user action executed. See visual-correction/ADMIN_REVIEW.md for exact scope, source and limits.17-family comparison viewer has612 actual image bindings/26 immutable references and34 artifact selections; these are not extra application checks. Permission/action/error/human/owner and full roadmap acceptance remain OPEN. Settings read-only pilot is independent WIP and excluded from administration qualification.
4 November current localisation sourcecd116ab8:44 native cases/two suites, types/full lint/build and36 focused label states passed with zero writes. Singular count text is corrected in EN/NB without rewriting plural/provider data or adding dynamic translation calls. Mail workflow receipt1881fdb2 (runtimea9208ab4,39 tests/144 states,888 integrity checks) is published and independently verified; label-only runs do not repeat its send workflow. Current label receipt is being sealed. V18 administration, remaining state/journey review and all human/native/European/security/recovery/release/owner gates remain OPEN.
4 November mail successora9208ab4:39 native cases, types/full lint/export build and36 journeys/144 mail-only states PASSED. Divided messages, early jump, recorded context right on desktop/before prose on narrow screens; no new fetch or invented status/appointment. Preserved draft/confirmation/uncertain-send behavior uses72 synthetic requests only. Documentation, manifests and readback are being sealed; predecessor dd284782 is published/verified. V19 singular-count grammar and the remaining admin/Settings/evidence/error/connected-workflow, human/native/security/release checks remain OPEN. This is not final A3 or Phase10 acceptance.
4 November current source **b31ce6176bcb8f6a70d3e29ad4057b7cb74a1f53**:114 selected native tests/eight suites, types/full lint/export build and final36-configuration matrices PASSED: Career216, documents/mail216, calendar108, single-month markers36. These scoped checks do not complete IM10. Career unavailable fixture reads and all human/native/provider/security/release limits are explicit in visual-correction/CAREER_DOCUMENT_ACTIVITY.md. The later37-test flat-mail successor remains unbuilt and excluded from this runtime. Source/evidence receipt is being sealed for publication; published/verified predecessor is79d7bbe0. The navigable visual-correction/route-review.html uses11 real screen families, nine widths, EN/NB/themes and frozen A3 references; all396 actual image bindings and22 reference files plus two artifact smoke viewports passed. This is an evidence viewer, not another design concept or full34-route acceptance.
4 November latest continuation: public-language receipt **09904ecc6889e196139b1a4da448230e3d0e44c8** and account/editor receipt **368e90d57206df00204f16ced78d9379706a6878** are published and independently remotely verified. Public runtimefa6bd5d9:94 tests,504 scoped states and863 source/harness/evidence/export integrity checks. Account runtimeb6d830f2:97 tests,252 account states plus216 affected application states and827 integrity checks. These are separate packages; overlapping earlier runs are not added. Source census retains34 routes/57 preservation groups, not blanket functional or visual acceptance.
Local successora7d72673 contains offer literal-date fix, denser initial dashboard defaults and open discovery rows.101 selected tests, types/full lint/export build and six controlled timezone browser journeys passed; broader dashboard/discovery rendered qualification is active. Final milestone/owner visual review remains OPEN. visual-correction/ROUTE_COVERAGE.json and DISCREPANCIES.md are the current route/discrepancy owners. Earlier active/pending paragraphs below are historical where superseded by these source-bound records.
3 November 2026. Owner explicitly approved **"Approve IM09 and A3-IM10"**. Isolated `codex/a3-ui-10` starts at published/remotely verified receipt `7a9de940dfdc41023f87a1ef38a5fd86a0b8e477`, from implementation `773c943165669bfc97bee46c53f73f124f398c0c`. Earlier A3 milestones are accepted; do not rerun their unaffected evidence or ask again.
- [x] Reconcile baseline and narrowly inspect attachment-size localisation1ce93ca0; cherry-picked only its reviewed delta as31ce70271663a5d57c7b2eb8f80cd69be5cc95ef. No wholesale merge of its older application tree. Fresh63 affected tests passed on this newer baseline; original61-case evidence remains historical.
- [ ] Correct remaining bounded presentation/localisation issues, including technical headline ID in whole-document AI review. Preserve UI vs output language and unchanged proposals during UI-language changes.
- [ ] Reconcile all57 preservation groups and34 inherited routes against current source and accepted evidence; keep PARTIAL/DEFERRED/native/provider qualification honest.
- [ ] Connected EN/NB, themes, phone/tablet/desktop, secondary-route/keyboard/accessibility coverage and combined affected regression. Reuse unchanged accepted evidence, qualify concrete affected changes.
- [ ] Types/lint/build, source/evidence identities, independent review, local commits, phase-branch publication and remote readback.
- [ ] Consolidated A3 acceptance proposal and remaining owner/technical gates. Final integrated security/recovery/release remain separate.
OPEN: granular per-user Ghosted pause lacks a persisted rules contract. Mounted AI entitlement refresh requires investigation that preserves current server authority and form lifetimes; blindly dispatching auth-changed resets authResolved and can unmount drafts. No inferred client-side entitlement grant or weakened auth guard is authorised as a shortcut. Native-language/human/device, real provider/model and hosted/production checks remain separate. The autonomous backlog orchestrator stays paused and untouched.
Initial bounded qualification: headline review caption fixed using the existing EN/NB label; fresh61 studio cases passed, including language-switch preservation. Combined with63 assets/attachments cases,124 distinct cases/three suites.16 controlled AI-review configurations/scans passed with zero writes and synthetic proposals only. Source census passed:57 unchanged preservation groups/34 registered route patterns; historical statuses not promoted. Independent review found no actionable issues. See CROSS_APP_LOCALISATION.md. Broader secondary-route/browser/combined qualification remains OPEN; this is not complete IM10 or a new acceptance request.
Secondary checkpoint7aa54bff1fe376b798922b9da75feafa202dbb76 is published/remotely verified:85 cases/seven suites,16 controlled journeys/96 scoped scans,23 source/100 evidence hashes matched committed bytes. All57 preservation rows reconciled. See SECONDARY_VALIDATION.md and PRESERVATION_RECONCILIATION.md. Initial IM10 checkpointccf8d264 is also published/verified. No complete IM10 acceptance requested.
Active bounded fix (uncommitted): AI privacy Save now invokes an optional refresh callback; App rereads /auth/me and updates only same-owner, validated plan/entitlements without resetting authResolved or dispatching auth-changed. Lifetime/session/sequence guards reject stale completion; general auth refresh invalidates the availability lane. Card distinguishes saved preferences from refresh failure and preserves its mounted draft.39 selected tests/three suites,types/lint/build passed; browser pilot is being corrected to respect existing API identity-mismatch invalidation (session reset, not an inline warning). Targeted malformed-entitlement and same-owner/no-reload journeys must pass before publication. No backend/model/provider changes. Do not discard the active regression/fix files or claim the display gap closed until its actual evidence is qualified.
4 November successor: the owner added global flat visual correction and a whole-application definition of done. These extend approved IM10; earlier functional approvals remain evidence, not visual parity. Shared compact shell/open CV studio/flat continuous Settings sections are implemented. Mounted availability gap now has16 successful controlled journeys/64 scans with node/draft retention, malformed-grant rejection and wrong-identity session reset. CV visual matrix:36 configurations/108 scans/captures across all nine required widths, EN/NB and themes. Failed NB notice/tablet overlap attempts retained and fixed. Types/lint/build/census passed; independent source review found no actionable findings. The full34-route visual review, connected workflows, human/device/native language and final visual approval remain OPEN. See visual-correction/VALIDATION.md and DISCREPANCIES.md. Next eligible work: remaining route review and bounded remediation, beginning six secondary routes. Do not request final IM10 acceptance yet.
## Admin Users alignment checkpoint
10 November 2026. Runtime `dddec043664cd1e65f93469e112c92f4794b8821` passed 12 selected native tests, types, lint, export build and 36 controlled responsive accessibility scans. See [alignment review](visual-correction/ADMIN_USER_ALIGNMENT_REVIEW.md).
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,14 @@
{
"date": "2026-11-03",
"branch": "codex/a3-ui-09",
"base": "f0c8c6d321a70b4d477e99c7b9557246b6361cdf",
"ownerApproval": "Approve IM08 and A3-IM09",
"frontend": { "status": "PASSED", "distinctCases": 143, "suites": 11, "union": "Initial stable application-source142 minus18 earlier processing plus19 final processing cases", "focusedReruns": "Five contract cases and intermediate18 processing cases overlap; do not add.", "earlyAttempt": "EARLY-MIXED137 cases135passed2failed is not a clean baseline because regressions were added during execution. No acceptance claim." },
"red": { "contracts": "Four expected failures, one default case passed,65 filtered NOT RUN", "focusRace": "One expected failure,18 filtered NOT RUN before moving requested focus after React commit" },
"backend": { "status": "PASSED", "cases": 69, "failed": 0, "skipped": 0, "classes": ["UsersControllerTests", "TwoFactorControllerTests", "AuthSessionRevocationTests", "SessionsControllerTests", "AdminProcessingControllerTests", "AccountDataExportTests", "ApiAuthorizationPostureTests"], "environment": "Local mocks/InMemory/temp SQLite; no real account or provider operations. Existing user SDK/DOTNET_ROOT used after system dotnet lacked the pinned SDK; no config changed." },
"static": { "typecheck": "PASSED", "fullLint": "PASSED", "finalAffectedLint": "PASSED", "buildIncludingTypecheck": "PASSED", "verifierSyntax": "PASSED", "diffCheck": "PASSED", "initialFailure": "Unsupported exact option in testing-library queries removed; no product behavior change." },
"browser": { "status": "PASSED", "distinctConfigurations": 16, "distinctStates": 128, "aggregate": "112 unchanged account/admin states retained from BROWSER plus16 final processing states in PROCESSING", "configuration": "320/390/768/1440 x EN/NB x light/dark", "mutations": 0, "exportRequests": "16 explicit requests intercepted with fixture403", "limitations": "System capture is unavailable state; audit empty. No credential, revoke/delete, reset, provider, model or production operation.", "followups": "Visual defect escaped axe; label/column fixes then actual intermittent focus race reproduced and corrected. Failed selector/focus reports and diagnostic image retained, not accepted final states." },
"review": "Independent source, verifier, visual correction and postcommit focus-fix reviews found no remaining actionable findings; no independent rerun totals added.",
"notRun": ["Real authentication/OAuth/email/2FA delivery", "MariaDB/hosted CI", "Native devices/screen readers", "Integrated security attack simulation", "Recovery/restore/release/production qualification", "Physical PDF rerun, unaffected renderer"],
"remaining": ["Gate F before IM10", "IM08 granular Ghosted pause and mounted AI entitlement refresh gaps", "Full Phase10/European localisation/Global Jobs/launch/security/release qualifications"]
}
@@ -0,0 +1,278 @@
{
"base": "f0c8c6d321a70b4d477e99c7b9557246b6361cdf",
"policy": "LF-normalised text, raw PNG SHA256",
"sources": {
"job-tracker-ui/src/views/ProfilePage.tsx": "ef05e15a7d841fb75ebef0e2843b710c38e0c73d317b976e2b1da76a25723439",
"job-tracker-ui/src/views/ConnectedAccountsPage.tsx": "09cbe497948cecacacc9e6e1b6c216bb0feb24977afcfe6c3a1ed0c10bd2708e",
"job-tracker-ui/src/views/AdminProcessingPage.tsx": "e58d9a86dc937eac291c2d7114b514576b9d38bb6232e8a6a15bfac9b3137304",
"job-tracker-ui/src/views/AdminUsersPage.tsx": "ed2377d7e004c78c3274c43d534c0a3db7b3468b2de2fa11210841e2cf31b53a",
"job-tracker-ui/src/views/AdminAuditPage.tsx": "a9415d7c759e67079b5db64c05c9cecfe9d062cc5b0532c909261fc064c91343",
"job-tracker-ui/src/views/AdminSystemPage.tsx": "64e85d9b13088b5229b6635674e9e6ff9ee6c4a62db7f66accb1dcddcedd16c0",
"job-tracker-ui/src/components/SettingsView.tsx": "441e8e6b2aea95233a85fb425f07c7549d4bda3ccea4680fab7e7805a5ff24f8",
"job-tracker-ui/src/components/SessionsSettingsCard.tsx": "057397bed9c98131f2913ec597f636af359e6d70984f37216816b0b7b78f5442",
"job-tracker-ui/src/components/TwoFactorSettingsCard.tsx": "2945f262db833978a12653e0a155f5e979a8bd39b240ece3991649fc0cde888f",
"job-tracker-ui/src/components/BackupCard.tsx": "94178fe3485b6812f1767628b4deb47357a9fa1cc6912d861acf75ebb6a85d89",
"job-tracker-ui/src/components/EmailProviderConnections.tsx": "5c5211c49012f6dc77d049e7164dd1f5807c9254e3278c2f47158d7f6209d73d",
"job-tracker-ui/src/components/GoogleAuthCard.tsx": "747afc361183bff1c558110eae9e2108d1e0ddb793dc789719623a7f3f38f4df",
"job-tracker-ui/src/components/MicrosoftAuthCard.tsx": "36558ba83de1bca2a5b60d55c891c18a0d87ca9795404027e332ea1c67545ca5",
"job-tracker-ui/src/App.tsx": "a176e52d81c4b6ded63c5f38cb27e853aa09312f2cc45fc7e5b5e44573e0fef3",
"job-tracker-ui/src/auth.ts": "1cbdd59f73c5a961613b2569679f96630cded407974876a4ca8abccf28780b0e",
"job-tracker-ui/src/sessionBoundary.ts": "09edca77c98294818d2ad0c409ce595f1b6ca0c1f60419fc1078b70f96f5b7b9",
"job-tracker-ui/src/i18n/translations.ts": "d3167487ec82e302bb26c9269b4a79b03a269b85ed8414b11cf38a9bb8f3d0a7",
"job-tracker-ui/src/profile-page.test.tsx": "37233ca196062ae91a6dcc9ce7146cc4e242c28ac2836c27c894bdbaec13d86e",
"job-tracker-ui/src/account-security-flows.test.tsx": "8ff99509f50342fbb8ada67ec5f646404ac60773f2d72c84b772aca063c7cc8b",
"job-tracker-ui/src/account-security-presentation.test.tsx": "12f8fc05eea372c6b1b7d60907f14845a23dcf79b7f44848ad04eb80ae5a0d35",
"job-tracker-ui/src/account-providers.test.tsx": "fbb7748829fe01fa33e977a0c77bd8bc5b850a33fb43866a37c81962c090c664",
"job-tracker-ui/src/account-data-export.test.tsx": "05e55a62459d7c2c4d04d110e411b25a53786460b13d375bf50b482699e154e5",
"job-tracker-ui/src/admin-users-page.test.tsx": "af86966ae40f05115b38bd592ba6f43f6f78c7cdfda14eaa7189c2fded893eeb",
"job-tracker-ui/src/admin-audit-page.test.tsx": "45f2a6274f465aa0c2b805d1ef163cee920b806827b2f3199ef7f89d76b1de3f",
"job-tracker-ui/src/admin-system-page.test.tsx": "794fc020315dad975453102001b8d2e405dc289f020d5b817c4dc4d7c970a60c",
"job-tracker-ui/src/admin-processing-page.test.tsx": "e6cb36eaa4d1a245f4f3ec1cad59395aed458cf5d655bf326e48d93aa0637391",
"job-tracker-ui/src/settings-view.test.tsx": "819ff890e95bd3ee4ca5d696adccecce6b423c768df98f98c62644d546a48576",
"job-tracker-ui/src/translation-catalogue.test.ts": "f20e8099f2c4dda76574ea3ed1e95b743eef5da82507d7cbc3f9925d52356b98",
"job-tracker-ui/scripts/verify-a3-account-admin.mjs": "2332269be94223a56056a0134067b8fb49de305312c32d0a3d543cb1e0f8ffd3",
"job-tracker-ui/package.json": "3745394e406cefa40d30a87e840bccb359be147bac6ffba736e2ae90898a8626",
"job-tracker-ui/package-lock.json": "bf31e90d7af03e8af059db2aaf893925b9e8881a30a1688034ed88ef45d4fcab",
"docs/ui-modernisation/UI-09.md": "633b384ecccf56e423d3e3fd36876f7ff20fc285bd68378c29216a7289d963df",
"docs/ui-modernisation/ACCOUNT_ADMIN_VALIDATION.md": "a0979fe4a707094d2f948d182f883669725a8733233a106eaa0b7235b945c5a4",
"global.json": "fd22f0dd0b4266472917812222b4ab513b0986fc303507a2dff7ffbb65e3c461",
"JobTrackerApi.Tests/UsersControllerTests.cs": "6af9651f681db19ff8b7e9177b1c45e54d2ae7eec73cd052da493a80c9829ca7",
"JobTrackerApi.Tests/TwoFactorControllerTests.cs": "dcd66852eda22f5ad5d9c8c9e59343941801ffa58432a9c2a42bac6050340232",
"JobTrackerApi.Tests/AuthSessionRevocationTests.cs": "beb647dbadaa3f006d59737dd974788c28ad88701e0ffd1bfd47a9034e3f2835",
"JobTrackerApi.Tests/SessionsControllerTests.cs": "e8c26af41f6194644e75d9c7f981c8f6528bcce1ef51df2c585e05fb22767d98",
"JobTrackerApi.Tests/AdminProcessingControllerTests.cs": "61706c6d54cb05a444c969ac757837339b4039b5626f0c1ace2a86aa357af66d",
"JobTrackerApi.Tests/AccountDataExportTests.cs": "df70bac7b1c2b43a0cc93082994db05436cb218acae77bbf68e8d91e067c58a0",
"JobTrackerApi.Tests/ApiAuthorizationPostureTests.cs": "dc90d52e78e9810a296b4cfddc548f90db93378f4ef97b062bead9e83563b038",
"JobTrackerApi/Controllers/UsersController.cs": "038198e3fda32688e7986998bbc3ddbe6777f892b05654c888cf70fd80429c3d",
"JobTrackerApi/Controllers/TwoFactorController.cs": "413b95b217bff645bf7240539abee90a22650c54d6b84439ba5f6f58b048b233",
"JobTrackerApi/Controllers/SessionsController.cs": "555be479e9be8261ccdfe67a460d006794e23bb00540071f39da9b03621db403",
"JobTrackerApi/Controllers/AdminProcessingController.cs": "00d5ffdf2c7e88d5ab73e129ed8cd600d8d2f84bcf5dcb41e348e48f8deb6632"
},
"evidence": {
"backend/a3-account-admin.trx": "b2231a264bab7f46da866f6c0012345843bab8549fa05dac31147eb754ec2d5e",
"browser/account-en-dark-1440.png": "312a19684870357e94ae13f363ffd9b6f2f8ff09f6d5da5cc2ca356011257d8d",
"browser/account-en-dark-320.png": "e11892c1350738a65f05a24b9ab30a99656df37afadc8cd1bfa5713063b9b6d6",
"browser/account-en-dark-390.png": "0f09087ea340bbfd6e6c14626b2a1f817f4a1fa484b490c1f0f4a898c8239d3c",
"browser/account-en-dark-768.png": "4ad5b191470a9aebcd21a82d30482f5b3f5f04c9881996c66093517d08013cf9",
"browser/account-en-light-1440.png": "f097c8336d09c23a6308a682873bf7a4c150aa261068aaf2ad8e6df62f27ef6d",
"browser/account-en-light-320.png": "deb9a9f1396636b2e773d999fea917930f29f85ea93cf827e77acc0774f6fac3",
"browser/account-en-light-390.png": "854a103914531126a298378f1f5f2d6f3f15e7516164fc33461a2f305cd9b24f",
"browser/account-en-light-768.png": "15a84024a902e58821c9facaca0996fb44dfa5222d6e9b8ea4f798fee3cbfe1f",
"browser/account-nb-dark-1440.png": "b2ec47cceb3c7608dfac01f111d3d465a2b9f7a8840b3e899550f1bf64e97e34",
"browser/account-nb-dark-320.png": "a97bd892a24356a080a28f283fd208e58337b525df27af0304a90129986bf842",
"browser/account-nb-dark-390.png": "27361e6ac1cb2fa508cc455e82faaf586c011667f3007feff5359d04811934dc",
"browser/account-nb-dark-768.png": "8dcfbe33f265bbffcbb52002d06c3589c23045550b2687ff4f3df9daf7b82332",
"browser/account-nb-light-1440.png": "95b6378311b64650178b3b3c66119c8f045a67e84426c74bb52a0c931ab0a1d9",
"browser/account-nb-light-320.png": "0e991de716e1fad299d7a70582f75e32a7f4cc6116086492289d8486a889922f",
"browser/account-nb-light-390.png": "1c568a88328087d907472ff3531b3c5b0591a61c33355aeb9786382d5735718d",
"browser/account-nb-light-768.png": "37f1cfd7c928e2b7e995878d144e95a1283135500e406afbe92ea4c7a8b03954",
"browser/audit-empty-en-dark-1440.png": "f5a064b6748af23c30e346122b897d6bf923f4dda09d609e379116f9c96b3245",
"browser/audit-empty-en-dark-320.png": "59deb082162fd39056298cb9328709e4699979b81ff8efae2bf9519a9f59a926",
"browser/audit-empty-en-dark-390.png": "bbdfe4f3dccc877ca59433c2bf14cf83b3d32dc1bd15785c2c1cf2cd89bd5cf3",
"browser/audit-empty-en-dark-768.png": "3374647e8248d1d9f49c6692adfed87d704d92f0cc1c422ec2a3e82ff262c91f",
"browser/audit-empty-en-light-1440.png": "89d374d89c8dcf0957951b07869cb8b668649814f3b9c9100ca254b70edbcdc7",
"browser/audit-empty-en-light-320.png": "ab4de07cdcb2535ad8e511e4b53e5e4065bfdb868f978828a098fcee245efbc3",
"browser/audit-empty-en-light-390.png": "003c37665e1d1b8ac5835b51f25e077421b17695ed2892c7701aaa996e1bb1f3",
"browser/audit-empty-en-light-768.png": "8343544a9ec13bfcfb64c4b153f4c7cddba343ab728940f84b5e1beaf4e6574e",
"browser/audit-empty-nb-dark-1440.png": "4f487b80e9a7285acae2304d2aae9a28979418981d5bc39bd291e278a5106282",
"browser/audit-empty-nb-dark-320.png": "e5f2fe733209a42ae12949769945446b608b25cf06908858f57ebfdd386ae0ba",
"browser/audit-empty-nb-dark-390.png": "ab27ed4a92076caa9368d39926f74a8ad5cf340738afa21d8df33db048acf712",
"browser/audit-empty-nb-dark-768.png": "dbb096c95a598e43eb1390ec24ea2310a70454673039da01dac3765b1274d484",
"browser/audit-empty-nb-light-1440.png": "66d5bde26ec949c70528a495c4d95ccd2cb2ec149f3c58d2afcce9e353d963ec",
"browser/audit-empty-nb-light-320.png": "e6f12ff4e64b7c944296b35488e2ebaa209bfc2bf6d1df7b973035bc836885ce",
"browser/audit-empty-nb-light-390.png": "625573ab66f4d5d9d82df43ded61fcc7a46b78a5abdefc36a4395c896f675149",
"browser/audit-empty-nb-light-768.png": "c5cb57e8501d68b4003f4a8444b8c2829ff67d52e0db2b37ebdfd45e1c895061",
"browser/BROWSER.json": "a429dcc54a7191618d3cd45d82111e7f5bccdfa81a36830197972b067d1e60cc",
"browser/connections-en-dark-1440.png": "5833a6e84522fc882fe5d2f68fc37e71d9530b079903917902fc3dbc8de2d1c1",
"browser/connections-en-dark-320.png": "73e087e19d82cba08c581d7835207aa19cf8b1f786eb41f6626ca35f4376ead5",
"browser/connections-en-dark-390.png": "bb8bbaea133aa56b3317331aefd9d0428af2cf33cdb3da82923f9db3f43e4e4f",
"browser/connections-en-dark-768.png": "b6191b87cce449a1219b68cef6fc670aec51f1e240ecaa41ec1779fb81c3e66b",
"browser/connections-en-light-1440.png": "ce08652198241065bcf521d2e3a8afa203f81d5b0462619abbe598e7112b0bbb",
"browser/connections-en-light-320.png": "1385ebcd14623950c344293ce1b00707637f9ab9d7dc2b03e8dca06ab9c2ca4c",
"browser/connections-en-light-390.png": "dc39bc33ac4ab22f147a826f5edd651e619de4fdc88d48967518fed690adcb43",
"browser/connections-en-light-768.png": "f33764a3938a503092e357047e5e536a345686a9acd065a4edd33fb297b577c3",
"browser/connections-nb-dark-1440.png": "ef40e26345be1548f36cd02625a8ea3e12698514a7dcd766a2e641b275546cd0",
"browser/connections-nb-dark-320.png": "3e0aa3dd9ffcaec4d73eda99fb5f55dd4be4530d1e5e66ba479beac0e11d8082",
"browser/connections-nb-dark-390.png": "d2bf47d3e2242ab9b77e25ae407b95d027f620003e32c56f5f9f5b895d60aae0",
"browser/connections-nb-dark-768.png": "b35ee6e7587a1e81419236825b792dd52dc6d0c2d2713d0222325f8691d52d9d",
"browser/connections-nb-light-1440.png": "ed3b23aa9b7351e1f4b78a1802959ab4eb96c0978974ea052d2c97b7b7f28c91",
"browser/connections-nb-light-320.png": "71b3cd827b4397fe077c2f5c592d3eb91eb93f5ca6eae91b6537c4c3761162f7",
"browser/connections-nb-light-390.png": "a9455e0aa234bd531983c5a2475c9c763ec1750ddfc8dad3b4172fd06a5c60d9",
"browser/connections-nb-light-768.png": "c676f6fee7e0d13fa660a842fd518a6539b67987644d3c3609e449f08db224fe",
"browser/data-confirmation-en-dark-1440.png": "00593f6a7df481dfe1780a354fd279712b03c656532a442d23ba58567176abb0",
"browser/data-confirmation-en-dark-320.png": "ce7ccd2e85b7415a41fb8b46e84c079ce0f18a358f32766807a2e0b7efb8d864",
"browser/data-confirmation-en-dark-390.png": "3f228e625a94d64301a2792ba3d510af6ca83860a0895d4445bd4e325e041858",
"browser/data-confirmation-en-dark-768.png": "020cb5a6015ee60057d3115da9d18f2ba3f709801dccf052895f57ab4199a5fd",
"browser/data-confirmation-en-light-1440.png": "ffb996ae39c64dfde4bef6cedc51b8ab3bac93f1db6fd6075f6764b65892340d",
"browser/data-confirmation-en-light-320.png": "9d396778a016291d7bd1cd6c109dd5ed07d17094ca14e06badc7326b4a54e97b",
"browser/data-confirmation-en-light-390.png": "7eede982c752be4a72e60656cba17752f09344dc6b19addb4431f0b09835865e",
"browser/data-confirmation-en-light-768.png": "57aa98764e7344f54bac2a9b76b94a203e649048429fd0b21ec947c61051af61",
"browser/data-confirmation-nb-dark-1440.png": "f539f8e0bf57c97e757262e4ae77a04625d82b13b7d83e6a588326b2f66e9b44",
"browser/data-confirmation-nb-dark-320.png": "e01d53f5a416a3396c9e3a08f8eda510492465fb3419070654e01304cecd3266",
"browser/data-confirmation-nb-dark-390.png": "0ce246cf1499bddad3cae89b57c86ac259b4ea5881199a3d9abf558c50798299",
"browser/data-confirmation-nb-dark-768.png": "097452eb9d99e08a471240cb522ed0cfe432fc080395550efa0a02778d15ef0d",
"browser/data-confirmation-nb-light-1440.png": "4624974d46ecbb1a6e49b3ae455ed1dc452a44a45a6bc75f92a96cbac6448839",
"browser/data-confirmation-nb-light-320.png": "dcecfc1167e9d2835440a8b51ce6f9d75949b649f1580f5c01286037be3794f3",
"browser/data-confirmation-nb-light-390.png": "12a0511b6316002a1b067e931eb6c1710e0e2c25c3d07fa80a870bff331517bc",
"browser/data-confirmation-nb-light-768.png": "3ecea84e17f96389c48965f8f535650505d145f341938be46a475e98d2b1f8e6",
"browser/DIAGNOSTIC-processing-en-dark-1440.png": "dc097dc658e24b2cc52e98e381c4de9a5dc722fbd47a3ef3cd6a1a3844cb4d33",
"browser/last-admin-en-dark-1440.png": "69e18f7ee4ac23b5db2048ac2caa1cd03d884cc5ca348f2fca59384ca9d6ae2b",
"browser/last-admin-en-dark-320.png": "9758fdf20bf94cf8c06e60c08a84f89bd1ae3e3e3c93cfeb96bb5138482fce1f",
"browser/last-admin-en-dark-390.png": "c4009a35125a3cd3c147589c442505e72556e022b4c8dffb5f47d47fbbac93b8",
"browser/last-admin-en-dark-768.png": "f924e1d2ecb55495c4809e925ded6cff917b250953ecb1c60ea3381d16f8b12b",
"browser/last-admin-en-light-1440.png": "fcd84ea36ce7f6ecbc4b3a833bfd2fb2042cf3c1950e544075b288fa5b44f0d6",
"browser/last-admin-en-light-320.png": "8563406cd5049091242bfcef3de8706fb840b41a25fbb034248cdbee27c0f0d5",
"browser/last-admin-en-light-390.png": "2a38b94b67c8a88a49cf7092d7f49e1f483038551c23588401d15e3e534c9917",
"browser/last-admin-en-light-768.png": "9a747128a4697e48f0653080e8d92102cc476df0e19ff9d3ea96890e6900391e",
"browser/last-admin-nb-dark-1440.png": "0d5b20937b36d106b6b266f1f9fca722b13760723b305faa868632d6eaecd3cb",
"browser/last-admin-nb-dark-320.png": "4b5f340ca7498c1f073a6d208c941042a355d2a71606c20fc043e197e2a12c2f",
"browser/last-admin-nb-dark-390.png": "16862b263e2d38774e7236285c5d057dc745194315ed38d1fb64c99c12670044",
"browser/last-admin-nb-dark-768.png": "71d4151ed9d471487c0e82bf5a9e00e9cc59516e706c86e3dcffbc8a306024ae",
"browser/last-admin-nb-light-1440.png": "0db0b99f4afefef2195728534a7859ffb2231cad9aea2f290ea6a4a240656a03",
"browser/last-admin-nb-light-320.png": "79fb6979de2663d6e6db124d17011f0b4ba348b3fbbdaa0b0834ed7966a88cba",
"browser/last-admin-nb-light-390.png": "b6f26151f802e7fdd75fabe906c1d9b05841cd0c773f2534ed0d2260315c09a4",
"browser/last-admin-nb-light-768.png": "622aa1ea4897dc223232bea50fd72a028a1cbdb5d9222ade3336eb83c48b8b1e",
"browser/PILOT.json": "f12253c8d625e0d01970af6e2e88e04ac110084a8cf7d3b8f5fb1cee37fac0ab",
"browser/processing-detail-en-dark-1440.png": "df8e6b45f22652fba8e9284048eac87862e9b0c194a49f0252968c4966c45d1a",
"browser/processing-detail-en-dark-320.png": "409ab47edaaf8616dc38f54d3df414aa7a5b39526cd8e54d35a999f7317656b8",
"browser/processing-detail-en-dark-390.png": "5025d103291f6a6e8c3d65687ef26252499bda4312668220ff392570308ba656",
"browser/processing-detail-en-dark-768.png": "2a963c520af031ec67062c5350a20657afccd8d46185518f99f3f2a757cbf27b",
"browser/processing-detail-en-light-1440.png": "e107f573f14d1193ac8d7539027e9ae4466cead93b114bd363fe3c8dca23373b",
"browser/processing-detail-en-light-320.png": "39b2a7d4f571f5f7ddceedb7433c80be8146a6691c2f0c5f8e0385d93328653d",
"browser/processing-detail-en-light-390.png": "01a412d2021e03197dbbe0fd1b3e961a365f705c821edd4f91f9200774a6803e",
"browser/processing-detail-en-light-768.png": "c998727f22c2a9c9bfe337d144e0a89df7e0588cb9a4bffd5a12e67c3112c9fb",
"browser/processing-detail-nb-dark-1440.png": "04fe773bcb0debe4477895a52800ea5649312cf5f9f6b5d69b32764046088ad8",
"browser/processing-detail-nb-dark-320.png": "792e92b333611ee02b9dfea5c54f33449b5ed2618d13f77dff91ef36fd518e25",
"browser/processing-detail-nb-dark-390.png": "648e2ba2f1dfb6a458131a0a891e09e8147494421c8e58e5c86708b1ea160d8b",
"browser/processing-detail-nb-dark-768.png": "1c369b9193a8e22e5e91dd3ffd8688f359be3c5fca414e2bcf91bf0a3fc978af",
"browser/processing-detail-nb-light-1440.png": "060eef411e9e726b01240764b9cb6eb013ba8d74420b16a611d49c0c04dcfbe9",
"browser/processing-detail-nb-light-320.png": "08cfc058f7084e9ce6987f56d89c2a0e6de613059fdaec91228b0022dfd802de",
"browser/processing-detail-nb-light-390.png": "217525914575c5dd83e43ed4f04c7d1e81038255559dd3a91a29b2412e416668",
"browser/processing-detail-nb-light-768.png": "e7dcf4c7167a66826103c023ed65882c70e9cd58799075caef4d66b5461e23db",
"browser/PROCESSING-FOCUS-FAILURE.json": "a4a4299ca46be25c86e4bd6845ae7a8d54b2c933e580baa1d1d75cbf4f4852e8",
"browser/PROCESSING-SELECTOR-FAILURE.json": "222b4ded745c97097372841633c24c33f2f2ae7288a53da51e482de9e74c6b18",
"browser/PROCESSING.json": "1f94e9f879e775b0550bf6ab79219fd4068c728e0bd0383b0b6e81cacf76d722",
"browser/session-confirmation-en-dark-1440.png": "d4f076ac65e892871de3b77f66e1136a956a13e7ddd6b76271bf3652b551bde5",
"browser/session-confirmation-en-dark-320.png": "7cfa5ab5b4b3073ef98502bb6eeef8a87b1e7ab7611f65647f995ea71bc6b6b0",
"browser/session-confirmation-en-dark-390.png": "47844007c4a47454fb662c2526abeb630cb23a20b21ce78ed14dbc8033eb56e0",
"browser/session-confirmation-en-dark-768.png": "da5681552922f8406548a790e360b5cfe7e7edcff511133c26ad0f1bca3e0877",
"browser/session-confirmation-en-light-1440.png": "a28533fd8d56c5351115b6cd1528b61f10d8673e8150ad1cba695394d329b5f7",
"browser/session-confirmation-en-light-320.png": "b974599c525fbf15c560cb7de6d63abef494e7d8dd88f146c5dac8bda5aa0222",
"browser/session-confirmation-en-light-390.png": "86c35e888d6a5cbdcf965ca62bf22ab7183b790215b56ee867a045b18cc4484c",
"browser/session-confirmation-en-light-768.png": "11a662b899b187feb16d1f21b2b25d5d777e894dfbc1be92e9c8b211be734dcf",
"browser/session-confirmation-nb-dark-1440.png": "907c377c06520569714a933bf8df4390d59a05382eceae1f81ce6242fe1cbd48",
"browser/session-confirmation-nb-dark-320.png": "2ff35e814f11dc13a5d0a3639fa822a9b447b6bf36f3b7b63d76afef6a6b16fd",
"browser/session-confirmation-nb-dark-390.png": "2a2a5cc16fcbb5b33b3144ea17592649bf388c6f30f5c2597a2b9eaf46eeccf7",
"browser/session-confirmation-nb-dark-768.png": "0d31988dfb055c57781c4494ab8327c1228a7041fcb24132062b07c6153bb433",
"browser/session-confirmation-nb-light-1440.png": "26e947c72034b871926c5b36fea9e94bd28564faa3089720bacac17a6a805eba",
"browser/session-confirmation-nb-light-320.png": "2f7182dac97e25d3e66f899d9bbec6d541193475be5cba3c3fef6e64d02c6b22",
"browser/session-confirmation-nb-light-390.png": "c444040f296e56e39ef3a0ba8764b28e6962c017848d8c1fc2554fbacb3f1050",
"browser/session-confirmation-nb-light-768.png": "4d34151694e777658ebc3db248ee8bd89502ecb26259cc3ed0eb883b3fb918a0",
"browser/system-unavailable-en-dark-1440.png": "f150be599ab2553150f94031ec37fa78e405cef033948c2f6a4aee7cfe1c01fd",
"browser/system-unavailable-en-dark-320.png": "38ad2690ba2b9238df74f4789ceaa6da3cb5f6b202efc747b937552ea4eca89e",
"browser/system-unavailable-en-dark-390.png": "7b7f8d83166384382d1463747528d8848ef9732062c3c984c43ac711a162c680",
"browser/system-unavailable-en-dark-768.png": "48d061f268576ee0a166c148a34444b462ce46acec3f510211ac0436388a4cf3",
"browser/system-unavailable-en-light-1440.png": "db9983b2930ebb1cf6a7f538415fb051a5be126801f572ec75e00626d6c3d4e9",
"browser/system-unavailable-en-light-320.png": "e49cf63329d2300e3969d1277acaa9d430fc089cab5e9f65867b34cbd35a56dc",
"browser/system-unavailable-en-light-390.png": "5596c9a06b7df55b42aa37cdce4c30029ce2114ab19a2805e6616b82ee6c9270",
"browser/system-unavailable-en-light-768.png": "f3190a85526feaedace3e4ad5173f378c5bb0f9f67a41b3dedc737d752da0683",
"browser/system-unavailable-nb-dark-1440.png": "aee6c72e72487e8263675e7b058bc381d27d72433c5e686d7363c6b2b39540ca",
"browser/system-unavailable-nb-dark-320.png": "b5453f3c4e90879a5ba601fbe7f38baa0769add396db014ec66b28eca0f67291",
"browser/system-unavailable-nb-dark-390.png": "45cd536abf4c8bd59c277da58c5c0babf0b40309dd0f92d05340caf8906eb7ad",
"browser/system-unavailable-nb-dark-768.png": "83808b28e03773061b840f6e8deb6a781e1ab674aa2012f45d2b4a28fe20b99b",
"browser/system-unavailable-nb-light-1440.png": "17d151f3b306d20aa572e171c4c0464426099b6a2341494e8c0f1abf3c68dc72",
"browser/system-unavailable-nb-light-320.png": "73de2d08f2be161a1660c1f6b06d20f341ead9aa6d733d693d63c095cfb8b7d1",
"browser/system-unavailable-nb-light-390.png": "93787446e12eaef9af49360f787fe42c8eca33b80713338af9a0ddee24a09959",
"browser/system-unavailable-nb-light-768.png": "1a03e3f2fd41467b5127cbd6bd168d7ad5ac59435f158acb1bdfbf7b4c9dbd07",
"CHECKS.json": "bbbcb6e8f6f06c90647c27a564faceaceb3fb1a7c09b9155ea40348fb214a194",
"frontend/a3-account-admin-focused.json": "655c2e2e4324e327ffd06ad3747c0534203ab1042c50230299714bacd501a2ac",
"frontend/a3-account-admin-red.json": "20de17c1d8b4453e892488e812fc70dd62767244c78e5480bb5b17d37e7bb8b5",
"frontend/a3-account-admin-tests.json": "c8388116b5ad8ddc47076622a4853c40916bff46308438a6d338850f6581bf37",
"frontend/a3-processing-focus-red.json": "49682f344bbebb037d814837bf6cf65faa57b343a398a9eabda891d317024561",
"frontend/a3-processing-focus-tests.json": "8bbfb741f03305423ae97f0b1b64586b6e94e1da94763c546ad93a8fa68f36d7",
"frontend/a3-processing-visual-followup.json": "f5435a0d1cc63548af5870b7ebd234c0f1bf60a3b115089bfa086f43c29d4ed0",
"frontend/EARLY-MIXED.json": "a5ebe1f73555605b16deaeed363c3dea906d24652b737a3e931f4311ccace25e"
},
"export": {
"404.html": "954109e56c1cd08c8bf77822b01d4106a1ca1f47c859b27b56d4601750a0ee07",
"__next.__PAGE__.txt": "e14c09bd8d4d294073a560d7684b64ef26286466166e42f85704c74d59898fd8",
"__next._full.txt": "7da037b1ca24971bc461e03de6e9391e21dd6d554db4c4cf8cdf21297b3ea988",
"__next._tree.txt": "47a1866d6447fc675e909b4374ac830a3760f0695a1123e39cf468fd2077e792",
"_next/static/chunks/0-_aq6ipzcshj.js": "39f90c215bf52aef6274ed3dcc0f8af32e21a37fe8845b3bca0d6ea60da6a8c2",
"_next/static/chunks/0ah1fzqmie05a.js": "5c65505a7dcbac63ac71d254e619a4c800943bfb4fa16cd40c10cdbe7e9b6e31",
"_next/static/chunks/0bdt7ln111t48.js": "6184b1a61f22e2a640c17941634fdc75678ce93d142848d9f07f163e0d1fd201",
"_next/static/chunks/0bwvt3mysnclc.js": "7705667a1b75812b7833d9c9dff47fe023015e58e382c40f4507d9948c973af4",
"_next/static/chunks/0c-j9v44ea4gk.js": "d7e04926724f76dc50b5202522fab3bb553370d040396394e84c342de466512b",
"_next/static/chunks/0cz1d0mv5g_q7.js": "0973c1d64c88adc8e3c950410cb58b288f72118d5965b78049438deb8f2f9683",
"_next/static/chunks/0gamdsp7ql8cu.js": "f641cd9e2957f5c01234df02211a085f8e8fe2009cf84817e4143f3c477e1dc2",
"_next/static/chunks/0h_-smu-bk788.js": "970ef0fa47ce6dfff261c624e08054841b6969b4afc5b0ebfad89126d7543bbc",
"_next/static/chunks/0jcvc3qm6-lyk.js": "7c27e1fe373b822adc68c63096a5bf38444ad605b9743f0920271652989c56f1",
"_next/static/chunks/0q1wd_b10phzr.js": "307f4a4ed0f1ef2d87b9de51dbcac2382a39aa8bab359994ee7aa41529215b4e",
"_next/static/chunks/0q20g9o8x-k8z.js": "3d4d9086985419aa8866b032158196c774acb8bf318f3c8245508c8daa9c5148",
"_next/static/chunks/0q_pwu9jxv4-d.js": "42a43b3d7245a413c7c29b4cbe87823037a6dbc637e2e282c92405470e0f575d",
"_next/static/chunks/0yg1x7i96lj87.js": "2aad3c0f9e8b7b5a5123a2a439970c49db0be353236e22f9b6eafaaf01328c15",
"_next/static/chunks/14-lfugawba2w.js": "6a5780ca3c84d7f130f3c0a14431c85c7a1e799e2645b8c171161dab40a64360",
"_next/static/chunks/1435in_k_-dhc.js": "4757476512d5c4dd25f9264a18b304ed4824b23aff1c09e134fcbff21d9c36b6",
"_next/static/chunks/145oicobmjvm7.js": "d6bbbdeed1381652dc7412e5ce673a077579ecd5cee8934cb6b533c814098764",
"_next/static/chunks/14e7ovj0s3elm.js": "070567dd4d23fb9fa0b9ba132185a697af6578045d43b2b1c7bbb2a1594d935d",
"_next/static/chunks/16lfece6cnlln.js": "716363ba044f30b0e70440756b4e5eafa2d25f2e1628e855e3bc4ab9eabee3d3",
"_next/static/chunks/19zh-dmyml5oj.js": "2ab304f9b4155cdbac4d22e1b0b56b1c1f775c4bbb3ee93c425e297182bf522e",
"_next/static/chunks/1_vy97gdckb4k.js": "93355d018547a26be1b678f43086179f2ad6de3d590b92eda5d7f8f9aaa9ec7f",
"_next/static/chunks/1d0xrdyyzw7qc.js": "c11668ff1e152008e0d7b4454af12eb36c97df46a5860938e2eb5d8429b374a8",
"_next/static/chunks/1ke8pzecwofrg.css": "32e9ab963ebadebcbe2c68dffb24cfbfc8cc24255ad91b48b7941fc777bf7439",
"_next/static/chunks/1m4qrvmbq_fq9.js": "4d36c8ec83dc817f273178dc22f329ab026578075f58de68b6f133bcf911a8a1",
"_next/static/chunks/1req80b9jj38r.js": "eee4d2e3789e1215195dba99ad0f09d34f8c83da848322b76054722233e9dae3",
"_next/static/chunks/1xn023_28rgzj.js": "4f7f2108d030a48d039930736c92a55710975dddf419fe673f84d92899b1f575",
"_next/static/chunks/1xwc-b795syag.css": "f73c002233f931ca14d0ae58815c47ca9f2659f25b1547a6d1fdca12a2a00b3f",
"_next/static/chunks/1zi8i6dnxiac_.js": "8aea28bbe6a138e5d4b619429ca71570883a7aee974b86d5a4a746d90f704dbc",
"_next/static/chunks/22wx8--1b9tnq.js": "3f7d8e762371262c6a740b4dac21725b424847319afac46055e97074a99ff5f5",
"_next/static/chunks/2b2nivoqiaper.js": "f20a0bfbfc4fd335a0e8fa6abf552d24c94a81a2b01690fad1ea088c22fd2086",
"_next/static/chunks/2b49wlharl6fd.js": "40619f8a5a03fc7479b0679717b1e5ec0dea0a1944ce77f4ce9d29d2486fdb5c",
"_next/static/chunks/2br3ad_-bc7k9.js": "80fa55f7a32db4d743fda36747c36994fde00a0f53f2eb25b2a6d07c6fb97cd7",
"_next/static/chunks/2dmc6iqxm14fz.js": "3b20898e0cde315c48d6fd46abd562269bbf73c850528a4be2cfc2b9aa0c8f5e",
"_next/static/chunks/2ftgr1rx3r0dw.js": "8866e9ef62ab057bf9923604724edbb463bbdd6dd3fcbf614585f76005874811",
"_next/static/chunks/2ghgf2s9b2iou.js": "23d8ff31e2128d0541c1887785fb75885323fea7c5d4f35826513b75c12c2ae3",
"_next/static/chunks/2itnratrnd9c5.js": "8be0b191c2d54f7233ebf2f1e169b3bfef680fa93da21c08d8c43b05c3ec174f",
"_next/static/chunks/2kpcazmi6n6mk.js": "bea0de681fceff50056bfeccc5d035aff54d20918288051cb64bb259edd250c7",
"_next/static/chunks/2s2gjr6ro25dj.js": "7489e2ac285a05b563c2bcb4eaf9274bf930f2a7385f17d6d5e6850064b88b10",
"_next/static/chunks/2u5qve004opku.js": "be388d9a6aa423082bafb4584c3facc65ddfed71bcfa5c1d06b097b408c5ff97",
"_next/static/chunks/2xkey6z2nw7xp.js": "0f25bf09513b31298148cd262507b20b5a9ca5533317168c16481c544c6ffd6f",
"_next/static/chunks/2z42el0b2mp8_.js": "86ff990ef32c90c4839583e4f1d1bcbddb165dad3141b9fcd2ecec67f4ff24b8",
"_next/static/chunks/2z9e_b61gtc22.js": "b9d717dad26828438d4ff56cabca41a8055f5eaa54420fd0aeb6b4ba7d5baa0d",
"_next/static/chunks/31n24zcvyae0y.js": "110921bad10425af1d689cb939d97be75c7c0af9c35f8b16c5ff237db6fce893",
"_next/static/chunks/324qfub45abd6.js": "77ef8e17b89234fb19a80796d5d04d3e297c459e5cb41b35b5bc78c0b10b4984",
"_next/static/chunks/32_ah983ce851.js": "0c3cd0d2a5ad789e31226a9ea0506c50016804311a58548c7784b7b45aaecd14",
"_next/static/chunks/3329nxgnx3721.js": "ceedc7c69bf0617733b65bbf9f6a682a5d53177d4e8fdb86b8982cda2175f232",
"_next/static/chunks/357yqeklh7414.js": "0192ab7198ebbe299d34a934c504dd4b562d1cccebb6e9d4c5163930c881b14c",
"_next/static/chunks/3721l8sfm8icl.js": "06b67611b3a93515a375b803b54fe7063c049824f1ebf5c7f7db8701b5091e7c",
"_next/static/chunks/3bqn9b34na0b9.js": "f1b8ebcc1b22251c33c9f3a5d11c1f893cad2da2e8744a441e790f7347aa9e73",
"_next/static/chunks/3ckk_j5ril9ag.js": "87f631dae7b648d32171e9e05a3e000753ecb54f8d3b86a4401c0e4ab4d73553",
"_next/static/chunks/3gkylew_qn7cw.js": "7e6c74c81be0c41ab433e36d65b914f62c48f332922e27f7cc953476f4dd78cb",
"_next/static/chunks/3la4obitihzpv.js": "9a5a57b46db389b98f1fd5baa86eba1a360300dae9d1ff3ffeae7bc3378135b9",
"_next/static/chunks/3q4v10rrqy40n.js": "d87ff7b7a0f07d0d92eab3876481eb686a12d9c43d8b92cbe406aefa227a11c1",
"_next/static/chunks/3u61o8t7m_jza.js": "86231c12e0f8cacc8638bed0bc4b34f645fc35e60de342dc154d3cce0c9a5afa",
"_next/static/chunks/3vu8rhjp4sv29.js": "a89673de9ad162f1a7dbb98af4027e67f84502c346abe94fb0341eff22385432",
"_next/static/chunks/40y_aqqilokr2.js": "1f5a5260316134d6bffe949400752ee6b42addf908ae714ef4ae4ebde916dddd",
"_next/static/chunks/43b5x8qjjh3ax.js": "6ee7261cf9a63e0e6ea181bbb09125e09948588b6e10b5c02727c686a6062a3a",
"_next/static/chunks/turbopack-25fzg9ay_1ss-.js": "c40f39e993a30c96d6247bb3a7b581538bb046efe8ef8ec07bea3ba32291750f",
"_next/static/k5Uv9-xecPcDM03XeUb81/_buildManifest.js": "9476e0afd3f9da68a64e6ec58631191fd3eaca62c9f5a377e7517fe9a89e59ea",
"_next/static/k5Uv9-xecPcDM03XeUb81/_clientMiddlewareManifest.js": "5483e3295dc35dfe29ea932efc85341c916f10ff78ff5b0e965e003710893a4a",
"_next/static/k5Uv9-xecPcDM03XeUb81/_ssgManifest.js": "678f6ce2cb80b1fe72fc67e7412be6e2ab6ada083111b64f7c40d35e3cba5e00",
"_not-found/__next._full.txt": "381b6b4c6b9fb38cf51eb052390a12a2b25b45e793032d67beee54c88c92881a",
"_not-found/__next._not-found/__PAGE__.txt": "76e9f4864f8bd355500a8bae9b077d4f9264678c9fcd6ec88f0809fffa7836e0",
"_not-found/__next._tree.txt": "176fea8c3bfee7c85f5f9ee1dece5d2ff6c92cebaa844b73cab1e2267ff1b9f3",
"_not-found.html": "954109e56c1cd08c8bf77822b01d4106a1ca1f47c859b27b56d4601750a0ee07",
"_not-found.txt": "381b6b4c6b9fb38cf51eb052390a12a2b25b45e793032d67beee54c88c92881a",
"favicon.ico": "8d4923e2c487805ea9f852a685b2cf0fb10512ded8290d2a5c37d1cc8fd0702a",
"favicon.svg": "63ecf8f37f8bb146ecfae3917187c6b692d4e801641e8a314486a4007912f3a3",
"index.html": "29ad9d608dd66506dbf8dc02d24d69afe92ff852644ef68d207cd0da19f52d68",
"index.txt": "7da037b1ca24971bc461e03de6e9391e21dd6d554db4c4cf8cdf21297b3ea988",
"logo192.png": "bc652031597fabd19b9f14e22a71f809490d218037521b3b64d013418c1390b4",
"logo512.png": "5129e9bc1ba812b711fd9a646d3a38a906d365a26ee685df183b8752458944d4",
"manifest.json": "2667ce63c2e0835b7007239816a5597639321d333da396a78638dfa9e8a7c935",
"mockups/dashboard.svg": "318be3adb1324c26eb30f05572a29528a3e38331c6a604652eef75b54f8c29dc",
"mockups/pipeline.svg": "db2ef41faabeb90e7ce85413e168581686c54535d970fc7d8deda3888a479de4",
"mockups/workspace.svg": "9bbab22349147c7b01d6e18c93c622a6f8aed6dedaf23715189ab54d60e1ddbd",
"robots.txt": "e5ab0d231eeb01b4a982d1c79a6729cac9797ad15a69247e4f28ba6afc149b4c"
}
}
@@ -0,0 +1,442 @@
<?xml version="1.0" encoding="utf-8"?>
<TestRun id="543dd54d-cf92-436a-be12-ed4c316f2a97" name="Connor@CESNIMDA 2026-11-03 19:36:52" runUser="Cesnimda\Connor" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Times creation="2026-11-03T19:36:52.6655627+01:00" queuing="2026-11-03T19:36:52.6655631+01:00" start="2026-11-03T19:36:48.5720372+01:00" finish="2026-11-03T19:37:04.8480589+01:00" />
<TestSettings name="default" id="6b001c56-1ad6-4b64-a5ed-1101ac2bfa36">
<Deployment runDeploymentRoot="Connor_CESNIMDA_2026-11-03_19_36_52" />
</TestSettings>
<Results>
<UnitTestResult executionId="8c5b5e3e-6b88-4129-a8c5-25ca8afabb98" testId="811715cd-47a0-c1dd-1dc7-cfb874cd9cb3" testName="JobTrackerApi.Tests.SessionsControllerTests.RevokeOthers_revokes_every_other_session_but_leaves_the_current_one_usable" computerName="CESNIMDA" duration="00:00:00.0117103" startTime="2026-11-03T19:36:53.8272847+01:00" endTime="2026-11-03T19:36:53.8272849+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="8c5b5e3e-6b88-4129-a8c5-25ca8afabb98" />
<UnitTestResult executionId="c1890c2a-1eed-4be5-89d8-7f0c88327365" testId="b9e6b511-16dc-188e-b0b4-b3c6d1ea5901" testName="JobTrackerApi.Tests.AdminProcessingControllerTests.Processing_reads_share_a_bounded_account_rate_limit" computerName="CESNIMDA" duration="00:00:00.3704136" startTime="2026-11-03T19:37:00.6851917+01:00" endTime="2026-11-03T19:37:00.6851923+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="c1890c2a-1eed-4be5-89d8-7f0c88327365" />
<UnitTestResult executionId="8b6dc4f2-d2f0-4c59-8f6c-fbf894a521fa" 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.3216283" startTime="2026-11-03T19:36:56.8166972+01:00" endTime="2026-11-03T19:36:56.8166976+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="8b6dc4f2-d2f0-4c59-8f6c-fbf894a521fa" />
<UnitTestResult executionId="53b236b9-1f0c-4bda-97ce-560f2dbfc641" 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.3266894" startTime="2026-11-03T19:36:57.5248514+01:00" endTime="2026-11-03T19:36:57.5248521+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="53b236b9-1f0c-4bda-97ce-560f2dbfc641" />
<UnitTestResult executionId="09151881-21d2-4326-a43c-38d379aa90e7" 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.9463192" startTime="2026-11-03T19:36:51.9790630+01:00" endTime="2026-11-03T19:36:51.9790637+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="09151881-21d2-4326-a43c-38d379aa90e7" />
<UnitTestResult executionId="3d166b11-e5e4-48d8-aff2-05762ae9560d" testId="f4f25456-ee0d-29ca-3483-47a23d62bba6" testName="JobTrackerApi.Tests.ApiAuthorizationPostureTests.Admin_controllers_require_the_admin_role_not_merely_a_signed_in_user" computerName="CESNIMDA" duration="00:00:00.0032809" startTime="2026-11-03T19:36:51.9436670+01:00" endTime="2026-11-03T19:36:51.9436674+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="3d166b11-e5e4-48d8-aff2-05762ae9560d" />
<UnitTestResult executionId="e41b3484-9519-4aae-8afd-ba9e539f9b27" 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.2886598" startTime="2026-11-03T19:36:54.5532612+01:00" endTime="2026-11-03T19:36:54.5532618+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="e41b3484-9519-4aae-8afd-ba9e539f9b27" />
<UnitTestResult executionId="8057b950-194c-4cb1-b1d6-fa7fb2837f9c" testId="d044b79a-5986-914c-d41a-518baadb7963" testName="JobTrackerApi.Tests.AccountDataExportTests.Account_export_requires_a_session_created_within_fifteen_minutes" computerName="CESNIMDA" duration="00:00:03.9819997" startTime="2026-11-03T19:36:55.0148289+01:00" endTime="2026-11-03T19:36:55.0148293+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="8057b950-194c-4cb1-b1d6-fa7fb2837f9c" />
<UnitTestResult executionId="44b56b4e-2968-4e4f-8771-6fecc4a150c2" testId="2e1eabfd-4621-c98f-059d-33f191976c67" testName="JobTrackerApi.Tests.SessionsControllerTests.TwoFactor_challenge_creates_a_user_session_row_on_completion" computerName="CESNIMDA" duration="00:00:02.6409119" startTime="2026-11-03T19:36:53.6737842+01:00" endTime="2026-11-03T19:36:53.6737844+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="44b56b4e-2968-4e4f-8771-6fecc4a150c2" />
<UnitTestResult executionId="c785d69f-aeb3-4bd6-bf31-588bd0e347c0" 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.5119080" startTime="2026-11-03T19:36:55.5173834+01:00" endTime="2026-11-03T19:36:55.5173844+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="c785d69f-aeb3-4bd6-bf31-588bd0e347c0" />
<UnitTestResult executionId="5f1168de-b7d8-4e8b-be1f-03dfe64f6085" testId="e559103d-3dbf-ce6f-6174-0323c94be871" testName="JobTrackerApi.Tests.AuthSessionRevocationTests.Session_validator_requires_sid_and_user_to_match_the_same_row" computerName="CESNIMDA" duration="00:00:02.5636693" startTime="2026-11-03T19:36:53.5963423+01:00" endTime="2026-11-03T19:36:53.5963427+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="5f1168de-b7d8-4e8b-be1f-03dfe64f6085" />
<UnitTestResult executionId="a62b5fd1-aa95-429a-8fee-84081339fb1b" 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.3078795" startTime="2026-11-03T19:37:01.8758221+01:00" endTime="2026-11-03T19:37:01.8758226+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="a62b5fd1-aa95-429a-8fee-84081339fb1b" />
<UnitTestResult executionId="af93fd66-4880-4840-b7d2-371f6e3d6797" 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.2430848" startTime="2026-11-03T19:37:02.1193357+01:00" endTime="2026-11-03T19:37:02.1193364+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="af93fd66-4880-4840-b7d2-371f6e3d6797" />
<UnitTestResult executionId="c17a1d3a-1698-4320-95b3-38b12c1b2d14" 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.2667201" startTime="2026-11-03T19:36:58.8019569+01:00" endTime="2026-11-03T19:36:58.8019572+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="c17a1d3a-1698-4320-95b3-38b12c1b2d14" />
<UnitTestResult executionId="7863527a-1b7f-44eb-8b60-ce4c12257b34" testId="1d05c8f0-b4f5-5979-c2ee-b89fb865b0c0" testName="JobTrackerApi.Tests.UsersControllerTests.Delete_rejects_deleting_the_final_administrator" computerName="CESNIMDA" duration="00:00:00.0061113" startTime="2026-11-03T19:36:54.5595671+01:00" endTime="2026-11-03T19:36:54.5595676+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="7863527a-1b7f-44eb-8b60-ce4c12257b34" />
<UnitTestResult executionId="f07d0729-575c-4bb1-a069-3918e64ff780" 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.3603257" startTime="2026-11-03T19:37:03.2897863+01:00" endTime="2026-11-03T19:37:03.2897866+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="f07d0729-575c-4bb1-a069-3918e64ff780" />
<UnitTestResult executionId="9e82d083-3bf5-4773-8e1f-e595d4efbe92" testId="d484bbaa-c1ab-50e5-2d49-c179ebefddee" testName="JobTrackerApi.Tests.TwoFactorControllerTests.Challenge_with_valid_totp_code_completes_sign_in" computerName="CESNIMDA" duration="00:00:00.0102180" startTime="2026-11-03T19:36:53.8536816+01:00" endTime="2026-11-03T19:36:53.8536824+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="9e82d083-3bf5-4773-8e1f-e595d4efbe92" />
<UnitTestResult executionId="3dff5ee7-9faa-4b5a-acf7-4777bc001f1a" testId="32aacf15-e389-7087-866a-a63f62c5ad1b" testName="JobTrackerApi.Tests.AuthSessionRevocationTests.Logout_best_effort_revokes_an_expired_cookie_without_an_authenticated_principal" computerName="CESNIMDA" duration="00:00:00.0870171" startTime="2026-11-03T19:36:53.9339579+01:00" endTime="2026-11-03T19:36:53.9339584+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="3dff5ee7-9faa-4b5a-acf7-4777bc001f1a" />
<UnitTestResult executionId="c6f012e2-8568-450c-b644-5efb722ed7b5" 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.2417380" startTime="2026-11-03T19:37:02.3614912+01:00" endTime="2026-11-03T19:37:02.3614914+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="c6f012e2-8568-450c-b644-5efb722ed7b5" />
<UnitTestResult executionId="d5557621-d57e-4b3e-a628-b4afcfac8399" testId="779e2ed4-8fe8-b1c3-9d65-a1c3f97de65f" testName="JobTrackerApi.Tests.AccountDataExportTests.Readable_zip_is_complete_checksummed_owner_isolated_and_redacted" computerName="CESNIMDA" duration="00:00:00.8616868" startTime="2026-11-03T19:36:55.8777801+01:00" endTime="2026-11-03T19:36:55.8777805+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="d5557621-d57e-4b3e-a628-b4afcfac8399" />
<UnitTestResult executionId="2fb373cf-32dc-490e-975b-c723417802a2" 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.5468021" startTime="2026-11-03T19:36:56.4944496+01:00" endTime="2026-11-03T19:36:56.4944500+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="2fb373cf-32dc-490e-975b-c723417802a2" />
<UnitTestResult executionId="90c526e9-4ba8-4357-bc9e-92ac8a0cc141" testId="0a75f3cb-7d09-99b1-2e39-a35c68f98968" testName="JobTrackerApi.Tests.TwoFactorControllerTests.Setup_then_verify_with_correct_code_enables_2fa_and_returns_recovery_codes" computerName="CESNIMDA" duration="00:00:02.5867113" startTime="2026-11-03T19:36:53.6194452+01:00" endTime="2026-11-03T19:36:53.6194465+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="90c526e9-4ba8-4357-bc9e-92ac8a0cc141" />
<UnitTestResult executionId="0673d87e-1df5-4b1d-9f14-5729b14a2a09" testId="e7dde882-9dbd-fe9b-1c50-f8b697c75f1a" testName="JobTrackerApi.Tests.ApiAuthorizationPostureTests.Every_action_on_the_mixed_auth_controllers_declares_its_own_intent" computerName="CESNIMDA" duration="00:00:00.0022356" startTime="2026-11-03T19:36:51.9461032+01:00" endTime="2026-11-03T19:36:51.9461036+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="0673d87e-1df5-4b1d-9f14-5729b14a2a09" />
<UnitTestResult executionId="2442a86c-a74b-492a-b2dc-8295ca20006c" testId="a6518151-ac5c-524e-92da-8332dad6bdbb" testName="JobTrackerApi.Tests.AccountDataExportTests.Account_export_is_rate_limited" computerName="CESNIMDA" duration="00:00:00.0005130" startTime="2026-11-03T19:36:55.0154403+01:00" endTime="2026-11-03T19:36:55.0154406+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="2442a86c-a74b-492a-b2dc-8295ca20006c" />
<UnitTestResult executionId="4971ef52-54d5-47e1-be81-16c72743faad" testId="b8f46cd4-f2a5-f097-e27f-3affe2027882" testName="JobTrackerApi.Tests.SessionsControllerTests.LocalSessionValidator_rejects_a_token_with_no_sid_claim" computerName="CESNIMDA" duration="00:00:00.0006778" startTime="2026-11-03T19:36:53.8388652+01:00" endTime="2026-11-03T19:36:53.8388663+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="4971ef52-54d5-47e1-be81-16c72743faad" />
<UnitTestResult executionId="af7588be-4023-41ab-858a-18dfeee9430f" testId="c00a81b0-f7f1-eb06-24f9-4006c08ebd54" testName="JobTrackerApi.Tests.AuthSessionRevocationTests.Password_change_rotates_the_session_and_keeps_only_the_current_trusted_device" computerName="CESNIMDA" duration="00:00:00.0412435" startTime="2026-11-03T19:36:53.8467398+01:00" endTime="2026-11-03T19:36:53.8467401+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="af7588be-4023-41ab-858a-18dfeee9430f" />
<UnitTestResult executionId="fa581f3b-7a8c-40bc-831e-d71d7340292b" testId="b069a367-2cbf-d37f-5287-950c362c5164" testName="JobTrackerApi.Tests.SessionsControllerTests.List_returns_only_the_callers_own_active_sessions" computerName="CESNIMDA" duration="00:00:00.0107177" startTime="2026-11-03T19:36:53.8380703+01:00" endTime="2026-11-03T19:36:53.8380709+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="fa581f3b-7a8c-40bc-831e-d71d7340292b" />
<UnitTestResult executionId="675dc708-f92a-409c-a447-93b682f82f0d" testId="a567652f-e534-e420-c70b-91c31c5e4264" testName="JobTrackerApi.Tests.SessionsControllerTests.Revoke_enforces_ownership_and_blocks_a_subsequent_request_using_that_sessions_token" computerName="CESNIMDA" duration="00:00:00.0873934" startTime="2026-11-03T19:36:53.8040202+01:00" endTime="2026-11-03T19:36:53.8040205+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="675dc708-f92a-409c-a447-93b682f82f0d" />
<UnitTestResult executionId="b9e60944-2f77-4022-858b-86de70f5f944" 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:03.9670839" startTime="2026-11-03T19:36:55.0038816+01:00" endTime="2026-11-03T19:36:55.0038827+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="b9e60944-2f77-4022-858b-86de70f5f944" />
<UnitTestResult executionId="49f5051e-4c27-4e71-9f78-a5eeba8ff22a" testId="816e3003-dfa8-7268-d543-c991372b114d" testName="JobTrackerApi.Tests.TwoFactorControllerTests.Challenge_with_unknown_pending_token_is_rejected" computerName="CESNIMDA" duration="00:00:00.0023758" startTime="2026-11-03T19:36:53.6220052+01:00" endTime="2026-11-03T19:36:53.6220058+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="49f5051e-4c27-4e71-9f78-a5eeba8ff22a" />
<UnitTestResult executionId="8f2ff498-3935-4b9d-b20f-2ae8e2eed509" 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.0136384" startTime="2026-11-03T19:36:52.0084065+01:00" endTime="2026-11-03T19:36:52.0084070+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="8f2ff498-3935-4b9d-b20f-2ae8e2eed509" />
<UnitTestResult executionId="26714290-6b58-47ca-a025-8bd570c0cadf" 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.3297992" startTime="2026-11-03T19:36:59.1322854+01:00" endTime="2026-11-03T19:36:59.1322857+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="26714290-6b58-47ca-a025-8bd570c0cadf" />
<UnitTestResult executionId="52d2407e-7d30-470b-b900-f29493b00887" 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.5524532" startTime="2026-11-03T19:37:04.6735728+01:00" endTime="2026-11-03T19:37:04.6735735+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="52d2407e-7d30-470b-b900-f29493b00887" />
<UnitTestResult executionId="d94dbadb-25a0-48cd-893c-9d84e01bb11b" testId="5c11c8bf-6b3e-8d84-fbeb-c90b49b4f37a" testName="JobTrackerApi.Tests.SessionsControllerTests.LocalSessionValidator_rejects_an_expired_session" computerName="CESNIMDA" duration="00:00:00.0013845" startTime="2026-11-03T19:36:53.8061644+01:00" endTime="2026-11-03T19:36:53.8061647+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="d94dbadb-25a0-48cd-893c-9d84e01bb11b" />
<UnitTestResult executionId="0a874f65-6ae7-4ee7-8a4f-223e0d0599dc" testId="fd2553a8-50d5-ecf3-5513-f884a32acc75" testName="JobTrackerApi.Tests.ApiAuthorizationPostureTests.Every_controller_either_requires_authorization_or_is_listed_as_public" computerName="CESNIMDA" duration="00:00:00.0041425" startTime="2026-11-03T19:36:51.9401736+01:00" endTime="2026-11-03T19:36:51.9401741+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="0a874f65-6ae7-4ee7-8a4f-223e0d0599dc" />
<UnitTestResult executionId="2f6a5c02-cb8e-4edb-8900-92090daf4485" testId="9e050f47-50a9-9f5b-1d85-26726f8b830d" testName="JobTrackerApi.Tests.SessionsControllerTests.Register_creates_a_user_session_row_when_it_completes_sign_in" computerName="CESNIMDA" duration="00:00:00.0424825" startTime="2026-11-03T19:36:53.7165126+01:00" endTime="2026-11-03T19:36:53.7165129+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="2f6a5c02-cb8e-4edb-8900-92090daf4485" />
<UnitTestResult executionId="c6f5fa23-4595-4491-bcac-eb5cdd06af2c" 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.3190019" startTime="2026-11-03T19:37:04.1205079+01:00" endTime="2026-11-03T19:37:04.1205095+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="c6f5fa23-4595-4491-bcac-eb5cdd06af2c" />
<UnitTestResult executionId="c0a452ce-bc45-4e8f-ac09-573a694a8c3a" testId="39824df1-8c70-de08-b4d5-78902eb85b38" testName="JobTrackerApi.Tests.ApiAuthorizationPostureTests.The_user_owned_controllers_that_used_to_rely_on_the_fallback_policy_are_now_explicit" computerName="CESNIMDA" duration="00:00:00.0073201" startTime="2026-11-03T19:36:51.9356966+01:00" endTime="2026-11-03T19:36:51.9356976+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="c0a452ce-bc45-4e8f-ac09-573a694a8c3a" />
<UnitTestResult executionId="660321ca-aa50-4ea3-b4e1-1f48f2a71452" 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.3559378" startTime="2026-11-03T19:36:58.2462469+01:00" endTime="2026-11-03T19:36:58.2462471+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="660321ca-aa50-4ea3-b4e1-1f48f2a71452" />
<UnitTestResult executionId="5e3c533a-44fc-4b3b-a915-c3499fdfdfb0" testId="c651e3b0-51fd-2e41-a5cf-eaf4190ef276" testName="JobTrackerApi.Tests.AuthSessionRevocationTests.Password_reset_revokes_all_target_sessions_and_trusted_devices_but_preserves_two_factor" computerName="CESNIMDA" duration="00:00:00.0236876" startTime="2026-11-03T19:36:53.9897337+01:00" endTime="2026-11-03T19:36:53.9897341+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="5e3c533a-44fc-4b3b-a915-c3499fdfdfb0" />
<UnitTestResult executionId="edcb9161-3f94-4512-8921-643943599277" 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.3001105" startTime="2026-11-03T19:37:00.3139965+01:00" endTime="2026-11-03T19:37:00.3139971+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="edcb9161-3f94-4512-8921-643943599277" />
<UnitTestResult executionId="005e59c9-cf56-40a7-9ca0-f5fb1b26a734" 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.3643454" startTime="2026-11-03T19:36:57.8897677+01:00" endTime="2026-11-03T19:36:57.8897680+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="005e59c9-cf56-40a7-9ca0-f5fb1b26a734" />
<UnitTestResult executionId="50997746-1047-4f14-aa42-76d569e13dec" 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.3805701" startTime="2026-11-03T19:36:57.1976646+01:00" endTime="2026-11-03T19:36:57.1976650+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="50997746-1047-4f14-aa42-76d569e13dec" />
<UnitTestResult executionId="770b0203-97ae-4f3f-b374-d925f77327c9" testId="c306a523-edb1-3483-b9d9-2894e7823843" testName="JobTrackerApi.Tests.UsersControllerTests.Delete_never_falls_back_to_identity_only_removal" computerName="CESNIMDA" duration="00:00:00.0153031" startTime="2026-11-03T19:36:51.9945786+01:00" endTime="2026-11-03T19:36:51.9945792+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="770b0203-97ae-4f3f-b374-d925f77327c9" />
<UnitTestResult executionId="91b06ee6-1e58-406f-891b-6a22026754b1" 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.2847856" startTime="2026-11-03T19:37:02.9289500+01:00" endTime="2026-11-03T19:37:02.9289504+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="91b06ee6-1e58-406f-891b-6a22026754b1" />
<UnitTestResult executionId="8439b121-1461-45e7-83e6-7e8530b23782" testId="d1bcf14d-0120-eaa5-c023-78fbafc535af" testName="JobTrackerApi.Tests.TwoFactorControllerTests.Disable_with_wrong_password_is_rejected" computerName="CESNIMDA" duration="00:00:00.0059859" startTime="2026-11-03T19:36:53.6283455+01:00" endTime="2026-11-03T19:36:53.6283458+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="8439b121-1461-45e7-83e6-7e8530b23782" />
<UnitTestResult executionId="fd40bd80-90d1-42c5-b709-9c28cfba5ac9" testId="7735a82a-1299-2185-0d4a-22577eac5bda" testName="JobTrackerApi.Tests.ApiAuthorizationPostureTests.The_public_cv_controller_stays_anonymous" computerName="CESNIMDA" duration="00:00:00.8924357" startTime="2026-11-03T19:36:51.9284137+01:00" endTime="2026-11-03T19:36:51.9284367+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="fd40bd80-90d1-42c5-b709-9c28cfba5ac9" />
<UnitTestResult executionId="8e767f6f-8088-4520-a2ed-1a8e829d6e3e" testId="97ec8920-5827-6f9c-2b63-37a4e888d28f" testName="JobTrackerApi.Tests.SessionsControllerTests.Login_creates_a_user_session_row_and_threads_its_id_into_the_token" computerName="CESNIMDA" duration="00:00:00.0097767" startTime="2026-11-03T19:36:53.8153515+01:00" endTime="2026-11-03T19:36:53.8153518+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="8e767f6f-8088-4520-a2ed-1a8e829d6e3e" />
<UnitTestResult executionId="00293cd3-de4b-4cb0-9464-5a1b978346ef" testId="76cd4cee-0aef-5769-359a-4daef2151107" testName="JobTrackerApi.Tests.TwoFactorControllerTests.Challenge_with_recovery_code_consumes_it_and_rejects_reuse" computerName="CESNIMDA" duration="00:00:00.0350139" startTime="2026-11-03T19:36:53.7323012+01:00" endTime="2026-11-03T19:36:53.7323022+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="00293cd3-de4b-4cb0-9464-5a1b978346ef" />
<UnitTestResult executionId="77606ebf-a9bd-405a-9c0a-c1835c77d191" testId="a88e9f0f-4d46-d781-b335-cf25a24afff7" testName="JobTrackerApi.Tests.TwoFactorControllerTests.Challenge_without_trust_device_does_not_create_trusted_device" computerName="CESNIMDA" duration="00:00:00.0550789" startTime="2026-11-03T19:36:53.6837105+01:00" endTime="2026-11-03T19:36:53.6837119+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="77606ebf-a9bd-405a-9c0a-c1835c77d191" />
<UnitTestResult executionId="4f885c24-4b73-440d-b174-dceba01dab21" testId="aa87bb5b-2b89-868b-47a2-39dc87ec48cf" testName="JobTrackerApi.Tests.UsersControllerTests.SetRoles_rejects_removing_the_final_administrator" computerName="CESNIMDA" duration="00:00:00.0047884" startTime="2026-11-03T19:36:54.2643375+01:00" endTime="2026-11-03T19:36:54.2643381+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="4f885c24-4b73-440d-b174-dceba01dab21" />
<UnitTestResult executionId="912d9a9c-160c-44e6-b591-b013030527f2" 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.3774026" startTime="2026-11-03T19:37:01.0629170+01:00" endTime="2026-11-03T19:37:01.0629176+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="912d9a9c-160c-44e6-b591-b013030527f2" />
<UnitTestResult executionId="e45bff14-e2a8-408d-8e5d-58e709a9d7b3" testId="822738c0-7263-105c-c7a3-7287bfc84f37" testName="JobTrackerApi.Tests.AuthSessionRevocationTests.Session_validator_rejects_an_account_pending_deletion" computerName="CESNIMDA" duration="00:00:00.0021896" startTime="2026-11-03T19:36:53.8034299+01:00" endTime="2026-11-03T19:36:53.8034301+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="e45bff14-e2a8-408d-8e5d-58e709a9d7b3" />
<UnitTestResult executionId="92cae6af-55b9-4ea2-8c73-8d65338be663" 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.4274655" startTime="2026-11-03T19:36:55.9464906+01:00" endTime="2026-11-03T19:36:55.9464918+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="92cae6af-55b9-4ea2-8c73-8d65338be663" />
<UnitTestResult executionId="a151b574-aacc-4c04-bd08-86c6a416f46e" 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.2944771" startTime="2026-11-03T19:36:59.4272807+01:00" endTime="2026-11-03T19:36:59.4272820+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="a151b574-aacc-4c04-bd08-86c6a416f46e" />
<UnitTestResult executionId="7ff0a76c-0bb2-4546-b4b3-4d298ed7425c" testId="ac07d402-750e-5b2a-1f18-bdbcfd79741f" testName="JobTrackerApi.Tests.AuthSessionRevocationTests.Logout_revokes_the_exact_session_and_a_copied_principal_stops_working" computerName="CESNIMDA" duration="00:00:00.0317210" startTime="2026-11-03T19:36:53.9660509+01:00" endTime="2026-11-03T19:36:53.9660514+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="7ff0a76c-0bb2-4546-b4b3-4d298ed7425c" />
<UnitTestResult executionId="f5a5166e-365c-4c45-8a7a-748a3791d713" 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.5098463" startTime="2026-11-03T19:37:03.8004166+01:00" endTime="2026-11-03T19:37:03.8004169+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="f5a5166e-365c-4c45-8a7a-748a3791d713" />
<UnitTestResult executionId="65fcac94-f2bd-4020-a9ff-2ff065aea5a5" testId="96738a1a-a206-81ed-d93b-a35bcdcf8da7" testName="JobTrackerApi.Tests.TwoFactorControllerTests.Trusted_devices_can_be_listed_revoked_and_revoked_in_bulk_scoped_to_owner" computerName="CESNIMDA" duration="00:00:00.0793119" startTime="2026-11-03T19:36:53.8432936+01:00" endTime="2026-11-03T19:36:53.8432939+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="65fcac94-f2bd-4020-a9ff-2ff065aea5a5" />
<UnitTestResult executionId="74c74439-6f49-4b64-b8f0-e249bd9b2fc4" testId="d077a711-68af-18dd-b1f4-2f8b79f50253" testName="JobTrackerApi.Tests.AuthSessionRevocationTests.Password_security_stamp_change_invalidates_a_pending_two_factor_challenge" computerName="CESNIMDA" duration="00:00:00.0018044" startTime="2026-11-03T19:36:53.8053580+01:00" endTime="2026-11-03T19:36:53.8053582+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="74c74439-6f49-4b64-b8f0-e249bd9b2fc4" />
<UnitTestResult executionId="49d35fbe-08e4-4047-b6eb-9ebd7c31f52f" testId="ba0da408-71da-37ae-bf26-9a719966e64f" testName="JobTrackerApi.Tests.TwoFactorControllerTests.Challenge_with_trust_device_true_creates_trusted_device_and_sets_cookie" computerName="CESNIMDA" duration="00:00:00.0314020" startTime="2026-11-03T19:36:53.7638403+01:00" endTime="2026-11-03T19:36:53.7638407+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="49d35fbe-08e4-4047-b6eb-9ebd7c31f52f" />
<UnitTestResult executionId="5947b5fd-69e6-4f36-b18f-0c27c24335e5" 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.2541271" startTime="2026-11-03T19:37:01.5674724+01:00" endTime="2026-11-03T19:37:01.5674727+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="5947b5fd-69e6-4f36-b18f-0c27c24335e5" />
<UnitTestResult executionId="4e5bb025-60d0-45e7-b270-13e020c05d42" testId="3a3b5a1e-a289-cbf2-1ddf-19df428ac764" testName="JobTrackerApi.Tests.AuthSessionRevocationTests.Session_validator_rejects_an_unconfirmed_account_when_verification_is_required" computerName="CESNIMDA" duration="00:00:00.2045213" startTime="2026-11-03T19:36:53.8010665+01:00" endTime="2026-11-03T19:36:53.8010668+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="4e5bb025-60d0-45e7-b270-13e020c05d42" />
<UnitTestResult executionId="b6c462dd-03c6-4941-9830-3156c8f64ba4" 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.2814385" startTime="2026-11-03T19:37:02.6436791+01:00" endTime="2026-11-03T19:37:02.6436795+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="b6c462dd-03c6-4941-9830-3156c8f64ba4" />
<UnitTestResult executionId="ff3f55bf-7aa0-496d-b9c4-77f8a3f474f6" testId="32c56667-1720-3596-61ec-a84c2c1a0741" testName="JobTrackerApi.Tests.TwoFactorControllerTests.Verify_setup_with_wrong_code_is_rejected_and_does_not_enable_2fa" computerName="CESNIMDA" duration="00:00:00.0132296" startTime="2026-11-03T19:36:53.6971428+01:00" endTime="2026-11-03T19:36:53.6971431+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="ff3f55bf-7aa0-496d-b9c4-77f8a3f474f6" />
<UnitTestResult executionId="6209858e-1d10-4312-a891-f3f728670cdd" 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.2881429" startTime="2026-11-03T19:36:58.5348132+01:00" endTime="2026-11-03T19:36:58.5348135+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="6209858e-1d10-4312-a891-f3f728670cdd" />
<UnitTestResult executionId="53ae69df-7e0d-40c0-8b71-95be1571fe53" 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:02.2505677" startTime="2026-11-03T19:36:54.2592133+01:00" endTime="2026-11-03T19:36:54.2592153+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="53ae69df-7e0d-40c0-8b71-95be1571fe53" />
<UnitTestResult executionId="dbed89d9-76a4-4b5f-889c-275839b4db9c" 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.2849883" startTime="2026-11-03T19:36:59.7127430+01:00" endTime="2026-11-03T19:36:59.7127434+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="dbed89d9-76a4-4b5f-889c-275839b4db9c" />
<UnitTestResult executionId="b31e76b4-ffa4-4858-8526-4de5c576ff22" 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.2995010" startTime="2026-11-03T19:37:00.0130282+01:00" endTime="2026-11-03T19:37:00.0130287+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="b31e76b4-ffa4-4858-8526-4de5c576ff22" />
<UnitTestResult executionId="6a4b82a9-4269-4ff6-b618-2a55c9ee6453" 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.2492636" startTime="2026-11-03T19:37:01.3128713+01:00" endTime="2026-11-03T19:37:01.3128717+01:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="6a4b82a9-4269-4ff6-b618-2a55c9ee6453" />
</Results>
<TestDefinitions>
<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\debug\net9.0\jobtrackerapi.tests.dll" id="84f7e997-d635-149a-68bc-b02e9fcddd2d">
<Execution id="edcb9161-3f94-4512-8921-643943599277" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.SessionsControllerTests.Login_creates_a_user_session_row_and_threads_its_id_into_the_token" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="97ec8920-5827-6f9c-2b63-37a4e888d28f">
<Execution id="8e767f6f-8088-4520-a2ed-1a8e829d6e3e" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.SessionsControllerTests" name="Login_creates_a_user_session_row_and_threads_its_id_into_the_token" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AccountDataExportTests.Account_export_requires_a_session_created_within_fifteen_minutes" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="d044b79a-5986-914c-d41a-518baadb7963">
<Execution id="8057b950-194c-4cb1-b1d6-fa7fb2837f9c" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AccountDataExportTests" name="Account_export_requires_a_session_created_within_fifteen_minutes" />
</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\debug\net9.0\jobtrackerapi.tests.dll" id="5e6c8ff2-b0d7-8172-d7f7-7a4377ce492f">
<Execution id="f07d0729-575c-4bb1-a069-3918e64ff780" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.TwoFactorControllerTests.Disable_with_wrong_password_is_rejected" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="d1bcf14d-0120-eaa5-c023-78fbafc535af">
<Execution id="8439b121-1461-45e7-83e6-7e8530b23782" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.TwoFactorControllerTests" name="Disable_with_wrong_password_is_rejected" />
</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\debug\net9.0\jobtrackerapi.tests.dll" id="6e346171-7903-22b0-1ca1-205bad580edd">
<Execution id="af93fd66-4880-4840-b7d2-371f6e3d6797" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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\debug\net9.0\jobtrackerapi.tests.dll" id="47c8243a-256a-9cd2-b778-0c1e655f34b2">
<Execution id="50997746-1047-4f14-aa42-76d569e13dec" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.TwoFactorControllerTests.Challenge_with_trust_device_true_creates_trusted_device_and_sets_cookie" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="ba0da408-71da-37ae-bf26-9a719966e64f">
<Execution id="49d35fbe-08e4-4047-b6eb-9ebd7c31f52f" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.TwoFactorControllerTests" name="Challenge_with_trust_device_true_creates_trusted_device_and_sets_cookie" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.ApiAuthorizationPostureTests.The_public_cv_controller_stays_anonymous" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="7735a82a-1299-2185-0d4a-22577eac5bda">
<Execution id="fd40bd80-90d1-42c5-b709-9c28cfba5ac9" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApiAuthorizationPostureTests" name="The_public_cv_controller_stays_anonymous" />
</UnitTest>
<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\debug\net9.0\jobtrackerapi.tests.dll" id="74c020c1-6f43-8b47-6887-592371457b96">
<Execution id="f5a5166e-365c-4c45-8a7a-748a3791d713" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.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\debug\net9.0\jobtrackerapi.tests.dll" id="cc37b055-0622-5c79-604c-d07a5ef838f8">
<Execution id="6209858e-1d10-4312-a891-f3f728670cdd" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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\debug\net9.0\jobtrackerapi.tests.dll" id="ba5e704b-ca66-a258-1f80-cf0cc45d1215">
<Execution id="912d9a9c-160c-44e6-b591-b013030527f2" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.Invalid_diagnostic_filters_fail_closed(query: &quot;worker=SECRET&quot;)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="ee5f8413-131e-d373-5831-cf9def629bf1">
<Execution id="6a4b82a9-4269-4ff6-b618-2a55c9ee6453" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.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\debug\net9.0\jobtrackerapi.tests.dll" id="f94b62f1-217b-7b58-433f-78fa92c3b291">
<Execution id="a62b5fd1-aa95-429a-8fee-84081339fb1b" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.UsersControllerTests.Delete_never_falls_back_to_identity_only_removal" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="c306a523-edb1-3483-b9d9-2894e7823843">
<Execution id="770b0203-97ae-4f3f-b374-d925f77327c9" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.AuthSessionRevocationTests.Password_security_stamp_change_invalidates_a_pending_two_factor_challenge" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="d077a711-68af-18dd-b1f4-2f8b79f50253">
<Execution id="74c74439-6f49-4b64-b8f0-e249bd9b2fc4" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AuthSessionRevocationTests" name="Password_security_stamp_change_invalidates_a_pending_two_factor_challenge" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AuthSessionRevocationTests.Logout_best_effort_revokes_an_expired_cookie_without_an_authenticated_principal" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="32aacf15-e389-7087-866a-a63f62c5ad1b">
<Execution id="3dff5ee7-9faa-4b5a-acf7-4777bc001f1a" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AuthSessionRevocationTests" name="Logout_best_effort_revokes_an_expired_cookie_without_an_authenticated_principal" />
</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\debug\net9.0\jobtrackerapi.tests.dll" id="a7460ecd-2dcf-3c01-9f4f-b564984877a7">
<Execution id="c6f5fa23-4595-4491-bcac-eb5cdd06af2c" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.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\debug\net9.0\jobtrackerapi.tests.dll" id="49384e74-fc74-cc87-a819-9b1ba4a72e05">
<Execution id="8f2ff498-3935-4b9d-b20f-2ae8e2eed509" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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>
<UnitTest name="JobTrackerApi.Tests.AuthSessionRevocationTests.Password_change_rotates_the_session_and_keeps_only_the_current_trusted_device" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="c00a81b0-f7f1-eb06-24f9-4006c08ebd54">
<Execution id="af7588be-4023-41ab-858a-18dfeee9430f" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AuthSessionRevocationTests" name="Password_change_rotates_the_session_and_keeps_only_the_current_trusted_device" />
</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\debug\net9.0\jobtrackerapi.tests.dll" id="eff0c740-5766-74d7-2b54-9a9d370feaf4">
<Execution id="a151b574-aacc-4c04-bd08-86c6a416f46e" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.SessionsControllerTests.List_returns_only_the_callers_own_active_sessions" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="b069a367-2cbf-d37f-5287-950c362c5164">
<Execution id="fa581f3b-7a8c-40bc-831e-d71d7340292b" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.SessionsControllerTests" name="List_returns_only_the_callers_own_active_sessions" />
</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\debug\net9.0\jobtrackerapi.tests.dll" id="1cb270c5-b90d-5d22-75bd-18446f0697ab">
<Execution id="c785d69f-aeb3-4bd6-bf31-588bd0e347c0" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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\debug\net9.0\jobtrackerapi.tests.dll" id="1d05c8f0-b4f5-5979-c2ee-b89fb865b0c0">
<Execution id="7863527a-1b7f-44eb-8b60-ce4c12257b34" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.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\debug\net9.0\jobtrackerapi.tests.dll" id="60b6bfd7-91ef-c23f-ffe4-217e3ea1388b">
<Execution id="09151881-21d2-4326-a43c-38d379aa90e7" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.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\debug\net9.0\jobtrackerapi.tests.dll" id="c290d6c2-2e12-8508-613f-1faef3e1e045">
<Execution id="53ae69df-7e0d-40c0-8b71-95be1571fe53" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.AuthSessionRevocationTests.Password_reset_revokes_all_target_sessions_and_trusted_devices_but_preserves_two_factor" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="c651e3b0-51fd-2e41-a5cf-eaf4190ef276">
<Execution id="5e3c533a-44fc-4b3b-a915-c3499fdfdfb0" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AuthSessionRevocationTests" name="Password_reset_revokes_all_target_sessions_and_trusted_devices_but_preserves_two_factor" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.TwoFactorControllerTests.Challenge_with_recovery_code_consumes_it_and_rejects_reuse" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="76cd4cee-0aef-5769-359a-4daef2151107">
<Execution id="00293cd3-de4b-4cb0-9464-5a1b978346ef" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.TwoFactorControllerTests" name="Challenge_with_recovery_code_consumes_it_and_rejects_reuse" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.ApiAuthorizationPostureTests.Every_action_on_the_mixed_auth_controllers_declares_its_own_intent" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="e7dde882-9dbd-fe9b-1c50-f8b697c75f1a">
<Execution id="0673d87e-1df5-4b1d-9f14-5729b14a2a09" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApiAuthorizationPostureTests" name="Every_action_on_the_mixed_auth_controllers_declares_its_own_intent" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.SessionsControllerTests.LocalSessionValidator_rejects_an_expired_session" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="5c11c8bf-6b3e-8d84-fbeb-c90b49b4f37a">
<Execution id="d94dbadb-25a0-48cd-893c-9d84e01bb11b" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.SessionsControllerTests" name="LocalSessionValidator_rejects_an_expired_session" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AuthSessionRevocationTests.Session_validator_rejects_an_unconfirmed_account_when_verification_is_required" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="3a3b5a1e-a289-cbf2-1ddf-19df428ac764">
<Execution id="4e5bb025-60d0-45e7-b270-13e020c05d42" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AuthSessionRevocationTests" name="Session_validator_rejects_an_unconfirmed_account_when_verification_is_required" />
</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\debug\net9.0\jobtrackerapi.tests.dll" id="70049eab-88eb-4514-024e-9b688c008eef">
<Execution id="b9e60944-2f77-4022-858b-86de70f5f944" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.SessionsControllerTests.LocalSessionValidator_rejects_a_token_with_no_sid_claim" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="b8f46cd4-f2a5-f097-e27f-3affe2027882">
<Execution id="4971ef52-54d5-47e1-be81-16c72743faad" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.SessionsControllerTests" name="LocalSessionValidator_rejects_a_token_with_no_sid_claim" />
</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\debug\net9.0\jobtrackerapi.tests.dll" id="369cf2cd-6a6b-3b6b-6836-0b22e26fda39">
<Execution id="52d2407e-7d30-470b-b900-f29493b00887" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.TwoFactorControllerTests.Trusted_devices_can_be_listed_revoked_and_revoked_in_bulk_scoped_to_owner" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="96738a1a-a206-81ed-d93b-a35bcdcf8da7">
<Execution id="65fcac94-f2bd-4020-a9ff-2ff065aea5a5" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.TwoFactorControllerTests" name="Trusted_devices_can_be_listed_revoked_and_revoked_in_bulk_scoped_to_owner" />
</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\debug\net9.0\jobtrackerapi.tests.dll" id="e8ec61a8-3045-28f2-d1c2-1d24f4b43888">
<Execution id="660321ca-aa50-4ea3-b4e1-1f48f2a71452" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.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\debug\net9.0\jobtrackerapi.tests.dll" id="c6411e65-2573-9b0a-b091-546a25c749e9">
<Execution id="b6c462dd-03c6-4941-9830-3156c8f64ba4" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.AccountDataExportTests.Account_export_is_rate_limited" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="a6518151-ac5c-524e-92da-8332dad6bdbb">
<Execution id="2442a86c-a74b-492a-b2dc-8295ca20006c" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AccountDataExportTests" name="Account_export_is_rate_limited" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AccountDataExportTests.Readable_zip_is_complete_checksummed_owner_isolated_and_redacted" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="779e2ed4-8fe8-b1c3-9d65-a1c3f97de65f">
<Execution id="d5557621-d57e-4b3e-a628-b4afcfac8399" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AccountDataExportTests" name="Readable_zip_is_complete_checksummed_owner_isolated_and_redacted" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.TwoFactorControllerTests.Setup_then_verify_with_correct_code_enables_2fa_and_returns_recovery_codes" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="0a75f3cb-7d09-99b1-2e39-a35c68f98968">
<Execution id="90c526e9-4ba8-4357-bc9e-92ac8a0cc141" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.TwoFactorControllerTests" name="Setup_then_verify_with_correct_code_enables_2fa_and_returns_recovery_codes" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.ApiAuthorizationPostureTests.Every_controller_either_requires_authorization_or_is_listed_as_public" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="fd2553a8-50d5-ecf3-5513-f884a32acc75">
<Execution id="0a874f65-6ae7-4ee7-8a4f-223e0d0599dc" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApiAuthorizationPostureTests" name="Every_controller_either_requires_authorization_or_is_listed_as_public" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.ApiAuthorizationPostureTests.Admin_controllers_require_the_admin_role_not_merely_a_signed_in_user" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="f4f25456-ee0d-29ca-3483-47a23d62bba6">
<Execution id="3d166b11-e5e4-48d8-aff2-05762ae9560d" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApiAuthorizationPostureTests" name="Admin_controllers_require_the_admin_role_not_merely_a_signed_in_user" />
</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\debug\net9.0\jobtrackerapi.tests.dll" id="4d32ba02-105a-512c-8d73-cbe2ab1e1f04">
<Execution id="53b236b9-1f0c-4bda-97ce-560f2dbfc641" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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=document&quot;, expected: 1)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="925a248b-9a4e-193d-bb27-e3e23b1e39da">
<Execution id="dbed89d9-76a4-4b5f-889c-275839b4db9c" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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;createdFrom=2099-01-01T00:00:00Z&quot;)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="812d5d43-7e52-ce08-7556-5a43f9ffdac0">
<Execution id="005e59c9-cf56-40a7-9ca0-f5fb1b26a734" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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;jobId=-1&quot;)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="dea07b3b-d253-0f24-49a5-19cddbb41e3d">
<Execution id="c6f012e2-8568-450c-b644-5efb722ed7b5" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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_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\debug\net9.0\jobtrackerapi.tests.dll" id="1942bf4b-fda0-7b4a-34e9-25989c8770bd">
<Execution id="26714290-6b58-47ca-a025-8bd570c0cadf" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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;worker=ai&quot;, expected: 2)" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="44ff09f3-f13f-afad-c8bf-307264ed7dc8">
<Execution id="b31e76b4-ffa4-4858-8526-4de5c576ff22" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.SessionsControllerTests.Register_creates_a_user_session_row_when_it_completes_sign_in" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="9e050f47-50a9-9f5b-1d85-26726f8b830d">
<Execution id="2f6a5c02-cb8e-4edb-8900-92090daf4485" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.SessionsControllerTests" name="Register_creates_a_user_session_row_when_it_completes_sign_in" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.TwoFactorControllerTests.Challenge_without_trust_device_does_not_create_trusted_device" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="a88e9f0f-4d46-d781-b335-cf25a24afff7">
<Execution id="77606ebf-a9bd-405a-9c0a-c1835c77d191" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.TwoFactorControllerTests" name="Challenge_without_trust_device_does_not_create_trusted_device" />
</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\debug\net9.0\jobtrackerapi.tests.dll" id="07351a69-1a47-c2e2-c18a-4769689406b0">
<Execution id="92cae6af-55b9-4ea2-8c73-8d65338be663" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.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\debug\net9.0\jobtrackerapi.tests.dll" id="a55b51f5-22e2-c043-4279-8e10e60d7349">
<Execution id="e41b3484-9519-4aae-8afd-ba9e539f9b27" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.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\debug\net9.0\jobtrackerapi.tests.dll" id="4bd6fee0-c227-757a-f276-68c01ee512d8">
<Execution id="8b6dc4f2-d2f0-4c59-8f6c-fbf894a521fa" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.SessionsControllerTests.TwoFactor_challenge_creates_a_user_session_row_on_completion" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="2e1eabfd-4621-c98f-059d-33f191976c67">
<Execution id="44b56b4e-2968-4e4f-8771-6fecc4a150c2" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.SessionsControllerTests" name="TwoFactor_challenge_creates_a_user_session_row_on_completion" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AuthSessionRevocationTests.Session_validator_rejects_an_account_pending_deletion" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="822738c0-7263-105c-c7a3-7287bfc84f37">
<Execution id="e45bff14-e2a8-408d-8e5d-58e709a9d7b3" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AuthSessionRevocationTests" name="Session_validator_rejects_an_account_pending_deletion" />
</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\debug\net9.0\jobtrackerapi.tests.dll" id="e371116d-e426-f109-65b7-9aacdf55f26c">
<Execution id="2fb373cf-32dc-490e-975b-c723417802a2" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.TwoFactorControllerTests.Challenge_with_unknown_pending_token_is_rejected" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="816e3003-dfa8-7268-d543-c991372b114d">
<Execution id="49f5051e-4c27-4e71-9f78-a5eeba8ff22a" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.TwoFactorControllerTests" name="Challenge_with_unknown_pending_token_is_rejected" />
</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\debug\net9.0\jobtrackerapi.tests.dll" id="51ac4bbe-d7e5-71bc-246b-d1e99716f584">
<Execution id="5947b5fd-69e6-4f36-b18f-0c27c24335e5" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.AuthSessionRevocationTests.Logout_revokes_the_exact_session_and_a_copied_principal_stops_working" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="ac07d402-750e-5b2a-1f18-bdbcfd79741f">
<Execution id="7ff0a76c-0bb2-4546-b4b3-4d298ed7425c" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AuthSessionRevocationTests" name="Logout_revokes_the_exact_session_and_a_copied_principal_stops_working" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.TwoFactorControllerTests.Verify_setup_with_wrong_code_is_rejected_and_does_not_enable_2fa" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="32c56667-1720-3596-61ec-a84c2c1a0741">
<Execution id="ff3f55bf-7aa0-496d-b9c4-77f8a3f474f6" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.TwoFactorControllerTests" name="Verify_setup_with_wrong_code_is_rejected_and_does_not_enable_2fa" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.ApiAuthorizationPostureTests.The_user_owned_controllers_that_used_to_rely_on_the_fallback_policy_are_now_explicit" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="39824df1-8c70-de08-b4d5-78902eb85b38">
<Execution id="c0a452ce-bc45-4e8f-ac09-573a694a8c3a" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.ApiAuthorizationPostureTests" name="The_user_owned_controllers_that_used_to_rely_on_the_fallback_policy_are_now_explicit" />
</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\debug\net9.0\jobtrackerapi.tests.dll" id="3703cdc9-1200-4a8e-e91b-e5b255b6349a">
<Execution id="c17a1d3a-1698-4320-95b3-38b12c1b2d14" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.SessionsControllerTests.Revoke_enforces_ownership_and_blocks_a_subsequent_request_using_that_sessions_token" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="a567652f-e534-e420-c70b-91c31c5e4264">
<Execution id="675dc708-f92a-409c-a447-93b682f82f0d" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.SessionsControllerTests" name="Revoke_enforces_ownership_and_blocks_a_subsequent_request_using_that_sessions_token" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.SessionsControllerTests.RevokeOthers_revokes_every_other_session_but_leaves_the_current_one_usable" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="811715cd-47a0-c1dd-1dc7-cfb874cd9cb3">
<Execution id="8c5b5e3e-6b88-4129-a8c5-25ca8afabb98" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.SessionsControllerTests" name="RevokeOthers_revokes_every_other_session_but_leaves_the_current_one_usable" />
</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\debug\net9.0\jobtrackerapi.tests.dll" id="aa87bb5b-2b89-868b-47a2-39dc87ec48cf">
<Execution id="4f885c24-4b73-440d-b174-dceba01dab21" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.AdminProcessingControllerTests.Processing_reads_share_a_bounded_account_rate_limit" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="b9e6b511-16dc-188e-b0b4-b3c6d1ea5901">
<Execution id="c1890c2a-1eed-4be5-89d8-7f0c88327365" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\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.TwoFactorControllerTests.Challenge_with_valid_totp_code_completes_sign_in" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="d484bbaa-c1ab-50e5-2d49-c179ebefddee">
<Execution id="9e82d083-3bf5-4773-8e1f-e595d4efbe92" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.TwoFactorControllerTests" name="Challenge_with_valid_totp_code_completes_sign_in" />
</UnitTest>
<UnitTest name="JobTrackerApi.Tests.AuthSessionRevocationTests.Session_validator_requires_sid_and_user_to_match_the_same_row" storage="c:\users\connor\.codex\worktrees\direct-roadmap-integration\job tracker\jobtrackerapi.tests\bin\debug\net9.0\jobtrackerapi.tests.dll" id="e559103d-3dbf-ce6f-6174-0323c94be871">
<Execution id="5f1168de-b7d8-4e8b-be1f-03dfe64f6085" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AuthSessionRevocationTests" name="Session_validator_requires_sid_and_user_to_match_the_same_row" />
</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\debug\net9.0\jobtrackerapi.tests.dll" id="a3b89ebc-353f-38b3-04d4-bd41ea0c21b8">
<Execution id="91b06ee6-1e58-406f-891b-6a22026754b1" />
<TestMethod codeBase="C:\Users\Connor\.codex\worktrees\direct-roadmap-integration\Job tracker\JobTrackerApi.Tests\bin\Debug\net9.0\JobTrackerApi.Tests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="JobTrackerApi.Tests.AdminProcessingControllerTests" name="Processing_routes_require_the_server_administrator_role" />
</UnitTest>
</TestDefinitions>
<TestEntries>
<TestEntry testId="811715cd-47a0-c1dd-1dc7-cfb874cd9cb3" executionId="8c5b5e3e-6b88-4129-a8c5-25ca8afabb98" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="b9e6b511-16dc-188e-b0b4-b3c6d1ea5901" executionId="c1890c2a-1eed-4be5-89d8-7f0c88327365" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="4bd6fee0-c227-757a-f276-68c01ee512d8" executionId="8b6dc4f2-d2f0-4c59-8f6c-fbf894a521fa" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="4d32ba02-105a-512c-8d73-cbe2ab1e1f04" executionId="53b236b9-1f0c-4bda-97ce-560f2dbfc641" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="60b6bfd7-91ef-c23f-ffe4-217e3ea1388b" executionId="09151881-21d2-4326-a43c-38d379aa90e7" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="f4f25456-ee0d-29ca-3483-47a23d62bba6" executionId="3d166b11-e5e4-48d8-aff2-05762ae9560d" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="a55b51f5-22e2-c043-4279-8e10e60d7349" executionId="e41b3484-9519-4aae-8afd-ba9e539f9b27" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="d044b79a-5986-914c-d41a-518baadb7963" executionId="8057b950-194c-4cb1-b1d6-fa7fb2837f9c" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="2e1eabfd-4621-c98f-059d-33f191976c67" executionId="44b56b4e-2968-4e4f-8771-6fecc4a150c2" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="1cb270c5-b90d-5d22-75bd-18446f0697ab" executionId="c785d69f-aeb3-4bd6-bf31-588bd0e347c0" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="e559103d-3dbf-ce6f-6174-0323c94be871" executionId="5f1168de-b7d8-4e8b-be1f-03dfe64f6085" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="f94b62f1-217b-7b58-433f-78fa92c3b291" executionId="a62b5fd1-aa95-429a-8fee-84081339fb1b" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="6e346171-7903-22b0-1ca1-205bad580edd" executionId="af93fd66-4880-4840-b7d2-371f6e3d6797" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="3703cdc9-1200-4a8e-e91b-e5b255b6349a" executionId="c17a1d3a-1698-4320-95b3-38b12c1b2d14" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="1d05c8f0-b4f5-5979-c2ee-b89fb865b0c0" executionId="7863527a-1b7f-44eb-8b60-ce4c12257b34" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="5e6c8ff2-b0d7-8172-d7f7-7a4377ce492f" executionId="f07d0729-575c-4bb1-a069-3918e64ff780" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="d484bbaa-c1ab-50e5-2d49-c179ebefddee" executionId="9e82d083-3bf5-4773-8e1f-e595d4efbe92" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="32aacf15-e389-7087-866a-a63f62c5ad1b" executionId="3dff5ee7-9faa-4b5a-acf7-4777bc001f1a" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="dea07b3b-d253-0f24-49a5-19cddbb41e3d" executionId="c6f012e2-8568-450c-b644-5efb722ed7b5" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="779e2ed4-8fe8-b1c3-9d65-a1c3f97de65f" executionId="d5557621-d57e-4b3e-a628-b4afcfac8399" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="e371116d-e426-f109-65b7-9aacdf55f26c" executionId="2fb373cf-32dc-490e-975b-c723417802a2" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="0a75f3cb-7d09-99b1-2e39-a35c68f98968" executionId="90c526e9-4ba8-4357-bc9e-92ac8a0cc141" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="e7dde882-9dbd-fe9b-1c50-f8b697c75f1a" executionId="0673d87e-1df5-4b1d-9f14-5729b14a2a09" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="a6518151-ac5c-524e-92da-8332dad6bdbb" executionId="2442a86c-a74b-492a-b2dc-8295ca20006c" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="b8f46cd4-f2a5-f097-e27f-3affe2027882" executionId="4971ef52-54d5-47e1-be81-16c72743faad" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="c00a81b0-f7f1-eb06-24f9-4006c08ebd54" executionId="af7588be-4023-41ab-858a-18dfeee9430f" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="b069a367-2cbf-d37f-5287-950c362c5164" executionId="fa581f3b-7a8c-40bc-831e-d71d7340292b" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="a567652f-e534-e420-c70b-91c31c5e4264" executionId="675dc708-f92a-409c-a447-93b682f82f0d" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="70049eab-88eb-4514-024e-9b688c008eef" executionId="b9e60944-2f77-4022-858b-86de70f5f944" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="816e3003-dfa8-7268-d543-c991372b114d" executionId="49f5051e-4c27-4e71-9f78-a5eeba8ff22a" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="49384e74-fc74-cc87-a819-9b1ba4a72e05" executionId="8f2ff498-3935-4b9d-b20f-2ae8e2eed509" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="1942bf4b-fda0-7b4a-34e9-25989c8770bd" executionId="26714290-6b58-47ca-a025-8bd570c0cadf" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="369cf2cd-6a6b-3b6b-6836-0b22e26fda39" executionId="52d2407e-7d30-470b-b900-f29493b00887" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="5c11c8bf-6b3e-8d84-fbeb-c90b49b4f37a" executionId="d94dbadb-25a0-48cd-893c-9d84e01bb11b" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="fd2553a8-50d5-ecf3-5513-f884a32acc75" executionId="0a874f65-6ae7-4ee7-8a4f-223e0d0599dc" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="9e050f47-50a9-9f5b-1d85-26726f8b830d" executionId="2f6a5c02-cb8e-4edb-8900-92090daf4485" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="a7460ecd-2dcf-3c01-9f4f-b564984877a7" executionId="c6f5fa23-4595-4491-bcac-eb5cdd06af2c" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="39824df1-8c70-de08-b4d5-78902eb85b38" executionId="c0a452ce-bc45-4e8f-ac09-573a694a8c3a" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="e8ec61a8-3045-28f2-d1c2-1d24f4b43888" executionId="660321ca-aa50-4ea3-b4e1-1f48f2a71452" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="c651e3b0-51fd-2e41-a5cf-eaf4190ef276" executionId="5e3c533a-44fc-4b3b-a915-c3499fdfdfb0" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="84f7e997-d635-149a-68bc-b02e9fcddd2d" executionId="edcb9161-3f94-4512-8921-643943599277" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="812d5d43-7e52-ce08-7556-5a43f9ffdac0" executionId="005e59c9-cf56-40a7-9ca0-f5fb1b26a734" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="47c8243a-256a-9cd2-b778-0c1e655f34b2" executionId="50997746-1047-4f14-aa42-76d569e13dec" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="c306a523-edb1-3483-b9d9-2894e7823843" executionId="770b0203-97ae-4f3f-b374-d925f77327c9" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="a3b89ebc-353f-38b3-04d4-bd41ea0c21b8" executionId="91b06ee6-1e58-406f-891b-6a22026754b1" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="d1bcf14d-0120-eaa5-c023-78fbafc535af" executionId="8439b121-1461-45e7-83e6-7e8530b23782" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="7735a82a-1299-2185-0d4a-22577eac5bda" executionId="fd40bd80-90d1-42c5-b709-9c28cfba5ac9" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="97ec8920-5827-6f9c-2b63-37a4e888d28f" executionId="8e767f6f-8088-4520-a2ed-1a8e829d6e3e" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="76cd4cee-0aef-5769-359a-4daef2151107" executionId="00293cd3-de4b-4cb0-9464-5a1b978346ef" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="a88e9f0f-4d46-d781-b335-cf25a24afff7" executionId="77606ebf-a9bd-405a-9c0a-c1835c77d191" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="aa87bb5b-2b89-868b-47a2-39dc87ec48cf" executionId="4f885c24-4b73-440d-b174-dceba01dab21" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="ba5e704b-ca66-a258-1f80-cf0cc45d1215" executionId="912d9a9c-160c-44e6-b591-b013030527f2" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="822738c0-7263-105c-c7a3-7287bfc84f37" executionId="e45bff14-e2a8-408d-8e5d-58e709a9d7b3" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="07351a69-1a47-c2e2-c18a-4769689406b0" executionId="92cae6af-55b9-4ea2-8c73-8d65338be663" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="eff0c740-5766-74d7-2b54-9a9d370feaf4" executionId="a151b574-aacc-4c04-bd08-86c6a416f46e" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="ac07d402-750e-5b2a-1f18-bdbcfd79741f" executionId="7ff0a76c-0bb2-4546-b4b3-4d298ed7425c" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="74c020c1-6f43-8b47-6887-592371457b96" executionId="f5a5166e-365c-4c45-8a7a-748a3791d713" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="96738a1a-a206-81ed-d93b-a35bcdcf8da7" executionId="65fcac94-f2bd-4020-a9ff-2ff065aea5a5" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="d077a711-68af-18dd-b1f4-2f8b79f50253" executionId="74c74439-6f49-4b64-b8f0-e249bd9b2fc4" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="ba0da408-71da-37ae-bf26-9a719966e64f" executionId="49d35fbe-08e4-4047-b6eb-9ebd7c31f52f" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="51ac4bbe-d7e5-71bc-246b-d1e99716f584" executionId="5947b5fd-69e6-4f36-b18f-0c27c24335e5" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="3a3b5a1e-a289-cbf2-1ddf-19df428ac764" executionId="4e5bb025-60d0-45e7-b270-13e020c05d42" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="c6411e65-2573-9b0a-b091-546a25c749e9" executionId="b6c462dd-03c6-4941-9830-3156c8f64ba4" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="32c56667-1720-3596-61ec-a84c2c1a0741" executionId="ff3f55bf-7aa0-496d-b9c4-77f8a3f474f6" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="cc37b055-0622-5c79-604c-d07a5ef838f8" executionId="6209858e-1d10-4312-a891-f3f728670cdd" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="c290d6c2-2e12-8508-613f-1faef3e1e045" executionId="53ae69df-7e0d-40c0-8b71-95be1571fe53" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="925a248b-9a4e-193d-bb27-e3e23b1e39da" executionId="dbed89d9-76a4-4b5f-889c-275839b4db9c" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="44ff09f3-f13f-afad-c8bf-307264ed7dc8" executionId="b31e76b4-ffa4-4858-8526-4de5c576ff22" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
<TestEntry testId="ee5f8413-131e-d373-5831-cf9def629bf1" executionId="6a4b82a9-4269-4ff6-b618-2a55c9ee6453" 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="69" executed="69" passed="69" 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.98] Discovering: JobTrackerApi.Tests&#xD;
[xUnit.net 00:00:01.29] Discovered: JobTrackerApi.Tests&#xD;
[xUnit.net 00:00:01.30] Starting: JobTrackerApi.Tests&#xD;
[xUnit.net 00:00:15.00] Finished: JobTrackerApi.Tests&#xD;
</StdOut>
</Output>
</ResultSummary>
</TestRun>
File diff suppressed because it is too large Load Diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

@@ -0,0 +1,108 @@
{
"screens": [
{
"width": 320,
"language": "en",
"mode": "light",
"state": "account",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "light",
"state": "session-confirmation",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "light",
"state": "data-confirmation",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "light",
"state": "connections",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "light",
"state": "last-admin",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "light",
"state": "audit-empty",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "light",
"state": "system-unavailable",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "light",
"state": "processing-detail",
"violations": []
}
],
"journeys": [
{
"width": 320,
"language": "en",
"mode": "light",
"draftPreservedAcrossKeyboardSections": "PASS",
"revocationAndDeletionCancelled": "PASS",
"recentExportDenial": "PASS",
"lastAdminActionsDisabled": "PASS",
"processingKeyboardAndOwnerLink": "PASS"
}
],
"errors": [],
"unexpectedWrites": [],
"exportDenials": [
{
"width": 320,
"language": "en",
"mode": "light"
}
],
"unavailableReads": [
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/admin/system",
"/api/admin/system/email-settings",
"/api/admin/system/cv-benchmark",
"/api/admin/system/maintenance-jobs",
"/api/companies",
"/api/companies"
],
"blockedExternal": [
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com"
],
"limits": [
"Every API response is synthetic. Account export is a controlled 403; revocation/deletion confirmations are cancelled, not executed.",
"System monitor capture is the controlled unavailable state, audit is empty; detailed success/action scenarios are unit tests, not live qualification.",
"No real credentials, provider activation, model, native device, integrated security, production or release acceptance."
]
}
@@ -0,0 +1,260 @@
{
"screens": [
{
"width": 320,
"language": "en",
"mode": "light",
"state": "processing-detail",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "dark",
"state": "processing-detail",
"violations": []
},
{
"width": 320,
"language": "nb",
"mode": "light",
"state": "processing-detail",
"violations": []
},
{
"width": 320,
"language": "nb",
"mode": "dark",
"state": "processing-detail",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "processing-detail",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "dark",
"state": "processing-detail",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "light",
"state": "processing-detail",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"state": "processing-detail",
"violations": []
},
{
"width": 768,
"language": "en",
"mode": "light",
"state": "processing-detail",
"violations": []
},
{
"width": 768,
"language": "en",
"mode": "dark",
"state": "processing-detail",
"violations": []
},
{
"width": 768,
"language": "nb",
"mode": "light",
"state": "processing-detail",
"violations": []
},
{
"width": 768,
"language": "nb",
"mode": "dark",
"state": "processing-detail",
"violations": []
}
],
"journeys": [
{
"width": 320,
"language": "en",
"mode": "light",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 320,
"language": "en",
"mode": "dark",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 320,
"language": "nb",
"mode": "light",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 320,
"language": "nb",
"mode": "dark",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 390,
"language": "en",
"mode": "light",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 390,
"language": "en",
"mode": "dark",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 390,
"language": "nb",
"mode": "light",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 768,
"language": "en",
"mode": "light",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 768,
"language": "en",
"mode": "dark",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 768,
"language": "nb",
"mode": "light",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 768,
"language": "nb",
"mode": "dark",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
}
],
"errors": [],
"unexpectedWrites": [],
"exportDenials": [],
"unavailableReads": [
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies"
],
"blockedExternal": [
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com"
],
"limits": [
"Every API response is synthetic. Account export is a controlled 403; revocation/deletion confirmations are cancelled, not executed.",
"System monitor capture is the controlled unavailable state, audit is empty; detailed success/action scenarios are unit tests, not live qualification.",
"No real credentials, provider activation, model, native device, integrated security, production or release acceptance."
]
}
@@ -0,0 +1,18 @@
{
"screens": [],
"journeys": [],
"errors": [],
"unexpectedWrites": [],
"exportDenials": [],
"unavailableReads": [
"/api/companies"
],
"blockedExternal": [
"https://fonts.googleapis.com"
],
"limits": [
"Every API response is synthetic. Account export is a controlled 403; revocation/deletion confirmations are cancelled, not executed.",
"System monitor capture is the controlled unavailable state, audit is empty; detailed success/action scenarios are unit tests, not live qualification.",
"No real credentials, provider activation, model, native device, integrated security, production or release acceptance."
]
}
@@ -0,0 +1,338 @@
{
"screens": [
{
"width": 320,
"language": "en",
"mode": "light",
"state": "processing-detail",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "dark",
"state": "processing-detail",
"violations": []
},
{
"width": 320,
"language": "nb",
"mode": "light",
"state": "processing-detail",
"violations": []
},
{
"width": 320,
"language": "nb",
"mode": "dark",
"state": "processing-detail",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "light",
"state": "processing-detail",
"violations": []
},
{
"width": 390,
"language": "en",
"mode": "dark",
"state": "processing-detail",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "light",
"state": "processing-detail",
"violations": []
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"state": "processing-detail",
"violations": []
},
{
"width": 768,
"language": "en",
"mode": "light",
"state": "processing-detail",
"violations": []
},
{
"width": 768,
"language": "en",
"mode": "dark",
"state": "processing-detail",
"violations": []
},
{
"width": 768,
"language": "nb",
"mode": "light",
"state": "processing-detail",
"violations": []
},
{
"width": 768,
"language": "nb",
"mode": "dark",
"state": "processing-detail",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "light",
"state": "processing-detail",
"violations": []
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"state": "processing-detail",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"state": "processing-detail",
"violations": []
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"state": "processing-detail",
"violations": []
}
],
"journeys": [
{
"width": 320,
"language": "en",
"mode": "light",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 320,
"language": "en",
"mode": "dark",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 320,
"language": "nb",
"mode": "light",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 320,
"language": "nb",
"mode": "dark",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 390,
"language": "en",
"mode": "light",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 390,
"language": "en",
"mode": "dark",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 390,
"language": "nb",
"mode": "light",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 390,
"language": "nb",
"mode": "dark",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 768,
"language": "en",
"mode": "light",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 768,
"language": "en",
"mode": "dark",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 768,
"language": "nb",
"mode": "light",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 768,
"language": "nb",
"mode": "dark",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 1440,
"language": "en",
"mode": "light",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 1440,
"language": "en",
"mode": "dark",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 1440,
"language": "nb",
"mode": "light",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
},
{
"width": 1440,
"language": "nb",
"mode": "dark",
"draftPreservedAcrossKeyboardSections": "NOT RUN",
"revocationAndDeletionCancelled": "NOT RUN",
"recentExportDenial": "NOT RUN",
"lastAdminActionsDisabled": "NOT RUN",
"processingKeyboardAndOwnerLink": "PASS",
"processingFilterLabelsAndDurationGeometry": "PASS"
}
],
"errors": [],
"unexpectedWrites": [],
"exportDenials": [],
"unavailableReads": [
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies",
"/api/companies"
],
"blockedExternal": [
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com"
],
"limits": [
"Every API response is synthetic. Account export is a controlled 403; revocation/deletion confirmations are cancelled, not executed.",
"System monitor capture is the controlled unavailable state, audit is empty; detailed success/action scenarios are unit tests, not live qualification.",
"No real credentials, provider activation, model, native device, integrated security, production or release acceptance."
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Some files were not shown because too many files have changed in this diff Show More