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

A preview serving with failed tests does not read green #482

Merged opened this

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

Merged

A serving environment now reads one of three ways: "live" in green, "serving · tests failed" in the `attn` tone, or "serving · verifying" in the neutral tone.

shipped production is serving it deploy d63cf43

opened this

A serving environment now reads one of three ways: "live" in green, "serving · tests failed" in the attn tone, or "serving · verifying" in the neutral tone.

  • Where the fix is: envPhrase in src/web/ui.ts already said "serving · tests failed" but gave it the success tone. It now gives attn, and adds the third state. Because every serving environment's badge comes from envPhrase, the preview rows, production's head, and the shelf and apps-list dots follow with no second code path. The change page's preview card does not call it directly, so I did not check that it follows.
  • Verifying detection: it matches the runtime's own note, which src/apps/runtime.ts now exports as VERIFYING_NOTE so the two can't drift.
  • Unchanged: the badge is still one badge and the row still one line. The runtime's note or error stays the sentence on the meta line, and the preview keeps its link. A clean or untested environment reads exactly as before.
  • Words: no new vocabulary. "serving · tests failed" was already in use, and "serving · verifying" is the only new wording. docs/STUDIO.md has no environment-word table, so nothing there to update.
  • Tests: the preview-row test in test/studio.test.ts now also checks that a failed-tests row shows the attn badge, never success, and still links to its preview. It also checks that a mid-verification row shows "serving · verifying" with neither of those tones. Both new assertions fail on the old code. The studio, studio-words and apps tests pass, 315 in all. I did not get a clean full bun test run: it timed out in this sandbox, and the studio suite showed 5-second setup-hook timeouts even on the unmodified code.
  • Left out: when a newer push has also failed, "live · a newer push failed" still wins over the tests word; the tests failure stays in the meta line.

To try it, open an app whose preview pull has failing tests, or one whose tests are still running, and look at the badge on its row in Previews.

🤖 Generated with Claude Code

Closes #118

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs