Skip to content

Commit 90da8f6

Browse files
steveyeggeclaude
andcommitted
docs: remove stale JSONL references from ~73 markdown files (bd-9ni.4)
Replace JSONL storage/sync references with Dolt-native equivalents across documentation, plugin resources, website docs, agent instructions, and example READMEs. Preserves legitimate JSONL references (bd import/export commands, CHANGELOG history, routes.jsonl/interactions.jsonl concepts). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 24ed5a3 commit 90da8f6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+663
-1081
lines changed
Lines changed: 33 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,51 @@
11
---
2-
description: How to resolve merge conflicts in .beads/issues.jsonl
2+
description: How to resolve merge conflicts in the beads Dolt database
33
---
44

5-
# Resolving `issues.jsonl` Merge Conflicts
5+
# Resolving Beads Merge Conflicts
66

7-
If you encounter a merge conflict in `.beads/issues.jsonl` that doesn't have standard git conflict markers (or if `bd merge` failed automatically), follow this procedure.
7+
Beads uses Dolt as its storage backend. Dolt handles merges natively using its built-in three-way merge, similar to git.
88

9-
## 1. Identify the Conflict
10-
Check if `issues.jsonl` is in conflict:
11-
```powershell
12-
git status
13-
```
9+
## 1. Check for Conflicts
1410

15-
## 2. Extract the 3 Versions
16-
Git stores three versions of conflicted files in its index:
17-
1. Base (common ancestor)
18-
2. Ours (current branch)
19-
3. Theirs (incoming branch)
20-
21-
Extract them to temporary files:
22-
```powershell
23-
git show :1:.beads/issues.jsonl > beads.base.jsonl
24-
git show :2:.beads/issues.jsonl > beads.ours.jsonl
25-
git show :3:.beads/issues.jsonl > beads.theirs.jsonl
11+
```bash
12+
bd doctor
13+
bd sync
2614
```
2715

28-
## 3. Run `bd merge` Manually
29-
Run the `bd merge` tool manually with the `--debug` flag to see what's happening.
30-
Syntax: `bd merge <output> <base> <ours> <theirs>`
16+
If `bd sync` reports merge conflicts, Dolt will list the conflicting tables and rows.
17+
18+
## 2. Resolve Conflicts
19+
20+
Dolt provides SQL-based conflict resolution:
21+
22+
```bash
23+
# View conflicts
24+
bd sql "SELECT * FROM dolt_conflicts"
3125

32-
```powershell
33-
bd merge beads.merged.jsonl beads.base.jsonl beads.ours.jsonl beads.theirs.jsonl --debug
26+
# Resolve by accepting ours or theirs
27+
bd sql "CALL dolt_conflicts_resolve('--ours')"
28+
# OR
29+
bd sql "CALL dolt_conflicts_resolve('--theirs')"
3430
```
3531

36-
## 4. Verify the Result
37-
Check the output of the command.
38-
- **Exit Code 0**: Success. `beads.merged.jsonl` contains the clean merge.
39-
- **Exit Code 1**: Conflicts remain. `beads.merged.jsonl` will contain conflict markers. You must edit it manually to resolve them.
32+
## 3. Verify and Complete
4033

41-
Optionally, verify the content (e.g., check for missing IDs if you suspect data loss).
34+
```bash
35+
# Verify the resolution
36+
bd list --json | head
4237

43-
## 5. Apply the Merge
44-
Overwrite the conflicted file with the resolved version:
45-
```powershell
46-
cp beads.merged.jsonl .beads/issues.jsonl
38+
# Complete the sync
39+
bd sync
4740
```
4841

49-
## 6. Cleanup and Continue
50-
Stage the resolved file and continue the merge:
51-
```powershell
42+
## Legacy: JSONL Merge Conflicts
43+
44+
If you encounter merge conflicts in `.beads/issues.jsonl` from a legacy setup, import the resolved file:
45+
46+
```bash
47+
# Resolve the git conflict in the JSONL file manually, then:
48+
bd import -i .beads/issues.jsonl
5249
git add .beads/issues.jsonl
5350
git merge --continue
5451
```
55-
56-
## 7. Cleanup Temporary Files
57-
```powershell
58-
rm beads.base.jsonl beads.ours.jsonl beads.theirs.jsonl beads.merged.jsonl
59-
```

.beads/BD_GUIDE.md

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ It is auto-generated and version-stamped to track bd upgrades.
1818
### Why bd?
1919

2020
- Dependency-aware: Track blockers and relationships between issues
21-
- Git-friendly: Auto-syncs to JSONL for version control
21+
- Git-friendly: Dolt provides version control with branching and merging
2222
- Agent-optimized: JSON output, ready work detection, discovered-from links
2323
- Prevents duplicate tracking systems and confusion
2424

