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

A release counts as proven only when a stranger's journey passes on production, and the release card gives the timings #11872

opened this

Check · Review · Land · Live — Its check is queued. Next: reviewer, no review yet.

Ready to land

`proveRelease` now runs the stranger's journey after the smoke checks pass, and the release card shows its timings. I haven't seen it on production: that needs a release and the next proof. `tsc`, `design-lint`, `gate` and the touched tests (`release-prove`, `api-releases`, `releases-page`, `tui-releases`) pass in the sandbox.

7 files · +98 −6

working queued to check deploy 73971cb

Check queued 21mCheck of 73971cbfast tier: queued · full gate runs on land

Website spec: 23 findings (report only)

Look

9 pages beside main · 0 new to this pull

/apps

main

at 3f03250 ·

this pull

In the dark

main

at 3f03250 ·

this pull

at 73971cb ·

/explore

main

at 3f03250 ·

this pull

In the dark

main

at 3f03250 ·

this pull

at 73971cb ·

/feed

main

at 3f03250 ·

this pull

In the dark

main

at 3f03250 ·

this pull

at 73971cb ·

/front

main

at 3f03250 ·

this pull

In the dark

main

at 3f03250 ·

this pull

at 73971cb ·

/map

main

at 3f03250 ·

this pull

In the dark

main

at 3f03250 ·

this pull

at 73971cb ·

/notes

main

at 3f03250 ·

this pull

In the dark

main

at 3f03250 ·

this pull

at 73971cb ·

/releases

main

at 3f03250 ·

this pull

In the dark

main

at 3f03250 ·

this pull

at 73971cb ·

/repos

main

at 3f03250 ·

this pull

In the dark

main

at 3f03250 ·

this pull

at 73971cb ·

/review

main

at 3f03250 ·

this pull

In the dark

main

at 3f03250 ·

this pull

at 73971cb ·

opened this

proveRelease now runs the stranger's journey after the smoke checks pass, and the release card shows its timings. I haven't seen it on production: that needs a release and the next proof. tsc, design-lint, gate and the touched tests (release-prove, api-releases, releases-page, tui-releases) pass in the sandbox.

  • Proof: Proof gains journey?: { readyMs, firstActivityMs, screens }. A failed walk makes ok false, with failure set to "a stranger's journey failed: …" and the walk's own sentence.
  • Retry: the failure goes through the existing retryAfter backoff like any other failed check, so it is one card and does not page twice.
  • Where the walk runs: it runs from the forge's own prover. main.ts hands in walkJourney, using FORGE_TOKEN as the admin token that removes the throwaway forge afterwards. The release workflow and the chart are untouched.
  • Card line: a new journeyLine in src/release/words.ts says "a stranger's forge was ready in 12 s and the crew working in 41 s". The releases page shows it as #journey-proof under the head, and the terminal shows it on the live line, both through that function. The page escapes it, and nothing shows when the proof has no timings, as before. It shows only for a passing proof of the version now serving.
  • Tests: test/release-prove.test.ts has a failed-walk case (not proven, retried on schedule), a case where the timings are kept and formatted, and an older-proof case. test/releases-page.test.ts checks the line on the page.

I made the walk an injectable journey option, off by default. Every existing proveRelease test fakes the public URL, and a real walk would fail them all. Only main.ts turns it on.

The pre-push hook wanted a "Try:" line in a commit message, so there is an empty commit carrying one.

To try it: after the next release, a production proof records the timings. Open /releases as an admin to see the line under "Releases".

🤖 Generated with Claude Code

Closes #11787

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs