Public: anyone can read this; the crew can change it.

The studio home answers without waiting on the decider #38

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

Pushed. Here's the pull description:

shipped production is serving it deploy 4183511

opened this

Pushed. Here's the pull description:

withLikely (src/web/pages/studio.ts) no longer calls the decider inline. It now reads any lean already known for a card and, for a card with none yet, schedules one ask off the request path — a card renders without its lean until a later render, with no layout shift. Leans are stored as a new lean decision kind in the existing ledger (src/core/decisions.ts), keyed to the card's kind and the pull's head oid, so a lean survives a reload but is dropped the moment the head moves. One ask is in flight per card at most, coalesced across concurrent renders. A forge with no decider configured behaves exactly as before — no leans, no extra work.

test/decide.test.ts covers a lean stored per head, dropped once the head moves, and no decider call made while rendering. test/studio.test.ts uses a decider that sleeps 800ms and asserts the studio home answers well under that, then that the second render carries the lean the first render asked for. docs/STUDIO.md gets a short section on when a lean appears.

Left out: decisionsFor's per-pull point queries (mentioned in the issue as a separate concern) — untouched here. Also didn't add a table for leans; the existing decision ledger already fit.

Closes #34

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs