vault_record_decision XML parsing fails on nested quoted parentheses in rationale

vault_record_decision XML parser quirk

When calling mcp__vault-mcp__vault_record_decision with a rationale parameter containing patterns like "(a) text (b) text" or (prior decline) with quoted strings inside parens, the call fails with rationale Missing required argument [type=missing_argument]. The XML to pydantic conversion path silently drops the argument when it cannot disambiguate inner quote-paren nesting.

Workaround: flatten parens and quotes in string fields. Use bare ordinal markers (a. b. c.) or em-dashes instead of (a) (b) patterns. Avoid quoted strings inside parentheses.

Confirmed: 2026-05-16 chrome-devtools-mcp install session — two record_decision attempts failed identically with this signature until the rationale was flattened.

Affects: decision, rationale, alternatives string fields in vault_record_decision. Other vault tools likely have the same quirk but not yet verified.

For cross-agent reference: any agent using vault_record_decision should pre-flatten complex rationale before submission. Suggest a helper that strips nested-quote-paren patterns automatically.