fix(mcp): merge ProductDoc title/status into plan frontmatter #23
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/mcp-plan-frontmatter"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Probleem
update_idea_plan_mdfaalde 15× metCannot save plan as ProductDoc: content_md is niet parseerbaar(grootste enkele fout-bucket). De tool slaat het plan op als ProductDoc, maar de plan-markdown heeft zijn eigen frontmatter (plan-yaml:pbi/stories) die de ProductDoc-vereistetitle/statusmist →productDocFrontmatterSchemaweigert 'm.ensureProductDocFrontmatterinjecteerde alleen frontmatter als die helemaal ontbrak, dus hielp niet bij een bestaand (plan-)frontmatter-blok.Fix
ensureProductDocFrontmatteris nu merge-aware: het parset het bestaande frontmatter-blok (yaml), injecteerttitle(uitidea.title) enstatus: draftalléén wanneer ze ontbreken/ongeldig zijn, en serialiseert terug — bestaande plan-keys (pbi/stories) blijven behouden (productDocFrontmatterSchemais non-strict). Robuust gemaakt tegen niet-object frontmatter (scalar/array → valt terug op injectie); malformed YAML wordt ongemoeid doorgegeven zodat de downstream-parser de precieze fout teruggeeft.Daarnaast: bij een
ProductDocWriteErrorworden nu de concrete parse-detailsaan de agent teruggegeven (geen vaag "niet parseerbaar" meer), zodat hij zich kan corrigeren.Test
__tests__/update-idea-plan-frontmatter.test.ts: 8 tests — inject-when-absent, merge-into-existing (keys behouden), leave-valid-untouched, whitespace-title, invalid-status, non-object (scalar+array), idempotency.tsc --noEmitclean.