The campaign-artifact home moved in 42bc482, but the surfaces an agent copy-pastes from still named the retired paths. A tool's usage block is exactly what gets run, so this is drift with teeth, not cosmetics.
What changes
Surface
Was
Now
scripts/media-shows.py usage
plan at /mnt/entropy/media-tv-plan.tsv, journal at /mnt/entropy/media-tv-relayout.jsonl, --park /mnt/entropy/media-park/TVShows
all under /mnt/entropy/.media-campaign/, park /mnt/entropy/NeedsProcessing/TVShows
scripts/media-tv.py usage
plan + journal at the array root (three commands)
/mnt/entropy/.media-campaign/…
scripts/media-tvdupes.py usage
plan + journal at the array root (three commands)
/mnt/entropy/.media-campaign/…
Jellyfin.md coverage law
/data/media-park is in no library
/data/NeedsProcessing — with the date the pile moved, so the sentence still reads true
Media TV Relayout.md runnable block
--park /mnt/entropy/media-park/TVShows
--park /mnt/entropy/NeedsProcessing/TVShows
Each script block also states the reason --journal is always explicit: media-apply.py
defaults its journal to <root>/media-relayout.jsonl, so a run that omits it puts the log
back on the array root — which is the exact clutter the 2026-11-02 cleanup removed.
Why it matters
Measured today: the array root held 48 loose planning artifacts (219.8 MiB) before they were moved
into .media-campaign/ by a journaled media-apply pass. Those blocks prescribe exactly that shape
of output — plan, journal and sweep at --root's top level — so the next run copied from them would
have re-created the same clutter. Fixing the vault page alone leaves the reproduction path open.
Verification
./tests/run.sh — 822 seams, all pass.
git grep -E '/mnt/entropy/[A-Za-z0-9_.-]+\.(tsv|jsonl|json|log|txt)' filtered for .media-campaign returns zero remaining root-level artifact references in tracked files.
git grep -l media-park now names only the two pages that own the retired path as history
(Jellyfin.md, Media Duplicate Prune.md), each of which says when it was drained.
No runtime code changed: docstrings and two vault lines.
Nothing here needs a deploy — documentation and usage text only.
The campaign-artifact home moved in `42bc482`, but the surfaces an agent copy-pastes from still named the retired paths. A tool's usage block is exactly what gets run, so this is drift with teeth, not cosmetics.
## What changes
| Surface | Was | Now |
|---|---|---|
| `scripts/media-shows.py` usage | plan at `/mnt/entropy/media-tv-plan.tsv`, journal at `/mnt/entropy/media-tv-relayout.jsonl`, `--park /mnt/entropy/media-park/TVShows` | all under `/mnt/entropy/.media-campaign/`, park `/mnt/entropy/NeedsProcessing/TVShows` |
| `scripts/media-tv.py` usage | plan + journal at the array root (three commands) | `/mnt/entropy/.media-campaign/…` |
| `scripts/media-tvdupes.py` usage | plan + journal at the array root (three commands) | `/mnt/entropy/.media-campaign/…` |
| `Jellyfin.md` coverage law | `/data/media-park` is in no library | `/data/NeedsProcessing` — with the date the pile moved, so the sentence still reads true |
| `Media TV Relayout.md` runnable block | `--park /mnt/entropy/media-park/TVShows` | `--park /mnt/entropy/NeedsProcessing/TVShows` |
Each script block also states the reason `--journal` is always explicit: `media-apply.py`
defaults its journal to `<root>/media-relayout.jsonl`, so a run that omits it puts the log
back on the array root — which is the exact clutter the 2026-11-02 cleanup removed.
## Why it matters
Measured today: the array root held 48 loose planning artifacts (219.8 MiB) before they were moved
into `.media-campaign/` by a journaled `media-apply` pass. Those blocks prescribe exactly that shape
of output — plan, journal and sweep at `--root`'s top level — so the next run copied from them would
have re-created the same clutter. Fixing the vault page alone leaves the reproduction path open.
## Verification
- `./tests/run.sh` — **822 seams, all pass**.
- `git grep -E '/mnt/entropy/[A-Za-z0-9_.-]+\.(tsv|jsonl|json|log|txt)'` filtered for
`.media-campaign` returns **zero** remaining root-level artifact references in tracked files.
- `git grep -l media-park` now names only the two pages that own the retired path as history
(`Jellyfin.md`, `Media Duplicate Prune.md`), each of which says when it was drained.
- No runtime code changed: docstrings and two vault lines.
Nothing here needs a deploy — documentation and usage text only.
---
cwd: /home/blank/.omp/wt/wt-20261030-163847-6d1fc1f · session: 01a18f2e-18b1-7573-bcd5-ac99636f8bcb
The campaign-artifact home moved (42bc482) but the copy-paste surfaces still
named the old ones, and a tool's usage block is exactly what an agent runs:
- scripts/media-shows.py, media-tv.py, media-tvdupes.py: usage examples wrote
plans and journals at the array root. media-apply.py defaults its journal to
<root>/media-relayout.jsonl, so any run copied from those lines re-creates
the root-level clutter the vault now forbids. Each block now names
/mnt/entropy/.media-campaign/ and says why --journal is explicit.
- media-shows.py: --park named the retired media-park; the pile is
/mnt/entropy/NeedsProcessing/TVShows.
- Jellyfin.md: library-coverage law named /data/media-park; names the pile by
its current path and records when it moved.
- Media TV Relayout.md: the runnable --park path named media-park.
bats: 822 seams green.
dank
merged commit 988c4899d4 into main2026-11-02 18:42:34 -08:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The campaign-artifact home moved in
42bc482, but the surfaces an agent copy-pastes from still named the retired paths. A tool's usage block is exactly what gets run, so this is drift with teeth, not cosmetics.What changes
scripts/media-shows.pyusage/mnt/entropy/media-tv-plan.tsv, journal at/mnt/entropy/media-tv-relayout.jsonl,--park /mnt/entropy/media-park/TVShows/mnt/entropy/.media-campaign/, park/mnt/entropy/NeedsProcessing/TVShowsscripts/media-tv.pyusage/mnt/entropy/.media-campaign/…scripts/media-tvdupes.pyusage/mnt/entropy/.media-campaign/…Jellyfin.mdcoverage law/data/media-parkis in no library/data/NeedsProcessing— with the date the pile moved, so the sentence still reads trueMedia TV Relayout.mdrunnable block--park /mnt/entropy/media-park/TVShows--park /mnt/entropy/NeedsProcessing/TVShowsEach script block also states the reason
--journalis always explicit:media-apply.pydefaults its journal to
<root>/media-relayout.jsonl, so a run that omits it puts the logback on the array root — which is the exact clutter the 2026-11-02 cleanup removed.
Why it matters
Measured today: the array root held 48 loose planning artifacts (219.8 MiB) before they were moved
into
.media-campaign/by a journaledmedia-applypass. Those blocks prescribe exactly that shapeof output — plan, journal and sweep at
--root's top level — so the next run copied from them wouldhave re-created the same clutter. Fixing the vault page alone leaves the reproduction path open.
Verification
./tests/run.sh— 822 seams, all pass.git grep -E '/mnt/entropy/[A-Za-z0-9_.-]+\.(tsv|jsonl|json|log|txt)'filtered for.media-campaignreturns zero remaining root-level artifact references in tracked files.git grep -l media-parknow names only the two pages that own the retired path as history(
Jellyfin.md,Media Duplicate Prune.md), each of which says when it was drained.Nothing here needs a deploy — documentation and usage text only.
cwd: /home/blank/.omp/wt/wt-20261030-163847-6d1fc1f · session: 01a18f2e-18b1-7573-bcd5-ac99636f8bcb