{"slug":"proval","name":"Proval","vendor":"seoes","tagline":"Self-hosted code review agent that groups a pull request's changed files and sends specialist sub-agents to investigate each group","url":"https://agentboards.org/agent/proval","website":"https://proval.app","docs":"https://proval.app/docs","repo":"https://github.com/seoes/proval","category":"review","execution":["local","cloud"],"license":"AGPL-3.0","open_source":true,"pricing":{"model":"byok","summary":"Free and open source under AGPL-3.0; you pay the model provider you configure\n","from_usd":0,"free_tier":true,"byok":true},"models":{"backbone":["OpenAI-compatible","Ollama","llama.cpp"],"bring_your_own_model":true,"local_models":true},"protocols":{"mcp_client":false,"mcp_server":false,"openapi":false},"capabilities":{"terminal_exec":false,"browser":false,"multi_file_edit":false,"git_ops":true,"docker_sandbox":false,"multi_agent":true,"headless_ci":true},"context_window":null,"platforms":["linux","web"],"install":[{"label":"Docker","command":"docker run seoes/proval"}],"benchmarks":[],"tags":["open-source","typescript","review","self-hosted","gitlab","forgejo","local-models"],"github_stars":102,"metrics":{"stars":102,"pushed_at":"2026-10-02T01:58:10Z","archived":false,"open_issues":7,"latest_version":null,"latest_version_at":null,"latest_version_url":null,"version_source":null,"checked_at":"2026-10-02T05:02:17.782Z"},"sources":{"overview":"https://github.com/seoes/proval","capabilities":"https://github.com/seoes/proval","models":"https://github.com/seoes/proval","license":"https://github.com/seoes/proval","install":"https://github.com/seoes/proval","website":"https://proval.app","docs":"https://proval.app/docs"},"verified_at":"2026-09-04","adoption":{"score":0,"signals":{"github_stars":84,"hn_mentions_1y":2},"measured_at":"2026-09-21"},"scores":{"panel":5.9,"adoption":0,"spread":3.3,"facts":6.7,"board":5.1,"dimensions":{"reliability":5.7,"usefulness":5.7,"cost":7.3,"longevity":5},"per_persona":{"amigo":6.3,"critico":4.8,"profesor":6,"inversora":4.5,"jefa":6.3,"hacker":7.8},"community":null},"rank":211,"category_rank":28,"panel_reviews":[{"persona":"juez","persona_name":"El Juez","ai_generated":true,"verdict":"El Hacker calls this the only review agent that never sees your code leave the building; El Crítico asks what sixty comments a day does to the people reading them.","scores":null,"evidence":[]},{"persona":"amigo","persona_name":"El Amigo","ai_generated":true,"verdict":"Pick it if your reviewers are the bottleneck and you want a first pass before a human looks; pick nothing if your problem was never the queue.","scores":{"reliability":6,"usefulness":6,"cost":8,"longevity":5},"evidence":["https://proval.app"]},{"persona":"critico","persona_name":"El Crítico","ai_generated":true,"verdict":"Specialist sub-agents each explore the codebase independently to find cross-file issues, and nothing published states how often what they find is wrong.","scores":{"reliability":4,"usefulness":5,"cost":6,"longevity":4},"evidence":["https://github.com/seoes/proval"]},{"persona":"profesor","persona_name":"El Profesor","ai_generated":true,"verdict":"Changed files are grouped into review units before any model runs, so the unit of analysis is a related set rather than an arbitrary diff fragment.","scores":{"reliability":6,"usefulness":6,"cost":6,"longevity":6},"evidence":["https://proval.app/docs"]},{"persona":"inversora","persona_name":"La Inversora","ai_generated":true,"verdict":"64 stars, one public mention in a year, a single author, and a self-hosted-only product with no service to sell and nothing to meter.","scores":{"reliability":4,"usefulness":4,"cost":7,"longevity":3},"evidence":["https://github.com/seoes/proval"]},{"persona":"jefa","persona_name":"La Jefa","ai_generated":true,"verdict":"One container image against our own Git host, which is the shortest path to production on this board, and there is still no console and no audit export.","scores":{"reliability":6,"usefulness":6,"cost":8,"longevity":5},"evidence":["https://github.com/seoes/proval"]},{"persona":"hacker","persona_name":"El Hacker","ai_generated":true,"verdict":"AGPL-3.0 and it takes any compatible endpoint, including Ollama and llama.cpp, so the one tool that reads all my code never has to phone anyone.","scores":{"reliability":8,"usefulness":7,"cost":9,"longevity":7},"evidence":["https://github.com/seoes/proval"]},{"persona":"comediante","persona_name":"El Comediante","ai_generated":true,"verdict":"It can be configured to reply only when mentioned, a courtesy no human reviewer has ever extended to anyone.","scores":null,"evidence":[]}]}