get-tbd 0.1.21 → 0.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -34,10 +34,10 @@ src/myproject/
34
34
  ### Agent & CI Compatibility
35
35
 
36
36
  Support automation with explicit flags:
37
- - `--non-interactive`: Disable prompts, fail if input required
38
- - `--yes` / `-y`: Assume yes to confirmations
39
37
  - `--format text|json|jsonl`: Output format
40
38
  - `--no-progress`: Disable spinners (critical for AI agents)
39
+ - `--non-interactive`: Disable prompts (only if the CLI has interactive prompts)
40
+ - `--yes` / `-y`: Assume yes to confirmations (only if the CLI has confirmations)
41
41
 
42
42
  Respect environment variables:
43
43
  - `CI`: Set by GitHub Actions, GitLab CI, etc.
@@ -91,6 +91,33 @@ auto-saving, since the issue is likely temporary.
91
91
  using field-level LWW and the trivial changes will be harmless
92
92
  3. Run `tbd sync` to clear the outbox
93
93
 
94
+ ### Missing ID Mappings After Branch Merge
95
+
96
+ **Symptoms:**
97
+ - `tbd list` crashes with “No short ID mapping found for internal ID: is-...”
98
+ - `tbd doctor` reports missing ID mappings
99
+ - Happened after merging a feature branch into main
100
+
101
+ **Causes:**
102
+ - Git 3-way merge can delete `.tbd/workspaces/outbox/mappings/ids.yml` when merging a
103
+ feature branch back to main, because main has no outbox directory and the merge treats
104
+ “no file” as the correct state
105
+ - This causes issues to exist without corresponding short ID mappings
106
+ - See [#99](https://github.com/jlevy/tbd/issues/99) for full details
107
+
108
+ **Prevention (v0.1.22+):**
109
+ - `tbd setup` creates `.tbd/.gitattributes` with `merge=union` for all `ids.yml` files,
110
+ which prevents git from ever deleting rows during merge
111
+ - The sync code includes `reconcileMappings()` which detects and repairs missing
112
+ mappings after merge, recovering original short IDs from git history when possible
113
+
114
+ **If you encounter this:**
115
+ 1. Run `tbd doctor --fix` to detect and repair missing mappings
116
+ 2. The fix will attempt to recover original short IDs from git history
117
+ 3. If history is unavailable, new short IDs are generated
118
+ 4. Run `tbd setup --auto` to ensure `.tbd/.gitattributes` is in place for future
119
+ prevention
120
+
94
121
  ## Workspace Issues
95
122
 
96
123
  ### Don’t gitignore .tbd/workspaces/