Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ and this project attempts to adhere to [Semantic Versioning](https://semver.org/

## [Unreleased]

### Changed

- Synced vendored beads files to v1.3.0

## [0.10.0]

### Added
Expand Down
3 changes: 1 addition & 2 deletions vendor/commands/audit.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Log and label agent interactions (append-only JSONL)
argument-hint: record|label
argument-hint: "record|label"
---

Append-only audit logging for agent interactions (prompts, responses, tool calls) in `.beads/interactions.jsonl`.
Expand All @@ -25,4 +25,3 @@ Each line is one event. Labeling is done by appending a new `"label"` event refe
- Audit entries are **append-only** (no in-place edits).
- `bd dolt push` includes `.beads/interactions.jsonl` in the commit allowlist.


2 changes: 1 addition & 1 deletion vendor/commands/blocked.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Show blocked issues
argument-hint: []
argument-hint: ""
---

Show all issues that are blocked by dependencies.
Expand Down
2 changes: 1 addition & 1 deletion vendor/commands/close.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Close a completed issue
argument-hint: [issue-id] [reason]
argument-hint: "[issue-id] [reason]"
---

Close a beads issue that's been completed.
Expand Down
2 changes: 1 addition & 1 deletion vendor/commands/comments.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: View or manage comments on an issue
argument-hint: [issue-id]
argument-hint: "[issue-id]"
---

View or add comments to a beads issue.
Expand Down
2 changes: 1 addition & 1 deletion vendor/commands/compact.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Compact old closed issues using semantic summarization
argument-hint: [--all] [--id issue-id] [--dry-run]
argument-hint: "[--all] [--id issue-id] [--dry-run]"
---

Reduce database size by summarizing closed issues no longer actively referenced.
Expand Down
2 changes: 1 addition & 1 deletion vendor/commands/create.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Create a new issue interactively
argument-hint: [title] [type] [priority]
argument-hint: "[title] [type] [priority]"
---

Create a new beads issue. If arguments are provided:
Expand Down
4 changes: 2 additions & 2 deletions vendor/commands/decision.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Record, list, and manage project decisions with rationale tracking
argument-hint: record|list|show|supersede
argument-hint: "record|list|show|supersede"
---

Record and track project decisions as beads issues with structured rationale, alternatives considered, and links to affected work.
Expand All @@ -9,7 +9,7 @@ Decisions use `--type decision`. The description field holds the structured deci

## Record a Decision

When the user wants to record a decision (or you invoke `bd decision record`):
When the user wants to record a decision (i.e. the `record` action of this command):

1. Gather the following (ask if not provided):
- **Title**: Short summary of what was decided (required)
Expand Down
2 changes: 1 addition & 1 deletion vendor/commands/delete.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Delete issues and clean up references
argument-hint: [issue-ids...] [--force]
argument-hint: "[issue-ids...] [--force]"
---

Delete one or more issues and clean up all references.
Expand Down
2 changes: 1 addition & 1 deletion vendor/commands/dep.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Manage dependencies between issues
argument-hint: [command] [from-id] [to-id]
argument-hint: "[command] [from-id] [to-id]"
---

Manage dependencies between beads issues.
Expand Down
5 changes: 4 additions & 1 deletion vendor/commands/epic.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Epic management commands
argument-hint: [command]
argument-hint: "[command]"
---

Manage epics (large features composed of multiple issues).
Expand All @@ -21,6 +21,9 @@ Manage epics (large features composed of multiple issues).
1. Create epic: `bd create "Large Feature" -t epic -p 1`
2. Link subtasks: `bd dep add bd-20 bd-10 --type parent-child` (task bd-20 is child of epic bd-10)
- Or at creation: `bd create "Subtask title" -t task --parent bd-10`
- Children inherit parent labels by default. If the epic uses size/effort
labels and children should have their own, add `--no-inherit-labels`
(GH#4562).
3. Track progress: `bd epic status`
4. Auto-close when done: `bd epic close-eligible`

Expand Down
4 changes: 2 additions & 2 deletions vendor/commands/export.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Export issues to JSONL format
argument-hint: [-o output-file]
argument-hint: "[-o output-file]"
---

Export all issues to JSON Lines format (one JSON object per line).
Expand All @@ -9,7 +9,7 @@ Export all issues to JSON Lines format (one JSON object per line).

- **To stdout**: `bd export`
- **To file**: `bd export -o issues.jsonl`
- **Filter by status**: `bd export --status open`
- **Include all records**: `bd export --all -o full.jsonl`

Issues are sorted by ID for consistent diffs, making git diffs readable.

Expand Down
84 changes: 75 additions & 9 deletions vendor/commands/import.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,84 @@
---
description: Import issues from JSONL format (removed)
argument-hint: (removed)
description: Import issues and memories from JSONL
argument-hint: "[file|-] [--input file] [--dry-run] [--dedup] [--allow-stale]"
---

`bd import` has been **removed**.
`bd import` imports newline-delimited JSON into an existing Beads database.
Issues with new IDs are created and existing IDs use guarded upsert semantics.
The command is not supported in proxied-server mode.

## Migration

If you need to import issues from a JSONL file, use `bd init` with the `--from-jsonl` flag:
## Usage

```bash
bd init <prefix> --from-jsonl issues.jsonl
bd import # Read .beads/<import.path>
bd import backup.jsonl # Read a specific file
bd import --input backup.jsonl # Same as -i backup.jsonl
bd import - # Read JSONL from stdin
bd export --include-memories | bd import - # Round-trip issues and memories
bd import --dry-run backup.jsonl # Parse and report without writing
bd import --json backup.jsonl # Return a structured result
```

## Note
With no file argument, the source is the `import.path` file under `.beads/`;
`import.path` defaults to `issues.jsonl`. Use either a positional file or
`--input`/`-i`, not both. The special path `-` reads stdin. With `--global` and
no file, the source is `global-issues.jsonl` in the active Beads directory.

Each non-empty line must be a JSON object. Issue records accept the schema
emitted by `bd export`; `title` is the only required issue field. Records with
`"_type":"memory"` and non-empty `key` and `value` fields are imported as
persistent memories. Optional export header records are ignored, and tombstone
rows are skipped. `bd export` omits memories by default; add
`--include-memories` or `--all` when they should be carried into an import.

## Merge and Safety Semantics

For records that supply `updated_at`, an incoming row rewrites an existing
issue only when its timestamp is strictly newer. Older records are skipped
wholesale, including their labels, comments, and dependencies. When timestamps
are equal, the local issue row wins, while those auxiliary records still merge.
The stale check is repeated inside the upsert so a concurrent newer local update
is not overwritten.

If `updated_at` is omitted, the importer fills it with the current time during
the write. A record naming an existing ID can therefore overwrite local state;
include the exported timestamp when stale protection matters.

Use `--allow-stale` only when deliberately restoring an older snapshot: it
disables that guard and can overwrite newer local issue state. Imports are
upserts, and labels, comments, and dependencies are deduplicated. Re-running
canonical export data or other input with stable issue IDs and preserved
`updated_at` values is safe and converges. Without a preserved timestamp, each
run can appear newer and rewrite the row. An issue record without an ID is
assigned one; re-importing it can create another issue instead of targeting the
first.

Large issue imports use bounded SQL transaction chunks. If one fails, the
command exits nonzero and keeps the already committed prefix in the Dolt working
set; no final import-summary Dolt commit is created. Re-run stable-ID input to
resume only when its `updated_at` values are also preserved.

After a successful non-dry import with accepted issue or memory records, the
command calls `store.Commit` with an import summary regardless of the
`dolt.auto-commit` policy. That commit can include unrelated pending working-set
changes; in direct server mode, config (including memories) is excluded from
this commit. When commit isolation matters, run `bd doctor` before importing and
proceed only when its Dolt Status check reports a clean working set.

The database must already exist; initialize or bootstrap it before importing.
Use `--dry-run` to parse the input, apply optional title deduplication, and
report issue and memory counts without writing. It does not run write-time field
validation or predict stale skips and updates.

## Flags

Dolt is the primary storage backend. Manual JSONL import is no longer supported as a standalone command.
- `--input`, `-i <file>`: read a specific file instead of a positional path.
- `--dry-run`: report parsed record counts without writing.
- `--dedup`: skip an input issue whose title exactly matches, ignoring case, an
existing non-closed issue. Input rows are not compared with one another; if
the existing-issue search fails, title filtering is skipped.
- `--allow-stale`: import older rows too, allowing newer local state to be
overwritten.
- `--json`: use global JSON-output mode for structured counts and IDs. The
`created` count is accepted issue rows, including existing rows, not only new
inserts.
2 changes: 1 addition & 1 deletion vendor/commands/init.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Initialize beads in the current project
argument-hint: [prefix]
argument-hint: "[prefix]"
---

Initialize beads issue tracking in the current directory.
Expand Down
2 changes: 1 addition & 1 deletion vendor/commands/label.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Manage issue labels
argument-hint: [command] [issue-id] [label]
argument-hint: "[command] [issue-id] [label]"
---

Manage labels on beads issues. Labels provide flexible cross-cutting metadata beyond structured fields (status, priority, type).
Expand Down
2 changes: 1 addition & 1 deletion vendor/commands/list.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: List issues with optional filters
argument-hint: [--status] [--priority] [--type] [--assignee] [--label]
argument-hint: "[--status] [--priority] [--type] [--assignee] [--label]"
---

List beads issues with optional filtering.
Expand Down
4 changes: 2 additions & 2 deletions vendor/commands/quickstart.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
description: Quick start guide for bd workflows (deprecated)
argument-hint: []
argument-hint: ""
---

**Note:** The `bd quickstart` command is deprecated. See the [Quick Start](https://gastownhall.github.io/beads/getting-started/quickstart) on the documentation site, or the repo pointer [docs/QUICKSTART.md](../docs/QUICKSTART.md).
**Note:** The `bd quickstart` command is deprecated. See the [Quick Start](https://beads.gascity.com/getting-started/quickstart) on the documentation site, or the in-repo source [docs/getting-started/quickstart.md](https://github.com/gastownhall/beads/blob/main/docs/getting-started/quickstart.md).

The quickstart documentation covers:
- Getting started with bd
Expand Down
3 changes: 1 addition & 2 deletions vendor/commands/rename-prefix.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Rename the issue prefix for all issues
argument-hint: <new-prefix> [--dry-run]
argument-hint: "<new-prefix> [--dry-run]"
---

Rename the issue prefix for all issues in the database.
Expand All @@ -9,7 +9,6 @@ Updates all issue IDs and all text references across all fields.

## Prefix Rules

- Max length: 8 characters
- Allowed: lowercase letters, numbers, hyphens
- Must start with a letter
- Must end with a hyphen (e.g., 'kw-', 'work-')
Expand Down
2 changes: 1 addition & 1 deletion vendor/commands/reopen.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Reopen closed issues
argument-hint: [issue-ids...] [--reason]
argument-hint: "[issue-ids...] [--reason]"
---

Reopen one or more closed issues.
Expand Down
2 changes: 1 addition & 1 deletion vendor/commands/restore.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Restore full history of compacted issue from git
argument-hint: <issue-id>
argument-hint: "<issue-id>"
---

Restore full history of a compacted issue from git version control.
Expand Down
2 changes: 1 addition & 1 deletion vendor/commands/search.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Search issues by text query
argument-hint: <query> [--status] [--label] [--assignee]
argument-hint: "<query> [--status] [--label] [--assignee]"
---

Search issues across title, description, and ID with a simple text query.
Expand Down
2 changes: 1 addition & 1 deletion vendor/commands/show.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Show detailed information about an issue
argument-hint: [issue-id]
argument-hint: "[issue-id]"
---

Display detailed information about a beads issue.
Expand Down
Loading