bd daemon sync: 2026-01-11 06:51:23
This commit is contained in:
committed by
Steve Yegge
parent
ed0ab08c84
commit
5f379b5b34
@@ -1157,6 +1157,7 @@
|
||||
{"id":"bd-guc","title":"bd sync should not stage gitignored snapshot files","description":"## Problem\n\n`gitCommitBeadsDir` in `cmd/bd/sync.go` runs `git add .beads/` which stages all files in the directory, including snapshot files that are listed in `.beads/.gitignore`.\n\nIf a snapshot file (e.g., `beads.left.meta.json`) was ever committed before being added to `.gitignore`, git continues to track it. This causes merge conflicts when multiple polecats run `bd sync` concurrently, since each one modifies and commits these temporary files.\n\n## Root Cause\n\nLine ~568 in sync.go:\n```go\naddCmd := exec.CommandContext(ctx, \"git\", \"add\", beadsDir)\n```\n\nThis stages everything in `.beads/`, but `.gitignore` only prevents *untracked* files from being added - it doesn't affect already-tracked files.\n\n## Suggested Fix\n\nOption A: After `git add .beads/`, run `git reset` on snapshot files:\n```go\nexec.Command(\"git\", \"reset\", \"HEAD\", \".beads/beads.*.jsonl\", \".beads/*.meta.json\")\n```\n\nOption B: Stage only specific files instead of the whole directory:\n```go\nexec.Command(\"git\", \"add\", \".beads/issues.jsonl\", \".beads/deletions.jsonl\", \".beads/metadata.json\")\n```\n\nOption C: Detect and untrack snapshot files if they're tracked:\n```go\n// Check if file is tracked: git ls-files --error-unmatch \u003cfile\u003e\n// If tracked, run: git rm --cached \u003cfile\u003e\n```\n\nOption B is probably cleanest - explicitly add only the files that should be committed.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-11-27T20:47:14.603799-08:00","updated_at":"2025-11-28T17:28:55.54563-08:00","closed_at":"2025-11-27T22:34:23.336713-08:00"}
|
||||
{"id":"bd-gwwr1","title":"Session ended: gt-beads-crew-emma","status":"closed","priority":2,"issue_type":"event","created_at":"2026-01-09T00:26:09.860235-08:00","created_by":"beads/crew/emma","updated_at":"2026-01-09T00:26:09.896478-08:00","closed_at":"2026-01-09T00:26:09.896478-08:00","close_reason":"auto-closed session event"}
|
||||
{"id":"bd-gxaf","title":"BUG: gt rig shutdown doesn't kill tmux sessions","description":"## Problem\n\n`gt rig shutdown wyvern` updates runtime JSON to `state: stopped` but does NOT kill the tmux sessions (`gt-wyvern-witness`, `gt-wyvern-refinery`).\n\nSince `gt rig status` checks for tmux sessions (correctly), it shows them as running.\n\n## Evidence\n\nAfter `gt rig shutdown wyvern`:\n- Runtime JSON: `state: stopped` ✓\n- tmux sessions: still exist ✗\n\n## Impact\n\n- Rig appears running after shutdown\n- tmux status shows green icon for 'stopped' rigs\n- User confusion\n\n## Root Cause\n\n`gt rig shutdown` in internal/cmd/rig.go updates runtime state but doesn't call `tmux kill-session` for witness/refinery.\n\n## Fix\n\nIn shutdown logic, after setting state to stopped, kill:\n- `gt-{rig}-witness` session\n- `gt-{rig}-refinery` session","status":"closed","priority":2,"issue_type":"bug","created_at":"2026-01-06T13:07:49.503732-08:00","created_by":"mayor","updated_at":"2026-01-06T13:17:46.264981-08:00","closed_at":"2026-01-06T13:17:46.264981-08:00","close_reason":"Fixed: Added tmux kill-session to witness.Manager.Stop() matching refinery's implementation"}
|
||||
{"id":"bd-gxawn","title":"Session ended: gt-beads-refinery","status":"closed","priority":2,"issue_type":"event","owner":"steve.yegge@gmail.com","created_at":"2026-01-11T06:51:22.913105-08:00","created_by":"beads/refinery","updated_at":"2026-01-11T06:51:22.972772-08:00","closed_at":"2026-01-11T06:51:22.972772-08:00","close_reason":"auto-closed session cost wisp","ephemeral":true}
|
||||
{"id":"bd-gxb4","title":"gt done --phase-complete: gastown changes for phase handoff","description":"The gt done --phase-complete flag and Witness handling changes need to be\napplied to the gastown project. These changes are already written and tested\nin the mayor/rig but need to be properly committed through a gastown worktree.\n\nFiles changed:\n- internal/cmd/done.go: Add --phase-complete and --gate flags\n- internal/beads/beads.go: Add AddGateWaiter method\n- internal/witness/protocol.go: Add Gate field to PolecatDonePayload\n- internal/witness/handlers.go: Handle PHASE_COMPLETE exit type\n\nThis is a dependency for bd-quw1 (polecat phase handoff).\n\nThe beads changes (bd gate add-waiter, bd gate show) are committed in bd-quw1.","status":"closed","priority":1,"issue_type":"task","assignee":"gastown/polecats/nux","created_at":"2026-01-02T16:36:47.633276-08:00","created_by":"beads/polecats/jasper","updated_at":"2026-01-02T16:41:46.202082-08:00","closed_at":"2026-01-02T16:41:46.202082-08:00","close_reason":"Committed phase-complete flag changes to gastown"}
|
||||
{"id":"bd-gxq","title":"Simplify bd onboard to minimal AGENTS.md snippet pointing to bd prime","description":"## Context\nGH#604 raised concerns about bd onboard bloating AGENTS.md with ~100+ lines of static instructions that:\n- Load every session whether beads is being used or not\n- Get stale when bd upgrades\n- Waste tokens\n\n## Solution\nSimplify `bd onboard` to output a minimal snippet (~2 lines) that points to `bd prime`:\n\n```markdown\n## Issue Tracking\nThis project uses beads (`bd`) for issue tracking.\nRun `bd prime` for workflow context, or hooks auto-inject it.\n```\n\n## Rationale\n- `bd prime` is dynamic, concise (~80 lines), and always matches installed bd version\n- Hooks already auto-inject `bd prime` at session start when .beads/ detected\n- AGENTS.md only needs to mention beads exists, not contain full instructions\n\n## Implementation\n1. Update `cmd/bd/onboard.go` to output minimal snippet\n2. Keep `--output` flag for BD_GUIDE.md generation (may still be useful)\n3. Update help text to explain the new approach","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-18T11:42:38.604891-08:00","updated_at":"2025-12-18T11:47:28.020419-08:00","closed_at":"2025-12-18T11:47:28.020419-08:00"}
|
||||
{"id":"bd-gz0x","title":"Fix daemon exiting after 5s on macOS due to PID 1 parent monitoring","description":"GitHub issue #278 reports that the daemon exits after \u003c=5 seconds on macOS because it incorrectly treats PID 1 (launchd) as a dead parent.\n\nWhen the daemon detaches on macOS, it gets reparented to PID 1 (launchd), which is the init process. The checkParentProcessAlive function was incorrectly treating PID 1 as a sign that the parent died.\n\nFixed by changing the logic to treat PID 1 as a valid parent for detached daemons.","status":"closed","priority":1,"issue_type":"bug","created_at":"2025-11-09T16:15:34.606508-08:00","updated_at":"2025-11-09T16:15:37.46914-08:00","closed_at":"2025-11-09T16:15:37.46914-08:00"}
|
||||
|
||||
Reference in New Issue
Block a user