# Glossary (v2)

Extends [`docs/glossary.md`](../docs/glossary.md) with pillar vocabulary.

## Pillars

- **Watch** — playback, Player, Home rails, queue, Continue Watching UX.
- **Library** — catalog scan, index, grouping, metadata enrichment.
- **Download** — torrent acquisition, transmission, custody floor, reaper,
  `peers_for`, seed TTL, governor prefetch buffer.
- **Net** — TVAnarchy **data** synced between installs (editions over
  `friend_mesh`); trust per part (`friends` vs `network`). Not video bytes.
- **Devices** — device registry + install pairing (the product term that replaced
  "fleet" in UI), storage pools, shared media volume, offline/extension policy.

**Cross-pillar settings** — theme, Winamp skins, shell chrome
([settings.md](./pillars/settings.md)).

Tagline (press/GTM): **Napster for Netflix** — see [docs/marketing/](./docs/marketing/).

Pillars: **Watch · Library · Download · Net · Devices**.

## Additional terms (from 2026-06 doc build-out)

- **Pillar (lens)**: Organizational product/engineering boundary. See plan.md Appendix C for how separation is achieved while staying DRY (correlation tags + manifest as truth, packages/faces for engines, pattern reuse like TitleLibrary → Net obs, state path segregation, UI surface mapping). Not runtime modules or separate apps.
- **Faces pattern**: See packages/README.md + bittorrentdrive.md.
- **ContentKey**: Stable non-path identity (ContentID.canonical + optional fingerprint). Used by Library/TitleLibrary, Net observations/editions, Devices placement, Download hints.
- **Winamp chrome / .wsz system**: Custom retro skin implementation (real .wsz BMP sprites + TXT parsing into ThemePalette + exact sprite views for transport/LED/spectrum). Hybrid AppKit (NSImage, no interpolation) + SwiftUI (environment, custom buttons/sliders). macOS Player-focused; standard theme + iOS unaffected. Detailed in plan.md Appendix C + pillars/watch-appearance.md.
- **Embedded UI (Net)**: No dedicated tab. Lives in Settings sections + Player hooks (bounds, contribute observation). See correlation/ui.md.
- **Switching pillars**: Single-shell navigation (RootView NavigationSplitView sidebar enum Section + selection-driven @ViewBuilder detail switch + library subnav). Global cross chrome (queue, theme env, offline, notifications) always available. Controllers per pillar; heavy pollers gated to relevant selection. See plan.md Appendix C + RootView.swift + correlation/ui.md.
- **PathGuard**: Reusable input guard (realpath + ext allow + media roots containment after realpath of roots; model on bridge/library.ts resolveStreamId). Implemented + wired for blacktv (sh + TS dispatch in tools); model/pattern for future Swift/MCP/Net surfaces (cf. existing prefix checks in LibraryScanner/MediaPaths and resolveStreamId for bridge streams). See plan.md App C + security inserts.
- **Mandatory auth**: No default-open for daemons/bridges/serves/HTTP/MCP surfaces (bearer token or equiv required; fatal if missing post-install). Per v1 review + v2 plan (fleet serve bearer, Phase 7 control-plane, bridge). See plan.md checklist + cross-cutting.

## Net terms

- **part** — named dataset type (`intro-markers`, `grouping`, `quality`,
  `signal`, `peers-hints`).
- **edition** — versioned snapshot of a part, distributed as a small torrent.
- **observation** — one install's contribution (value + confidence + provenance).
- **merge** — local policy producing the subscribed view from observations.
- **trust** — `friends` (`f2f_only`) or `network` (k-anon aggregates).

## Disambiguation

| Term | Means | Pillar |
|------|-------|--------|
| torrent **peers** | seeders/leechers for an infohash | Download |
| **Net** peers | other TVAnarchy installs | Net |
| **friend_mesh** | source kind / transport | Download + Net |
| **watchlog** | append-only play events JSONL | Watch write, Download read |
| **signal** | k-anon watch aggregates | Net part (not raw watchlog) |
| **holdings** | completed copies on install nodes | Download |
| **install** | one operator identity + devices (UI term) | Devices |
| **fleet** | legacy impl name for install registry | Devices (internal) |
| **shared media volume** | logical library across storage + extension tiers | Devices |
| **extension tier** | spare disk on laptop expanding canonical storage | Devices |
| **extended warmup** | placement to extension while watching; alias not duplicate | Devices + Watch |
| **Title Library** | local `contentKey` → episode title dataset we own | Library |
| **episode refiner** | M2 MLX parser for cache misses; writes Title Library | Library / recommender |
| **BitTorrentDrive** | shared package: internal (Devices) + external (Net) faces | packages/ |
| **internal face** | within-install pins, pools, extension tiers | Devices → drive |
| **external face** | cross-install edition swarms | Net → drive |

## Legacy terms (unchanged)

Fleet, custody floor, duty, F2F relay, reaper, `peers_for`, PlayerTarget,
meta-tracker, Identity (discord_id root), Discord planes/bridge (notify surface only) — see main glossary + v2/plan.md §13.5 (Phase 8). Map to pillars:

| Legacy term | Pillar |
|-------------|--------|
| custody floor, rolling baton, zombie, reaper | Download |
| `peers_for`, meta-tracker | Download |
| PlayerTarget, Continue Watching | Watch |
| `appTheme`, `.wsz` skin | Watch (local appearance) |
| discovery/signal graph (aggregates) | Net |
| broadcast, f2f_relay duties | Download |
| Identity (discord_id + fleets[]), Discord planes/bridge (notify surface) | Devices (duty + identity) + Download (governor runtime) | See v2/plan.md §13.5 |