taskverification

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Mar 31, 2026 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultCommandTimeout = 30 * time.Second

DefaultCommandTimeout is the per-command timeout applied to template-defined shell commands.

Variables

This section is empty.

Functions

This section is empty.

Types

type ActionEventTaskContext

type ActionEventTaskContext struct {
	RequestID           string           `json:"requestId"`
	TaskRunID           string           `json:"taskRunId"`
	InvocationPhasePath TaskPhase        `json:"invocationPhasePath"`
	InvocationNodeKind  WorkflowNodeKind `json:"invocationNodeKind,omitempty"`
	CreatedAtUnixMilli  int64            `json:"createdAtUnixMilli"`
}

ActionEventTaskContext associates an action event with the active task snapshot.

type Check

type Check struct {
	ID             string      `yaml:"id" json:"id"`
	Command        string      `yaml:"command" json:"command"`
	PreConditions  []Condition `yaml:"pre_conditions,omitempty" json:"pre_conditions,omitempty"`
	PostConditions []Condition `yaml:"post_conditions,omitempty" json:"post_conditions,omitempty"`
}

Check defines one command plus its pre/post conditions.

type CheckpointHint

type CheckpointHint struct {
	Enabled bool `yaml:"enabled,omitempty" json:"enabled,omitempty"`
}

CheckpointHint stores declarative checkpoint metadata for later runtime use.

type CompiledWorkflow

type CompiledWorkflow struct {
	Nodes               map[TaskPhase]WorkflowNode `json:"-"`
	OnboardingPath      TaskPhase                  `json:"-"`
	PlanningPath        TaskPhase                  `json:"-"`
	FirstExecutablePath TaskPhase                  `json:"-"`
	WorkflowSteps       []Step                     `json:"-"`
}

CompiledWorkflow stores normalized workflow nodes derived from the template schema.

type Condition

type Condition struct {
	Type   string `yaml:"type" json:"type"`
	Value  any    `yaml:"value,omitempty" json:"value,omitempty"`
	Values []any  `yaml:"values,omitempty" json:"values,omitempty"`
	Path   string `yaml:"path,omitempty" json:"path,omitempty"`
}

Condition defines one assertion evaluated against a command result or file.

type EventStore

type EventStore interface {
	AppendTaskEvent(*TaskEvent) error
	AppendActionEventTaskContext(ActionEventTaskContext) error
	TaskEvents() ([]TaskEvent, error)
	ActionEventTaskContexts() ([]ActionEventTaskContext, error)
}

EventStore records task lifecycle events and action-to-task links.

type ExecutionNodeSpec

type ExecutionNodeSpec struct {
	ID           string              `yaml:"id" json:"id"`
	Kind         WorkflowNodeKind    `yaml:"kind,omitempty" json:"kind,omitempty"`
	Name         string              `yaml:"name,omitempty" json:"name,omitempty"`
	Description  string              `yaml:"description,omitempty" json:"description,omitempty"`
	Instructions string              `yaml:"instructions,omitempty" json:"instructions,omitempty"`
	AllowedTools []string            `yaml:"tools_allowed,omitempty" json:"toolsAllowed,omitempty"`
	Checkpoint   *CheckpointHint     `yaml:"checkpoint,omitempty" json:"checkpoint,omitempty"`
	Checks       []Check             `yaml:"checks,omitempty" json:"checks,omitempty"`
	Invariants   []Invariant         `yaml:"invariants,omitempty" json:"invariants,omitempty"`
	Next         string              `yaml:"next,omitempty" json:"next,omitempty"`
	SubSteps     []ExecutionNodeSpec `yaml:"sub_steps,omitempty" json:"subSteps,omitempty"`
}

ExecutionNodeSpec describes one author-facing execution or approval node.

type InMemoryEventStore

type InMemoryEventStore struct {
	// contains filtered or unexported fields
}

InMemoryEventStore stores task events in memory for the current process.

func NewInMemoryEventStore

func NewInMemoryEventStore() *InMemoryEventStore

NewInMemoryEventStore creates an empty in-memory task event store.

func (*InMemoryEventStore) ActionEventTaskContexts

func (s *InMemoryEventStore) ActionEventTaskContexts() ([]ActionEventTaskContext, error)

ActionEventTaskContexts returns a copy of all stored action-to-task links.

func (*InMemoryEventStore) AppendActionEventTaskContext

