Ship Magisk like GOLDEN; KernelSU optional recycle only; parallel to sunfish-a16-rom standby.
5.9 KiB
Research: 009-axp-los23-port
Decision: Product = AXP resurrection on LOS 23.2 (parallel track)
Decision: Treat 009 as the normative ship feature for the Magisk AXP
resurrection track that ports the AXP.OS / GOLDEN LOS22 capability set onto
LineageOS 23.2 vanilla (003), with only the explicit exceptions in the spec
(WebView, Phonesky artifact, optional KSU recycle). Keep the prior KernelSU /
split roadmap (004–008/007 + deferred items) on a standby git branch
without deleting or rewriting those specs.
Rationale: Owner wants Magisk “todo igual” to AXP now, without throwing away the earlier KSU investment; either track may resume later.
Alternatives considered: Hard-supersede/delete the split roadmap — rejected (owner wants standby). Continue only KSU track — rejected for current ship preference.
Decision: Magisk ship root (constitution variance)
Decision: Ship Magisk like GOLDEN — newest Magisk stable that works on
sunfish / LOS 23.2 — in an AXP-like preinstalled but not fully activated
layout. Measure the exact first-boot/setup UX on GOLDEN (adb only) before
freezing LAB instructions. DenyList-class hiding for banks.
Rationale: FR-010 / owner clarification; true AXP resurrection requires Magisk/Magia-class root, not KernelSU.
Alternatives considered:
- KernelSU-Next (
007) as ship — rejected for this feature (out of ship for now). - Rootless ship — rejected (banking DenyList workflow is part of GOLDEN).
- Magisk only as temporary A/B diagnostic — insufficient for resurrection acceptance.
Follow-up (non-blocking): Amend constitution Root architecture section in a later docs pass so it no longer contradicts Magisk-as-ship.
Decision: Optional recycle of 007 kernels (FR-016)
Decision: Keep the two functional KernelSU kernels/artifacts. Reuse only if helpful (boot reference, differential debug, later optional path). Never gate Magisk acceptance on KSU work.
Alternatives considered: Delete 007 artifacts — rejected (sunk cost;
optional value). Force dual-boot Magisk+KSU ship — rejected (complexity).
Decision: Reuse 004/005 Google stack; bump microG; keep project Phonesky
Decision:
- microG GmsCore + GSF = newest stable (or newest tagged pre-release upstream ships) verified on this stack; integrate with Phonesky as in AXP.
- Phonesky = project patched artifact from the recent host pipeline
(
docs/004-phonesky-runbook.md//srv/rom/prebuilts/phonesky/), not a blind newest Play download. - If LAB shows missing GOLDEN-class Play fixes with that artifact → halt and reconsider Phonesky (spec edge case), do not silently ship FakeStore.
- Signature spoofing = selectable DO toggle (
allow_signature_fakeclass from005); restricted grants for microG + Phonesky only.
Alternatives considered: Newest Play APK every week without project patch
pipeline — rejected (breaks reproducible priv-app signing). FakeStore —
forbidden. Re-implement spoofing from scratch — reuse 005 unless A16 gaps.
Decision: Selectable call recording = EXTENDROM / 008 model
Decision: Ship selectable call-recording unlock using GOLDEN-compatible
Settings.Secure.extendrom_call_recording + Dialer gate (EXTENDROM
F_CALLREC / 008 research). Default OFF.
Alternatives considered: Magisk Dialer RRO — rejected (not selectable / not native). Blind old XML overlays — rejected for A16.
Note: Project FLAG_SECURE override remains optional vs AXP acceptance;
may ship if 008 work is cheap to include.
Decision: WebView = LOS23 default, chooser unlocked
Decision: Do not ship Aosmium (EOL). Default = LineageOS 23 WebView. Preserve Android multi-provider selection (Developer options → WebView implementation).
Alternatives considered: Bundle Vanadium/AOSmium fork — rejected (EOL / out of scope). Lock single provider — rejected (FR-015).
Decision: Bundled apps = GOLDEN/AXP categories @ newest stable
Decision: Enumerate categories from 002 + AXP Pro catalog (Island,
Aurora, F-Droid/repos as on GOLDEN, launcher/gallery-class, DNS/hosts privacy
helpers if present). Install newest workable stables; pin versions in the
acceptance record. Island remains the managed-profile tool (measured on
GOLDEN).
Alternatives considered: LOS defaults only — fails resurrection. Exact GOLDEN version freeze — rejected (owner wants newest stables except Phonesky).
Decision: Hardening / signing / AVB inside 009 (staged)
Decision: Acceptance includes GOLDEN-class hardening and signing/AVB
posture as applicable on LOS 23.2 / sunfish. Implement in stages inside
009 (functional Magisk+Google+apps first, then hardening/signing gates),
but do not open a separate competing feature number for ship ownership.
Document impossible-on-sunfish gaps rather than silent omit.
Rationale: Owner Q2 = full resurrection; still obey constitution “small attributable reversible changes” via staged known-good LAB images.
Alternatives considered: Defer all of 011–013 — rejected by owner.
One mega-commit everything — rejected (attribution / bisect).
Decision: Banking workflow = GOLDEN Magisk DenyList + Island
Decision: Restore constitution banking steps with Magisk DenyList (not KSU profiles) + Island: Aurora install → do not open → DenyList → clone to Island → first launch in Island. Swissquote PASS hard gate; Yuh honest vs GOLDEN attestation FAIL.
Alternatives considered: Rootless-only banking gate — incomplete vs AXP. Insular rename — GOLDEN runs Island.
Decision: Version freshness policy
Decision: Before long builds: git fetch --tags / refresh upstreams for
microG, Magisk, bundled apps; record tag/commit + version codes; never ship
from shallow or stale laptop caches (AGENTS.md lesson from 007).
Alternatives considered: Trust whatever is already on the host — rejected.