JSON
{
"confidence": "medium",
"operational": {
"kind": "none",
"drift": "n/a",
"score": null,
"checks": [],
"status": "not_applicable",
"latest_tag": null,
"deployed_version": null
},
"gap_analysis": "Everything required by the Phase-1 definition of done is unimplemented. There is no Android project skeleton, no data layer (Room entities/DAOs/repositories), no domain layer (models/use cases), and no UI (setup wizard, home, sequential checkpoint loop, summary, history, config editor). No theming for low-light use, no persistence of in-progress rounds, and no tests. The entire MVP must be built from scratch following the documented Kotlin/Compose/Room/Hilt stack.",
"proposed_tasks": [
{
"title": "Scaffold Android project and core infrastructure",
"subtasks": [
{
"title": "Gradle/Compose/Material3 project skeleton and module structure",
"estimated_minutes": 240
},
{
"title": "Hilt dependency injection setup",
"estimated_minutes": 120
},
{
"title": "Navigation Compose nav graph skeleton",
"estimated_minutes": 120
},
{
"title": "High-contrast low-light theme (colors, typography, shapes)",
"estimated_minutes": 240
}
],
"description": "Create the Gradle Android project (Kotlin, Compose, Material 3) with the clean-architecture package layout (data/domain/ui), Hilt DI setup, Jetpack Navigation Compose nav graph skeleton, and a low-light high-contrast Material 3 theme (colors/typography/shapes) with 80dp+ touch targets.",
"estimated_minutes": 720
},
{
"title": "Implement Room data layer",
"subtasks": [
{
"title": "Room entities + enums + type converters",
"estimated_minutes": 240
},
{
"title": "DAOs with Flow-based reactive queries",
"estimated_minutes": 300
},
{
"title": "Repository interfaces (domain) and implementations (data)",
"estimated_minutes": 240
},
{
"title": "DAO/repository unit tests (in-memory DB)",
"estimated_minutes": 180
}
],
"description": "Define Room entities (Building, Checkpoint, Round, CheckResult) with UUID keys and all spec fields including unused-until-Phase-2 columns (photo_path, latitude, longitude). Implement DAOs with reactive Flow queries, the Room database with type converters and enums, and repository implementations behind domain interfaces.",
"estimated_minutes": 960
},
{
"title": "Implement domain layer use cases",
"subtasks": [
{
"title": "Domain models and mappers",
"estimated_minutes": 150
},
{
"title": "Building/checkpoint config use cases",
"estimated_minutes": 150
},
{
"title": "Round lifecycle + check-result use cases (issues_found, snapshot)",
"estimated_minutes": 180
},
{
"title": "Use case unit tests",
"estimated_minutes": 120
}
],
"description": "Domain models and use cases for building/checkpoint management, round lifecycle (start/complete/abandon with checkpoint-count snapshot and issues_found computation), and check-result recording. Pure Kotlin, no Android deps, with unit tests.",
"estimated_minutes": 600
},
{
"title": "Build first-time setup wizard",
"subtasks": [
{
"title": "Welcome + Create Building screens",
"estimated_minutes": 180
},
{
"title": "Add Checkpoints rapid-entry UI",
"estimated_minutes": 240
},
{
"title": "Drag-to-reorder walking order",
"estimated_minutes": 180
},
{
"title": "Review & Confirm screen + ViewModel",
"estimated_minutes": 120
}
],
"description": "Welcome screen, Create Building screen (name required, address optional, prefilled suggestion), rapid Add Checkpoints entry (label/type/area), drag-reorderable walking order, and Review & Confirm screen with edit/delete, plus ViewModels wired to use cases.",
"estimated_minutes": 720
},
{
"title": "Build Home screen and round lifecycle entry",
"subtasks": [
{
"title": "Home screen UI + ViewModel with quick stats",
"estimated_minutes": 180
},
{
"title": "Start round + resume-in-progress wiring",
"estimated_minutes": 180
}
],
"description": "Home screen with active building name, prominent Start Round button, and last-round quick stats. Wire Start Round to create a Round, snapshot checkpoint count, and navigate to the first checkpoint. Resume an existing in-progress round on launch.",
"estimated_minutes": 360
},
{
"title": "Build sequential checkpoint resolution UI (core loop)",
"subtasks": [
{
"title": "Checkpoint card layout + per-type status buttons",
"estimated_minutes": 300
},
{
"title": "Tap-to-record auto-advance + progress bar",
"estimated_minutes": 180
},
{
"title": "Swipe-back to revisit/change previous answer",
"estimated_minutes": 180
},
{
"title": "Slide-up note panel (non-blocking, 500 char)",
"estimated_minutes": 120
},
{
"title": "Round ViewModel state + in-progress persistence",
"estimated_minutes": 120
}
],
"description": "Full-screen checkpoint card with label/type icon/area/progress and large thumb-friendly status buttons per type state machine (door/window: Locked/Unlocked/N/A; light: Off/On/Left On/N/A). One-tap records result and auto-advances with <100ms transition, swipe-back to revise, top progress bar, and a non-blocking slide-up note panel (max 500 chars).",
"estimated_minutes": 900
},
{
"title": "Build round summary, submission, and abandon flow",
"subtasks": [
{
"title": "Summary screen with issue list and type breakdown",
"estimated_minutes": 240
},
{
"title": "Submit round finalization + end-of-round note",
"estimated_minutes": 120
},
{
"title": "Abandon round (partial save)",
"estimated_minutes": 60
}
],
"description": "Summary screen showing totals, issues found, breakdown by type, scrollable issue list with notes, optional end-of-round note, and Submit Round to finalize (completion timestamp, issues_found) returning Home. Support abandoning a round saving partial results with ABANDONED status.",
"estimated_minutes": 420
},
{
"title": "Build round history list and detail view",
"subtasks": [
{
"title": "History list screen + ViewModel",
"estimated_minutes": 180
},
{
"title": "Round detail view with full check results",
"estimated_minutes": 240
}
],
"description": "Reverse-chronological history list with date/duration/issues-found stats, and a detail view rendering all check results for a selected round, with ViewModels backed by Flow queries.",
"estimated_minutes": 420
},
{
"title": "Build building configuration editor",
"subtasks": [
{
"title": "Checkpoint list editor (add/edit/soft-delete)",
"estimated_minutes": 240
},
{
"title": "Drag-reorder walking order in editor",
"estimated_minutes": 180
},
{
"title": "Wire to config use cases + ViewModel",
"estimated_minutes": 60
}
],
"description": "Settings screen to add/remove/reorder checkpoints after setup, edit label/type/area, drag-reorder walking order, and soft-delete (is_active) hiding inactive checkpoints from new rounds.",
"estimated_minutes": 480
},
{
"title": "Add ViewModel and UI tests for acceptance criteria",
"subtasks": [
{
"title": "ViewModel unit tests for round/setup/history/config",
"estimated_minutes": 300
},
{
"title": "Compose UI tests for core flows",
"estimated_minutes": 300
}
],
"description": "Write ViewModel unit tests and Compose UI tests covering the acceptance-criteria flows: setup, round loop per checkpoint type, note add, swipe-back revision, summary/submit, abandon, history detail, config edit, and in-progress round survives restart.",
"estimated_minutes": 600
}
],
"completion_percent": 5,
"current_state_summary": "The repository contains only documentation: a product spec, four phase documents, a design (DSN) doc, an implementation plan (PLN), and a project knowledge base. No Android/Kotlin source code, Gradle build files, Room database, Compose UI, or tests exist yet.",
"tasks_to_mark_complete": [],
"estimated_hours_remaining": 160
}