Skip to content

false bmad-init missing in A0 GUI #6

Description

@mcree

Summary

The BMAD A0 GUI dashboard can incorrectly report bmad-init missing even when the plugin is installed correctly and the active project context resolves normally.

Impact

  • Misleading blocker in BMAD dashboard
  • Suggests broken installation when the real issue is plugin code
  • Causes wasted debugging effort around project names, symlinks, and init state

Observed environment

  • Active project: /a0/usr/projects/soar
  • Dashboard context resolution after frontend fixes:
    • Frontend ctxid: lLzQ79fD
    • Backend ctxid: lLzQ79fD
    • Resolved project: /a0/usr/projects/soar
    • Resolution source: context:soar

This confirms the project/context path is working and the false missing-module warning is independent of project naming.

Root cause

In /a0/usr/plugins/bmad_method/helpers/bmad_status_core.py, check_modules() only checks for:

  • <skill>/module.yaml

But bmad-init stores its module file at:

  • /a0/usr/plugins/bmad_method/skills/bmad-init/core/module.yaml

So the health check marks bmad-init as missing even though it exists.

Filesystem evidence

Module Actual module file
bmad-init /a0/usr/plugins/bmad_method/skills/bmad-init/core/module.yaml
bmad-bmm /a0/usr/plugins/bmad_method/skills/bmad-bmm/module.yaml
bmad-bmb /a0/usr/plugins/bmad_method/skills/bmad-bmb/module.yaml
bmad-tea /a0/usr/plugins/bmad_method/skills/bmad-tea/module.yaml
bmad-cis /a0/usr/plugins/bmad_method/skills/bmad-cis/module.yaml

Minimal fix

Allow either module layout:

  • <skill>/module.yaml
  • <skill>/core/module.yaml

Suggested patch

--- a/helpers/bmad_status_core.py
+++ b/helpers/bmad_status_core.py
@@
 def check_modules(skills_dir: Path):
     ok, broken = [], []
     for n in SKILL_NAMES:
-        (ok if (skills_dir / n / "module.yaml").exists() else broken).append(n)
+        candidates = [skills_dir / n / "module.yaml", skills_dir / n / "core" / "module.yaml"]
+        (ok if any(p.exists() for p in candidates) else broken).append(n)
     return ok, broken

Expected result after fix

The BMAD dashboard should no longer report bmad-init missing when the plugin is installed correctly and bmad-init/core/module.yaml exists.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions