fix: correct validation step filenames in module workflow references#22
fix: correct validation step filenames in module workflow references#22arcaven wants to merge 3 commits intobmad-code-org:mainfrom
Conversation
Module validate workflow and steps referenced step-01-validate.md which doesn't exist. Corrected to step-01-load-target.md (module) and v-01-load-review.md (agent) which are the actual entry points for their validation flows. Fixes bmad-code-org#15, bmad-code-org#16 Found by file reference validator (PR bmad-code-org#8)
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Use the checkbox below for a quick retry:
WalkthroughThis PR updates workflow file path references in four workflow configuration files, changing validation step entry points from non-existent Changes
Possibly Related Issues
Estimated Code Review Effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Tip Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord. 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.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/workflows/module/workflow-validate-module.md (1)
66-66:⚠️ Potential issue | 🟡 MinorUpdate the comment to match the corrected filename.
The comment still references the old filename
(steps-v/step-01-validate.md)while the frontmatter on line 6 correctly referencesstep-01-load-target.md. This inconsistency between the configuration and documentation comment could confuse maintainers.📝 Proposed fix to align comment with frontmatter
-Then load, read completely, and execute `{validateWorkflow}` (steps-v/step-01-validate.md) +Then load, read completely, and execute `{validateWorkflow}` (steps-v/step-01-load-target.md)
🤖 Fix all issues with AI agents
In `@src/workflows/module/workflow-validate-module.md`:
- Line 6: Several files still reference the old step path; update every
reference of src/workflows/workflow/steps-v/step-01-validate.md to the new path
./steps-v/step-01-load-target.md (notably the validateWorkflow property in
src/workflows/module/workflow-validate-module.md and the listed files:
src/workflows/workflow/workflow-validate-workflow.md,
src/workflows/workflow/steps-e/step-e-06-validate-after.md,
src/workflows/workflow/steps-e/step-e-05-apply-edit.md,
src/workflows/workflow/steps-e/step-e-01-assess-workflow.md,
src/workflows/module/steps-v/step-08-report.md,
src/workflows/module/steps-v/step-05-workflow-specs.md,
src/workflows/module/workflow-validate-module.md,
src/workflows/workflow/steps-c/step-10-confirmation.md,
src/workflows/workflow/steps-c/step-07-foundation.md, and
src/workflows/workflow/data/trimodal-workflow-structure.md), verify no other
lingering references remain, then delete the obsolete file
src/workflows/workflow/steps-v/step-01-validate.md once all references are
updated and tests/docs render correctly.
| web_bundle: true | ||
| installed_path: '{project-root}/_bmad/bmb/workflows/module' | ||
| validateWorkflow: './steps-v/step-01-validate.md' | ||
| validateWorkflow: './steps-v/step-01-load-target.md' |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Verify the new validation entry files exist and check for stale references
echo "=== Checking module validation files ==="
# Check if new files exist
fd -t f "step-01-load-target.md" src/workflows/module/steps-v/
fd -t f "v-01-load-review.md" src/workflows/agent/steps-v/
echo -e "\n=== Checking for stale references to old filenames ==="
# Search for any remaining references to old filenames
rg -n "step-01-validate\.md" src/workflows/
echo -e "\n=== Checking if old files still exist (should be empty) ==="
fd -t f "step-01-validate.md" src/workflows/Repository: bmad-code-org/bmad-builder
Length of output: 2096
Update references across multiple files before finalizing this change.
The new reference to ./steps-v/step-01-load-target.md exists, but stale references to the old step-01-validate.md remain in 15+ locations across the codebase:
- src/workflows/workflow/workflow-validate-workflow.md
- src/workflows/workflow/steps-e/step-e-06-validate-after.md
- src/workflows/workflow/steps-e/step-e-05-apply-edit.md
- src/workflows/workflow/steps-e/step-e-01-assess-workflow.md
- src/workflows/module/steps-v/step-08-report.md
- src/workflows/module/steps-v/step-05-workflow-specs.md
- src/workflows/module/workflow-validate-module.md (line 66)
- src/workflows/workflow/steps-c/step-10-confirmation.md
- src/workflows/workflow/steps-c/step-07-foundation.md
- src/workflows/workflow/data/trimodal-workflow-structure.md
Update all references to point to the new file path, and remove the old src/workflows/workflow/steps-v/step-01-validate.md file once all references are updated.
🤖 Prompt for AI Agents
In `@src/workflows/module/workflow-validate-module.md` at line 6, Several files
still reference the old step path; update every reference of
src/workflows/workflow/steps-v/step-01-validate.md to the new path
./steps-v/step-01-load-target.md (notably the validateWorkflow property in
src/workflows/module/workflow-validate-module.md and the listed files:
src/workflows/workflow/workflow-validate-workflow.md,
src/workflows/workflow/steps-e/step-e-06-validate-after.md,
src/workflows/workflow/steps-e/step-e-05-apply-edit.md,
src/workflows/workflow/steps-e/step-e-01-assess-workflow.md,
src/workflows/module/steps-v/step-08-report.md,
src/workflows/module/steps-v/step-05-workflow-specs.md,
src/workflows/module/workflow-validate-module.md,
src/workflows/workflow/steps-c/step-10-confirmation.md,
src/workflows/workflow/steps-c/step-07-foundation.md, and
src/workflows/workflow/data/trimodal-workflow-structure.md), verify no other
lingering references remain, then delete the obsolete file
src/workflows/workflow/steps-v/step-01-validate.md once all references are
updated and tests/docs render correctly.
There was a problem hiding this comment.
There's some irony in using classical software engineering — directory trees, path resolution, domain boundaries — to defend an AI-native codebase from an AI reviewer making exactly the kind of pattern-matching generalization mistake these workflows are designed to prevent.
src/workflows/ has three domains with separate steps-v/ directories. workflow/steps-v/step-01-validate.md exists and is correctly referenced by the 10+ workflow-domain files found in the search. This PR only fixes the 4 refs pointing to files that don't exist in their respective domains. Deleting workflow/steps-v/step-01-validate.md would break the workflow validation flow... unless I've confused myself lol
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify the three-domain structure and file existence
echo "=== Checking domain structure under src/workflows/ ==="
fd -t d "steps-v" src/workflows/
echo -e "\n=== Checking for step-01-validate.md files ==="
fd -t f "step-01-validate.md" src/workflows/
echo -e "\n=== Checking for step-01-load-target.md files ==="
fd -t f "step-01-load-target.md" src/workflows/
echo -e "\n=== Checking for v-01-load-review.md files ==="
fd -t f "v-01-load-review.md" src/workflows/
echo -e "\n=== Examining workflow domain references to step-01-validate.md ==="
rg -n "step-01-validate\.md" src/workflows/workflow/
echo -e "\n=== Examining module domain references to step-01-validate.md (should be empty after this PR) ==="
rg -n "step-01-validate\.md" src/workflows/module/
echo -e "\n=== Examining agent domain references to step-01-validate.md (should be empty after this PR) ==="
rg -n "step-01-validate\.md" src/workflows/agent/ 2>/dev/null || echo "No agent directory or no matches"
Length of output: 2369
@arcaven You're absolutely right, and I apologize for the incorrect review comment. The script output confirms the three-domain architecture:
Domain Structure Verified:
src/workflows/agent/steps-v/→ usesv-01-load-review.mdsrc/workflows/module/steps-v/→ usesstep-01-load-target.mdsrc/workflows/workflow/steps-v/→ usesstep-01-validate.md✅ (exists and is correctly referenced)
Your PR is correct:
- The 11 references to
workflow/steps-v/step-01-validate.mdare valid cross-domain or intra-domain references - The 2 module files (
step-08-report.md,step-05-workflow-specs.md) correctly reference the workflow domain's validation step - This PR fixes exactly the 4 broken references where files pointed to non-existent validation steps in their own domains
The irony you pointed out is well-taken—I fell into exactly the pattern-matching trap by treating all step-01-validate.md references as uniform without respecting the domain boundaries. My original comment should be disregarded.
Update documentation hint on line 66 to reference step-01-load-target.md, matching the frontmatter fix from the previous commit.
|
Re: the outside-diff comment about the stale comment on line 66 — good catch, fixed in ee62c7a. |
Take path fixes from main (../data/) and filename fix from PR branch (v-01-load-review.md).
Summary
step-01-validate.md→step-01-load-target.md(2 refs)step-01-validate.md→v-01-load-review.md(2 refs)Found by
File reference validator (PR #8)
Fixes #15, #16
Files changed
module/steps-c/step-07-complete.mdstep-01-validate→step-01-load-targetmodule/workflow-validate-module.mdstep-01-validate→step-01-load-targetmodule/steps-v/step-04-agent-specs.mdstep-01-validate→v-01-load-reviewmodule/steps-v/step-08-report.mdstep-01-validate→v-01-load-reviewWhy is this safe
These are frontmatter path corrections only. Each fix points the reference to the validation step file that actually exists and serves as the entry point for its respective validation flow.
Summary by CodeRabbit