func (s *InMemoryEventStore) AppendActionEventTaskContext(ctx ActionEventTaskContext) error

AppendActionEventTaskContext stores one action-to-task link in memory.

func (*InMemoryEventStore) AppendTaskEvent

func (s *InMemoryEventStore) AppendTaskEvent(event *TaskEvent) error

AppendTaskEvent stores one task lifecycle event in memory.

func (*InMemoryEventStore) TaskEvents

func (s *InMemoryEventStore) TaskEvents() ([]TaskEvent, error)

TaskEvents returns a copy of all stored lifecycle events.

type Invariant

type Invariant struct {
	ID      string `yaml:"id" json:"id"`
	Command string `yaml:"command" json:"command"`
}

Invariant defines one command whose stdout must remain stable across a step.

type LifecycleNodeSpec

type LifecycleNodeSpec struct {
	Instructions string          `yaml:"instructions,omitempty" json:"instructions,omitempty"`
	AllowedTools []string        `yaml:"tools_allowed,omitempty" json:"toolsAllowed,omitempty"`
	Checkpoint   *CheckpointHint `yaml:"checkpoint,omitempty" json:"checkpoint,omitempty"`
}

LifecycleNodeSpec describes a non-execution workflow node.

type OnboardingArtifact

type OnboardingArtifact struct {
	TaskSummary    string                  `json:"taskSummary"`
	ArtifactMap    []OnboardingArtifactRef `json:"artifactMap,omitempty"`
	CommonCommands []OnboardingCommand     `json:"commonCommands,omitempty"`
	Constraints    []string                `json:"constraints,omitempty"`
	OpenQuestions  []string                `json:"openQuestions,omitempty"`
}

OnboardingArtifact stores reusable task/environment discovery context.

type OnboardingArtifactRef

type OnboardingArtifactRef struct {
	Path  string `json:"path"`
	Kind  string `json:"kind"`
	Notes string `json:"notes,omitempty"`
}

OnboardingArtifactRef describes a project artifact discovered during onboarding.

type OnboardingCommand

type OnboardingCommand struct {
	Command string `json:"command"`
	Purpose string `json:"purpose"`
}

OnboardingCommand describes a useful project command discovered during onboarding.

type PlanningArtifact

type PlanningArtifact struct {
	SelectedFiles        []string `json:"selectedFiles,omitempty"`
	TestTarget           string   `json:"testTarget,omitempty"`
	LintCommand          string   `json:"lintCommand,omitempty"`
	ExpectedFailure      string   `json:"expectedFailure,omitempty"`
	ImplementationTarget string   `json:"implementationTarget,omitempty"`
	Invariants           []string `json:"invariants,omitempty"`
}

PlanningArtifact stores the frozen execution inputs produced during planning.

type PlanningNodeSpec

type PlanningNodeSpec struct {
	Instructions    string          `yaml:"instructions,omitempty" json:"instructions,omitempty"`
	AllowedTools    []string        `yaml:"tools_allowed,omitempty" json:"toolsAllowed,omitempty"`
	Checkpoint      *CheckpointHint `yaml:"checkpoint,omitempty" json:"checkpoint,omitempty"`
	EditableFields  []string        `yaml:"editable_fields,omitempty" json:"editableFields,omitempty"`
	RequiredOutputs []string        `yaml:"required_outputs,omitempty" json:"requiredOutputs,omitempty"`
	Next            string          `yaml:"next,omitempty" json:"next,omitempty"`
}

PlanningNodeSpec describes the planning workflow node.

type RunState

type RunState struct {
	RunID              string              `json:"taskRunId"`
	TemplateID         string              `json:"templateId"`
	SelectedTemplate   Template            `json:"-"`
	DraftParameters    map[string]string   `json:"draftParameters"`
	Status             TaskStatus          `json:"status"`
	Phase              TaskPhase           `json:"phase"`
	Onboarding         *OnboardingArtifact `json:"onboarding,omitempty"`
	Planning           *PlanningArtifact   `json:"planning,omitempty"`
	WorkflowReady      bool                `json:"executionReady"`
	RunnableTemplate   *Template           `json:"-"`
	Steps              []StepState         `json:"steps,omitempty"`
	LastFailureMessage string              `json:"lastFailureMessage,omitempty"`
	ExplicitFailReason string              `json:"explicitFailReason,omitempty"`
	LastActivityAt     int64               `json:"lastActivityAtUnixMilli,omitempty"`
	ExpiresAt          int64               `json:"expiresAtUnixMilli,omitempty"`
}

