Files
beads/.agent/workflows/resolve-beads-conflict.md
Steve Yegge 5d71ca6356 fix: improve JSONL-only mode detection and error messages (GH #534)
- Add JSONL-only mode detection in ensureStoreActive() with context-aware
  error messages that suggest correct actions based on project state
- Improve error messages in main.go to detect JSONL presence and suggest
  appropriate solutions (bd init, --no-db flag, or config.yaml setting)
- Update documentation to use issues.jsonl as canonical filename:
  - AGENT_INSTRUCTIONS.md, README.md, resolve-beads-conflict.md
  - docs/GIT_INTEGRATION.md
- Update hook template comments to clarify issues.jsonl is canonical
  while maintaining backward compatibility for beads.jsonl

Fixes #534

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-13 12:50:33 -08:00

1.8 KiB

description
description
How to resolve merge conflicts in .beads/issues.jsonl

Resolving issues.jsonl Merge Conflicts

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.

1. Identify the Conflict

Check if issues.jsonl is in conflict:

git status

2. Extract the 3 Versions

Git stores three versions of conflicted files in its index:

  1. Base (common ancestor)
  2. Ours (current branch)
  3. Theirs (incoming branch)

Extract them to temporary files:

git show :1:.beads/issues.jsonl > beads.base.jsonl
git show :2:.beads/issues.jsonl > beads.ours.jsonl
git show :3:.beads/issues.jsonl > beads.theirs.jsonl

3. Run bd merge Manually

Run the bd merge tool manually with the --debug flag to see what's happening. Syntax: bd merge <output> <base> <ours> <theirs>

bd merge beads.merged.jsonl beads.base.jsonl beads.ours.jsonl beads.theirs.jsonl --debug

4. Verify the Result

Check the output of the command.

  • Exit Code 0: Success. beads.merged.jsonl contains the clean merge.
  • Exit Code 1: Conflicts remain. beads.merged.jsonl will contain conflict markers. You must edit it manually to resolve them.

Optionally, verify the content (e.g., check for missing IDs if you suspect data loss).

5. Apply the Merge

Overwrite the conflicted file with the resolved version:

cp beads.merged.jsonl .beads/issues.jsonl

6. Cleanup and Continue

Stage the resolved file and continue the merge:

git add .beads/issues.jsonl
git merge --continue

7. Cleanup Temporary Files

rm beads.base.jsonl beads.ours.jsonl beads.theirs.jsonl beads.merged.jsonl