validationci

package
v0.0.0-...-89d81dd Latest Latest
Warning

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

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

Documentation

Overview

Package validationci owns compact, commit-bound CI evidence for the existing production validation planner and harness.

Index

Constants

View Source
const (
	SchemaVersion = 1
	ShardCount    = 8
)

Variables

This section is empty.

Functions

func ValidateKnownFailureLedger

func ValidateKnownFailureLedger(ledger KnownFailureLedger) error

Types

type AggregateRequest

type AggregateRequest struct {
	EnginePath        string
	RepoRoot          string
	Commit            string
	InputDir          string
	BaseAuthorityPath string
	HeadCandidatePath string
	ResultPath        string
}

type AggregateResult

type AggregateResult struct {
	SchemaVersion     int            `json:"schemaVersion"`
	Commit            string         `json:"commit"`
	Status            string         `json:"status"`
	Modules           PassedEligible `json:"modules"`
	Scenarios         PassedEligible `json:"scenarios"`
	Bundles           PassedEligible `json:"bundles"`
	KnownDebt         int            `json:"knownDebt"`
	ResolvedDebt      int            `json:"resolvedDebt"`
	NewFailures       int            `json:"newFailures"`
	ChangedFailures   int            `json:"changedFailures"`
	MissingDebt       int            `json:"missingDebt"`
	StaleDebt         int            `json:"staleDebt"`
	InventoryRemovals int            `json:"inventoryRemovals"`
	Failure           string         `json:"failure,omitempty"`
}

func Aggregate

func Aggregate(request AggregateRequest) (AggregateResult, error)

type CanaryRequest

type CanaryRequest struct {
	EnginePath string
	RepoRoot   string
	Commit     string
	ResultPath string
	Run        ScenarioRunner
}

type CanaryResult

type CanaryResult struct {
	SchemaVersion  int                      `json:"schemaVersion"`
	Commit         string                   `json:"commit"`
	EngineSHA256   string                   `json:"engineSha256"`
	RepositoryHash string                   `json:"repositoryHash"`
	Identity       RowIdentity              `json:"identity"`
	Result         validationharness.Result `json:"result"`
	Status         string                   `json:"status"`
	Failure        string                   `json:"failure,omitempty"`
}

CanaryResult is the compact, commit-bound wrapper for the fixed synthetic Notepad++ scenario. It deliberately retains the planned row identity.

func RunCanary

func RunCanary(request CanaryRequest) (CanaryResult, error)

type CatalogRequest

type CatalogRequest struct {
	EnginePath string
	RepoRoot   string
	Commit     string
	ResultPath string
}

type CatalogResult

type CatalogResult struct {
	SchemaVersion  int    `json:"schemaVersion"`
	Commit         string `json:"commit"`
	EngineSHA256   string `json:"engineSha256"`
	RepositoryHash string `json:"repositoryHash"`
	Status         string `json:"status"`
	CatalogCount   int    `json:"catalogCount"`
	Passed         int    `json:"passed"`
	Failed         int    `json:"failed"`
	Memberships    int    `json:"memberships"`
	UniqueModules  int    `json:"uniqueModules"`
	Failure        string `json:"failure,omitempty"`
}

func RunCatalog

func RunCatalog(request CatalogRequest) (CatalogResult, error)

type FailureFingerprint

type FailureFingerprint struct {
	SchemaVersion int    `json:"schemaVersion"`
	Code          string `json:"code"`
	Phase         string `json:"phase"`
	Coordinate    string `json:"coordinate"`
	SHA256        string `json:"sha256"`
}

FailureFingerprint is intentionally limited to stable failure coordinates.

func NewFailureFingerprint

func NewFailureFingerprint(code, phase, coordinate string) (FailureFingerprint, error)

NewFailureFingerprint returns the only failure representation used for debt matching. Detail and complete row evidence are deliberately excluded.

func (FailureFingerprint) CanonicalJSON

func (fingerprint FailureFingerprint) CanonicalJSON() string

type FailureTransition

type FailureTransition struct {
	Identity KnownFailureIdentity `json:"identity"`
	From     FailureFingerprint   `json:"from"`
	To       FailureFingerprint   `json:"to"`
	Reason   string               `json:"reason"`
}

type InventoryRemoval

type InventoryRemoval struct {
	Identity KnownFailureIdentity `json:"identity"`
	Reason   string               `json:"reason"`
}

type KnownFailure

type KnownFailure struct {
	Identity         KnownFailureIdentity `json:"identity"`
	PreviousEvidence PreviousEvidence     `json:"previousEvidence"`
	Failure          FailureFingerprint   `json:"failure"`
	Detail           string               `json:"detail"`
}

type KnownFailureComparison

type KnownFailureComparison struct {
	Base     *KnownFailureLedger
	Head     *KnownFailureLedger
	HeadRows []KnownFailureRow
}

type KnownFailureComparisonResult

