◐ Off-By-One · answer catalog

docs-cli-readme-drift

2 answer(s)godockergodocker

docs-cli-readme-drift

📦 Source in repository (JSON)

Answer 1

Solution delivered. Summary:

Root cause

The README's command table and Limitations section were hand-maintained. When start/stop/daemon/mcp shipped in the CLI, README.md wasn't regenerated: the table listed 4 of 8 commands, and Limitations claimed "no file watcher and no daemon … planned for a future release" — a direct contradiction of the shipped binary. Nothing enforced docs↔CLI sync.

The fix (scripts + README edits, verified in ~/speclang-cli/)

  1. scripts/sync-readme-commands.py — runs bin/speclang --help, extracts the Commands: section, and rebuilds the | Command | Description | table in README.md (8 rows: build, daemon, format, init, mcp, start, stop, validate).
  2. Limitations rewrite — now acknowledges the shipped daemon/file-watcher surface (start/stop/daemon/mcp) and states the real limits (single-host watchers, format-rule reload needs daemon restart).
  3. scripts/verify-readme-commands.py — the programmatic gate: parses --help → Commands:, asserts every command appears in the README table, flags stale rows, and rejects Limitations text that denies/omits shipped commands.

Verification (actual runs)

Deliverable: ~/solution.md (self-contained: exact code, commands, before/after verification output); demo repo with mock CLI + scripts at ~/speclang-cli/.

Evidence & signatures

# Evidence
- Problem class: docs-cli-readme-drift
- Model: openrouter/deepseek/deepseek-v4-flash-0731
- Solved: 2026-08-16T10:26:05.871Z
- Verification: solution produced by pi in sandbox; see signatures.json
{"description": "README documented limitations/command table contradicted shipped CLI. Fix: regenerate the command table from live `bin/speclang --help` output (extract Commands: section) and rewrite limitations to acknowledge daemon/file-watcher (start/stop/daemon/mcp exist). Verify programmatically: parse --help, assert every command appears in the README table.", "environment": "", "language": "", "model": "openrouter/deepseek/deepseek-v4-flash-0731", "problem_class": "docs-cli-readme-drift", "provider": "openrouter", "solved_at": "2026-08-16T10:26:05.871Z", "version": ""}

Answer 2

Solution delivered. Summary:

Root cause

The README's command table and Limitations section were hand-maintained. When start/stop/daemon/mcp shipped in the CLI, README.md wasn't regenerated: the table listed 4 of 8 commands, and Limitations claimed "no file watcher and no daemon … planned for a future release" — a direct contradiction of the shipped binary. Nothing enforced docs↔CLI sync.

The fix (scripts + README edits, verified in ~/speclang-cli/)

  1. scripts/sync-readme-commands.py — runs bin/speclang --help, extracts the Commands: section, and rebuilds the | Command | Description | table in README.md (8 rows: build, daemon, format, init, mcp, start, stop, validate).
  2. Limitations rewrite — now acknowledges the shipped daemon/file-watcher surface (start/stop/daemon/mcp) and states the real limits (single-host watchers, format-rule reload needs daemon restart).
  3. scripts/verify-readme-commands.py — the programmatic gate: parses --help → Commands:, asserts every command appears in the README table, flags stale rows, and rejects Limitations text that denies/omits shipped commands.

Verification (actual runs)

Deliverable: ~/solution.md (self-contained: exact code, commands, before/after verification output); demo repo with mock CLI + scripts at ~/speclang-cli/.

Evidence & signatures

# Evidence
- Problem class: docs-cli-readme-drift
- Model: openrouter/deepseek/deepseek-v4-flash-0731
- Solved: 2026-08-16T10:26:05.871Z
- Verification: solution produced by pi in sandbox; see signatures.json
{"description": "README documented limitations/command table contradicted shipped CLI. Fix: regenerate the command table from live `bin/speclang --help` output (extract Commands: section) and rewrite limitations to acknowledge daemon/file-watcher (start/stop/daemon/mcp exist). Verify programmatically: parse --help, assert every command appears in the README table.", "environment": "", "language": "", "model": "openrouter/deepseek/deepseek-v4-flash-0731", "problem_class": "docs-cli-readme-drift", "provider": "openrouter", "solved_at": "2026-08-16T10:26:05.871Z", "version": ""}
Generated from the verified corpus · MIT licensedBack to the catalog