Files
jobtrackingapp/docs/redesign/phase-9/p9-requal-01/ACCEPTANCE_ADDENDUM_2026-10-24.md
T
cesnimda 3727a723e8
MariaDB persistence qualification / mariadb (push) Failing after 7s
docs: publish Phase 9 requalification decisions and evidence
2026-10-24 18:32:24 +02:00

10 KiB
Raw Blame History

P9-REQUAL-01 — Phase9 requalification, 24 October 2026

Final: RD21 RESOLVED in tested scope; hosted MariaDB BLOCKED; Phase9 NO-GO; Phase10 NO-GO; production NO-GO. Historical acceptance records remain unchanged.

Verified source and repairs

The dedicated branch is fix/p9-ci-and-requalification, descended from approved development baseline 549b2cba5a791862ba3f854312ea819a86dc42a0 and RD21 repair 0d16a691e0249fe1264bf960de5e59eaa9b87fed. It does not start from production main. Application repair checkpoint: 2b26953d6f3c3fdacdffefa2c0a696c9084f1afd. Hardened qualification checkpoint: 5ac11549b2caa27469aa9fb2b5b9ed402471a453. Both normal pushes and direct remote equality were verified. Local/remote main remains 5f835e54a9b74e6b71418422e28431b2af06453f.

The compatible Pkcs/Next/Zod security pins are recorded in SECURITY.md. The real MariaDB Documents UNION defect was reproduced by three cases, fixed only in read-only name projections, and verified in the full35-case provider suite; see provider repair. No application API, migration, stored collation, database version or document-rendering contract changed. Qualification cleanup/startup/serialization corrections and every superseded runtime attempt are retained in attempts and repairs. Independent source review records its actual findings and limits. No manual or release approval is inferred from that review.

Fresh regression checkpoint

All results below are separate lanes. Focused RED/GREEN runs and earlier full-suite passes are not added to successor totals. Accepted runtime results require native case membership, process success, zero retries/skips and unchanged frozen inputs. Discovery-only empty results are not skips.

Lane Current actual result
Backend 1123 passed, zero failures/skips
Frontend 934 passed in105 suites, zero failures/pending/todo
MariaDB integration 35 passed, zero failures/skips, exact12.2.2, generated schemas and teardown
Ordinary browser PASS:362 cases, exact discovery membership; shards98/87/88/89
Six separate browser contracts PASS:23 cases across six separate lanes
RD21 companions / corrected diagnostics PASS:6 /18 cases
Volume / RD21 volume PASS:3 /3 cases
MariaDB browser / HTTP durability PASS:1 native recovery /2 HTTP cases; creation case is characterization only
AI sidecar 56 passed, model loading disabled; no model/inference qualification
Type checks / lint / static production build PASS; Next16.4.1; local build, no deployment
Existing security helpers / secret scan / SBOM PASS within stated scope; NuGet/npm report zero vulnerabilities
Locked Python advisory review FINDINGS;49 pins,109 published alias groups across8 packages; coverage INCOMPLETE
Windows PDF oracles PASS:16 fixtures/36 pages plus8 fixtures/24 pages; unchanged oracle, no input drift
Exclusive15-minute MariaDB workload PASS:900006ms,3382 reads/zero failures,20 navigations, selected exact-state invariants; archived failed setup attempts excluded
Linux renderer producers PASS:5 cases; owned API/network/schema teardown confirmed
Linux PDF oracles FAIL:9/16 fidelity plus4/8 settings;65 exported versus60 expected pages
Affected Windows settings successor PASS:4 cases; replaces affected fixture evidence, not added to362

Final native case indexes, process outcomes, source/report identities and detailed measurements belong to validation.json. Large raw reports, traces, PDFs and screenshots are retained locally under .artifacts/p9-requal-01/; separately archived attempts preserve failures.

Hosted infrastructure and provider limits

Hosted run843 had no Docker CLI and executed no database tests. Read-only investigation found Gitea1.26.0/act_runner0.4.1, runner5 Live-Runner, ubuntu-latest mapped to node:20-bookworm, host networking and an existing merged host Docker-socket bind. That label does not prove a VM or private isolation. The first-step guard prevents repository/test commands; runner preparation still occurs before it. Inspected runs847 and849 confirm BLOCKED, with no MariaDB service/test execution. A guard failure is not a hosted database-test failure or pass.

The operator handoff requires a dedicated isolated nonproduction runner, verified private job/service network, no job daemon socket/privilege/public DB port/persistent data, and success/failure/cancel cleanup evidence before enabling native services and the restricted CI-service transport. No runner or live deployment infrastructure was changed.