RunState stores the mutable session-scoped state of one registered task.

func (*RunState) CurrentNode

func (r *RunState) CurrentNode() (WorkflowNode, bool)

CurrentNode returns the active compiled workflow node for the run.

func (*RunState) NextNodePath

func (r *RunState) NextNodePath() TaskPhase

NextNodePath returns the deterministic next workflow node when known.

type Service

type Service struct {
	TemplateDir    string
	WorkingDir     string
	EventStore     EventStore
	CommandTimeout time.Duration
}

Service loads templates and manages the task verification runtime.

func NewService

func NewService(templateDir, workingDir string) *Service

NewService creates a task verification service rooted at the given directories.

func (*Service) ActionEventTaskContexts

func (s *Service) ActionEventTaskContexts() ([]ActionEventTaskContext, error)

ActionEventTaskContexts returns the currently recorded action-to-task links.

func (*Service) CompleteOnboarding

func (s *Service) CompleteOnboarding(run *RunState, artifact *OnboardingArtifact) error

CompleteOnboarding validates and persists onboarding context, then advances to planning.

func (*Service) CompletePlanning

func (s *Service) CompletePlanning(run *RunState, artifact *PlanningArtifact) error

CompletePlanning validates and freezes planning context, then enters execution.

func (*Service) CompleteStep

func (s *Service) CompleteStep(ctx context.Context, run *RunState, stepNumber int) (*StepResult, error)

CompleteStep runs postconditions and invariant verification for an active step.

func (*Service) FailTask

func (s *Service) FailTask(run *RunState, reason string) error

FailTask marks a task run as failed without running additional checks.

func (*Service) ListTemplates

func (s *Service) ListTemplates() ([]TemplateSummary, error)

ListTemplates returns the task templates currently available on disk.

func (*Service) RecordActionEventTaskContext

func (s *Service) RecordActionEventTaskContext(run *RunState, requestID string, invocationPhase TaskPhase, invocationNodeKind WorkflowNodeKind) error

RecordActionEventTaskContext appends one task snapshot for an action event.

func (*Service) RecordActionEventTaskContextForRunID

func (s *Service) RecordActionEventTaskContextForRunID(runID, requestID string, invocationPhase TaskPhase, invocationNodeKind WorkflowNodeKind) error

RecordActionEventTaskContextForRunID appends one task snapshot for an action event using an immutable run identifier.

func (*Service) RecordTaskEvent

func (s *Service) RecordTaskEvent(
	run *RunState,
	sessionID,
	principalID string,
	sourcePhase TaskPhase,
	sourceNodeKind WorkflowNodeKind,
	resultingPhase TaskPhase,
	resultingNodeKind WorkflowNodeKind,
	eventType TaskEventType,
	outcome TaskEventOutcome,
	relatedActionRequestID string,
	payload map[string]any,
) error

RecordTaskEvent appends one lifecycle event to the configured store.

func (*Service) RegisterTask

func (s *Service) RegisterTask(templateID string, parameters map[string]string) (*RunState, error)

RegisterTask creates a shell task run from the selected template.

func (*Service) RestartTask

func (s *Service) RestartTask(run *RunState) error

RestartTask resets an existing task run back to its onboarding shell state.

func (*Service) ResumeTask added in v0.2.2

func (s *Service) ResumeTask(run *RunState) error

ResumeTask reactivates a timed-out task run without resetting its workflow progress.

func (*Service) StartStep

func (s *Service) StartStep(ctx context.Context, run *RunState, stepNumber int) (*StepResult, error)

StartStep validates the next step, runs its preconditions, and captures invariant baselines.

func (*Service) TaskEvents

func (s *Service) TaskEvents() ([]TaskEvent, error)

TaskEvents returns the currently recorded task lifecycle events.

func (*Service) TimeoutTask added in v0.2.2

func (s *Service) TimeoutTask(run *RunState) error

TimeoutTask marks an active task run as timed out without changing its phase or steps.

type Step

type Step struct {
	ID           string          `json:"id"`
	Path         TaskPhase       `json:"path"`
	ParentPath   TaskPhase       `json:"parentPath,omitempty"`
	NextPath     TaskPhase       `json:"nextPath,omitempty"`
	Name         string          `json:"name,omitempty"`
	Description  string          `json:"description,omitempty"`
	Instructions string          `json:"instructions,omitempty"`
	AllowedTools []string        `json:"allowedTools,omitempty"`
	Checkpoint   *CheckpointHint `json:"checkpoint,omitempty"`
	Checks       []Check         `json:"checks"`
	Invariants   []Invariant     `json:"invariants,omitempty"`
}

Step defines one compiled executable workflow node.

type StepFailureKind

type StepFailureKind string

StepFailureKind classifies the high-level reason a step failed.

const (
	// StepFailureKindCheck indicates a failed check or condition.
	StepFailureKindCheck StepFailureKind = "check"
	// StepFailureKindInvariant indicates invariant capture or verification failed.
	StepFailureKindInvariant StepFailureKind = "invariant"
	// StepFailureKindCommandExecution indicates the command itself failed to execute as expected.
	StepFailureKindCommandExecution StepFailureKind = "command_execution"
)

type StepFailurePhase

type StepFailurePhase string

StepFailurePhase identifies which verification stage produced the failure.

const (
	// StepFailurePhasePrecondition marks a precondition failure.
	StepFailurePhasePrecondition StepFailurePhase = "precondition"
	// StepFailurePhasePostcondition marks a postcondition failure.
	StepFailurePhasePostcondition StepFailurePhase = "postcondition"
	// StepFailurePhaseInvariantCapture marks invariant baseline capture failure.
	StepFailurePhaseInvariantCapture StepFailurePhase = "invariant_capture"
	// StepFailurePhaseInvariantVerify marks invariant drift detection failure.
	StepFailurePhaseInvariantVerify StepFailurePhase = "invariant_verify"
	// StepFailurePhaseCommandExecution marks an underlying command execution error.
	StepFailurePhaseCommandExecution StepFailurePhase = "command_execution"
)

type StepResult

type StepResult struct {
	Passed            bool             `json:"passed"`
	Message           string           `json:"message"`
	Step              int              `json:"step"`
	StepID            string           `json:"stepId"`
	Status            TaskStatus       `json:"status"`
	Phase             TaskPhase        `json:"phase"`
	StepStatus        StepStatus       `json:"stepStatus"`
	FailureKind       StepFailureKind  `json:"failureKind,omitempty"`
	FailurePhase      StepFailurePhase `json:"failurePhase,omitempty"`
	FailedCheckID     string           `json:"failedCheckId,omitempty"`
	FailedInvariantID string           `json:"failedInvariantId,omitempty"`
	Summary           string           `json:"summary,omitempty"`
	ExitCode          *int             `json:"exitCode,omitempty"`
	StdoutSnippet     string           `json:"stdoutSnippet,omitempty"`
	StderrSnippet     string           `json:"stderrSnippet,omitempty"`
}

StepResult is the MCP-facing outcome of starting or completing a step.

type StepState

type StepState struct {
	ID                 string            `json:"id"`
	Path               TaskPhase         `json:"path"`
	Status             StepStatus        `json:"status"`
	InvariantBaselines map[string]string `json:"-"`
}

StepState stores mutable runtime state for a single step.

type StepStatus

type StepStatus string

StepStatus enumerates the per-step lifecycle states.

const (
	// StepStatusPending indicates the step has not started.
	StepStatusPending StepStatus = "pending"
	// StepStatusActive indicates the step is currently in progress.
	StepStatusActive StepStatus = "active"
	// StepStatusPassed indicates the step completed successfully.
	StepStatusPassed StepStatus = "passed"
	// StepStatusFailed indicates the step failed verification.
	StepStatusFailed StepStatus = "failed"
)

type StepSummary

type StepSummary struct {
	Step         int       `json:"step"`
	ID           string    `json:"id"`
	Path         TaskPhase `json:"path"`
	Name         string    `json:"name,omitempty"`
	Description  string    `json:"description,omitempty"`
	Instructions string    `json:"instructions,omitempty"`
}

StepSummary is the lightweight view of one compiled execution step returned to MCP clients.

type Task

type Task struct {
	ID           string `yaml:"id" json:"id"`
	Name         string `yaml:"name" json:"name"`
	Description  string `yaml:"description" json:"description"`
	Instructions string `yaml:"instructions,omitempty" json:"instructions,omitempty"`
}

Task describes the human-facing identity of a template.

type TaskEvent

type TaskEvent struct {
	ID                     string           `json:"id"`
	SchemaVersion          int              `json:"schemaVersion"`
	CreatedAtUnixMilli     int64            `json:"createdAtUnixMilli"`
	TaskRunID              string           `json:"taskRunId"`
	SessionID              string           `json:"sessionId,omitempty"`
	TemplateID             string           `json:"templateId"`
	PrincipalID            string           `json:"principalId,omitempty"`
	PhasePath              TaskPhase        `json:"phasePath"`
	NodeKind               WorkflowNodeKind `json:"nodeKind,omitempty"`
	ResultingPhasePath     TaskPhase        `json:"resultingPhasePath"`
	ResultingNodeKind      WorkflowNodeKind `json:"resultingNodeKind,omitempty"`
	EventType              TaskEventType    `json:"eventType"`
	Outcome                TaskEventOutcome `json:"outcome"`
	RelatedActionRequestID string           `json:"relatedActionRequestId,omitempty"`
	Payload                json.RawMessage  `json:"payload,omitempty"`
}

TaskEvent is the append-only lifecycle record for one task run.

type TaskEventOutcome

type TaskEventOutcome string

TaskEventOutcome captures whether a lifecycle operation succeeded.

const (
	// TaskEventOutcomeSucceeded indicates the lifecycle event succeeded.
	TaskEventOutcomeSucceeded TaskEventOutcome = "succeeded"
	// TaskEventOutcomeFailed indicates the lifecycle event failed.
	TaskEventOutcomeFailed TaskEventOutcome = "failed"
)

type TaskEventType

type TaskEventType string

TaskEventType identifies one task lifecycle event.

const (
	// TaskEventTypeRegistered records task registration.
	TaskEventTypeRegistered TaskEventType = "task_registered"
	// TaskEventTypeOnboardingCompleted records onboarding completion.
	TaskEventTypeOnboardingCompleted TaskEventType = "onboarding_completed"
	// TaskEventTypePlanningCompleted records planning completion.
	TaskEventTypePlanningCompleted TaskEventType = "planning_completed"
	// TaskEventTypeStepStarted records step start.
	TaskEventTypeStepStarted TaskEventType = "step_started"
	// TaskEventTypeStepCompleted records step completion.
	TaskEventTypeStepCompleted TaskEventType = "step_completed"
	// TaskEventTypeRestarted records task restart.
	TaskEventTypeRestarted TaskEventType = "task_restarted"
	// TaskEventTypeFailed records explicit task failure.
	TaskEventTypeFailed TaskEventType = "task_failed"
	// TaskEventTypeTimedOut records automatic inactivity timeout.
	TaskEventTypeTimedOut TaskEventType = "task_timed_out"
	// TaskEventTypeResumed records resuming a timed-out run in place.
	TaskEventTypeResumed TaskEventType = "task_resumed"
	// TaskEventTypeApprovalWaitEntered records entry into an approval wait node.
	TaskEventTypeApprovalWaitEntered TaskEventType = "approval_wait_entered"
)

type TaskPhase

type TaskPhase string

TaskPhase enumerates the workflow position of a task run.

const (
	// TaskPhaseInitialization is the workflow path before registering a task.
	TaskPhaseInitialization TaskPhase = "initialization"
	// TaskPhaseOnboarding is the onboarding workflow path.
	TaskPhaseOnboarding TaskPhase = "onboarding"
	// TaskPhasePlanning is the planning workflow path.
	TaskPhasePlanning TaskPhase = "planning"
	// TaskPhaseScaffolding is the reserved scaffolding root path.
	TaskPhaseScaffolding TaskPhase = "scaffolding"
	// TaskPhaseExecution is the reserved execution root path.
	TaskPhaseExecution TaskPhase = "execution"
	// TaskPhaseWaitingForApproval is the reserved approval root path.
	TaskPhaseWaitingForApproval TaskPhase = "waiting_for_approval"
)

type TaskStatus

type TaskStatus string

TaskStatus enumerates the overall condition of a task run.

const (
	// TaskStatusActive indicates a task run can continue executing.
	TaskStatusActive TaskStatus = "active"
	// TaskStatusCompleted indicates a task run finished successfully.
	TaskStatusCompleted TaskStatus = "completed"
	// TaskStatusFailed indicates a task run ended in failure.
	TaskStatusFailed TaskStatus = "failed"
	// TaskStatusTimedOut indicates a task run was paused due to inactivity.
	TaskStatusTimedOut TaskStatus = "timed_out"
)

type Template

