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

A deploy's own page says an agent said it, and calls the live deploy "planned" #210

Merged opened this

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

Merged

Pushed. Here's the summary for the pull:

shipped production is serving it deploy 674862e

opened this

Pushed. Here's the summary for the pull:

Fixes the three untruths a deploy's own run page told about itself (#195):

  • Voice: the run page always attributed lines to actor?.username ?? "an agent", even for a deploy or check with no actor. Pulled the logic into one shared runVoice function (src/web/studio/log.ts) — a deploy speaks as "the deploy", a check as "the check", and only an agent run is named for the agent (or "the crew" for a reader) — and pointed both the run page (studio/run.ts) and the app page's deploy tail (studio/previews.ts, which already had this right) at it, so the two can never disagree again.
  • Word: runWord had no word for a deploy or check that finished with nothing to show (neither ever produces a pull), so it fell through to planned. Added done to the studio's vocabulary (studio/words.ts), green like look/shipped, folded into shipped on the lists that only show five words. An agent run with no pull is still planned — unchanged, and still covered by the existing test asserting that.
  • Number: durationText rounded to whole seconds, so a 300ms deploy read "took 0s". It now prints tenths under ten seconds, matching servedPhrase's own precision. The live client's elapsed-time tick was duplicated verbatim in runLogJs and studioRunJs; factored both into one shared elapsedTickJs snippet so the two scripts can't drift into different rounding mid-run, per the risk called out in the issue.

Added a test in test/studio.test.ts covering all three (voice, word, tenths) for a deploy's own run page, verified it fails against the pre-fix code, plus an explicit regression check that an agent's run still shows its own name. bun x tsc --noEmit and the full forge.json check suite pass, except two pre-existing failures in test/pulls.test.ts/test/apps.test.ts caused by this sandbox lacking git push auth/bwrap — confirmed those fail identically on the pre-change code and are unrelated.

Closes #195

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs