REQ-DM-CLAIM-009 (RS-DM-CLAIM) states an evaluated value MUST conform to the declared value.type or evaluation is refused. The runtime enforces this only for cel rules (validate_claim_value_type in crates/registry-notary-server/src/runtime.rs); the extract path returns the raw source field with no type check, so a claim declared boolean can evaluate to a string and flow into claim results and credentials.
Fix: apply validate_claim_value_type to the extract/exists paths as well (or narrow the REQ and document the divergence, but enforcing is the better outcome). Add tests for a type-mismatched extract result being refused.
Found during the spec-layer review (docs/site/src/content/docs/spec, 2026-07-07). RS-DM-CLAIM's Limitations section will reference this issue until fixed.
REQ-DM-CLAIM-009 (RS-DM-CLAIM) states an evaluated value MUST conform to the declared
value.typeor evaluation is refused. The runtime enforces this only forcelrules (validate_claim_value_typeincrates/registry-notary-server/src/runtime.rs); theextractpath returns the raw source field with no type check, so a claim declaredbooleancan evaluate to a string and flow into claim results and credentials.Fix: apply
validate_claim_value_typeto the extract/exists paths as well (or narrow the REQ and document the divergence, but enforcing is the better outcome). Add tests for a type-mismatched extract result being refused.Found during the spec-layer review (docs/site/src/content/docs/spec, 2026-07-07). RS-DM-CLAIM's Limitations section will reference this issue until fixed.