From 939f222c3531888021943b9b4b9a502e6f0e64f1 Mon Sep 17 00:00:00 2001 From: beads/crew/emma Date: Fri, 2 Jan 2026 17:10:43 -0800 Subject: [PATCH] fix: pass event/mol/time fields through --rig flag (bd-xwvo) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit createInRig was missing event fields (event_kind, actor, target, payload), molecule/agent fields (mol_type, role_type, rig), and time scheduling fields (due_at, defer_until). Now extracts these from cmd.Flags() directly. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- cmd/bd/create.go | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/cmd/bd/create.go b/cmd/bd/create.go index 524c746a..46a549b9 100644 --- a/cmd/bd/create.go +++ b/cmd/bd/create.go @@ -663,6 +663,42 @@ func createInRig(cmd *cobra.Command, rigName, title, description, issueType stri externalRefPtr = &externalRef } + // Extract event-specific flags (bd-xwvo fix) + eventCategory, _ := cmd.Flags().GetString("event-category") + eventActor, _ := cmd.Flags().GetString("event-actor") + eventTarget, _ := cmd.Flags().GetString("event-target") + eventPayload, _ := cmd.Flags().GetString("event-payload") + + // Extract molecule/agent flags (bd-xwvo fix) + molTypeStr, _ := cmd.Flags().GetString("mol-type") + var molType types.MolType + if molTypeStr != "" { + molType = types.MolType(molTypeStr) + } + roleType, _ := cmd.Flags().GetString("role-type") + agentRig, _ := cmd.Flags().GetString("agent-rig") + + // Extract time-based scheduling flags (bd-xwvo fix) + var dueAt *time.Time + dueStr, _ := cmd.Flags().GetString("due") + if dueStr != "" { + t, err := timeparsing.ParseRelativeTime(dueStr, time.Now()) + if err != nil { + FatalError("invalid --due format %q", dueStr) + } + dueAt = &t + } + + var deferUntil *time.Time + deferStr, _ := cmd.Flags().GetString("defer") + if deferStr != "" { + t, err := timeparsing.ParseRelativeTime(deferStr, time.Now()) + if err != nil { + FatalError("invalid --defer format %q", deferStr) + } + deferUntil = &t + } + // Create issue without ID - CreateIssue will generate one with the correct prefix issue := &types.Issue{ Title: title, @@ -677,6 +713,18 @@ func createInRig(cmd *cobra.Command, rigName, title, description, issueType stri ExternalRef: externalRefPtr, Ephemeral: wisp, CreatedBy: getActorWithGit(), + // Event fields (bd-xwvo fix) + EventKind: eventCategory, + Actor: eventActor, + Target: eventTarget, + Payload: eventPayload, + // Molecule/agent fields (bd-xwvo fix) + MolType: molType, + RoleType: roleType, + Rig: agentRig, + // Time scheduling fields (bd-xwvo fix) + DueAt: dueAt, + DeferUntil: deferUntil, } if err := targetStore.CreateIssue(ctx, issue, actor); err != nil {