fabro/tmp/implement-and-simplify.dot
Bryan Helmkamp 041486400e Add toolchain check step before preflight in implement-and-simplify workflow
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 20:47:30 -04:00

37 lines
2 KiB
Text

digraph ImplementAndSimplify {
graph [
goal="Implement and simplify",
model_stylesheet="
* { backend: api; llm_model: claude-opus-4-6; llm_provider: anthropic; }
"
]
rankdir=LR
start [shape=Mdiamond, label="Start"]
exit [shape=Msquare, label="Exit"]
toolchain [label="Toolchain", shape=parallelogram, script="cargo --version 2>&1", max_retries=0]
preflight_compile [label="Preflight Compile", shape=parallelogram, script="cargo check 2>&1", max_retries=0]
preflight_lint [label="Preflight Lint", shape=parallelogram, script="cargo clippy -- -D warnings 2>&1", max_retries=0]
fix_lints [label="Fix Lints", prompt="The preflight lint step failed. Read the build output from context and fix all clippy lint warnings.", max_visits=3]
preflight_tests [label="Preflight Tests", shape=parallelogram, script="cargo test 2>&1", max_retries=0]
implement [label="Implement", prompt="Read the plan file referenced in the goal and implement every step. Make all the code changes described in the plan."]
simplify [label="Simplify", prompt="@prompts/simplify.md"]
verify [label="Verify", shape=parallelogram, script="cargo clippy -- -D warnings 2>&1 && cargo test 2>&1", goal_gate=true, retry_target="fixup"]
fixup [label="Fixup", prompt="The verify step failed. Read the build output from context and fix all clippy lint warnings and test failures.", max_visits=3]
start -> toolchain
toolchain -> preflight_compile [condition="outcome=success"]
toolchain -> exit
preflight_compile -> preflight_lint [condition="outcome=success"]
preflight_compile -> exit
preflight_lint -> preflight_tests [condition="outcome=success"]
preflight_lint -> fix_lints
fix_lints -> preflight_lint
preflight_tests -> implement [condition="outcome=success"]
preflight_tests -> exit
implement -> simplify -> verify
verify -> exit [condition="outcome=success"]
verify -> fixup
fixup -> verify
}