Resolve the decision `reversibility` schema conformance gap
task-resolve-reversibility-conformance
Resolve the reversibility schema conformance gap
Resolved 2026-06-19 (commit 6b1d662, DEC-0017 Option 3). A set of decision atoms appended a useful parenthetical rationale to the reversibility value (e.g. two-way door (the generator is swappable …)), which DecisionSchema's strict z.enum rejected. They were YAML-valid and rendered fine on the site, but failed @dossier/okf validate() — the OKF Integrity Audit — knowledge/ against @dossier/okf parse() (2026-06-14) flagged it and The compounding merge — the per-tenant learning loop accumulates by id + confidence instead of overwriting (okf reconcile() + opt-in reconcile in extraction/runtime) surfaced it again. The fix: the reversibility field is now a strict door classifier (door value only); the captured nuance moved to a body **Reversibility:** <door> — <why> line. Conformed across 40 ADRs + the okf schema doc-comment. pnpm kb:check now reports the KB clean (139 atoms / 147 node ids, 0 load errors).
The call (resolved — Option 3 of three, per DEC-0017)
- Relax the schema — enum prefix + optional parenthetical note (lowest churn). Not chosen.
- Split the field — strict enum + a separate
reversibility_rationale(cleanest for the graph). Not chosen. - Normalize the data — move the prose into the body, keep the schema strict. Chosen and applied.
Outcome
The keystone parser's z.enum stays the single enforced standard and reversibility stays a clean classifier, while the captured why is preserved in the body (Dossier — The Knowledge Model (v0) principle 7). This removed the largest blocker to a CI parse/validate gate over knowledge/**. Adjudicated by Principal Knowledge-Format Architect (it changed the data and the schema doc-comment). The runtime-impact close-out (persona-grounding load errors caused by the prose form) is tracked in Fix the 41 KB load errors degrading Phase-0 persona grounding (dangling persona-grounding targets).