workspace

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Aug 6, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package workspace turns operator input — files, directories, CLI tag filters — into the ordered set of flows a run will execute.

specs/03-cli-tooling.md section 1 "Flow discovery" is the contract. Nothing here touches a device or the engine: discovery is a pure function of the filesystem and the authored configuration, which is why it is testable on its own and buildable before any driver exists.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Flow

type Flow struct {
	Path string
	Name string
	Tags []string
}

Flow is one selected flow: where it lives and the identity the workspace ordering and tag filters address it by.

type Options

type Options struct {
	// ConfigPath overrides auto-discovery when set.
	ConfigPath  string
	IncludeTags []string
	ExcludeTags []string
}

Options carries the operator's overrides, which merge with the workspace configuration rather than replacing it.

type Plan

type Plan struct {
	Config model.WorkspaceConfig
	// Flows is every selected flow, already ordered.
	Flows []Flow
	// Sequence is the prefix of Flows that executionOrder.flowsOrder named, so
	// a caller can tell "must run in this order" from "may run in any order".
	Sequence          []Flow
	ContinueOnFailure bool
}

Plan is the result of discovery: every selected flow in execution order, with the leading run-in-order prefix called out separately.

func Discover

func Discover(roots []string, options Options) (Plan, error)

Discover resolves operator input into an ordered plan.

func (Plan) ExecutionPlan

func (plan Plan) ExecutionPlan() model.ExecutionPlan

ExecutionPlan projects the plan onto the engine's prepared boundary.

func (Plan) SelectedPaths

func (plan Plan) SelectedPaths() []string

SelectedPaths returns the ordered flow paths.

Jump to

Keyboard shortcuts

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