type KnownFailureComparisonResult struct {
	Failure            string
	Passed             []KnownFailureIdentity
	KnownDebt          []KnownFailureIdentity
	ResolvedDebt       []KnownFailureIdentity
	NewFailures        []KnownFailureIdentity
	ChangedFailures    []KnownFailureIdentity
	MissingDebt        []KnownFailureIdentity
	StaleDebt          []KnownFailureIdentity
	InventoryAdditions []KnownFailureIdentity
	InventoryRemovals  []KnownFailureIdentity
}

KnownFailureComparisonResult keeps proof and debt accounting separate.

func EvaluateKnownFailureLedger

func EvaluateKnownFailureLedger(comparison KnownFailureComparison) KnownFailureComparisonResult

EvaluateKnownFailureLedger compares protected-main authority with a candidate and independently validated head-row projection. It never creates authority from candidate state.

func (KnownFailureComparisonResult) Clean

func (result KnownFailureComparisonResult) Clean() bool

type KnownFailureIdentity

type KnownFailureIdentity struct {
	ModuleID   string `json:"moduleId"`
	ScenarioID string `json:"scenarioId"`
	Kind       string `json:"kind"`
}

KnownFailureIdentity deliberately excludes mutable row evidence.

type KnownFailureInventory

type KnownFailureInventory struct {
	ModuleCount   int                    `json:"moduleCount"`
	ScenarioCount int                    `json:"scenarioCount"`
	SHA256        string                 `json:"sha256"`
	Rows          []KnownFailureIdentity `json:"rows"`
}

type KnownFailureLedger

type KnownFailureLedger struct {
	SchemaVersion      int                   `json:"schemaVersion"`
	Inventory          KnownFailureInventory `json:"inventory"`
	KnownFailures      []KnownFailure        `json:"knownFailures"`
	FailureTransitions []FailureTransition   `json:"failureTransitions"`
	InventoryRemovals  []InventoryRemoval    `json:"inventoryRemovals"`
}

KnownFailureLedger is the protected-main authority for reviewed synthetic validation debt. It intentionally has no dependency on validationharness.

func ParseKnownFailureLedger

func ParseKnownFailureLedger(data []byte) (KnownFailureLedger, error)

ParseKnownFailureLedger applies the ledger's separate, bounded strict JSON boundary. It never falls back to a candidate or constructs an empty ledger.

type KnownFailureRow

type KnownFailureRow struct {
	Identity KnownFailureIdentity
	Passed   bool
	Failure  FailureFingerprint
}

KnownFailureRow is the evaluator's minimal projection of independently validated synthetic evidence.

type LedgerRowID

type LedgerRowID struct {
	ModuleID       string `json:"moduleId"`
	ModuleRevision string `json:"moduleRevision"`
	ScenarioID     string `json:"scenarioId"`
	ScenarioKind   string `json:"scenarioKind"`
	ScenarioDigest string `json:"scenarioDigest"`
	Shard          int    `json:"shard"`
	RowSHA256      string `json:"rowSha256"`
}

type PassedEligible

type PassedEligible struct {
	Passed   int `json:"passed"`
	Eligible int `json:"eligible"`
}

type PreviousEvidence

type PreviousEvidence struct {
	Commit         string      `json:"commit"`
	EngineSHA256   string      `json:"engineSha256"`
	RepositoryHash string      `json:"repositoryHash"`
	Row            LedgerRowID `json:"row"`
}

type RowIdentity

type RowIdentity struct {
	ModuleID       string                        `json:"moduleId"`
	ModuleRevision string                        `json:"moduleRevision"`
	ScenarioID     string                        `json:"scenarioId"`
	ScenarioKind   validationmatrix.ScenarioKind `json:"scenarioKind"`
	ScenarioDigest string                        `json:"scenarioDigest"`
	Shard          int                           `json:"shard"`
	RowSHA256      string                        `json:"rowSha256"`
}

RowIdentity is the compact, exact binding for a planned synthetic row. RowSHA256 covers the canonical JSON form of the complete SyntheticRow.

type ShardRequest

type ShardRequest struct {
	EnginePath string
	RepoRoot   string
	Commit     string
	ShardCount int
	Shard      int
	ResultPath string
	Run        ScenarioRunner
}

type ShardResult

type ShardResult struct {
	SchemaVersion  int        `json:"schemaVersion"`
	Commit         string     `json:"commit"`
	EngineSHA256   string     `json:"engineSha256"`
	RepositoryHash string     `json:"repositoryHash"`
	ShardCount     int        `json:"shardCount"`
	Shard          int        `json:"shard"`
	Status         string     `json:"status"`
	Rows           []ShardRow `json:"rows"`
	Failure        string     `json:"failure,omitempty"`
}

func RunSyntheticShard

func RunSyntheticShard(request ShardRequest) (ShardResult, error)

type ShardRow

type ShardRow struct {
	Identity RowIdentity              `json:"identity"`
	Result   validationharness.Result `json:"result"`
}

Jump to

Keyboard shortcuts

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