@@ -70,13 +70,13 @@ bd close bd-42 --reason "Completed" --json
7070
4. **Discover new work?** Create linked issue:
7171
- `bd create "Found bug" -p 1 --deps discovered-from:<parent-id>`
7272
5. **Complete**: `bd close <id> --reason "Done"`
73-
6. **Commit together**: Always commit the `.beads/issues.jsonl` file together with the code changes so issue state stays in sync with code state
73+
6. **Sync**: Run `bd sync` at end of sessions to ensure changes are committed and pushed
7474

7575
### Auto-Sync
7676

77-
bd automatically syncs with git:
78-
- Exports to `.beads/issues.jsonl` after changes (5s debounce)
79-
- Imports from JSONL when newer (e.g., after `git pull`)
77+
bd uses Dolt for storage and sync:
78+
- All changes are stored directly in the Dolt database
79+
- `bd sync` handles commit, pull, merge, and push via Dolt-native replication
8080
- No manual export/import needed!
8181

8282
### GitHub Copilot Integration
@@ -156,15 +156,15 @@ For more details, see README.md and QUICKSTART.md.
156156

157157
**Key Features:**
158158
- Dependency-aware issue tracking
159-
- Auto-sync with Git via JSONL
159+
- Auto-sync via Dolt-native replication
160160
- AI-optimized CLI with JSON output
161-
- Built-in daemon for background operations
161+
- Dolt server mode for background operations
162162
- MCP server integration for Claude and other AI assistants
163163

164164
## Tech Stack
165165

166166
- **Language**: Go 1.21+
167-
- **Storage**: SQLite (internal/storage/sqlite/)
167+
- **Storage**: Dolt (version-controlled SQL database)
168168
- **CLI Framework**: Cobra
169169
- **Testing**: Go standard testing + table-driven tests
170170
- **CI/CD**: GitHub Actions
@@ -174,7 +174,7 @@ For more details, see README.md and QUICKSTART.md.
174174

175175
### Testing
176176
- Always write tests for new features
177-
- Use `BEADS_DB=/tmp/test.db` to avoid polluting production database
177+
- Use `t.TempDir()` in Go tests to avoid polluting production database
178178
- Run `go test -short ./...` before committing
179179
- Never create test issues in production DB (use temporary DB)
180180

@@ -185,9 +185,8 @@ For more details, see README.md and QUICKSTART.md.
185185
- Update docs when changing behavior
186186

187187
### Git Workflow
188-
- Always commit `.beads/issues.jsonl` with code changes
189188
- Run `bd sync` at end of work sessions
190-
- Install git hooks: `bd hooks install` (ensures DB ↔ JSONL consistency)
189+
- Install git hooks: `bd hooks install`
191190

192191
## Issue Tracking with bd
193192

