mirror of
https://github.com/gastownhall/beads.git
synced 2026-09-14 20:17:24 +08:00
d2f87d50de
* 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.
63 lines
2.2 KiB
Markdown
63 lines
2.2 KiB
Markdown
---
|
|
title: "bd batch"
|
|
description: "Run multiple write operations in a single database transaction."
|
|
---
|
|
|
|
{/* AUTO-GENERATED: do not edit manually */}
|
|
|
|
Generated from `bd help --doc batch`.
|
|
|
|
Run multiple write operations in a single database transaction.
|
|
|
|
Commands are read from stdin (one per line) or from a file via -f/--file.
|
|
All operations execute inside a single dolt transaction: on any error the
|
|
whole batch is rolled back, otherwise it is committed with one DOLT_COMMIT.
|
|
|
|
This is intended for shell scripts that currently invoke 'bd' many times in
|
|
a loop, which causes severe write amplification on a dolt sql-server backed
|
|
by btrfs+compression. Batching collapses N invocations into one transaction
|
|
and one dolt commit.
|
|
|
|
Grammar (one command per line):
|
|
close <id> [reason...]
|
|
update <id> <key>=<value> [<key>=<value> ...]
|
|
create <type> <priority> <title...>
|
|
dep add <from-id> <to-id> [type]
|
|
dep remove <from-id> <to-id>
|
|
#comment (blank lines and '# ...' comments are ignored)
|
|
|
|
Supported 'update' keys: status, priority, title, assignee
|
|
Supported dependency types: see 'bd dep add --help' (default: blocks)
|
|
|
|
Tokens are whitespace-separated. Double-quoted strings ("like this") may
|
|
contain spaces; use \" to embed a quote and \\ for a backslash.
|
|
|
|
Examples:
|
|
# From a pipe
|
|
bd list --status stale -q | awk '{print "close",$1," stale"}' | bd batch
|
|
|
|
# From a file
|
|
bd batch -f operations.txt
|
|
|
|
# Inline
|
|
printf 'close bd-1 done\nupdate bd-2 status=in_progress\n' | bd batch
|
|
|
|
On success, exits 0 and prints a summary (or JSON with --json). On any error,
|
|
rolls back the entire transaction and exits non-zero with the failing line.
|
|
|
|
NOTE: This is a narrow subset. Commands like 'show', 'list', 'ready', 'sync',
|
|
complex create flows, or any flag not listed above are NOT accepted. Use
|
|
normal 'bd' subcommands for interactive/read operations.
|
|
|
|
```
|
|
bd batch [flags]
|
|
```
|
|
|
|
**Flags:**
|
|
|
|
```
|
|
--dry-run Parse input and echo commands without executing
|
|
-f, --file string Read commands from file instead of stdin
|
|
-m, --message string DOLT_COMMIT message (default: 'bd: batch N ops by <actor>')
|
|
```
|