Commit Graph

12 Commits

Author SHA1 Message Date
beads/crew/emma
ba3a725299 fix(formula): add dev build handling to local-install step
The local-install step now includes instructions for developers who
build bd from source. This ensures all bd binaries in PATH are updated,
not just the release binary downloaded by the install script.

Executed-By: beads/crew/emma
Rig: beads
Role: crew
2026-01-25 21:33:59 -08:00
emma
78e1d6f229 chore: revert accidental .beads/ changes from #1231
The autoimport fix PR accidentally included local beads data changes.
This reverts the data files while keeping the code fixes.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 21:51:07 -08:00
matt wilkie
1f8a6bf84e fix(autoimport): auto-correct deleted status to tombstone for JSONL compatibility (#1231)
* fix(autoimport): auto-correct deleted status to tombstone for JSONL compatibility (GH#1223)

This fix addresses the 'Stuck in sync diversion loop' issue where v0.48.0
encountered validation errors during JSONL import. The issue occurs when
JSONL files from older versions have issues with status='deleted' but the
current code expects status='tombstone' for deleted issues.

Changes:
- Add migration logic in parseJSONL to auto-correct 'deleted' status to 'tombstone'
- Ensure tombstones always have deleted_at timestamp set
- Add debug logging for both migration operations
- Prevents users from being stuck in sync divergence when upgrading

Fixes GH#1223: Stuck in sync diversion loop

* fix(autoimport): comprehensively fix corrupted deleted_at on non-tombstone issues (GH#1223)

The initial fix for GH#1223 only caught issues with status='deleted', but the real
data in the wild had issues with status='closed' (or other statuses) but also
had deleted_at set, which violates the validation rule.

Changes:
- Add broader migration logic: any non-tombstone issue with deleted_at should become tombstone
- Apply fix in all three JSONL parsing locations:
  - internal/autoimport/autoimport.go (parseJSONL for auto-import)
  - cmd/bd/import.go (import command)
  - cmd/bd/daemon_sync.go (daemon sync helper)
- Add comprehensive test case for corrupted closed issues with deleted_at
- Fixes the 'non-tombstone issues cannot have deleted_at timestamp' validation error
  during fresh bd init or import

Fixes GH#1223: Stuck in sync diversion loop

* Add merge driver comment to .gitattributes

* fix: properly clean up .gitattributes during bd admin reset

Fixes GH#1223 - Stuck in sync diversion loop

The removeGitattributesEntry() function was not properly cleaning up
beads-related entries from .gitattributes. It only removed lines
containing "merge=beads" but left behind:
- The comment line "# Use bd merge for beads JSONL files"
- Empty lines following removed entries

This caused .gitattributes to remain in a modified state after
bd admin reset --force, triggering sync divergence warning loop.

The fix now:
- Skips lines containing "merge=beads" (existing behavior)
- Skips beads-related comment lines
- Skips empty lines that follow removed beads entries
- Properly cleans up file so it's either empty (and gets deleted)
  or contains only non-beads content

---------

Co-authored-by: Amp <amp@example.com>
2026-01-21 21:50:38 -08:00
Graeme Foster
68403ae631 fix(release): add Nix package steps to release molecule (#1108)
* fix(release): add Nix package steps to release molecule

Add missing Nix support to the release workflow:
- bump-default-nix: Updates version in default.nix
- update-vendorhash: Prompts to update vendorHash if go.mod changed
- Add default.nix to verify-versions check

This was lost when bump-version.sh was replaced with the molecule
workflow in 39dbe90a. The original Nix support from c802f27f included
vendorHash detection in bump-version.sh, but that logic was not
migrated to the new workflow.

Fixes #1107

* fix(nix): update vendorHash for current go.mod
2026-01-15 19:20:51 -08:00
beads/crew/giles
355ce7345a feat(formula): improve beads-release with v0.47.0 learnings
Add preflight checks to prevent common release issues:
- preflight-worktree: Verify git context for worktree setups
- Enhanced preflight-git: Auto-stash guidance for non-release files
- Enhanced preflight-pull: Branch sync verification with recovery steps
- detect-half-done-release: Catch version mismatches upfront
- verify-changelog-complete: Ensure CHANGELOG covers all commits

Fixes: bd-beiz7

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 18:44:29 -08:00
dave
e96dd023ce refactor(formula): break run-bump-script into individual version-update steps (bd-a854)
Replace the monolithic run-bump-script step with 7 individual steps:
- bump-version-go: Update cmd/bd/version.go
- bump-plugin-json: Update .claude-plugin/*.json
- bump-mcp-python: Update pyproject.toml and __init__.py
- bump-npm-package: Update npm-package/package.json
- bump-hook-templates: Update cmd/bd/templates/hooks/*
- bump-readme: Update README.md badge
- stamp-changelog: Add date to [Unreleased] section

Benefits:
- Durability: If interrupted mid-release, can resume from specific step
- Visibility: Activity feed shows progress through each sub-operation
- Atomicity: Each step has clear verify commands

Also removed outdated JSON formula file (TOML is authoritative).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

Executed-By: beads/crew/dave
Rig: beads
Role: crew
2026-01-07 21:37:19 -08:00
beads/crew/emma
81a2af9598 Revert "fix(formula): add dev path to local-install and clarify bump-version.sh (bd-z8xz)"
This reverts commit fd3e78461231301193c08f960b73e8d0ec1d531a.
2026-01-07 00:46:48 -08:00
beads/crew/emma
b391a96465 fix(formula): add dev path to local-install and clarify bump-version.sh (bd-z8xz)
- Add Option 3 to local-install step: build from source with macOS codesigning
- Clarify run-bump-script step: bump-version.sh is the authority for release mechanics
- Document --all flag includes --install --mcp-local --restart-daemons
- Add reference to ./scripts/bump-version.sh --help
2026-01-07 00:46:48 -08:00
emma
7db052a48e fix(formula): add phase=vapor to beads-release (gt-mjsjv)
Prevents accidental 'bd pour' from creating persistent issues.
Vapor formulas should only run via 'gt sling --formula' or 'bd mol wisp'.
2026-01-05 00:03:57 -08:00
opal
e2931317c0 feat(formula): add gate-aware beads-release.formula v2 (bd-r24e)
Rewrite the beads release formula with gate syntax for async waits:

- Phase 1 (Prep & Push): preflight through push-tag
- Gate: await-ci step with gh:run gate on release.yml
- Phase 2 (Verify): parallel verify-github, verify-npm, verify-pypi
- Phase 3 (Install): fan-in at local-install, then daemons restart

Key improvements:
- Polecat does not sit idle during CI (5-10 min wait)
- Clean phase handoff via gt done --phase-complete
- Refinery auto-discovers and closes gate when CI completes
- Parallel verification runs concurrently after gate

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 16:53:38 -08:00
Steve Yegge
53921d75c8 chore: Move beads-release formula to gastown
Formulas are Gas Town orchestration workflows, not beads primitives.
The release workflow now lives in gastown/mayor/rig/.beads/formulas/

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 23:47:32 -08:00
Steve Yegge
3b0630ba0e chore(formula): Convert beads-release to TOML format
Align with Gas Town formula format change from JSON to TOML.
Same content, cleaner syntax.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 23:31:32 -08:00