v0.3.4
Fixes a blocking DBA design-gate bug.
For any feature with persistence invariants, the design gate was unsatisfiable: dba.md told the DBA to write realizes_invariants[] entries "mapped to the physical construct that enforces it" (implying objects), but the schema, the conformance gate, and the recorded corpus all require a flat array of bare invariant-id strings. The DBA looped until the drive aborted with a PROTOCOL VIOLATION.
- Aligned the DBA prose (and the orchestrator's DBA task hint + remediation) to the schema:
realizes_invariants[]is a flat string array (the "which construct realizes it" rationale lives indb-design.md),unique_constraintsis an array of column-name arrays,column.defaultis a string SQL expression. - Added a regression guard pinning the DBA prose to the schema.
- Corrected the abort message so a present-but-nonconformant artifact is no longer misreported as "returned nothing (absent/null/empty)".
Root-caused the accompanying test-list failures as downstream of the DBA loop (the Test Strategist prose is already consistent with its schema), so no test-strategist change was needed.