{ "schemaVersion": 1, "reportDate": "2026-10-24", "recordedUtc": "2026-10-23T23:50:33.719141+00:00", "baselineCommit": "0d16a691e0249fe1264bf960de5e59eaa9b87fed", "implementationCommit": "a2c9bda0d11940e4ce1fb9fe5efa80b14ab6627b", "branch": "codex/rd21-mariadb-standardisation", "mainUnchanged": "5f835e54a9b74e6b71418422e28431b2af06453f", "countsPolicy": "Distinct lanes only; focused/repeated/native/WSL/Docker runs overlap and are not added into one test total.", "finalResults": { "backend": { "path": ".artifacts/mariadb/final-backend/backend.trx", "sha256": "771884e589999f625ebbe2f5da7bbc31931d82db28363734f7fe8e88d53de0dc", "bytes": 1616177, "counters": { "total": "1123", "executed": "1123", "passed": "1123", "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" } }, "mariaDbCompose": { "path": ".artifacts/mariadb/compose-final/mariadb.trx", "sha256": "4e170909ddeddaed51fe52842a4a296e2ca4315b859b1db54a36e34ab8f720d6", "bytes": 52575, "counters": { "total": "32", "executed": "32", "passed": "32", "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" }, "cases": [ { "name": "JobTrackerApi.MariaDb.Tests.Rd21CareerPersistenceTests.Database_failure_after_deletion_restores_children_history_and_revision_and_clears_tracker", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21CareerPersistenceTests.Empty_canonical_profile_preserves_legacy_raw_text_in_its_revision_zero_snapshot", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21CareerPersistenceTests.Extraction_history_returns_only_the_ten_newest_owned_runs_with_exact_metadata", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21CareerPersistenceTests.Reviewed_import_commits_or_rolls_back_canonical_projection_and_application_metadata(identitySucceeds: False)", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21JobPersistenceTests.Related_text_save_cannot_silently_replace_a_newer_acknowledged_draft(coverLetter: True)", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.StartupAndLockTests.Unsafe_or_missing_admin_configuration_fails_closed(connection: \"Server=192.0.2.1;Database=development;User ID=test\")", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21CareerPersistenceTests.Stale_tracked_entity_is_guarded_at_database_update_and_stale_restore_is_rejected", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21CareerPersistenceTests.Identity_failure_rolls_back_canonical_children_history_and_projection", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21CareerPersistenceTests.Reviewed_import_commits_or_rolls_back_canonical_projection_and_application_metadata(identitySucceeds: True)", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.StartupAndLockTests.Open_reader_does_not_block_independent_usage_and_identity_writes", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21JobPersistenceTests.Structured_tailored_cv_snapshot_cannot_replace_a_newer_approved_document", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.StartupAndLockTests.Rd21_additive_migration_preserves_existing_job_fields_and_backfills_revision_one", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21JobPersistenceTests.Stale_or_unversioned_snapshot_cannot_erase_an_acknowledged_job_edit(omitRevision: False)", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21CareerPersistenceTests.Competing_first_save_sources_have_one_acknowledged_winner", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.StartupAndLockTests.Unsafe_or_missing_admin_configuration_fails_closed(connection: null)", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.StartupAndLockTests.Admin_database_name_is_never_used_as_the_test_database", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21CareerPersistenceTests.Replacement_restore_parse_and_import_fail_closed_without_valid_revision(expectedVersion: null)", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.StartupAndLockTests.Unsafe_or_missing_admin_configuration_fails_closed(connection: \"Server=database.example.test;User ID=test;Password\"\u00b7\u00b7\u00b7)", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21CareerPersistenceTests.Import_acceptance_requires_the_revision_shown_in_its_diff", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.StartupAndLockTests.Fresh_repeated_and_populated_startup_preserve_owned_data_and_complete_migrations", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.StartupAndLockTests.Full_startup_creates_every_table_and_column_required_by_the_persisted_EF_model", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21CareerPersistenceTests.Parsing_commits_or_rolls_back_its_entire_import_application(identitySucceeds: False)", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21CareerPersistenceTests.Independent_stale_snapshot_cannot_replace_acknowledged_career_edit", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21JobPersistenceTests.Failed_job_transaction_cannot_acknowledge_or_leave_partial_data_for_a_later_save", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21JobPersistenceTests.Held_writer_timeout_rolls_back_and_a_reviewed_save_recovers_after_release", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21CareerPersistenceTests.Parsing_commits_or_rolls_back_its_entire_import_application(identitySucceeds: True)", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21JobPersistenceTests.Stale_or_unversioned_snapshot_cannot_erase_an_acknowledged_job_edit(omitRevision: True)", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21CareerPersistenceTests.Editor_snapshot_uses_relational_canonical_source_and_never_writes_during_read", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21JobPersistenceTests.Related_text_save_cannot_silently_replace_a_newer_acknowledged_draft(coverLetter: False)", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21CareerPersistenceTests.Replacement_restore_parse_and_import_fail_closed_without_valid_revision(expectedVersion: -1)", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21JobPersistenceTests.Versioned_job_save_cannot_cross_tenant_job_or_company_ownership", "outcome": "Passed" }, { "name": "JobTrackerApi.MariaDb.Tests.Rd21JobPersistenceTests.Write_that_overlaps_a_delayed_save_wins_without_partial_events_or_opportunity_changes", "outcome": "Passed" } ], "runner": { "startedUtc": "2026-10-23T23:45:02.659493+00:00", "finishedUtc": "2026-10-23T23:45:35.164110+00:00", "mode": "compose", "expectedVersion": "12.2.2", "project": "jobtracker-it-bab4e2d90fda49aca25affafc282e335", "exitCode": 0, "commands": [ { "command": [ "docker", "compose", "--project-name", "jobtracker-it-bab4e2d90fda49aca25affafc282e335", "--project-directory", "E:\\Storage\\Projects\\Active\\Job tracker", "-f", "E:\\Storage\\Projects\\Active\\Job tracker\\docker-compose.database.yml", "--profile", "integration", "up", "-d", "--wait", "--wait-timeout", "120", "mariadb-test" ], "log": "E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\mariadb\\compose-final\\compose-start.log", "exitCode": 0 }, { "command": [ "C:/Users/Connor/.dotnet/dotnet.exe", "restore", "JobTrackerApi.MariaDb.Tests/JobTrackerApi.MariaDb.Tests.csproj", "--locked-mode" ], "log": "E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\mariadb\\compose-final\\restore.log", "exitCode": 0 }, { "command": [ "C:/Users/Connor/.dotnet/dotnet.exe", "test", "JobTrackerApi.MariaDb.Tests/JobTrackerApi.MariaDb.Tests.csproj", "--configuration", "Release", "--no-restore", "--logger", "trx;LogFileName=mariadb.trx", "--results-directory", "E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\mariadb\\compose-final" ], "log": "E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\mariadb\\compose-final\\tests.log", "exitCode": 0 }, { "command": [ "docker", "compose", "--project-name", "jobtracker-it-bab4e2d90fda49aca25affafc282e335", "--project-directory", "E:\\Storage\\Projects\\Active\\Job tracker", "-f", "E:\\Storage\\Projects\\Active\\Job tracker\\docker-compose.database.yml", "--profile", "integration", "logs", "--no-color", "mariadb-test" ], "log": "E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\mariadb\\compose-final\\server.log", "exitCode": 0 }, { "command": [ "docker", "compose", "--project-name", "jobtracker-it-bab4e2d90fda49aca25affafc282e335", "--project-directory", "E:\\Storage\\Projects\\Active\\Job tracker", "-f", "E:\\Storage\\Projects\\Active\\Job tracker\\docker-compose.database.yml", "--profile", "integration", "rm", "--stop", "--force", "mariadb-test" ], "log": "E:\\Storage\\Projects\\Active\\Job tracker\\.artifacts\\mariadb\\compose-final\\compose-cleanup.log", "exitCode": 0 } ] }, "runnerEvidence": { "path": ".artifacts/mariadb/compose-final/run.json", "sha256": "08ac2f67e8007e6b83ba2e812d745bf40a0f157d4054747b6ae681a41b9b609a", "bytes": 3047 } }, "mariaDbBrowser": { "path": ".artifacts/mariadb/browser-mariadb.json", "sha256": "debce9f0f52d1e54001c00972c7f93be80fa2b4a2c71f75360ce1e6a55dd662e", "bytes": 8628, "stats": { "startTime": "2026-10-23T23:47:33.278Z", "duration": 12135.389000000001, "expected": 1, "skipped": 0, "unexpected": 0, "flaky": 0 }, "productionQualification": false, "process": { "finishedUtc": "2026-10-23T23:47:45.5638011Z", "startedUtc": "2026-10-23T23:47:32.6487673Z", "exitCode": 0, "generatedSchema": "jt_it_79b5902ffa2544a4a45a8eac4ae2ee3b", "lane": "mariadb" }, "provider": "actual pinned Docker MariaDB12.2.2; native hosted API/Chromium/independent SQL" }, "historicalDiagnostics": { "path": ".artifacts/mariadb/browser-historical.json", "sha256": "ec9e78902125ea1edce586903cd2ea18ba0c85f0f6d85547f5d40ff96ca282fb", "bytes": 1299337, "stats": { "startTime": "2026-10-23T19:06:02.726Z", "duration": 517487.17799999996, "expected": 18, "skipped": 0, "unexpected": 0, "flaky": 0 }, "productionQualification": false, "provider": "explicit transitional SQLite; never MariaDB qualification" }, "historicalVolume": { "path": ".artifacts/mariadb/browser-volume.json", "sha256": "9511e090a792bc1c35043ebac6bee29d59d01511f37e10f08763560e9ead2bbb", "bytes": 8513, "stats": { "startTime": "2026-10-23T19:14:43.927Z", "duration": 71938.38900000001, "expected": 3, "skipped": 0, "unexpected": 0, "flaky": 0 }, "productionQualification": false, "provider": "explicit transitional SQLite; never MariaDB qualification" }, "guardTests": [ { "path": ".artifacts/mariadb/runner-guards-final.log", "sha256": "f0b946ced5ae5487e5849e289f84c3390686622aa746b4b55ce588b9f0d94868", "bytes": 378, "command": [ "python", "scripts/test-mariadb-integration.py" ], "exitCode": 0, "passed": 5, "realDatabaseEvidence": false }, { "path": ".artifacts/mariadb/browser-guards-final.log", "sha256": "f3587abaf0d417b4b703416972bec2f3229e2e857c5d84fdf9ff275c7bac8c9c", "bytes": 1731, "command": [ "node", "--test", "job-tracker-ui/scripts/mariadb-browser-connection.test.mjs" ], "exitCode": 0, "passed": 10, "realDatabaseEvidence": false } ], "static": { "frontendTypecheck": { "exitCode": 0, "evidence": { "path": ".artifacts/mariadb/typecheck.log", "sha256": "f00c5da05f15ad139b5ce9c171cd10193f95e04a1348638144810e4e4f6cd497", "bytes": 150 } }, "frontendLint": { "exitCode": 0, "finalRerun": "after ESM browser guard conversion; exec session85067" }, "targetedBrowserTypeScript": { "exitCode": 0, "command": "node node_modules/typescript/bin/tsc --noEmit --skipLibCheck --esModuleInterop --moduleResolution bundler --module esnext --target es2022 --allowJs playwright.mariadb.config.ts mariadb-tests/save-recovery.spec.ts" } }, "localDevelopment": { "serverVersion": "12.2.2-MariaDB-ubu2404", "migrations": 51, "apiHealth": "{\"status\":\"ok\",\"version\":\"1.0.0.0\"}", "sqlAfterDatabaseStopStart": "VERSION()\n12.2.2-MariaDB-ubu2404\nmigrations\n51\nId\tName\tOwnerUserId\n1\tRD21 persistent development probe\trd21-dev-persistence-probe\n", "volume": "jobtracker-local_mariadb_dev", "preexistingVolume": false, "volumePreserved": true, "productionTouched": false } }, "earlierFailures": [ { "stage": "first actual MariaDB run", "passed": 13, "failed": 17, "cause": "14 missing-Identity-column failures plus3 harness mistakes; not a passing qualification" }, { "stage": "schema census RED", "missingColumns": [ "AspNetUsers.FirstName", "AspNetUsers.LastName", "AspNetUsers.DisplayName" ], "fix": "guarded additive startup reconciliation; historical migrations untouched" }, { "stage": "held writer RED", "dirtyTrackedEntries": 4, "cause": "Pomelo1205 wrapped outside DbUpdateException catch", "fix": "shared update cleanup catches wrapper and rethrows; no silent retry" }, { "stage": "Linux import history RED", "failed": 1, "cause": "DTO-projection ordering untranslatable", "fix": "tenant-filtered entity ordering/limit before DTO projection" }, { "stage": "browser with stale Release binary", "failed": 1, "cause": "Debug-only fix build left old Release query", "fix": "Release rebuild1123pass and final guarded Docker browser1pass" }, { "stage": "missing/unavailable/wrong-version guard probes", "expectedFailure": true, "qualificationPassed": false } ], "supplementaryOverlappingResults": { "nativeWindowsMariaDb": { "passed": 31, "artifact": "mariadb.trx" }, "officialLinuxFilesystemWsl": { "passed": 32, "artifact": "mariadb-linux-32.trx" }, "earlierCompose": { "passed": 32, "artifact": "compose-integration/mariadb.trx" } }, "review": { "independent": true, "importantFindingsResolved": [ "canonical browser connection prevents duplicate/alias effective-target bypass", "both browser servers refuse reuse", "actual SELECT VERSION checked and attached", "test service uses bridge to avoid per-project network leak" ], "remainingActionableFindings": 0 }, "cleanup": { "finalComposeContainerRemoved": true, "finalComposeProjectHasNoGeneratedNetwork": true, "earlierOwnedEmptyNetworkRemoved": true, "browserTestContainerRemoved": true, "developmentVolumePreserved": true }, "verdicts": { "mariaDb1222Rd21": "PASS_BOUNDED_RESOLUTION", "localDevelopment": "READY", "ciIntegration": "LOCAL_READY_HOSTED_BLOCKED_MISSING_DOCKER_CLI", "historicalFixtures": "PASS", "sqliteRetirement": "PLAN_READY_REMOVAL_NO_GO", "mariaDb123Lts": "INVESTIGATION_READY_MIGRATION_NO_GO", "phase9Reacceptance": "NO_GO", "phase10": "NO_GO", "production": "NO_GO" }, "preservation": { "groups": 57, "routes": 33, "partial": 56, "deferred": "C11", "historicalAcceptanceReportsRewritten": false, "userDataDeleted": false, "historicalMigrationsChanged": false }, "notQualified": [ "hosted Gitea execution", "complete application MariaDB coverage", "production image/config/environment equality", "production deployment", "12.3 upgrade/restore/rollback", "SQLite user-data transfer", "manual/device/provider/output wider Phase9 acceptance", "power-loss/storage durability" ], "sourceSha256AtImplementationCheckpoint": { ".env.example": "46259cf55ea73ddb5726e95f98480c5131e8a00519dba9cb1a6d196b1c2eac71", ".gitea/workflows/mariadb-integration.yml": "621f15d36edc6ea9260fb2586b24b53993ba6202fdcd731bf4babbbc3ab4b8d7", "JobTrackerApi.MariaDb.Tests/JobTrackerApi.MariaDb.Tests.csproj": "2df22a5b79fae14566b437081932218254eb811c8dc1b2af3d51692d8e0d6825", "JobTrackerApi.MariaDb.Tests/MariaDbDatabase.cs": "1375d97093f686f77d511ef6d81ad2d62ecf329aa6e7bf53036cd6e199035e40", "JobTrackerApi.MariaDb.Tests/README.md": "75c687f453662d313a34b5d3c7bb3c957a18afb15a7014569b853d28d69b55f9", "JobTrackerApi.MariaDb.Tests/Rd21CareerPersistenceTests.cs": "d8fe34ce82a7f111fb75673ff14d44df0b0de778a3e42b050cfbbd9f3c274331", "JobTrackerApi.MariaDb.Tests/Rd21JobPersistenceTests.cs": "fa70202b58933f293ec6b9655a8a717506cd75ce5824703fa14e532a288267a8", "JobTrackerApi.MariaDb.Tests/StartupAndLockTests.cs": "f36b0cbf43ac68738997249c6ec6f1963c27a3c350e3ebba9476f27ef7ed9f81", "JobTrackerApi.MariaDb.Tests/TestHostFactory.cs": "f9f04e0aa7bad06863910564059605a13950540a5b6e04633f7ba7340719fdab", "JobTrackerApi.MariaDb.Tests/packages.lock.json": "bfc1e47f3c80a061c1002a79db18fa46e1f996665d501a9126c479ae0713e74d", "JobTrackerApi.Tests/DatabaseConfigurationTests.cs": "597e83474c1067b90647325a73eccd2fe479c4d5eabf3846b3af92ed92ac2d8b", "JobTrackerApi/Controllers/JobApplicationsController.cs": "03cef66c86a2cb2df86764301e49a747df304abc82109d41467a5038fe01c335", "JobTrackerApi/Controllers/ProfileCvController.cs": "8afae7680bc699ca525bb2c48cc8fba71922faed68abe21feb6046c3a8e70bda", "JobTrackerApi/Data/DatabaseConfiguration.cs": "d07e323238b2d3f6a33dc688243a2d3143ffef8e797a412d48d1175587eaf7f5", "JobTrackerApi/Program.cs": "1956baf3c208185e89cee46a4f9ae340b79d75fb6cb823cec982570dbcdbd201", "JobTrackerApi/Services/DatabaseBackupRunner.cs": "aa9132378123b712c42c6f56c8fb001f5b86bb6fa2bd3dfce22ef73e06dba42f", "JobTrackerApi/Services/StartupInitializationExtensions.cs": "4d60f14dc5069e27309f662c32dd15504dbe797dee9d46cb69460f818c0544c6", "JobTrackerApi/appsettings.Development.json": "6a3efdb176f933bbdf9aa623d617e74e84e2b61cecd20fdef6ef77351554c3f2", "docker-compose.database.yml": "bc4f0d19ef913f9e0f92540ed9a817e7bbf00d2f00ae80ed5b1acd43d55ba363", "docker-compose.yml": "97aecfd456f5ad8de8597d1e301a63e1a5be5f3e181032d54c12175df1acfd1c", "docs/redesign/phase-9/p9-05/diagnostics/data.spec.ts": "b33a99c3b280f7cac8ed4294e0a4a0a297f4761708e5414e3bf768f8146a7780", "docs/redesign/phase-9/p9-05/diagnostics/sustained.spec.ts": "76db0ac115e4745b67186b116421e2d7c374bd2e8f87a2fd40f04215e7b463c2", "docs/redesign/phase-9/p9-05/volume/volume.spec.ts": "9a3abd9f4a8fe558e643bf481dc9a0d1857975e9d532fda6c95e27cf437f7908", "job-tracker-ui/mariadb-tests/save-recovery.spec.ts": "3dc4f32270325fe73db1855d62a7061629834ff6f03f22a8cbb0dad25395f4a8", "job-tracker-ui/playwright.config.ts": "bbfb6e503d39397bf0b8445a00683197e228852af2579420807463add5c8a646", "job-tracker-ui/playwright.mariadb.config.ts": "3b427d62ca39ac1e16597e9eb4fdbf6f9abd445a2ed9c3b49f2a8ca279b3e3fa", "job-tracker-ui/scripts/mariadb-browser-connection.mjs": "2678f51649a007a25d356e6acd35cbec4eda6d89b713ea77309c4455ec0b41fc", "job-tracker-ui/scripts/mariadb-browser-connection.test.mjs": "39218ff8f671e0f50f8df0bc486b6fbea7699e8959662ac3b4b6d2dfce13573d", "scripts/mariadb-integration.py": "410cede3ca8794de99735a579ac626a34b6a56ee89c6ef63880d692153c7cd97", "scripts/test-mariadb-integration.py": "39aa5618724e74b859aceaf814bf08b9ea63a54205452805caa810a302441a80" }, "hostedCi": { "runId": 843, "jobId": 1733, "commit": "e75c4a477555bbd360b83004c25c30fbfcf233d3", "url": "https://git.cesnimda.uk/cesnimda/jobtrackingapp/actions/runs/843", "result": "failure", "failedStep": "Require Docker and Compose", "error": "docker: command not found", "exitCode": 127, "checkoutSucceeded": true, "sdkSetupSucceeded": true, "offlineRunnerGuardsPassed": 5, "mariaDbTestsExecuted": 0, "logSha256": "47ba05d12f08eb7a16a5649f71dde18cd582176a2bed818f3e045932ec025891", "stepApiCaveat": "Gitea marked earlier steps failure too; actual log confirms checkout SDK and five guards passed", "requiredNextStep": "Dedicated isolated Docker/Compose-capable test runner; rerun and inspect native TRX and cleanup" } }