Files
correx/infrastructure/workflow/AGENTS.md
T

1.9 KiB

infrastructure/workflow/

Purpose

Workflow and prompt loading adapters. Parses TOML workflow definitions into core:transitions execution plans (TomlWorkflowLoader, ExecutionPlanCompiler), loads prompt files from the filesystem (FileSystemPromptLoader), and validates plan structure (PlanLinter).

Ownership

Adapter for core:transitions and core:inference workflow interfaces. Depends on core:transitions, core:inference, core:events, core:artifacts. Uses Jackson for TOML parsing.

Local Contracts

  • WorkflowLoader (implemented by TomlWorkflowLoader) is the interface for reading workflow definitions; implementations must not embed domain logic beyond parsing and structural validation.
  • PromptLoader (implemented by FileSystemPromptLoader) reads prompt text from disk; filesystem reads are environment observations — callers must record the loaded content as events if replay must reproduce the exact prompt (invariant #9).
  • ExecutionPlanCompiler converts the parsed ExecutionPlanModel into a runnable plan for core:transitions; compilation is deterministic given the same input model.
  • PlanLinter enforces structural rules (e.g. unreachable stages are rejected); linting failures throw WorkflowValidationException.
  • PlanDerivedManifest exposes the write manifest derived from a plan.
  • For a plan with no explicit build expectation, ExecutionPlanCompiler marks every write-declaring stage for the runtime auto build gate; plans with no declared writes are not represented as compiler-verified.

Work Guidance

Standard adapter rules apply (see parent AGENTS.md). Filesystem I/O in withContext(Dispatchers.IO). TOML parsing errors must be surfaced as WorkflowValidationException, not raw Jackson exceptions.

Verification

./gradlew :infrastructure:workflow:test --rerun-tasks

Child DOX Index

No child AGENTS.md (leaf module).