feat(elicitation): fall back to built-in methods on missing registry#2534
feat(elicitation): fall back to built-in methods on missing registry#2534devilliersdutoit wants to merge 3 commits into
Conversation
Replace the rejected halt-on-error guard (PR bmad-code-org#2517) with graceful degradation. When methods.csv is missing or malformed, the agent now proceeds using built-in default elicitation techniques and notes the fallback to the user, rather than failing the whole flow. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
🤖 Augment PR SummarySummary: Updates the Advanced Elicitation skill to degrade gracefully when the 🤖 Was this summary useful? React with 👍 or 👎 |
| **Action:** Load `./methods.csv` for elicitation methods. If party-mode may participate, resolve the agent roster via: | ||
| **Action:** Load `./methods.csv` for elicitation methods. | ||
|
|
||
| **Fallback (registry unavailable):** If `./methods.csv` cannot be read, is empty, or is malformed (missing the `num,category,method_name,description,output_pattern` header or containing no usable rows), do NOT halt. Proceed using a built-in default set of well-known elicitation techniques drawn from your own knowledge — for example: Critique and Refine, First Principles, Pre-Mortem, Red Team vs Blue Team, Stakeholder Round Table, Tree of Thoughts. Briefly note to the user that the method registry was unavailable so you are using built-in defaults, then continue the flow normally. |
There was a problem hiding this comment.
Later steps say to “execute the selected method using its description from the CSV”; in this fallback path there won’t be CSV descriptions, so consider clarifying that the agent should synthesize equivalent description/output_pattern fields for the built-in defaults to keep the Step 2 behavior consistent.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
📝 WalkthroughWalkthroughStep 1 of Changesbmad-advanced-elicitation SKILL.md fallback
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related issues
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
src/core-skills/bmad-advanced-elicitation/SKILL.md (3)
132-132: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick winUpdate Step 3 execution guidelines to handle missing registry fallback.
Line 132 instructs: "Use the description from CSV to understand and apply each method". When the fallback is active, descriptions come from the agent's built-in knowledge, not the CSV. The execution guidelines should acknowledge both sources or be written generically enough to cover the fallback case.
As per path instructions, source files under
src/**should check whether documentation underdocs/needs a corresponding update for new features or changed behavior.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/core-skills/bmad-advanced-elicitation/SKILL.md` at line 132, Update Step 3’s Method execution guidance in SKILL.md to cover both normal and fallback registry sources: the current text only refers to CSV descriptions, but when the registry fallback is active the method details come from built-in knowledge. Adjust the wording around the relevant Step 3 instructions so it is generic enough to use the available method description source, and verify whether the changed behavior also requires a corresponding docs/ update for the fallback behavior.Source: Path instructions
104-104: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick winUpdate Step 2 "Reshuffle" to handle missing registry fallback.
Line 104 instructs: "Select 5 random methods from methods.csv". When the fallback is active (registry unavailable), this instruction cannot be executed. The flow should specify how to reshuffle when only built-in defaults are available — e.g., selecting 5 from the built-in set or re-randomizing the same set.
As per path instructions, source files under
src/**should check whether documentation underdocs/needs a corresponding update for new features or changed behavior.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/core-skills/bmad-advanced-elicitation/SKILL.md` at line 104, Update the Step 2 “Reshuffle” guidance in SKILL.md so it works when the registry fallback is active and methods.csv is unavailable. In the reshuffle flow, reference the fallback path used by the built-in defaults and specify that the agent should either select 5 random items from the built-in set or re-randomize the existing built-in list instead of relying on methods.csv. Also check whether any corresponding docs under docs/ need to be updated to reflect this changed behavior.Source: Path instructions
116-118: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick winUpdate Step 2 "List All" to handle missing registry fallback.
Line 116 instructs: "List all methods with their descriptions from the CSV". When the fallback is active, there is no CSV to list from. The flow should specify how to list all methods when only the built-in default set is available.
As per path instructions, source files under
src/**should check whether documentation underdocs/needs a corresponding update for new features or changed behavior.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/core-skills/bmad-advanced-elicitation/SKILL.md` around lines 116 - 118, Update Step 2 “List All” so it works when the registry fallback is active by listing methods from the built-in default set instead of assuming a CSV source; adjust the flow around the “full list” selection and execution steps so they reference the same method source used by the active registry mode, and review whether any corresponding docs under docs/ need a matching behavior update for this fallback path.Source: Path instructions
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@src/core-skills/bmad-advanced-elicitation/SKILL.md`:
- Line 132: Update Step 3’s Method execution guidance in SKILL.md to cover both
normal and fallback registry sources: the current text only refers to CSV
descriptions, but when the registry fallback is active the method details come
from built-in knowledge. Adjust the wording around the relevant Step 3
instructions so it is generic enough to use the available method description
source, and verify whether the changed behavior also requires a corresponding
docs/ update for the fallback behavior.
- Line 104: Update the Step 2 “Reshuffle” guidance in SKILL.md so it works when
the registry fallback is active and methods.csv is unavailable. In the reshuffle
flow, reference the fallback path used by the built-in defaults and specify that
the agent should either select 5 random items from the built-in set or
re-randomize the existing built-in list instead of relying on methods.csv. Also
check whether any corresponding docs under docs/ need to be updated to reflect
this changed behavior.
- Around line 116-118: Update Step 2 “List All” so it works when the registry
fallback is active by listing methods from the built-in default set instead of
assuming a CSV source; adjust the flow around the “full list” selection and
execution steps so they reference the same method source used by the active
registry mode, and review whether any corresponding docs under docs/ need a
matching behavior update for this fallback path.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: fb079313-b7ac-45e4-b9d3-e3182e0fa531
📒 Files selected for processing (1)
src/core-skills/bmad-advanced-elicitation/SKILL.md
What
Replaces #2517 (closed). That PR halted Advanced Elicitation with an error when
methods.csvwas missing or malformed. Per maintainer feedback on #2517 — "it might be better for the agent to invent and still perform the AE instead of failing" — this takes the opposite, graceful approach.When
./methods.csvcannot be read, is empty, or is malformed, the skill no longer halts. Instead the agent:Why
A missing or corrupt registry should degrade gracefully, not block the user from running Advanced Elicitation at all. The agent already has deep knowledge of these techniques, so it can keep working.
Fixes #2516
Scope
One paragraph added to Step 1 of
src/core-skills/bmad-advanced-elicitation/SKILL.md. No code, no behavior change on the happy path.🤖 Generated with Claude Code