Skip to content

fix: correct validation step filenames in module workflow references#22

Draft
arcaven wants to merge 3 commits intobmad-code-org:mainfrom
arcaven:fix/broken-refs-wrong-validate-names
Draft

fix: correct validation step filenames in module workflow references#22
arcaven wants to merge 3 commits intobmad-code-org:mainfrom
arcaven:fix/broken-refs-wrong-validate-names

Conversation

@arcaven
Copy link
Contributor

@arcaven arcaven commented Feb 8, 2026

Summary

  • Fix 4 broken file references where validation steps are referenced by wrong filename
  • Module validate: step-01-validate.mdstep-01-load-target.md (2 refs)
  • Agent validate: step-01-validate.mdv-01-load-review.md (2 refs)

Found by

File reference validator (PR #8)

Fixes #15, #16

Files changed

File Fix
module/steps-c/step-07-complete.md step-01-validatestep-01-load-target
module/workflow-validate-module.md step-01-validatestep-01-load-target
module/steps-v/step-04-agent-specs.md step-01-validatev-01-load-review
module/steps-v/step-08-report.md step-01-validatev-01-load-review

Why 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

  • Chores
    • Updated workflow references across validation and review processes, redirecting to new workflow steps and altering the control flow for validation initialization.

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)
@coderabbitai
Copy link

coderabbitai bot commented Feb 8, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Walkthrough

This PR updates workflow file path references in four workflow configuration files, changing validation step entry points from non-existent step-01-validate.md paths to their correct targets: step-01-load-target.md for module validation workflows and v-01-load-review.md for agent validation workflows.

Changes

Cohort / File(s) Summary
Module validation workflow references
src/workflows/module/steps-c/step-07-complete.md, src/workflows/module/workflow-validate-module.md
Updated validateWorkflow path from non-existent step-01-validate.md to correct entry point step-01-load-target.md.
Agent validation workflow references
src/workflows/module/steps-v/step-04-agent-specs.md, src/workflows/module/steps-v/step-08-report.md
Updated agentValidationWorkflow path from step-01-validate.md to v-01-load-review.md.

Possibly Related Issues

Estimated Code Review Effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 A rabbit hops through broken links so fast,
Correcting paths from futures cast to past,
From validate.md (a ghost file never there!)
To load-target's true and honest care,
The workflows now shall flow with grace so right! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: correcting validation step filenames in module workflow references.
Linked Issues check ✅ Passed The pull request successfully addresses all coding requirements from linked issues #15 and #16, correcting four broken file references to point to actual existing files.
Out of Scope Changes check ✅ Passed All changes are in-scope: four file references corrected to match the linked issues' objectives with no unrelated modifications.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

❤️ Share

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

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

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 | 🟡 Minor

Update 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 references step-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'
Copy link

@coderabbitai coderabbitai bot Feb 8, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

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

Copy link

Choose a reason for hiding this comment

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

🧩 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/ → uses v-01-load-review.md
  • src/workflows/module/steps-v/ → uses step-01-load-target.md
  • src/workflows/workflow/steps-v/ → uses step-01-validate.md ✅ (exists and is correctly referenced)

Your PR is correct:

  • The 11 references to workflow/steps-v/step-01-validate.md are 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.
@arcaven
Copy link
Contributor Author

arcaven commented Feb 8, 2026

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).
@arcaven arcaven marked this pull request as draft February 13, 2026 03:10
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.

Broken ref: module validate workflow references non-existent step-01-validate.md

1 participant