# Vocabulary (hand-written pilot 2026-06 — will be generated by langgen in Phase 2) | Term | Means | Never say | |---|---|---| | transcript | Captions-first text of a video; the source for summarizing. Shared store keyed by `(provider, video_id)`. | "subtitles file", "the audio" | | video | Per-user record of a seen video; the unit of work. Not globally deduped. | "the shared video" | | subscription | A watched channel on a user's connection that Tapir polls for new videos. | "feed", "follow" | | summary | A video's produced output: summary text + highlights + takeaways + AI provenance. | "transcript" | | highlight | A notable point pulled from a video (`Summary.Highlights`). | "takeaway" | | takeaway | An actionable conclusion from a video (`Summary.Takeaways`). | "highlight" | | sink | A delivery destination for a summary (`store`, `brain`). New one = new adapter. | "the database" | | AI router | Local-first chain: local Primary → local fallback → external worst-case. | "the API" | | BYO-AI fallback | User's own external AI key, used only when local fails; opt-in. Without it, content is never sent externally. | "the default AI" | | brain | Persistent homelab knowledge store; in Tapir, one optional HTTP sink (`brain_ingest`), not the filesystem package. | "the database", "the store" | | LiteLLM gateway | Local AI gateway (`koala:30401/v1`); the Primary in the AI router. | "piguard", "the cloud" | | connection | A connected video account a user authorizes via OAuth; subscriptions hang off it. | "login", "session" | ## Caveman rubric Before any HIGH/CRITICAL operation, output one line: `caveman: me , not ` Valid iff: (1) only vocabulary terms + plain verbs, (2) a stranger could identify the exact operation, (3) names one thing explicitly NOT being done. Examples: - `caveman: me delete user connection, not the shared transcript` - `caveman: me send transcript to BYO-AI fallback, not the LiteLLM gateway`