diff --git a/scripts/confidence_signal.py b/scripts/confidence_signal.py index f4b1991..d47168b 100755 --- a/scripts/confidence_signal.py +++ b/scripts/confidence_signal.py @@ -37,15 +37,17 @@ def main() -> int: ) if proc.returncode == 0: - score = 0.90 + score = "0.90" # POLICY_PASS is the expected stdout; strip any trailing whitespace. reason = proc.stdout.strip() or "POLICY_PASS" else: - score = 0.40 + score = "0.40" # The violation code (e.g. "POLICY_VIOLATION:PUBLIC_INGRESS") is on stdout. reason = proc.stdout.strip() or "POLICY_VIOLATION:UNKNOWN" - print(json.dumps({"score": score, "reason": reason})) + # Emit with literal score (two-decimal form per the contract) and a quoted + # reason. Constructed manually so json.dumps does not collapse 0.90 -> 0.9. + print('{"score": ' + score + ', "reason": ' + json.dumps(reason) + '}') return 0