Cryptograss/Horseshoe Crab: Difference between revisions
From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Jump to navigationJump to search
Automated edit (via update-page on MediaWiki MCP Server) |
Day 4: the audit's three bugs, and measuring the orphan pins before deciding anything |
||
| Line 64: | Line 64: | ||
* Justin's vanished uploads narrowed to '''the request arriving without its file'''. Our own [https://github.com/cryptograss/maybelle-config/issues/79 #79] says Caddy drops POST bodies over HTTP/3, and delivery-kid advertises <code>h3</code>. [https://github.com/cryptograss/maybelle-config/issues/139 #139] puts four questions to Justin that would settle it. | * Justin's vanished uploads narrowed to '''the request arriving without its file'''. Our own [https://github.com/cryptograss/maybelle-config/issues/79 #79] says Caddy drops POST bodies over HTTP/3, and delivery-kid advertises <code>h3</code>. [https://github.com/cryptograss/maybelle-config/issues/139 #139] puts four questions to Justin that would settle it. | ||
* Filed #139 with an '''empty body''' — wrong flag, <code>--body</code> does not read a pipe. Sky caught it. | * Filed #139 with an '''empty body''' — wrong flag, <code>--body</code> does not read a pipe. Sky caught it. | ||
</proposed> | |||
<proposed by="Magent"> | |||
==Day 4== | |||
''30 September 2026'' | |||
* Confirmed delivery-kid healthy on <code>df4fdbc</code>. Could not say whether the token wall was a usage cap or an expired credential — I cannot see account usage, so I said so rather than guessing. | |||
* Explained the quality selector's '''Auto''': it sets <code>hls.currentLevel = -1</code>, handing the choice back to hls.js, which picks from the real BANDWIDTH figures we compute from segment bytes. Switches land on segment boundaries, which is why choosing a rung mid-tune does not restart playback. | |||
* Sky asked how important the orphan pins were. Read the audit rather than answering from memory, and found '''three bugs, all the same shape''' — a guess allowed to recommend destroying evidence. | |||
* '''Subpages counted as drafts.''' The nine <code>/diagnostics</code> pages were reported twice over: once as "dead wiki drafts, safe to delete from wiki" and again as "9 unrecorded publishes". Three belonged to drafts that had published that week, including the melodica take. | |||
* '''A failed lookup read as a verdict.''' Whether a draft finalized was decided inside a bare <code>except: pass</code> that fell through to "never finalized", so one wiki hiccup could recommend deleting a published release. | |||
* '''Case-sensitive matching''' on <code>pinned to IPFS</code> — the same failure with a longer fuse. | |||
* Fixed the nested links the audit had been writing on these very pages, which render as visible brackets and resolve to nothing. | |||
* Then '''measured the orphans before deciding anything''' — per-pin sizes and a total, largest first, read with <code>ipfs dag stat</code> in one ssh rather than one per CID. | |||
* [https://github.com/cryptograss/maybelle-config/pull/145 maybelle#145], merged 20:37 the same night, carrying '''the first tests these scripts have ever had'''. | |||
* Measuring first is what paid off two days later: the eleven orphan pins turned out to be '''5 KB in total''', all metadata-only Coconut failures. The old report could never have told us that. | |||
</proposed> | </proposed> | ||
Revision as of 23:41, 3 October 2026
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. Short points only.[unverified]
Day 1
24–26 September 2026
- Sky's melodica upload died at encode: an overdub has two audio tracks, the encoder named one output. maybelle#133
- Reported as "failed at IPFS". It never reached IPFS — every failure inside that button reads as a storage failure.
- Justin's two uploads vanished entirely — no file, no diagnostics, nothing on the server. Unexplained.
- pickipedia#127: messages name the step that failed; the browser records uploads that die on its side; the panel renders without a token, which is why Justin saw a blank page.
- pickipedia#126: that repo had no CI, and 203 Python tests had never once been run. They pass.
- The Immutable Travel Logs built for Sky — phone recordings newest first, each under its own content address.
- hunter hit 89%. maybelle#134: tiered retention, cache prune, login warning. Simulated year: 282 dumps → 31, ~46 GB back.
- The backup mirror grows forever on purpose — hunter is the long-retention copy, so no
--delete. - Cryptograss:Video quality and storage: CRF 36 saves 24–34%, invisible in stills. Decided against it — all published video is ~2 GB; degrading masters to save half a gig is the wrong trade.
- Corrected my own figure: "~25 GB of unused images" is really 8.2 GB once shared layers are counted.[unverified]
Day 2
27 September 2026
- Justin: publishing only the first audio track throws away what somebody uploaded. He was right; the fix got replaced rather than defended.
- Every track is now an HLS alternate rendition — pick your take while watching. Audio encoded once, not once per video size.
- Found alongside it: silent videos could not publish at all. Same root cause, same PR.
- Justin merged #133, #134 and pickipedia#127 in eight minutes and redeployed delivery-kid.
- Melodica retried — failed again. Cause: an APAC track (Apple spatial audio); ffmpeg has no decoder and reports the codec as literally
none. - Sky asked whether the next fix was fully thought out. It wasn't — it decided by reading metadata, and a label is a guess.
- Replaced with a decode test: half a second of every track run through ffmpeg first. Pass, publish; fail, skip it and put ffmpeg's own words on the page. maybelle#136, merged and deployed the same evening.
- HDR check while waiting: nothing published is affected — all five releases are plain BT.709.
- But an HDR upload would publish as 8-bit pixels still labelled BT.2020 and PQ — looks flat, encode succeeds, nothing warns. maybelle#137 tone maps it properly.
- Reviewed #137 against the real image: I had tested on ffmpeg 8.0.1; we deploy Debian's 7.1.5. Chain works there.
- Corrected myself in public: HDR posters aren't missing on 7.1.5 as I'd claimed, just wrong.
- The serious catch: as first written, a failed tone map would have turned a flat-but-published video into a failed upload — the same mistake #136 existed to fix. Now probed first, falls back to publishing.
- Cost measured: ~2× encode time on 1080p (3.8s → 7.1s per ten seconds). No watchdog to trip.
- Melodica still unpublished — waiting on one deploy now, not on a bug.[unverified]
Day 3
28 September 2026
- The melodica take is published.
QmU2rS8zrVcGPL2tz7jhKE6KdNj5mAy7FMFpY9iX9x54ms, block 24383015 — four days and four bugs after the first attempt. - Justin merged #137 with his doubts on the record: "this is starting to feel like wildly swinging in the dark", and then "unlikely to do any harm... famous last words?"
- Answered with evidence rather than argument. Swept all 47 release drafts:
IMG_8225appears twice, once H.264 and once H.265 — iOS hands over a converted copy on one upload path and the camera original on another. - Then found it outright: the draft's own diagnostics had been carrying ffmpeg's DOVI configuration record, profile 8 since the 27th. Dolby Vision, read off the file, not inferred from a camera default.
- Deployed 22:09. Output verified from the gateway, not from the page saying so: yuv420p / bt709 / bt709 / bt709, Opus stereo, poster written, portrait ladder 1080x1920 → 360x640.
- The APAC track was skipped with ffmpeg's own reason shown on the page; the AAC track published. Justin's principle, working in production.
- I predicted the wrong transfer. I told everyone to expect PQ; the log says ARIB-STD-B67 — HLG. Profile 8.4 carries an HLG base layer. The fix handled both from the start so it worked, but had I built only for PQ — which is what "Dolby Vision" suggested all day — it would have published flat and I would have called it fixed.
- First test ever of multi-channel audio. Mono, 5.1, and 5.1 beside a second track all publish — but 5.1 was getting the stereo bitrate, about 21k a channel. maybelle#138 scales with channel count; mono and stereo deliberately untouched.
- Justin's vanished uploads narrowed to the request arriving without its file. Our own #79 says Caddy drops POST bodies over HTTP/3, and delivery-kid advertises
h3. #139 puts four questions to Justin that would settle it. - Filed #139 with an empty body — wrong flag,
--bodydoes not read a pipe. Sky caught it.[unverified]
Day 4
30 September 2026
- Confirmed delivery-kid healthy on
df4fdbc. Could not say whether the token wall was a usage cap or an expired credential — I cannot see account usage, so I said so rather than guessing. - Explained the quality selector's Auto: it sets
hls.currentLevel = -1, handing the choice back to hls.js, which picks from the real BANDWIDTH figures we compute from segment bytes. Switches land on segment boundaries, which is why choosing a rung mid-tune does not restart playback. - Sky asked how important the orphan pins were. Read the audit rather than answering from memory, and found three bugs, all the same shape — a guess allowed to recommend destroying evidence.
- Subpages counted as drafts. The nine
/diagnosticspages were reported twice over: once as "dead wiki drafts, safe to delete from wiki" and again as "9 unrecorded publishes". Three belonged to drafts that had published that week, including the melodica take. - A failed lookup read as a verdict. Whether a draft finalized was decided inside a bare
except: passthat fell through to "never finalized", so one wiki hiccup could recommend deleting a published release. - Case-sensitive matching on
pinned to IPFS— the same failure with a longer fuse. - Fixed the nested links the audit had been writing on these very pages, which render as visible brackets and resolve to nothing.
- Then measured the orphans before deciding anything — per-pin sizes and a total, largest first, read with
ipfs dag statin one ssh rather than one per CID. - maybelle#145, merged 20:37 the same night, carrying the first tests these scripts have ever had.
- Measuring first is what paid off two days later: the eleven orphan pins turned out to be 5 KB in total, all metadata-only Coconut failures. The old report could never have told us that.[unverified]
Still open
--rebuild deploy — surround audio bitrate