Cryptograss:Moods/magenta-interface/todo
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 489: Duplicate key "note" detected at line 489 (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 magenta#76 (a turn's heading says when it began; clicking that time copies the turn's link), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/76
note: "From 00:22Z on 20 Oct. 934 tests OK."
done: true
- task: "Build 'tidings', beside status and settings: the last 20 pictures sent (who sent each, whether it's on PickiPedia, whether faces have looked at it), and each person's last 20 prompts (a message mentioning an agent, or the one before a short mention by the same person)"
who: re
kind: code
note: "Justin, 00:22Z on 20 Oct. re builds it; magent opens the PR from re's commits."
link: https://github.com/cryptograss/magenta/pull/78
done: "re built it, 05:47Z on 20 Oct; magent opened magenta#78 with review fixes"
- task: "Merge magenta#78 (tidings: re's build, magent's review fixes), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/78
note: "968 tests OK. Pictures only from Mood posts; a short nudge pairs only within 10 minutes."
done: true
- task: "Merge magenta#81 (a merge ticks every item linking it, and leaves a done said in words), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/81
note: "#78's merge item went unticked, and re's worded done was overwritten: the bot stopped at the first item linking the PR. 971 tests OK."
done: true
- task: "Merge magenta#82 (tidings: compact gallery with small previews, each prompt's tokens and cost, times as links), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/82
note: "Justin's five asks, 15:36Z on 20 Oct: re built them; magent's review fixes on top. 984 tests OK."
done: true
- task: "Merge magenta#83 (an agent woken by another is at work since its wake, not since the other began), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/83
note: "Justin, 15:52Z on 20 Oct. Both clocks: the activity line and the turn heading. #81, #82 and #83 merge together cleanly."
done: true
- task: "Merge magenta#84 (thoughts as rings holding their word count; a quiet wake that thought, a dot holding its count), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/84
note: "Justin, 16:44Z–16:50Z on 20 Oct, from the mockup he liked. #81–#84 merge together cleanly. Keep the mockup-thought-dots branch: the pictures in the Mood and in #84 link to it."
done: true
- task: "Merge magenta#85 (a memo posted without its words can be heard again by whoever sent it), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/85
note: "Justin, 17:58Z on 20 Oct: ElevenLabs out of credit on the 17:36Z memo. After the deploy, '↻ hear it again' under it. 991 tests OK."
done: true
- task: "Merge magenta#86 (a message's own address: /messages/<id>, wherever it lives), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/86
note: "Justin's 17:36Z memo. 997 tests OK. #86, #87 and #88 merge together in any order."
done: true
- task: "Merge magenta#88 (re's Prompts tab: /moods/prompts/ and /api/prompts/), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/88
note: "re built it, 18:13Z on 20 Oct. /api/tidings/ no longer carries prompts."
done: true
- task: "Merge magenta#87 (links on Tidings: promoted from a message's ⋯ menu), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/87
note: "Includes #88, its conflict resolved. Migration 0031 (tidings). 999 tests OK."
done: true
- task: "Merge magenta#90 (reading as they come: a clip that couldn't be fetched is tried again, never dropped), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/90
note: "Justin's 18:38Z memo: the messages missed while another was read. The phone's own reports showed the clip requests failing and the reader dropping them unheard."
done: true
- task: "Merge magenta#91 (an agent said by its colour: 'the red agent' is re, 'at the red agent' is @re), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/91
note: "Justin's 18:38Z memo. #86, #87, #88, #90 and #91 merge together cleanly."
done: true
- task: "Merge magenta#92 (a voice memo knows its length: written in when it's kept, found when an old one is played), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/92
note: "Justin, 03:13Z on 21 Oct: total time and slider. MediaRecorder's WebM has no duration (ffprobe: N/A); now written in on upload. 1012 tests OK."
done: true
- task: "Merge magenta#93 (Promote to Tidings: whoever promotes picks which of a message's links), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/93
note: "Justin, 03:13Z on 21 Oct. Migration 0032. #92 and #93 merge together cleanly."
done: true
- task: "Merge magenta#94 (prompts: a few questions of the database, not one per agent row and two per reply), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/94
note: "re found the prompts page taking ~20 s live (21 Oct). 5,253 queries → 9 on a seeded record. #92, #93 and #94 merge together cleanly."
done: true
- task: "Merge magenta#95 (agents' colours brighter: re #ff3c00, magent #ff67fd), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/95
note: "Justin, 03:49Z on 21 Oct. #89 (blu) carries the identical line now: the two merge in either order, and with #92–#94."
done: true
- task: "Merge magenta#96 (your name written your way, BBS-style; your icon's colour; agents at work in theirs), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/96
note: "Justin, 03:53Z on 21 Oct. Set from 'your name' in the account menu. Merges cleanly with #89 and #92–#95 in any order."
done: true
- task: "Merge magenta#97 ('your name' in the account menu: shown to anyone signed in), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/97
note: "Justin, 04:38Z on 21 Oct: the link from #96 never appeared. One line."
done: true
- task: "Look at magenta#98 (the top bar: magenta › moods › the Mood ✎, then tidings, prompts, status): merge if it's how you pictured it"
who: justin
kind: review
link: https://github.com/cryptograss/magenta/pull/98
note: "Justin, 04:43Z on 21 Oct: 'can I see how that will look?' Screenshots in the PR. #97 and #98 merge together cleanly."
done: true
- task: "Merge magenta#99 (the top bar never scrolls: what doesn't fit goes, least needed first), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/99
note: "Justin, 04:52Z on 21 Oct: a scrollbar, 'status' cut off. Checked from 1600 px to 700 px, with '↻ new version' showing."
done: true
- task: "Merge magenta#100 (the top bar: the Mood's name at its own width, no gap), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/100
note: "Follow-up to #99. Justin's screenshot (05:08Z, 21 Oct) found it: the sections were a <nav>, and the page's nav rule (the Moods pane's: 190 px, scrolling, a border) boxed them. Fixed here; checked at his width and 1.5x zoom."
done: true
- task: "Merge magenta#101 (one page: tidings, prompts, status and settings beside the Moods, each loaded once and kept; the mark alone; ⚙), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/101
note: "Justin, 05:21Z on 21 Oct. Checked in a browser: back and forth reloads nothing; a link in Tidings opens its message in Moods. 1023 tests OK."
done: true
- task: "Merge magenta#102 (the name dialog: 'How your name will be displayed', your PickiPedia name, started from it, the sixteen colours), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/102
note: "Justin, 05:26Z on 21 Oct. #101, #102 and #89 merge together cleanly."
done: true
- task: "Merge magenta#103 (the name dialog: the characters a BBS drew with, pressed into your name), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/103
note: "Justin, 05:46Z on 21 Oct: the characters, not the colours. CP437's 256. 1025 tests OK."
done: true
- task: "Merge magenta#105 (names in a BBS's colours, backgrounds too; the characters' chart opens and closes), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/105
note: "Justin, 06:05Z on 21 Oct. The chart never closed in #103 (display: grid outranked [hidden]). 1026 tests OK."
done: true
- task: "Merge magenta#106 (a section on its way says so; two tests brought up to date with blu), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/106
note: "Justin, 06:17Z on 21 Oct. Also fixes main's suite: two tests fail since #89 (blu) merged. 1026 tests OK."
done: true
- task: "Merge magenta#108 (Tidings, more like HN: numbered, posted/promoted by, comments and upvotes; re's build, magent's review fixes), then deploy maybelle (migration 0034)"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/108
done: true
- task: "Tidings follow-ups: comments drawn with their paragraphs and code (not one flattened line); a retitle/withdraw menu on a link's discussion page"
who: magent
kind: build
link: https://github.com/cryptograss/magenta/pull/109
note: Built in magenta#109, with Justin's 08:25Z round.
done: true
- task: "Merge magenta#109 (Tidings: pictures open in the lightbox with → PickiPedia; named people, no 'no faces'; ✎ retitle for any SSH key; comments drawn; [[wikilinks]] promotable), then deploy maybelle (no migration)"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/109
done: true
- task: "Merge magenta#111 (Tidings round two: comments of their own, mute in mood, promote box with title and tags, badges, background refresh, video, #t- links; stacked on #109, so it merges both), then deploy maybelle (migration 0035)"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/111
done: true
- task: "Reconcile re's round 2 with #109 and review it: TidingComment words drawn as the Mood draws them"
who: magent
kind: code
link: https://github.com/cryptograss/magenta/pull/111
note: In magenta#111, with review fixes (background refresh, tags, titles, #t- on Postgres, badges, oEmbed titles).
done: true
- task: "Merge magenta#112 (editing and deleting what's said about a link, by the Mood's rules, sealed first), then deploy maybelle (migration 0036)"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/112
- task: "Tidings, still to build: #t- autocomplete in the composer; PickiPedia's backlinks know #t- links; download and keep yt-dlp-supported videos (no such fetcher exists yet); DrivingThatTrain writes Cryptograss:Tidings/top for Template:Top tidings"
who: magent
kind: code
note: "Not built: ticked by #111's merge, which only linked it. No PR link here until there is one."
- task: "An agent woken from a link's discussion answers into it: the wake prompt asks it to begin with ↩ #m-<id> (option 1, 21 Oct 10:22Z)"
who: magent
kind: code
note: "On Justin's yes. re's pointer: poller/mood_poller.py ~1012, where the wake text already knows the replied-to id."
- task: "Merge magenta#110 (a wake prompt is its agent's: re woken read as blu thinking, and re as nothing), then deploy maybelle (no migration)"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/110
done: true
- task: "Test faces end to end on a real photo of people: Who's in it?, naming a face, the names on Tidings, Depicts on a PickiPedia upload"
who: justin
kind: review
note: "Justin, 08:25Z: we haven't tested faces yet. magent can drive it with him once #109 is live."
- task: "Make Tidings and Prompts answer faster than their 1.5–2.6 s and 1.1–1.6 s (21 Oct, live)"
who: magent
kind: code
note: "The picture scan (a LIKE over messages) and the link and prompt counting. Measure where the time goes first."
- task: "Save Cryptograss:Agents/GeneralOrders and Cryptograss:Agents/Blu/Rules as yourself (a small edit), so blu's rules count: only revisions by JMyles or SkymanJenkins do"
done: 2026-10-21
moved: "To magent-self with the rest of the rules and blu work (Justin, 06:54Z on 21 Oct): Cryptograss:Moods/magent-self/todo."
who: justin
kind: edit
link: https://pickipedia.xyz/wiki/Cryptograss:Agents/Blu/Rules
note: "Until then blu gets the recovery rules and says its own are missing. Both pages' last edits are Magent's."
- task: "Merge magenta#107 and maybelle-config#211 (blu's rules as each turn's system prompt), then deploy hunter"
done: 2026-10-21
moved: "To magent-self with the rest of the rules and blu work (Justin, 06:54Z on 21 Oct): Cryptograss:Moods/magent-self/todo."
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/107
note: "Either order is safe: without #107, blu's poller refuses --rules-bundle and stays asleep. After the deploy, magent wakes blu."
- task: "Wake blu, once #107 and mc#211 are deployed on hunter"
done: 2026-10-21
moved: "To magent-self with the rest of the rules and blu work (Justin, 06:54Z on 21 Oct): Cryptograss:Moods/magent-self/todo."
who: magent
kind: code
note: "21 Oct: blu's poller has run since 06:44Z, but waking it then would have given it no rules at all."
- task: "Find the flaky test: one full run on 21 Oct (05:30Z, look-dialog branch) had 4 failures and 4 errors; three runs after passed"
who: magent
kind: code
link: https://github.com/cryptograss/magenta/issues/104
note: "Not caught again in 13 runs. Found: three tests reach the network, and test_clips_library's posts start a Yarn fetch thread that can write during later tests (the likeliest cause). Plan in the issue: block the network in tests, mock those, keep_later inline."
- task: "Build each link's discussion on Tidings: its message's reply tree, read Hacker News style, with a box to reply from there; then tags on messages"
who: magent
kind: code
note: "Justin's 17:36Z memo. Comments are the message's replies, not a record apart. Forked agent sessions for a link's discussion: later, forked when first addressed there."
- task: "Point PickiPedia's 'Linked from magenta' footers and the link ledger at /messages/<id>"
who: magent
kind: code
note: "After #86. The old /moods/<mood>/#m-<id> links keep working meanwhile."
done: true
- task: "Stop magenta recording harness-added text as magent's own message: a loaded skill's text (22:11Z, 19 Oct) and an image's size note ('[Image: original 2360x1384…]', 16:48Z, 20 Oct)"
who: magent
kind: code
note: "Cause not looked at yet: likely how the importer reads text the harness adds to a session."
- task: "Merge magenta#79 (messages still sending stay last, in the order sent: no jump), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/79
note: "Justin, 14:50Z on 20 Oct. Checked in a browser: ~A ~B → A ~B → A B. 947 tests OK."
done: true
- task: "Merge magenta#80 (thinking alone makes no turn: a quiet wake stays a dot in its row), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/80
note: "Justin, 14:51Z on 20 Oct. #76, #78, #79 and #80 merge together cleanly in any order: 968 tests OK; one maybelle deploy for all four."
done: true
- task: "Deploy hunter: the status page's uptime for hunter comes from the faces service's /health, which reports it only from magenta#51 on (faces runs on hunter, last deployed 18 Oct)"
who: justin
kind: deploy
note: "Nothing else hunter runs (poller, watcher, MCP, agents/) has changed since the fold; magenta.sh is for laptops."
done: "Deployed 01:07Z on 20 Oct; the status page shows hunter's uptime (magent checked, 15:27Z)"
- task: "Deploy delivery-kid: maybelle-config#207 (merged) gives its /health an uptime, which the status page shows; it was last deployed 15 Oct"
who: justin
kind: deploy
- task: "Decide: give memory-lane on maybelle a GitHub token, so the status page's pickipedia-mcp comparison and the to-do lists' merge checks aren't left to GitHub's 60 calls an hour for unauthenticated requests (the status page says 'could not query GitHub: HTTPError')"
who: justin
kind: decide
note: "maybelle_github_token is in the vault but goes only to Jenkins, and may carry more than reading needs. A token with no scopes reads public repositories; it would be a new vault key. The same eight calls work from hunter: 29 ahead of upstream's v0.19.0, 0 behind, upstream 23 on since. At 15:27Z on 20 Oct the live page read GitHub fine, which fits a rate limit that comes and goes: so not urgent, but it will be back on a busy hour."
- task: "Merge magenta#74 (each message in an agent's turn keeps its time and link, so its address can be copied), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/74
note: "From 21:20Z on 19 Oct (the reply to #m-97769e4a). Merges cleanly beside #72 and #73."
done: true
- task: "Merge magenta#72 (a voice memo says how it's going until it's in the thread; menu as Sounds and Notifications; a notification once, dated when said, urgent for mentions, opening its own Mood), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/72
note: "From your voice memo at 19:32Z on 19 Oct. 924 tests OK. After deploying, open magenta once on the phone so it subscribes again and its leftover subscriptions go."
done: true
- task: "Merge magenta#73 (reading aloud goes on after a message's own ▶, which used to stop it for good; ⏩ beside each ▶ reads from that message on, in this Mood or every Mood), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/73
note: "From your voice memo at 19:41Z on 19 Oct, on the bike. Merges cleanly beside #72. 923 tests OK."
done: true
- task: "Decide: read aloud with the phone locked, by keeping a quiet audio session open while reading aloud is on (lock-screen controls; costs battery)?"
who: justin
kind: decide
note: "Nothing to decide: magenta already does this (a silent track while reading aloud, with lock-screen controls). What made it look missing was the stall magenta#73 fixes."
done: true
- task: "Merge magenta#68 (magenta.sh runs the Mood tools from its own checkout, downloading nothing), then git pull your own magenta checkout"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/68
note: "Settling the fold: login, renew, attest, kick and unban fetched their scripts from jMyles/memory-lane, frozen at 145ef6e."
done: true
- task: "Merge pickipedia#149 (Recent Changes leaves out the Moods' to-do lists unless asked), and deploy PickiPedia"
who: justin
kind: merge
link: https://github.com/cryptograss/pickipedia/pull/149
note: "74 of a day's 115 changes were to-do edits, most not bot-flagged. Tested in a throwaway MediaWiki 1.43.6: hidden by default, shown when asked."
done: true
- task: "Merge magenta#67 (the servers' faces in dark mode: each page's own dark portrait, image_dark)"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/67
note: "Redone 19 Oct with your dark versions (maybelle-config ascii-art/), not inversions. maybelle only."
done: true
- task: "Verify Cryptograss:Hunter, Cryptograss:Maybelle and Cryptograss:Delivery-kid: each infobox has image_dark, the dark-mode portrait (marked proposed)"
who: justin
kind: review
link: https://pickipedia.xyz/wiki/Cryptograss:Hunter
note: "Hunter's and maybelle's from maybelle-config ascii-art/ (the portrait, without the banner's lettering); delivery-kid's its light portrait inverted, each character to its mirror on the ramp ' .:-=+*#%@'."
done: true
- task: "A dark version of delivery-kid's portrait, if you want one: it's the only server with just one (ascii-art/delivery-kid.txt); until then it sits on a light tile in dark mode"
who: justin
kind: decide
done: true
note: "Justin, 06:27Z on 19 Oct: just invert. Done: Cryptograss:Delivery-kid's image_dark."
- task: "Merge magenta#66 (read aloud: nothing read over a memo you're recording; the queue shown under the bar, now / next / then, each droppable; ⏭ says who it skips to)"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/66
note: "maybelle only. From the voice memo at 20:52Z on 18 Oct."
done: true
- task: "Decide: PickiPedia pages list the Mood messages that link them, from a ledger on the wiki (Cryptograss:Moods/<mood>/links/<month>, written by DrivingThatTrain, shown at the foot of every page by PickiPediaContent) or fetched live from magenta?"
who: justin
kind: decide
note: "Decided 06:36Z on 19 Oct: the ledger."
done: true
- task: "Build the backlinks ledger: magenta notes the PickiPedia links in Mood messages; DrivingThatTrain writes them to Cryptograss:Moods/<mood>/links/<month>; PickiPediaContent lists them at the foot of each page linked"
who: magent
kind: code
note: "Built: magenta#69 and pickipedia#150. DrivingThatTrain's edits are flagged a bot's, so Recent Changes leaves the ledgers out by default."
done: true
- task: "At Special:BotPasswords, signed in as DrivingThatTrain, add Create, edit, and move pages to the magenta-todo bot password (it has Edit existing pages and High-volume)"
who: justin
kind: edit
link: Special:BotPasswords
note: "Justin, 17:12Z on 19 Oct: DrivingThatTrain has it already."
done: true
- task: "Merge pickipedia#150 (each page lists the magenta messages that link it, Linked from magenta: when reading, editing, in its history, and on a red link's edit form), and deploy PickiPedia"
who: justin
kind: merge
link: https://github.com/cryptograss/pickipedia/pull/150
note: "Tested in a throwaway MediaWiki 1.43.6 serving real pages. Before or with magenta#69: until it's in, the ledger pages show their YAML as text."
done: true
- task: "Merge magenta#70 (👀 or 🔨 beside each agent turn, and on an agent's @mention of another: look only or full tools), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/70
note: "memory-lane#172 built this on 13 Oct but merged into #170's branch, so it never reached main. Now per turn, not per session. Merges cleanly beside #69, in either order. 911 tests OK."
done: true
- task: "Merge magenta#69 (the Moods' links written to PickiPedia, a ledger for each Mood and month), and deploy maybelle"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/69
note: "16 pages to begin with: 241 links from 176 messages. A message reaches the wiki within a minute (no hour's wait, 17:12Z). 916 tests OK."
done: true
- task: "Decide: an agent's journal at Agent:<Name>/Journal, an entry each time it awakens (new session, after a compaction): which rules it woke with (shared, its own, the Mood's, each at its version), its first answer, and the compaction's summary. Mood sessions only?"
who: justin
kind: decide
note: "Decided 06:36Z on 19 Oct: at Agent:<Name>/Journal/<blockheight>, one page an entry."
done: true
- task: "Build agents' journals at Agent:<Name>/Journal/<blockheight>: an entry each awakening in a Mood (new session, compaction, lost session), with the rules it woke with at their versions, its first answer, and a compaction's summary and tokens"
who: magent
kind: code
note: "Moved to magent-self with the rules and namespacing (Justin, 19:20Z on 19 Oct): Cryptograss:Moods/magent-self/todo."
done: 2026-10-19
- task: "Merge magenta#50 (memory-lane under memory-lane/, with its history; magent's instructions to agents/magent.md), then maybelle-config#206 (hunter and maybelle build memory-lane from magenta)"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/50
note: "The freeze: no merges to cryptograss/memory-lane after 145ef6e (#221). magenta#50 first: hunter's image fetches memory-lane/requirements.txt from magenta. maybelle-config#206: https://github.com/cryptograss/maybelle-config/pull/206"
done: true
- task: "Merge magenta#51 (re's status page, /moods/status/; Recent changes and Open work gone from the lower left), and maybelle-config#207 (its sources: the backups mounted read-only, MAGENTA_COMMIT, delivery-kid's uptime); deploy maybelle and delivery-kid"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/51
note: "re built it (18:30Z); magent opened both for it (re has no GitHub account) and fixed on top: last seen and backups for an SSH-key sign-in only, last seen right on Postgres, pickipedia-mcp compared with upstream's release commit (live: 29 ahead, 0 behind; upstream 17 on since). maybelle-config#207: https://github.com/cryptograss/maybelle-config/pull/207"
done: true
- task: "Merge magenta#65 (a folded agent's settings boxed as a menu, with a caret: Sky's memory-lane#201, ported)"
who: justin
kind: merge
link: https://github.com/cryptograss/magenta/pull/65
note: "maybelle only."
done: true
- task: "Decide whether re gets a GitHub account of its own (it built the status page and had to hand it over as a patch)"
who: justin
kind: decide
note: "Decided 23:02Z on 19 Oct: no, for now. Other agents run their changes through magent, who opens the PRs, keeping them as the commits' authors."
done: true
- task: "Deploy maybelle, then hunter, once magenta#50 and maybelle-config#206 are in"
who: justin
kind: deploy
done: true
note: "Checked 20:00Z on 18 Oct: all six people's and Moods' containers mount /opt/magenta/magenta-source/memory-lane/poller; watcher and faces run once each, project memory-lane-source, from magenta-source/memory-lane; faces /health 200; this Mood's wake worked; the rules page shows agents/magent.md; ~/CLAUDE.md is gone, so magent reads its instructions once."
- task: "After the fold deploys: re-open memory-lane#201 in magenta (and #165, #74 if wanted), move memory-lane's 13 open issues to magenta"
who: magent
kind: code
done: true
note: "The 13 issues are magenta#52 to #64. #201 is magenta#65. #165 and #74 wait on the decision item for them."
- task: "Archive cryptograss/memory-lane (Settings → Archive), once the fold deploys and its PRs and issues have moved"
who: justin
kind: edit
note: "Ready but for memory-lane#165 and #74 (the decision item): archived, they can still be read and re-opened in magenta from their branches. Archived by Justin, 19 Oct."
done: true
- 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: "Merge memory-lane#221 (agents' settings: mode as 👂 @ 🤫; the vendor menu only vendors, openrouter for re's DeepSeek; a narrower model menu)"
who: justin
kind: merge
link: https://github.com/cryptograss/memory-lane/pull/221
note: "maybelle only."
done: true
- task: "Redeploy maybelle, then hunter, once #215 to #220 are in"
who: justin
kind: deploy
done: true
note: "Justin, 17:01Z on 18 Oct: all merged and redeployed."
- 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. Removed by Justin overnight; checked 18:09Z on 18 Oct: the wiki serves 3ffd310 (production's head) and the Agent: namespace (3010) exists."
done: true
- 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
done: true
- 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"
done: 2026-10-21
moved: "To magent-self with the rest of the rules and blu work (Justin, 06:54Z on 21 Oct): Cryptograss:Moods/magent-self/todo."
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
done: true
note: "Asked 18:08Z on 18 Oct; magent said yes and opened magenta#50 and maybelle-config#206. The freeze is from 145ef6e (#221)."
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)"
done: 2026-10-21
moved: "To magent-self with the rest of the rules and blu work (Justin, 06:54Z on 21 Oct): Cryptograss:Moods/magent-self/todo."
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"
done: 2026-10-21
moved: "To magent-self with the rest of the rules and blu work (Justin, 06:54Z on 21 Oct): Cryptograss:Moods/magent-self/todo."
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: "Live at 18:09Z on 18 Oct: the footer says 3ffd310 (with #145, #146, #147), once the deploy pause was lifted."
done: true
- 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