Skip to content

KrinosAI — Repository README

Template ID: TPL-06-06 | Stage: 06-Build-and-Document | Version: 0.3
Record: KAI-VORAL-RDM-001 — retrospective draft for Visionary Oral. Not approved.

Purpose: Give a new engineer everything needed to understand, run, test and contribute to the repository.

Required inputs: Repository setup; environment configuration; coding standards.

Document control

Field Required entry
Document ID KAI-VORAL-RDM-001
Template used TPL-06-06 Repository README 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-27 / 2026-10-27 / Pending
Applicable SOP and revision SOP-LC-06 v0.3
Related issue, commit, requirement and evidence links README.md, mobile/README.md @ a6b4429
Approver and decision record Pending

Applicability and evidence baseline

Product / system boundary: Web app and API (dentalapp/), doctor/admin mobile app (mobile/), 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. Describes what a project README must contain, checked against the existing READMEs: the root README is the default Next.js template (README.md:1-36) plus a stray command (README.md:39); mobile/README.md is detailed. 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. Purpose and status

Item Entry
Purpose Guided 3-view dental photo scan with AI findings and a report (see KAI-VORAL-BRF-001)
Status In use; lifecycle records drafted 2026-10-27; root README needs rewriting — OPEN-005

2. Architecture overview

Item Link
Architecture KAI-VORAL-HLD-001
API KAI-VORAL-APII-001

3. Prerequisites and setup

Tool Version Command
Node.js LTS (version not pinned — not recorded) npm ci in dentalapp/ and mobile/
Python 3.x pip install -r mobile/ml/requirements.txt
Expo CLI / EAS via npx npx expo start; npx eas-cli build

4. Run, test and lint

Task Command
Run web cd dentalapp && npm run dev
Run mobile cd mobile && npx expo start
Test mobile cd mobile && npx jest; npm run typecheck
Lint web cd dentalapp && npm run lint
Test web None — OPEN-027

5. Configuration and secrets

Variable Purpose Source
MONGODB_URI See KAI-VORAL-ACC-001 Host env vars / local .env (never committed)
CLERK_SECRET_KEY See KAI-VORAL-ACC-001 Host env vars / local .env (never committed)
CLERK_WEBHOOK_SECRET See KAI-VORAL-ACC-001 Host env vars / local .env (never committed)
R2_ACCOUNT_ID / R2_ACCESS_KEY_ID / R2_SECRET_ACCESS_KEY See KAI-VORAL-ACC-001 Host env vars / local .env (never committed)
AWS_REGION / S3_BUCKET_NAME / LAMBDA_PDF_URL See KAI-VORAL-ACC-001 Host env vars / local .env (never committed)
OPENROUTER_API_KEY See KAI-VORAL-ACC-001 Host env vars / local .env (never committed)
GROQ_API_KEY See KAI-VORAL-ACC-001 Host env vars / local .env (never committed)
HF_TOKEN / ML_BACKEND_URL / FIT_VALIDATOR_URL See KAI-VORAL-ACC-001 Host env vars / local .env (never committed)
RESEND_API_KEY / EMAIL_FROM See KAI-VORAL-ACC-001 Host env vars / local .env (never committed)
CASHFREE_APP_ID / CASHFREE_SECRET_KEY / CASHFREE_WEBHOOK_SECRET See KAI-VORAL-ACC-001 Host env vars / local .env (never committed)
CLOUDINARY_* See KAI-VORAL-ACC-001 Host env vars / local .env (never committed)
JWT_SECRET See KAI-VORAL-ACC-001 Host env vars / local .env (never committed)
PDF_ACCESS_SECRET See KAI-VORAL-ACC-001 Host env vars / local .env (never committed)
EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY See KAI-VORAL-ACC-001 Host env vars / local .env (never committed)

6. Contributing, ownership and support

Item Entry
Contributing PR with review (not enforced — OPEN-038)
Ownership Tech Lead — Sponsor (name to be assigned)
Support SUPPORT_EMAIL (value not recorded)

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-005 Documents disagree with code: PRD/system flow say 5 views, Cloudinary and direct Gemini; code uses 3 views, Cloudflare R2/S3 storage and OpenRouter/Groq Tech Lead 2026-11-30 (proposed) No Updated PRD, or a recorded decision to keep the code behaviour Open
OPEN-027 The web app (dentalapp/) has no automated tests and no test script Tech Lead 2026-12-15 (proposed) Yes Test suite and CI run for the web app Open
OPEN-038 No branch protection, required reviews or CODEOWNERS recorded; changes are pushed directly to shared branches (app_dev, non-compliance) Tech Lead 2026-11-15 (proposed) Yes Branch protection settings; PR template; CODEOWNERS Open

Review and approval

Review role Named individual Decision Date Signed / controlled record
Author Claude Code (drafted with Claude Code) Draft 2026-10-27 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