bd sync: 2025-12-25 16:39:39
This commit is contained in:
@@ -370,7 +370,7 @@
|
||||
{"id":"gt-8tmz.22","title":"Review dimensions as aspects","description":"Refactor code-review molecule to use aspects for each review dimension (security, performance, accessibility). More flexible than current pluggable molecule approach - add/remove checks by composing aspects.","status":"open","priority":3,"issue_type":"feature","created_at":"2025-12-23T18:45:49.336541-08:00","updated_at":"2025-12-23T18:45:49.336541-08:00","dependencies":[{"issue_id":"gt-8tmz.22","depends_on_id":"gt-8tmz","type":"parent-child","created_at":"2025-12-23T18:45:49.338462-08:00","created_by":"daemon"}]}
|
||||
{"id":"gt-8tmz.23","title":"Compile-time vs runtime cooking","description":"Distinguish two cooking modes: 1) Compile-time: produces proto with variable placeholders, for modeling/estimation/contractor handoff. 2) Runtime: produces mol with real issue IDs. Compile-time lets you pre-decompose work for untrusted executors or planning purposes.","status":"open","priority":2,"issue_type":"feature","created_at":"2025-12-23T18:45:50.5263-08:00","updated_at":"2025-12-23T18:45:50.5263-08:00","dependencies":[{"issue_id":"gt-8tmz.23","depends_on_id":"gt-8tmz","type":"parent-child","created_at":"2025-12-23T18:45:50.527834-08:00","created_by":"daemon"}]}
|
||||
{"id":"gt-8tmz.24","title":"Document Rig/Cook/Run lifecycle","description":"The rig-cook-run.md spec is written. Propagate terminology to all relevant docs: - molecule-algebra.md (done) - molecular-chemistry.md (done) - vision.md (done) - propulsion-principle.md - sling-design.md - Any agent templates that reference cooking/instantiation","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-23T19:18:26.167525-08:00","updated_at":"2025-12-25T12:30:00.61514-08:00","closed_at":"2025-12-25T12:30:00.61514-08:00","close_reason":"Updated propulsion-principle.md, sling-design.md, molecules.md, and architecture.md with Rig/Cook/Run lifecycle terminology","dependencies":[{"issue_id":"gt-8tmz.24","depends_on_id":"gt-8tmz","type":"parent-child","created_at":"2025-12-23T19:18:26.16795-08:00","created_by":"daemon"}]}
|
||||
{"id":"gt-8tmz.25","title":"Implement bd bond command for artifact-level composition","description":"Implement the artifact-level bond operator distinct from source-level rigging.\n\nBond accepts:\n- Formula names (cooks inline to ephemeral proto, then bonds)\n- Mol IDs (existing liquid work)\n- Wisp IDs (existing vapor work)\n\nSee molecular-chemistry.md for the full bond table semantics.\n\n**Updated 2025-12-25**: With ephemeral protos (gt-4v1eo), bond takes formula names directly and cooks inline. No pre-cooked proto beads.","status":"in_progress","priority":2,"issue_type":"task","created_at":"2025-12-23T19:18:27.245107-08:00","updated_at":"2025-12-25T16:32:20.308488-08:00","dependencies":[{"issue_id":"gt-8tmz.25","depends_on_id":"gt-8tmz","type":"parent-child","created_at":"2025-12-23T19:18:27.246957-08:00","created_by":"daemon"}]}
|
||||
{"id":"gt-8tmz.25","title":"Implement bd bond command for artifact-level composition","description":"Implement the artifact-level bond operator distinct from source-level rigging.\n\nBond accepts:\n- Formula names (cooks inline to ephemeral proto, then bonds)\n- Mol IDs (existing liquid work)\n- Wisp IDs (existing vapor work)\n\nSee molecular-chemistry.md for the full bond table semantics.\n\n**Updated 2025-12-25**: With ephemeral protos (gt-4v1eo), bond takes formula names directly and cooks inline. No pre-cooked proto beads.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-23T19:18:27.245107-08:00","updated_at":"2025-12-25T16:39:37.850809-08:00","closed_at":"2025-12-25T16:39:37.850809-08:00","close_reason":"Implemented formula name support in bd mol bond - formulas are now cooked inline as ephemeral protos","dependencies":[{"issue_id":"gt-8tmz.25","depends_on_id":"gt-8tmz","type":"parent-child","created_at":"2025-12-23T19:18:27.246957-08:00","created_by":"daemon"}]}
|
||||
{"id":"gt-8tmz.26","title":"Direct formula-to-wisp instantiation (skip proto)","description":"For massive ephemeral workflows (e.g., million-step Towers of Hanoi), allow:\n\nbd wisp towers-of-hanoi --var disks=20\n\nThis would cook + wisp in one step, never materializing the proto. Useful when:\n- The proto would be huge (1M+ steps)\n- The work is ephemeral (wisp, not mol)\n- You don't need the intermediate artifact\n\nImplementation: streaming cook that emits directly to wisp storage.\n\nRelated: towers-of-hanoi.formula.yaml demonstrates the use case.","status":"closed","priority":2,"issue_type":"feature","created_at":"2025-12-23T19:26:53.377902-08:00","updated_at":"2025-12-25T14:28:49.111955-08:00","closed_at":"2025-12-25T14:28:49.111955-08:00","close_reason":"Superseded by gt-4v1eo - ephemeral protos is now the general approach, not a special case for large workflows","dependencies":[{"issue_id":"gt-8tmz.26","depends_on_id":"gt-8tmz","type":"parent-child","created_at":"2025-12-23T19:26:53.378307-08:00","created_by":"daemon"}]}
|
||||
{"id":"gt-8tmz.27","title":"Computed range expansion (for-each over expressions)","description":"Support for-each expansion over computed ranges, not just static lists:\n\nfor-each:\n var: move_num\n range: \"1..2^{disks}\" # Computed at cook time\n\nThis enables formulas like Towers of Hanoi where the step count is a function of input variables. The range expression is evaluated during cooking.\n\nRelated: towers-of-hanoi.formula.yaml demonstrates the need.\nDepends on: gt-8tmz.8 (Runtime dynamic expansion)","status":"open","priority":2,"issue_type":"feature","created_at":"2025-12-23T19:27:02.71296-08:00","updated_at":"2025-12-23T19:27:02.71296-08:00","dependencies":[{"issue_id":"gt-8tmz.27","depends_on_id":"gt-8tmz","type":"parent-child","created_at":"2025-12-23T19:27:02.713399-08:00","created_by":"daemon"},{"issue_id":"gt-8tmz.27","depends_on_id":"gt-8tmz.8","type":"blocks","created_at":"2025-12-23T19:27:08.191351-08:00","created_by":"daemon"}]}
|
||||
{"id":"gt-8tmz.28","title":"Formula error handling and recovery","description":"Specify how cooking errors are reported and recovered:\n- What happens when extends chain is broken (missing formula)?\n- What happens when aspect pointcut matches nothing?\n- What happens when expansion produces invalid structure?\n- Graceful degradation vs fail-fast semantics\n- Error metadata in cooked protos\n\nDeferred: post-launch polish","status":"open","priority":4,"issue_type":"task","created_at":"2025-12-23T20:06:28.452872-08:00","updated_at":"2025-12-23T20:06:28.452872-08:00","dependencies":[{"issue_id":"gt-8tmz.28","depends_on_id":"gt-8tmz","type":"parent-child","created_at":"2025-12-23T20:06:28.453346-08:00","created_by":"daemon"}]}
|
||||
@@ -439,6 +439,7 @@
|
||||
{"id":"gt-9mzd","title":"Refinery not processing merge-requests - stale MRs accumulating","description":"Discovered 15 stale merge-request issues in beads rig that were never processed by the refinery. These appear to be from polecat branches that completed work but the refinery didn't pick up the merge-requests.\n\nClosed issues:\n- bd-r06v, bd-bhg7, bd-754r, bd-fcl1, bd-3zzh\n- bd-bijf, bd-5rj1, bd-kptp, bd-rdzk, bd-ibl9\n- bd-gfo3, bd-aq3s, bd-x2bd, bd-s1pz, bd-h27p\n\nNeed to investigate:\n1. Why refinery isn't picking up merge-requests\n2. Whether the polecat branches have valid work to merge\n3. Add monitoring/alerting for stale MRs","status":"open","priority":2,"issue_type":"bug","created_at":"2025-12-23T19:12:08.629863-08:00","updated_at":"2025-12-23T19:12:08.629863-08:00"}
|
||||
{"id":"gt-9mzv1","title":"Digest: mol-deacon-patrol","description":"Patrol 14: All healthy","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T00:34:41.715664-08:00","updated_at":"2025-12-25T00:34:41.715664-08:00","closed_at":"2025-12-25T00:34:41.715627-08:00"}
|
||||
{"id":"gt-9nf","title":"gt spawn should create fresh polecat worktree, never reuse","description":"Currently gt spawn tries to reuse existing polecats, which causes:\n\n1. Stale beads database\n2. Stale code (behind main/integration)\n3. Old inbox messages\n4. Git history pollution\n\n## Current Behavior\n\ngt spawn:\n1. Looks for idle polecat in pool\n2. If found, reuses existing worktree\n3. Assigns new issue\n\n## Desired Behavior\n\ngt spawn:\n1. Always create FRESH polecat from current main/integration\n2. Fresh worktree with clean beads\n3. No reuse of old worktrees\n\n## Name Pool Still Useful\n\nKeep name pool for:\n- Allocating themed names (mad-max, etc.)\n- Tracking which names are in use\n\nBut worktrees should be created fresh each time.\n\n## Implementation\n\nIn spawn.go, before starting work:\n1. If worktree exists: remove it first\n2. Create fresh worktree from integration branch\n3. Sync beads from rig to polecat\n4. Then proceed with work assignment\n\nThis ensures polecats always start with latest code and beads.","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-20T15:23:35.250531-08:00","updated_at":"2025-12-21T15:38:41.381329-08:00","closed_at":"2025-12-21T15:38:41.381329-08:00","close_reason":"Already implemented in commit 82d718e","dependencies":[{"issue_id":"gt-9nf","depends_on_id":"gt-8v8","type":"blocks","created_at":"2025-12-20T15:40:09.069331-08:00","created_by":"daemon"}]}
|
||||
{"id":"gt-9o0bf","title":"Digest: mol-deacon-patrol","description":"Patrol 17: All clear","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T16:38:56.364854-08:00","updated_at":"2025-12-25T16:38:56.364854-08:00","closed_at":"2025-12-25T16:38:56.364823-08:00","close_reason":"Squashed from 8 wisps","dependencies":[{"issue_id":"gt-9o0bf","depends_on_id":"gt-3gbp8","type":"parent-child","created_at":"2025-12-25T16:38:56.365579-08:00","created_by":"deacon"}]}
|
||||
{"id":"gt-9o9s","title":"gt mail inbox shows wrong identity when run from deacon directory","description":"When running 'gt mail inbox' from ~/gt/deacon/, it shows 'Inbox: mayor/' instead of 'Inbox: deacon/'. The role detection works (deacon checks in correctly), but mail identity detection is broken.","status":"open","priority":2,"issue_type":"bug","created_at":"2025-12-23T13:29:11.801311-08:00","updated_at":"2025-12-23T13:29:11.801311-08:00"}
|
||||
{"id":"gt-9ojgy","title":"Digest: mol-deacon-patrol","description":"Patrol 6: Nominal","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-24T23:48:38.058041-08:00","updated_at":"2025-12-24T23:48:38.058041-08:00","closed_at":"2025-12-24T23:48:38.058007-08:00","close_reason":"Squashed from 8 wisps"}
|
||||
{"id":"gt-9pyg","title":"Deacon tmux status bar: heartbeat timing and patrol state","description":"## Problem\n\nThe deacon shows patrol output but lacks real-time observability:\n- No indication of when last heartbeat occurred\n- No indication of when next heartbeat is scheduled\n- No visibility into current patrol step\n\n## Desired Behavior\n\nThe tmux status bar for gt-deacon should show:\n\n```\n⛪ Deacon | ❤️ 2m ago | ⏰ 3m | 📍 health-scan (3/7)\n```\n\nComponents:\n- **Role icon**: ⛪ (deacon identity)\n- **Last heartbeat**: ❤️ 2m ago (time since last heartbeat file update)\n- **Next heartbeat**: ⏰ 3m (time until daemon would poke)\n- **Current step**: 📍 health-scan (3/7) (current patrol atom, step N of M)\n\n## Implementation\n\n1. **Read heartbeat.json** for last update time\n2. **Calculate next poke** based on daemon interval (default 5m)\n3. **Read current wisp** from .beads-wisp/ to get patrol progress\n4. **Update tmux status** periodically or on state change\n\nOptions:\n- tmux status-right with shell script\n- gt deacon status --tmux for formatted output\n- Hook into patrol step completion\n\n## Related\n\n- gt-id36: Deacon Kernel epic\n- gt-3x0z: Wisp Molecule Integration","status":"open","priority":2,"issue_type":"feature","created_at":"2025-12-22T03:03:38.693983-08:00","updated_at":"2025-12-22T03:03:38.693983-08:00"}
|
||||
|
||||
Reference in New Issue
Block a user