qualification

package
v0.1.0-alpha.13 Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package qualification contains operational release-evidence runners. It is separate from storage tests so receipts are produced by the same VCS-stamped executable that performs the work.

Index

Constants

View Source
const MaxAnchorHistoryOperations = 24
View Source
const RaceEnabled = false
View Source
const SoakReceiptSchemaVersion uint32 = 4

Variables

This section is empty.

Functions

func ValidateSoakOptions

func ValidateSoakOptions(options SoakOptions) error

Types

type AnchorHistory

type AnchorHistory struct {
	Initial    AnchorHistoryValue       `json:"initial"`
	Operations []AnchorHistoryOperation `json:"operations"`
}

type AnchorHistoryCheck

type AnchorHistoryCheck struct {
	Linearizable   bool                `json:"linearizable"`
	ExploredStates uint64              `json:"exploredStates"`
	Linearization  []AnchorHistoryStep `json:"linearization"`
	Violation      string              `json:"violation,omitempty"`
}

func CheckAnchorHistory

func CheckAnchorHistory(history AnchorHistory) (AnchorHistoryCheck, error)

CheckAnchorHistory checks a bounded monotonic-register history. Failed advances are ambiguous: each may linearize as either a durable transition or a no-op. Failed loads are observational no-ops. Invoke/Return are unique controller-assigned event ordinals, not wall-clock timestamps.

type AnchorHistoryOperation

type AnchorHistoryOperation struct {
	ID      string                     `json:"id"`
	Kind    AnchorHistoryOperationKind `json:"kind"`
	Outcome AnchorHistoryOutcome       `json:"outcome"`
	Invoke  uint64                     `json:"invoke"`
	Return  uint64                     `json:"return"`
	Value   AnchorHistoryValue         `json:"value"`
}

type AnchorHistoryOperationKind

type AnchorHistoryOperationKind string
const (
	AnchorHistoryLoad    AnchorHistoryOperationKind = "load"
	AnchorHistoryAdvance AnchorHistoryOperationKind = "advance"
)

type AnchorHistoryOutcome

type AnchorHistoryOutcome string
const (
	AnchorHistorySucceeded AnchorHistoryOutcome = "succeeded"
	AnchorHistoryFailed    AnchorHistoryOutcome = "failed"
)

type AnchorHistoryStep

type AnchorHistoryStep struct {
	OperationID      string `json:"operationId"`
	AmbiguousApplied bool   `json:"ambiguousApplied"`
}

type AnchorHistoryValue

type AnchorHistoryValue struct {
	Exists         bool     `json:"exists"`
	DatabaseID     [16]byte `json:"databaseId"`
	CommitSequence uint64   `json:"commitSequence"`
	Generation     uint64   `json:"generation"`
}

type SoakOptions

type SoakOptions struct {
	TargetDirectory  string
	Profile          string
	Seconds          int
	Documents        int
	Reopens          int
	SourceRevision   string
	BuildRevision    string
	BuildModified    bool
	Volume           VolumeIdentity
	ProgressInterval time.Duration
	Progress         func(SoakProgress)
}

type SoakPhaseReceipt

type SoakPhaseReceipt struct {
	Ordinal              int           `json:"ordinal"`
	Duration             time.Duration `json:"durationNanos"`
	ConcurrentDuration   time.Duration `json:"concurrentDurationNanos"`
	Writes               uint64        `json:"writes"`
	SnapshotReads        uint64        `json:"snapshotReads"`
	IndexBuildBatches    uint64        `json:"indexBuildBatches"`
	ReclamationAttempts  uint64        `json:"reclamationAttempts"`
	ReclamationConflicts uint64        `json:"reclamationConflicts"`
	CommitSequence       uint64        `json:"commitSequence"`
	PhysicalPages        uint64        `json:"physicalPages"`
	ReusablePages        uint64        `json:"reusablePages"`
	IndexBuildPhase      uint8         `json:"indexBuildPhase"`
}

type SoakProgress

