Skip to content

chore: promote dev to main — parser fix, resilient messaging, startup guard - #643

Merged
namastex888 merged 5 commits into
mainfrom
dev
Mar 17, 2026
Merged

namastex888 merged 5 commits into
mainfrom
dev

Conversation

@namastex888

@namastex888 namastex888 commented Mar 17, 2026 •

Copy link
Copy Markdown
Contributor

Changes

PR What
#640 fix: startup guard resets core.bare on every genie invocation
#641 feat: resilient multi-channel messaging (genie done + genie send)
#642 fix: strip parenthetical comments from depends-on parser

First fully clean autonomous orchestration cycle — zero errors, zero crashes.

Merge with "Create a merge commit" — NEVER squash.

Summary by CodeRabbit

Release Notes

  • New Features

    • Enhanced task completion workflow with mandatory team notifications upon task completion
    • Added monitoring guidance for team leads to verify task status
  • Chores

    • Version updated to 3.260317.16 across plugin manifests and packages
  • Tests

    • Added test coverage for dependency parsing with improved comment handling

Test and others added 5 commits March 17, 2026 06:19
Engineer prompt now instructs workers to call both `genie done` (state)
and `genie send` (mailbox notification) on completion. Reviewer, QA,
and fix prompts add `genie send` for durable result reporting to
team-lead. Flat copies synced.
- Update initialPrompt in dispatch.ts to include `genie done` and
  `genie send` commands with actual slug/group values (Group 2)
- Update team-lead prompt with state-polling-first monitoring:
  `genie status` as primary, `genie inbox` as secondary,
  "state file is source of truth" (Group 3)
- Sync team-lead flat copy
feat: resilient multi-channel messaging
`depends-on: 1 (must be done first)` was parsed as dependency on
"1 (must be done first)" which doesn't match any group. Now strips
`(...)` suffixes from both the none-check and individual dep values.

Co-authored-by: Test <test@test.com>
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request integrates several key improvements and fixes from the development branch into the main codebase. The primary focus is on enhancing the robustness and reliability of the genie orchestration toolkit through better messaging, a critical parser fix, and a startup stability improvement. These changes collectively contribute to a more stable and predictable autonomous orchestration cycle.

Highlights

  • Version Promotion: The genie plugin and related packages have been promoted to version 3.260317.16 across all configuration files, signifying a new release from the development branch to main.
  • Startup Guard Fix: An issue where the startup guard would incorrectly reset core.bare on every genie invocation has been resolved, improving stability.
  • Resilient Multi-Channel Messaging: Enhanced multi-channel messaging for genie done and genie send commands has been implemented, improving notification reliability and worker coordination. Agent instructions have been updated to reflect these new mandatory reporting steps.
  • Depends-On Parser Improvement: The depends-on parser now correctly strips parenthetical comments from dependency values, leading to more accurate dependency resolution in wish groups.
Changelog
  • .claude-plugin/marketplace.json
    • Updated the plugin version to 3.260317.16.
  • openclaw.plugin.json
    • Updated the plugin version to 3.260317.16.
  • package.json
    • Updated the package version to 3.260317.16.
  • plugins/genie/.claude-plugin/plugin.json
    • Updated the plugin version to 3.260317.16.
  • plugins/genie/agents/engineer.md
    • Updated completion reporting instructions to include genie send for durable notifications.
  • plugins/genie/agents/engineer/AGENTS.md
    • Updated completion reporting instructions to include genie send for durable notifications.
  • plugins/genie/agents/fix.md
    • Added mandatory completion reporting instructions using genie send.
  • plugins/genie/agents/fix/AGENTS.md
    • Added mandatory completion reporting instructions using genie send.
  • plugins/genie/agents/qa.md
    • Added mandatory completion reporting instructions using genie send for QA results.
  • plugins/genie/agents/qa/AGENTS.md
    • Added mandatory completion reporting instructions using genie send for QA results.
  • plugins/genie/agents/reviewer.md
    • Added mandatory completion reporting instructions using genie send for review verdicts.
  • plugins/genie/agents/reviewer/AGENTS.md
    • Added mandatory completion reporting instructions using genie send for review verdicts.
  • plugins/genie/agents/team-lead.md
    • Added a new monitoring section clarifying the role of state files versus messages for tracking progress.
  • plugins/genie/agents/team-lead/AGENTS.md
    • Added a new monitoring section clarifying the role of state files versus messages for tracking progress.
  • plugins/genie/package.json
    • Updated the plugin package version to 3.260317.16.
  • src/term-commands/dispatch.test.ts
    • Added a new test case to verify stripping parenthetical comments from depends-on values.
  • src/term-commands/dispatch.ts
    • Modified parseWishGroups to strip parenthetical comments from depends-on values.
    • Updated initialPrompt for workDispatchCommand and reviewCommand to include genie send instructions.
