Files
AXP-Resurection/docs/axp-pro-parity.md
sunfish-adminandCursor 2d145c2878 009: Polish bacon fixes, OTA host scripts, and migration docs.
Restore disable_configstore, EuiccDisabler and thermal CDEV guards, branding
and rebuild/sync helpers; document device roles, laptop migration, and Gitea.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 21:06:45 +02:00

101 lines
8.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AXP.OS Pro feature parity matrix
Living tracker for how **AXP_Resurection** (`009` Magisk track) relates to
**AXP.OS Pro** functionality.
> **2026-10-10:** Ship root is **Magisk** on `009`. KernelSU / ReSukiSU / SusFS
> (`007`) is a **parallel** track (boot worked; kept for retry on current ROM —
> [`007-parallel-on-009.md`](007-parallel-on-009.md)). Never in Magisk ship bacon.
**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 | partial | LOS `lineage-23.2`; vanilla `003` done; ship = `009` closure |
| On-device release testing | Yes (pre-release device QA) | LAB smoke + known-good zips | partial | `009` closure; first project OTA → `009-upstream-rebase-ota.md` |
| ASB patch integration / backports | Yes | Prefer LOS merges; backport missing applicable patches | partial | Stage1/CVE pack in `009`; rebase with upstream |
| SELinux enforcing | Yes | **Enforcing** on LAB ship | done | measured on Magisk closure |
| Data encryption enforced | Yes | Encryption enabled; no silent weaken | done | LAB ship |
| Project signing | Yes | Own keys for release builds | done | `release-keys` on closure zip; custody on host secrets |
| Strong signing / AVB key policy | Yes (AVB/APK/dm-verity hardening) | Project AVB unlocked (flags 0 ship) | partial | AVB0 landed; bootloader lock wont |
| Reproducible builds | Yes | Traceable builds; push toward reproducibility | todo | metadata; harden later |
| Privacy-focused system defaults | Yes | Decide defaults beyond LOS stock | decide | capability matrix / remaining |
| microG + GSF | Yes | Yes — working Self-Check / push | done | `004`/`005` → shipped in `009` |
| Patched Phonesky / Play | Yes | Yes — priv-app, updatable | done | project Phonesky + exact-alarm |
| Signature spoofing | Advanced / configured | Restricted LOS + Phonesky JKS + DO toggle | done | `005` |
| Magisk / preroot | Magisk (**Magia** UI on GOLDEN, 29.0) | **Ship Magisk** newest stable (LAB 30.7) EXTENDROM preroot | done | `009`; KSU/`007` parallel recycle (FR-016) |
| DenyList / umount for banks | Magia DenyList | Magisk DenyList + Island workflow | partial | Swissquote PASS LAB; Yuh open |
| Insular work profile | AXP docs say Insular; **GOLDEN measures Island** | Island on LAB/GOLDEN | done | vehicle for banks |
| Yuh in Insular/Island | **PASS on GOLDEN** (2026-10-02+) | Usable session on LAB Island | partial | open — install-source / Play A16 filter; see `009-yuh-golden-lab-hypothesis.md` |
| Swissquote in Insular/Island | **PASS** on GOLDEN | Same on LAB Magisk ship | done | wave 3 / closure 2026-10-09 |
| Unrestricted call recording | Yes | Native ROM DO unlock | done | `008` via `009` pack |
| DNS blocker / privacy DNS | Yes | AXP-class providers, no axp.os endpoints | partial | patches in ship bacon |
| Hosts / tracker blocking | Yes | Magisk hosts module / ROM helpers | partial | Systemless Hosts on LAB |
| hardened_malloc | Yes | 64-bit libc; camera/SF exclusions | done | `012` in closure bacon |
| Hardened / CVE-patched kernel | Yes | Stage1 + combo4 + FORTIFY + CVE pack | partial | Gate G kernel; more CVE optional |
| 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 | **Ship on `009`** (EXTENDROM preroot). KernelSU/`007` parallel (separate boot) |
| 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 | done | `008` via `009` pack |
| 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`.