docs(pipeline): pin the CLI docs to the released bd; repair main's broken CLI reference (#4876)
* docs(pipeline): pin the generated CLI docs to the released bd; repair main's CLI reference
The #4874 squash-merge raced the docs-autofix bot: the bot had pushed a
regeneration from main's source onto the PR branch, so the squash landed a
contradictory mix — the release-aligned hand-written docs plus a CLI
reference re-documenting unreleased commands and flags, with docs.json
referencing four pages (heartbeat, migrate-personal, reclaim, unclaim)
whose files do not exist. That broken nav fails the docsync guard on main
and on every branch cut from it. This restores the intended end state of
#4874 and lands the pin that prevents the race from recurring.
- Regenerate the CLI reference from a bd built from the v1.1.0 tag (CI's
canonical pure-Go build), removing the unreleased commands/flags and
fixing the dangling nav entries.
- docs/cli-docs.pin names the release tag; scripts/resolve-docs-bd.sh
builds and caches a canonical pure-Go bd from that tag, fetching the tag
first in shallow CI checkouts.
- generate-cli-docs.sh, check-doc-flags.sh, and check-cli-docs-drift.sh
resolve bd through the pin and ignore a supplied binary while pinned
(BD_DOCS_IGNORE_PIN=1 bypasses), so the drift gates and the autofix bot
now enforce docs-match-release instead of docs-match-main.
- tools/docsmint detects the pre-overhaul Docusaurus staging layout that
bd <= v1.1.0 emits and converts it to the generic form before its normal
Mintlify transform (tested); removable once the pin reaches a release
whose emitter writes build/cli-docs.
- check-doc-flags.sh: run without timeout(1) on macOS instead of failing
Check 4.
- Decision record: engdocs/decisions/2026-07-17-docs-release-pin.md; the
beads-docs skill §8 updated to match.
* lint: annotate gosec G705 false positive in the docsmint legacy bridge
Same class as the existing nav-splice annotation: a developer tool writing
repo Markdown, not a web-output sink.
2026-07-17 18:03:28 -07:00
|
|
|
# Pins the bd version that the generated CLI docs are produced from and
|
|
|
|
|
# validated against: docs/CLI_REFERENCE.md, docs/cli-reference/, and the
|
|
|
|
|
# CLI Reference pages array in docs/docs.json.
|
|
|
|
|
#
|
|
|
|
|
# The published docs site describes the latest *release*, not main's source,
|
|
|
|
|
# so the docs pipeline builds bd from this tag (CGO_ENABLED=0, pure Go —
|
|
|
|
|
# CI's canonical build) instead of the current checkout. Bump this tag as
|
|
|
|
|
# part of each release, then run ./scripts/generate-cli-docs.sh.
|
|
|
|
|
#
|
|
|
|
|
# Set to HEAD to track the current checkout's source instead (the pre-pin
|
|
|
|
|
# behavior).
|
2026-08-14 21:45:02 -07:00
|
|
|
v1.2.2
|