# Android Cast — documentation index

Click a link to open a guide. Section links jump within the document (GitHub, Cursor, and most Markdown previews).

---

## Table of contents

<!-- toc -->
- [All documents](#all-documents)
- [Specifications](#specifications)
- [Design reviews](#design-reviews)
- [By topic](#by-topic)
  - [Infrastructure and deploy](#infrastructure-and-deploy)
  - [Development process](#development-process)
  - [Alpha and QA](#alpha-and-qa)
  - [Backend apps](#backend-apps)
  - [Product and codecs](#product-and-codecs)
- [Agent bootstrap](#agent-bootstrap)
- [Maintaining TOCs](#maintaining-tocs)
<!-- /toc -->

---

## All documents

| Document | Summary |
|----------|---------|
| [20260602_REVERSE_SSH_proposals_summary.md](20260602_REVERSE_SSH_proposals_summary.md) | On-demand remote access (WG/SSH/file API) proposals. |
| [20260607-2FA-email-mobile-auth-flow.md](20260607-2FA-email-mobile-auth-flow.md) | Email forwarding + registration/2FA (alpha must-have). |
| [20260608_ALPHA_PRIORITIES.md](20260608_ALPHA_PRIORITIES.md) | **Master priority plan** (0.1–9.x renumber, owners, alpha path). |
| [20260608_BE_SERVICES_and_infra.md](20260608_BE_SERVICES_and_infra.md) | BE service map, validation status, SFU preview (gray). |
| [20260608_STREAM_DUMP_DEBUG.md](20260608_STREAM_DUMP_DEBUG.md) | FR 0.1 stream dump spec. |
| [20260610_SERVICES.md](20260610_SERVICES.md) | Exposed services catalog — web UI, APIs, curl, validation (2026-06-10). |
| [ALPHA.md](ALPHA.md) | Alpha feature freeze, QA sign-off, defaults. |
| [ALPHA_SOAK.md](ALPHA_SOAK.md) | Short LAN soak checklist for demo validation. |
| [AV_QUALITY_QA_SESSION.md](AV_QUALITY_QA_SESSION.md) | AV enhancement Q&A: sender vs receiver pipelines. |
| [BUILD_DEPLOY.md](BUILD_DEPLOY.md) | Docker CI, staging OTA, builder console deploy. |
| [COMMERCIAL.md](COMMERCIAL.md) | Developer-gated ads / IAP toggles. |
| [CRASH_REPORTER.md](CRASH_REPORTER.md) | Anonymous crash upload (app + backend). |
| [GIT_FLOW.md](GIT_FLOW.md) | Branches (`master` / `next`), release, hotfix, dual remote. |
| [GRAFANA_vs_others_graphvis_pivot.md](GRAFANA_vs_others_graphvis_pivot.md) | Custom graphs vs Grafana decision memo. |
| [INFRA.md](INFRA.md) | Production topology: Gentoo FE → Alpine BE, ports, nginx, sshfs. |
| [OPEN_API.md](OPEN_API.md) | Crash ingest API design, triage tags, heuristics. |
| [OPEN_TASKS_GRAPH.md](OPEN_TASKS_GRAPH.md) | Open tasks dependency graph (Mermaid). |
| [OPUS_SPEEX_VALIDATION.md](OPUS_SPEEX_VALIDATION.md) | Opus/Speex + UDP stream protection E2E checklist. |
| [OTA.md](OTA.md) | OTA channel layout v0, manifests, MQTT, publish flow. |
| [PRO_AAR.md](PRO_AAR.md) | cast-core / cast-pro AAR split and Play Billing. |
| [REMOTE_ACCESS_IMPL.md](REMOTE_ACCESS_IMPL.md) | WireGuard v1 impl + deploy. |
| [REMOTE_ACCESS_VALIDATION.md](REMOTE_ACCESS_VALIDATION.md) | Linux CLI suite + mobile parity. |
| [ROADMAP.md](ROADMAP.md) | Implementation roadmap, alpha definition, deferred work. |
| [TICKETS_ROADMAP.md](TICKETS_ROADMAP.md) | Tickets console, Gitea, attachments, agent queue. |
| [USB_HDMI_CAST.md](USB_HDMI_CAST.md) | Roadmap D/E: HDMI awareness, USB-tether transport. |

---

## Specifications

| Document | Summary |
|----------|---------|
| [20100611_3_url_shortener.md](specs/20100611_3_url_shortener.md) | URL shortener service — SPEC (`s.f0xx.org`, post-alpha). |
| [20100612_1_scaling.md](specs/20100612_1_scaling.md) | Platform scaling — multi-VM clusters, dev/staging/prod, cloud path ([PDF](specs/20100612_1_scaling.pdf)). |

---

## Design reviews

| Document | Summary |
|----------|---------|
| [20100611_3_url_shortener.md](DRs/20100611_3_url_shortener.md) | URL shortener — design review (auth, slug algo, task graph). |
| [20100612_1_scaling.md](DRs/20100612_1_scaling.md) | Platform scaling — architecture options, RSSH capacity, task graph ([PDF](DRs/20100612_1_scaling.pdf)). |

---

## By topic

### Infrastructure and deploy

- [INFRA.md](INFRA.md) — FE/BE topology, nginx, ports ([§1 Topology](INFRA.md#1-topology))
- [specs/20100612_1_scaling.md](specs/20100612_1_scaling.md) — scaling SPEC ([§6 Target architecture](specs/20100612_1_scaling.md#6-target-architecture))
- [DRs/20100612_1_scaling.md](DRs/20100612_1_scaling.md) — scaling DR ([§15 Task graph](DRs/20100612_1_scaling.md#15-task-dependency-graph))
- [BUILD_DEPLOY.md](BUILD_DEPLOY.md) — Docker CI, builder ([§Docker CI](BUILD_DEPLOY.md#docker-ci))
- [OTA.md](OTA.md) — OTA v0 layout ([§URL layout](OTA.md#url-layout))

### Development process

- [GIT_FLOW.md](GIT_FLOW.md) — `master` / `next` ([§2 Branches](GIT_FLOW.md#2-branches))
- [ROADMAP.md](ROADMAP.md) — milestones ([§Alpha definition](ROADMAP.md#alpha-definition))

### Alpha and QA

- [ALPHA.md](ALPHA.md) — freeze and sign-off ([§Alpha scope](ALPHA.md#alpha-scope-what-we-ship))
- [ALPHA_SOAK.md](ALPHA_SOAK.md) — LAN soak ([§Happy path](ALPHA_SOAK.md#happy-path-15-min))

### Backend apps

- [CRASH_REPORTER.md](CRASH_REPORTER.md) — crash upload
- [OPEN_API.md](OPEN_API.md) — ingest API ([§Upload API](OPEN_API.md#upload-api-post-apiv1uploadphp))
- [TICKETS_ROADMAP.md](TICKETS_ROADMAP.md) — tickets + Gitea
- [GRAFANA_vs_others_graphvis_pivot.md](GRAFANA_vs_others_graphvis_pivot.md) — graphs pivot
- [20260602_REVERSE_SSH_proposals_summary.md](20260602_REVERSE_SSH_proposals_summary.md) — remote access ([§Rev. 3 Q&A](20260602_REVERSE_SSH_proposals_summary.md#rev-3--wg-vs-ssh-qa--bastion-deep-dive))
- [specs/20100611_3_url_shortener.md](specs/20100611_3_url_shortener.md) — URL shortener SPEC ([§REST API](specs/20100611_3_url_shortener.md#6-rest-api))
- [DRs/20100611_3_url_shortener.md](DRs/20100611_3_url_shortener.md) — URL shortener DR ([§Resolved open questions](DRs/20100611_3_url_shortener.md#2-resolved-open-questions))

### Product and codecs

- [COMMERCIAL.md](COMMERCIAL.md) — ads / IAP
- [PRO_AAR.md](PRO_AAR.md) — Pro AAR split
- [USB_HDMI_CAST.md](USB_HDMI_CAST.md) — HDMI / USB-tether
- [AV_QUALITY_QA_SESSION.md](AV_QUALITY_QA_SESSION.md) — AV enhancement Q&A

---

## Agent bootstrap

After a context reset, read in order:

1. [INFRA.md](INFRA.md) — topology (no `:8089` for androidcast)
2. [GIT_FLOW.md](GIT_FLOW.md) — branch rules
3. Task-specific: [BUILD_DEPLOY.md](BUILD_DEPLOY.md), [TICKETS_ROADMAP.md](TICKETS_ROADMAP.md), [20260602_REVERSE_SSH_proposals_summary.md](20260602_REVERSE_SSH_proposals_summary.md), etc.

Repo root [AGENTS.md](../AGENTS.md) points here.

---

## Maintaining TOCs

Section links use GitHub/Cursor-style heading anchors. After adding or renaming `##` / `###` headings, run:

```bash
python3 scripts/generate-docs-toc.py
```

## PDF export (markdown → PDF)

```bash
pip install -r docs/_pdf_build/requirements-pdf.txt   # reportlab
bash scripts/build-all-docs-pdf.sh
```

- Renders every `docs/**/*.md` to a sibling `.pdf` (skips `drafts/` and `_pdf_build/`).
- **` ```mermaid ` blocks** are rendered as PNG diagrams via `@mermaid-js/mermaid-cli` (needs `npx` + Chromium); cached under `docs/_pdf_build/mermaid_cache/` (gitignored — regenerated on build).
- Dedicated diagram PDFs (pre-built PNGs): `build_git_flow_pdf.py`, `build_graphvis_pivot_pdf.py`, etc.

