Repository navigation
chore: promote dev to main — parser fix, resilient messaging, startup guard #643
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
a2d7fc5
c5dbaf7
8aeaab5
c5ff6a7
bd1f04c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -162,10 +162,17 @@ export function parseWishGroups(content: string): GroupDefinition[] { | |
| let dependsOn: string[] = []; | ||
| if (depsMatch) { | ||
| const depsStr = depsMatch[1].trim(); | ||
| if (depsStr.toLowerCase() !== 'none') { | ||
| const depsNormalized = depsStr.replace(/\s*\([^)]*\)/g, '').trim(); | ||
| if (depsNormalized.toLowerCase() !== 'none') { | ||
| dependsOn = depsStr | ||
| .split(',') | ||
|
Comment on lines
167
to
168
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
The new parsing path still splits on commas before removing parenthetical comments, so inputs like Useful? React with 👍 / 👎. |
||
| .map((d) => d.trim().replace(/^group\s*/i, '')) | ||
| .map((d) => | ||
| d | ||
| .trim() | ||
| .replace(/^group\s*/i, '') | ||
| .replace(/\s*\(.*\)\s*$/, '') | ||
| .trim(), | ||
| ) | ||
| .filter(Boolean); | ||
|
Comment on lines
167
to
176
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The current logic for parsing If a parenthetical comment in the You are already creating dependsOn = depsNormalized
.split(',')
.map((d) => d.trim().replace(/^group\s*/i, ''))
.filter(Boolean); |
||
| } | ||
| } | ||
|
|
@@ -543,7 +550,7 @@ export async function workDispatchCommand(agentName: string, ref: string): Promi | |
| team: process.env.GENIE_TEAM ?? 'genie', | ||
| role: `${agentName}-${group}`, | ||
| extraArgs: ['--append-system-prompt-file', contextFile], | ||
| initialPrompt: `Execute Group ${group} of wish "${slug}". Your full context is in the system prompt. Read the wish at ${wishPath} if needed. Implement all deliverables, run validation, and report completion. When done, run: genie done ${slug}#${group}`, | ||
| initialPrompt: `Execute Group ${group} of wish "${slug}". Your full context is in the system prompt. Read the wish at ${wishPath} if needed. Implement all deliverables, run validation, and report completion.\n\nWhen done:\n1. Run: genie done ${slug}#${group}\n2. Run: genie send 'Group ${group} complete. <summary>' --to team-lead`, | ||
| }); | ||
| } | ||
|
|
||
|
|
@@ -598,7 +605,7 @@ export async function reviewCommand(agentName: string, ref: string): Promise<voi | |
| provider: 'claude', | ||
| team: process.env.GENIE_TEAM ?? 'genie', | ||
| extraArgs: ['--append-system-prompt-file', contextFile], | ||
| initialPrompt: `Review "${ref}". Your context and diff are in the system prompt. Evaluate against acceptance criteria and return SHIP, FIX-FIRST, or BLOCKED with severity-tagged findings.`, | ||
| initialPrompt: `Review "${ref}". Your context and diff are in the system prompt. Evaluate against acceptance criteria and return SHIP, FIX-FIRST, or BLOCKED with severity-tagged findings.\n\nWhen done, report your verdict:\nRun: genie send '<SHIP|FIX-FIRST|BLOCKED> — <summary>' --to team-lead`, | ||
| }); | ||
| } | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file appears to be a duplicate of
plugins/genie/agents/engineer/AGENTS.md. I've noticed this pattern for other agents as well (e.g.,fix,qa,reviewer,team-lead).Having duplicate agent definition files increases maintenance overhead and creates a risk of them becoming out of sync. To improve maintainability, I recommend consolidating these into a single file for each agent and removing the duplicate. You'll need to verify which file path is being used by the agent loading logic.