Files
AXP-Resurection/specs/004-microg-phonesky-integration/plan.md
T
sunfish-admin 12d2179c20 AXP Magisk resurrection track: Speckit 009 port AXP/LOS22 to LOS23.
Ship Magisk like GOLDEN; KernelSU optional recycle only; parallel to sunfish-a16-rom standby.
2026-09-16 21:56:22 +00:00

3.3 KiB

Implementation Plan: microG + GSF Proxy + patched Phonesky

Branch: 004-microg-phonesky-integration | Date: 2026-09-14 | Spec: spec.md

Input: Feature specification from /specs/004-microg-phonesky-integration/spec.md

Summary

Add the Google compatibility stack to the sunfish LOS 23.2 / Android 16 tree on LAB only: microG GmsCore, GSF Proxy, and patched Phonesky as priv-app (AXP-style), without FakeStore, Magisk, or KernelSU. Signature spoofing beyond what LOS already provides stays in 005. Proprietary APKs live only under /srv/rom/ (never Git).

Technical Context

Language/Version: Android.mk / Soong (Android.bp where needed); bash runbooks on rom-dev01
Primary Dependencies: LineageOS 23.2 tree (/srv/rom/src/lineage); microG release APKs; AXP packages_apps_phonesky permission XMLs + signed APK from project AXP archive; LOS restricted signature spoofing (baseline)
Storage: Host paths /srv/rom/prebuilts/{microg,phonesky}/, secrets under /srv/rom/secrets/
Testing: LAB flash + pm/dumpsys + microG Self-Check screenshots; no unit-test harness required
Target Platform: Pixel 4a (sunfish) LAB 11231JEC207477; Android 16
Project Type: Android ROM packaging / device product overlay
Performance Goals: N/A (functional compatibility)
Constraints: No proprietary APKs in Git; no GOLDEN flash; no Magisk/KSU in 004; Phonesky signing keys host-only
Scale/Scope: Three system packages + permission XMLs + product makefile + runbook; one rebuild + LAB flash

Constitution Check

GATE: Must pass before Phase 0 research. Re-check after Phase 1 design.

Gate Status
LAB only; never GOLDEN pass
No proprietary Google APKs in Git pass (host /srv/rom/prebuilts)
Phonesky = patched priv-app, not FakeStore primary pass
No Magisk/KSU in Compatibility path before 006/007 pass (004 rootless)
Spoofing restricted / auditable → full policy in 005 pass (use LOS baseline only here)
Prefer AXP reference for packaging pass (archive Phonesky + XMLs)
Prefer small attributable changes pass (vendor/product overlay, not megapatch)

Post-design: unchanged — design stays packaging + docs.

Project Structure

Documentation (this feature)

specs/004-microg-phonesky-integration/
├── plan.md
├── research.md
├── data-model.md
├── quickstart.md
├── contracts/
│   └── packages.md
└── tasks.md

Host + tree (not all in Git)

# Meta repo (this workspace)
docs/004-phonesky-runbook.md
docs/004-lab-selfcheck.md
vendor packaging stubs / product mk (synced to rom-dev01 tree)

# rom-dev01 (canonical build)
/srv/rom/src/lineage/                 # LOS tree
/srv/rom/prebuilts/microg/            # GmsCore + GsfProxy APKs (gitignored host)
/srv/rom/prebuilts/phonesky/          # Phonesky APK + permission XMLs
/srv/rom/secrets/phonesky-signing/    # keys if we re-sign (optional first pass)
/srv/rom/artifacts/004-…/             # build zip + self-check evidence

Complexity Tracking

Violation Why needed Simpler alternative rejected because
None — —

Phase 0 / Phase 1

See research.md, data-model.md, contracts/packages.md, quickstart.md.