From 7abb870a575faba53746641e88c5eca11b54f712 Mon Sep 17 00:00:00 2001 From: Steve Yegge Date: Mon, 24 Nov 2025 01:17:34 -0800 Subject: [PATCH] bd sync: 2025-11-24 01:17:34 --- .beads/beads.jsonl | 1 + cmd/bd/prime.go | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/.beads/beads.jsonl b/.beads/beads.jsonl index 8a27cf62..e81daae0 100644 --- a/.beads/beads.jsonl +++ b/.beads/beads.jsonl @@ -53,6 +53,7 @@ {"id":"bd-m7ge","content_hash":"bb08f2bcbbdd2e392733d92bff2e46a51000337ac019d306dd6a2983916873c4","title":"Add .beads/README.md during 'bd init' for project documentation and promotion","description":"When 'bd init' is run, automatically generate a .beads/README.md file that:\n\n1. Briefly explains what Beads is (AI-native issue tracking that lives in your repo)\n2. Links to the main repository: https://github.com/steveyegge/beads\n3. Provides a quick reference of essential commands:\n - bd create: Create new issues\n - bd list: View all issues\n - bd update: Modify issue status/details\n - bd show: View issue details\n - bd sync: Sync with git remote\n4. Highlights key benefits for AI coding agents and developers\n5. Encourages developers to try it out\n\nThe README should be enthusiastic and compelling to get open source contributors excited about using Beads for their AI-assisted development workflows.","status":"open","priority":2,"issue_type":"feature","created_at":"2025-11-16T22:32:50.478681-08:00","updated_at":"2025-11-16T22:32:58.492868-08:00","source_repo":"."} {"id":"bd-mnap","content_hash":"c15d3c631656fe6d21291f127fc545af93e712b5f3f94cce028513fb743a4fdb","title":"Investigate performance issues in VS Code Copilot (Windows)","description":"Beads unusable in Windows 11 VS Code Copilot chat with Sonnet 4.5.\nSummary event happens every 3-4 turns, taking 3 minutes.\nCopilot summarizes after ~125k tokens despite model supporting 1M.\nLarge context size of beads might be triggering aggressive summarization.\nNeed workaround or optimization for context size.\n","status":"open","priority":2,"issue_type":"task","created_at":"2025-11-20T18:56:30.124918-05:00","updated_at":"2025-11-20T18:56:30.124918-05:00","source_repo":"."} {"id":"bd-nq41","content_hash":"33f9cfe6a0ef5200dcd5016317b43b1568ff9dc7303537d956bdab02029f6c63","title":"Fix Homebrew warning about Ruby file location","description":"Homebrew warning: Found Ruby file outside steveyegge/beads tap formula directory.\nWarning points to: /opt/homebrew/Library/Taps/steveyegge/homebrew-beads/bd.rb\nIt should likely be inside a Formula/ directory or similar structure expected by Homebrew taps.\n","status":"open","priority":2,"issue_type":"chore","created_at":"2025-11-20T18:56:21.226579-05:00","updated_at":"2025-11-20T18:56:21.226579-05:00","source_repo":"."} +{"id":"bd-oai","content_hash":"238f7c3aa75c2ee11cd2dd9e2601e5ce23b1cfb439db044df6b40397126254a3","title":"Redesign session close protocol to be impossible to miss","description":"The current 'land the plane' protocol is failing repeatedly because:\n1. 'Land the plane' is vague and doesn't trigger specific training patterns\n2. Protocol instructions are buried in bd prime output\n3. No prominent checklist format\n4. Competes with strong 'summarize and finish' training patterns\n\nNeed to:\n- Rename to something concrete (Ship Protocol, Push Checklist, Close Session)\n- Put at TOP of bd prime output with 🚨 markers\n- Format as explicit checklist with [ ] boxes\n- Make it impossible to skip or miss\n- Test with actual usage to verify it works\n\nThe protocol MUST be:\n[ ] 1. git status\n[ ] 2. git add \u003cfiles\u003e\n[ ] 3. bd sync\n[ ] 4. git commit\n[ ] 5. bd sync (if needed)\n[ ] 6. git push\n\nThis is critical infrastructure - without it, work doesn't land.","status":"closed","priority":1,"issue_type":"task","created_at":"2025-11-24T01:16:15.646213-08:00","updated_at":"2025-11-24T01:17:20.879091-08:00","closed_at":"2025-11-24T01:17:20.879091-08:00","source_repo":"."} {"id":"bd-ola6","content_hash":"79461888e8a7875bf3623b8db44ea004f73a2374daa52ae9cb3fc9d3ce5e6a8b","title":"Implement transaction retry logic for SQLITE_BUSY","description":"BEGIN IMMEDIATE fails immediately on SQLITE_BUSY instead of retrying with exponential backoff.\n\nLocation: internal/storage/sqlite/sqlite.go:223-225\n\nProblem:\n- Under concurrent write load, BEGIN IMMEDIATE can fail with SQLITE_BUSY\n- Current implementation fails immediately instead of retrying\n- Results in spurious failures under normal concurrent usage\n\nSolution: Implement exponential backoff retry:\n- Retry up to N times (e.g., 5)\n- Backoff: 10ms, 20ms, 40ms, 80ms, 160ms\n- Check for context cancellation between retries\n- Only retry on SQLITE_BUSY/database locked errors\n\nImpact: Spurious failures under concurrent write load\n\nEffort: 3 hours","status":"open","priority":1,"issue_type":"feature","created_at":"2025-11-16T14:51:31.247147-08:00","updated_at":"2025-11-16T14:51:31.247147-08:00","source_repo":"."} {"id":"bd-p6vp","content_hash":"1df6d3b9b438cdcdbc618c24fea48769c1f22e8a8701af4e742531d4433ca7ea","title":"Clarify .beads/.gitattributes handling in Protected Branches docs","description":"Protected Branches docs quick start leaves untracked `.beads` directory and `.gitattributes`.\nQuestion: Are these changes meant to be checked into the protected branch?\nNeed to clarify if these should be ignored or committed, or if the instructions are missing a step.\n","status":"open","priority":2,"issue_type":"task","created_at":"2025-11-20T18:56:25.79407-05:00","updated_at":"2025-11-20T18:56:25.79407-05:00","source_repo":"."} {"id":"bd-pp3","content_hash":"812488cb18460a1e3974e8ddacc9a7494a2f495863b82551983362f86011e1f3","title":"Add metadata distinction guidelines to ERROR_HANDLING.md","description":"Update ERROR_HANDLING.md with clear guidelines distinguishing configuration metadata (Pattern A) from tracking metadata (Pattern B). Include examples from init.go and sync.go.","status":"closed","priority":3,"issue_type":"task","created_at":"2025-11-24T00:28:54.559851-08:00","updated_at":"2025-11-24T00:34:13.980602-08:00","closed_at":"2025-11-24T00:34:13.980602-08:00","source_repo":".","dependencies":[{"issue_id":"bd-pp3","depends_on_id":"bd-1qwo","type":"blocks","created_at":"2025-11-24T00:28:54.560699-08:00","created_by":"daemon"}]} diff --git a/cmd/bd/prime.go b/cmd/bd/prime.go index 2491fa16..d13788df 100644 --- a/cmd/bd/prime.go +++ b/cmd/bd/prime.go @@ -114,6 +114,10 @@ func outputPrimeContext(mcpMode bool) error { func outputMCPContext() error { context := `# Beads Issue Tracker Active +# 🚨 SESSION CLOSE PROTOCOL 🚨 + +Before saying "done": git status → git add → bd sync → git commit → bd sync → git push + ## Core Rules - Track ALL work in beads (no TodoWrite tool, no markdown TODOs) - Use bd MCP tools (mcp__plugin_beads_beads__*), not TodoWrite or markdown @@ -131,6 +135,21 @@ func outputCLIContext() error { > **Context Recovery**: Run ` + "`bd prime`" + ` after compaction, clear, or new session > Hooks auto-call this in Claude Code when .beads/ detected +# 🚨 SESSION CLOSE PROTOCOL 🚨 + +**CRITICAL**: Before saying "done" or "complete", you MUST run this checklist: + +` + "```" + ` +[ ] 1. git status (check what changed) +[ ] 2. git add (stage code changes) +[ ] 3. bd sync (commit beads changes) +[ ] 4. git commit -m "..." (commit code) +[ ] 5. bd sync (commit any new beads changes) +[ ] 6. git push (push to remote) +` + "```" + ` + +**NEVER skip this.** Work is not done until pushed. + ## Core Rules - Track ALL work in beads (no TodoWrite tool, no markdown TODOs) - Use ` + "`bd create`" + ` to create issues, not TodoWrite tool