Skip to content

feat(elicitation): fall back to built-in methods on missing registry#2534

Open
devilliersdutoit wants to merge 3 commits into
bmad-code-org:mainfrom
devilliersdutoit:feat/elicitation-registry-fallback
Open

feat(elicitation): fall back to built-in methods on missing registry#2534
devilliersdutoit wants to merge 3 commits into
bmad-code-org:mainfrom
devilliersdutoit:feat/elicitation-registry-fallback

Conversation

@devilliersdutoit

@devilliersdutoit devilliersdutoit commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

What

Replaces #2517 (closed). That PR halted Advanced Elicitation with an error when methods.csv was 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.csv cannot be read, is empty, or is malformed, the skill no longer halts. Instead the agent:

  1. Falls back to a built-in default set of well-known elicitation techniques drawn from its own knowledge (e.g. Critique and Refine, First Principles, Pre-Mortem, Red Team vs Blue Team, Stakeholder Round Table, Tree of Thoughts).
  2. Briefly notes to the user that the registry was unavailable and built-in defaults are being used.
  3. Continues the normal flow.

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

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>
@augmentcode

augmentcode Bot commented Jun 29, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Updates the Advanced Elicitation skill to degrade gracefully when the ./methods.csv registry is missing/empty/malformed so the flow can continue.
Change: Documents a built-in default method set fallback (with a brief user notice) instead of halting on registry load errors.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode 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.

Review completed. 1 suggestion posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

**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.

@augmentcode augmentcode Bot Jun 29, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

@coderabbitai

coderabbitai Bot commented Jun 29, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Step 1 of bmad-advanced-elicitation/SKILL.md is updated to handle failures when loading ./methods.csv. If the file is missing, unreadable, malformed, or empty, the agent now falls back to built-in default elicitation techniques, notifies the user, and continues the flow rather than halting.

Changes

bmad-advanced-elicitation SKILL.md fallback

Layer / File(s) Summary
methods.csv failure fallback
src/core-skills/bmad-advanced-elicitation/SKILL.md
Step 1 extended with non-halting fallback: on missing/unreadable/malformed/empty registry, use built-in defaults and briefly notify the user before continuing.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related issues

  • #2516: Both this PR and issue #2516 target the same Step 1 methods.csv registry-loading guard in SKILL.md, but propose opposite behaviors (fallback defaults vs. hard halt); this PR implements the fallback approach.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: falling back to built-in methods when the registry is missing.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The description accurately matches the change: graceful fallback to built-in elicitation methods when methods.csv is missing or malformed.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@coderabbitai coderabbitai 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.

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 win

Update 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 under docs/ 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 win

Update 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 under docs/ 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 win

Update 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 under docs/ 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

📥 Commits

Reviewing files that changed from the base of the PR and between 3dd8894 and ec46cdd.

📒 Files selected for processing (1)
  • src/core-skills/bmad-advanced-elicitation/SKILL.md

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.

feat: fall back to built-in methods when the elicitation registry is missing or malformed

1 participant