Skip to content

KAI-VORAL-APR-001 — API and Data Retirement

Template ID: TPL-10-03 | Stage: 10-Close-and-Retire | Version: 0.3
Status: Project record created from the controlled template.

Purpose: Retire specific APIs, events or datasets without breaking consumers or losing data that must be kept.

Required inputs: API inventory; consumer logs; data inventory.

Document control

Field Required entry
Document ID KAI-VORAL-APR-001
Template used TPL-10-03 API and Data Retirement 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-10 v0.3
Related issue, commit, requirement and evidence links KAI-VORAL-RET-001; KAI-VORAL-APC-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. The product is live and is not being retired; there is no retirement decision in KAI-VORAL-DEC-001. These records cover components to be retired inside the live product (legacy admin login routes, committed backups and credentials, the old Expo project) and the future closure of the current project. 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. Endpoint and event dependency inventory

API ID Consumers seen (90 days) Calls/day
API-002 (APC) Web admin login page (dentalapp/src/app/admin/login/page.jsx:18); traffic not recorded (OPEN-043) Not recorded
API-020 (APC) Admin dashboard logout (dentalapp/src/app/admin/dashboard/page.jsx:206) Not recorded
API-034 (APC) No caller found in the app code; listed as public in dentalapp/src/middleware.js:18 Not recorded

2. Deprecation schedule and consumers

Consumer Notified Acknowledged
Admins using the legacy login No No

3. Version migration and contract testing

Consumer Replacement Contract test
Admins Clerk sign-in with the admin role (REQ-001, REQ-002) TC-101

4. Data export archive and secure deletion

Data Action Record
admin profiles with stored passwords created by API-034 Review each; delete unknown admins; remove password fields Pending

5. Safety and backward compatibility controls

Control Entry
Switch-off Return 410 Gone for 30 days before deleting the code
Monitoring Watch for calls to the retired routes (ALT-05 (MON))

6. Completion evidence and approval

Item Entry
Completion Route inventory shows the routes gone
Approval Pending

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-043 No structured logging, metrics, uptime monitoring or alerting; logs are console.* only Tech Lead 2026-11-30 (proposed) Yes Monitoring and alerting in place with an on-call contact 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 Tech Lead (name to be assigned) Pending Pending Pending