# DOT Documentation Examples Test Checklist ## Summary - 40 .dot files (34 extracted from full workflows + 6 assembled from snippets) - Skipped: changelog/2026-02-27 (deprecated `handler=codergen` syntax), human-tools/vnc-access, human-tools/vpn-connections (workflows not yet working) ## Phase 1: Validate (`fabro validate`) | # | File | Status | Notes | |---|------|--------|-------| | 1 | agents/outputs/output-patterns.dot | PASS | assembled | | 2 | agents/prompts/pipeline.dot | PASS | added start/exit | | 3 | changelog/2026-03-05/new-features.dot | PASS | assembled | | 4 | core-concepts/models/example.dot | PASS | added start/exit + wiring | | 5 | core-concepts/workflows/my-workflow.dot | PASS | | | 6 | examples/clone-substack/clone-substack.dot | PASS | 578 lines | | 7 | examples/definition-of-done/spec-dod-multimodel.dot | PASS | | | 8 | examples/definition-of-done/spec-dod.dot | PASS | | | 9 | examples/nlspec-conformance/n-l-spec-conformance.dot | PASS | | | 10 | examples/semantic-port/semantic-port.dot | PASS | | | 11 | examples/solitaire/build-solitaire.dot | PASS | | | 12 | execution/context/example.dot | PASS | added start/exit | | 13 | execution/failures/example.dot | PASS | added start/exit | | 14 | execution/failures/example-02.dot | PASS | added start/exit + label | | 15 | execution/failures/example-03.dot | PASS | added start/exit + referenced nodes | | 16 | execution/failures/example-04.dot | PASS | added start/exit | | 17 | execution/interviews/default-choice.dot | PASS | assembled | | 18 | execution/run-configuration/c-i.dot | PASS | added start/exit, has run.toml | | 19 | getting-started/why-fabro/plan-implement.dot | PASS | | | 20 | human-tools/preview/build-and-preview.dot | PASS | new | | 21 | integrations/brave-search/research.dot | PASS | new | | 22 | integrations/daytona/example.dot | PASS | added start/exit | | 23 | reference/dot-language/implement-feature.dot | PASS | | | 24 | reference/dot-language/my-workflow.dot | PASS | | | 25 | tutorials/branch-loop/branch-loop.dot | PASS | | | 26 | tutorials/ensemble/ensemble.dot | PASS | | | 27 | tutorials/hello-world/hello.dot | PASS | | | 28 | tutorials/hello-world/sub-agent.dot | PASS | | | 29 | tutorials/hello-world/tool-use.dot | PASS | | | 30 | tutorials/multi-model/multi-model.dot | PASS | | | 31 | tutorials/parallel-review/parallel.dot | PASS | | | 32 | tutorials/plan-implement/plan-implement.dot | PASS | has @prompt stub | | 33 | tutorials/sub-workflow/implement-and-test.dot | PASS | new | | 34 | tutorials/sub-workflow/sub-workflow.dot | PASS | new | | 35 | workflows/human-in-the-loop/hitl-patterns.dot | PASS | assembled | | 36 | workflows/stages-and-nodes/all-node-types.dot | PASS | assembled | | 37 | workflows/stylesheets/example.dot | PASS | | | 38 | workflows/transitions/transition-patterns.dot | PASS | assembled | | 39 | workflows/variables/check.dot | PASS | has run.toml | | 40 | workflows/variables/example.dot | PASS | added start/exit | ## Phase 2: Dry Run (`fabro run --dry-run --auto-approve`) | # | File | Status | Notes | |---|------|--------|-------| | 1-40 | (all) | | | ## Phase 3: Haiku (`fabro run --model claude-haiku-4-5 --auto-approve`) | # | File | Status | Notes | |---|------|--------|-------| | 1-40 | (all) | | | ## Phase 4: Full (`fabro run --auto-approve`) | # | File | Status | Notes | |---|------|--------|-------| | 1-40 | (all) | | | ## Issues Found During Validation (fixed in test DOTs) 1. **Several "full" digraphs in docs lack start/exit nodes** — 10 extracted DOTs were minimal digraph wrappers showing graph-level attributes without start/exit nodes or wiring. Fixed by adding them in test DOTs. 2. **All-conditional edges need unconditional fallback** — Validator requires at least one fallback edge when a node has only conditional outgoing edges. Fixed by adding fallback edges in assembled DOTs. ## Commands ```bash # Run each phase: ./test/docs/run_tests.sh validate ./test/docs/run_tests.sh dry-run ./test/docs/run_tests.sh haiku ./test/docs/run_tests.sh full ```