# 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.