# 001 verification matrix — FR / SC evidence Map each requirement from `specs/001-development-environment/spec.md` to observable evidence. Leave blank until verified on `rom-dev01`. ## Functional requirements | ID | Requirement (short) | Evidence (command/path/doc) | Status | |----|---------------------|-----------------------------|--------| | FR-001 | `android-build` + documented workspace | uid 1000; `/home/android-build/sunfish-a16-rom`; runbook | pass | | FR-002 | Android/LOS prereqs + ccache | `/srv/rom/logs/toolchain-packages.txt` + `toolchain-smoke.txt` | pass | | FR-003 | `/srv/rom` layout | namei + write test artifacts | pass | | FR-004 | Private Gitea for project repos | loopback :3000; 4 private repos; secrets under /srv/rom/secrets/ | pass | | FR-005 | Ansible + Semaphore UI | ansible 2.16.3; Semaphore task env-smoke success | pass | | FR-006 | Cursor Remote SSH + rsync + laptop flash workflow doc | runbook Host `rom-dev01`; rsync smoke; adb on laptop | pass | | FR-007 | Conservative parallelism defaults (~6 vCPU) | measured 8/62/32; `-j` deferred to 003 | pass | | FR-008 | Spec Kit tree on host | `/home/android-build/sunfish-a16-rom` SPEC_OK | pass | | FR-009 | Guest isolation posture | public NIC only; UIs on 127.0.0.1 | pass | | FR-010 | Off-VM backup/mirror of Gitea repos | laptop Archives/sunfish-rom-mirrors/*.git fsck OK | pass | ## Success criteria | ID | Outcome (short) | Evidence | Status | |----|-----------------|----------|--------| | SC-001 | Clean `android-build` SSH has toolchain for `003` | `toolchain-smoke.txt` (git/lfs/repo/ccache/java) | pass | | SC-002 | `/srv/rom/artifacts` writable handoff | dummy-001 SHA256 match laptop `.local-artifacts/` | pass | | SC-003 | Four Gitea repos ready (no company GitLab) | sunfish-admin/* on local Gitea | pass | | SC-004 | Cold-start workflow doc | quickstart.md + host-runbook | pass | | SC-005 | No PVE/VM create/reconfig in this feature | no qm/PVE/Salt VM work in 001 | pass | | SC-006 | Isolation checklist passes | runbook isolation checklist | pass | | SC-007 | Off-VM mirror demonstrated once | rsync bare mirrors + fsck | pass | Status values: `pending` | `pass` | `fail` | `blocked` ## Task cross-check Track completion in `specs/001-development-environment/tasks.md`. This matrix is evidence, not a second task list.