Files
jobtrackingapp/docs/redesign/phase-9/p9-requal-01/FINDINGS.md
T
cesnimda 5ac11549b2
MariaDB persistence qualification / mariadb (push) Failing after 7s
test: harden database qualification startup and cleanup evidence
2026-10-24 14:04:57 +02:00

30 KiB
Raw Blame History

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 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 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 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 and handoff remain intact. The RD21 addendum repaired SQLite but withheld provider closure; the later MariaDB acceptance 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 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, 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, 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, frontend audit JSON and npm 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 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. 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 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.