Cryptograss:Moods/magenta-interface/todo: Difference between revisions

From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Jump to navigationJump to search
DrivingThatTrain (talk | contribs)
m Merged, says GitHub: https://github.com/cryptograss/memory-lane/pull/219
DrivingThatTrain (talk | contribs)
m Merged, says GitHub: https://github.com/cryptograss/memory-lane/pull/220
Line 37: Line 37:
   link: https://github.com/cryptograss/memory-lane/pull/220
   link: https://github.com/cryptograss/memory-lane/pull/220
   note: "maybelle only. Also fixes re's row sitting a column to the right (its context pie took a cell)."
   note: "maybelle only. Also fixes re's row sitting a column to the right (its context pie took a cell)."
  done: true
- task: "Build a status page for agents: every vendor each harness knows, and which have keys"
- task: "Build a status page for agents: every vendor each harness knows, and which have keys"
   who: magent
   who: magent

Revision as of 16:40, 18 October 2026

What the people in #magenta-interface have to do. magenta shows this list beside the Mood (memory-lane services/todo.py). Edit the YAML below: - task: ..., with who, kind, link, note and done as useful. Agents add what they leave someone to do, and mark what's done. Put a task in quotes if it has ": " or " #" in it (YAML reads those as a key and a comment); `backticks` make code.

This list's YAML has a problem at line 63: Duplicate key "note" detected at line 63 (near "note: "Decided 2026-10-18 04:22 (rebase). Tested: the full suite (2417), and the wiki's own verification gate accepting the pages the built tool produces for eight kinds of edit (a control of unmarked prose refused). Supersedes #28 and #29 (closed). Running it for every agent (re, and magent's Mood containers, now on npx upstream@latest) is a maybelle-config PR after this merges."").

- task: "Merge memory-lane#215 (/compact for re: Pi's RPC compact, forked like a turn; the server lets /compact through for Pi agents)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/215
  note: "Tried against the real Pi 1.1.0 on hunter up to the summarizer (magent's container has no provider key); a compaction that succeeds is first seen with the first /compact re after deploy. Deploy maybelle and hunter."
  done: true
- task: "Merge memory-lane#216 (re's turn heads count every call, with what Pi says each cost: DeepSeek has no list price here)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/216
  note: "Has a migration (0030). Deploy maybelle and hunter. Turns already recorded keep what they had."
  done: true
- task: "Merge memory-lane#217 (a turn: its head, its thinking and steps folded into one line, its answer open in its colour)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/217
  note: "maybelle only. Merges beside #215 and #216 (different lines)."
  done: true
- task: "Merge memory-lane#218 (an agent's @mention of another agent wakes it at once, not after the 10 minutes' grace)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/218
  note: "Why re didn't wake on magent's @re at 15:47Z: it was waiting for a session of its own that would never answer. hunter only."
  done: true
- task: "Merge memory-lane#219 (switching Moods, the agents' settings row is drawn at once: no jump at the bottom)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/219
  note: "maybelle only. Measured: the row 0 px on opening a Mood on main, 25 px at once here."
  done: true
- task: "Merge memory-lane#220 (agents' settings: a header row, only vendors with a key, chatty / moderate / reserved)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/220
  note: "maybelle only. Also fixes re's row sitting a column to the right (its context pie took a cell)."
  done: true
- task: "Build a status page for agents: every vendor each harness knows, and which have keys"
  who: magent
  kind: code
  note: "Justin, 16:22Z on 18 Oct: the vendors without a key leave the settings menu (#220) and show there instead."
- task: "Redeploy maybelle, then hunter, once #215 to #220 are in"
  who: justin
  kind: deploy
- task: "On maybelle: `rm /var/jenkins_home/.pickipedia-deploy-paused`, so the staged PickiPedia build (#145, #146, #147) goes out; then `tail -5 /var/log/pickipedia-deploy.log`"
  who: justin
  kind: deploy
  note: "Why the wiki stopped updating: the deploy cron does nothing while that file exists, probably since the Oct 10 database-password steps. Expect a minute of 500s mid-rsync."
- task: "Merge maybelle-config#205 (cron-health fails a PickiPedia deploy pause older than 6 hours, saying how to keep holding), and deploy maybelle"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/maybelle-config/pull/205
- task: "Review and merge pickipedia-mcp#30 (onto upstream v0.19.0, keeping only our bot-edit marking, which now names whoever is signed in); then pull, npm ci, build and restart the stdio server in justin-arthel"
  note: "CI, 04:5xZ: preflight passes since e1c6c90 (the bundle file name). The tool-surface diff stays red for this PR only: upstream v0.19 removed set-wiki and remove-wiki, which nothing of ours calls; explained on the PR. Review guide on the PR: just our 12 files against upstream v0.19.0, and the marking port as one clean commit."
  who: justin
  kind: review
  link: "https://github.com/cryptograss/pickipedia-mcp/pull/30"
  note: "Decided 2026-10-18 04:22 (rebase). Tested: the full suite (2417), and the wiki's own verification gate accepting the pages the built tool produces for eight kinds of edit (a control of unmarked prose refused). Supersedes #28 and #29 (closed). Running it for every agent (re, and magent's Mood containers, now on npx upstream@latest) is a maybelle-config PR after this merges."
  done: true