Activity
  • No human activity has been recorded on this pull request since its creation.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩

@coderabbitai

coderabbitai Bot commented Mar 17, 2026 •

Copy link
Copy Markdown

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

This PR updates the genie plugin version from 3.260317.14 to 3.260317.16, enhances dependency parsing to strip parenthetical comments from group dependencies, and adds mandatory completion workflows requiring agent workers to send durable notifications to team-lead upon task completion.

Changes

Cohort / File(s) Summary
Version Bumps
.claude-plugin/marketplace.json, openclaw.plugin.json, package.json, plugins/genie/.claude-plugin/plugin.json, plugins/genie/package.json
Version incremented from 3.260317.14 to 3.260317.16 across all manifest and package files.
Agent Completion Reporting
plugins/genie/agents/engineer.md, plugins/genie/agents/fix.md, plugins/genie/agents/qa.md, plugins/genie/agents/reviewer.md
Added mandatory completion_reporting blocks instructing agents to send durable messages to team-lead via genie send with formatted summaries (engineer: includes validation/commit steps; fix/qa/reviewer: include pass/fail/verdict markers).
Agent Documentation
plugins/genie/agents/.../AGENTS.md (engineer, fix, qa, reviewer)
Corresponding documentation files expanded to detail completion_reporting workflows and mandatory notification requirements.
Team-Lead Guidance
plugins/genie/agents/team-lead.md, plugins/genie/agents/team-lead/AGENTS.md
Added monitoring section clarifying state file as source of truth and prescribing check order: genie status (primary), genie inbox (secondary), with explicit warning against relying solely on messages.
Dependency Parsing & Dispatch
src/term-commands/dispatch.ts, src/term-commands/dispatch.test.ts
Modified parseWishGroups to normalize and strip parenthetical comments from depends-on values; augmented workDispatchCommand and reviewCommand prompts with explicit "When done" multi-step completion instructions; added test coverage for comment stripping.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title references three distinct changes (parser fix, resilient messaging, startup guard) that are well-supported by the changeset, covering version bumps, completion reporting updates, dependency parser fixes, and monitoring guidance additions.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request incorporates several updates, including a parser fix for depends-on clauses, the introduction of resilient messaging via genie send, and a startup guard fix. The version numbers have been bumped accordingly across multiple configuration files.

My review has identified a couple of areas for improvement:

  • A potential bug in the depends-on parser logic which can be simplified and made more robust.
  • Several duplicated agent definition files (.md), which pose a maintainability risk.

Details and suggestions are provided in the specific comments.

Comment on lines 167 to 176
dependsOn = depsStr
.split(',')
.map((d) => d.trim().replace(/^group\s*/i, ''))
.map((d) =>
d
.trim()
.replace(/^group\s*/i, '')
.replace(/\s*\(.*\)\s*$/, '')
.trim(),
)
.filter(Boolean);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The current logic for parsing depends-on has a potential bug and can be simplified.

If a parenthetical comment in the depends-on string contains a comma, the depsStr.split(',') call will incorrectly split the dependency. For example: depends-on: Group 1 (has a, comma), Group 2.

You are already creating depsNormalized which correctly strips all comments. You can simplify the logic and fix the bug by using depsNormalized for splitting and mapping, instead of the original depsStr. This also removes the need for the second regex to remove comments inside the map function.

        dependsOn = depsNormalized
          .split(',')
          .map((d) => d.trim().replace(/^group\s*/i, ''))
          .filter(Boolean);


## 7. Report Completion
After completing all deliverables and validation, call `genie done <slug>#<group>` to report completion. The slug and group are in your initial prompt. This signals the orchestrator that your work is finished so it can advance to the next wave.
After completing all deliverables and validation:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

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.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bd1f04cd24

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 167 to 168
dependsOn = depsStr
.split(',')

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Strip comments before splitting depends-on values

The new parsing path still splits on commas before removing parenthetical comments, so inputs like **depends-on:** Group 1 (setup, run first) are tokenized into two dependencies and can make state initialization fail with non-existent group references. This affects wishes that include natural-language parenthetical notes containing commas, which the surrounding changes are trying to support.

Useful? React with 👍 / 👎.

@namastex888
namastex888 merged commit 79fde83 into main Mar 17, 2026
9 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant