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 stringType stringCommand stringExpectedKind stringManualEvidence *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 stringType stringCommand stringExpectedKind stringStatus stringExitCode intReason stringDiagnosticPath stringEvidence stringEvidenceDigest stringEvidenceActor stringEvidenceRecordedAt stringStdoutDigest stringStderrDigest stringStartedAt time.TimeEndedAt 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 []CriterionWorkDir stringEnv []stringEnvMode execution.EnvModeTimeout time.DurationIdleTimeout time.DurationDiagnosticDir stringFailFast boolFailFast 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 []CriterionResultPassed 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 stringEvidenceDigest stringActor stringRecordedAt stringReason 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)
