fix: harden support wording contract inputs#339
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cc9b8cad85
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| for index, claim in enumerate(claims): | ||
| violations = [ | ||
| violation | ||
| for violation in ClaimContract.validate(claim) | ||
| if violation.severity == "error" |
There was a problem hiding this comment.
Reject non-string Claim Ledger fields before projecting
When a workspace has a malformed claim_ledger.json where a required field is present but not a string, this new validation still returns checked because ClaimContract.validate() only treats None/blank strings as missing. For example, claim_id: 123 is marked invalid by the artifact registry, but support wording proceeds and later renders the finding with an empty claim_id because _text() drops non-strings, so Status/Quality Panel can present diagnostics from a ledger the control plane considers invalid. Reuse the existing ledger payload validation or add the same required-field type checks before projecting.
Useful? React with 👍 / 👎.
Summary
Boundaries
Validation