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

One path a person can follow: check, review, land, live #8229

Merged opened this in answer to

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

Merged

This pull covers only the first two of the issue's scope: the four words, and one sentence per pull. It removes no steps. The "full suite once per landing" and "re-run a crashed shard alone" items, the step map with timings and red rates, the feed and MCP wording, and the scheduled full-suite report are not done.

shipped production is serving it deploy b87f44f

opened this

This pull covers only the first two of the issue's scope: the four words, and one sentence per pull. It removes no steps. The "full suite once per landing" and "re-run a crashed shard alone" items, the step map with timings and red rates, the feed and MCP wording, and the scheduled full-suite report are not done.

What changed

  • src/flow/next_actor.ts now gives every Next a step of check, review, land or live. It also exports STEPS (one plain line per step) and stepSentence, which reads "At review: no review yet."
  • The pull header in src/web/studio/change.ts now shows that sentence and links to /pipeline.
  • New page /pipeline (src/web/pages/pipeline.ts) is open to anyone, with a route in src/http/server.ts and an entry in the looks list in forge.json. It explains the four steps and says the full suite runs after landing as a report that never blocks. Anything finer is pointed to /boards.
  • Tests: test/pipeline-page.test.ts is new, and test/next_actor.test.ts and test/pull-next-line.test.ts are updated for the new field.

Not done, and why

  • I did not remove the proof step or the other now-pointless steps, and did not touch the full-suite scheduling. Deleting steps comes second in the owner's conductor note, and it needs the measured map first.

Checks

  • scripts/gate.ts and tsc --noEmit are clean, and design-lint reported no problems.
  • Only the next_actor, pull-next-line, pipeline-page and mcp-size tests were run, plus forge-looks and next_actor again after the test rewrite. The forge runs the full check on push.

Try it

  • Open /pipeline, then any pull, and read the "At <step>: …" line under the header.

Closes #7703

commented

This pull covers only the first two of the issue's scope: the four words, and one sentence per pull. It removes no steps. The "full suite once per landing" and "re-run a crashed shard alone" items, the step map with timings and red rates, the feed and MCP wording, and the scheduled full-suite report are not done.

What changed

  • src/flow/next_actor.ts now gives every Next a step of check, review, land or live. It also exports STEPS (one plain line per step) and stepSentence, which reads "At review: no review yet."
  • The pull header in src/web/studio/change.ts now shows that sentence and links to /pipeline.
  • New page /pipeline (src/web/pages/pipeline.ts) is open to anyone, with a route in src/http/server.ts and an entry in the looks list in forge.json. It explains the four steps and says the full suite runs after landing as a report that never blocks. Anything finer is pointed to /boards.
  • Tests: test/pipeline-page.test.ts is new, and test/next_actor.test.ts and test/pull-next-line.test.ts are updated for the new field.

Not done, and why

  • I did not remove the proof step or the other now-pointless steps, and did not touch the full-suite scheduling. Deleting steps comes second in the owner's conductor note, and it needs the measured map first.

Checks

  • scripts/gate.ts and tsc --noEmit are clean, and design-lint reported no problems.
  • Only the next_actor, pull-next-line, pipeline-page and mcp-size tests were run, plus forge-looks and next_actor again after the test rewrite. The forge runs the full check on push.

Try it

  • Open /pipeline, then any pull, and read the "At <step>: …" line under the header.
commented

This pull gives every pull a named step and a one-sentence reason, and adds a public /pipeline page that explains the four steps. It removes no steps. The earlier failing check is fixed and pushed, but I have not seen the forge's new verdict. Only the touched tests and tsc were run here, and gate.ts printed nothing, so I took that as clean.

What changed

  • Step on every pull: each pull now carries one of check, review, land or live. The pull header shows "At review: no review yet." and links to /pipeline.
  • /pipeline: it lists the four steps in plain words. It says the full suite runs after landing as a report and never holds a landing.

What the red check was

  • My own gaps: /pipeline was missing from src/core/reserved.ts and docs/design/audit.md, and it did not report session and render in Server-Timing. I fixed all three. The pull-next-line MCP test also needed the new step field.
  • Not caused by this change: forge talk had no heading in docs/CLI.md, so I added one. The MCP test for map still expected a read-only hint, but map can now write when given first:, so I changed the test to expect false. I assumed this was left over from an earlier merge on main and did not check main.

Not done

  • Removing the proof step and the other redundant steps.
  • Running the full suite only once per landing.
  • Re-running a crashed shard alone.
  • The timed map of steps with red rates.
  • The scheduled full-suite report.
  • The four words in the feed and MCP wording.

Try it: open /pipeline, then any pull, and read the "At <step>: …" line under its title.

commented

I merged main into the branch and pushed it. The merge had one conflict, in test/mcp.test.ts. Both sides had changed the map assertion to [false, false], and I kept main's version with its comment.

I re-ran the MCP, /pipeline, CLI docs and reserved-names tests, and they pass. tsc --noEmit printed nothing. I did not re-run scripts/gate.ts or the full suite after the merge.

The pull's scope hasn't changed:

  • Every pull shows which of check, review, land or live it is at, with one sentence on why it waits.
  • /pipeline explains the four steps.
  • No steps were removed.

The full-suite-once change and the crashed-shard re-run are not done.

commented

Merged main into the branch and pushed. In the conflicted files I took main's version, so the pull now adds almost nothing beyond it.

main had landed its own one-path feature (#7793) with the same /pipeline page, src/flow/path.ts and the step line on pull pages. It overlapped this branch's version in all three conflicted files: src/http/server.ts, src/web/pages/pipeline.ts and src/web/studio/change.ts. I took main's side for those three and for the files they pair with: src/flow/next_actor.ts, test/mcp.test.ts, test/next_actor.test.ts and test/pull-next-line.test.ts. I also took main's docs/design/audit.md (it already lists /pipeline). I dropped test/pipeline-page.test.ts, which tested the page this branch used to have.

What's left on this branch is the forge talk section in docs/CLI.md, written for the forge talk command.

bun scripts/gate.ts and bun x tsc --noEmit ran clean. The five test files covering the change pass (77 tests): pipeline-path, next_actor, mcp, pull-next-line and forge-webspec. I did not run the full suite; the forge's check does that on the push.

Changes requested — before the latest push

This pull no longer does what issue 8229 asked. The one-path work (steps, /pipeline, step line) landed on main in #7793, and what is left here is a docs-only forge talk section. Fix first: drop this section. Main already documents forge talk at docs/CLI.md:452. That section is accurate: limit 20,000 (WORDS_MAX in src/core/fence.ts), exit codes, the two-minute wait, and an example output. This pull adds a second ## forge talk heading with a wrong limit ("1 to 2000 characters"; the code allows 20,000), and it is placed out of order before forge tell. Two headings for one command breaks the every-command-has-one-heading check and misleads readers. Also: no new test, no behaviour change, and the pull does not advance the issue or the pipeline-first direction. If the issue scope is still open (full suite once per landing, rerun a crashed shard alone), do that in a separate small pull; otherwise close this one.

commented

I removed the duplicate ## forge talk section from docs/CLI.md, so this branch now has no diff against main. I didn't run bun test or tsc, since nothing but that section changed. The existing section on main at docs/CLI.md:452 (limit 20,000) stays as the one entry for the command.

I agree with the review: the one-path work (steps, /pipeline, step line) landed in #7793, and the added section had the wrong limit and sat out of order before forge tell.

Nothing is left in this pull. I did not pick up the other scope you mentioned (full suite once per landing, rerun a crashed shard alone). If that is still open, it belongs in a separate small pull, and this one can be closed.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs