# Tasks: microG + GSF Proxy + patched Phonesky **Input**: Design docs from `/specs/004-microg-phonesky-integration/` **Prerequisites**: `003` gate (`docs/003-gate-handoff.md`) ## Phase 1: Setup - [x] T001 Create host dirs `/srv/rom/prebuilts/{microg,phonesky}/` and `/srv/rom/artifacts/004-microg/` on `rom-dev01` (android-build writable) - [x] T002 [P] Add `docs/004-phonesky-runbook.md` (obtain → place APKs → versions file → no Git) in meta repo - [x] T003 [P] Add `docs/004-lab-selfcheck.md` stub (Self-Check table + `005` attribution) in meta repo ## Phase 2: Foundational - [x] T004 Stage **latest** microG GmsCore + GsfProxy APKs into `/srv/rom/prebuilts/microg/` + `VERSIONS.txt` (URLs/hashes; `PRESIGNED` for F-Droid updates) — currently `v0.3.16.252432` / GsfProxy `v0.1.0` (GitHub latest as of 2026-09-14) - [x] T005 Obtain **latest** official Play Store (apkmd), patch with AXP `patch-playstore` + apktool, sign with project JKS under `/srv/rom/secrets/phonesky-signing/`; stage APK + AXP permission XMLs into `/srv/rom/prebuilts/phonesky/` + `VERSIONS.txt` *(Play **52.9.22-24**, not AXP archive)* - [x] T006 Add LOS product/vendor makefile include that packages the three APKs as system/priv-app **without FakeStore** (`vendor/sunfish-a16/` on host tree) - [x] T007 Wire include into `lineage_sunfish` product so `mka bacon` picks it up ## Phase 3: User Story 1 — microG Self-Check (P1) **Goal**: GmsCore + GsfProxy on LAB; Self-Check evidence **Independent test**: packages present; Self-Check screenshots - [x] T008 [US1] Build `004` image (`mka bacon -j8`); log under `/srv/rom/logs/004-build/` — **superseded by `005` T020 bacon** (`bacon-20260915T103756Z.log`) - [x] T009 [US1] Flash LAB only (`11231JEC207477`) per quickstart — **superseded by `005` T022** - [x] T010 [US1] Verify `pm path` for `com.google.android.gms` and `com.google.android.gsf`; fill `docs/004-lab-selfcheck.md` — **done via `005` US6** (2026-09-15) ## Phase 4: User Story 2 — Patched Phonesky (P1) **Goal**: priv-app Phonesky with XMLs; Play launches **Independent test**: `pm path com.android.vending`; app opens - [x] T011 [US2] Confirm privapp-permissions XMLs installed on device (`/etc/permissions` or equivalent) — **covered by `005` packaging** - [x] T012 [US2] Launch Play Store on LAB; record result — **pass after `005` spoof + exact-alarm** (was blocked → `005`, now closed) - [x] T013 [US2] Confirm Git/meta repo contains **no** Phonesky APK bytes ## Phase 5: User Story 3 — No FakeStore (P2) - [x] T014 [US3] `pm list packages` shows no FakeStore; document in self-check — **`docs/004-lab-selfcheck.md` 2026-09-15** ## Phase 6: User Story 4 — Reproducible pipeline (P2) - [x] T015 [US4] Finalize runbook with exact copy commands from AXP archive + microG download pins — **`docs/004-phonesky-runbook.md` + `005` runbook** - [x] T016 [US4] Document FR-010 signing strategy (project JKS under `/srv/rom/secrets/phonesky-signing/`; GmsCore stays PRESIGNED) ## Phase 7: Polish - [x] T017 Collect artifacts: zip SHA-256, `VERSIONS.txt` copies, Self-Check evidence → **`005` artifacts `20260915-bacon` + `20260915-us6-validation`** - [x] T018 Update `docs/axp-pro-parity.md` rows microG/Phonesky status — **done in `005` T027** - [x] T019 Handoff note: spoofing done in `005`; next `006` banking rootless; no Magisk/KSU in this build ## Dependencies - T001–T003 before staging - T004–T007 before build - T008–T010 (US1) before claiming microG done - T011–T013 (US2) can overlap validation with US1 after same flash - T014 after flash - T015–T016 can refine docs in parallel with builds - T017–T019 after validation ## MVP T001–T012: packages on LAB + Self-Check notes + Play launch attempt. ## Parallel opportunities - T002/T003 with T001 - T004/T005 in parallel - Doc polish T015/T016 while T008 builds