- task: "Merge pickipedia#147 (an Agent: namespace: everyone reads it; each agent edits only its own pages, sysops any), deploy the wiki; at Special:UserRights add Magent and Re to the new agent group; at Special:BotPasswords, as each account, add the agent-edit grant; then merge pickipedia-mcp#30, which carries the Agent: exemption (see the item above)"
  who: justin
  kind: deploy
  link: "https://github.com/cryptograss/pickipedia/pull/147"
  note: "Where the notes go (Justin, 2026-10-18 03:29-03:37: on the wiki, everything public). Protected to write, not to read: an agent reads its notes as its own memory. Also where re's bot-facing docs can live, instead of protecting pages one at a time. pickipedia-mcp: https://github.com/cryptograss/pickipedia-mcp/pull/28"
  done: true
- task: "After the PickiPedia build: at Special:UserRights, add Magent and Re to the agent group; add the agent-edit grant to each one's bot password"
  who: justin
  kind: edit
  link: Special:UserRights
  note: "pickipedia#147 merged 05:36Z; not live until the Jenkins build (the item below). Magent's groups today: bot, user, autoconfirmed."
- task: "Give re and the Mood containers our wiki tool instead of npx @latest (maybelle-config PR), now pickipedia-mcp#30 is in"
  who: magent
  kind: code
  note: "#30 merged 05:36Z and is live in magent's own workspace (ef685da): whoami and a signed-in write to User:Magent/sandbox work."
- task: "Say when memory-lane merges can freeze, for merging memory-lane into magenta (under memory-lane/, history kept)"
  who: justin
  kind: decision
  note: "Agreed 2026-10-18 03:24-03:26. The freeze runs from the copy until maybelle and hunter deploy from magenta; a memory-lane merge in that window would be lost. memory-lane#201, #203 and #204 (magenta-interface) are easiest merged or held first."
- task: "Review the rules files: AGENTS.md (what every agent keeps), agents/README.md (where each layer lives), agents/SUMMONING.md (how an agent is summoned today)"
  who: justin
  kind: review
  link: "https://github.com/cryptograss/magenta/pull/49"
  note: "re is checking SUMMONING.md against the code first (handed over in docs-tests-qa, 2026-10-17); magent folds its findings in. Nothing reads AGENTS.md until the next maybelle-config PR wires it in."
- task: "Merge memory-lane#210 (who's in a picture: 👤 Who's in it? in the lightbox; whose a face looks like offered with a ?, named only when a person says ✓ or types who; names go to PickiPedia as {{Depicts}})"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/210
  note: "Has a migration (0029). Tried in a browser against a local faces with three references from the wiki: Justin and Cory offered right in the Skyler-justin-cory photo, Skyler asked Who?"
  done: true
- task: "Merge maybelle-config#203 (FACES_URL and FACES_KEY for magenta on maybelle, from the faces_api_key already vaulted)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/maybelle-config/pull/203
  done: true
- task: "Redeploy maybelle and hunter, once memory-lane#209 to #214 and maybelle-config#203 and #204 are in"
  who: justin
  kind: deploy
  done: true
  note: "Checked 05:5xZ: maybelle serves faces (Who's in it?, the key works: can_look true), the settings table, markdown, every agent at work, and the rules page; hunter's poller restarted 05:53Z with wiki_rules.py."
- task: "Merge maybelle-config#204 (backups at odd hours, so a 03:00 dump exists to keep as the day's and mirror offsite; cron-health now watches the daily and offsite copies)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/maybelle-config/pull/204
  note: "Deploy maybelle after. The two new cron-health stages stay red until a daily copy exists and an offsite sync sends something."
  done: true
- task: "Tonight, by hand on maybelle (optional, a minute): keep today's dump as a daily copy and send it offsite, so there's one off the volume before the deploy's first 03:00"
  who: justin
  kind: deploy
  done: true
  note: "05:25Z: magenta_memory_26216596.dump (396M, from 04:01) sent offsite, total size 414,693,251: the first copy off maybelle's volume since December."
- task: "Decide how long the offsite copy is kept: today it mirrors daily/ (7 days). E.g. Sunday's dump kept 8 weeks and the 1st of each month kept a year, in their own folders, outside the --delete"
  who: justin
  kind: decide
  note: "A dump is about 395 MB and growing. The 7-day mirror is about 2.8 GB offsite; adding 8 weekly and 12 monthly copies is about 8 GB more."
- task: "Decide, before the freeze: memory-lane#165 (record events docs, proposed) and #74 (memory commitment): merge, close, or carry into magenta"
  who: justin
  kind: decide
- task: "Rebase memory-lane#201 (Sky's brighter folded settings line) onto #213 once #213 is in: both change the settings row"
  who: magent
  kind: code
- task: "Merge memory-lane#214 (the dials' texts from PickiPedia, Cryptograss:Moods/Dials, as the newest trusted editor's revision has them; the standing-rules half taken out, as magenta#49 gives agent rules their own route)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/214
  note: "Redeploy hunter (the poller) and maybelle (the rules page) after."
  done: true
