Help us shape the future of Go! Take the 2026 Go Developer Survey

auditionproof

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2026 License: AGPL-3.0, AGPL-3.0-only Imports: 6 Imported by: 0

Documentation

Overview

Package auditionproof is the evidence model for audition: audition produces proof results, later phases consume them. It is intentionally bigger than any one proof — today it carries GitOps (Flux) validation; freshness, eligibility, crucible, etc. are typed fields added as they adopt the model. This package is the *evidence* layer only (what was proven), NOT enforcement (required vs advisory gating), which is a separate, deferred design.

The results are persisted to the `.stagefreight/` handoff that audition uploads as a CI artifact and perform downloads — so perform acts on the exact evidence the operator reviewed in audition, never a recomputed second verdict.

Index

Constants

View Source
const ResultsPath = paths.Root + "/proof-results.json"

ResultsPath is the workspace-relative path where audition proof results live.

Variables

This section is empty.

Functions

func Write

func Write(rootDir string, r *Results) error

Write persists the proof results atomically (tmp + fsync + rename).

Types

type Finding

type Finding struct {
	Severity string `json:"severity"`
	Source   string `json:"source"`
	Message  string `json:"message"`
}

Finding is one evidence item. Severity is "warn" | "fail"; Source is the provenance ("graph" | "render" | "core-schema" | "crd-catalog").

type FluxValidate

type FluxValidate struct {
	Roots    int                `json:"roots"`
	Skipped  string             `json:"skipped,omitempty"` // validation could not run (e.g. tool unavailable)
	Verdicts map[string]Verdict `json:"verdicts,omitempty"`
	NoSchema map[string]int     `json:"no_schema,omitempty"`
}

FluxValidate is the GitOps validation proof: a verdict per Flux Kustomization (keyed "namespace/name" — the unit of truth), plus coverage facts.

type Results

type Results struct {
	Version      int           `json:"version"`
	FluxValidate *FluxValidate `json:"flux_validate,omitempty"`
}

Results is the per-run set of audition proof outcomes. Each proof is a typed, omit-empty field so the JSON grows additively as proofs adopt the model.

func Read

func Read(rootDir string) (*Results, error)

Read returns the proof results from the workspace. A missing file is not an error — it yields an empty Results (the proof simply did not run / persist).

type Verdict

type Verdict struct {
	Status   string    `json:"status"`
	Findings []Finding `json:"findings,omitempty"`
}

Verdict is one Kustomization's outcome. Status is "pass" | "warn" | "fail". Findings carry the per-item severity and provenance so a consumer can tell an authoritative core-schema failure from an advisory CRD-catalog one.

Jump to

Keyboard shortcuts

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