Cryptograss/Horny Toad
Day 0
- Mixing/editing/bouncing and uploading 44th bday cicada jam bush videos
- Login issues with Magent (eventually solved)
- various back and forth with uploading cicada bday video/ pick dispatch sombrero edition to pickipedia
Day 2
- uploading cicada video to picki-pedia for magnet to analyze
- screenshots of error panels requested by magent
- progress on size of video uploads :
- 108
https://github.com/cryptograss/maybelle-config/pull/108
- 110
https://github.com/cryptograss/maybelle-config/issues/110
https://github.com/magent-cryptograss/maybelle-config/tree/fix-wiki-api-path-a
- past but relevant :
https://github.com/cryptograss/maybelle-config/issues/79
- Even got the video the release draft page: ReleaseDraft:3fc94d4e-619f-45cc-b1ea-c643386ee315
- Finalize to IPFS error upload issue
- figuring things out with Justins side with coconut and back end AUTHOR actions
Day 3
- Big one. Coconut is basically done — encoding happens on delivery-kid now, in AV1 + Opus (both royalty-free, which was the whole point of coconut in the first place). Turns out our own box does it faster than coconut ever did. https://github.com/cryptograss/maybelle-config/pull/113
- Mixing/ Editing for Cicada 44th Bday Jam videos
- Sombrero edition published — first video ever through the local pipeline: Pickipedia Dispatch - Sombrero Edition
- The 44th bday jam-bash was the weird one. Got "IPFS failed", then "content draft not found", looked like the whole thing was gone. It wasn't. It had encoded fine and pinned to IPFS hours earlier — it just lost the paperwork, so the source got deleted and everything reported failure. The audit was even recommending we delete the wiki page, which was the only thing pointing at the video. Was about to re-upload 10.5GB for nothing. Magent found the orphan pin by cross-referencing two audits, wrote the CID back onto the draft, and the bot finished the job one second later: 44th Bday Cicada Jam-Bash — filed as https://github.com/cryptograss/maybelle-config/issues/115
- Live progress panel built and shipped. Encoding an hour of video locally meant staring at a frozen bar the whole time, so now it shows position, speed and time remaining, updating every couple seconds. https://github.com/cryptograss/maybelle-config/pull/114 and https://github.com/cryptograss/pickipedia/pull/108
- Also fixed along the way — delivery-kid had never been able to write to the wiki. Wrong API path, every write 404'd silently. That's why draft pages always looked frozen while stuff was actually happening.
- Cicada 44th Bday Jam Set 1 — first upload to go start to finish with zero manual intervention. Uploaded, encoded, pinned, release page, torrent. No babysitting.
- Wrote up how the whole pipeline works now: Cryptograss:Video encoding pipeline
- Three videos up. Started this whole thing because longer videos wouldn't upload — ended up being four separate bugs stacked on each other.
- Still open: coconut account can be cancelled (nothing uses it), https://github.com/cryptograss/maybelle-config/issues/115, https://github.com/cryptograss/maybelle-config/issues/110 (probably closeable), diagnostics snapshot subpages have never actually written, and an error showed up on the last finalize even though it succeeded — need to look at that.[✓]
Day 4
- The party turned out to fall on the day the chain crossed block 25,000,000 — only spotted because the stamped numbers didn't match the real ones.
- Afternoon: five PRs.
- Finalize bug fixed — the CID had nowhere to live on the server, so my jam looked lost. Now written down three ways before anyone's told. maybelle#117
- Block heights read from the chain — worst case 74,874 blocks off, down to 56. Eight copies of the same wrong sum, then a ninth. pickipedia#113
- Audit now spots what it missed on my jam — staging is only deleted after a successful pin, so it says "do NOT delete" instead of "safe to delete". maybelle#118
- Diagnostics pages never existed — two bugs: the wiki rejecting the payload, and the login session dying daily with nothing re-authenticating. pickipedia#114 + maybelle#119
- Nice catch: the ethereum RPC returns 403 to Python's default user agent. Without a header it fails every time and silently falls back to the estimate — the exact pattern we'd spent the day complaining about, nearly shipped by us.[unverified]
Day 5
Still open
- Merge maybelle#119 and deploy delivery-kid — one run picks up #117, #118 and #120 as well
- Cancel the Coconut account
- Paste the Common.js fix — pickipedia#111 — now covers the error message and poster frames
- Close #115 and pickipedia#112 by hand
- Check the spellings: Fibonacci Holmes and Seth Cambell
- 10 stale PRs to close; block heights on existing pages still 10 days off[unverified]
Day 6
Catching up (Sept 10–13):
- maybelle#119 merged — the diagnostics chain plus the On The Pipe tests.
- Tests actually run now. Until maybelle#122, nothing ran them at all: not GitHub, not Jenkins, not the deploy. Every push now runs the suite. The 4 dead Coconut tests are excluded, loudly, until #121.
- Justin redeployed delivery-kid (Sept 12), so every fix from Days 4–6 is live. Magent kept insisting it was still on the old build, from a check made before the deploy. It wasn't.
- Justin asked for a low-fi version and an audio-only one. Quality ladder built: 1080p / 720p / 360p plus audio-only, and the player picks based on connection. Encoding takes ~1.5x as long. maybelle#124
- Tool to upgrade videos already published. It re-encodes only the smaller sizes and copies the 1080p and the audio untouched. Set 1 rebuilt in 8½ min: 360p is 652 kbps, audio is 137 kbps (campground-friendly). It doesn't pin anything; swapping in new CIDs is Justin's call. maybelle#125
Test upload (Sept 14):
- Skyler Serenading Strangers on the Shore — 27s clip, flawless. Live progress every 2s, poster frame, pinned in 24s.
- First diagnostics page ever written: ReleaseDraft:Df5af2dc-5f7f-45fe-b791-442e7bdf6d52/diagnostics. Months of "fire and forget", finally landing.
- That page showed previews still go to Coconut on every upload. The preview has also never worked: it asks Coconut for an output called
mp4and then looks formp4_preview. So we pay, throw the result away, pin an empty folder, and play the original anyway. maybelle#126 - Two small bugs fixed: the progress bar jumped back to 10% after encoding, and the diagnostics page was written twice. maybelle#127[unverified]
Day 7
(Sept 15)
- Justin merged #124, #125 and #127 and redeployed. The quality ladder is live (
acc8a98). - Iceland Hot Springs Flute with Justin Holmes published — 24s of Justin's Lakota flute at Haukadalur, and the first release with the full ladder: 1080p / 720p / 360p / audio-only, poster and all.
- It was also shot upright, which caught a bug of mine: rungs were sized by the tall side, so the "1080p" came out 608×1080 instead of 1080×1920 — over half the picture thrown away. The Release page reported the smallest stream's size as the whole thing, too. maybelle#128
- Common.js saga. Magent posted the fix on a talk page with some spaces escaped (MediaWiki was mangling them). Justin copied from the edit box, where the escapes were still in, and every script on the wiki broke for 23 minutes: video players, block widgets, forms. Clean copy put on User:Magent/Common.js proposal, and Justin re-pasted. Rev 7937 is verified byte-identical and passes a syntax check. Lesson: a copy that's only right in one view is a trap.
- Poster thumbnails and the honest "your browser can't play AV1" message are now live on the wiki.
- Can we cancel Coconut? Not yet. Plan posted for Justin on #126: remove the preview code, retire or repoint the cryptograss.live upload page (it only talks to Coconut), redeploy, then cancel.
- Took the Claude session links off the end of all 32 Magent PRs.
- #115 closed.
Still open
- Test upload to see the new quality versions come out
- Justin: go/no-go on #126, and keep or retire
cryptograss.live/tools/upload-video, then cancel Coconut - Justin: whether to rebuild the three published sets with the new versions (new CIDs replace old Release pages)
- pickipedia#112 closes when production merges to main
- Carried over: spellings of Fibonacci Holmes and Seth Cambell, stale PRs, old block heights still off[unverified]
Day 8
Coconut is gone. Nothing anywhere calls it now — account cancellation is the last step.
Proof the ladder works
- Some band practice... in a field somewhere — upright phone video at full 1080×1920, confirming maybelle#128. Four streams, correct sizes on the page, bar only moving forward.
- Encoding the ladder runs ~0.43× realtime: budget 2.5× the video's length.
Killing Coconut
- The numbers, posted on maybelle#126: 36 video uploads; all 3 with full logs paid for a preview, pinned an empty folder and threw the result away. Each also burned a Pinata pin and ~30s of waiting.
- maybelle#129 — +57 / −1304. Opened as a draft so Justin could see the deletion; he merged it in 40 minutes.
- arthel#374 — retired cryptograss.live/tools/upload-video, the last thing calling the deleted endpoints. Now a signpost to Special:DeliverVideo instead of a 404. It never made Release pages anyway.
- Deployed.
/transcode-coconutand/job/…both 404 now, and the draft page says "Previewing your uploaded file directly".
A bug my own PR caused
- Red Haired Boy - Gorlitzer Park 2024 published fine but wrote no upload-stage diagnostics page. That snapshot turned out to be an accident of the Coconut webhook — remove Coconut, lose the record.
- maybelle#130 fires it on purpose, with tests that fail without it. Merged and deployed.
- Victory Theme at a Nashville Airbnb — both snapshots written. Fixed.
Also
- Quality selector built (Auto / 1080p / 720p / 360p / Audio only), tested in a real browser, parked for the group — it needs a playback-engine change that affects every viewer. pickipedia#111, file at User:Magent/Common.js proposal.
- Cryptograss:Video encoding pipeline rewritten for the ladder, posters, upright video and real encode times.
- Worth knowing: a busy 28s clip published at 78 MB from a 29 MB source — four renditions of a detailed scene. A quiet one was 9 MB from 51 MB.
- Worth knowing: the Release page appears ~90s after finalize (separate bot), so its link 404s for a minute.
Still open
- Justin: cancel the Coconut account, drop
coconut_api_keyfrom the vault, close #121 and #126 - The group: quality selector, yes or no
- Justin: whether to rebuild the three older sets with the new versions (new CIDs replace old Release pages)
- Carried over: Fibonacci Holmes and Seth Cambell spellings, stale PRs, old block heights still off[unverified]
Day 9
<proposed by="Magent"> A waiting day. Everything built; nothing shipped, because both open items need Justin.
The video player question
- Wrote it up in one place for Justin: Cryptograss:Video player decisions — two calls, each with its cost and what happens if the answer is no.
- Decision 1: ship the quality selector? Built and tested, sitting at User:Magent/Common.js proposal. The catch: making the buttons work in Chrome means every viewer's video moves to hls.js, because Chrome quietly claims it can play HLS itself.
- Decision 2: move the player out of MediaWiki:Common.js and into the PickiPediaReleases extension? That page is a wiki page, not a repo file: 742 lines holding five unrelated features, pasted by hand, live instantly, no review or tests. A syntax error anywhere takes down all five — which is what the 23-minute outage on the 15th actually was. Half a day to fix for good.
- Cleared Justin to paste the selector on pickipedia#111 once Sky made the call. Not pasted yet — Common.js is still on the 15th's revision.
Wiki tidying
- Created stubs for the two jam-lineup red links: Fibonacci Holmes (piano) and Seth Cambell (banjo). Bare infobox and one sourced line each — no invented biography.
- Justin then made Fibonacci Emery Holmes under the correct spelling, so the one I made from the lineup's Fibbonacci is a duplicate. Links on 44th Bday Cicada Jam and here now point at his; the misspelled title is signposted and wants an admin to redirect or delete it.
- Learned the hard way that a bot cannot create a redirect here — the verification extension wants a
proposedmarker, and a redirect has to be the first thing on the page.
Still open
- Justin: paste the selector, or say yes to moving the player — in which case the selector ships inside that PR and the paste is skipped
- Justin: cancel the Coconut account, drop
coconut_api_keyfrom the vault, close #121 and #126 - An admin: redirect or delete Fibbonacci Holmes
- Ready to start any time: old block heights are still ~10 days out, 13 stale PRs want triage, and file sizes at different quality settings are worth measuring before anyone uploads a long set
Day 10
<proposed by="Magent"> The player left the wiki, and the block heights stopped lying.
The video player is code now
- pickipedia#124 merged and deployed — the player moved out of MediaWiki:Common.js and into the PickiPediaReleases extension. Every future change to it is a pull request, reviewed and tested, instead of several hundred lines pasted into a text box.
- Shipped as step 1 of 2: Common.js was left alone, so a failure would have fallen back to the old copy. Checked on live pages afterwards — one player per video with both copies loaded, posters showing, no errors.
- The quality selector rode along:
Auto | 1080p | 720p | 360p | Audio only, remembered per viewer. It appears on laddered releases and correctly stays hidden on older single-rendition ones. - pickipedia#125 merged — deleted a poller that checked every 10 seconds for a preview that could never arrive, and had no reachable stopping condition. It had been running on every open draft page.
- Step 2 is ready and waiting: User:Magent/Common.js without the player, 605 lines → 366, verified byte-for-byte. One last paste, then Common.js holds only things nobody edits.
PR backlog triaged
- All 16 open PRs checked against the deployed code, not their descriptions: maybelle#132. 11 to close, 3 to keep.
- Seven were already done by another route — including both of Sky's (maybelle#86, pickipedia#81, the latter literally merged under a different number).
- Two are actively dangerous: #74 and #75 were opened against the old default branch, so merging either would resurrect the deleted Coconut code. They should be closed, not merged.
Block heights: 108 pages renamed
- Every audit page written before 14 September was named after a block 71,730–75,153 ahead — about ten and a half days in the future. The audit series was full of pages named after blocks that did not exist yet.
- Fixed: each page moved to the block actually mined before it was written, its text corrected too. The one spot-checked: block 24,966,449 mined 19:59:56, audit written 20:00:12 — sixteen seconds apart.
- A correction to my own method along the way: estimating from average spacing left them ~59 blocks out, so all 113 were resolved against the real chain (415 lookups). The five recent pages were left alone — off by 3–20 blocks, which is just the gap between the audit running and the page saving, not an error.
- Verified afterwards page by page: title and text agree on all 108. Nothing linked to them, so no redirects were left behind; categories and history survived.
Still open
- Justin: paste User:Magent/Common.js without the player — the last paste
- Justin: close the 11 dead PRs in #132, and answer whether the EPK contact form is still a goal (#67)
- Justin: cancel the Coconut account, drop
coconut_api_keyfrom the vault, close #121 and #126 - An admin: redirect or delete Fibbonacci Holmes
- New from elsewhere: maybelle#131 — hunter's disk has no retention policy, which matters more now that every release keeps four renditions
This sprint closed at Day 10. Work continues in Cryptograss/Horseshoe Crab.