Skip to content

feat(elicitation): halt with clear error on missing/malformed registry#2517

Open
devilliersdutoit wants to merge 1 commit into
bmad-code-org:mainfrom
devilliersdutoit:feat/elicitation-registry-load-guard
Open

feat(elicitation): halt with clear error on missing/malformed registry#2517
devilliersdutoit wants to merge 1 commit into
bmad-code-org:mainfrom
devilliersdutoit:feat/elicitation-registry-load-guard

Conversation

@devilliersdutoit

Copy link
Copy Markdown
Contributor

What

Add a registry load guard to bmad-advanced-elicitation Step 1: HALT with a clear error if methods.csv is missing, empty, or malformed.

Why

Step 1 loaded methods.csv with no failure path, so a missing/corrupted registry made the agent silently invent methods from memory. This fails fast with an explicit message instead.
Fixes #2516

How

  • Insert a natural-language HALT after the load step: unreadable / empty / wrong header / no rows → stop and report.
  • Forbid inventing methods or proceeding from memory.
  • Natural-language only; no code, no new control surface.

Testing

  • npm run validate:refs, npm run validate:skills, and markdownlint on the file: no new findings vs main (verified by diffing counts with/without the change).
  • Confirmed the guard text matches the actual CSV header.

@augmentcode

augmentcode Bot commented Jun 27, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Adds a Step 1 registry guard to bmad-advanced-elicitation so it HALTs with a clear error when methods.csv is missing, empty, or malformed.

Why: Prevents the agent from silently inventing elicitation methods when the method registry can’t be loaded.

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

**HALT — registry guard:** If `./methods.csv` cannot be read, is empty, is missing the header `num,category,method_name,description,output_pattern`, or contains no method rows, STOP immediately and report to the user: "Advanced Elicitation cannot run — the method registry `methods.csv` is missing or malformed." Do NOT invent methods or proceed from memory.

@augmentcode augmentcode Bot Jun 27, 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.

This instructs the agent to report an exact quoted (English) message, which may conflict with the earlier requirement to always speak output in {communication_language} and lead to inconsistent behavior in non-English runs.

Severity: medium

Fix This in Augment

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

@coderabbitai

coderabbitai Bot commented Jun 27, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 6b8a3882-8e0f-4c13-bb8c-187ecece688e

📥 Commits

Reviewing files that changed from the base of the PR and between 35b19db and 2e4551f.

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

📝 Walkthrough

Walkthrough

Step 1 now requires methods.csv to be readable, non-empty, and structurally valid before continuing; otherwise the skill halts with a fixed error message.

Changes

Advanced Elicitation Registry Guard

Layer / File(s) Summary
Step 1 registry validation
src/core-skills/bmad-advanced-elicitation/SKILL.md
Step 1 now requires methods.csv to load successfully, include the required header, and contain at least one method row, or it stops with the specified error message.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: halting on a missing or malformed registry.
Description check ✅ Passed The description is directly related to the change and accurately explains the fail-fast registry guard.
Linked Issues check ✅ Passed The PR adds the requested Step 1 HALT guard for missing, empty, malformed, or header-mismatched methods.csv.
Out of Scope Changes check ✅ Passed The change stays scoped to a small SKILL.md-only natural-language guard with no unrelated additions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ 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.

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: halt with a clear error when the elicitation registry is missing or malformed

1 participant