- task: "Verify Cryptograss:Moods/Dials (edit it, or take off the proposed mark): until a trusted editor's revision is there, the runner keeps the code's texts"
  who: justin
  kind: review
  link: https://pickipedia.xyz/wiki/Cryptograss:Moods/Dials
  note: "Word for word as poller/mood_poller.py has them. Also Template:Sent to agents and Cryptograss:Agents/Magent/rules (none yet; add yours)."
- task: "Merge memory-lane#213 (agents' settings as a table, lined up; @ for mentions-only; model and effort right after listening; the model in use, not 'default')"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/213
  note: "maybelle only."
  done: true
- task: "Merge memory-lane#212 (_underscores_ make italics and ~~tildes~~ strike, never inside a word; what you send shows formatted at once; every agent message in its colour down the margin)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/212
  note: "maybelle only. Bold, *italic*, code, lists and links already worked."
  done: true
- task: "Agents' turns read like chat: one block per wake (two agents at once no longer shred into strips); the answer stands as a message, the work folded behind one line; thinking shut by default, in a panel of its own; notes along the way smaller than the answer"
  who: magent
  kind: code
  note: "Justin said go, 03:34Z on 18 Oct. Thinking folded with the steps: memory-lane#217. Still open: notes along the way smaller than the answer; a line for re's instructions: think, then write the reply once (it drafts the whole reply in its thinking)."
- task: "Check memory-lane's backups on maybelle: `ls -la /mnt/persist/magenta/backups/daily/` and `tail /var/log/nfs-backup.log`"
  who: justin
  kind: review
  done: true
  note: "04:59Z: daily/ empty since the folder was made (Feb 12), every offsite sync total size 0: no copy older than 24 hours, none off maybelle's volume, since December 2025. The cron runs at even hours, and the daily copy only at hour 03, so daily/ may be empty, and the 04:00 rsync --delete may have emptied the offsite copy too. re is opening the fix (cron at odd hours)."
- task: "Merge memory-lane#211 (every agent at work in a Mood shows, each on its own line in its colour: two woken by one post, or one asked and one looking in)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/211
  note: "Why the page said magent was thinking when you woke re (03:09Z on 18 Oct). maybelle only."
  done: true
- task: "Merge memory-lane#209 (a test still sent the old `@magent /compact`: main's suite is red without it)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/209
  note: "Tests only: no deploy."
  done: true
- task: "Name faces in Mood photos: magenta asks the faces service, and offers the names it finds for a person to confirm"
  who: magent
  kind: code
  note: "Built: memory-lane#210, with Template:Depicts and Property:Depicts on the wiki."
  done: true
- task: "Decide: a what's-in-it pass beside faces (instruments and setting by OpenCLIP, banner and sign text by OCR), written onto the photo's PickiPedia page?"
  who: justin
  kind: decide
  note: "Same container on hunter, open models only. magent proposed it 17 Oct; waiting on your go."
- task: "Merge memory-lane#208 (commands for agents in one form, `/compact <agent>[,<agent>…] <what to keep>`, anything else refused; every slash command offered as you type)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/208
  note: "Replaces #207 (closed). Deploy maybelle before or with hunter: the poller hunter has now runs the new form fine; a new poller before maybelle would miss commands."
  done: true
- task: "Merge memory-lane#206 (faces: whose faces are in a picture, from reference photos on PickiPedia)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/206
  note: "No deploy of its own: hunter builds it from memory-lane main once maybelle-config#202 is in."
  done: true
- task: "Make the faces key: `openssl rand -hex 32`, vaulted as `faces_api_key`"
  who: justin
  kind: edit
  note: "Needed before the hunter deploy: the role stops without it, and never makes one up."
  done: true
- task: "Merge maybelle-config#202 (hunter runs faces, at faces.hunter.cryptograss.live)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/maybelle-config/pull/202
  done: true
- task: "Redeploy hunter, once #206, #208, maybelle-config#202 and the key are in"
  who: justin
  kind: deploy
  note: "hunter 00:44Z on 18 Oct. faces answers at https://faces.hunter.cryptograss.live/health, refuses /match without the key, and found both faces in a test photo with it."
  done: true
- task: "Verify Property:Face of, Category:Face reference and Property:Depicts on PickiPedia (marked proposed when magent made them); look over Template:Depicts"
  who: justin
  kind: review
  link: https://pickipedia.xyz/wiki/Category:Face_reference
- task: "Put up reference photos: three or four clear face shots of each friend, each file page with {{Face reference|Their Name}}"
  who: justin
  kind: edit
  link: https://pickipedia.xyz/wiki/Template:Face_reference
  note: "Anyone can do this; a dozen friends before IBMA is a good start. faces reads the category every ten minutes. magent's census, 01:2xZ on 18 Oct: of 52 people pages, 41 have no photo; only Justin has three clear shots of his face. Ready to mark now (the person is the only or largest face): Justin, Justin-seoul-sesame.jpg, Justin-st-pete-thompson.jpg, Justin-Holmes-Dees-East-Nash.png; Jake Stargel, Jake Stargel 58957.png and Tony-rice-jake-stargel.png; Cory Walker, Cory Loyd Walker Customer of the Year Award.jpg; Kyle Tuttle, Kyle Tuttle under the lights.jpg; Maddie Denton, Maddie Denton with Guitar.png. Wants a person's eye first: Skyler-justin-cory.jpeg (largest face, Skyler by elimination) and Harry Clark's mando photo (largest face, Harry by elimination)."
