Files
jobtrackingapp/docs/cv-integration-qa/MARIA_DB_AND_RD21.md
T

2.8 KiB

MariaDB and RD21 — 2026-10-27

The disposable real MariaDB lane passed 79/79, zero skips, with successful startup, locked restore, test and owned-container cleanup (.artifacts/cv-integration-qa/lifecycle-green-01/run.json). The entry baseline was 70/70; the first mapping checkpoint added two provider cases and lifecycle qualification added seven. These are successive totals, not additive runs. Final source-freeze qualification is reported separately in REGRESSION_RESULTS.md.

Canonical writes retain the existing Career Profile transaction, expected revision, relational projections, history and durable import receipt. No historical CV, CV override, submitted package or frozen letter is rewritten. Mapping-only multi-record imports into an empty profile cover contacts/links, two jobs, two education records, languages, certification/project and long-tail sections. Actual readback verifies child rows, source identifiers, incomplete date precision and rejected fields. Exact replay produces no extra revision. Injected projection failure rolls all changes back.

Reproduced lifecycle races

Independent contexts use finite database-command barriers after SELECT; tests do not substitute an in-memory provider. The retained RED attempt had seven failures and 72 passes. Apply after a competing discard actually raised MariaDB 1020 (record has changed since last read) rather than silently committing. Reverse discard/apply, stale retention, cancel acknowledgement and retries of discarded/expired/applied jobs also failed their assertions.

The run status is now an EF concurrency token, with matching snapshot metadata and no physical column or migration. A losing discard returns 409. Apply handles EF stale writes and narrowly identified MariaDB 1020 after the established transaction rollback. Retention retries each conflicting run at most twice and recomputes cleanup from reloaded state; it preserves applied candidate/receipt data while expiring the source file. Cancellation cannot overwrite a discarded terminal state. Retry claims only an eligible mutable CV run atomically before queueing; terminal runs cannot reopen.

The GREEN cases confirm no canonical write after discard, no discard after apply, retained applied receipts and exact replay after retention, terminal cancellation preservation and rejected terminal retries. Existing owner/tenant and first/existing-profile revision tests remain enabled. A displayed success still requires confirmed durable application.

This qualifies the exercised disposable MariaDB behavior. It does not establish hosted CI, production database behavior, power-loss recovery or server filesystem/backup integrity. Historical RD21 evidence is preserved; current-source focused races complement rather than replace its full regression lanes.