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:
commit
12d2179c20
150 files changed
+26263
No files matched your search
@@ -0,0 +1,95 @@
|
||||
# AXP.OS Pro feature parity matrix
|
||||
|
||||
Living tracker for how `sunfish-a16-rom` relates to **AXP.OS Pro** functionality.
|
||||
|
||||
**Non-normative.** This file is a product/backlog tracker. A row becomes a
|
||||
requirement only when promoted into a feature `spec.md`. For an active feature,
|
||||
constitution + that feature's `spec.md` are authoritative if they conflict with
|
||||
this matrix.
|
||||
|
||||
**Goal (constitution):** reproduce AXP.OS Pro functionality except where a
|
||||
feature is obsolete, incompatible with LineageOS 23.2 / Android 16 / sunfish, or
|
||||
deliberately substituted (documented in this table).
|
||||
|
||||
**Do not** treat this as a blind copy list. Every row must state our target and
|
||||
implementation source. Update status as features land.
|
||||
|
||||
Status values: `todo` | `decide` | `substitute` | `wont` | `partial` | `done` |
|
||||
`los-provides` | `later`
|
||||
|
||||
The parity matrix **spans the whole project (`004`–`013`)**. Feature `010` owns
|
||||
only accepted AXP **usability/privacy** items not already assigned to another
|
||||
feature. Signing/AVB, userspace hardening, and kernel hardening remain `011`–
|
||||
`013` even though they also appear here as AXP Pro concerns.
|
||||
|
||||
| Feature | AXP Pro | Our objective | Status | Source / implementation |
|
||||
|---------|---------|---------------|--------|-------------------------|
|
||||
| Base ROM | AXP (LOS-derived) | LineageOS 23.2 / Android 16 sunfish | todo | LOS official `lineage-23.2`; `003` |
|
||||
| On-device release testing | Yes (pre-release device QA) | Yes — stage checklists + known-good builds | todo | `003` smoke; later release gate; `011` |
|
||||
| ASB patch integration / backports | Yes | Prefer LOS merges; backport missing applicable patches; document non-applicable | todo | LOS first; gaps → `012`/`013` |
|
||||
| SELinux enforcing | Yes | Expect **Enforcing**; measure on vanilla then keep | todo | Verify in `003`; then likely `los-provides` |
|
||||
| Data encryption enforced | Yes | Expect encryption enabled; no silent weaken | todo | `003` PIN/encrypt smoke; then likely `los-provides` |
|
||||
| Project signing | Yes | Own keys for release builds | todo | `011` |
|
||||
| Strong signing / AVB key policy | Yes (AVB/APK/dm-verity hardening) | Project AVB + release signing policy | todo | `011` |
|
||||
| Reproducible builds | Yes | Traceable builds; push toward reproducibility | todo | metadata from day one; harden in `011` |
|
||||
| Privacy-focused system defaults | Yes | Decide defaults beyond LOS stock | decide | `010` |
|
||||
| microG + GSF | Yes | Yes — working Self-Check / push | done | `004` packaging + `005` LAB US6 (`23.2-20260915`) |
|
||||
| Patched Phonesky / Play | Yes | Yes — priv-app, updatable | done | Play 52.9.22-24 + exact-alarm; installs OK on LAB (`005`) |
|
||||
| Signature spoofing | Advanced / configured | Restricted LOS + Phonesky JKS + DO toggle | done | `005` runbook; `allow_signature_fake` + `FAKE_PACKAGE` |
|
||||
| Magisk / preroot | Magisk (**Magia** UI on GOLDEN, 29.0) | **Substitute:** KernelSU-Next (+ SusFS) / evaluate ReSukiSU | substitute | Captured in `002`; do **not** fix GOLDEN; project root = `007` on LAB |
|
||||
| DenyList / umount for banks | Magia DenyList (pkg list in `docs/002-golden-inventory.md`) | KernelSU app profiles + verified umount | todo | `007` re-runs `006`; GOLDEN DenyList captured `002` |
|
||||
| Insular work profile | AXP docs say Insular; **GOLDEN measures Island** (`com.oasisfeng.island.fdroid` 6.4.2) | Banking workflow parity (Island or equivalent) | todo | `006`; capture in `002` |
|
||||
| Yuh in Insular/Island | Historically worked; **FAIL since ~weeks** (HA / “certificate invalid”; KeyMint/TEE errors in `002` logs) | Hard-gate Compatibility MVP (rootless in `006`); **Revolut not a hard-gate** | partial | `002` evidence; LAB may need SusFS+TrickyStore-class stack (`reference-sources.md` §8); never GOLDEN |
|
||||
| Swissquote in Insular/Island | **PASS** on GOLDEN (owner report, DenyList) | Hard-gate Compatibility MVP (rootless in `006`) | partial | `002`; re-test in `006`/`007`/`011` |
|
||||
| Unrestricted call recording | Yes | Yes — native ROM on Android 16 | todo | AXP/EXTENDROM/iodé as references only; re-validate on LOS 23.2; `008` |
|
||||
| DNS blocker / privacy DNS | Yes | Wanted; exact UX TBD | decide | `010` |
|
||||
| Hosts / tracker blocking | Yes | Wanted | decide | `010` |
|
||||
| hardened_malloc | Yes | Wanted if cleanly portable | decide | Graphene/AXP; `012`; see hardening backlog |
|
||||
| Hardened / CVE-patched kernel | Yes | LOS 23.2 kernel + Graphene/AXP/Divest backports | todo | `013` (+ selective work with `007`) |
|
||||
| Deblobbing | Yes | Case-by-case; don't break HW | decide | `010` / `013` |
|
||||
| AOSmium WebView | Yes | Ship usable WebView; allow installing alternate WebView providers and selecting the active one in **Developer options → WebView implementation** | decide | `010`; stock/AOSmium/Vanadium/etc. as candidates |
|
||||
| WireGuard in kernel | Yes | Check if LOS 23.2 already sufficient | decide | Baseline in `003`; else `010`/`013` |
|
||||
| eSIM support | Documented on AXP | sunfish support TBD; verify vanilla first | decide | Baseline in `003`; else `010` |
|
||||
| F-Droid + extra repos | Yes | Decide default ship set | decide | `010` |
|
||||
| Aurora Store | Used in golden banking flow | Document/capture; may remain user app | decide | `002` flow; `010` |
|
||||
| NeoLauncher | Default on AXP | Decide LOS launcher vs NeoLauncher | decide | `010` |
|
||||
| Fossify Gallery / bundled app set | Part of AXP usability set | Decide which extras to ship | decide | `010` |
|
||||
| Boot debug | Available | Useful for bring-up | decide | `010` or early debug docs |
|
||||
| Relock / custom AVB | AXP path | Project keys + AVB after stable ROM | todo | `011` |
|
||||
| Widevine (basic) | Yes | Don't regress vs vanilla LOS if possible | decide | Measure in `003`; track in `010`/`011` |
|
||||
| App/data backup | AXP tooling | Not a project gate (two devices: GOLDEN stays; LAB is disposable). Optional personal NeoBackup only; no custom ROM/recovery backup | substitute | See `docs/device-roles.md` |
|
||||
| Extra bundled packages | Various | Only if justified | decide | `010` |
|
||||
| Auto-reboot / radio timers | Privacy extras | Wanted where practical | decide | `010` |
|
||||
|
||||
## Mapping rules
|
||||
|
||||
| AXP mechanism | Our default approach |
|
||||
|---------------|----------------------|
|
||||
| Magisk | KernelSU-Next (`007`); Magisk only as A/B diagnostic if needed |
|
||||
| AXP signature spoofing stack | LOS restricted spoofing + controlled Phonesky extension (`005`) |
|
||||
| AXP hardened kernel tree | LOS sunfish kernel + selective backports |
|
||||
| AXP Phonesky | Keep functionality; reproducible patch/sign pipeline |
|
||||
| AXP call-recording toggles (older Android) | Re-validate on Android 16; do not blind-port XML |
|
||||
| AXP backup/restore tooling | NeoBackup (external); no project-owned backup feature |
|
||||
| AXP AOSmium / extras | Explicit decide rows above — not silent omissions |
|
||||
| WebView provider | Keep Android multi-provider path: install other WebViews + choose in Developer options |
|
||||
|
||||
## Project-specific additions
|
||||
|
||||
Not AXP Pro catalog features. Tracked here so they are not confused with parity.
|
||||
|
||||
| Feature | Origin | Objective | Status | Feature # |
|
||||
|---------|--------|-----------|--------|-----------|
|
||||
| FLAG_SECURE override | Project requirement | Native control: Android default remains default; **global** DO override only (no per-app); screenshots + screen capture; no LSPosed/Zygisk/root module | todo | `009` / `008-call-rec-flag-secure` |
|
||||
| Optional root-unavailable boot mode | Project / msg-GrapheneOS inspiration | Diagnostic/fallback boot without root | later | after daily-driver MVP |
|
||||
| Upstream deprecation / Kotlin warning hygiene | Build log noise on LOS 23.2 | **Last steps before final ROM freeze:** triage remaining compile warnings; migrate call sites API-by-API (or inherit LOS fixes); keep our patches warning-clean. Not a gate for `005`–`010` MVPs. | later | after `010` / with `011` freeze; see `docs/hardening-backlog.md` |
|
||||
|
||||
## Ownership
|
||||
|
||||
- Matrix maintained in this file (`docs/axp-pro-parity.md`).
|
||||
- Rows may map to `004`–`013`; **`010` is not “all of AXP Pro parity”** — only
|
||||
remaining usability/privacy items not owned elsewhere.
|
||||
- `002` captures what the **current device** actually runs; this matrix is the
|
||||
**product intent** relative to AXP Pro docs + that capture.
|
||||
- Compatibility MVP ends at `006` (rootless); Daily-driver MVP ends at `010`
|
||||
(constitution). Hardening candidates: `docs/hardening-backlog.md`.
|
||||
Reference in new issue
Block a user