Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -482,7 +482,9 @@ and the [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) format.
- All Phase 1 commands are strictly read-only. No state-changing ADB
commands are issued.

[Unreleased]: https://github.com/richardkfm/los-bootstrap/compare/v0.12.0...HEAD
[Unreleased]: https://github.com/richardkfm/los-bootstrap/compare/v0.13.0...HEAD
[0.13.0]: https://github.com/richardkfm/los-bootstrap/compare/v0.12.1...v0.13.0
[0.12.1]: https://github.com/richardkfm/los-bootstrap/compare/v0.12.0...v0.12.1
[0.12.0]: https://github.com/richardkfm/los-bootstrap/compare/v0.11.0...v0.12.0
[0.11.0]: https://github.com/richardkfm/los-bootstrap/compare/v0.10.0...v0.11.0
[0.10.0]: https://github.com/richardkfm/los-bootstrap/compare/v0.9.0...v0.10.0
Expand Down
29 changes: 25 additions & 4 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,14 @@ audit privacy posture, and (eventually) apply opinionated hardening.
It can guide users through flashing a ROM and unlocking their bootloader,
and helps with everything that comes after the ROM is installed.

## Current scope (Phase 10, version 0.12.x)
## Current scope (Phase 10 complete, version 0.13.x)

Audit MVP, bootstrap profiles, hardening assistant, location / maps integration,
camera / GCam port profiles, interactive wizard, ROM flashing assistant,
one-line install distribution, and Android tablet support:
one-line install distribution, and Android tablet support. Phases 1–10 have
all shipped; 0.13.0 layered cross-cutting CLI polish and bug fixes on top of
that scope rather than opening a new phase. **No Phase 11 is scoped yet** —
see `roadmap.md` for how to propose one.

- Phase 1–5 (still in place): see prior changelog entries
- Phase 6 (still in place):
Expand Down Expand Up @@ -106,8 +109,26 @@ one-line install distribution, and Android tablet support:
language across wizard prose, flash unlock guides, and camera hints.
- GCam port profiles for two LineageOS tablets: Xiaomi Pad 5 (nabu) and
OnePlus Pad (jupiter).

If a change does not fit Phase 10, it goes in the roadmap, not the code.
- ✓ Shipped in 0.12.0. Exit criteria met; see `roadmap.md`.

- Phase 10 follow-up polish (0.13.0, not a new phase):
- Global options (`--serial/-s`, `--no-banner`, `--compact-banner`) now
also accepted after the subcommand; `--version`/`-V` flag added.
- Colorized report output (audit, harden, location doctor) on a TTY,
honoring `NO_COLOR` / `FORCE_COLOR`.
- Distinct exit code (3) for commands whose checks found issues,
separate from exit code 2 (usage errors).
- `flash status` detects Samsung Download Mode via `heimdall detect`.
- Profile files with a `.yaml` extension are now discovered alongside
`.yml`.
- Notable fixes: microG was never actually detected in
`location doctor` (wrong package id) and always produced a false
"real GMS" warning; several flash-safety gaps (destructive steps not
gated, wrong-codename ROM not blocked, `flash run` hanging on a
booted device) were closed. Full list in `CHANGELOG.md`.

If a change does not fit Phase 10 or the maintenance/polish of an
already-shipped phase, it goes in the roadmap, not the code.

## Non-goals

Expand Down
18 changes: 11 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,17 @@ A CLI-first toolkit for **LineageOS** and other AOSP-derived, degoogled
Android ROMs — covering the full journey from locked bootloader to a
hardened, privacy-audited daily driver.

> **Status:** Phase 10 — Android tablet support. `los-bootstrap info` now
> detects phone vs tablet via `ro.build.characteristics`. GCam port
> profiles added for Xiaomi Pad 5 (`nabu`) and OnePlus Pad (`jupiter`).
> All user-visible "About phone" language is now form-factor-neutral.
> Install with a single `curl … | sh` (Linux/macOS) or `irm … | iex`
> (Windows PowerShell) command. Mutating commands only run with explicit
> `--confirm`. See [`roadmap.md`](./roadmap.md) for what comes next.
> **Status:** v0.13.0. Phase 10 (Android tablet support) is complete —
> `los-bootstrap info` detects phone vs tablet via
> `ro.build.characteristics`, with GCam port profiles for the Xiaomi Pad 5
> (`nabu`) and OnePlus Pad (`jupiter`) and form-factor-neutral prose
> throughout. 0.13.0 added colorized report output, a distinct exit code
> for findings that need attention, `--version`/`-V`, Samsung Download
> Mode detection, and fixed a false-positive microG detection bug plus
> several flash-safety gaps. Install with a single `curl … | sh`
> (Linux/macOS) or `irm … | iex` (Windows PowerShell) command. Mutating
> commands only run with explicit `--confirm`. No new phase is scoped yet
> — see [`roadmap.md`](./roadmap.md) for what's next.

[Why](#why) · [Install](#install) · [Upgrade](#upgrade) · [Quick start](#quick-start) · [What it currently does](#what-it-currently-does) · [What it does NOT do](#what-it-does-not-do) · [Project layout](#project-layout) · [License](#license)

Expand Down
27 changes: 25 additions & 2 deletions roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,7 @@ read and audit it in one sitting.

---

## Phase 10 — Android Tablet Support
## Phase 10 — Android Tablet Support

**Goal:** make los-bootstrap correctly detect and serve Android tablets running
LineageOS — the same ROM, the same privacy goals, but a different form factor
Expand Down Expand Up @@ -331,7 +331,30 @@ port profiles.
**Exit criteria:** `los-bootstrap info` correctly labels a connected tablet as
`form_factor: tablet`. All "About phone" occurrences visible to the user are
replaced with neutral language. Two tablet GCam profiles are present and
`camera list-profiles` shows them. All tests pass.
`camera list-profiles` shows them. All tests pass. ✓ Shipped in 0.12.0.

---

## Post-Phase-10 maintenance (0.13.0)

0.13.0 did not open a new phase; it was a cross-cutting polish and
bug-fix release on top of the Phase 1–10 scope: CLI ergonomics
(`--version`, global flags after the subcommand), colorized report
output, a distinct exit code for findings, and a batch of correctness
fixes (microG detection, flash-safety gating, `.yaml` profile discovery).
See `CHANGELOG.md` for the full list.

---

## What's next

**No Phase 11 is currently scoped.** Phases 1–10 are complete and 0.13.0
closed out known polish and correctness issues on top of them. Per the
roadmap discipline in `CLAUDE.md`, a new phase must be proposed and added
here — with goal, scope, exclusions, and exit criteria — *before* any
code for it is written. Candidate ideas raised in issues or discussion
but not yet promoted to a scoped phase belong in a "candidates" note
here or in a GitHub issue, not in the codebase.

---

Expand Down
Loading