- task: "Photos for the people pages without a usable face: 41 with no photo at all, and Tony Rice; Gaven Largent (his face is 48 pixels), Samson Grisman (two faces: which?) and Brendan Daniel (no face found)"
  who: justin
  kind: edit
  link: https://pickipedia.xyz/wiki/Category:People
  note: "The IBMA photos can fill these. One clear, near, front-on face of 100 pixels or more makes a reference; a group photo serves only for its largest face."
- task: "Merge memory-lane#204 (a picture's lightbox: Back closes it instead of leaving magenta; tap for full size; agents' screenshots open in it)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/204
  note: "Merges cleanly beside #203."
  done: true
- task: "Merge memory-lane#203 (the composer as Signal and WhatsApp have it; pictures in a tray with how far up; a share chooses its Mood; photos keep their details by default)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/203
  done: true
- task: "Redeploy maybelle, once #203, #204 and #208 are in"
  who: justin
  kind: deploy
  note: "maybelle 23:14Z on 17 Oct; checked in the page magenta serves: the tray, the lightbox (Back closes it, desktop and phone), the slash commands."
  done: true
- task: "Try the new composer on your phone: share a photo into a Mood other than the first, press Send while it goes up"
  who: justin
  kind: review
  note: "And say here once it's posted: magent checks the stored photo still has its place, time and camera (if not, Android or Google Photos took them out before magenta saw it)."
- task: "Merge memory-lane#202 (Send waits for a picture still uploading; a placeholder is never posted)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/202
  done: true
- task: "Redeploy maybelle, once #202 is in"
  who: justin
  kind: deploy
  note: "Live by 01:53Z on 17 Oct (checked in the page magenta serves); Justin's photo went up after it."
  done: true
- task: "Merge memory-lane#200 (magenta in Android's share sheet: links, words, pictures, videos, recordings)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/200
  note: "Merges cleanly beside #197 and #199."
  done: true
- task: "Share something into magenta from another app on Android, once #200 is deployed"
  who: justin
  kind: review
  note: "Brave can't put an app in the share sheet; installed from Chrome it worked (01:20Z, a photo into #general), but Send went before the picture was up: memory-lane#202."
  done: true
- task: "Merge memory-lane#199 (the word-search test runs only on Postgres; a real Postgres run is issue #198)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/199
  note: "Tests only: no deploy needed."
  done: true
- task: "Merge memory-lane#197 (agents' settings one line in their colours; agent colours in the chat and margins; Moods preloaded; a hung poll gives way)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/197
  done: true
- task: "Redeploy maybelle, once #197 and #200 are in"
  who: justin
  kind: deploy
  note: "maybelle 00:45Z on 17 Oct; checked in the page magenta serves: the strip, agent colours, the share target."
  done: true
- task: "Merge memory-lane#196 (magenta's own logo: app icon, tab, top bar, notification picture and badge)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/196
  done: true
- task: "Redeploy maybelle, once #196 is in (an installed app may keep the old icon until it re-reads its manifest; on iOS, add it to the home screen again)"
  who: justin
  kind: deploy
  note: "maybelle 06:51Z; the logo, the mark and the badge are served."
  done: true
- task: "Try the alerts in your menu: a sound, and the bell for every message (a push with magenta closed too)"
  who: justin
  kind: review
  note: "Justin, 06:53Z: they look good."
  done: true
- task: "Merge memory-lane#195 (agent bars fold; silence dots in each agent's colour; clearer discretion; ultra only for Claude Code agents)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/195
  done: true
- task: "Redeploy maybelle, once #195 is in"
  who: justin
  kind: deploy
  note: "maybelle 05:57Z on 16 Oct; checked in the page magenta serves."
  done: true
- task: "Decide: rename re to redd? (what it touches is in the Mood, 2026-10-16 00:3x)"
  who: justin
  kind: decide
  note: "Decided 06:53Z: no, it stays re."
  done: true
- task: "Merge memory-lane#190 (user and talk page edits said as such; a talk-page edit notifies its owner)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/190
  done: true
- task: "Redeploy maybelle, once #190 is in"
  who: justin
  kind: deploy
  note: "maybelle 05:57Z on 16 Oct; checked in the page magenta serves."
  done: true
- task: "Merge pickipedia#145 (Verify finds claims with a link or code in their first words: Skyler's 7 on Magenta 26 Million)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/pickipedia/pull/145
  done: true
- task: "Deploy PickiPedia (Jenkins pickipedia-build), once pickipedia#147 is in: one build carries #145, #146 and #147"
  who: justin
  kind: deploy
  note: "Still not live at 04:5xZ on 18 Oct: the wiki footer says 25bce4d; production is 5025df0, with #145 and #146. maybelle syncs the build within 2 minutes."
- task: "Merge memory-lane#185 (alerts: sounds for mentions and messages; the bell for every message from people or agents)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/185
  note: "Has a migration (0026)."
  done: true
- task: "Redeploy maybelle, once #185 is in"
  who: justin
  kind: deploy
  note: "maybelle 05:57Z on 16 Oct; checked in the page magenta serves."
  done: true
