agent/pkg/lib
Snider 8858545f63 feat(agent/lib/flow): YAML flow library — Parse + ParseFile + LoadEmbedded
New pkg/lib/flow package per RFC §Flow System:

types.Flow{Name, Description, Steps}, types.Step{Name, Cmd, Args,
ContinueOnError}.

Parse(reader io.Reader) (Flow, error): YAML decoder
ParseFile(path string) (Flow, error): reads via core.Fs, then Parse
LoadEmbedded(name string) (Flow, error): bundled flow templates;
.md files only treated as flows when they contain YAML frontmatter

Validation: steps may be absent (empty Steps slice OK); any declared
step must define cmd.

Pairs with #160 (run/flow command at pkg/agentic/flow.go) — that
consumes types from this library for sequential step execution.

Tests cover: valid YAML, continueOnError, empty input, malformed
YAML, missing cmd, temp-file ParseFile, missing embedded files,
markdown-template failure (current state — embedded markdown is
content not YAML).

Co-authored-by: Codex <noreply@openai.com>
Closes tasks.lthn.sh/view.php?id=229
2026-04-25 20:21:33 +01:00
..
flow feat(agent/lib/flow): YAML flow library — Parse + ParseFile + LoadEmbedded 2026-04-25 20:21:33 +01:00
persona revert fcb9c189e5 2026-04-23 12:32:57 +01:00
prompt revert fcb9c189e5 2026-04-23 12:32:57 +01:00
task revert fcb9c189e5 2026-04-23 12:32:57 +01:00
workspace fix(agent): tighten directory perms in .core/reference/ siblings (Athena #988) 2026-04-25 16:29:28 +01:00
.DS_Store revert fcb9c189e5 2026-04-23 12:32:57 +01:00
lib.go revert fcb9c189e5 2026-04-23 12:32:57 +01:00
lib_example_test.go revert fcb9c189e5 2026-04-23 12:32:57 +01:00
lib_test.go fix(agent): tighten workspace file perms 0644→0600 to protect extracted secrets (Cerberus #324) 2026-04-25 04:19:30 +01:00