Local MariaDB uses official Linux/amd64 mariadb:12.2.2@sha256:42a27baaba3e8f3f0159d16381d5a7156661aa91dcc65f663cabb6a6f9503c00. The actual server is12.2.2; this proves tested version parity, not equality with the owner's running production image ID/configuration. That image ID is not a registry manifest digest. Local schemas are disposable and credentials/volumes are separate from production. Existing SQLite fixtures remain explicitly transitional and are never counted as MariaDB execution.

Acceptance findings and human requirements

FINDINGS.md and findings.json register59 findings independently against Phase9, Phase10, production and debt. All57 preservation groups and33 routes remain; 56 groups are PARTIAL and C11 DEFERRED. No source presence or passing tagged fixture promotes an entire capability to PASS. Canonical/variant boundaries, null-as-inherit overrides and frozen documents retain their specific contracts; no legacy alias or metadata was removed.

M09-01–10 owner-test cards specify prerequisites, exact actions, expected results and required recordings. Genuine reader/keyboard/contrast/zoom, physical-device, natural Bokmål, printing and provider checks remain NOT TESTED where the required human/environment is absent. Automated axe and finite image inspection do not establish full accessibility compliance. The original REQUEST§6 explicitly carries unfinished genuine human checks into release gates; production-only storage/backup requirements do not independently veto isolated functional QA.

The open Python gate is different: published critical/high records affect dependencies with actual upload-parser/model-loading call sites. Existing child/time/resource controls do not establish advisory closure. Per-advisory reachability and compatible major parser/ML transition remain unproven. REQUEST§§9/13/14 call for an individual risk disposition; they do not mechanically mandate NO-GO for every advisory. This report's acceptance-risk judgment withholds closure for this unassessed critical/high uncertainty pending validated remediation or an explicitly approved risk disposition. C11/P5-13 remains withheld. Duplicate reminder reads remain low documented debt; creation-intent idempotency remains a separate open contract. No optimization, duplicate-create protocol or Phase10 cleanup was introduced.

Final decisions and next action

Gate Decision Reason
RD21 RESOLVED Original six save/concurrency clauses satisfied within tested scope; separate creation debt retained
Hosted MariaDB CI BLOCKED Private service isolation/lifecycle unavailable; no hosted database tests ran
Phase9 NO-GO Confirmed Linux PDF output failure and unclosed critical/high Python advisory risk disposition
Phase10 readiness NO-GO Unwaived affected functionality/testpass failures; unused-code/route/inventory prerequisites unproven
Production NO-GO Task restrictions and independent release/security/recovery/manual gates remain

The final collector deliberately exits1: linux-pdf:FAIL, python-advisories:FINDINGS; automationComplete:false. These are retained acceptance failures, not substituted passes. Linux findings identify11 failed fixtures and observed font/browser differences without claiming a proven sole cause.

MariaDB local development configuration is READY within previously verified isolated persistent-startup scope; its persistent service/data are preserved and currently stopped. Local disposable integration testing is READY (35 real-provider cases plus isolated browser/workload lanes). Hosted CI is BLOCKED. Historical revision fixture repairs remain verified (18/18 and3/3 baseline evidence, fresh complete backend successor); assertions were not weakened. SQLite retirement is STAGED, not performed. MariaDB12.3 LTS migration readiness is PLAN ONLY, not qualified/executed. Production floating latest remains a pinning risk; use a separately approved exact version/registry digest with backup/restore/rollback evidence, never the running image ID as a manifest reference.

Source lineage is explicit: complete362 ordinary cases ran at5ac1154; the sole subsequent runtime-input change is the CV sibling preservation fixture at7092697. It takes an independent successful durable GET as its pre-action baseline and retains full strict after-body equality. Four affected Windows cases and five Linux producers passed afterward; no application/static/DLL source changed. Source lineage and both frozen input manifests record this distinction.

The next specific development action is a bounded Phase9 Linux document-rendering parity investigation using the retained failing corpus, alongside separately scoped Python parser/ML advisory assessment and validated remediation. An operator must provide the isolated runner described in CI_OPERATOR_HANDOFF.md before hosted execution can be enabled. Owners can complete prioritized M09 cards in parallel. These actions do not begin Phase10 cleanup. Production remains NO-GO under the task restrictions. Live storage, independently verified off-disk backup/restore/rollback, ingress/deployed identity, provider/model integrity and applicable human release gates remain unverified. There was no merge, deployment, production database access, SQLite retirement or MariaDB12.3 upgrade. The existing staged retirement/LTS plans remain plans.