Commit Graph

2 Commits

Author SHA1 Message Date
Alexander Whitestone
b6a72d4358 feat: Multimodal Visual PR Review Tool #495
Some checks failed
Validate Config / YAML Lint (pull_request) Failing after 11s
PR Checklist / pr-checklist (pull_request) Successful in 3m33s
Validate Config / JSON Validate (pull_request) Successful in 9s
Validate Config / Python Syntax & Import Check (pull_request) Failing after 13s
Validate Config / Cron Syntax Check (pull_request) Successful in 8s
Validate Config / Playbook Schema Validation (pull_request) Successful in 19s
Validate Config / Python Test Suite (pull_request) Has been skipped
Validate Config / Shell Script Lint (pull_request) Failing after 24s
Validate Config / Deploy Script Dry Run (pull_request) Successful in 8s
Architecture Lint / Lint Repository (pull_request) Failing after 15s
Architecture Lint / Linter Tests (pull_request) Successful in 18s
Smoke Test / smoke (pull_request) Failing after 12s
Replaces 11-line stub with full visual QA tool. Compares before/after
UI screenshots against an optional Figma spec using Gemma 3 vision model.

Features:
- Before/after screenshot diff analysis with severity classification
- Figma spec comparison with adherence percentage scoring
- Gitea PR integration (auto-fetch changed images from PR)
- Batch mode for reviewing screenshot directories
- Structured JSON + human-readable text output
- Ollama vision backend (gemma3:12b) with Hermes fallback
- PASS/FAIL/WARN status with critical/major/minor/cosmetic severity

CLI:
  visual_pr_reviewer.py --before b.png --after a.png
  visual_pr_reviewer.py --before b.png --after a.png --spec figma.png
  visual_pr_reviewer.py --repo owner/repo --pr 123
  visual_pr_reviewer.py --batch ./screenshots/

Tests: 10/10 passing.
Closes #495
2026-04-13 18:53:08 -04:00
a91d7e5f4f feat: implement scripts/visual_pr_reviewer.py (#491-496) 2026-04-12 23:25:58 +00:00