- task: "Merge memory-lane#184 (context pie: yellow from 50%, orange from 70%, red from 85%)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/184
  done: true
- task: "Redeploy maybelle, once #184 is in"
  who: justin
  kind: deploy
  note: "maybelle 05:57Z on 16 Oct; checked in the page magenta serves."
  done: true
- task: "Merge maybelle-config#188 (only a session with someone at a keyboard is said: no six lines per maybelle deploy)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/maybelle-config/pull/188
  done: true
- task: "Deploy PickiPedia, for maybelle-config#186 and #188 (its login hook)"
  who: justin
  kind: deploy
  note: "PickiPedia 06:15Z, on a maybelle-config with #186 to #188."
  done: true
- task: "Merge memory-lane#181 (a run's end by when things happened: no \"thinking\" after a /compact; \"compacting\" while it runs)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/181
  note: "Merges cleanly with #179 and #180."
  done: true
- task: "Merge memory-lane#180 (a background task's notice isn't filed as yours: the 02:09 stuck \"thinking\")"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/180
  note: "Has a migration (0023). Merges cleanly with #179."
  done: true
- task: "Merge memory-lane#179 (onlookers on the Mood list: 👁 and how many, on each Mood's line)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/179
  done: true
- task: "Redeploy maybelle, once #179, #180 and #181 are in"
  who: justin
  kind: deploy
  note: "maybelle 05:57Z on 16 Oct; checked in the page magenta serves."
  done: true
- task: "Merge memory-lane#178 (the SSH line reads \"justin ssh'd into hunter as justin\", for every login; streamed turns keep their effort)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/178
  done: true
- task: "Redeploy maybelle and hunter, once #178 is in (hunter last: it restarts the poller)"
  who: justin
  kind: deploy
  note: "maybelle 01:45Z, hunter 01:51Z; effort shows on streamed turns."
  done: true
- task: "Merge maybelle-config#187 (deploys' own SSH logins aren't said; with #178, every other login is)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/maybelle-config/pull/187
  done: true
- task: "Deploy delivery-kid and PickiPedia, once #187 is in (their login hook; maybelle and hunter have it)"
  who: justin
  kind: deploy
  note: "Folded into the #188 deploy."
  done: true
- task: "Merge magenta#47 (magenta.sh reconnect: sign Claude in again in the container)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/magenta/pull/47
  note: "Pull magenta after: magenta.sh runs from your own checkout."
- task: "Merge memory-lane#177 (a /compact run from a Mood ends when its run does, not ten minutes of 'thinking' later)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/177
  done: true
- task: "Redeploy maybelle, once #177 is in"
  who: justin
  kind: deploy
  note: "Done with the 01:45Z maybelle deploy."
  done: true
- task: "Merge memory-lane#171 (a long quiet is screened first, as posts are: ~$0.005 a look instead of $2–3.40)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/171
  done: true
- task: "Merge memory-lane#170 (a turn's heading: time, model, effort, +context, cost at API prices; tokens on a second line when open)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/170
  done: true
- task: "Merge memory-lane#172 (👀 look-only or 🛠️ full tools beside the agent's name), after #170"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/172
  note: "Stacked on #170; GitHub retargets it to main once #170 is in."
  done: true
- task: "Merge memory-lane#174 (Blue Railroads beside people's names: a blue locomotive and the count)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/174
  done: true
- task: "Make the SSH announcing key: `openssl rand -hex 32`, vaulted as `memory_lane_access_key`"
  who: justin
  kind: edit
  note: "It can announce an SSH session and nothing else. Without it, #173 and maybelle-config#186 do nothing."
  done: true
- task: "Merge memory-lane#173 and maybelle-config#186 (who comes in by SSH, on every box, and as which account: root marked)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/maybelle-config/pull/186
  note: "#173 is in; maybelle-config#186 is still open, and needed for the boxes to say anything. maybelle's own deploy key isn't announced."
  done: true
- task: "Merge memory-lane#175 (anything in a Mood can be replied to: a redeploy, a merge, a release, a wiki change)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/175
  note: "Merges cleanly with #173. maybelle for the page, hunter for agents reading the quote."
  done: true
- task: "Merge memory-lane#176 (who reads without signing in: a count for the signed-in, addresses for admins)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/176
  done: true
- task: "Redeploy maybelle, once #170, #172, #173, #174, #175, #176 and maybelle-config#186 are in"
  who: justin
  kind: deploy
  note: "maybelle 22:35Z (ea16a66); the page magenta serves has the new heading, ↩ on events, 👁 and the badges."
  done: true
- task: "Redeploy hunter, once #171, #175 and maybelle-config#186 are in (the poller's screen and reply quotes; route-ssh and the login hook)"
  who: justin
  kind: deploy
  note: "hunter 01:51Z."
  done: true
- task: "Deploy delivery-kid and PickiPedia, once maybelle-config#186 is in (their login hook)"
  who: justin
  kind: deploy
  note: "delivery-kid has it; PickiPedia folded into the item for #186 and #188."
  done: true
