Commit b3279c8d by PLN (Algolia)

docs(board): CosmicSet is on the shelf — the board after the release session

The two-set release board from 2026-09-01 is half discharged. CosmicFest-26 went
from "finished on disk with nowhere to go" to a private 15-item release behind a
canonical www gig page; OPAL-26's remaining upload work is now the only release
thread left, and it is unblocked rather than in flight.

Six resume points, each with the exact command and the wanted output, because
two of them are the kind that look done when they are not: the uploader saying
"N uploaded" is not evidence that N tracks exist (two were accepted, verified,
and then vanished), and renaming the mix's permalink without regenerating the
plan would make the next run re-upload 693 MB rather than skip it.

Also recorded: the www branch is committed but unpushed because that repo is on
github and no key was loaded, the CosmicFest plan still carries `_UNSIGNED` so
nothing may be flipped public, and the two levers left on the record are the LOW
end (the real harmony lever, much bigger than the air shelf) and the deferred
club variant. Plus a note that piment_bresilien.tidal is PLN's own edit.
parent 3ed1bc2d
...@@ -1315,3 +1315,123 @@ still need the browser edit FORM — api-v2 PUT is dead for both create and upda ...@@ -1315,3 +1315,123 @@ still need the browser edit FORM — api-v2 PUT is dead for both create and upda
⚠️ **Do not upload CosmicFest's 14-track split before PLN approves the tone.** SoundCloud ⚠️ **Do not upload CosmicFest's 14-track split before PLN approves the tone.** SoundCloud
is idempotent by permalink: a v2 re-render would be silently SKIPPED, not replaced. The is idempotent by permalink: a v2 re-render would be silently SKIPPED, not replaced. The
continuous mix goes up first, for judgement; the split follows approval. continuous mix goes up first, for judgement; the split follows approval.
---
## BOARD STATE — 2026-09-02, CosmicSet is on the shelf *(pre-compact)*
The two-set release board from 2026-09-01 is **half discharged**: CosmicFest-26
went from "finished on disk with nowhere to go" to a private 15-item release on
SoundCloud, with a canonical www gig page behind it. OPAL-26's remaining upload
work is untouched and is now the only release thread left.
### ✅ Closed this session
| was | now |
|---|---|
| C-1 gig metadata blocks every upload adapter | **done**`content/lives/2026/cosmicfest-2026.md` + `tracks.json`, every non-derivable field sourced |
| C-2 tone call +5 vs +8 | **done** — PLN chose +5 for catalogue coherence; measured against OPAL v4, not a genre norm |
| C-3 upload CosmicSet private | **13/15 confirmed live**, 2 re-uploading (see below) |
| C-4 does the demucs OOM mean data loss | **no** — the killed run is a fossil in the journal; rerun succeeded at 7.6 GB, artefacts verified |
| the WAP question | **resolved** — not played, confirmed by PLN *and* by tempo timeline |
| merge the release tooling | **merged** `2f947c2..b747cc7`, pushed |
### 🔴 RESUME POINTS — exact next steps
**R1 · Finish the CosmicSet upload (5 min, unblocked).**
Two tracks were accepted, API-verified live, then vanished from the account —
SC-side, not the files (both FLACs decode with zero ffmpeg errors) and not quota
(`/me.quota` says `unlimited_upload_quota: true`). A plain re-run fixes it:
```bash
cd /home/pln/Work/Sound/tidal-ears
.venv/bin/tidal-ears master sc form-album \
--plan /home/pln/Work/Sound/Prod/Cosmic26_master/release_plan_v1_streaming.json \
--sharing private --which all --go # idempotent: skips the 13 already up
```
Then the gate, which is the real check — the uploader saying "N uploaded" is not
evidence that N tracks exist:
```bash
cd /home/pln/Work/Sound/Tidal/armada/tide-table
/home/pln/Work/Sound/tidal-ears/.venv/bin/python check_permalinks.py \
/home/pln/Work/Sound/Prod/Cosmic26_master/release_plan_v1_streaming.json
```
Want: `15 already up as this same audio · 0 COLLISION(S)`. Missing at compact:
`/am-i-doing-it-right-cosmicfest-2026`, `/vague-de-crime-cosmicfest-2026`.
**R2 · Push the www gig page (needs PLN, 10 s).**
`www` is `git@github.com:PLNech/www.git` and no SSH key was loaded in the
session, so the branch is committed but local:
worktree `/home/pln/Work/Web/www-wt-cosmicmeta`, branch
`claude/cosmicfest-2026-metadata`, 2 commits (`e8ba8d1`, `c4814d7`).
PLN runs `! ssh-add`, then `git -C /home/pln/Work/Web/www-wt-cosmicmeta push -u
origin claude/cosmicfest-2026-metadata`. **Do not** commit these in the main
`www` tree — it is on `claude/self-host` with another session's uncommitted work
in `app/` and `components/`. The same two files are also sitting UNTRACKED in the
main tree on purpose, because `build_release_plan.py` reads them from the `WWW`
path; they are duplicates of what the worktree has committed, not new work.
**R3 · The mix permalink carries a doubled year (cosmetic, 2 min).**
Live at `/cosmicset-2026-2026-full-set-cosmicfest-2026`; the builder has since
been fixed to emit `cosmicset-2026-full-set-cosmicfest-2026`. Metadata PUTs are
free on api-v2, so: regenerate the plan AND rename on SC **in the same
operation** — renaming alone would make the next run see the mix as free and
re-upload 693 MB.
**R4 · One ear call on the split, and only one.**
Over the last ~80 s of segment 1 the drums stem reads 161.5 BPM — the tempo of
the next track. Either a long livecoded blend (which is what PLN's "direct from
Bombe DJ to Something about Drums" looks like in Tidal) or a boundary at 6:46.6
sitting later than the music. A tempo timeline can see a segue; it cannot say
where the boundary belongs.
```bash
cd /home/pln/Work/Sound/Tidal/armada/tide-table
D=/home/pln/Work/Sound/Prod/Cosmic26_master/stems_demucs/sections
/home/pln/Work/Sound/tidal-ears/.venv/bin/python tempo_timeline.py \
"$D/01-ceci_nest_pas_une_bombe/drums.wav" --window 20 --hop 10 --expect 124
```
**R5 · There is still NO `release_signoff` for CosmicFest.**
The plan on disk carries an `_UNSIGNED` block naming why it was forced: the
audition upload had to precede the signoff, because SoundCloud is where PLN
listens. **Do not flip these permalinks public** until a `release_signoff` lands
in `judge_specs/cosmicfest-2026_ear_verified.json`.
**R6 · Two levers on the record, both unspent and both PLN's call.**
- **The low end**, which is the real harmony lever and much bigger than the air
shelf we spent a night on: 0.36x of OPAL below 60 Hz, 0.67x in 60-120, next to
44.8% kick presence against OPAL's 59%. A shelf under 120 Hz is untried and is
risky on a room capture — it lifts rumble and mud with the kick, and costs
headroom on a master already at -0.9 dBTP.
- **The club -9 LUFS variant**, still parked in the spec's `variants_deferred`
with its reasoning. Moving the key back into `variants` renders it.
- **Cover art**: nothing is attached to any of the 15 uploads. `Tidal/output/
Jardin_*.jpg` looked like candidates but choosing is not mine to do.
### 🟢 Unblocked by this session, not started
- **OPAL-26's remaining 7 SC tracks.** Now genuinely low-risk: the permalink
gate exists, and the four titles that collide across the two gigs are known.
Note OPAL's existing uploads are **unsuffixed**, so a suffix policy applied
now would be inconsistent with them — decide that before uploading more.
- **OPAL's two known defects**: `take-five-drops` is ~24 s short, and
`ghosts-in-the-toilets` has a malformed tag (needs the browser edit FORM;
api-v2 PUT is dead for it).
- **`build_gig_tracksjson.py --meta` is now the way to make any gig page**, so
the older gigs missing pages are cheap to add. See
`reference_gig_tracklist_sources` for where the non-derivable facts hide —
three of the four fields I asked PLN for were already written down in `www`.
### Tooling added (all merged to master except the follow-ups branch)
`master_stemless.py` · `demucs_sections.py` · `eda_stems.py` ·
`setlist_to_segments.py` · `compare_masters.py` · `build_gig_tracksjson.py` ·
`check_permalinks.py` · `tempo_timeline.py` · `finish_cosmic.sh`
Branches at compact: `claude/cosmic-followups` (Tidal, pushed) ·
`claude/scform-permalink-override` (tidal-ears, pushed, 2 commits) ·
`claude/cosmicfest-2026-metadata` (www, **local only**, 2 commits).
`live/collab/raph/piment_bresilien.tidal` is modified in the Tidal tree and is
**PLN's own edit** — his friend wants to collab on that track. Not mine, not to
be touched.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment