1
0
mirror of git://f0xx.org/android_cast synced 2026-07-29 04:38:53 +03:00
This commit is contained in:
Anton Afanasyeu
2026-06-11 18:37:48 +02:00
parent 0431bafd74
commit 9d9a6d66d9
87 changed files with 4443 additions and 1190 deletions

View File

@@ -32,9 +32,23 @@ DOC_BLURBS: dict[str, str] = {
"USB_HDMI_CAST.md": "Roadmap D/E: HDMI awareness, USB-tether transport.",
"GRAFANA_vs_others_graphvis_pivot.md": "Custom graphs vs Grafana decision memo.",
"20260602_REVERSE_SSH_proposals_summary.md": "On-demand remote access (WG/SSH/file API) proposals.",
"20260607-2FA-email-mobile-auth-flow.md": "Email forwarding + registration/2FA (alpha must-have).",
"20260608_ALPHA_PRIORITIES.md": "**Master priority plan** (0.19.x renumber, owners, alpha path).",
"20260608_BE_SERVICES_and_infra.md": "BE service map, validation status, SFU preview (gray).",
"20260608_STREAM_DUMP_DEBUG.md": "FR 0.1 stream dump spec.",
"20260610_SERVICES.md": "Exposed services catalog — web UI, APIs, curl, validation (2026-06-10).",
"OPEN_TASKS_GRAPH.md": "Open tasks dependency graph (Mermaid).",
"OPUS_SPEEX_VALIDATION.md": "Opus/Speex + UDP stream protection E2E checklist.",
"REMOTE_ACCESS_IMPL.md": "WireGuard v1 impl + deploy.",
"REMOTE_ACCESS_VALIDATION.md": "Linux CLI suite + mobile parity.",
"AV_QUALITY_QA_SESSION.md": "AV enhancement Q&A: sender vs receiver pipelines.",
"specs/20100611_3_url_shortener.md": "URL shortener service — SPEC (`s.f0xx.org`, post-alpha).",
"DRs/20100611_3_url_shortener.md": "URL shortener — design review (auth, slug algo, task graph).",
}
SPEC_DIR = DOCS / "specs"
DR_DIR = DOCS / "DRs"
def github_slug(text: str) -> str:
"""Approximate GitHub/Cursor heading anchor slugs."""
@@ -150,6 +164,8 @@ def build_index_md() -> str:
"",
TOC_START,
"- [All documents](#all-documents)",
"- [Specifications](#specifications)",
"- [Design reviews](#design-reviews)",
"- [By topic](#by-topic)",
"- [Agent bootstrap](#agent-bootstrap)",
TOC_END,
@@ -166,6 +182,43 @@ def build_index_md() -> str:
blurb = DOC_BLURBS.get(name, "")
lines.append(f"| [{name}]({name}) | {blurb} |")
spec_files = sorted(SPEC_DIR.glob("*.md")) if SPEC_DIR.is_dir() else []
dr_files = sorted(DR_DIR.glob("*.md")) if DR_DIR.is_dir() else []
lines += [
"",
"---",
"",
"## Specifications",
"",
"| Document | Summary |",
"|----------|---------|",
]
if spec_files:
for p in spec_files:
rel = f"specs/{p.name}"
blurb = DOC_BLURBS.get(rel, "")
lines.append(f"| [{p.name}]({rel}) | {blurb} |")
else:
lines.append("| _(none yet)_ | |")
lines += [
"",
"---",
"",
"## Design reviews",
"",
"| Document | Summary |",
"|----------|---------|",
]
if dr_files:
for p in dr_files:
rel = f"DRs/{p.name}"
blurb = DOC_BLURBS.get(rel, "")
lines.append(f"| [{p.name}]({rel}) | {blurb} |")
else:
lines.append("| _(none yet)_ | |")
lines += [
"",
"---",
@@ -195,6 +248,8 @@ def build_index_md() -> str:
f"- [TICKETS_ROADMAP.md](TICKETS_ROADMAP.md) — tickets + Gitea",
f"- [GRAFANA_vs_others_graphvis_pivot.md](GRAFANA_vs_others_graphvis_pivot.md) — graphs pivot",
f"- [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))",
f"- [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))",
f"- [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",
"",
@@ -235,10 +290,15 @@ def main() -> None:
print(f"Wrote {index_path}")
changed = []
for path in sorted(DOCS.glob("*.md")):
toc_paths: list[Path] = sorted(DOCS.glob("*.md"))
if SPEC_DIR.is_dir():
toc_paths.extend(sorted(SPEC_DIR.glob("*.md")))
if DR_DIR.is_dir():
toc_paths.extend(sorted(DR_DIR.glob("*.md")))
for path in toc_paths:
if process_file(path):
changed.append(path.name)
print(f"Updated TOC: {path.name}")
changed.append(str(path.relative_to(DOCS)))
print(f"Updated TOC: {path.relative_to(DOCS)}")
print(f"Done. {len(changed)} file(s) updated.")