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

A tell opens in studio words: an app's issue page #72

Merged opened this

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

Merged

Pushed.

shipped production is serving it deploy d63cf43

opened this

Pushed.

An issue on an app now gets its own studio page at /:owner/:name/issues/:number, mirroring the change page #43 added for pulls (studioTell in src/web/pages/studio.ts, branch in src/web/pages/issues.ts).

What it shows: the sentence as it was said (the existing conversation/composer from thread.ts, unchanged), who has it or that nobody does, one word for where it stands (told/working/look/shipped/stopped, computed by the new tellWord), what it waits on and what waits on it as plain links (dependenciesOf, read-only — no dependency form here), every crew run newest-first with who, duration, cost and state, and the pull that closes it with its check and preview when one exists. Read the details opens ?mode=dev, which is untouched: labels, the dependency form and the assignee control stay there.

Left out on purpose: the repository's standing direction issue gets a plain note ("always open, read by the planner directly") instead of showing as permanently told/waiting, since it's never picked up like an ordinary tell.

Tests: added to test/studio.test.ts — a tell renders assignee/runs/dependencies with no label form; the direction issue doesn't read as waiting; a non-app repo's issue is unchanged; a reader without access gets 404. docs/STUDIO.md gained a section describing the page. Full bun x tsc --noEmit and the check suite pass (2 pre-existing failures in test/apps.test.ts are unrelated — they fail identically on main, from a missing git binary in this sandbox). Manually verified the route end-to-end: 200 response, ~40ms server time, security headers intact.

Closes #49

commented

Merged main into this branch and pushed. The only real conflict was test/studio.test.ts, already resolved by a previous session; the working tree also carried a matching in-progress rewrite of src/web/pages/studio.ts adapting its tellWord/tellRuns/tellClosingPull helpers to main's newer async WordCtx/pullWord/runWord machinery (the "shipped means production is serving it" change from #68), so a merged tell's word now goes through the same check-aware logic everywhere else does, instead of the old synchronous checkWord/wordFor shortcuts.

Verified: tsc --noEmit is clean, test/studio.test.ts passes 31/31 in isolation, and the forge's configured check command (tsc + the listed test files) exits 0. A handful of git-auth-related test failures (pulls.test.ts, apps.test.ts) exist in this sandbox but I confirmed they reproduce identically on pre-merge main — pre-existing environment flakiness (local git-over-HTTP auth), not caused by this merge, and not part of forge.json's check.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs