src/core-skills/bmad-deep-recon/references/finalize.md
Every mode ends here once research.md is assembled.
research.md is complete per references/synthesis.md: decision-first summary, findings, contrary evidence where found, recommendations with downstream bindings, source appendix, staleness map. Frontmatter metadata (type, topic, decision, source, status, dates) is what lets every downstream consumer trust it without reprocessing.uv run scripts/recon_kit.py citations {doc_workspace}/research.md — it diffs inline [n] markers against the appendix and lists dangling markers and orphaned rows exactly; fix what it reports. Then a fresh-context subagent does only the judgment half: does each cited source actually say what the text claims? It never rewrites findings — a claim whose source doesn't back it gets its confidence downgraded and the mismatch logged as an event.{workflow.output_format} (see references/html-briefing.md): auto renders the briefing page on interactive runs, skips on headless/skill-invoked; html/both always; md never. research.md always exists — the briefing is its regenerable face.{workflow.doc_standards} entry (a skill:, file:, or plain-text directive) to research.md.{workflow.external_handoffs} entry (NotebookLM, Confluence, …) — invoke the named tool, surface returned URLs; skip and flag unavailable tools.bmad-help to suggest the next step.{workflow.on_complete} if non-empty — a string is one instruction, an array is a sequence.