d26f20c316
Root Child DOX Index assembled, plus a per-module AGENTS.md across the tree (core/*, infrastructure/*, apps/*, testing/*, and docs/examples/frontend/etc), each following the DOX section shape: Purpose, Ownership, Local Contracts, Work Guidance, Verification, Child DOX Index.
1.7 KiB
1.7 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 byTomlWorkflowLoader) is the interface for reading workflow definitions; implementations must not embed domain logic beyond parsing and structural validation.PromptLoader(implemented byFileSystemPromptLoader) 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).ExecutionPlanCompilerconverts the parsedExecutionPlanModelinto a runnable plan forcore:transitions; compilation is deterministic given the same input model.PlanLinterenforces structural rules (e.g. unreachable stages are rejected); linting failures throwWorkflowValidationException.PlanDerivedManifestexposes the write manifest derived from a plan.
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).