@@ -238,14 +237,13 @@ beads/
238237
├── internal/
239238
│ ├── types/ # Core data types
240239
│ └── storage/ # Storage layer
241-
│ └── sqlite/ # SQLite implementation
240+
│ └── dolt/ # Dolt implementation
242241
├── integrations/
243242
│ └── beads-mcp/ # MCP server (Python)
244243
├── examples/ # Integration examples
245244
├── docs/ # Documentation
246245
└── .beads/
247-
├── beads.db # SQLite database (DO NOT COMMIT)
248-
└── issues.jsonl # Git-synced issue storage
246+
└── dolt/ # Dolt database (source of truth)
249247
```
250248

251249
## Available Resources
@@ -272,10 +270,10 @@ Use the beads MCP server for native function calls instead of shell commands:
272270
- ✅ Use bd for ALL task tracking
273271
- ✅ Always use `--json` flag for programmatic use
274272
- ✅ Run `bd sync` at end of sessions
275-
- ✅ Test with `BEADS_DB=/tmp/test.db`
273+
- ✅ Test with `t.TempDir()` in Go tests
276274
- ❌ Do NOT create markdown TODO lists
277275
- ❌ Do NOT create test issues in production DB
278-
- ❌ Do NOT commit `.beads/beads.db` (JSONL only)
276+
- ❌ Do NOT manually modify `.beads/dolt/`
279277

280278
---
281279

.beads/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ bd sync
3333
### Working with Issues
3434

3535
Issues in Beads are:
36-
- **Git-native**: Stored in `.beads/issues.jsonl` and synced like code
36+
- **Git-native**: Stored in Dolt database with version control and branching
3737
- **AI-friendly**: CLI-first design works perfectly with AI coding agents
3838
- **Branch-aware**: Issues can follow your branch workflow
3939
- **Always in sync**: Auto-syncs with your commits
@@ -53,7 +53,7 @@ Issues in Beads are:
5353
🔧 **Git Integration**
5454
- Automatic sync with git commits
5555
- Branch-aware issue tracking
56-
- Intelligent JSONL merge resolution
56+
- Dolt-native three-way merge resolution
5757

5858
## Get Started with Beads
5959

.github/copilot-instructions.md

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@
66

77
**Key Features:**
88
- Dependency-aware issue tracking
9-
- Auto-sync with Git via JSONL
9+
- Auto-sync via Dolt-native replication
1010
- AI-optimized CLI with JSON output
1111
- Dolt server mode for background operations
1212
- MCP server integration for Claude and other AI assistants
1313

1414
## Tech Stack
1515

1616
- **Language**: Go 1.21+
17-
- **Storage**: Dolt (internal/storage/dolt/)
17+
- **Storage**: Dolt (version-controlled SQL database)
1818
- **CLI Framework**: Cobra
1919
- **Testing**: Go standard testing + table-driven tests
2020
- **CI/CD**: GitHub Actions
@@ -36,7 +36,7 @@
3636

3737
### Git Workflow
3838
- Install git hooks: `bd hooks install`
39-
- Use `bd dolt push` / `bd dolt pull` for remote sync
39+
- Use `bd sync` for remote sync (Dolt-native replication)
4040

4141
## Issue Tracking with bd
4242

@@ -59,7 +59,7 @@ bd list --status open --priority 1 --json
5959
bd show <id> --json
6060

6161
# Sync (if remote configured)
62-
bd dolt push # Push to Dolt remote
62+
bd sync # Sync with Dolt remote
6363
```
6464

6565
### Workflow
@@ -69,7 +69,7 @@ bd dolt push # Push to Dolt remote
6969
3. **Work on it**: Implement, test, document
7070
4. **Discover new work?** `bd create "Found bug" --description="What was found and why" -p 1 --deps discovered-from:<parent-id> --json`
7171
5. **Complete**: `bd close <id> --reason "Done" --json`
72-
6. **Sync**: `bd dolt push` (push to Dolt remote if configured)
72+
6. **Sync**: `bd sync` (sync with Dolt remote if configured)
7373

7474
**IMPORTANT**: Always include `--description` when creating issues. Issues without descriptions lack context for future work.
7575

