mirror of
https://github.com/bmad-code-org/BMAD-METHOD.git
synced 2026-09-19 08:11:52 +08:00
665643bbc4
Reinstates the bmad-dev-auto template renderer temporarily reverted in #2598, hardened. SKILL.md becomes a thin dispatch stub (uv run render.py) and the workflow/step files are rendered at skill entry with central-config values, the resolved [workflow] customization block, and absolute sibling cross-references baked in — no runtime config loading or resolve_customization.py call remains. Fail-early contract: anything the renderer can detect wrong HALTs on stdout with an error informative enough for the presiding inference to act on — missing, empty, or non-string config keys referenced by the sources; unknown or malformed [workflow] values (including non-scalar layer fields); unreadable or non-UTF-8 sources; and failed publish swaps. A publish swap lost to a concurrent renderer that already published byte-identical content remains a success (rendering is deterministic), and the last-good render is preserved for the next run on any other swap failure. Both render.py copies (dev-auto, quick-dev) change in lockstep; a drift test pins them byte-for-byte modulo skill names. New test/test-dev-auto-renderer.js covers rendering, overrides, review-layer materialization, every HALT path, and injected-rename publish failures; the quick-dev suite gains the no-op re-render and dispatch-line pins.