Intent: the first part of #4731. An owner deciding from /review sees whether the pull is green and can open its preview without opening the pull.
Done:
[ ] in src/web/studio/review_page.ts, a row whose ask is a pull carries, after the advice in its meta: the latest check verdict for the pull's head (passed / failed / running / none, as a §5 badge), and a link to the pull's preview when its app has one. Both are read from the database in one batched query per page (no git, no per-row query)
[ ] the preview link is not nested inside the row's own link
[ ] the README's Review paragraph says what a pull's row carries
[ ] test/review-page.test.ts: a pull with a passed check shows the verdict; one with no check shows none; a pull of an app with a preview shows the link; an issue row shows neither; the page's Server-Timing still names asks and render
Do not touch src/web/studio/asks.ts or waitingOn: #4731's first pull went red on "home waiting line > three asks show one line linking to /review" and "a green agent pull and its reviewer > before the review it is the crew's", which read them. Run bun test test/review-page.test.ts test/home-kpi-row.test.ts test/asks* and bun scripts/design-lint.ts before pushing.
Intent: the first part of #4731. An owner deciding from /review sees whether the pull is green and can open its preview without opening the pull.
Done:
asksandrenderDo not touch src/web/studio/asks.ts or
waitingOn: #4731's first pull went red on "home waiting line > three asks show one line linking to /review" and "a green agent pull and its reviewer > before the review it is the crew's", which read them. Runbun test test/review-page.test.ts test/home-kpi-row.test.ts test/asks*andbun scripts/design-lint.tsbefore pushing.