type Template struct {
	Version          string              `yaml:"version" json:"version"`
	Task             Task                `yaml:"task" json:"task"`
	Parameters       []TemplateParameter `yaml:"parameters,omitempty" json:"parameters,omitempty"`
	Workflow         *Workflow           `yaml:"workflow" json:"workflow"`
	CompiledWorkflow *CompiledWorkflow   `yaml:"-" json:"-"`
}

Template defines one task verification template loaded from YAML.

func (*Template) ParameterDefinitions

func (t *Template) ParameterDefinitions() []TemplateParameter

ParameterDefinitions returns placeholder metadata in stable name order.

func (*Template) RequiredParameterNames

func (t *Template) RequiredParameterNames() []string

RequiredParameterNames returns the placeholder names referenced by the template.

func (*Template) Resolve

func (t *Template) Resolve(parameters map[string]string) (Template, error)

Resolve substitutes the provided parameter values into the template.

func (*Template) StepSummaries

func (t *Template) StepSummaries() []StepSummary

StepSummaries returns step metadata in template order.

func (*Template) Validate

func (t *Template) Validate() error

Validate checks whether the template is structurally valid before registration.

func (*Template) WorkflowNode

func (t *Template) WorkflowNode(path TaskPhase) (WorkflowNode, bool)

WorkflowNode returns one compiled workflow node by path.

type TemplateParameter

type TemplateParameter struct {
	Name        string `yaml:"name" json:"name"`
	Description string `yaml:"description,omitempty" json:"description,omitempty"`
}

TemplateParameter describes one agent-provided parameter expected by a template.

type TemplateSummary

type TemplateSummary struct {
	ID           string              `json:"id"`
	Name         string              `json:"name"`
	Description  string              `json:"description"`
	Instructions string              `json:"instructions,omitempty"`
	Parameters   []TemplateParameter `json:"parameters"`
	StepCount    int                 `json:"stepCount"`
	Steps        []StepSummary       `json:"steps"`
}

TemplateSummary is the lightweight view returned to MCP clients.

type Workflow

type Workflow struct {
	Onboarding  *LifecycleNodeSpec  `yaml:"onboarding" json:"onboarding"`
	Planning    *PlanningNodeSpec   `yaml:"planning" json:"planning"`
	Scaffolding []ExecutionNodeSpec `yaml:"scaffolding,omitempty" json:"scaffolding,omitempty"`
	Execution   []ExecutionNodeSpec `yaml:"execution" json:"execution"`
}

Workflow describes the declarative task lifecycle.

type WorkflowNode

type WorkflowNode struct {
	Path                    TaskPhase        `json:"path"`
	Kind                    WorkflowNodeKind `json:"kind"`
	ParentPath              TaskPhase        `json:"parentPath,omitempty"`
	NextPath                TaskPhase        `json:"nextPath,omitempty"`
	StepNumber              int              `json:"stepNumber,omitempty"`
	StepID                  string           `json:"stepId,omitempty"`
	Name                    string           `json:"name,omitempty"`
	Description             string           `json:"description,omitempty"`
	Instructions            string           `json:"instructions,omitempty"`
	AllowedTools            []string         `json:"allowedTools,omitempty"`
	Checkpoint              *CheckpointHint  `json:"checkpoint,omitempty"`
	EditableFields          []string         `json:"editableFields,omitempty"`
	RequiredPlanningOutputs []string         `json:"requiredPlanningOutputs,omitempty"`
}

WorkflowNode is the normalized runtime representation of one workflow node.

type WorkflowNodeKind

type WorkflowNodeKind string

WorkflowNodeKind identifies the semantic meaning of one compiled workflow node.

const (
	// WorkflowNodeKindOnboarding marks the onboarding workflow node.
	WorkflowNodeKindOnboarding WorkflowNodeKind = "onboarding"
	// WorkflowNodeKindPlanning marks the planning workflow node.
	WorkflowNodeKindPlanning WorkflowNodeKind = "planning"
	// WorkflowNodeKindScaffolding marks an additive setup workflow node.
	WorkflowNodeKindScaffolding WorkflowNodeKind = "scaffolding"
	// WorkflowNodeKindExecution marks an executable workflow node.
	WorkflowNodeKindExecution WorkflowNodeKind = "execution"
	// WorkflowNodeKindWaitingForApproval marks a pause/approval workflow node.
	WorkflowNodeKindWaitingForApproval WorkflowNodeKind = "waiting_for_approval"
)

Jump to

Keyboard shortcuts

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