type SoakProgress struct {
	Stage                SoakProgressStage
	Phase                int
	TotalPhases          int
	Elapsed              time.Duration
	ConcurrentDuration   time.Duration
	Writes               uint64
	SnapshotReads        uint64
	IndexBuildBatches    uint64
	ReclamationAttempts  uint64
	ReclamationConflicts uint64
}

type SoakProgressStage

type SoakProgressStage string
const (
	SoakProgressStarted         SoakProgressStage = "started"
	SoakProgressPhaseRunning    SoakProgressStage = "phase_running"
	SoakProgressPhaseVerifying  SoakProgressStage = "phase_verifying"
	SoakProgressPhaseVerified   SoakProgressStage = "phase_verified"
	SoakProgressShadowVerifying SoakProgressStage = "shadow_verifying"
	SoakProgressShadowVerified  SoakProgressStage = "shadow_verified"
	SoakProgressFinalVerifying  SoakProgressStage = "final_verifying"
	SoakProgressComplete        SoakProgressStage = "complete"
)

type SoakReceipt

type SoakReceipt struct {
	SchemaVersion         uint32             `json:"schemaVersion"`
	FormatRevision        uint16             `json:"formatRevision"`
	Engine                string             `json:"engine"`
	Profile               string             `json:"profile"`
	RaceEnabled           bool               `json:"raceEnabled"`
	GOOS                  string             `json:"goos"`
	GOARCH                string             `json:"goarch"`
	GoVersion             string             `json:"goVersion"`
	SourceRevision        string             `json:"sourceRevision,omitempty"`
	BuildRevision         string             `json:"buildRevision,omitempty"`
	BuildModified         bool               `json:"buildModified"`
	Device                uint64             `json:"device"`
	FilesystemType        string             `json:"filesystemType"`
	FilesystemName        string             `json:"filesystemName"`
	BlockSize             uint64             `json:"blockSize"`
	StartedAt             time.Time          `json:"startedAt"`
	FinishedAt            time.Time          `json:"finishedAt"`
	RequestedSeconds      int                `json:"requestedSeconds"`
	ConcurrentDuration    time.Duration      `json:"concurrentDurationNanos"`
	ActualDuration        time.Duration      `json:"actualDurationNanos"`
	Documents             int                `json:"documents"`
	RequestedReopens      int                `json:"requestedReopens"`
	CompletedReopens      int                `json:"completedReopens"`
	Writes                uint64             `json:"writes"`
	SnapshotReads         uint64             `json:"snapshotReads"`
	IndexBuildBatches     uint64             `json:"indexBuildBatches"`
	ReclamationAttempts   uint64             `json:"reclamationAttempts"`
	ReclamationConflicts  uint64             `json:"reclamationConflicts"`
	FinalCommitSequence   uint64             `json:"finalCommitSequence"`
	FinalFileBytes        uint64             `json:"finalFileBytes"`
	FinalPhysicalPages    uint64             `json:"finalPhysicalPages"`
	FinalReachablePages   uint64             `json:"finalReachablePages"`
	FinalReclaimablePages uint64             `json:"finalReclaimablePages"`
	FinalFileSHA256       string             `json:"finalFileSha256"`
	PersistentFreeSpace   bool               `json:"persistentFreeSpace"`
	FreeSpaceValid        bool               `json:"freeSpaceValid"`
	SemanticIndexes       bool               `json:"semanticIndexesVerified"`
	SemanticIndexBuilds   bool               `json:"semanticIndexBuildsVerified"`
	FinalIndexBuildAbsent bool               `json:"finalIndexBuildAbsent"`
	Phases                []SoakPhaseReceipt `json:"phases"`
}

func RunStorageSoak

func RunStorageSoak(ctx context.Context, options SoakOptions) (_ SoakReceipt, resultErr error)

type VolumeIdentity

type VolumeIdentity struct {
	Device         uint64
	FilesystemType string
	FilesystemName string
	BlockSize      uint64
}

Jump to

Keyboard shortcuts

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