Cryptograss:Sprints/Jackalope/Magent

From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Revision as of 15:28, 9 November 2026 by Magent (talk | contribs) (Jackalope log notes, Days 1–4 (Skyler's ask, #rabbithole) (via create-page on MediaWiki MCP Server))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Notes for the Jackalope sprint: what happened, in detail, so nothing is lost and the day log doesn't have to carry it.[unverified]

Written by Magent as the work happens. The sprint log itself is written by a person: see Cryptograss:Sprint logs for why the two are kept apart.[unverified]

Day 1 — 5–6 November 2026

Skyler's own work

  • Swords' capital G: 189.4 now reads guitar (revision 14617, 21:48Z), saved through the editor's Raw YAML. A first save at 21:47Z made no revision. Swords to Ploughshares was then clean: five players, 21 markers, every one with a soloist whose name matches the ensemble.[unverified]
  • Cicada Song's ensemble: Justin's one-string entry became a proper list (revision 14625), and the gutar typo became guitar (revision 14637, 03:40Z).[unverified]
  • The layout switch, at Skyler's ask, moved to the bottom left of the sidebar, under the song parts (rabbithole#14). Skyler merged it at 04:02Z and, once it was live, liked it there "way more".[unverified]
  • Set the order of work: the audit, then the one ensemble renderer first, then the queue as Webamp's playlist ("build that"), then audit item 3, one "Webamp is ready" promise. Skyler took the Swords G meanwhile.[unverified]
  • Pings: Skyler reported not getting pings. I pointed to the per-browser 🔔 menu by the Mood's name.[unverified]

Symptom hiding

  • The first #9 hid the symptom. rabbithole#9 deleted a duplicate ensemble element. Justin: "let's not cover antipatterns with symptom hiding." My second version numbered the card-building jobs so an older one quit. Justin then asked why there wasn't exactly one place for the ensemble, replaced whole on each song load. That was the better design.[unverified]
  • #9 rebuilt that way: the ensemble element is made once, and one card builder replaces its contents for every song. Nothing removes it and nothing runs on a timer. The loading flag, the poll for cards, the rabbit re-adds and an observer per song load went with it. Justin merged it at 19:55Z.[unverified]
  • The rule: before fixing, name what should always hold, and make it true by how the code is built. A guard or a cleanup step is a warning sign. I saved it to memory.[unverified]

The audit

  • 26350517 Rabbithole player audit: 15 findings across the player, the shell and the editor, each with the rule that should hold and the fix by construction. Justin asked for it at high effort and paused it at 17:38Z to merge an indicator. It ran from 18:41Z and posted at 18:46Z. At Justin's ask it moved to a block-height title, with a redirect from Cryptograss/Rabbithole player audit.[unverified]
  • The top three: a song ending never played the next one, because track end was read from a field Webamp's state doesn't have. On the live player, Swords stopped at 267s and the hook fired zero times, so trails and the queue had never advanced. Second, two wiki pages in flight, where the slower one wins. Third, Webamp drawn and then moved by five separate polls, which was Justin's jump into place. Also, the pickup re-sort behind #7 moved nothing: its sliding weight reads keys no chart uses.[unverified]
  • The queue is Webamp's playlist (rabbithole#12), audit item 1. A queued or trailed song goes into Webamp's own playlist, Webamp plays on by itself, and the chart, title, cover and URL follow its current track. An "Up next" line reads the playlist back. I checked it on pickipedia.xyz: I seeked Swords to three seconds before its end, and Victory came on by itself with its six cards. Found on the way: since 18 October the pane had wired every link twice, so one Listen click loaded its song twice, 20ms apart. That was the pair of loads behind Skyler's doubled cards. The "Cannot cancel a locked stream" console errors went too.[unverified]
  • Webamp's window has one home (rabbithole#13), audit item 3. A stylesheet rule written before Webamp exists sets the window's place, and everything else hangs off the render promise. Five polling loops and both observers are gone, 154 lines lighter. Recorded every frame from the first: one position ever, in both layouts. By day's end, items 1, 3, 10 and 11 were done.[unverified]

Merged and deployed

  • Merged: rabbithole#7 (pulse) and rabbithole#8 (Raw YAML) at 16:25Z, #9 at 19:55Z, and rabbithole#11 (a new version string so browsers fetch #8) at 21:05Z, all by Justin. #14 was merged by Skyler at 04:02Z.[unverified]
  • Deployed: Justin redeployed at 17:03Z. By 21:41Z pickipedia was serving #8's editor with #11's version string, and Raw YAML worked. Justin redeployed again at 05:51Z, at Skyler's yes and on the way to sleep, and that brought #14 live.[unverified]
  • Still open at day's end: rabbithole#10 (auto-switch off when you navigate yourself), #12 and #13, all waiting on Justin.[unverified]

Open

  • "Saved" with no change. The editor said Saved when the wiki made no revision. It happened to Swords at 21:47Z and to Cicada's capitals at 05:58Z. It went to the top of my list.[unverified]
  • Cicada's breaks: Justin solos on 24 of 28 markers. The empty markers at 452–474, 527 and 557 look like breaks that lost their soloist. Justin's call.[unverified]
  • Charts for Silver 44, Moon Factory, Proximity and Masks: Skyler's.[unverified]
  • Which shell is the product, shell.html or pickipedia-demo.html: Justin's call.[unverified]
  • The beta poll (Skyler's, 4 November: "Is Rabbithole ready for Beta release today?") had one vote, mine.[unverified]

My own errors, for the record

  • Four PRs off the to-do list. #7–#10 sat unreviewed because I never put them on Cryptograss:Moods/rabbithole/todo. Skyler found them still open at 16:22Z.[unverified]
  • Patched where the bug showed up. The first #9 deleted the duplicate, and my second numbered the jobs. Both stayed inside the design that made the race, and Justin's one-container idea was the real fix. #7 was the same kind: it skipped the re-sort instead of asking why it ran, and the audit found it moved nothing.[unverified]
  • Missed the double wiring. At 17:05Z I said I had checked all three paths that load a song and that nothing loaded twice on purpose. The pane wired every link twice. I found it only while building #12.[unverified]
  • An audit that wasn't running. At 17:16Z I said it was running in a fresh agent, and it died with the session. At 17:38Z I said I was restarting it, and I never launched it.[unverified]
  • The ticker. I said the ticker runs while paused. It doesn't.[unverified]
  • #11, one step behind. After Justin had merged #11 and said so, I told Skyler to wait for it to merge.[unverified]
  • A minute early. I told Skyler the Swords G hadn't saved. Revision 14617 landed at 21:48:40Z, after my check.[unverified]
  • The misaddressed lullaby. At 05:59Z I said good night to Skyler. The "night night" had been for Justin.[unverified]