Documentation
¶
Overview ¶
Package verdict serves a live, public-facing rendering of a KonaReef Type-C proof: it fetches a konareef-bundle/v2, runs the REAL verifier (verify.VerifyV2Production + the Rust `verify` subprocess), decodes the disclosed evidence, and serves a single self-contained page that shows the six verification checks resolving to a verdict.
evidence.go maps a decoded bundle + verdict into the Evidence JSON the page consumes. Every field is derived from the real bundle bytes and the real verifier output — nothing is synthesised.
server.go — the verdict demo HTTP server. It serves one embedded page and a single JSON endpoint that fetches a bundle, runs the REAL verifier, and returns the decoded evidence + verdict. It is an INDEPENDENT verifier (typically run on the presenter's laptop): it trusts reef-core only to hand over the 18 KB bundle bytes, and re-derives the verdict itself.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Commitments ¶
type Commitments struct {
TRoot string `json:"t_root"`
RIn string `json:"r_in"`
ROut string `json:"r_out"`
}
Commitments are the bound public inputs surfaced for display.
type Evidence ¶
type Evidence struct {
OK bool `json:"ok"`
Verdict *verify.Verdict `json:"verdict"`
Divergences []string `json:"divergences"`
Meta Meta `json:"meta"`
Pod PodInfo `json:"pod"`
Publisher PublisherInfo `json:"publisher"`
Execution Execution `json:"execution"`
Proof ProofInfo `json:"proof"`
Commitments Commitments `json:"commitments"`
Chain []ChainLink `json:"chain"`
}
Evidence is the JSON payload the verdict page renders. It pairs the real verifier verdict with the bundle's disclosed fields.
type Execution ¶
Execution is the disclosed step trace: input commitment P, response R, and the tool-log records.
type Meta ¶
type Meta struct {
ProofHash string `json:"proof_hash"`
Version string `json:"version"`
SourceLabel string `json:"source_label"`
}
Meta identifies which proof this verdict is for and where it came from.
type PodInfo ¶
type PodInfo struct {
Name string `json:"name"`
Version string `json:"version"`
Circuit string `json:"circuit"`
Disclosure string `json:"disclosure"`
PodHash string `json:"pod_hash"`
}
PodInfo is the identity of the pod that produced the proof.
type ProofInfo ¶
type ProofInfo struct {
Scheme string `json:"scheme"`
SnarkBytes int `json:"snark_bytes"`
Z0Bytes int `json:"z0_bytes"`
ManifestBytes int `json:"manifest_bytes"`
VkeyHash string `json:"vkey_hash"`
}
ProofInfo describes the Spartan proof artifact.
type PublisherInfo ¶
type PublisherInfo struct {
ID string `json:"id"`
Pubkey string `json:"pubkey"`
Signature string `json:"signature"`
Curve string `json:"curve"`
}
PublisherInfo is the publisher-binding evidence.
type Server ¶
type Server struct {
// ReefcoreURL is the base URL bundles are fetched from
// (e.g. http://reefcore-demo.tail6bed98.ts.net:4000).
ReefcoreURL string
// DefaultHash is the proof hash used when a request omits ?hash=.
DefaultHash string
// Durable threads the verify --durable knob through unchanged.
Durable bool
}
Server renders live verdicts for konareef-bundle/v2 proofs.
type ToolCall ¶
type ToolCall struct {
Name string `json:"name"`
IDDigest string `json:"id_digest"`
ArgsHash string `json:"args_hash"`
ResultHash string `json:"result_hash"`
TsUs uint64 `json:"ts_us"`
Sats uint64 `json:"sats"`
}
ToolCall is one 113-byte tool-log record, decoded. Name is resolved from the manifest's declared tools when SHA-256(name) matches the committed digest.