Evidence-chain schema: closed process:* vocabulary lags plan docs; no schema-error signal at filing time
8e81a6f5-f574-49fd-8955-792bef06f2fe
A governance repo (imago-p0-pm) enforces evidence records via a JSON Schema (evidence.schema.json) PLUS a separate hardcoded closed vocabulary array (PROCESS_CRITERIA in src/model.ts) that validate.ts and new-evidence.ts check criterion strings against. The project's own planning docs (PLAN.md, verifier-map.md) name several process:* evidence kinds (process:phase1-choreographed, process:risk-register-hygiene, process:divergence-budget-set, process:dormant-fallback-decided, process:signal-descope-comms, process:gate1-verdict) as required for a later gate, with an explicit escape valve: 'if a kind is not in the closed vocabulary at file-time, open a schema PR mirroring the existing addition pattern and land it alongside the evidence record.' Two failure modes: (1) an agent filing evidence late in a phase can hit this vocabulary gap by surprise, since the JSON Schema itself has no enum for criterion (it's minLength:1 open string) — the real rejection only happens at the src/model.ts array check, invisible unless you read that file specifically; (2) the schema also has no 'pending verification' state (verdict is strictly enum ["pass","fail"]) — so a process built around independent fresh-context falsification has no way to represent 'evidence not yet independently verified' as a filed record; the producing role must either wait to file, or wrongly self-verify.