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,53 @@
|
||||
# Contract: LAB acceptance gates (`009`)
|
||||
|
||||
**Device**: LAB `11231JEC207477` only — never GOLDEN
|
||||
**Evidence**: `/srv/rom/artifacts/009-axp-los23-port/<build-id>/`
|
||||
|
||||
## Gate A — Boot / hardware
|
||||
|
||||
- [ ] Clean flash boots to home
|
||||
- [ ] Call + Wi‑Fi + unlock smoke (vanilla class)
|
||||
|
||||
## Gate B — Google stack
|
||||
|
||||
- [ ] microG Self-Check required items pass with spoofing ON as needed
|
||||
- [ ] Project Phonesky opens; ordinary app install/update works
|
||||
- [ ] No FakeStore primary
|
||||
- [ ] Version pins: microG/GSF newest stable; Phonesky = project artifact
|
||||
- [ ] If Play lacks GOLDEN-class fix → **FAIL closed** (reconsider Phonesky)
|
||||
|
||||
## Gate C — Toggles
|
||||
|
||||
- [ ] Spoofing OFF/ON behaviour per `toggles-surface.md`
|
||||
- [ ] Call-rec OFF/ON behaviour per `toggles-surface.md`
|
||||
|
||||
## Gate D — Magisk
|
||||
|
||||
- [ ] Preinstall state matches measured GOLDEN/AXP class
|
||||
- [ ] Activation documented and completed on LAB
|
||||
- [ ] DenyList-class hides root from a test/banking package
|
||||
|
||||
## Gate E — Banking
|
||||
|
||||
- [ ] Island present; Swissquote PASS in managed profile workflow
|
||||
- [ ] Yuh recorded; not worse than GOLDEN for packaging/spoofing reasons
|
||||
- [ ] Banks do not receive root
|
||||
|
||||
## Gate F — Usability / WebView
|
||||
|
||||
- [ ] Bundled AXP categories present or documented impossible
|
||||
- [ ] Versions newest workable (except Phonesky rule)
|
||||
- [ ] WebView default LOS; chooser unlocked
|
||||
|
||||
## Gate G — Hardening / signing class
|
||||
|
||||
- [ ] GOLDEN-class hardening/signing/AVB posture present **or** each gap
|
||||
documented as impossible on this stack (no silent omit)
|
||||
- [ ] Staged known-good images retained for bisect
|
||||
|
||||
## Non-gates
|
||||
|
||||
- KernelSU presence or SusFS
|
||||
- FLAG_SECURE override (optional)
|
||||
- Custom AXP backup ROM feature
|
||||
- Yuh PASS if GOLDEN attestation path still FAILs equivalently
|
||||
@@ -0,0 +1,38 @@
|
||||
# Contract: Magisk preinstall (AXP / GOLDEN class)
|
||||
|
||||
**Ship root**: Magisk (newest stable that works on this stack)
|
||||
**Not ship**: KernelSU / SusFS (`007` optional recycle only)
|
||||
|
||||
## Behavioural contract
|
||||
|
||||
1. After a clean `009` flash, Magisk is **present** in an AXP-like
|
||||
**preinstalled but not fully activated** state (exact files/UI measured
|
||||
from GOLDEN — document in LAB runbook).
|
||||
2. Owner can complete activation on LAB using documented steps.
|
||||
3. DenyList-class configuration can hide root from banking packages before
|
||||
first process start (GOLDEN workflow).
|
||||
4. Magisk version in the version-pin record is newest workable stable, not an
|
||||
accidental stale host copy.
|
||||
|
||||
## Banking interaction
|
||||
|
||||
Aurora install → do not open → DenyList (incl. processes) → Island clone →
|
||||
first launch in Island. Banks MUST NOT receive root.
|
||||
|
||||
## Out of contract
|
||||
|
||||
- Shipping Magia branding specifically ( Magisk upstream UI OK if behaviour
|
||||
matches).
|
||||
- Requiring KernelSU coexistence on the same ship image.
|
||||
|
||||
## Verification
|
||||
|
||||
```bash
|
||||
# After flash (pre-activation): document paths/props matching GOLDEN notes
|
||||
adb shell ls -l /system_ext/bin/magisk 2>/dev/null || true
|
||||
adb shell pm list packages | grep -iE 'magisk|magia'
|
||||
|
||||
# After activation: Magisk app reports version; DenyList configurable
|
||||
```
|
||||
|
||||
Evidence under `/srv/rom/artifacts/009-axp-los23-port/magisk/`.
|
||||
@@ -0,0 +1,38 @@
|
||||
# Contract: system packages (AXP resurrection)
|
||||
|
||||
**Device**: LAB only
|
||||
**Build**: `009` product with Google stack + bundled AXP usability set
|
||||
|
||||
## Required packages (minimum)
|
||||
|
||||
| Role | Package | Notes |
|
||||
|------|---------|--------|
|
||||
| microG | `com.google.android.gms` | Newest stable verified; system |
|
||||
| GSF Proxy | `com.google.android.gsf` | Newest stable verified |
|
||||
| Phonesky | `com.android.vending` | Project patched priv-app; host artifact |
|
||||
| Island | `com.oasisfeng.island…` | GOLDEN tool; newest workable |
|
||||
| Magisk UI / stubs | as measured on GOLDEN | Preinstall layout; not fully activated until setup |
|
||||
|
||||
FakeStore / conflicting Companion MUST NOT be the primary Play path.
|
||||
|
||||
## Bundled usability set
|
||||
|
||||
Ship GOLDEN/AXP categories at newest workable stables (Aurora, F-Droid/repos as
|
||||
on GOLDEN, launcher/gallery-class, DNS/hosts helpers if in inventory). Exact
|
||||
package list = version-pin record derived from `002` + acceptance notes.
|
||||
|
||||
## WebView
|
||||
|
||||
- Default provider = LOS23 WebView package.
|
||||
- Aosmium MUST NOT be required.
|
||||
- `cmd webviewupdate` / Developer options chooser MUST remain usable.
|
||||
|
||||
## Verification snippets
|
||||
|
||||
```bash
|
||||
adb shell pm path com.google.android.gms
|
||||
adb shell pm path com.google.android.gsf
|
||||
adb shell pm path com.android.vending
|
||||
adb shell cmd package list packages | grep -E 'island|aurora|fdroid|magisk|magia'
|
||||
adb shell cmd webviewupdate current
|
||||
```
|
||||
@@ -0,0 +1,36 @@
|
||||
# Contract: selectable toggles (spoofing + call recording)
|
||||
|
||||
**Surface**: Developer Options (AXP-like)
|
||||
**Defaults**: OFF (`0`) unless a documented project default says otherwise
|
||||
|
||||
## Signature spoofing
|
||||
|
||||
| Item | Value |
|
||||
|------|--------|
|
||||
| Secure key | `allow_signature_fake` (GOLDEN/AXP class from `005`) |
|
||||
| OFF | Spoofing has no effect even if prior grants exist |
|
||||
| ON | Authorized packages (microG, Phonesky) may use restricted spoofing |
|
||||
| Forbidden | Unrestricted platform spoofing for arbitrary apps |
|
||||
|
||||
```bash
|
||||
adb shell settings get secure allow_signature_fake
|
||||
# expect 0/null default; 1 when enabled
|
||||
```
|
||||
|
||||
## Call recording unlock
|
||||
|
||||
| Item | Value |
|
||||
|------|--------|
|
||||
| Secure key | `extendrom_call_recording` |
|
||||
| OFF | Stock LOS country/carrier-style Dialer policy |
|
||||
| ON | Dialer `canRecordInCurrentCountry()` allows recording |
|
||||
|
||||
```bash
|
||||
adb shell settings get secure extendrom_call_recording
|
||||
# expect 0/null default; 1 when enabled
|
||||
```
|
||||
|
||||
## Optional (not AXP hard gate)
|
||||
|
||||
`disable_secure_windows` / FLAG_SECURE override may ship if already wired
|
||||
(`008`); absence does not fail AXP resurrection acceptance.
|
||||
@@ -0,0 +1,16 @@
|
||||
# Contract: WebView policy
|
||||
|
||||
| Rule | Requirement |
|
||||
|------|-------------|
|
||||
| Default | LineageOS 23 WebView |
|
||||
| Aosmium | Not shipped / not required (EOL) |
|
||||
| Chooser | Developer options → WebView implementation remains available |
|
||||
| Future | User may install an alternate WebView and select it |
|
||||
|
||||
```bash
|
||||
adb shell cmd webviewupdate current
|
||||
# default should be LOS provider, not org.axpos.aosmium
|
||||
|
||||
adb shell cmd webviewupdate
|
||||
# provider list / update path must not be locked to a single forced package
|
||||
```
|
||||
Reference in new issue
Block a user