# Implementation Plan: LineageOS 23.2 vanilla build for sunfish **Branch**: `003-lineage-23-vanilla-build` | **Date**: 2026-09-13 | **Spec**: [spec.md](./spec.md) **Input**: Feature specification from `/specs/003-lineage-23-vanilla-build/spec.md` ## Summary On `rom-dev01`, sync official LineageOS **23.2** for `sunfish`, build `userdebug` (test-keys), publish hashed artifacts under `/srv/rom/artifacts`, `rsync` to the laptop, flash **LAB only** (`11231JEC207477`), and run P1 + extended hardware smoke. No microG, KernelSU, Magisk, or hardening patches. On flash failure, use `docs/002-lab-stock-rescue.md` — never touch GOLDEN. ## Technical Context **Language/Version**: Bash + Lineage `repo` / Soong / ninja (AOSP Android 16) **Primary Dependencies**: LineageOS 23.2 manifest; device/kernel trees for sunfish; `ccache`; OpenSSH; laptop `adb`/`fastboot` **Storage**: `/srv/rom/src` (tree), `/srv/rom/ccache`, `/srv/rom/artifacts`, `/srv/rom/logs` on `rom-dev01` **Testing**: Observational boot + hardware checklists (documented results) **Target Platform**: `rom-dev01` Ubuntu 24.04 build; LAB Pixel 4a flash **Project Type**: ROM bring-up / reproducible baseline artifact **Performance Goals**: Complete sync+build with conservative `-j`; survive OOM via documented recovery **Constraints**: LAB only; no project patches beyond LOS device needs; no Magisk/KSU “just to test”; GOLDEN forbidden **Scale/Scope**: One developer; one known-good vanilla baseline for regression ## Constitution Check *GATE: Must pass before Phase 0 research. Re-check after Phase 1 design.* - Independence from SSYSTEMS: yes - GOLDEN do-not-flash: enforced (FR-007) - Functionality-first vanilla base before hardening: yes - Secrets/APKs off Git: artifacts stay on host/laptop paths; Git = docs/metadata - Prefer primary sources: Lineage wiki + official manifest **Post-design**: Pass — plan does not invent device trees or flash GOLDEN. ## Project Structure ### Documentation (this feature) ```text specs/003-lineage-23-vanilla-build/ ├── plan.md ├── research.md ├── data-model.md ├── quickstart.md ├── contracts/ └── tasks.md ``` ### Source / artifact layout ```text # rom-dev01 /srv/rom/src/lineage/ # repo workspace (or documented path) /srv/rom/artifacts/003-*/ # images, zip, SHA-256, repo manifest -r /srv/rom/logs/003-*/ # compressed build logs # laptop ~/…/artifacts/003-*/ # rsync target for flash docs/003-*.md # flash + smoke results (redacted) ``` ## Complexity Tracking None — single vanilla bring-up path.