Skip to content

KAI-VORAL-RRA-001 — Release Readiness Assessment

Template ID: TPL-08-01 | Stage: 08-Release-and-Deploy | Version: 0.3
Status: Project record created from the controlled template.

Purpose: Check, in one place, that the release candidate is complete, verified, risk-reviewed and deployable before asking for approval.

Required inputs: Verification report; RTM; risk register; SBOM; change log; rollback plan.

Document control

Field Required entry
Document ID KAI-VORAL-RRA-001
Template used TPL-08-01 Release Readiness Assessment v0.3
Product / project / software version or commit SHA VORAL (Visionary Oral) / PRJ-001 / a6b4429e3165 (branch app_dev of AI-Dental-Project/Visionary_Oral)
Record status and version Draft v0.1
Author / technical reviewer / quality reviewer Claude Code (drafted with Claude Code for KrinosAI) / Tech Lead (name to be assigned) / Security & Privacy Officer (name to be assigned)
Created / updated / approved dates 2026-10-28 / 2026-10-28 / Pending
Applicable SOP and revision SOP-LC-08 v0.3
Related issue, commit, requirement and evidence links KAI-VORAL-VER-001; KAI-VORAL-SBOM-001; KAI-VORAL-CHG-001
Approver and decision record Pending

Applicability and evidence baseline

Product / system boundary: Web app and API (dentalapp/), doctor/admin mobile app (mobile/), on-device models (mobile/assets/models/), PDF Lambda (dentalapp/pdf-lambda/) at a6b4429e3165, and the external services they call. Related approved requirements, risks and change records: None approved. Related drafts are listed in document control. Retrospective record? Yes — follows the Retrospective Documentation Protocol (KrinosAI lifecycle pack, 05-References/). Items are labelled Observed (code or Git at a6b4429), Measured (dated run), Stated (named person, dated) or Not recorded. No controlled release has been recorded (OPEN-046). These records describe the release mechanism found in the code (mobile/eas.json, mobile/app.json), the builds measured in this documentation work, and the plan for the first controlled release. Acceptable evidence: an implementation reference (file:line at a commit SHA), a dated test record, a signed decision, a vendor agreement, or another independently verifiable artifact. Never invent approvals, clinical results, measurements or performance data.

1. Tagged version and inventory

Artifact Version Digest
Web app and API 0.1.0 at a6b4429e3165 No build digest recorded (OPEN-046)
Android app 1.0.0; build number set by EAS (appVersionSource: remote, mobile/eas.json) Not recorded
On-device models Bundle 0.1.0-poc SHA256 per manifest — Measured match 2026-10-28
PDF Lambda dentalapp/pdf-lambda/ at a6b4429 Not recorded

2. Requirements verification and validation status

Item Status
Verification Not passed — KAI-VORAL-VER-001
Clinical validation Not started — OPEN-011
UAT Not held — OPEN-045

3. Risk cybersecurity and privacy review

Item Status
Threat model Open critical items — OPEN-026, OPEN-033, OPEN-017
DPIA Not approved — OPEN-009
Dependencies 5 critical advisories — OPEN-037
Secrets in Git Not resolved — OPEN-007, OPEN-008

4. Outstanding defects and deviations

ID Severity Disposition
BUG-001 (BUG) Critical Must fix before release
BUG-002 (BUG) Critical Must fix before release
BUG-003 (BUG) Critical Must fix before release

5. Deployment staging and rollback readiness

Item Result
Staging None — OPEN-040
Deployment plan KAI-VORAL-DPL-001 (draft)
Rollback plan KAI-VORAL-RBP-001 (draft); no backups to restore from — OPEN-048

6. Approver go/no-go decision

Recommendation By Date
No-go (Claude Code assessment; the decision belongs to the release approver) Claude Code 2026-10-28

Open issues and decisions

ID Specific gap or decision Responsible owner Due date Blocks gate? Evidence required Status
OPEN-001 Tracker project ID, named requester and sponsor, and named reviewers are not recorded Product Owner 2026-11-10 (proposed) Yes Tracker entry; names with roles Open
OPEN-007 Credential files committed to Git: dentalapp/google-credentials.json, dentalapp/mongoDb_usernamePassword (contents not opened) Security & Privacy Officer 2026-10-31 (proposed) Yes Credentials rotated; files removed and purged from history; confirmation Open
OPEN-008 Database backups with personal data committed to Git: 9 files under dentalapp/backups/ (commit 92a4b77; contents not opened) Security & Privacy Officer 2026-10-31 (proposed) Yes Files purged from history; breach/incident assessment recorded Open
OPEN-009 No DPIA Security & Privacy Officer 2026-11-30 (proposed) Yes DPIA Open
OPEN-011 No clinical validation Clinical advisor with ML Lead 2026-12-15 (proposed) Yes Validation study Open
OPEN-017 Admin session signing uses a hard-coded fallback secret when JWT_SECRET is unset (dentalapp/src/lib/admin/session.js:4) Backend Lead 2026-11-10 (proposed) Yes Code fix; secret confirmed set Open
OPEN-026 Critical: 20 API routes have no authentication check, incl. /api/admin/patient-sample (patient emails) and /api/admin/api-usage (doctor names and emails), support tickets/messages, and paid AI routes (/api/detect-gemini, /api/speech-to-text, /api/validate-scan) — see docs/lifecycle/_evidence/api-inventory-a6b4429.md Backend Lead 2026-10-31 (proposed) Yes Auth added to each route; re-run of the inventory shows none unprotected Open
OPEN-033 Critical: deprecated POST /api/admin/signup is public and creates admin profiles with a password for anyone (dentalapp/src/app/api/admin/signup/route.js:14-60); POST /api/admin/auth issues admin sessions signed with a fallback secret (OPEN-017). Full privilege path not verified Backend Lead 2026-10-31 (proposed) Yes Routes removed or locked down; check that no password-based admin can sign in Open
OPEN-037 Known vulnerable dependencies (npm audit 2026-10-27 16:50 UTC): web 4 critical (incl. next, @clerk/nextjs), 23 high; mobile 1 critical, 4 high (incl. expo) — fixes available for all Tech Lead 2026-11-15 (proposed) Yes Upgraded lock files; clean re-run of npm audit Open
OPEN-040 No staging environment or documented environment separation; which data each environment may hold is not recorded Tech Lead 2026-11-30 (proposed) No Environment record with staging and data-class rules Open
OPEN-045 No user acceptance testing with clinic users has been recorded Product Owner 2026-12-15 (proposed) Yes UAT record with named participants, results and decision Open
OPEN-046 No release process: no Git tags, release approvals, deployment records or post-deployment checks; mobile builds are manual eas build runs and the web deployment is not recorded Tech Lead 2026-11-30 (proposed) Yes Tagged release with approval, deployment record and verification Open
OPEN-048 No backup schedule, RPO/RTO or restore test for MongoDB, Cloudflare R2 and AWS S3 Backend Lead 2026-11-30 (proposed) Yes Dated restore test meeting the agreed RPO/RTO Open

Review and approval

Review role Named individual Decision Date Signed / controlled record
Author Claude Code (drafted with Claude Code) Draft 2026-10-28 This file at the commit that adds it
Technical reviewer Tech Lead (name to be assigned) Pending Pending Pending
Quality / regulatory reviewer (if applicable) Qualified regulatory reviewer (name to be assigned) Pending Pending Pending
Authorized approver Product Owner (name to be assigned) Pending Pending Pending