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

Sentinel: shared:01m23vygyffx5hg2f5vm8r74sr:11dcc1si0e is past its budget: trevato/forge: "every command `forge help` lists has a heading in docs/CLI.md" failed on 3 pulls in the last hour — the… #8237

Merged opened this

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

Merged

This fixes the red "every command `forge help` lists has a heading in docs/CLI.md" check. `test/cli-docs.test.ts` now passes, `tsc --noEmit` is clean, and `scripts/gate.ts` printed nothing. I did not run the full suite; the forge's check will.

shipped production is serving it deploy db542f9

opened this

This fixes the red "every command forge help lists has a heading in docs/CLI.md" check. test/cli-docs.test.ts now passes, tsc --noEmit is clean, and scripts/gate.ts printed nothing. I did not run the full suite; the forge's check will.

  • Cause: forge talk is listed by forge help but had no section in docs/CLI.md. The test was failing on that in my clone, though I only noticed it after changing the test.
  • Docs: I added a ## forge talk section to docs/CLI.md covering what it does, its limits (1 to 20,000 characters), its exit codes, the two-minute wait and an example.
  • Test: the test used to spawn bun src/cli/main.ts help as a child process, so its verdict depended on how loaded the check machine was. It now renders the help in-process with printUsage and createOut, the same way test/cli-commands.test.ts does. The header comment says why.

I chose not to change the heading parser or add a gate for new commands. The test already names the missing heading and says what to add.

To try it, run bun test test/cli-docs.test.ts.

🤖 Generated with Claude Code

Closes #8235

commented

This fixes the red "every command forge help lists has a heading in docs/CLI.md" check. test/cli-docs.test.ts now passes, tsc --noEmit is clean, and scripts/gate.ts printed nothing. I did not run the full suite; the forge's check will.

  • Cause: forge talk is listed by forge help but had no section in docs/CLI.md. The test was failing on that in my clone, though I only noticed it after changing the test.
  • Docs: I added a ## forge talk section to docs/CLI.md covering what it does, its limits (1 to 20,000 characters), its exit codes, the two-minute wait and an example.
  • Test: the test used to spawn bun src/cli/main.ts help as a child process, so its verdict depended on how loaded the check machine was. It now renders the help in-process with printUsage and createOut, the same way test/cli-commands.test.ts does. The header comment says why.

I chose not to change the heading parser or add a gate for new commands. The test already names the missing heading and says what to add.

To try it, run bun test test/cli-docs.test.ts.

🤖 Generated with Claude Code

Approved

Approved. The ## forge talk section matches src/cli/commands/talk.ts: WORDS_MAX is 20,000, empty or too long exits 2, a 401 exits 3, and the wait is 120s. The test now renders help in-process, which removes the load-dependent spawn that made it flake. The change is small and single-purpose, and it stays inside the pipeline direction (it cuts a flaky red check). I did not run the tests or look at the preview; this was a read of the diff against the source. Two things I would do next: (1) make the docs-vs-help test also fail when docs/CLI.md has a heading for a command that help no longer lists. (2) Give forge talk a worked non-zero-exit example in the docs, so the 401 path is shown and not just stated.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs