# P9-REQUAL-01 findings and independent gate register Source review dated 24 October 2026 on `fix/p9-ci-and-requalification`, baseline `549b2cba5a791862ba3f854312ea819a86dc42a0`. This register covers RD01–RD28, every retained P9 finding, and M09-01–10. [Machine-readable register](findings.json) contains source, evidence, impact, dependency, owner, status and required closure for each entry. Fresh execution is pending the root-owned validation ledger; every result referenced below is historical unless explicitly updated there. The original [REQUEST §§6,13,18](../REQUEST.md) distinguishes completed assessment from acceptance and explicitly says “Carry uncompleted checks into the release gates.” It permits transparent human-check carry-forward; it does not invent human PASS results. Production-only storage/backup/deployment conditions do not automatically veto isolated functional QA. Each unmet functional criterion still needs a specific disposition. The [master cleanup criterion](../../IMPLEMENTATION_PLAN.md#phase-10--cleanup) requires proof that no route still uses removed code, tests pass and the functionality inventory is satisfied. Neither conditional Phase9 acceptance nor an open manual checklist satisfies these deletion criteria by itself. No Phase10 implementation is authorized. The historical [Phase9 report](../p9-07/FINAL_ACCEPTANCE.md) and [handoff](../p9-07/PHASE10_HANDOFF.md) remain intact. The [RD21 addendum](../rd21-remediation/ACCEPTANCE_ADDENDUM_2026-10-23.md) repaired SQLite but withheld provider closure; the later [MariaDB acceptance](../../../database/mariadb-standardisation/ACCEPTANCE.md) supplies bounded real-provider closure. Thus the old RD21 stale-save FAIL and missing-MariaDB statement describe their original source, not the latest qualified save/concurrency state. [RD21 closure](RD21_CLOSURE.md) preserves separate creation-idempotency, mixed-version deployment and historical-recovery limits. | ID | Current disposition | Phase9 implication | Phase10 implication | Production / debt | Owner and exact closure source | |---|---|---|---|---|---| | RD01 | OPEN; local static/loopback ingress contracts only | operator release gate | candidate-specific ingress compatibility proof | BLOCKED pending actual ingress identity; open operational qualification | Release operator: actual TLS/IPv6/firewall/topology/trusted peer and deployed auth evidence | | RD02 | NOT TESTED: independently verified off-disk complete backup/restore | no independent veto of isolated functional QA | candidate restore dependency | BLOCKED backup/restore; open operational qualification | Release operator: isolated restore of DB/files/CVs/keys/tombstones, hashes and recovery rehearsal | | RD03 | MariaDB 12.2.2 RD21 runtime scope verified historically (32 provider cases, 1 native journey); broader provider/deployment parity still PARTIAL | bounded provider save qualification historical PASS; full fresh matrix pending | provider migration proof per candidate | BLOCKED exact deployed parity/migrations; partial broad provider qualification | Database owner: actual approved MariaDB migration, restart, CRUD/constraints/concurrency and effective configuration proof | | RD04 | NOT TESTED: intended Linux rollback | no independent veto of isolated functional QA | rollback proof per candidate | BLOCKED actual rollback; open operational qualification | Release operator: isolated failure/rollback rehearsal using complete prior images/configuration/recovery set | | RD05 | Hosted database CI BLOCKED: merged host socket binding found; private isolation/lifecycle unproven; deployed identity remains separate | fresh required CI pending root evidence | testpass criterion pending root evidence | BLOCKED deployed identity and operator diagnosis; open CI/release qualification | Infrastructure owner: native core/operator diagnosis, successful protected CI, exact deployed SHA and authenticated smoke | | RD06 | PARTIAL: finite axe/DOM/keyboard evidence; human checks open | manual carry-forward allowed only as explicit release qualification (REQUEST §6), no human PASS | affected functionality must remain satisfied; no deletion permission | BLOCKED applicable human accessibility; open human qualification | Accessibility tester: [M09-01–06](../p9-03/MANUAL_CHECKLIST.md), contextual contrast/reader evidence; triage every applicable incomplete | | RD07 | NOT TESTED: physical input/AT/alternate browsers/forced colors | manual carry-forward release qualification; no physical/AT PASS | affected functionality proof still required | BLOCKED supported device/browser/input acceptance; open human qualification | Product/accessibility owners: actual supported devices/browser/input versions and complete workflows | | RD08 | DEFERRED; no new model qualification or activation | C11 explicitly withheld; separate scope | no activation/deletion eligibility | BLOCKED AI activation unless separately qualified; DEFERRED product/model scope | Separate AI qualification owner: production-equivalent identity/inference, original 366-call protocol, independent human semantics, review UI/integration evidence | | RD09 | Local withheld-operation contract retained; deployed withholding NOT TESTED | local withholding contract needs fresh successor | retain withholding and callers | BLOCKED deployed withholding untested; open deployment qualification | Release/AI owners: keep 503/no-provider/no-write guards, verify actual deployment independently | | RD10 | PARTIAL: native local PDF corpus and visual sheets; deployed fonts/photo/print absent | finite output qualification; human/Linux/print not passed | affected rendering must preserve output contracts | BLOCKED intended output environment; open output qualification | Document owner: intended Linux/fonts/photo/crop/print and alternate-browser proof, original bytes/geometry | | RD11 | Scoped SQLite bootstrap/WAL mechanism repaired before entry; broad reliability remains PARTIAL | scoped WAL repair retained; broad reliability qualification open | retain provider/concurrency safeguards | provider contention remains qualified; retained broader reliability | Database owner: retain held-reader/write proof, distinguish old reproduced mechanism from unproven provider/contention cases | | RD12 | PARTIAL: notification draft/failure recovery and SQLite tests; complete contention/provider behavior unqualified | no newly established failure; provider overlap remains qualification | candidate must preserve drafts and recovery | intended-provider qualification open; retained reliability | Database/settings owners: intended-provider overlapping writes and failure/reload recovery with no data loss | | RD13 | Historical Rules 500 mechanism remains UNCONFIRMED | historical causal mechanism UNCONFIRMED; not relabelled resolved | candidate must preserve Rules recovery | no complete reliability claim; unconfirmed historical observation | Rules/API owners: original failure trace plus controlled causal reproduction and successor regression; passing retry alone insufficient | | RD14 | Historical command/dialog focus incident remains UNCONFIRMED; settled drawer proof is a separate finite result | historical causal mechanism UNCONFIRMED; human focus qualification | candidate must preserve trap/return/error states | applicable human checks open; unconfirmed historical observation | Shared UI owner: preserve original observations, reproduce affected modal transitions and actual reader/trap/return behavior | | RD15 | Historical intermittent CV section expansion cause unproven | historical cause UNCONFIRMED; no invented current defect | candidate must preserve expansion state | broader reliability qualification; unconfirmed historical observation | CV owner: retain failed observation and reproduce causally before closing; do not weaken expansion assertions | | RD16 | Scoped company-error repair retained; wider reader/dialog/date contract PARTIAL | scoped repair historical PASS; broader human contract open | candidate-specific recovery proof | human/provider qualification open; partial preserved contract | Company/UI owners: native failed-save → retained draft → successful retry plus human dialogue checks | | RD17 | Board remains O(N); 200/1,000-job and new bounded 250-job observations are finite | finite capacity evidence; fresh sustained lane pending | measured bottleneck and full membership before optimization | no production capacity/SLA claim; O(N) known design limit | Jobs owner: agreed budget, bounded sustained profile and CPU/frame attribution before optimization; preserve full membership | | RD18 | NOT TESTED: physical drag/drop/cancel/browser variants | manual carry-forward release qualification; physical behavior not passed | retain accessible reorder alternatives | BLOCKED physical input variants; open device qualification | Input/device tester: real Board/CV selection and named alternatives, no hidden result cap | | RD19 | DEFERRED: reviewed `followMode` consumer | accepted deferred reviewed consumer; no activation | ineligible to remove metadata/paths | separate activation gate; DEFERRED product scope | Product/mail owner: separate explicit mode→review/action/fallback design; no auto-send or uncertain resend | | RD20 | Optional P5-05 quick preview DEFERRED; Phase 8 Dashboard scope was delivered separately | optional preview DEFERRED; full workspace retained | no deletion of full workspace/aliases | no independent veto while optional scope remains deferred; DEFERRED optional scope | Product owner: explicit separate brief; retain existing full workspace and all routes | | RD21 | RESOLVED within qualified MariaDB 12.2.2 save/concurrency scope; current branch successor qualification pending root ledger; creation-intent idempotency remains separate OPEN debt | bounded save/concurrency resolved historically; fresh full successor pending; creation idempotency separate | no compatibility removal without all-caller/rollback proof | BLOCKED deployment/rollback parity; no historical recovery claim; creation-intent idempotency OPEN, separate concern | Domain/API/UI owners: separate bounded contract issue covering both callers, server compare-and-swap/transaction semantics, conflict recovery and backward compatibility; characterization is not safety acceptance | | RD22 | NOT TESTED: enabled-worker outage recovery/durability | isolated fixtures do not accept enabled producer | retain stable IDs and recovery paths | BLOCKED enabled-worker recovery; open operational qualification | Worker owner: isolated enabled-producer failure/restart/recovery, no-loss/no-duplicate proof before activation | | RD23 | OPEN: actual calendar offset/DST/date-only semantics | actual offset/DST/date-only unqualified | retain calendar semantics until dedicated proof | BLOCKED calendar activation qualification; open provider semantics | Calendar owner: dedicated boundary/DST/provider proof in authorised sandbox before semantic changes | | RD24 | NOT TESTED: billing/deletion/retention/provider cleanup policy and configuration | policy and destructive lifecycle outside functional proof | no removal without approved lifecycle policy | BLOCKED policy/restore/provider cleanup; open policy qualification | Product/security/operator owners: approved policy, explicit destructive-action authority, isolated recovery/cleanup proof | | RD25 | PARTIAL: local SMTP/HTTP/provider contracts; actual OAuth/Turnstile/mail/calendar/model unavailable | sandbox/provider qualifications remain; fixtures do not pass them | candidate must preserve auth/delivery contracts | BLOCKED applicable real provider evidence; open provider qualification | Approved provider/human tester: sandbox consent/revoke/reconnect/origin/state/delivery/uncertain-attempt proof | | RD26 | Legacy Job/Application cutover OPEN | no legacy cutover authorized | BLOCKED deletion until expand/verify/contract and all readers/writers | BLOCKED unqualified cutover; open migration scope | Migration owner: expand/verify/contract, restore/rollback and all readers/writers/aliases before removal | | RD27 | NOT TESTED: actual monitoring/alert/recovery coverage | no independent veto of isolated functional QA | candidate observability proof where affected | BLOCKED actual alert/recovery; open operational qualification | Operations owner: effective sink, alert trigger, responder/runbook and recovery observations | | RD28 | Ongoing evidence/provenance obligation | fresh exact evidence and source binding required | required exact candidate evidence | required exact deployment evidence; ongoing obligation | QA owner: exact source hashes/counts, original failures, no retries/skips/assertion relaxation; separate characterization from safe behavior | | P9-OPS-01 | Previously reported EXT4/Docker storage errors UNRECHECKED | not a standalone functional defect; retain stated qualification | no permission to delete; affected-candidate proof | BLOCKED until stated operator closure; retained gate | Production operator only: independent storage-health/repair and recovery qualification under separate authority | | P9-SEC-01 | Inherited advisory/review gate retained. Fresh live audit observations linked as P9-REQUAL-SEC01–03; compatible local pins and post-pin audits zero, full final-source successors pending. No production deployment or app-reachable exploit claimed. | local dependency fixes and post-pin zero audits recorded; complete frozen successors pending | no permission to delete; affected-candidate proof | BLOCKED independent deployed versions, exposure and release gates; no production fix claimed; inherited live-advisory gate retained; three new observations independently tracked | Dependency owner: authorised live advisory refresh, actual locked versions/paths and pre-expiry exception review; offline fixed-date policy tests do not clear current advisories. No environment bypass | | P9-PUB-01 | Initial HTTP502 blockage recovered on23October; all checkpoint ancestors published in normal push; direct feature equality verified at `0fb108bd673ea91749f6fa057295e5b6d15d557f` | not a standalone functional defect; retain stated qualification | no permission to delete; affected-candidate proof | BLOCKED until stated operator closure; retained gate | QA: retain failed attempts and verify each subsequent normal push; no force push | | P9-T01 | RESOLVED within historical tested scope; fresh successor pending | fresh affected regression required | candidate proof only; no cleanup authority | does not clear independent release gates; Resolved in tested Windows environment; Linux run remains separate. | QA; `.artifacts/phase9/sidecar-entry-failed.*`, `sidecar-fixture-red.*`, `sidecar-fixture-green.*`, `sidecar.xml` | | P9-L01 | RESOLVED within historical tested scope; fresh successor pending | fresh affected regression required | candidate proof only; no cleanup authority | does not clear independent release gates; Resolved in observed local integration; no authorisation, pagination or data contract change. | Frontend; `admin-users-page.test.tsx`, `AdminUsersPage.tsx`; retained RED/GREEN logs/JSON | | P9-V01 | RESOLVED within historical tested scope; fresh successor pending | fresh affected regression required | candidate proof only; no cleanup authority | does not clear independent release gates; Bounded fix verified by native geometry/build; the complete final 362-case ordinary successor also passed. | Frontend; `LandingPage.tsx`, new `landing-presentation.spec.ts`; `landing-red`, `landing-qualified`, `landing-accepted` raw reports | | P9-V02 | RESOLVED within historical tested scope; fresh successor pending | fresh affected regression required | candidate proof only; no cleanup authority | does not clear independent release gates; bounded CTA repair separate from P9-V01 four-h2 repair | Frontend/QA: preserve existing LandingPage lineHeight1.4 and exact CTA+heading geometry assertions; qualify fresh complete landing and ordinary successors on frozen source, retain original RED/GREEN evidence and native-width images; original source: [FINAL_ACCEPTANCE.md](../p9-07/FINAL_ACCEPTANCE.md), line51. | | P9-L02 | RETAINED low development debt | nonblocking development debt with visible limit | candidate proof only; no cleanup authority | does not clear independent release gates; Retained nonblocking development qualification; no data mutation proposed. | UI/localisation owner; separately map known event enums with unknown-value fallback and history/audit tests; human wording review | | P9-T02 | RESOLVED within historical tested scope; fresh successor pending | fresh affected regression required | candidate proof only; no cleanup authority | does not clear independent release gates; Test-only repair; no product or authorisation change. | QA; `phase7-admin-users.spec.ts`; original shard report/trace and `admin-grid-green` retained. Other English-name callers belong to the separate English JobTable owner and remain unchanged. | | P9-PERF-01 | RETAINED low development debt | nonblocking development debt with visible limit | candidate proof only; no cleanup authority | does not clear independent release gates; Accepted existing development debt; no Phase 10 implementation here. | Shared reminder read owner; measured benefit and independent shell/dashboard failure/loading tests before consolidation. | | P9-T03 | RESOLVED historical fixture; fresh successor pending | fresh exact fixture/case successor | preserve isolation and assertions | not enabled-worker acceptance; no product fix inferred | QA: retain failed run, unchanged no-write assertions, fixture config delta and fresh full successor | | M09-01 | NOT TESTED | explicit carry-forward qualification under REQUEST §6; no human result inferred | affected functionality proof required; no deletion authority | BLOCKED until applicable genuine human/provider evidence; open qualification | accessibility tester: Names, roles, values, selected state, headings, reading order and errors are understandable; retain reader/version and spoken observations. No hidden background content is announced. | | M09-02 | NOT TESTED | explicit carry-forward qualification under REQUEST §6; no human result inferred | affected functionality proof required; no deletion authority | BLOCKED until applicable genuine human/provider evidence; open qualification | accessibility tester: Visible focus, logical order, genuine traps only while modal, Escape and focus restoration; no off-screen/hidden tab stops. Record any transition-specific failure. | | M09-03 | NOT TESTED | explicit carry-forward qualification under REQUEST §6; no human result inferred | affected functionality proof required; no deletion authority | BLOCKED until applicable genuine human/provider evidence; open qualification | accessibility tester: Each action/position/save/error announces once and agrees with visible DOM order; pointer drag has an equivalent keyboard route. | | M09-04 | NOT TESTED | explicit carry-forward qualification under REQUEST §6; no human result inferred | affected functionality proof required; no deletion authority | BLOCKED until applicable genuine human/provider evidence; open qualification | accessibility tester: Applicable normal text ≥4.5:1, large text ≥3:1 and necessary UI boundaries/focus ≥3:1. Record sampled colors/ratios/state. An axe incomplete is not sufficient to close the row. | | M09-05 | NOT TESTED | explicit carry-forward qualification under REQUEST §6; no human result inferred | affected functionality proof required; no deletion authority | BLOCKED until applicable genuine human/provider evidence; open qualification | accessibility tester: Invisible zero badge is absent from announcements; live unread count remains meaningful; closed drawer is neither read nor tabbable. Runtime DOM checks cover only the tested states. | | M09-06 | NOT TESTED | explicit carry-forward qualification under REQUEST §6; no human result inferred | affected functionality proof required; no deletion authority | BLOCKED until applicable genuine human/provider evidence; open qualification | accessibility tester: Essential controls remain reachable/readable, no lost content or focus; distinguish intentional table/document scrollers from root clipping. Preserve fixed A4/Letter geometry. | | M09-07 | NOT TESTED | explicit carry-forward qualification under REQUEST §6; no human result inferred | affected functionality proof required; no deletion authority | BLOCKED until applicable genuine human/provider evidence; open qualification | product owner with physical devices: No keyboard-obscured primary action/data loss; reachable touch targets, no accidental destructive action; record device/input mode. Emulated touch does not close this. | | M09-08 | NOT TESTED | explicit carry-forward qualification under REQUEST §6; no human result inferred | affected functionality proof required; no deletion authority | BLOCKED until applicable genuine human/provider evidence; open qualification | Bokmål reviewer: Natural professional Bokmål, consistent established terms, meaningful messages. Separate authored English content, technical names and provider strings from untranslated application copy. | | M09-09 | NOT TESTED | explicit carry-forward qualification under REQUEST §6; no human result inferred | affected functionality proof required; no deletion authority | BLOCKED until applicable genuine human/provider evidence; open qualification | document reviewer: Legible fonts, intact glyphs/diacritics, margins, page boundaries, searchable text, photo/crop, correct language/date output and no missing/duplicated content. Retain original bytes, renderer/font versions and print observations. | | M09-10 | NOT TESTED | explicit carry-forward qualification under REQUEST §6; no human result inferred | affected functionality proof required; no deletion authority | BLOCKED until applicable genuine human/provider evidence; open qualification | approved provider tester: Correlated origin/state, explicit confirmation, no accidental resend, correct ownership/timezone. Local SMTP/HTTP fixtures do not close external-provider qualification. | ## New requalification security findings | ID | Current disposition | Phase9 implication | Phase10 implication | Production / debt | Owner and exact closure | |---|---|---|---|---|---| | P9-REQUAL-SEC01 | LOCALLY REMEDIATED; post-pin audits zero; complete final-source successor validation PENDING; production NOT DEPLOYED | bounded dependency remediation observed locally; full frozen successor qualification pending | testpass and functionality-inventory criteria still require final complete evidence; no cleanup authority | NOT DEPLOYED; no deployed fix or app-reachable exploit claim; independent release gates retained; published vulnerable package version repaired locally; remaining evidence qualification | Dependency/QA owner: Direct compatible package override System.Security.Cryptography.Pkcs8.0.2; retain MimeKit4.17.0 ownership. Retain before/after advisory paths, raw hashes and exact lock/pin delta; complete frontend/browser and required full successors, then bind all reports to final source. Production deployed dependencies/exposure remain independent. | | P9-REQUAL-SEC02 | LOCALLY REMEDIATED; post-pin audits zero; complete final-source successor validation PENDING; production NOT DEPLOYED | bounded dependency remediation observed locally; full frozen successor qualification pending | testpass and functionality-inventory criteria still require final complete evidence; no cleanup authority | NOT DEPLOYED; no deployed fix or app-reachable exploit claim; independent release gates retained; published vulnerable package version repaired locally; remaining evidence qualification | Dependency/QA owner: Pin Next and eslint-config-next exactly16.4.1. Existing static export, unoptimized images and Sharp0.35.5 mitigate the image-serving path; they do not close every package advisory. Retain before/after advisory paths, raw hashes and exact lock/pin delta; complete frontend/browser and required full successors, then bind all reports to final source. Production deployed dependencies/exposure remain independent. | | P9-REQUAL-SEC03 | LOCALLY REMEDIATED; post-pin audits zero; complete final-source successor validation PENDING; production NOT DEPLOYED | bounded dependency remediation observed locally; full frozen successor qualification pending | testpass and functionality-inventory criteria still require final complete evidence; no cleanup authority | NOT DEPLOYED; no deployed fix or app-reachable exploit claim; independent release gates retained; published vulnerable package version repaired locally; remaining evidence qualification | Dependency/QA owner: Use compatible existing ^4 dependency range via Zod4.6.6 override; do not add runtime functionality. Retain before/after advisory paths, raw hashes and exact lock/pin delta; complete frontend/browser and required full successors, then bind all reports to final source. Production deployed dependencies/exposure remain independent. | | P9-REQUAL-SEC04 | OPEN; locked Python advisory coverage INCOMPLETE; critical/high provider labels retained; exploitability NOT ASSESSED | REQUEST §9 explicit security risk review required and NOT CLOSED; zero NuGet/npm findings cannot clear Python findings | entry security uncertainty remains inherited and UNWAIVED; no cleanup authority | RELEASE BLOCKER pending security/sidecar disposition and qualified remediation; no production fix/deployment claimed; open locked Python security findings and coverage gap; major ML/parser transition requires separate validated scope | Security/sidecar owners: preserve exact lock hash and raw provider records, resolve/document PyPI torch+cpu query gap while retaining successful exact OSV evidence, assess applicability/reachability and supported fixes, propose bounded separately validated ML/parser dependency transition with affected regression and model/parser compatibility evidence. No automatic dependency rewrite, model activation or production action. | The stable review IDs are P9-REQUAL-SEC01, P9-REQUAL-SEC02, P9-REQUAL-SEC03 and P9-REQUAL-SEC04. Original RED live audits remain under `.artifacts/p9-requal-01/security-before-pins/`. Post-pin [NuGet log](../../../../.artifacts/p9-requal-01/security/nuget-advisories.log), [frontend audit JSON](../../../../.artifacts/p9-requal-01/security/frontend-audit.json) and [npm log](../../../../.artifacts/p9-requal-01/security/npm-advisories.log) report zero NuGet findings and npm0 vulnerabilities. Root will record exact raw hashes and final source binding. This confirms package advisory remediation locally, not a reachable exploit before the fix or a deployed production fix. The fresh locked Python evidence under `.artifacts/p9-requal-01/security/python-locked/` is **OPEN / coverage INCOMPLETE**. It contains49 pins/98 queries:97 successful,1 PyPI404 for `torch2.6.0+cpu`; exact OSV lookup succeeds.249 provider records yield109 advisory alias groups across certifi, filelock, pillow, pypdf, setuptools, torch, transformers and urllib3. Some provider labels are critical/high; exploitability is not assessed.109 alias groups are **not109 independent CVEs**. Locked-file SHA256:`36f2912965d183e59f2d8320f3817ca8dd0fee6d76e05cfd63ac92defe6c6031`. CI is preparing tracked `python-advisories.json` and `PYTHON_SECURITY.md`; this register does not claim those summaries complete. REQUEST §9 security review remains unclosed, Phase10 entry uncertainty remains unwaived and production release remains blocked. A major ML/parser dependency transition needs separately validated scope; no automatic dependency rewrite or model activation is authorized. Zero NuGet/npm findings cannot support blanket security PASS. ## Current requalification changes awaiting final source freeze Root's authorized live audits identified the vulnerable dependency versions recorded above. Local compatible corrections are Pkcs8.0.2, Next/eslint-config-next16.4.1 and Zod4.6.6. Post-pin NuGet/npm audits show zero findings. Post-pin backend1123, MariaDB32 and build/types/lint pass; complete frontend and browser successors are still pending. Pre-pin frontend934 cannot qualify the final dependency source. Exact source/report hashes and final complete successors remain root-owned. No application-reachable exploit or production repair is claimed. Hosted database CI remains **BLOCKED**: root investigation found merged host-Docker-socket binding; private service isolation/lifecycle is not proven. Keep the explicit workflow gate. Local real-MariaDB evidence does not cure hosted isolation, and hosted isolation does not invalidate local provider persistence results. Final evidence and operator handoff belong to the root CI report. ## Inherited accessibility causes The [original triage](../p9-03/inherited-axe-triage.json) reconciles64 inherited occurrences into four cause groups. Fresh scans have separate repeated occurrences; neither count is a unique defect count. These four entries also appear with independent gate/dependency fields in findings.json. | ID | Underlying cause / historical occurrences | Disposition / exact closure | |---|---|---| | P9-AX-01 | drawer/focus: focusable-modal-open, 1 occurrences | Requires manual inspection. Shared Dashboard drawer settled predicate, Escape focus and24Tab proof pass. Original Analytics transition cause is not proven; human reader/transition qualification remains. | | P9-AX-02 | dashboard size selector: bgOverlap, 48 occurrences | Requires manual inspection. Contextual foreground/background measurement remains required. | | P9-AX-03 | text/control with obscured background: bgOverlap, 5 occurrences | Requires manual inspection. Contextual foreground/background measurement remains required. | | P9-AX-04 | hidden badge: shortTextContent, 10 occurrences | Not applicable in tested settled hidden state. Four current native EN/NB theme vectors: aria-hidden=true and zero area. Actual reader/live unread-state remains separate. | No current final verdict is locked by this source register. Root must reconcile fresh hosted CI, full regression, source binding, sustained workload and review before issuing the five independent recommendations. Open rows remain visible even if another lane passes. P9-L02 and P9-PERF-01 are low development debt; RD19/RD20 and C11 are deferred product/model scope; production-only operations stay operator gates. The 57 preservation groups are capabilities with individual residuals, not 57 confirmed defects; see [preservation](PRESERVATION.md). No test counts are summed across overlapping lanes. ## Additional verified provider defect P9-REQUAL-DB01: actual MariaDB Documents UNION failed on mixed startup name collations. [Repair and real RED/GREEN evidence](DOCUMENTS_PROVIDER_REPAIR.md) records the narrow read-only fix, three new cases and full35/35 MariaDB plus1123/1123 backend successors. Broad final-source qualification remains separate. The register now contains58 unique findings.