Problem
Code review identified several quality issues in the journalism-investigation plugin:
1. Missing enum validation: The validator checks claim_status and confidence against constants but does not validate asset_type, account_type, evidence_type, transaction_type, case_type, case_status, mechanism, or reliability against their defined enum tuples. The constants are defined but unused.
2. Duplicated code: JSON metadata parsing (5-line block repeated 7 times in MCP handlers), EventStatus parsing (repeated 3 times in from_frontmatter methods), import json repeated per-handler instead of module-level.
3. str(None) safety: Multiple from_frontmatter methods use str(meta.get("field", "")) which produces "None" instead of "" when YAML has explicit null values.
4. summary field inconsistency: Entity types conditionally add summary in to_frontmatter(), event types do not. Should be consistent.