Cryptograss/Horny Toad

From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Jump to navigationJump to search

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 :
  1. 108

https://github.com/cryptograss/maybelle-config/pull/108

  1. 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

  • 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
  • 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
  • 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.
  • Three videos up. Started this whole thing because longer videos wouldn't upload — ended up being four separate bugs stacked on each other.


Day 4

  • Mixing, editing and bouncing the party batch in Resolve. Export preset dialled in — H.264 at 10 Mbps, AAC 320. Don't skimp on audio, it's what people listen to.
  • Live encode progress deployed — no more staring at a frozen bar for an hour.
  • Cicada 44th Bday Jam Set 1 published — 13 min, first upload to go start to finish untouched. 2.0GB in, 247MB out.
  • Cicada 44th Jam Star Tropics published — 17 min, 2.68GB in, 304MB out. Second clean run.
  • Encode speed reality check: the box does about 2x realtime, not the 0.8x the benchmarks promised. Budget double the video's length.
  • Justin hit "error loading video — the IPFS content may not be available" on Star Tropics. Content was fine, serving in half a second. It's Safari + AV1 — no software decoder on anything short of an M3 Mac. Firefox and Chrome are fine on the same machine.
  • Built a page for the party so the videos are findable by something other than a hash: 44th Bday Cicada Jam
  • Then hit Justin's error myself, on that very page. Both of us confused users now. pickipedia#111
  • Found a good one while dating that page. Every block height on the wiki is ~75,000 blocks in the future — ten and a half days. The code counts exactly 12s per block since the Merge; the real average is 12.044. Audit pages were named after blocks that don't exist. pickipedia#112
  • 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

  • Triaged the PR backlog — 17 open, 10 already shipped. Two were mine from May, for features I've been using all week.
  • Poster frames — videos now pin a still frame, so the player isn't a black box. It's a JPEG, so it shows even in Safari where the AV1 won't play. maybelle#120
  • Justin asked if anything tested that the diagnostics reach the wiki. Nothing did — 14 green tests checking a function got called, passing through every month nothing was written. Wrote 3 that check a page actually lands; 2 fail against the old code. Justin named the class On The Pipe.
  • Wrote up the pattern: 5 bugs this week, one shape. Each either said nothing or said something plausible and wrong, and three pointed at destroying good work. Cryptograss:On The Pipe
  • Found 4 permanently red tests in the coconut suite, testing a schema the code dropped. maybelle#121
  • Magent wouldn't paste the Common.js fix itself — 605 lines to reproduce exactly, one wrong character breaks every gadget. Still a human job.
  • Linked the new documentation from Cryptograss:Delivery-kid so it's findable from the machine it describes.
  • Cleaned up this log — Friday's work moved into Day 4 where it belongs, and the whole thing cut roughly in half. It had turned into essays.
  • Sent Justin the deploy instructions. Still nothing shipped — delivery-kid remains on the Sept 4 build, so three merged fixes are sitting there unused.
  • Noticed #115 and pickipedia#112 are fixed but still open — "Fixes #N" only auto-closes when the PR merges to the default branch, and ours target production.
  • 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 mp4 and then looks for mp4_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

    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-coconut and /job/… both 404 now, and the draft page says "Previewing your uploaded file directly".

    A bug my own PR caused

    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_key from 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 proposed marker, 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_key from 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_key from 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.