@@ -95,8 +95,7 @@ beads/
9595
├── examples/ # Integration examples
9696
├── docs/ # Documentation
9797
└── .beads/
98-
├── dolt/ # Dolt database (DO NOT COMMIT)
99-
└── issues.jsonl # Git-synced issue storage
98+
└── dolt/ # Dolt database (source of truth)
10099
```
101100

102101
## Available Resources
@@ -122,11 +121,11 @@ Use the beads MCP server for native function calls instead of shell commands:
122121

123122
- ✅ Use bd for ALL task tracking
124123
- ✅ Always use `--json` flag for programmatic use
125-
- ✅ Use `bd dolt push` for remote sync
124+
- ✅ Use `bd sync` for remote sync
126125
- ✅ Test with `t.TempDir() in Go tests`
127126
- ❌ Do NOT create markdown TODO lists
128127
- ❌ Do NOT create test issues in production DB
129-
- ❌ Do NOT commit `.beads/dolt/` (JSONL only)
128+
- ❌ Do NOT manually modify `.beads/dolt/`
130129

131130
---
132131

AGENT_INSTRUCTIONS.md

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ func TestMyFeature(t *testing.T) {
6060
- For full CGO validation: `make test-full-cgo`
6161
2. **Run linter**: `golangci-lint run ./...` (ignore baseline warnings)
6262
3. **Update docs**: If you changed behavior, update README.md or other docs
63-
4. **Commit**: With git hooks installed (`bd hooks install`), JSONL is auto-exported on commit
63+
4. **Commit**: With git hooks installed (`bd hooks install`), Dolt changes are auto-committed
6464

6565
### Commit Message Convention
6666

@@ -75,24 +75,22 @@ This enables `bd doctor` to detect **orphaned issues** - work that was committed
7575

7676
### Git Workflow
7777

78-
bd uses **Dolt** as its primary database. Changes are committed to Dolt history automatically (one Dolt commit per write command). JSONL is maintained for git portability via hooks.
78+
bd uses **Dolt** as its primary database. Changes are committed to Dolt history automatically (one Dolt commit per write command).
7979

80-
**Install git hooks** for automatic JSONL sync:
80+
**Install git hooks** for automatic sync:
8181
```bash
8282
bd hooks install
8383
```
8484

85-
This ensures JSONL is exported on commit and imported after pull/merge.
86-
8785
### Git Integration
8886

89-
**JSONL portability**: JSONL is exported via git hooks for sharing through git. The Dolt database is the source of truth.
87+
**Dolt sync**: Dolt handles sync natively via `bd sync`. No JSONL export/import needed.
9088

9189
**Protected branches**: Use `bd init --branch beads-metadata` to commit to separate branch. See [docs/PROTECTED_BRANCHES.md](docs/PROTECTED_BRANCHES.md).
9290

9391
**Git worktrees**: Work directly with Dolt — no special flags needed. See [docs/ADVANCED.md](docs/ADVANCED.md).
9492

95-
**Merge conflicts**: Rare with hash IDs. If conflicts occur in JSONL, use `git checkout --theirs .beads/issues.jsonl` and `bd import`. Dolt uses cell-level 3-way merge for better conflict resolution.
93+
**Merge conflicts**: Rare with hash IDs. Dolt uses cell-level 3-way merge for conflict resolution.
9694

9795
## Landing the Plane
9896

@@ -111,11 +109,6 @@ This ensures JSONL is exported on commit and imported after pull/merge.
111109
# Pull first to catch any remote changes
112110
git pull --rebase
113111

114-
# If conflicts in .beads/issues.jsonl, resolve thoughtfully:
115-
# - git checkout --theirs .beads/issues.jsonl (accept remote)
116-
# - bd import -i .beads/issues.jsonl (re-import)
117-
# - Or manual merge, then import
118-
119112
# MANDATORY: Push everything to remote
120113
# DO NOT STOP BEFORE THIS COMMAND COMPLETES
121114
git push
@@ -158,10 +151,6 @@ bd close bd-42 bd-43 --reason "Completed" --json
158151

159152
# 4. PUSH TO REMOTE - MANDATORY, NO STOPPING BEFORE THIS IS DONE
160153
git pull --rebase
161-
# If conflicts in .beads/issues.jsonl, resolve thoughtfully:
162-
# - git checkout --theirs .beads/issues.jsonl (accept remote)
163-
# - bd import -i .beads/issues.jsonl (re-import)
164-
# - Or manual merge, then import
165154
git push # MANDATORY - THE PLANE IS STILL IN THE AIR UNTIL THIS SUCCEEDS
166155
git status # MUST verify "up to date with origin/main"
167156

@@ -215,8 +204,8 @@ bd dolt push
215204

216205
This installs:
217206

218-
- **pre-commit**Exports Dolt changes to JSONL and stages it
219-
- **post-merge**Imports pulled JSONL changes into Dolt
207+
- **pre-commit**Commits pending Dolt changes
208+
- **post-merge**Pulls remote Dolt changes after git merge
220209

221210
**Note:** Hooks are embedded in the bd binary and work for all bd users (not just source repo users).
222211

@@ -398,6 +387,6 @@ gh issue view 201
398387

399388
- **README.md** - Main documentation (keep this updated!)
400389
- **EXTENDING.md** - Database extension guide
401-
- **ADVANCED.md** - JSONL format analysis
390+
- **ADVANCED.md** - Advanced features (rename, merge, compaction)
402391
- **CONTRIBUTING.md** - Contribution guidelines
403392
- **SECURITY.md** - Security policy

BENCHMARKS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Tests on graphs with different topologies (linear chains, trees, dense graphs):
3636
### Ready Work / Filtering
3737
- **BenchmarkGetReadyWork_Large** - Filter unblocked issues (10K dataset)
3838
- **BenchmarkGetReadyWork_XLarge** - Filter unblocked issues (20K dataset)
39-
- **BenchmarkGetReadyWork_FromJSONL** - Ready work on JSONL-imported database
39+
- **BenchmarkGetReadyWork_FromJSONL** - Ready work on imported database
4040

4141
### Search Operations
4242
- **BenchmarkSearchIssues_Large_NoFilter** - Search all open issues (10K dataset)
@@ -71,7 +71,7 @@ Tests on graphs with different topologies (linear chains, trees, dense graphs):
7171
Benchmark datasets are cached in `/tmp/beads-bench-cache/`:
7272
- `large.db` - 10,000 issues (16.6 MB)
7373
- `xlarge.db` - 20,000 issues (generated on demand)
74-
- `large-jsonl.db` - 10K issues via JSONL import
74+
7575

7676
Cached databases are reused across runs. To regenerate:
7777
```bash

0 commit comments

Comments
 (0)