diff --git a/android/PLAN.md b/android/PLAN.md index 4732211..12a1a02 100644 --- a/android/PLAN.md +++ b/android/PLAN.md @@ -1,10 +1,16 @@ # Android App — Plan -Status: **planning; no app code yet — website prerequisites in progress.** This document is the -design contract for the `RunicGateway/Android-app` repo. It is written before implementation so the -API changes it depends on can be landed in `website/` and `docs/` first. When we start coding, the -authoritative API reference is the committed OpenAPI spec at -`website/server/swagger/swagger-output.json` (regenerated via `npm run swagger`). +Status: **M0 repo scaffold landed; M1 (functional Kotlin pass) next.** This document is the +design contract for the `RunicGateway/Android-app` repo. It was written before implementation so the +API changes it depends on could be landed in `website/` and `docs/` first. The authoritative API +reference is the committed OpenAPI spec at `website/server/swagger/swagger-output.json` (regenerated +via `npm run swagger`). + +**Build progress (§9):** ✅ **M0 — repo scaffold** (2026-07-19, `RunicGateway/Android-app#2`): +Gradle 8.7 wrapper + AGP 8.6.1 / Kotlin 2.0.20, JDK 17, minSdk 29 / compile-target 35, +`applicationId com.runicgateway.app`; a version catalog pinning the full §2 stack; a Compose + Hilt +single-activity skeleton (externalized strings, adaptive icon); and CI (`pr-checks.yml` → +`./gradlew lint test assembleDebug`). **M1–M4 (functional pass) and M5 (design pass) remain.** **Prerequisite progress (§8):** all v1 prerequisites are **done** (2026-07-19) — ✅ password reset (item 2; website#75 + docs#8), ✅ role-agnostic `/auth/me/*` self surface (item 1; website#76 + docs#10),