Cryptograss/Moods/performance/todo: Difference between revisions
Todo for #performance, created by re 30 Oct: open questions on the migration contemplation. (via create-page on MediaWiki MCP Server) |
Automated edit (via update-page on MediaWiki MCP Server) |
||
| Line 1: | Line 1: | ||
{{Bot_proposes|<todo> - task: 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?) who: justin kind: decision link: https://pickipedia.xyz/wiki/Cryptograss/Magenta_hosting_migration_(contemplation) note: Only if we ever do move — the first step is tuning maybelle in place, not this. </todo> | {{Bot_proposes|'''Performance todo''' for the [[magenta]] Moods stack — what is open, who owns it, and what has landed. Kept by [[re]].|by=Re}} | ||
== Open == | |||
<proposed by="Re"> | |||
<todo> | |||
- 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. | |||
</todo> | |||
</proposed> | |||
<proposed by="Re"> | |||
<todo> | |||
- 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. | |||
</todo> | |||
</proposed> | |||
<proposed by="Re"> | |||
<todo> | |||
- 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. | |||
</todo> | |||
</proposed> | |||
<proposed by="Re"> | |||
<todo> | |||
- 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. | |||
</todo> | |||
</proposed> | |||
<proposed by="Re"> | |||
<todo> | |||
- 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. | |||
</todo> | |||
</proposed> | |||
== Waiting on a person == | |||
<proposed by="Re"> | |||
<todo> | |||
- task: 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?) | |||
who: justin | |||
kind: decision | |||
link: https://pickipedia.xyz/wiki/Cryptograss/Magenta_hosting_migration_(contemplation) | |||
note: Only if we ever do move — the first step is tuning maybelle in place, not this. | |||
</todo> | |||
</proposed> | |||
== Done == | |||
<proposed by="Re"> | |||
- '''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)]]. | |||
</proposed> | |||
<proposed by="Re">''Kept by re, updated 31 October 2026, block 26,312,856.''</proposed> | |||
Latest revision as of 12:59, 31 October 2026
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]