Fix contradictory upgrade-proof review blockers
Corrected ClawSweeper's compatibility classifier so serialized contributor-action metadata cannot negate a sufficient recorded upgrade-proof summary.
openclaw/clawsweeper · #1583
Review correctness fix
Accepted upgrade evidence no longer produces a contradictory compatibility blocker, while missing evidence remains blocking even with an override label.
Problem
A review could explicitly affirm completed upgrade compatibility and still block the same PR. The classifier read `Needs contributor action: false` together with the following affirmative summary and mistook that metadata for outstanding proof work.
Approach
Reads the Real Behavior Proof summary only when canonical front matter, or its section fallback, declares sufficient status. Retains independent Solution Assessment and Evidence inputs, negative-proof checks, and missing-proof safeguards. Adds regression tests, a compiled-renderer replay, documentation, and changelog credit.
Impact and scope
- Aligns the compatibility checklist and automation verdict with accepted recorded proof, avoiding false blockers and unnecessary contributor rework.
- Preserves conservative gating: an override label alone cannot establish compatibility, and missing proof remains blocking.
- Adds a repeatable four-scenario production-renderer check without changing observer schemas, queue lifecycle, or navigation.
Validation
- The documented baseline blocked all four synthetic scenarios; the candidate accepts both sufficient-proof scenarios and blocks both missing-proof scenarios, with and without override.
- Maintainer steipete confirmed 213 focused tests and a full isolated check gate with 6,159 tests: 6,141 passed, 18 skipped, zero failures, and coverage thresholds intact. The Mac full-suite attempt was stopped after unrelated subprocess timeouts and a shell hang.
- GitHub pnpm check, CodeQL, and smoke checks passed; the verified squash commit credits Goutam Adwant. The maintainer follow-up and merged changelog explicitly thank him for the fix.
- Runtime proof uses synthetic reports through the compiled production renderer, not a canonical stored report, actual database upgrade, live review publication, or deployment. Classification evaluates recorded prose rather than authenticating upgrade evidence.