bd sync: 2025-12-30 16:45:58
This commit is contained in:
@@ -50,6 +50,7 @@
|
||||
{"id":"bd-2ep8","title":"Update CHANGELOG.md with release notes","description":"Add meaningful release notes to CHANGELOG.md describing what changed in 0.30.7","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-19T22:56:48.649053-08:00","updated_at":"2025-12-19T22:57:31.69559-08:00","closed_at":"2025-12-19T22:57:31.69559-08:00","dependencies":[{"issue_id":"bd-2ep8","depends_on_id":"bd-8pyn","type":"parent-child","created_at":"2025-12-19T22:56:48.650816-08:00","created_by":"stevey"},{"issue_id":"bd-2ep8","depends_on_id":"bd-rupw","type":"blocks","created_at":"2025-12-19T22:56:48.651136-08:00","created_by":"stevey"}]}
|
||||
{"id":"bd-2fs7","title":"Move pour/ephemeral under bd mol subcommand","description":"For consistency, bd pour and bd ephemeral should become bd mol pour and bd mol ephemeral:\n\nCurrent:\n bd mol list # Available protos\n bd mol show \u003cid\u003e # Proto details\n bd pour \u003cproto\u003e # Create mol ← sticks out\n bd ephemeral \u003cproto\u003e # Create ephemeral ← sticks out \n bd mol bond \u003cproto\u003e \u003cparent\u003e # Attach to existing mol\n bd mol squash \u003cid\u003e # Condense to digest\n bd mol burn \u003cid\u003e # Discard\n\nProposed:\n bd mol list\n bd mol show \u003cid\u003e\n bd mol pour \u003cproto\u003e # Moved under mol\n bd mol ephemeral \u003cproto\u003e # Moved under mol\n bd mol bond \u003cproto\u003e \u003cparent\u003e\n bd mol squash \u003cid\u003e\n bd mol burn \u003cid\u003e\n\nAll molecule operations should be under bd mol for discoverability and consistency.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-26T23:36:23.945902-08:00","created_by":"stevey","updated_at":"2025-12-26T23:41:01.096333-08:00","closed_at":"2025-12-26T23:41:01.096333-08:00"}
|
||||
{"id":"bd-2l03","title":"Implement await type handlers (gh:run, gh:pr, timer, human, mail)","description":"Implement condition checking for each await type.\n\n## Handlers Needed\n- gh:run:\u003cid\u003e - Check GitHub Actions run status via gh CLI\n- gh:pr:\u003cid\u003e - Check PR merged/closed status via gh CLI \n- timer:\u003cduration\u003e - Simple elapsed time check\n- human:\u003cprompt\u003e - Check for human approval (via mail?)\n- mail:\u003cpattern\u003e - Check for mail matching pattern\n\n## Implementation Location\nThis is Deacon logic, so likely in Gas Town (gt) not beads.\n\n## Interface\n```go\ntype AwaitHandler interface {\n Check(awaitID string) (completed bool, result string, err error)\n}\n```","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-23T11:44:38.492837-08:00","updated_at":"2025-12-23T12:19:44.283318-08:00","closed_at":"2025-12-23T12:19:44.283318-08:00","dependencies":[{"issue_id":"bd-2l03","depends_on_id":"bd-udsi","type":"parent-child","created_at":"2025-12-23T11:44:52.990746-08:00","created_by":"daemon"},{"issue_id":"bd-2l03","depends_on_id":"bd-is6m","type":"blocks","created_at":"2025-12-23T11:44:56.510792-08:00","created_by":"daemon"}]}
|
||||
{"id":"bd-2lkh","title":"Merge: obsidian-1767138468820","description":"branch: polecat/obsidian-1767138468820\ntarget: main\nsource_issue: obsidian-1767138468820\nrig: beads","status":"open","priority":2,"issue_type":"merge-request","created_at":"2025-12-30T16:14:15.963227-08:00","created_by":"beads/polecats/obsidian","updated_at":"2025-12-30T16:14:15.963227-08:00"}
|
||||
{"id":"bd-2nl","title":"Refinery Patrol","description":"Merge queue processor patrol loop with verification gates.","status":"tombstone","priority":2,"issue_type":"molecule","created_at":"2025-12-26T21:20:47.681814-08:00","created_by":"deacon","updated_at":"2025-12-27T00:10:54.17463-08:00","deleted_at":"2025-12-27T00:10:54.17463-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"molecule"}
|
||||
{"id":"bd-2oo","title":"Edge Schema Consolidation: Unify all edges in dependencies table","description":"Consolidate all edge types into the dependency table per decision 004.\n\n## Changes\n- Add metadata column to dependencies table\n- Add thread_id column for conversation grouping\n- Remove redundant Issue fields: replies_to, relates_to, duplicate_of, superseded_by\n- Update all code to use dependencies API\n- Migration script for existing data\n- JSONL format change (breaking)\n\nReference: ~/gt/hop/decisions/004-edge-schema-consolidation.md","status":"closed","priority":0,"issue_type":"epic","created_at":"2025-12-18T02:01:48.785558-08:00","updated_at":"2025-12-18T02:49:10.61237-08:00","closed_at":"2025-12-18T02:49:10.61237-08:00"}
|
||||
{"id":"bd-2oo.1","title":"Add metadata and thread_id columns to dependencies table","description":"Schema changes:\n- ALTER TABLE dependencies ADD COLUMN metadata TEXT DEFAULT '{}'\n- ALTER TABLE dependencies ADD COLUMN thread_id TEXT DEFAULT ''\n- CREATE INDEX idx_dependencies_thread ON dependencies(thread_id) WHERE thread_id != ''","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-18T02:02:00.468223-08:00","updated_at":"2025-12-18T02:49:10.575133-08:00","closed_at":"2025-12-18T02:49:10.575133-08:00","dependencies":[{"issue_id":"bd-2oo.1","depends_on_id":"bd-2oo","type":"parent-child","created_at":"2025-12-18T02:02:00.470012-08:00","created_by":"daemon"}]}
|
||||
@@ -207,6 +208,7 @@
|
||||
{"id":"bd-9115","title":"CLI cleanup: Consolidate bd top-level commands","description":"## Problem\nbd has 76 top-level commands, making it hard to discover and remember.\n\n## Proposed Changes\n\n### Remove from top-level (nest instead):\n- `bd cook` → `bd formula cook` (cooking is a formula operation)\n- `bd pin` → already covered by `bd mol` commands\n- `bd thanks` → `bd info --thanks` or just README\n- `bd quickstart` → `bd help quickstart` or docs\n- `bd detect-pollution` → `bd doctor --check=pollution`\n\n### Consolidate migrations under `bd migrate`:\n- `bd migrate-hash-ids` → `bd migrate hash-ids`\n- `bd migrate-issues` → `bd migrate issues`\n- `bd migrate-sync` → `bd migrate sync`\n- `bd migrate-tombstones` → `bd migrate tombstones`\n\n### Consolidate admin under `bd admin`:\n- `bd cleanup` → `bd admin cleanup`\n- `bd compact` → `bd admin compact`\n- `bd reset` → `bd admin reset`\n\n## Backwards Compatibility\nKeep old commands as hidden aliases for one release cycle.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-27T14:28:03.299469-08:00","created_by":"mayor","updated_at":"2025-12-27T16:19:44.580326-08:00","closed_at":"2025-12-27T16:19:44.580326-08:00","dependencies":[{"issue_id":"bd-9115","depends_on_id":"bd-w3z7","type":"blocks","created_at":"2025-12-27T15:11:44.88081-08:00","created_by":"daemon"},{"issue_id":"bd-9115","depends_on_id":"bd-do8e","type":"blocks","created_at":"2025-12-27T15:11:44.905058-08:00","created_by":"daemon"},{"issue_id":"bd-9115","depends_on_id":"bd-3u8m","type":"blocks","created_at":"2025-12-27T15:11:44.929207-08:00","created_by":"daemon"},{"issue_id":"bd-9115","depends_on_id":"bd-x0zl","type":"blocks","created_at":"2025-12-27T15:11:44.953799-08:00","created_by":"daemon"},{"issue_id":"bd-9115","depends_on_id":"bd-wb9g","type":"blocks","created_at":"2025-12-27T15:11:44.977559-08:00","created_by":"daemon"},{"issue_id":"bd-9115","depends_on_id":"bd-twbi","type":"blocks","created_at":"2025-12-27T15:11:45.002403-08:00","created_by":"daemon"},{"issue_id":"bd-9115","depends_on_id":"bd-kff0","type":"blocks","created_at":"2025-12-27T15:11:45.027177-08:00","created_by":"daemon"},{"issue_id":"bd-9115","depends_on_id":"bd-bxqv","type":"blocks","created_at":"2025-12-27T15:11:45.051629-08:00","created_by":"daemon"},{"issue_id":"bd-9115","depends_on_id":"bd-5e9q","type":"blocks","created_at":"2025-12-27T15:11:45.07537-08:00","created_by":"daemon"}]}
|
||||
{"id":"bd-95k8","title":"Pinned field available in beads v0.37.0","description":"Hey max,\n\nHeads up on your mail overhaul work:\n\n1. **Pinned field is available** - beads v0.37.0 (released by dave earlier) includes the pinned field on issues. You'll want to add this to BeadsMessage in types.go.\n\n2. **Database migration** - Check if existing .beads databases need migration to support the pinned field. Run `bd doctor` to see if it flags anything.\n\n3. **Sorting task** - Once you have the pinned field, gt-ngu1 (pinned beads first in mail inbox) needs implementing. Since messages now come from `bd list --type=message`, you'll need to either:\n - Sort in listBeads() after fetching, or\n - Ensure bd list returns pinned items first (may already do this?)\n\nCheck what version of bd you're building against.\n\n-- Mayor","status":"closed","priority":2,"issue_type":"message","created_at":"2025-12-20T17:51:57.315956-08:00","updated_at":"2025-12-21T17:52:18.542169-08:00","closed_at":"2025-12-21T17:52:18.542169-08:00","labels":["from:beads-crew-dave","thread:thread-71ac20c7e432"]}
|
||||
{"id":"bd-987a","title":"bd mol run: panic slice bounds out of range in mol_run.go:130","description":"## Problem\nbd mol run panics after successfully creating the molecule:\n\n```\n✓ Molecule running: created 9 issues\n Root issue: gt-i4lo (pinned, in_progress)\n Assignee: stevey\n\nNext steps:\n bd ready # Find unblocked work in this molecule\npanic: runtime error: slice bounds out of range [:8] with length 7\n\ngoroutine 1 [running]:\nmain.runMolRun(0x1014fc0c0, {0x140001e0f80, 0x1, 0x10089daad?})\n /Users/stevey/gt/beads/crew/dave/cmd/bd/mol_run.go:130 +0xc38\n```\n\n## Reproduction\n```bash\nbd --no-daemon mol run gt-lwuu --var issue=gt-test123\n```\nWhere gt-lwuu is a mol-polecat-work proto with 8 child steps.\n\n## Impact\nThe molecule IS created successfully - the panic happens after creation when formatting the \"Next steps\" output.","status":"closed","priority":1,"issue_type":"bug","created_at":"2025-12-21T21:48:55.396018-08:00","updated_at":"2025-12-21T22:57:46.827469-08:00","closed_at":"2025-12-21T22:57:46.827469-08:00"}
|
||||
{"id":"bd-98b4","title":"Merge: onyx-1767138516448","description":"branch: polecat/onyx-1767138516448\ntarget: main\nsource_issue: onyx-1767138516448\nrig: beads","status":"open","priority":2,"issue_type":"merge-request","created_at":"2025-12-30T16:17:51.539362-08:00","created_by":"beads/polecats/onyx","updated_at":"2025-12-30T16:17:51.539362-08:00"}
|
||||
{"id":"bd-9avq","title":"Fix wisp leak in nodb mode writeIssuesToJSONL","description":"writeIssuesToJSONL in nodb.go calls writeJSONLAtomic without filtering wisps. This means any wisps created during a nodb session would be written to issues.jsonl, leaking ephemeral data into the git-tracked file.\n\nFix: Add the same wisp filter pattern used in sync_export.go, autoflush.go, and export.go:\n\n```go\n// Filter out wisps before writing\nfiltered := make([]*types.Issue, 0, len(issues))\nfor _, issue := range issues {\n if !issue.Wisp {\n filtered = append(filtered, issue)\n }\n}\nissues = filtered\n```\n\nLocation: cmd/bd/nodb.go:writeIssuesToJSONL()","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-24T21:15:47.980048-08:00","updated_at":"2025-12-24T21:18:42.607711-08:00","closed_at":"2025-12-24T21:18:42.607711-08:00"}
|
||||
{"id":"bd-9btu","title":"Code smell: Duplicated step collection functions in cook.go","description":"attached_args: Fix duplicated step collection functions in cook.go\n\nTwo pairs of nearly identical functions exist in cook.go:\n\n1. collectStepsRecursive() (line 754) vs collectStepsToSubgraph() (line 415)\n - Both iterate over steps and create issues\n - Main difference: one writes to DB, one builds in-memory subgraph\n \n2. collectDependencies() (line 833) vs collectDependenciesToSubgraph() (line 502)\n - Both collect dependencies from steps\n - Nearly identical logic\n\nConsider:\n1. Extract common step/dependency processing logic\n2. Use a strategy pattern or callback for the DB vs in-memory difference\n3. Create a single function that returns data, then have callers decide how to persist\n\nLocation: cmd/bd/cook.go:415-567 and cmd/bd/cook.go:754-898","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-28T15:31:57.401447-08:00","created_by":"beads/crew/dave","updated_at":"2025-12-28T16:41:07.719801-08:00","closed_at":"2025-12-28T16:41:07.719801-08:00","dependencies":[{"issue_id":"bd-9btu","depends_on_id":"bd-784c","type":"parent-child","created_at":"2025-12-28T15:38:04.168908-08:00","created_by":"daemon"}]}
|
||||
{"id":"bd-9cdc","title":"Update docs for import bug fix","description":"Update AGENTS.md, README.md, TROUBLESHOOTING.md with import.orphan_handling config documentation. Document resurrection behavior, tombstones, config modes. Add troubleshooting section for import failures with deleted parents.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-11-04T12:32:30.770415-08:00","updated_at":"2025-12-21T21:14:08.328627-08:00","closed_at":"2025-12-21T21:14:08.328627-08:00"}
|
||||
@@ -337,7 +339,7 @@
|
||||
{"id":"bd-e1085716","title":"bd validate - Comprehensive health check","description":"Run all validation checks in one command.\n\nChecks:\n- Duplicates\n- Orphaned dependencies\n- Test pollution\n- Git conflicts\n\nSupports --fix-all for auto-repair.\n\nDepends on bd-cbed9619.1, bd-0dcea000, bd-31aab707, bd-9826b69a.\n\nFiles: cmd/bd/validate.go (new)","status":"tombstone","priority":1,"issue_type":"task","created_at":"2025-10-29T23:05:13.980679-07:00","updated_at":"2025-12-25T01:21:01.952723-08:00","deleted_at":"2025-12-25T01:21:01.952723-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"task"}
|
||||
{"id":"bd-e7ou","title":"Fix --as flag: uses title instead of ID in mol bond","description":"In bondProtoProto, the --as flag is documented as 'Custom ID for compound proto' but the implementation uses it as the title, not the issue ID.\n\n**Current behavior (mol.go:637-638):**\n```go\nif customID != '' {\n compoundTitle = customID // Used as title, not ID\n}\n```\n\n**Options:**\n1. Change flag description to say 'Custom title' (documentation fix)\n2. Actually use it as a custom ID prefix or full ID (feature change)\n3. Add separate --title flag and make --as actually set ID\n\nRecommend option 1 for simplest fix - change 'Custom ID' to 'Custom title' in the flag description.","status":"closed","priority":3,"issue_type":"bug","created_at":"2025-12-21T10:22:59.069368-08:00","updated_at":"2025-12-21T21:18:48.514513-08:00","closed_at":"2025-12-21T21:18:48.514513-08:00"}
|
||||
{"id":"bd-e8kq","title":"Consolidate migrate-* commands into migrate subcommands","description":"Move migrate-hash-ids, migrate-issues, migrate-sync, migrate-tombstones under 'migrate' as subcommands. Reduces 5 top-level commands to 1.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-28T12:59:09.187369-08:00","created_by":"stevey","updated_at":"2025-12-28T13:02:51.321846-08:00","closed_at":"2025-12-28T13:02:51.321848-08:00"}
|
||||
{"id":"bd-ecmd","title":"Add type: event for state transitions","description":"Events capture operational state changes as immutable records.\n\nFields needed:\n- event_type: string (namespaced category like patrol.muted, agent.started) \n- actor: string (entity URI who caused this)\n- target: string (entity URI or bead ID affected)\n- payload: object (event-specific JSON data)\n\nExample:\n id: evt-x7k2\n type: event\n event_type: patrol.muted\n actor: human:overseer\n target: agent:deacon\n payload: {reason: fixing deadlock, until: gt-abc1}\n\nThis enables:\n- bd activity --follow showing events\n- bd list --type=event --target=agent:deacon\n- Full audit trail for operational state\n- HOP-compatible transaction records","status":"closed","priority":1,"issue_type":"feature","assignee":"beads/polecats/obsidian","created_at":"2025-12-30T15:15:23.440095-08:00","created_by":"gastown/crew/max","updated_at":"2025-12-30T15:54:09.224-08:00","closed_at":"2025-12-30T15:54:09.224-08:00","close_reason":"Implemented event type with event_kind, actor, target, and payload fields"}
|
||||
{"id":"bd-ecmd","title":"Add type: event for state transitions","description":"Events capture operational state changes as immutable records.\n\nFields needed:\n- event_type: string (namespaced category like patrol.muted, agent.started) \n- actor: string (entity URI who caused this)\n- target: string (entity URI or bead ID affected)\n- payload: object (event-specific JSON data)\n\nExample:\n id: evt-x7k2\n type: event\n event_type: patrol.muted\n actor: human:overseer\n target: agent:deacon\n payload: {reason: fixing deadlock, until: gt-abc1}\n\nThis enables:\n- bd activity --follow showing events\n- bd list --type=event --target=agent:deacon\n- Full audit trail for operational state\n- HOP-compatible transaction records","status":"closed","priority":1,"issue_type":"feature","assignee":"beads/polecats/obsidian","created_at":"2025-12-30T15:15:23.440095-08:00","created_by":"gastown/crew/max","updated_at":"2025-12-30T16:13:57.467275-08:00","closed_at":"2025-12-30T16:13:57.467275-08:00","close_reason":"Implemented type: event for state transitions with all required fields"}
|
||||
{"id":"bd-efo6","title":"Test cross-rig issue creation","description":"Testing --rig flag from town root","status":"tombstone","priority":3,"issue_type":"task","created_at":"2025-12-27T00:43:21.006012-08:00","created_by":"stevey","updated_at":"2025-12-27T00:43:27.389223-08:00","deleted_at":"2025-12-27T00:43:27.389223-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"}
|
||||
{"id":"bd-ehwp","title":"Merge: ruby-1767138542815","description":"branch: polecat/ruby-1767138542815\ntarget: main\nsource_issue: ruby-1767138542815\nrig: beads","status":"open","priority":2,"issue_type":"merge-request","created_at":"2025-12-30T15:59:42.840764-08:00","created_by":"beads/polecats/ruby","updated_at":"2025-12-30T15:59:42.840764-08:00"}
|
||||
{"id":"bd-eijl","title":"bd ship command for publishing capabilities","description":"Add `bd ship \u003ccapability\u003e` command that:\n\n1. Finds issue with `export:\u003ccapability\u003e` label\n2. Validates issue is closed (or --force to override)\n3. Adds `provides:\u003ccapability\u003e` label\n4. Protects `provides:*` namespace (only bd ship can add these labels)\n\nExample:\n```bash\nbd ship mol-run-assignee\n# Output: Shipped mol-run-assignee (bd-xyz)\n```\n\nPart of cross-project dependency system.\nSee: gastown/docs/cross-project-deps.md","status":"closed","priority":2,"issue_type":"feature","created_at":"2025-12-21T22:37:19.123024-08:00","updated_at":"2025-12-21T23:11:47.498859-08:00","closed_at":"2025-12-21T23:11:47.498859-08:00"}
|
||||
@@ -496,7 +498,7 @@
|
||||
{"id":"bd-lsv4","title":"GH#444: Fix inconsistent status naming in_progress vs in-progress","description":"Documentation uses in-progress (hyphen) but code expects in_progress (underscore). Update all docs to use canonical in_progress. See GitHub issue #444.","status":"tombstone","priority":2,"issue_type":"bug","created_at":"2025-12-16T01:03:14.349425-08:00","updated_at":"2025-12-17T16:11:17.070763-08:00","deleted_at":"2025-12-17T16:11:17.070763-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"bug"}
|
||||
{"id":"bd-luso","title":"Add agent identity to commit metadata for forensics","description":"## Problem\n\nWhen agents (polecats, crew workers) make commits on behalf of a human, the commit only shows:\n- **Author**: Human (e.g., Steve Yegge)\n- **Co-Authored-By**: Claude Opus 4.5 (generic)\n\nMissing from the audit trail:\n- Which agent instance performed the work\n- Whether it was a polecat (transient) or crew (persistent)\n- What rig/workspace it ran in\n\nExample from a recent release commit:\n```\nAuthor: Steve Yegge \u003csteve.yegge@gmail.com\u003e\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n```\n\nNo way to trace this back to the specific agent session that executed the release molecule.\n\n## Proposal\n\nAdd git trailers to commits made by Gas Town agents:\n\n```\nExecuted-By: beads/polecat/Nux-1766978911613\nRig: beads\nRole: polecat\n```\n\nOr for crew workers:\n```\nExecuted-By: beads/crew/emma\nRig: beads\nRole: crew\n```\n\n## Benefits\n\n1. **Forensics**: If a release goes wrong, trace back to the exact agent session\n2. **Audit**: Query commits by agent type (`git log --grep=\"Role: polecat\"`)\n3. **Debugging**: Correlate commits with handoff mail and session logs\n4. **Accountability**: Distinguish human-direct vs agent-mediated commits\n\n## Implementation\n\nCould be implemented via:\n- Claude Code hooks (UserPromptSubmit or pre-commit)\n- `gt` commit helper that injects trailers\n- CLAUDE.md instructions for agents to include trailers\n\n## Open Questions\n\n- Should molecule ID be included if work was part of a molecule?\n- Should session ID or other correlation data be included?\n- Privacy considerations for commit metadata?","status":"closed","priority":2,"issue_type":"feature","created_at":"2025-12-29T13:33:53.591916-08:00","created_by":"beads/crew/emma","updated_at":"2025-12-29T21:26:41.103041-08:00","closed_at":"2025-12-29T21:26:41.103041-08:00","close_reason":"Implemented via prepare-commit-msg git hook that auto-injects agent identity trailers"}
|
||||
{"id":"bd-lw0x","title":"Fix bd sync race condition with daemon causing dirty working directory","description":"After bd sync completes with sync.branch mode, subsequent bd commands or daemon file watcher would see a hash mismatch and trigger auto-import, which then schedules re-export, dirtying the working directory.\n\n**Root cause:**\n1. bd sync exports JSONL with NEW content (hash H1)\n2. bd sync updates jsonl_content_hash = H1 in DB\n3. bd sync restores JSONL from HEAD (OLD content, hash H0)\n4. Now: file hash = H0, DB hash = H1 (MISMATCH)\n5. Daemon or next CLI command sees mismatch, imports from OLD JSONL\n6. Import triggers re-export → file is dirty\n\n**Fix:**\nAfter restoreBeadsDirFromBranch(), update jsonl_content_hash to match the restored file's hash. This ensures daemon and CLI see file hash = DB hash → no spurious import/export cycle.\n\nRelated: bd-c83r (multiple daemon prevention)","status":"tombstone","priority":2,"issue_type":"bug","created_at":"2025-12-13T06:42:17.130839-08:00","updated_at":"2025-12-25T01:21:01.952723-08:00","deleted_at":"2025-12-25T01:21:01.952723-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"bug"}
|
||||
{"id":"bd-lxzx","title":"Add close_reason to JSONL export format documentation","description":"PR #551 now persists close_reason to the database, but there's a question about whether this field should be exported to JSONL format.\n\n## Current State\n- close_reason is stored in issues.close_reason column\n- close_reason is also stored in events table (audit trail)\n- The JSONL export format may or may not include close_reason\n\n## Questions\n1. Should close_reason be exported to JSONL format?\n2. If yes, where should it go (root level or nested in events)?\n3. Should there be any special handling to avoid duplication?\n4. How should close_reason be handled during JSONL import?\n\n## Why This Matters\n- JSONL is the git-friendly sync format\n- Other beads instances import from JSONL\n- close_reason is meaningful data that should be preserved across clones\n\n## Suggested Action\n- Check if close_reason is currently exported in JSONL\n- If not, add it to the export schema\n- Document the field in JSONL format spec\n- Add tests for round-trip (export -\u003e import -\u003e verify close_reason)","status":"open","priority":2,"issue_type":"task","assignee":"beads/polecats/onyx","created_at":"2025-12-14T14:25:17.414916-08:00","updated_at":"2025-12-30T15:05:14.596828-08:00","dependencies":[{"issue_id":"bd-lxzx","depends_on_id":"bd-z86n","type":"discovered-from","created_at":"2025-12-14T14:25:17.416131-08:00","created_by":"stevey"}]}
|
||||
{"id":"bd-lxzx","title":"Add close_reason to JSONL export format documentation","description":"PR #551 now persists close_reason to the database, but there's a question about whether this field should be exported to JSONL format.\n\n## Current State\n- close_reason is stored in issues.close_reason column\n- close_reason is also stored in events table (audit trail)\n- The JSONL export format may or may not include close_reason\n\n## Questions\n1. Should close_reason be exported to JSONL format?\n2. If yes, where should it go (root level or nested in events)?\n3. Should there be any special handling to avoid duplication?\n4. How should close_reason be handled during JSONL import?\n\n## Why This Matters\n- JSONL is the git-friendly sync format\n- Other beads instances import from JSONL\n- close_reason is meaningful data that should be preserved across clones\n\n## Suggested Action\n- Check if close_reason is currently exported in JSONL\n- If not, add it to the export schema\n- Document the field in JSONL format spec\n- Add tests for round-trip (export -\u003e import -\u003e verify close_reason)","status":"hooked","priority":2,"issue_type":"task","assignee":"beads/polecats/quartz","created_at":"2025-12-14T14:25:17.414916-08:00","updated_at":"2025-12-30T16:44:15.10055-08:00","dependencies":[{"issue_id":"bd-lxzx","depends_on_id":"bd-z86n","type":"discovered-from","created_at":"2025-12-14T14:25:17.416131-08:00","created_by":"stevey"}]}
|
||||
{"id":"bd-lz49","title":"Add gate fields: await_type, await_id, timeout, waiters","description":"Add gate-specific fields to the Issue type.\n\n## New Fields\n- await_type: string - Type of condition (gh:run, gh:pr, timer, human, mail)\n- await_id: string - Identifier for the condition\n- timeout: duration - Max time to wait before escalation\n- waiters: []string - Mail addresses to notify when gate clears\n\n## Implementation\n- Add fields to Issue struct in internal/types/types.go\n- Update SQLite schema for new columns\n- Add JSONL serialization/deserialization\n- Update import/export logic","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-23T11:44:32.720196-08:00","updated_at":"2025-12-23T12:00:03.837691-08:00","closed_at":"2025-12-23T12:00:03.837691-08:00","dependencies":[{"issue_id":"bd-lz49","depends_on_id":"bd-udsi","type":"parent-child","created_at":"2025-12-23T11:44:52.738823-08:00","created_by":"daemon"},{"issue_id":"bd-lz49","depends_on_id":"bd-2v0f","type":"blocks","created_at":"2025-12-23T11:44:56.269351-08:00","created_by":"daemon"}]}
|
||||
{"id":"bd-m0tl","title":"bd create -f crashes with nil pointer dereference","description":"GitHub issue #674. The markdown import feature crashes at markdown.go:338 because global variables (store, ctx, actor) aren't initialized when createIssuesFromMarkdown is called. The function uses globals set by cobra command framework but is being called before they're ready. Need to either initialize globals at start of function or pass them as parameters.","status":"closed","priority":1,"issue_type":"bug","created_at":"2025-12-21T14:35:14.813012-08:00","updated_at":"2025-12-21T15:41:14.600953-08:00","closed_at":"2025-12-21T15:41:14.600953-08:00"}
|
||||
{"id":"bd-m164","title":"Add 0.33.2 to versionChanges in info.go","description":"Add new entry at the TOP of versionChanges array in cmd/bd/info.go:\n\n```go\n{\n Version: \"0.33.2\",\n Date: \"2025-12-21\",\n Changes: []string{\n // Add notable changes here\n },\n},\n```\n\nCopy changes from CHANGELOG.md [Unreleased] section.","status":"tombstone","priority":1,"issue_type":"task","created_at":"2025-12-21T16:10:13.761218-08:00","updated_at":"2025-12-21T17:29:31.791368-08:00","deleted_at":"2025-12-21T17:29:31.791368-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"task"}
|
||||
@@ -505,6 +507,7 @@
|
||||
{"id":"bd-m8ro","title":"Improve test coverage for internal/rpc (47.5% → 60%)","description":"The RPC package has only 47.5% test coverage. RPC is the communication layer for daemon operations.\n\nCurrent coverage: 47.5%\nTarget coverage: 60%","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T20:43:09.515299-08:00","updated_at":"2025-12-23T22:42:11.921388-08:00","closed_at":"2025-12-23T22:42:11.921388-08:00"}
|
||||
{"id":"bd-m964","title":"Consider FTS5 for text search at scale","description":"SearchIssues uses LIKE patterns for text search which can't use indexes.\n\n**Current query (queries.go:1475-1477):**\n```sql\n(title LIKE ? OR description LIKE ? OR id LIKE ?)\n```\n\n**Problem:** Full table scan on every text search. At 100K+ issues, this becomes slow.\n\n**SQLite FTS5 solution:**\n```sql\nCREATE VIRTUAL TABLE issues_fts USING fts5(\n id, title, description, design, notes,\n content='issues',\n content_rowid='rowid'\n);\n\n-- Triggers to keep FTS in sync\nCREATE TRIGGER issues_ai AFTER INSERT ON issues BEGIN\n INSERT INTO issues_fts(rowid, id, title, description, design, notes)\n VALUES (new.rowid, new.id, new.title, new.description, new.design, new.notes);\nEND;\n-- (similar for UPDATE, DELETE)\n```\n\n**Trade-offs:**\n- Database size increase (~30-50% for text content)\n- Additional write overhead (trigger execution)\n- Better search capabilities (ranking, phrase search)\n\n**Decision needed:** Is full-text search a priority feature? Current LIKE search may be acceptable for most use cases.\n\n**Benchmark first:** Measure SearchIssues at 100K scale before implementing.","status":"open","priority":4,"issue_type":"feature","created_at":"2025-12-22T22:58:56.466121-08:00","updated_at":"2025-12-22T22:58:56.466121-08:00","dependencies":[{"issue_id":"bd-m964","depends_on_id":"bd-h0we","type":"discovered-from","created_at":"2025-12-22T22:58:56.466764-08:00","created_by":"daemon"}]}
|
||||
{"id":"bd-mh4w","title":"Rename 'bond' to 'spawn' for instantiation","description":"Rename the bd mol bond command to bd mol spawn for instantiating protos.\n \n- Rename molBondCmd to molSpawnCmd\n- Update command Use/Short/Long descriptions \n- Keep 'bond' available for the new bonding feature\n- Update all documentation references\n- Add 'protomolecule' as easter egg alias for 'proto'","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-21T00:58:44.529026-08:00","updated_at":"2025-12-21T01:19:42.942819-08:00","closed_at":"2025-12-21T01:19:42.942819-08:00","dependencies":[{"issue_id":"bd-mh4w","depends_on_id":"bd-o5xe","type":"parent-child","created_at":"2025-12-21T00:59:51.167902-08:00","created_by":"daemon"}]}
|
||||
{"id":"bd-mhhb","title":"Read operations should not modify database file","description":"Read-only operations (bd list, bd ready, bd show) modify the database file. Every open sets WAL pragma, runs schema/migrations, and checkpoints on close. Need sqlite.NewReadOnly() that opens with mode=ro, skips WAL/schema/migrations, and skips checkpoint. See GH#804.","status":"in_progress","priority":1,"issue_type":"bug","created_at":"2025-12-30T16:27:13.416643-08:00","created_by":"beads/crew/emma","updated_at":"2025-12-30T16:27:32.100058-08:00"}
|
||||
{"id":"bd-mol-0qm","title":"mol-beads-release","description":"attached_args: Release v0.38.0 - execute each step in order, verify before proceeding to next\n\nRelease checklist for beads version 0.38.0.\n\nThis molecule ensures all release steps are completed properly.\nVariable: 0.38.0 - target version (e.g., 0.35.0)\n\n## Step: update-release-notes\nUpdate cmd/bd/info.go with release notes for 0.38.0.\n\nAdd a new VersionChange entry at the top of versionChanges slice:\n```go\n{\n Version: \"0.38.0\",\n Date: \"YYYY-MM-DD\",\n Changes: []string{\n \"NEW: Feature description\",\n \"FIX: Bug fix description\",\n \"IMPROVED: Enhancement description\",\n },\n},\n```\n\nRun `git log --oneline v\u003cprevious\u003e..HEAD` to see what changed.\n\n## Step: update-changelog\nUpdate CHANGELOG.md with detailed release notes.\n\nAdd a new section after [Unreleased]:\n```markdown\n## [0.38.0] - YYYY-MM-DD\n\n### Added\n- **Feature name** (issue-id) - Description\n\n### Changed\n- **Change description** (issue-id)\n\n### Fixed\n- **Bug fix** (issue-id) - Description\n```\n\nSort by importance, not chronologically.\nNeeds: update-release-notes\n\n## Step: bump-version\nRun the version bump script.\n\n```bash\n./scripts/bump-version.sh 0.38.0\n```\n\nThis updates version in all files:\n- cmd/bd/version.go\n- .claude-plugin/*.json\n- integrations/beads-mcp/pyproject.toml\n- npm-package/package.json\n- Hook templates\n\nNeeds: update-changelog\n\n## Step: run-tests\nRun tests and verify lint passes.\n\n```bash\ngo test -short ./...\n```\n\nCI will run full lint, but fix any obvious issues first.\nNeeds: bump-version\n\n## Step: commit-release\nCommit the release changes.\n\n```bash\ngit add -A\ngit commit -m \"chore: bump version to v0.38.0\"\n```\n\nNeeds: run-tests\n\n## Step: push-and-tag\nPush commit and create release tag.\n\n```bash\ngit push origin main\ngit tag v0.38.0\ngit push origin v0.38.0\n```\n\nThis triggers GitHub Actions release workflow.\nNeeds: commit-release\n\n## Step: wait-for-ci\nWait for GitHub Actions to complete.\n\nMonitor: https://github.com/steveyegge/beads/actions\n\nCI will:\n- Build binaries via GoReleaser\n- Create GitHub Release with assets\n- Publish to npm (@beads/bd)\n- Publish to PyPI (beads-mcp)\n- Update Homebrew tap\n\nWait until all jobs succeed (~5-10 min).\nNeeds: push-and-tag\n\n## Step: verify-release\nVerify the release is complete.\n\n```bash\n# Check GitHub release\ngh release view v0.38.0\n\n# Check Homebrew\nbrew update \u0026\u0026 brew info steveyegge/beads/bd\n\n# Check npm\nnpm view @beads/bd version\n\n# Check PyPI\npip index versions beads-mcp\n```\n\nNeeds: wait-for-ci\n\n## Step: update-local\nUpdate local installations.\n\n```bash\n# Upgrade Homebrew\nbrew upgrade steveyegge/beads/bd\n\n# Or install from source\n./scripts/bump-version.sh 0.38.0 --install\n\n# Install MCP locally\npip install -e integrations/beads-mcp\n\n# Restart daemons\npkill -f \"bd daemon\" || true\n```\n\nVerify: `bd --version` shows 0.38.0\nNeeds: verify-release\n\n## Step: manual-publish\n(Optional) Manual publish if CI failed.\n\n```bash\n# npm (requires npm login)\n./scripts/bump-version.sh 0.38.0 --publish-npm\n\n# PyPI (requires TWINE credentials)\n./scripts/bump-version.sh 0.38.0 --publish-pypi\n\n# Or both\n./scripts/bump-version.sh 0.38.0 --publish-all\n```\n\nOnly needed if CI publishing failed.\nNeeds: wait-for-ci","status":"tombstone","priority":2,"issue_type":"molecule","created_at":"2025-12-27T00:29:46.694495-08:00","updated_at":"2025-12-28T01:24:39.173644-08:00","deleted_at":"2025-12-28T01:24:39.173644-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"molecule"}
|
||||
{"id":"bd-mol-0rq","title":"Verify npm package","description":"Confirm npm package published.\n\n```bash\nnpm show @beads/bd version\n```\n\nShould show 0.99.0-test.\n\nAlso check: https://www.npmjs.com/package/@beads/bd","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-29T17:09:12.467054-08:00","updated_at":"2025-12-29T17:09:32.480437-08:00","deleted_at":"2025-12-29T17:09:32.480437-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"task"}
|
||||
{"id":"bd-mol-0x4","title":"Preflight: Pull latest","description":"Ensure we're up to date with origin.\n\n```bash\ngit pull --rebase\n```\n\nResolve any conflicts before proceeding.","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-29T16:29:32.299205-08:00","updated_at":"2025-12-29T17:02:15.202404-08:00","close_reason":"Already up to date","deleted_at":"2025-12-29T17:02:15.202404-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"task"}
|
||||
@@ -664,7 +667,7 @@
|
||||
{"id":"bd-qioh","title":"Standardize error handling: replace direct fmt.Fprintf+os.Exit with FatalError","description":"Standardize error handling in cmd/bd/ using FatalError pattern.\n\n## Current State\n~200+ instances of direct `fmt.Fprintf(os.Stderr, ...) + os.Exit(1)` pattern scattered across cmd/bd/*.go files.\n\n## Target Pattern\n\nUse existing FatalError helper (or create if missing):\n\n```go\n// In cmd/bd/helpers.go or similar\nfunc FatalError(format string, args ...interface{}) {\n fmt.Fprintf(os.Stderr, \"Error: \"+format+\"\\n\", args...)\n os.Exit(1)\n}\n\nfunc FatalErrorf(err error, context string) {\n fmt.Fprintf(os.Stderr, \"Error: %s: %v\\n\", context, err)\n os.Exit(1)\n}\n```\n\n## Transformation\n\n```go\n// Before\nfmt.Fprintf(os.Stderr, \"Error: %v\\n\", err)\nos.Exit(1)\n\n// After\nFatalError(\"%v\", err)\n\n// Before\nfmt.Fprintf(os.Stderr, \"Error: invalid --since duration: %v\\n\", err)\nos.Exit(1)\n\n// After\nFatalError(\"invalid --since duration: %v\", err)\n```\n\n## Files to Update (by occurrence count)\nRun: `grep -c \"os.Exit(1)\" cmd/bd/*.go | sort -t: -k2 -rn | head -20`\n\nPriority files (highest occurrence):\n- close.go\n- show.go\n- sync.go\n- init.go\n- list.go\n- create.go\n- update.go\n\n## Implementation Steps\n\n1. **Check if FatalError exists** in cmd/bd/helpers.go or create it\n2. **Create migration script** or use sed:\n ```bash\n # Find patterns to replace\n grep -rn \"fmt.Fprintf(os.Stderr.*Error.*\\n.*os.Exit(1)\" cmd/bd/\n ```\n3. **Replace systematically** file by file\n4. **Run tests** after each file to verify behavior unchanged\n5. **Run linter** to catch any missed patterns\n\n## Verification\n```bash\n# Count remaining direct exits (should be near zero)\ngrep -c \"os.Exit(1)\" cmd/bd/*.go | awk -F: \"{sum+=\\$2} END {print sum}\"\n\n# Run tests\ngo test -short ./cmd/bd/...\n```\n\n## Success Criteria\n- All error exits use FatalError/FatalErrorf\n- Consistent \"Error: \" prefix on all error messages\n- Tests pass\n- No behavior changes (exit codes remain 1)","notes":"## Progress (Dec 2025)\n\nStandardized error handling in 3 major files:\n- compact.go: All 48 os.Exit(1) calls converted to FatalError\n- sync.go: All error patterns converted (kept 1 valid summary exit)\n- migrate.go: 4 patterns converted\n\n## Remaining Work\n~326 fmt.Fprintf(os.Stderr, \"Error:\") patterns remain across ~30 files.\nHigh-count files remaining: show.go (16), dep.go (14), gate.go (28), init.go (11).\n\n## Verification\n- Build compiles successfully\n- Tests pass","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-16T18:17:19.309394-08:00","updated_at":"2025-12-23T14:14:37.939802-08:00","closed_at":"2025-12-23T14:14:37.939802-08:00","dependencies":[{"issue_id":"bd-qioh","depends_on_id":"bd-iz5t","type":"parent-child","created_at":"2025-12-23T12:44:07.43514-08:00","created_by":"daemon"}]}
|
||||
{"id":"bd-qket","title":"Add computed .parent field to JSON output for convenience","description":"Currently parent is only in dependencies[]. Add a top-level .parent field to JSON/JSONL output that extracts the parent-child dependency for easier querying.\n\nExample:\n```bash\n# Current (works but verbose):\nbd show \u003cid\u003e --json | jq '.[0].dependencies[] | select(.dependency_type == \"parent-child\") | .id'\n\n# Desired:\nbd show \u003cid\u003e --json | jq '.[0].parent'\n```\n\nLow priority enhancement.","status":"closed","priority":4,"issue_type":"feature","created_at":"2025-12-27T23:32:44.24217-08:00","created_by":"beads/crew/emma","updated_at":"2025-12-28T02:24:31.453442-08:00","closed_at":"2025-12-28T02:24:31.453442-08:00"}
|
||||
{"id":"bd-qkw9","title":"Run bump-version.sh {{version}}","description":"Run ./scripts/bump-version.sh {{version}} to update version in all files","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-19T22:55:58.841424-08:00","updated_at":"2025-12-20T17:59:26.262877-08:00","closed_at":"2025-12-20T01:18:48.99813-08:00","dependencies":[{"issue_id":"bd-qkw9","depends_on_id":"bd-6s61","type":"parent-child","created_at":"2025-12-19T22:56:14.786027-08:00","created_by":"daemon"}]}
|
||||
{"id":"bd-qobn","title":"Code smell: 20+ global variables in main.go","description":"main.go lines 63-103 have over 20 global variables managing command-line state, daemon connection, auto-flush, auto-import, and error handling.\n\n**Globals include:**\ndbPath, actor, store, jsonOutput, daemonStatus, daemonClient, noDaemon, rootCtx, rootCancel, autoFlushEnabled, flushMutex, storeMutex, storeActive, flushFailureCount, lastFlushError, flushManager, hookRunner, skipFinalFlush, autoImportEnabled, versionUpgradeDetected, previousVersion, upgradeAcknowledged\n\n**Problem:**\n- Global state makes testing difficult\n- Race conditions possible between goroutines\n- Hard to track which functions modify which globals\n\n**Acceptance Criteria:**\n- [ ] Create CommandContext struct to hold runtime state\n- [ ] Pass context through command execution\n- [ ] Reduce global count to essential minimum\n- [ ] Tests pass","status":"hooked","priority":3,"issue_type":"chore","assignee":"beads/polecats/onyx","created_at":"2025-12-28T18:59:27.551044-08:00","created_by":"beads/crew/dave","updated_at":"2025-12-30T15:48:37.952767-08:00","dependencies":[{"issue_id":"bd-qobn","depends_on_id":"bd-ox1o","type":"blocks","created_at":"2025-12-28T19:00:23.651276-08:00","created_by":"daemon"}]}
|
||||
{"id":"bd-qobn","title":"Code smell: 20+ global variables in main.go","description":"main.go lines 63-103 have over 20 global variables managing command-line state, daemon connection, auto-flush, auto-import, and error handling.\n\n**Globals include:**\ndbPath, actor, store, jsonOutput, daemonStatus, daemonClient, noDaemon, rootCtx, rootCancel, autoFlushEnabled, flushMutex, storeMutex, storeActive, flushFailureCount, lastFlushError, flushManager, hookRunner, skipFinalFlush, autoImportEnabled, versionUpgradeDetected, previousVersion, upgradeAcknowledged\n\n**Problem:**\n- Global state makes testing difficult\n- Race conditions possible between goroutines\n- Hard to track which functions modify which globals\n\n**Acceptance Criteria:**\n- [ ] Create CommandContext struct to hold runtime state\n- [ ] Pass context through command execution\n- [ ] Reduce global count to essential minimum\n- [ ] Tests pass","status":"closed","priority":3,"issue_type":"chore","assignee":"beads/polecats/onyx","created_at":"2025-12-28T18:59:27.551044-08:00","created_by":"beads/crew/dave","updated_at":"2025-12-30T16:17:18.258941-08:00","closed_at":"2025-12-30T16:17:18.258941-08:00","close_reason":"Implemented CommandContext struct to consolidate 20+ globals into 1. Added accessor functions for backward-compatible migration. Updated direct_mode.go as example.","dependencies":[{"issue_id":"bd-qobn","depends_on_id":"bd-ox1o","type":"blocks","created_at":"2025-12-28T19:00:23.651276-08:00","created_by":"daemon"}]}
|
||||
{"id":"bd-qpf3","title":"Bug: bd swarm create allows duplicate swarm molecules","description":"Running `bd swarm create \u003cepic\u003e` twice creates two swarm molecules for the same epic.\n\nShould check for existing swarm molecule linked to the epic and either:\n1. Error with 'swarm already exists: \u003cid\u003e'\n2. Warn and return existing swarm ID\n3. Add --force flag to allow creating another\n\nCheck by querying for molecules with mol_type=swarm that have a relates-to dependency to the epic.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-28T21:38:04.252522-08:00","created_by":"beads/crew/dave","updated_at":"2025-12-28T21:59:59.35812-08:00","closed_at":"2025-12-28T21:59:59.35812-08:00","dependencies":[{"issue_id":"bd-qpf3","depends_on_id":"bd-2ubv","type":"parent-child","created_at":"2025-12-28T21:38:44.740671-08:00","created_by":"daemon"}]}
|
||||
{"id":"bd-qph3","title":"Consolidate git context into single cached struct","description":"Code review finding from bd-7di fix.\n\nCurrently there are 3 separate caches:\n- isWorktreeOnce/isWorktreeResult\n- mainRepoRootOnce/mainRepoRootResult/mainRepoRootErr \n- repoRootOnce/repoRootResult\n\nThese have redundant git calls - e.g. both isWorktreeUncached() and getMainRepoRootUncached() call getGitDirNoError(\"--git-common-dir\").\n\nCould consolidate into a single cached struct:\n```go\ntype gitContext struct {\n gitDir string\n commonDir string\n repoRoot string\n isWorktree bool\n}\n```\n\nThis would reduce git calls further and simplify ResetCaches().\n\nFile: internal/git/gitdir.go","status":"closed","priority":4,"issue_type":"task","created_at":"2025-12-25T22:08:53.829215-08:00","updated_at":"2025-12-27T21:49:38.611332-08:00","closed_at":"2025-12-27T21:49:38.611332-08:00"}
|
||||
{"id":"bd-qqc","title":"Release v{{version}}","description":"SUPERSEDED by bd-7bs4. Use the new proto for releases.\n\n","status":"tombstone","priority":1,"issue_type":"epic","created_at":"2025-12-18T12:59:00.610371-08:00","updated_at":"2025-12-24T16:25:31.181723-08:00","labels":["template"],"deleted_at":"2025-12-24T16:25:31.181723-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"epic"}
|
||||
|
||||
11
.beads/mq/bd-2lkh.json
Normal file
11
.beads/mq/bd-2lkh.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"id": "bd-2lkh",
|
||||
"branch": "polecat/obsidian-1767138468820",
|
||||
"target": "main",
|
||||
"source_issue": "obsidian-1767138468820",
|
||||
"worker": "",
|
||||
"rig": "beads",
|
||||
"title": "Merge: obsidian-1767138468820",
|
||||
"priority": 2,
|
||||
"created_at": "2025-12-30T16:14:15.964858-08:00"
|
||||
}
|
||||
11
.beads/mq/bd-98b4.json
Normal file
11
.beads/mq/bd-98b4.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"id": "bd-98b4",
|
||||
"branch": "polecat/onyx-1767138516448",
|
||||
"target": "main",
|
||||
"source_issue": "onyx-1767138516448",
|
||||
"worker": "",
|
||||
"rig": "beads",
|
||||
"title": "Merge: onyx-1767138516448",
|
||||
"priority": 2,
|
||||
"created_at": "2025-12-30T16:17:51.540906-08:00"
|
||||
}
|
||||
Reference in New Issue
Block a user