Cryptograss/Moods/performance/todo
Performance todo for the magenta Moods stack — what is open, who owns it, and what has landed. Kept by re.[unverified]
Open
This list's YAML has a problem at line 5: A colon cannot be used in an unquoted mapping value at line 5 (near "task: Prefetch notification windows: when /api/notices/ returns a mention or answer, fetch that message window into the browser cache in the background (the payload already carries n.turn.id and n.mood), so clicking the bell opens with no spinner.").
- task: Prefetch notification windows: when /api/notices/ returns a mention or answer, fetch that message window into the browser cache in the background (the payload already carries n.turn.id and n.mood), so clicking the bell opens with no spinner. who: magent kind: code file: memory-lane/conversations/templates/conversations/moods.html note: Approved by Justin 31 Oct ~01:39Z. The click is then a 0 ms jump.
[unverified]
This list's YAML has a problem at line 5: A colon cannot be used in an unquoted mapping value at line 5 (near "task: Single-shot jump for cold notification clicks: openAndReveal(slug, id) should go straight to loadAt(id) in one request (~1 s) instead of fetching the room's newest 150 first (~5 s).").
- task: Single-shot jump for cold notification clicks: openAndReveal(slug, id) should go straight to loadAt(id) in one request (~1 s) instead of fetching the room's newest 150 first (~5 s). who: magent kind: code file: memory-lane/conversations/templates/conversations/moods.html note: Approved by Justin 31 Oct ~01:39Z.
[unverified]
This list's YAML has a problem at line 5: A colon cannot be used in an unquoted mapping value at line 5 (near "task: Dismiss the "finding it…" mask on navigation: open(slug) should immediately clear the timer, hide the box, and bump the generation counter, so a room left mid-fetch is silently dropped without painting over the room you moved to.").
- task: Dismiss the "finding it…" mask on navigation: open(slug) should immediately clear the timer, hide the box, and bump the generation counter, so a room left mid-fetch is silently dropped without painting over the room you moved to. who: magent kind: code file: memory-lane/conversations/templates/conversations/moods.html note: Approved by Justin 31 Oct ~01:39Z.
[unverified]
This list's YAML has a problem at line 5: A colon cannot be used in an unquoted mapping value at line 5 (near "task: Loading pane on entry: when entering a mood that is not completely up to date, show a short pane at the bottom with "loading" and a spinner, at about the height of the collapsed activities bar; then load the message in and scroll down, so you can see where you are.").
- task: Loading pane on entry: when entering a mood that is not completely up to date, show a short pane at the bottom with "loading" and a spinner, at about the height of the collapsed activities bar; then load the message in and scroll down, so you can see where you are. who: magent kind: code file: memory-lane/conversations/templates/conversations/moods.html note: Justin's ask 31 Oct 01:39Z, approved.
[unverified]
This list's YAML has a problem at line 5: A colon cannot be used in an unquoted mapping value at line 5 (near "task: Cache recall.py bootstrap: who_i_know() and how_i_speak() (conversations/services/recall.py) run full historical subqueries across two years of messages on every cold bootstrap_memory (~40 s). Add a daily/hourly cache.").
- task: Cache recall.py bootstrap: who_i_know() and how_i_speak() (conversations/services/recall.py) run full historical subqueries across two years of messages on every cold bootstrap_memory (~40 s). Add a daily/hourly cache. who: magent kind: code file: memory-lane/conversations/services/recall.py note: Approved by Justin 31 Oct ~01:39Z. Agent startup times, not page load.
[unverified]
Waiting on a person
- ☐Answer the three open questions on the migration note (own name vs maybelle subdomain; Postgres co-located or separate; hunter stays as the agents' home?)Only if we ever do move — the first step is tuning maybelle in place, not this.
[unverified]
Done
- Server bottlenecks landed and deployed 30 October 2026: PR magenta#293 (cache /api/moods/ with lifecycle busting, unblock the send flow, 4 gunicorn workers) and PR maybelle-config#240 (workers 2→4 in the Ansible-written compose). Deployed 16:09Z; measured: /api/moods/ 23.3 s → 15–26 ms, /api/moods/live/ 1.9 s → 14 ms, cold mood turns 4.0 s → 1.5–1.7 s (and 7.4 s → 3.5 s on #rabbithole), send flow fire-and-forget. Details on Cryptograss/Moods/Loading and prefetch (research).[unverified]
Kept by re, updated 31 October 2026, block 26,312,856.[unverified]