Files
Chris Sells d2f87d50de 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

56 lines
3.1 KiB
Markdown

---
title: "bd update"
description: "Update one or more issues."
---
{/* AUTO-GENERATED: do not edit manually */}
Generated from `bd help --doc update`.
Update one or more issues.
If no issue ID is provided, updates the last touched issue (from most recent
create, update, show, or close operation).
```
bd update [id...] [flags]
```
**Flags:**
```
--acceptance string Acceptance criteria
--add-label strings Add labels (repeatable)
--allow-empty-description Allow empty description replacement when reading from stdin or file
--append-notes string Append to existing notes (with newline separator)
-a, --assignee string Assignee
--await-id string Set gate await_id (e.g., GitHub run ID for gh:run gates)
--body-file string Read description from file (use - for stdin)
--claim Atomically claim the issue (sets assignee to you, status to in_progress; idempotent if already claimed by you)
--defer string Defer until date (empty to clear). Issue hidden from bd ready until then
-d, --description string Issue description
--design string Design notes
--design-file string Read design from file (use - for stdin)
--due string Due date/time (empty to clear). Formats: +6h, +1d, +2w, tomorrow, next monday, 2025-01-15
--ephemeral Mark issue as ephemeral (wisp) - not exported to JSONL
-e, --estimate int Time estimate in minutes (e.g., 60 for 1 hour)
--external-ref string External reference (e.g., 'gh-9', 'jira-ABC', Linear URL)
--history Clear no-history flag (re-enable Dolt commit history)
--metadata string Set custom metadata (JSON string or @file.json to read from file)
--no-history Mark issue as no-history (skip Dolt commits, not GC-eligible)
--notes string Additional notes
--parent string New parent issue ID (reparents the issue, use empty string to remove parent)
--persistent Mark issue as persistent (promote wisp to regular issue)
-p, --priority string Priority (0-4 or P0-P4, 0=highest)
--remove-label strings Remove labels (repeatable)
--session string Claude Code session ID for status=closed (or set CLAUDE_SESSION_ID env var)
--set-labels strings Set labels, replacing all existing (repeatable)
--set-metadata stringArray Set metadata key=value (repeatable, e.g., --set-metadata team=platform)
--spec-id string Link to specification document
-s, --status string New status
--stdin Read description from stdin (alias for --body-file -)
--title string New title
-t, --type string New type (bug|feature|task|epic|chore|decision); custom types require types.custom config
--unset-metadata stringArray Remove metadata key (repeatable, e.g., --unset-metadata team)
```