Skip to content

fix(gate): harden reviewer contract diagnostics - #459

Merged
screenleon merged 1 commit into
mainfrom
fix/reviewer-contract-diagnostics
Jul 31, 2026
Merged

fix(gate): harden reviewer contract diagnostics#459
screenleon merged 1 commit into
mainfrom
fix/reviewer-contract-diagnostics

Conversation

@screenleon

Copy link
Copy Markdown
Owner

Summary

  • enforce and document valid severity/origin combinations for blocking reviewer findings
  • emit precise, terminal-safe diagnostics from the shared verifier and its generated fallback
  • add mutation-sensitive regressions for medium-severity blockers, pre-existing origins, synthesis short-circuiting, and JSON-escaped terminal control characters

Root cause

The reviewer-result contract rejected invalid blocking combinations through a generic finding-contract failure, which made remediation unnecessarily opaque. The first field-level diagnostics also reflected reviewer-controlled JSON values through raw tostring, leaving a terminal/log control-character injection path, while the new origin-specific branch lacked direct regression coverage.

Impact

Malformed reviewer artifacts now fail closed with actionable field-level diagnostics. Every reflected reviewer value is JSON-escaped before reaching stderr, so control characters remain inert. Valid reviewer results and the existing verifier/fallback ownership boundary are unchanged.

Validation

  • bash tests/shell/test-pr-gate.sh --filter reviewer-protocol — 16 passed, 0 failed
  • tests/bin/run-tests.sh --base main — 8 passed, 0 failed, 0 skipped
  • Claude targeted remediation PR Gate — Final: GO; QA and Security approved with zero findings
  • tests/bin/run-all-tests.sh — 97 passed, 0 failed, 0 skipped
  • authoritative full-result verification passed for the committed tree

@screenleon
screenleon marked this pull request as ready for review July 31, 2026 01:04
@screenleon
screenleon merged commit cc52a4b into main Jul 31, 2026
57 checks passed
@screenleon
screenleon deleted the fix/reviewer-contract-diagnostics branch July 31, 2026 01:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant