Context
The reworked bmad-retrospective (upstream PR #2612) mines session logs as first-class evidence: they are "the only record of why a session took a strange turn — what was tried and abandoned" (references/evidence-gathering.md). For a bmad-loop-driven epic, the real session record is the run directory's journal — but the skill has no idea it exists, so its session-log input comes up empty on unattended runs.
The customization mechanism to fix this already exists and needs zero core code: _bmad/scripts/resolve_customization.py does a three-layer TOML merge — _bmad/custom/{skill}.user.toml → _bmad/custom/{skill}.toml (team, committed) → {skill-root}/customize.toml (defaults). Nothing ships or documents a bmad-retrospective override today.
Proposal
Ship a documented example _bmad/custom/bmad-retrospective.toml that points the skill's session-logs evidence input at bmad-loop run-dir journals, so retrospectives on orchestrated epics mine the actual process record (stall nudges, review rounds, timeout/rollback events) instead of finding nothing.
Scope:
- An example override file (installed by
bmad-loop init or shipped as a documented snippet — decide which; init-installed is more discoverable but writes into the consumer repo's _bmad/custom/).
- Operator docs: a short section on retro evidence for orchestrated runs — where journals live, what the override does, and the caveat that journals for archived/cleaned runs are gone (capture references early, as the skill itself advises).
- No changes to
src/bmad_loop/ — this is a customization + docs task.
Related: upstream bmad-code-org/BMAD-METHOD#2612; sibling issues for gates.retrospective="auto" and action-item ingestion.
Context
The reworked
bmad-retrospective(upstream PR #2612) mines session logs as first-class evidence: they are "the only record of why a session took a strange turn — what was tried and abandoned" (references/evidence-gathering.md). For a bmad-loop-driven epic, the real session record is the run directory's journal — but the skill has no idea it exists, so its session-log input comes up empty on unattended runs.The customization mechanism to fix this already exists and needs zero core code:
_bmad/scripts/resolve_customization.pydoes a three-layer TOML merge —_bmad/custom/{skill}.user.toml→_bmad/custom/{skill}.toml(team, committed) →{skill-root}/customize.toml(defaults). Nothing ships or documents abmad-retrospectiveoverride today.Proposal
Ship a documented example
_bmad/custom/bmad-retrospective.tomlthat points the skill's session-logs evidence input at bmad-loop run-dir journals, so retrospectives on orchestrated epics mine the actual process record (stall nudges, review rounds, timeout/rollback events) instead of finding nothing.Scope:
bmad-loop initor shipped as a documented snippet — decide which; init-installed is more discoverable but writes into the consumer repo's_bmad/custom/).src/bmad_loop/— this is a customization + docs task.Related: upstream bmad-code-org/BMAD-METHOD#2612; sibling issues for
gates.retrospective="auto"and action-item ingestion.