Consensus simulator
Walk a Proof of Quality review end to end — from the finding under review to the final verdict. Booted with an example security-audit project; change anything.
The sample project
This simulator is set up as a security audit. Each datapoint is a single vulnerability — here, one flagged by an AI agent — and a panel of validators reviews the agent's report before the finding is trusted.
Reentrancy in withdraw() — an attacker can re-enter before the balance updates and drain the pool.
function withdraw(uint256 amount) external {
require(balances[msg.sender] >= amount, "insufficient");
(bool ok, ) = msg.sender.call{value: amount}(""); // external call first
require(ok, "transfer failed");
balances[msg.sender] -= amount; // state updated too late
}In the steps below, each validator says whether they agree with the agent's report — its validity, severity, and confidence — and those votes resolve into a verdict in the Result.
Validator classes
Classes are personas defined once — human or AI, each with its own vote weight. Which classes review (and how many) is decided per round below, not here.
Escalation ladder
Round 1 is the base review. Each escalation step below is run in order, but only while the datapoint stays unverified — any required dimension below its strength threshold. When a step runs, its validators are added and every dimension is re-scored.
Run only if the datapoint still isn't verified after round 1
Rubric dimensions
Define what validators score. Each dimension is scored independently and has its own strength threshold. Its group signal is a weighted median of the votes (snapped to the nearest scale point) — robust to a single outlier — and strength is the share of weighted votes clustered near that value. If any required dimension misses its threshold, the whole datapoint isn't verified and the next escalation step is added. Cast the votes in Step 4.
Cast validator votes
Each validator scores every dimension on the sample finding. Escalation rounds only count once the earlier rounds leave the datapoint unverified — see how each dimension resolves in the Result below.
AI Validator 1
AI Validator 2
Security Analyst 1
Security Analyst 2
Not needed — the finding was already verified in round 1, so these votes don't count toward the outcome.
Senior Security Analyst 1
Project outcome — this datapoint
The verdict for the single sample finding above. A real project runs this same review on every datapoint it ingests.
Every required dimension reached the strength threshold.
Do you agree with Validity?
Resolved · AgreeDo you agree with the Severity?
Resolved · AgreeDo you agree with the Confidence level?
Resolved · AgreeNew to this? Read How consensus works for the plain-English version.