Forms-domain event-sourcing: Form-as-Schema-Aggregate (a form DEFINITION — ordered fields, types, labels, per-kind validation rules — is ONE aggregate). Filling values is NOT a domain fact; the schema's validateField/validateForm are the single validation
Forms-domain event sourcing — Form-as-Schema-Aggregate: a form definition
(ordered fields, kinds, labels, per-kind validation rules) is ONE aggregate.
Filling a form is deliberately not a domain fact. Values are transient and
live in @bimetal/forms-headless; only the schema is event-sourced. The
schema's validateField/validateForm are the single validation source, shared
by the renderer so a binding can never invent its own rules.
Forms-domain event-sourcing: Form-as-Schema-Aggregate (a form DEFINITION — ordered fields, types, labels, per-kind validation rules — is ONE aggregate). Filling values is NOT a domain fact; the schema's validateField/validateForm are the single validation