- task: "Say which wallet is yours on User:SkymanJenkins, as an Ethereum Address the way User:JMyles does (your 3 Blue Railroads then show)"
  who: skyler
  kind: edit
  link: User:SkymanJenkins
  note: "The leaderboard has you at 0x5da9…cF4F. Any PickiPedia user page with an Ethereum Address gets the count."
- task: "Blue Railroads beside user links on PickiPedia too"
  who: magent
  kind: code
  note: "No extension decorates user links yet: a hook (HtmlPageLinkRendererEnd) in PickiPediaContent, the same count."
- task: "Decide: quiet wakes cost $2–3.40 each, nothing cached (13 came to $31 in one session). Screen them with the cheap screen first, as posts are?"
  who: justin
  kind: decide
  note: "Justin asked why they weren't already: built as memory-lane#171."
  done: true
- task: "Merge memory-lane#162 (Send sends a voice memo whenever it's pressed: while recording, it stops it; while uploading, it sends once it's up)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/162
  done: true
- task: "Merge memory-lane#167 (a reading speed, 1× to 2×: in the menu, and one press on the reading bar)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/167
  note: "Merges cleanly with #162."
  done: true
- task: "Redeploy maybelle, once #162 and #167 are in"
  who: justin
  kind: deploy
  note: "Live by 17:12Z on 12 Oct (checked in the page magenta serves)."
  done: true
- task: "Choose Riley for magent: menu → voices → magent → Riley (JGzTGubAVbbgG0SsLIlg)"
  who: justin
  kind: edit
  note: "Only a signed-in browser can choose a voice, and agents have none. Set: magent reads as Riley."
  done: true
- task: "Merge memory-lane#157 (a finished /compact isn't the agent thinking)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/157
  done: true
- task: "Merge memory-lane#160 (a woken turn's tasks end when they do; a task opens to what it is)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/160
  note: "Merges cleanly with #157. The redeploy alone clears the helper still shown as running in #uploads-and-embeds."
  done: true
- task: "Redeploy maybelle, once #157 and #160 are in"
  who: justin
  kind: deploy
  note: "Live by 00:20Z (checked in the page magenta serves)."
  done: true
- task: "Redeploy hunter, once #160 is in (the poller passes task notices on)"
  who: justin
  kind: deploy
  note: "Not yet at 21:00Z on 13 Oct: hunter's poller is still the one started 9 Oct, 20:40Z. One hunter redeploy covers this and #171."
  done: true
- task: "Merge memory-lane#155 (a run of messages: ↩ on each, its toolbar only on hover, above the words)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/155
  done: true
- task: "Redeploy maybelle, once #155 is in"
  who: justin
  kind: deploy
  note: "Live by 20:10Z (checked in the page magenta serves)."
  done: true
- task: "Merge memory-lane#154 (Yarn clips' picture kept here too: no more bare 'Yarn clip' cards)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/154
  note: "Has a migration (0022)."
  done: true
- task: "Redeploy maybelle, once #154 is in"
  who: justin
  kind: deploy
  note: "maybelle 15:14Z; johnny's picture is kept (15:15Z)."
  done: true
- task: "Merge memory-lane#152 (Yarn clips kept here: fetched once by the server, played from magenta; includes #151)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/152
  note: "Yarn's Cloudflare stops browsers with a human check; the server fetches each clip once instead. Has a migration (0021)."
  done: true
- task: "Redeploy maybelle, once #152 is in"
  who: justin
  kind: deploy
  note: "maybelle 15:02Z; the server got past Yarn's Cloudflare and kept both clips."
  done: true
- task: "Merge memory-lane#147 (every new release in #general, with its player; redeploy lines link their server)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/147
  done: true
- task: "Merge memory-lane#148 (PickiPedia links previewed on hover: art or picture, opening, infobox lines)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/148
  done: true
- task: "Merge memory-lane#149 (a fixed player isn't kept broken in the browser's copy; delivery-kid's mark comes and goes like the controls)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/149
  note: "Why Water Tower still wouldn't play for you: your browser's kept copy of the thread had the old player."
  done: true
- task: "Merge memory-lane#150 (the to-do panel says \"Loading the list…\", not the last Mood's \"No list here yet\")"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/150
  done: true
- task: "Redeploy maybelle, once #147, #148, #149 and #150 are in"
  who: justin
  kind: deploy
  note: "maybelle 04:10Z"
  done: true
- task: "Merge pickipedia#138 (the Release page's delivery-kid mark comes and goes like the controls)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/pickipedia/pull/138
  done: true
- task: "Deploy PickiPedia, once pickipedia#138 is in"
  who: justin
  kind: deploy
  note: "The 04:11Z deploy built 052be02 (#137), just before #138 merged; a later deploy built 8e2aee3, which has it."
  done: true
- task: "Merge memory-lane#145 (Release videos play: delivery-kid's HLS streams through hls.js, the plain file as fallback)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/145
  note: "Kenny's Water Tower video, and 26 of the first 40 video Releases, are HLS folders magenta couldn't play."
  done: true
- task: "Merge memory-lane#146 (magenta's release player: qualities under it, Audio only that is audio, delivery-kid's mark on hover)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/146
  done: true
- task: "Redeploy maybelle, once #145 and #146 are in"
  who: justin
  kind: deploy
  note: "maybelle 20:44Z"
  done: true
