Resolve the decision `reversibility` schema conformance gap

task-resolve-reversibility-conformance

task confidence verified status done 2026-06-19 owner knowledge-architect
source board-curator (knowledge-architect) — from 0017-reversibility-schema-conformance + the integrity audit; closed by log-auditor after commit 6b1d662 applied DEC-0017 Option 3

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)

  1. Relax the schema — enum prefix + optional parenthetical note (lowest churn). Not chosen.
  2. Split the field — strict enum + a separate reversibility_rationale (cleanest for the graph). Not chosen.
  3. 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).