Co-authored-by: Timothy <timothy@noreply.gitea.tblindustries.be>
3.1 KiB
key, title, status, since, supersedes, superseded-by, rule, signals, mechanics
| key | title | status | since | supersedes | superseded-by | rule | signals | mechanics |
|---|---|---|---|---|---|---|---|---|
| process.ersatztv-owns-code-not-operations | 2026-08-26 — ersatztv owns the fork code; media-management owns channel operations (#755) | active | 2026-08-26 | none | none | This repo owns *developing the fork* — code, the `/api/v1` surface, the MCP server, CI, releases and the canonical `ersatztv` skill. Channel/collection/schedule/playout OPERATIONS against a running instance belong to `media-management`; driving prod from here is in scope only as verification of a change this repo is shipping. | project boundary · who owns channels · which repo do I file this in · skill ownership · symlinked skill · channel operations vs channel code · paths: `CLAUDE.md`, `.claude/skills/ersatztv/SKILL.md`, `~/media-management`, `~/server-management` · issues: #755, #617 | File operational work (create/edit a live channel, lineup, collection, schedule, playout, logo, overlay) as a `timothy/media-management` issue; file fork-code/CI/release work here. The `ersatztv` skill has ONE copy — `.claude/skills/ersatztv/SKILL.md` in this repo — which both `~/server-management/.claude/skills/ersatztv` and `~/media-management/.claude/skills/ersatztv` symlink to; edit it here. |
CLAUDE.md used to list "channel/collection/schedule management" under ersatztv OWNS, which
reads as though day-to-day channel work belongs here. It does not: this repo is where the fork is
built, and the same nouns name two different jobs. Writing a ProgramSchedule handler is fork
code. Creating a schedule on the live instance is an operation.
The ambiguity was not academic — it produced three files with three answers. media-management
claimed to be authoritative for the ersatztv skill, this repo claimed the canonical copy was here
(#617), and ~/homelab-docs/Operations/Project Boundaries.md named server-management as the owner.
The concrete damage was a divergent fork of the skill in media-management, last touched
2026-07-20, still opening with "ErsatzTV is a Blazor server-side app, NOT a traditional REST API …
use Playwright against the web UI or direct SQLite DB manipulation" plus "No auth required" — every
clause false since #91b removed the Blazor UI and the api-key filter went fail-closed. A reader
following it would have driven prod through a UI that no longer exists.
Fixed outside this repo first (media-management 472d83e, homelab-docs 1512972): the divergent
copy became a symlink to the canonical one, with the old text archived and its false claims labelled;
both boundary docs now state the split.
The carve-out matters and is deliberately narrow: this repo does touch the live instance, for live-E2E before a push and for release smoke tests. That is verification of a change being shipped from here, and it is bounded by the change. It is not a licence to do channel operations here because the API happens to be reachable.
Cross-reference docs/handoffs/chicorytv-issue-queue.md for how queue selection works within this
repo's scope, and #617 for why a skill has exactly one copy rather than a per-repo fork.