Make the current V1 app safer, clearer, and easier to ship without adding new Claude ecosystem surfaces.
No breaking API changes.
Allowed additive fields:
type ReadinessSeverity = "blocking" | "warning" | "optional";
interface DoctorCheck {
severity?: ReadinessSeverity;
}
interface ChatStatus {
canSend?: boolean;
blockingReason?: string | null;
suggestedAction?: string | null;
}
src/lib/settings/doctor.tssrc/app/api/chat/status/route.tssrc/app/settings/page.tsxsrc/app/chat/page.tsxsrc/components/layout/Sidebar.tsxREADME.mdseverity to Doctor checks without changing existing status semantics.canSend, blockingReason, and suggestedAction to /api/chat/status.canSend is false.npx --yes tsx src/lib/settings/doctor.test.tsnpx --yes tsx src/app/api/chat/status/route.test.tsnpx --yes tsx src/app/api/settings/local-guards.test.tsnpm run lintnpm run build/settings.Test CLI and Open Login buttons keep disabled/loading states./chat.Rebuild Index./api/settings/doctor contains no raw home paths, account identifiers, API keys, or raw provider output./api/chat/status contains no raw profile paths or provider secrets.Checkpoint as feat(v1): polish release readiness only after tests, build, and browser smoke pass.
Implemented in checkpoint 66b56ba feat(release-polish): add chat readiness and setup doctor polish.
Verification completed on 2026-06-14:
npx --yes tsx src/lib/settings/doctor.test.tsnpx --yes tsx src/app/api/chat/status/route.test.tsnpx --yes tsx src/app/api/settings/local-guards.test.tsnpx --yes tsx src/app/api/index/route.test.tsnpm run lintcmd.exe /c npm run build/settings browser smoke: Doctor rows, severity labels, top actions, first-run checklist, active values, and no recent console errors./chat browser smoke: readiness badges, blocked send state, disabled send, suggested prompts, and no recent console errors.git diff --check