Cryptograss/Horseshoe Crab

From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Revision as of 17:02, 27 September 2026 by Magent (talk | contribs) (Lift the day headings out of the proposal block so they appear in the contents)
Jump to navigationJump to search

Horseshoe Crab is the sprint after Cryptograss/Horny Toad, which closed with the video pipeline working end to end. This one opens with the pipeline breaking on a real upload.

Days are Skyler's to number.[unverified]

Day 1

24–26 September 2026

A live failure, fixed in fifteen minutes — and then found to be worse than it looked.

The melodica night (24th)

  • Sky uploaded Melodica overdub for 4Masks. Upload fine, encode died eight seconds later: ffmpeg exited 234 having printed nothing but its input listing.
  • Cause: an overdub has two audio tracks, and the encoder named one output for them. My bug, from the quality ladder. maybelle#133
  • Sky reported it as "failed at IPFS" — reasonably, since the button says Finalize & Pin to IPFS and every failure inside it reads as a storage failure. It never reached IPFS.
  • Justin's two uploads the same evening vanished entirely: no file, no diagnostics, nothing on the server. Still unexplained.
  • pickipedia#127 — failure messages that name the step that actually failed; the browser now writes down uploads that die on its side (reason, HTTP status, how far the bytes got); and the diagnostics panel renders without an upload token, which is why Justin's failures showed a blank page.
  • pickipedia#126 — that repo had no CI at all, and 203 Python tests in it had never been run. They pass.
  • The Immutable Travel Logs built for Sky: phone recordings newest first, every one pinned under its own content address.

The disk (25th)

  • hunter was at 89%, five days after a manual cleanup took it to 84%.
  • maybelle#134 — tiered backup retention (daily 14 / weekly 8 / monthly 12), a weekly build-cache prune, and a disk warning at login. Tested on a simulated year: 282 dumps → 31, ~46 GB returned, a year of monthlies still restorable.
  • The backup mirror grew forever because the prune runs on maybelle's copy and the rsync has no --delete. --delete would be the wrong fix: hunter is deliberately the long-retention copy.

Measuring before changing (26th)

  • Cryptograss:Video quality and storage — what the encoder's quality setting actually costs. CRF 36 saves 24% on busy footage, 34% on quiet, with no difference visible in the stills.
  • Decided against it. All published video is ~2 GB; the backup mirror was 53 GB. Degrading masters to save half a gigabyte is the wrong trade, and now that reasoning is written down instead of re-argued later.
  • Corrected my own issue text: the "~25 GB of unused images" on hunter is 8.2 GB once shared layers are counted properly. Posted the list for Justin to judge.[unverified]

Day 2

27 September 2026

Justin was right, and the fix got replaced rather than defended.

  • His objection to #133: publishing only the first audio track throws away what somebody uploaded — and for an overdub, the second take may be the whole point.
  • Rewritten. Every track is now published as an HLS alternate rendition, so a viewer can watch the video and choose which take they hear. Audio is encoded once rather than once per video size.
  • Chasing the same assumption turned up a second bug: a silent video fails to publish at all, on production today. Same root cause — naming an audio output that does not exist. Fixed in the same PR.
  • Verified across 0, 1, 2 and 3 audio tracks. 8 tests; full suite 83 passing.
  • Tracks are named track1, track2 — deliberately dull. The container rarely says what a track is, and calling one "mic" or "overdub" would be a guess dressed as metadata.
  • Sent Justin the whole waiting list: two deploys, both delivery-kid, one run covers both.[unverified]

Still open

  • Justin: merge #133 and #134, then one delivery-kid deploy — Sky's melodica take is still unpublishable
  • Justin: merge pickipedia#127 and #126 (Jenkins deploys those itself)
  • Justin: close the 11 dead PRs in #132 — two of them would restore the deleted Coconut code if merged by accident
  • Justin: cancel the Coconut account and drop the key from the vault — the only item still costing money
  • Justin: paste User:Magent/Common.js without the player, the last hand-paste; and redirect or delete Fibbonacci Holmes
  • Unexplained: Justin's two uploads that never reached the server. A 400 was mentioned; the message that came with it would name the cause
  • On the shelf: orphan pins flagged by the audit, two unverified security issues (pickipedia#102, #101), and publishing from a yt-dlp URL (pickipedia#84)[unverified]