KAI-VORAL-MDC-001 — AI Model Card
Template ID: TPL-07-06 | Stage: 07-Test-and-Validate | Version: 0.3
Status: Project record created from the controlled template.
Purpose: Describe a model version: intended use, data, pipeline, evaluation (overall and by subgroup), limits and monitoring.
Required inputs: Dataset datasheets; training run records; evaluation results.
Document control
| Field |
Required entry |
| Document ID |
KAI-VORAL-MDC-001 |
| Template used |
TPL-07-06 AI Model Card 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) / Clinical advisor (name to be assigned) |
| Created / updated / approved dates |
2026-10-28 / 2026-10-28 / Pending |
| Applicable SOP and revision |
SOP-LC-07 v0.3 |
| Related issue, commit, requirement and evidence links |
mobile/src/ml/models.ts; mobile/ml/model-manifest.json; KAI-VORAL-DSD-001; KAI-VORAL-VAL-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. Test records describe the tests that exist at a6b4429 and the one run made on 2026-10-28. No earlier test runs, test plans or sign-offs were recorded; tests for untested requirements are planned, not run.
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. Model identifier architecture and intended use
| Item |
Entry |
| Models |
Five ONNX files in mobile/assets/models/: cavity, calculus, gum_recession, swollen_gums (detection) and teeth_seg (segmentation); each version 1.0.0, bundle 0.1.0-poc (mobile/ml/model-manifest.json) |
| Architecture |
Single-class YOLOv8 detectors and YOLOv8-seg teeth model, exported to ONNX (mobile/src/ml/models.ts:1-14) |
| Input size |
1024 × 1024 for the four detectors; 416 × 416 for teeth_seg (mobile/src/ml/models.ts:36-87) |
| Integrity |
Measured 2026-10-28: SHA256 of all five bundled files matches the manifest (e.g. cavity 98882bf1d3808607…) |
| Intended use |
Proposed (Claude Code, for confirmation): screening aid that marks possible findings for a dentist to review; not a diagnosis (OPEN-004, OPEN-006) |
2. Training data and feature provenance
| Purpose |
Dataset |
| Training |
Not recorded — OPEN-044 |
| Evaluation |
None recorded — OPEN-011 |
| Export check |
mobile/ml/sample-images/ compared against the Python reference (TC-008) |
3. Preprocessing and inference pipeline
| Step |
Detail |
| Quality gate |
teeth_seg finds teeth; sharpness ≥ 25, coverage ≥ 3 %, span ≥ 0.3 of width, centre offset ≤ 0.3 (mobile/src/ml/qualityDecision.ts:25-41) |
| Pre-processing |
Letterbox resize to the model input (mobile/src/ml/letterbox.ts) |
| Inference |
onnxruntime-react-native on the phone; 120 s limit per detector step (mobile/src/ml/analysis.ts:30) |
| Post-processing |
Confidence ≥ 0.1, NMS IoU 0.7, same-class overlap filter 0.8 (mobile/src/ml/models.ts:36-87) |
| Views |
Front photo: four detectors; upper and lower jaw: cavity and calculus only (REQ-017) |
4. Evaluation datasets metrics and intervals
| Metric |
Value |
95% CI |
Dataset |
| Sensitivity / specificity per finding |
Not measured |
— |
— (OPEN-011) |
| Letterbox agreement with the Python reference |
Matches (TC-008 pass) |
— |
mobile/ml/sample-images/upper.jpg |
5. Subgroup and failure mode results
| Subgroup |
Sensitivity |
n |
| All subgroups |
Not measured |
0 |
6. Known limitations contraindications
| Limitation |
Shown to users? |
| Not clinically validated |
Not recorded — report wording to be confirmed (OPEN-004) |
| Low confidence threshold (0.1) gives more false positives |
No |
| Depends on photo quality |
Yes — retake prompt (REQ-013) |
7. Monitoring drift change criteria and approvals
| Item |
Entry |
| Monitoring |
None (OPEN-050) |
| Change criteria |
Proposed (Claude Code, for confirmation): any change to a model file needs a new manifest hash, TC-005 to TC-008 pass, and a validation re-run |
| 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-004 |
Intended-use statement not confirmed (proposed wording in KAI-VORAL-IRS-001 §1) |
Product Owner with Qualified regulatory reviewer |
2026-11-10 (proposed) |
Yes |
Confirmed wording, dated |
Open |
| OPEN-006 |
Medical-device applicability not assessed in any jurisdiction |
Qualified regulatory reviewer |
2026-11-30 (proposed) |
Yes |
Written regulatory determination |
Open |
| OPEN-011 |
No clinical validation |
Clinical advisor with ML Lead |
2026-12-15 (proposed) |
Yes |
Validation study |
Open |
| OPEN-044 |
Training and evaluation datasets of the five on-device models (source, rights, consent, cohort, labelling protocol, splits) are not recorded in this repository; the models were trained in the external Visionary_oral_ML repository |
ML Lead |
2026-12-15 (proposed) |
Yes |
Completed dataset datasheet with source and rights basis |
Open |
| OPEN-050 |
No field monitoring of model performance or input drift and no ground-truth feedback from dentists |
ML Lead |
2027-01-31 (proposed) |
No |
Drift metrics and a dentist feedback loop in operation |
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 |
ML Lead (name to be assigned) |
Pending |
Pending |
Pending |