- BMAD v6.10.0 installiert (bmm, de), {output_folder}-Bug gefixt
- PRD + technisches Addendum (verbindliche Regel-/Degradations-/Mapping-Tabellen)
- Outfit-Komposition (Basis + Schichtsumme), Zieldatum-Logik, Min-HA >= 2025.3,
HACS-konforme Karten-/Blueprint-Auslieferung, Datenschutz/Injection-FRs,
messbare Metriken inkl. Retention, Foto -> v1.1 (E-4)
- 4 Detail-Reviews unter docs/reviews/prd/, Urteile im LEDGER (28 uebernommen, 3 verworfen mit Evidenz)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 KiB
2 KiB
Headless Mode JSON Schemas
Every headless run ends with one of these payloads. Omit keys for artifacts not produced.
Common fields
status—"complete","blocked", or"partial"intent—"create","update", or"validate"(matches the detected intent)reason— required whenstatusis"blocked"; one-sentence explanationassumptions— array of inferred values that were not directly confirmed by inputsopen_questions— array of items that need a human decision before the artifact can be considered final
Create
{
"status": "complete",
"intent": "create",
"prd": "{doc_workspace}/prd.md",
"addendum": "{doc_workspace}/addendum.md",
"memlog": "{doc_workspace}/.memlog.md",
"open_questions": [],
"assumptions": [],
"external_handoffs": [
{"directive": "Confluence upload", "tool": "corp:confluence_upload", "url": "https://confluence.corp/PROD/123", "status": "ok"}
]
}
Update
{
"status": "complete",
"intent": "update",
"prd": "{doc_workspace}/prd.md",
"memlog": "{doc_workspace}/.memlog.md",
"changes_summary": "1-3 sentences describing what changed and why",
"conflicts_with_prior_decisions": [],
"open_questions": [],
"external_handoffs": [
{"directive": "Confluence upload", "tool": "corp:confluence_upload", "url": "https://confluence.corp/PROD/123", "status": "ok"}
]
}
Validate
{
"status": "complete",
"intent": "validate",
"validation_report": "{doc_workspace}/validation-report.md",
"findings_summary": {
"critical": 0,
"high": 0,
"medium": 0,
"low": 0
},
"offer_to_update": true
}
validation_report is always written for Validate intent — the path here is required, not optional.
Blocked
{
"status": "blocked",
"intent": "update",
"reason": "Change signal ambiguous — could be a scope expansion or a clarification; no inferred direction"
}
Always include the intent (best-guess if not certain) and a one-sentence reason.