a28d8723a8
Phase 0 of any_type_componentization_20260621. Adds the canonical decision rule that future contributors can apply without re-deriving: - TypeAlias conditions: open shape, self-describing, transient - dataclass(frozen=True) conditions: known fields, multi-site access, stable serialization, shared across modules - The src/vendor_capabilities.py reference pattern (5 properties) - Decision tree - The 5 worked examples (89 sites promoted per the audit) - Cross-references to audit scripts + input artifact + track This is the canonical artifact for the 'when to dataclass' question; subsequent phases refer to it via 'see styleguide 12' rather than re-deriving the rule.