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.
This commit is contained in:
sunfish-admin committed 2026-09-16 21:56:22 +00:00
commit 12d2179c20
150 files changed
+26263

No files matched your search

@@ -0,0 +1,98 @@
# Implementation Plan: Restricted native signature spoofing
**Branch**: `005-restricted-signature-spoofing` | **Date**: 2026-09-15 | **Spec**: [spec.md](./spec.md)
**Input**: Feature specification from `/specs/005-restricted-signature-spoofing/spec.md`
## Summary
Deliver the **first working Google-compat stack on LAB**: finish `004` packaging
gates (PRESIGNED replace + Play FGS privapp), add **AXP/EXTENDROM-style
restricted signature spoofing** (Developer Options `allow_signature_fake` +
`FAKE_PACKAGE_SIGNATURE` + allow-list for microG + Phonesky), validate Play auth
/ Self-Check, and document **modern** microG location (BeaconDB). Do **not**
pull `006` banking or `007` root into this phase.
Primary technical approach: attribute patches from
[EXTENDROM_SIGNATURE_SPOOFING](https://github.com/sfX-android/android_vendor_extendrom/wiki/EXTENDROM_SIGNATURE_SPOOFING)
(A15 proven on GOLDEN) and port to **Android 16 / LOS 23.2**, ensuring both
legacy `PackageInfo.signatures` and modern `signingInfo` are spoofed.
## Technical Context
**Language/Version**: Android frameworks Java/Kotlin patches; Settings overlays;
`Android.mk` / product makefiles; bash runbooks on `rom-dev01`
**Primary Dependencies**: LOS 23.2 tree; EXTENDROM/AXP sigspoof patches (A15 →
A16 port); microG 0.3.x; project-signed Phonesky; GOLDEN 2026-09-15 capture
**Storage**: Host `/srv/rom/` prebuilts + secrets; meta-repo `vendor/sunfish-a16/`
**Testing**: LAB flash only; `settings`/`pm`/`dumpsys`; microG Self-Check;
Play login logcat; optional BeaconDB location smoke
**Target Platform**: Pixel 4a LAB `11231JEC207477`; Android 16 / LOS 23.2
**Project Type**: Android ROM frameworks + Settings + packaging overlay
**Performance Goals**: N/A (correctness / compatibility)
**Constraints**: LAB only; no GOLDEN modify; no Magisk/KSU; restricted allow-list;
attributable patches; no proprietary APKs in Git
**Scale/Scope**: frameworks/base (+ services) spoofing; Settings Developer
Options; privapp/default/sysconfig XML updates; one bacon + LAB flash; docs
## Constitution Check
*GATE: Must pass before Phase 0 research. Re-check after Phase 1 design.*
| Gate | Status |
|------|--------|
| LAB only; never GOLDEN | pass |
| Spoofing native, restricted, auditable; no LSPosed | pass (FR-003/006) |
| Prefer package/signer allow-list over open fake-signature | pass |
| Works without optional root | pass (FR-006, US5) |
| Prefer AXP/EXTENDROM behaviour; A16 port if needed | pass |
| No proprietary APKs in Git | pass |
| Small attributable changes | pass (patch series from EXTENDROM/AXP) |
| Do not invent `006`/`007` into this feature | pass (spec Out of Scope) |
**Post-design**: unchanged — design stays spoofing + first-stack ship gates.
## Project Structure
### Documentation (this feature)
```text
specs/005-restricted-signature-spoofing/
├── plan.md
├── research.md
├── data-model.md
├── quickstart.md
├── contracts/
│ └── spoofing-surface.md
└── tasks.md # via /speckit-tasks (not this command)
```
### Host + tree
```text
# Meta repo
vendor/sunfish-a16/ # packaging (REPLACE, privapp XML, gms.mk)
docs/a15-a16-delta.md
docs/004-*.md # packaging/selfcheck (update for BeaconDB)
.local-artifacts/002-golden/20260915-spoofing-phonesky/ # oracle
# rom-dev01
/srv/rom/src/lineage/frameworks/base/ # spoofing patches
/srv/rom/src/lineage/packages/apps/Settings/ # Developer Options toggle
/srv/rom/references/… or vendor/extendrom/ # patch source (checkout as needed)
/srv/rom/artifacts/005-…/ # validation zip + evidence
```
**Structure Decision**: Continue `vendor/sunfish-a16` packaging overlay; apply
spoofing as attributable patch series under the LOS tree on `rom-dev01` (not a
megapatch in Git). Meta-repo holds vendor stubs, docs, and specs only.
## Complexity Tracking
| Violation | Why needed | Simpler alternative rejected because |
|-----------|------------|--------------------------------------|
| Frameworks patches | LOS 23.2 has no FAKE_PACKAGE | Magisk/LSPosed forbidden by constitution |
## Phase 0 / Phase 1
See `research.md`, `data-model.md`, `contracts/spoofing-surface.md`, `quickstart.md`.