verdict

package
v0.1.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 15, 2026 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package verdict is the shared adversarial-verdict value type + evidence bar used by BOTH finding (exploitation) and judgment (AI analysis). It is pure (stdlib + shared only), so neither aggregate imports the other for the one shared evidence-gating mechanism (R1): a distinct verifier seals a verdict whose score moves a claim's standing, and the same EvidenceThreshold gates publishability everywhere – one bar, never forked.

Index

Constants

View Source
const DeterministicProofScore = 90

DeterministicProofScore is the fixed evidence score for a judgment confirmed by a DETERMINISTIC tool proof (a call-graph reachability result), as opposed to a human verdict or an LLM claim. It is well above EvidenceThreshold because a reproducible static call-path is strong evidence, but NOT 100: the underlying analysis (e.g. govulncheck's VTA call graph) is over-approximate, so a "reachable" proof is high-confidence rather than infallible. This is the EVIDENCE/verdict score (gates Publishable); it is distinct from ReachabilityClaim.Confidence (the claim's own self-reported confidence field).

View Source
const EvidenceThreshold = 75

EvidenceThreshold is the minimum score (0..100) for a claim-based finding or judgment to be promoted/published. Shared by finding + judgment; do not fork it.

View Source
const MaxRationaleBytes = 4096

MaxRationaleBytes bounds sealed verdict rationale payloads and promotion-event provenance.

Variables

This section is empty.

Functions

func MeetsBar

func MeetsBar(score int) bool

MeetsBar reports whether score clears the evidence threshold.

func SelfConfirm

func SelfConfirm(verifier, proposedBy string) bool

SelfConfirm reports whether a verdict would let a claim confirm itself – the verifier being the same actor that proposed it. A self-confirming verdict must be refused: a finding/judgment cannot confirm itself. An empty proposer (human/tool-sourced, no AI claim) never self-confirms.

Types

type Verdict

type Verdict struct {
	Verifier  string
	Score     int
	Rationale string
}

Verdict is the outcome of an adversarial "try to refute" pass. Score is the verifier's confidence (0..100) that the claim SURVIVES refutation; it becomes the subject's evidence score. Verifier is recorded for provenance and MUST be a DISTINCT actor from the proposer (see SelfConfirm). Rationale is part of the sealed record.

func (Verdict) Validate

func (v Verdict) Validate() error

Validate checks a verdict is well-formed: a recorded verifier, a 0..100 score, and a rationale.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL