divhanimajokweni-ctrl's picture
feat: submit ProofBridge Liner to LabLab AI AMD Developer Hackathon
93c7565
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
contract BayesianScorer {
uint256 public constant ALPHA_PRIOR = 1;
uint256 public constant BETA_PRIOR = 10;
// Compute posterior in basis points (0-10000)
function computePosterior(uint256 successes, uint256 failures) public pure returns (uint256) {
uint256 alphaPost = ALPHA_PRIOR + successes;
uint256 betaPost = BETA_PRIOR + failures;
uint256 total = alphaPost + betaPost;
// posterior = alphaPost / total * 10000
return (alphaPost * 10000) / total;
}
// Check if posterior >= floor (8000 basis points for 0.80)
function isValid(uint256 successes, uint256 failures, uint256 floor) public pure returns (bool) {
uint256 posterior = computePosterior(successes, failures);
return posterior >= floor;
}
}