Internal

internal/app/acceptance

github.com/nilstate/scafld/v2/internal/app/acceptance

import "github.com/nilstate/scafld/v2/internal/app/acceptance"

Functions

func Evaluate(ctx context.Context, runner Runner, input EvaluateInput) EvaluateOutput

Source: internal/app/acceptance/acceptance.go:82

Evaluate runs and evaluates criteria without mutating lifecycle or session state.

Types

type Criterion

Source: internal/app/acceptance/acceptance.go:36

Criterion is the app-level acceptance criterion shape shared by build and gate.

type Criterion struct {
	ID             string
	Type           string
	Command        string
	ExpectedKind   string
	ManualEvidence *ManualEvidence
}
Fields
  • ID string
  • Type string
  • Command string
  • ExpectedKind string
  • ManualEvidence *ManualEvidence

type CriterionResult

Source: internal/app/acceptance/acceptance.go:56

CriterionResult is immutable evidence for one evaluated criterion.

type CriterionResult struct {
	ID                 string
	Type               string
	Command            string
	ExpectedKind       string
	Status             string
	ExitCode           int
	Reason             string
	DiagnosticPath     string
	Evidence           string
	EvidenceDigest     string
	EvidenceActor      string
	EvidenceRecordedAt string
	StdoutDigest       string
	StderrDigest       string
	StartedAt          time.Time
	EndedAt            time.Time
}
Fields
  • ID string
  • Type string
  • Command string
  • ExpectedKind string
  • Status string
  • ExitCode int
  • Reason string
  • DiagnosticPath string
  • Evidence string
  • EvidenceDigest string
  • EvidenceActor string
  • EvidenceRecordedAt string
  • StdoutDigest string
  • StderrDigest string
  • StartedAt time.Time
  • EndedAt time.Time

type EvaluateInput

Source: internal/app/acceptance/acceptance.go:21

EvaluateInput describes criteria and execution settings for one acceptance pass.

type EvaluateInput struct {
	Criteria      []Criterion
	WorkDir       string
	Env           []string
	EnvMode       execution.EnvMode
	Timeout       time.Duration
	IdleTimeout   time.Duration
	DiagnosticDir string
	// FailFast stops evaluation after the first non-pass criterion. The gate sets
	// it so a red criterion cannot run later commands (which could mutate the
	// workspace); build leaves it false to record every criterion.
	FailFast bool
}
Fields
  • Criteria []Criterion
  • WorkDir string
  • Env []string
  • EnvMode execution.EnvMode
  • Timeout time.Duration
  • IdleTimeout time.Duration
  • DiagnosticDir string
  • FailFast bool

    FailFast stops evaluation after the first non-pass criterion. The gate sets it so a red criterion cannot run later commands (which could mutate the workspace); build leaves it false to record every criterion.

type EvaluateOutput

Source: internal/app/acceptance/acceptance.go:76

EvaluateOutput summarizes evaluated criteria.

type EvaluateOutput struct {
	Results []CriterionResult
	Passed  bool
}
Fields
  • Results []CriterionResult
  • Passed bool

type ManualEvidence

Source: internal/app/acceptance/acceptance.go:47

ManualEvidence is an already-recorded operator disposition for a manual criterion. It is accepted only after the lifecycle command validates and persists the corresponding session event.

type ManualEvidence struct {
	Disposition    string
	EvidenceDigest string
	Actor          string
	RecordedAt     string
	Reason         string
}
Fields
  • Disposition string
  • EvidenceDigest string
  • Actor string
  • RecordedAt string
  • Reason string

type Runner

Source: internal/app/acceptance/acceptance.go:16

Runner executes acceptance commands.

type Runner interface {
	Run(context.Context, execution.Request) (execution.Result, error)
}
Methods
  • Run func(context.Context, execution.Request) (execution.Result, error)