v0.1.18
What’s Changed
Fixes
-
YAML duplicate key handling after merge conflicts:
ids.ymlfiles that end up
with duplicate keys after git merge conflict resolution (e.g., both sides of a merge
keeping the same entries) no longer crash with “Map keys must be unique”.
tbd now detects duplicate keys, warns about them, and auto-resolves on the next save.
tbd doctorreports duplicate keys andtbd doctor --fixcleans them up. -
Sync debug log showed wrong branch commits:
tbd sync --debugwas resolving
HEADagainst the user’s working branch instead of thetbd-syncbranch, causing the
“Commits sent” and “Commits received” debug output to show commits from the wrong
branch. Now uses explicit branch references. -
Beads import priority mapping:
tbd import --beadsnow correctly handles priority
values in all formats (numeric0-4, string"P0"-"P4", or missing) instead of
only accepting integers.
Previously, string-format priorities from Beads would silently default to P2. -
EPIPE handling when quitting pager: Pressing
qin the pager (e.g.,less) while
viewing long output no longer prints unhandled EPIPE errors.
Both stdout and stderr EPIPE signals are now caught gracefully. -
Improved error messages and cause chains: Error messages from
tbd saveand
tbd importnow include the underlying cause (e.g., the actual filesystem or git
error) instead of a generic wrapper message.
Debug mode (--debug) shows the full cause chain for easier troubleshooting.
Improvements
-
Workspace save/import progress logging:
tbd saveandtbd import --workspace
now show progress via spinner updates during long operations, with detailed logging
available via--verboseand--debugflags.
NewOperationLoggerinterface enables core logic to report progress without
depending on the CLI output layer. -
Test stability: Fixed flaky
setup-hookstests with aglobalSetupbuild step
and increased timeouts.
Fixed non-deterministiccli-id-formattest.
Removed fragilenode -eJSON-parsing pattern from all 18 tryscript golden tests in
favor of direct CLI assertions.
Added explicit timeouts to test files that spawn subprocesses.
Added new golden tests for sync debug output, verbose logging, and duplicate key
detection.
Documentation
-
External docs repos spec: Finalized the design for prefix-based external
documentation repositories and skills.sh integration. -
Skill file restructuring: Renamed
skill.mdtoskill-baseline.mdand added
skill-minimal.mdfor lighter-weight agent skill integration.
Full commit history: v0.1.17...v0.1.18