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

+112
View File
@@ -0,0 +1,112 @@
# Implementation Plan: AXP.OS GOLDEN reference capture
**Branch**: `002-axp-reference-capture` | **Date**: 2026-09-13 | **Spec**: [spec.md](./spec.md)
**Input**: Feature specification from `/specs/002-axp-reference-capture/spec.md`
## Summary
Identify GOLDEN vs LAB sunfish, write LAB Google factory-image emergency
rescue, capture essential live GOLDEN AXP inventory + banking flow (redacted),
and store raw artifacts under `/srv/rom/references/axp/` on `rom-dev01` while
committing only redacted docs to `sunfish-a16-rom`. Parallel: rsync existing
laptop AXP archive per `docs/axp-sunfish-preservation.md` (does not replace
live `adb`).
## Technical Context
**Language/Version**: Bash + `adb`/`fastboot` inventory scripts; Markdown docs
**Primary Dependencies**: OpenSSH to `rom-dev01`; Android platform-tools on
laptop; optional wget/curl for factory images on host
**Storage**: `/srv/rom/references/axp/` (raw); Git = redacted summaries only
**Testing**: Observational checklists (getprop/dumpsys excerpts); no unit suite
**Target Platform**: Two physical sunfish + `rom-dev01` Ubuntu 24.04
**Project Type**: Device documentation / reference capture
**Performance Goals**: N/A — correctness and non-invention of device facts
**Constraints**: Never flash GOLDEN; no secrets/APKs in Git; NeoBackup not a gate;
bootloader state measured not assumed; gaps marked “re-query GOLDEN”
**Scale/Scope**: One developer; essential inventory for `004`–`006` hard-gates
## Constitution Check
*GATE: Must pass before Phase 0 research. Re-check after Phase 1 design.*
- Independence from SSYSTEMS: yes (Gitea/host paths only)
- GOLDEN do-not-flash: enforced in docs + FR-006
- No Magisk-as-production-path invention: Magisk recorded as GOLDEN oracle only
- Secrets/APKs off Git: FR-005 / SC-005
- Prefer primary sources: Google factory images page; live `adb` over blogs
**Post-design**: Still pass — plan does not invent package versions.
## Project Structure
### Documentation (this feature)
```text
specs/002-axp-reference-capture/
├── plan.md
├── research.md
├── data-model.md
├── quickstart.md
├── contracts/ # N/A (README only)
└── tasks.md
```
### Source / artifact layout
```text
# In-repo (redacted)
docs/device-roles.md # update serials/labels + lock notes
docs/002-golden-inventory.md # essential inventory + banking flow
docs/002-lab-stock-rescue.md # LAB factory rescue
docs/axp-pro-parity.md # cross-links only (non-normative)
# On rom-dev01 (raw; not Git)
/srv/rom/references/axp/
├── archive/ # rsync from ~/Archives/AXP.OS
├── golden/ # adb pulls, APK copies, dumpsys (restricted)
├── lab/ # factory image zip + checksums
└── logs/ # capture session logs
```
## Complexity Tracking
| Violation | Why Needed | Simpler Alternative Rejected Because |
|-----------|------------|-------------------------------------|
| — | — | — |
## Phases
### P0 — Docs + archive seed (no phone required)
1. Freeze plan/research/tasks.
2. Rsync laptop `~/Archives/AXP.OS` → `/srv/rom/references/axp/archive/`.
3. Draft LAB stock rescue from current Google sunfish factory image listing;
download image+hash to `/srv/rom/references/axp/lab/` when network allows.
### P1 — Device roles + measured identity (phones required)
1. Connect GOLDEN and LAB; record serials/labels; `getprop` + fastboot lock.
2. Update `docs/device-roles.md` + `docs/002-golden-inventory.md` stubs with
measured facts only.
### P2 — Essential GOLDEN inventory + banking flow
1. Scripted `adb` collection into `/srv/rom/references/axp/golden/` (redact
before any Git paste).
2. Write banking install order from GOLDEN observation.
3. Cross-link parity matrix rows that become known.
### Gate before `003`
LAB rescue doc reviewed; GOLDEN explicitly do-not-flash; FR-006 satisfied.
**No** Lineage sync in this feature.