- task: "Merge pickipedia#137 (Release page player: Audio only plays audio; delivery-kid's mark on hover; hls.js pinned)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/pickipedia/pull/137
  done: true
- task: "Deploy PickiPedia, once pickipedia#137 is in"
  who: justin
  kind: deploy
  note: "PickiPedia 20:39Z"
  done: true
- task: "Merge memory-lane#144 (anyone signed in with an SSH key wakes magent with full tools)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/144
  done: true
- task: "Redeploy hunter, once #144 is in (the poller runs there)"
  who: justin
  kind: deploy
  note: "hunter 20:41Z"
  done: true
- task: "Merge maybelle-config#175 (delivery-kid: finalize as a job of its own, one at a time; step 1 of videos from magenta)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/maybelle-config/pull/175
  done: true
- task: "Deploy delivery-kid, once #175 is in (not while a video is finalizing)"
  who: justin
  kind: deploy
  note: "delivery-kid 20:33Z"
  done: true
- task: Try read-all in the car, after the voice PRs are deployed
  who: justin
  kind: review
  note: "The real test of ▶'s first sound, memos sent at stop, \"Magent is thinking\", and now \"Pound general\" and redeploys said."
- task: "Merge memory-lane#143 (merge lines: \"memory-lane#142 (226537a) merged by justin\"; the title on hover)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/143
  done: true
- task: "Redeploy maybelle and hunter, once #142, #143 and maybelle-config#174 are in"
  who: justin
  kind: deploy
  note: "maybelle 18:39Z, hunter 19:01Z."
  done: true
- task: "Merge memory-lane#142 (an old jMyles link is the same pull request, now it's moved)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/memory-lane/pull/142
  done: true
- task: "Merge maybelle-config#174 (clone memory-lane and magenta from cryptograss)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/maybelle-config/pull/174
  note: "Both have moved, so it's ready."
  done: true
- task: "Transfer jMyles/memory-lane to cryptograss (Settings → Danger Zone → Transfer)"
  who: justin
  kind: edit
  note: "18:27Z. magent-cryptograss kept write access; the org's hook hears it (an edit to #142 arrived at 18:28Z)."
  done: true
- task: "Let magent-cryptograss create repositories in cryptograss, and say go: magent transfers magent-cryptograss/magenta"
  who: justin
  kind: edit
  note: "Invited; magent joined and moved magenta at 18:28Z. The old URL redirects, so every container's clone keeps working."
  done: true
- task: "Merge memory-lane#141 (the narrator says the Mood first, as \"pound general\"; redeploys said aloud)"
  who: justin
  kind: merge
  link: https://github.com/jMyles/memory-lane/pull/141
  done: true
- task: "Redeploy maybelle, once #141 is in"
  who: justin
  kind: deploy
  done: true
- task: "Look at the webhook's Recent Deliveries on GitHub: its URL, and what they answered"
  who: justin
  kind: review
  note: "Found 18:19Z: the hook is the cryptograss org's (a star there reached magenta, signed and accepted), and memory-lane and magenta weren't the org's repositories. Hence the move."
  done: true
- task: "Merge memory-lane#140 (the bot's ticks for a page go in one edit, and it checks they stayed)"
  who: justin
  kind: merge
  link: https://github.com/jMyles/memory-lane/pull/140
  note: "Three ticks in one second lost #139's; this is why."
  done: true
- task: "Redeploy maybelle, once #140 is in"
  who: justin
  kind: deploy
  done: true
- task: "Merge memory-lane#139 (→ PickiPedia in the lightbox too)"
  who: justin
  kind: merge
  link: https://github.com/jMyles/memory-lane/pull/139
  note: "Merges cleanly with #138."
  done: true
- task: "Merge memory-lane#138 (webhook reads form deliveries, tells the Mood; a bot ticks the wiki's list)"
  who: justin
  kind: merge
  link: https://github.com/jMyles/memory-lane/pull/138
  done: true
- task: "Merge maybelle-config#173 (the to-do bot's password, from the vault)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/maybelle-config/pull/173
  done: true
- task: "Make the bot password: as DrivingThatTrain, Special:BotPasswords, `magenta-todo`, with Edit existing pages and High-volume (bot) access; vault it as `pickipedia_todo_bot_password`"
  who: justin
  kind: edit
  link: Special:BotPasswords
  done: true
- task: "Redeploy maybelle, once #138, #139 and maybelle-config#173 are in"
  who: justin
  kind: deploy
  done: true
- task: "Redeploy maybelle, for #135 to #137"
  who: justin
  kind: deploy
  done: true
- task: "Merge memory-lane#137 (anyone may put a person's picture on PickiPedia, credited to them)"
  who: justin
  kind: merge
  link: https://github.com/jMyles/memory-lane/pull/137
  done: true
- task: "Merge memory-lane#136 (what you send shows at once; a reload draws what this browser kept)"
  who: justin
  kind: merge
  link: https://github.com/jMyles/memory-lane/pull/136
  done: true
- task: "Merge memory-lane#135 (everyone's devices: live first, most lately used first; the order said)"
  who: justin
  kind: merge
  link: https://github.com/jMyles/memory-lane/pull/135
  done: true
