Documentation
¶
Overview ¶
Package validationci owns compact, commit-bound CI evidence for the existing production validation planner and harness.
Index ¶
- Constants
- func ValidateKnownFailureLedger(ledger KnownFailureLedger) error
- type AggregateRequest
- type AggregateResult
- type CanaryRequest
- type CanaryResult
- type CatalogRequest
- type CatalogResult
- type FailureFingerprint
- type FailureTransition
- type InventoryRemoval
- type KnownFailure
- type KnownFailureComparison
- type KnownFailureComparisonResult
- type KnownFailureIdentity
- type KnownFailureInventory
- type KnownFailureLedger
- type KnownFailureRow
- type LedgerRowID
- type PassedEligible
- type PreviousEvidence
- type RowIdentity
- type ScenarioRunner
- type ShardRequest
- type ShardResult
- type ShardRow
Constants ¶
const ( SchemaVersion = 1 ShardCount = 8 )
Variables ¶
This section is empty.
Functions ¶
func ValidateKnownFailureLedger ¶
func ValidateKnownFailureLedger(ledger KnownFailureLedger) error
Types ¶
type AggregateRequest ¶
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 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 PassedEligible ¶
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 ScenarioRunner ¶
type ScenarioRunner func(context.Context, validationharness.Request) (validationharness.Result, error)
type ShardRequest ¶
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"`
}