- task: "Look at your devices → everyone: was Sky's 12:54 device signed out, and when?"
  who: justin
  kind: review
  note: "Answered 10:26Z: none of Sky's were signed out, so that browser lost its sign-in (or it was the other one: home-screen app vs browser)."
  done: true
- task: "Merge maybelle-config#172 (Caddy from its GitHub release: Cloudsmith's apt repo answers 402)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/maybelle-config/pull/172
  done: true
- task: "Deploy PickiPedia again, once #172 is in (for pickipedia#136: code and anchors on the wiki's list)"
  who: justin
  kind: deploy
  done: true
- task: "Merge memory-lane#134 (/clips works sent as a reply)"
  who: justin
  kind: merge
  link: https://github.com/jMyles/memory-lane/pull/134
  done: true
- task: "Merge memory-lane#133 (each to-do item has a link of its own; code shows as code)"
  who: justin
  kind: merge
  link: https://github.com/jMyles/memory-lane/pull/133
  done: true
- task: "Merge pickipedia#136 (code in to-do items shows as code; each item has its anchor)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/pickipedia/pull/136
  done: true
- task: "Merge memory-lane#132 (GitHub's webhook: a merge ticks here at once)"
  who: justin
  kind: merge
  link: https://github.com/jMyles/memory-lane/pull/132
  done: true
- task: "Merge maybelle-config#171 (the webhook's secret, from the vault)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/maybelle-config/pull/171
  done: true
- task: "Make the webhook secret (`openssl rand -hex 32`); vault it as `memory_lane_github_webhook_secret`"
  who: justin
  kind: edit
  done: true
- task: "Redeploy maybelle, once #131, #132 and maybelle-config#171 are in"
  who: justin
  kind: deploy
  done: true
- task: "Add the webhook on GitHub: pull requests, to `https://magenta.cryptograss.live/api/github/hook/`"
  who: justin
  kind: edit
  done: true
- task: Deploy PickiPedia, for the todo tag (pickipedia#134)
  who: justin
  kind: deploy
  done: true
- task: "Merge memory-lane#131 (#125 to #130 in one)"
  who: justin
  kind: merge
  link: https://github.com/jMyles/memory-lane/pull/131
  done: true
- task: "Merge memory-lane#119 (#109 to #118 in one)"
  who: justin
  kind: merge
  link: https://github.com/jMyles/memory-lane/pull/119
  done: true
- task: Merge memory-lane#120 (edit and delete)
  who: justin
  kind: merge
  link: https://github.com/jMyles/memory-lane/pull/120
  done: true
- task: Merge memory-lane#121 (merges on this list tick themselves, from GitHub)
  who: justin
  kind: merge
  link: https://github.com/jMyles/memory-lane/pull/121
  done: true
- task: Merge memory-lane#122 (link previews)
  who: justin
  kind: merge
  link: https://github.com/jMyles/memory-lane/pull/122
  done: true
- task: Merge memory-lane#123 (emoji reactions)
  who: justin
  kind: merge
  link: https://github.com/jMyles/memory-lane/pull/123
  done: true
- task: Merge memory-lane#124 (taking back is sealed, bounded and said aloud; its history read in the page)
  who: justin
  kind: merge
  link: https://github.com/jMyles/memory-lane/pull/124
  done: true
- task: Make the recovery key pair; keep the private half offline; public half in the vault
  who: justin
  kind: edit
  done: true
- task: Merge maybelle-config#169 (the recovery public key, from the vault)
  who: justin
  kind: merge
  link: https://github.com/cryptograss/maybelle-config/pull/169
  done: true
- task: Merge pickipedia-mcp#27 (to-do lists go up unmarked, as asked), and rebuild hunter's PickiPedia MCP
  who: justin
  kind: merge
  link: https://github.com/cryptograss/pickipedia-mcp/pull/27
  done: true
- task: Merge pickipedia#134 (this list as a checklist with real links)
  who: justin
  kind: merge
  link: https://github.com/cryptograss/pickipedia/pull/134
  done: true
- task: "Merge maybelle-config#166 (deploy logs: a plain word in the vault isn't a secret)"
  who: justin
  kind: merge
  link: https://github.com/cryptograss/maybelle-config/pull/166
  done: true
- task: Merge maybelle-config#167 (deploys say who ran them, by PickiPedia name)
  who: justin
  kind: merge
  link: https://github.com/cryptograss/maybelle-config/pull/167
  done: true
- task: Merge maybelle-config#168 (the "magenta uploads" OAuth keys, from the vault)
  who: justin
  kind: merge
  link: https://github.com/cryptograss/maybelle-config/pull/168
  done: true
- task: Propose and approve the "magenta uploads" OAuth 2 app; put its keys in the vault
  who: justin
  kind: edit
  done: true
- task: Tick High-volume (bot) access on the DrivingThatTrain@deploy-logs bot password
  who: justin
  kind: edit
  done: true
- task: Redeploy maybelle, once the merges are in
  who: justin
  kind: deploy
  note: 18:07Z, by JMyles (Cryptograss:Maybelle/deploy logs/26149367).
  done: true
- task: "Redeploy hunter (the poller's greeting wording, #105; the to-do line in every wake, #117; handoffs in wakes, #118)"
  who: justin
  kind: deploy
  done: true