```graphviz
digraph prof {
node [style="filled, rounded", shape=box, fontname="Roboto", margin="0.5,0.25"];
/* ------- COLOR-CODED NODE "CLASSES" ------- */
/* Human actions */
pr, commits0, commits1, runrecipetest, merge,
release [color=palegreen];
/* Execution steps, flow control, etc. */
lintgate, registertest, runflow, flowexit, flowsuccess, updatecomment, newrepo, buildrecipe, exitgate, stac [color=khaki];
/* Inline labels */
Test, Full [color=white, margin="0,0"];
/* Errors */
error0, error1 [color=pink, label="error"];
/* ------- NODE LABELS ------- */
pr [label="PR opened against `/staged-recipes`"];
commits0, commits1 [label="More commits"];
lintgate [label="PR includes valid `recipe.py` and `meta.yaml`?"]
runrecipetest [label="`/run-recipe-test` command issued"]
registertest [label="Register recipe subset Flow"]
runflow [label="Run Prefect Flow"]
etl [label="ETL algorithm"]
flowexit [label="Exit state POSTed to GitHub API."]
updatecomment [label="`/run-recipe-test` comment updated"]
flowsuccess [label="Exit state == 'Success'?"]
merge [label="Merge PR"]
newrepo [label="Feedstock repo created"]
release [label="Tag and release feedstock repo"]
buildrecipe [label="Register full recipe Flow"]
exitgate [label="Flow type?"]
stac [label="Generate STAC Object"]
/* ------- GRAPH CONNECTIONS ------- */
/* Control flow connections */
pr -> lintgate [arrowhead=none]
lintgate -> error0 [color=red]
error0 -> commits0
commits0 -> lintgate
lintgate -> runrecipetest [color=green]
runrecipetest -> registertest
registertest -> runflow
runflow -> etl
etl -> flowexit [arrowhead=none]
flowexit -> exitgate [arrowhead=none]
exitgate -> Test [arrowhead=none]
Test -> updatecomment
exitgate -> Full [arrowhead=none]
Full -> stac
stac -> done
updatecomment -> flowsuccess [arrowhead=none]
flowsuccess -> error1 [color=red]
error1 -> commits1
commits1 -> runrecipetest
flowsuccess -> merge [color=green]
merge -> newrepo [arrowhead=none]
newrepo -> release
release -> buildrecipe
buildrecipe -> runflow
{rank = same; registertest; buildrecipe;}
{rank = same; runrecipetest; release;}
/* ------- CALL STACK -------
# Styling
linter, registertest_stack, slashcmd, automationhook,
updatecomment_stack, newrepo_stack, buildrecipe_stack [color=aliceblue, margin="0.75,0.25"];
# Labels
linter [label="/staged-recipes/.github/workflows/linter.yaml"]
registertest_stack [label="/staged-recipes/.github/workflows/slash-command-dispatch.yaml
/staged-recipes/.github/workflows/run-recipe-test.yaml"]
slashcmd [label="/recipe-prefect-action/action.yaml
/pangeo-forge-prefect/pangeo_forge_prefect/flow_manager.py::register_flow"]
automationhook [label="/pangeo-forge-prefect/pangeo_forge_prefect/automation_hook_manager.py"]
updatecomment_stack [label="/staged-recipes/.github/workflows/update-slash-command-comment.yaml"]
newrepo_stack [label="/staged-recipes/.github/workflows/create-feedstock.yaml
/feedstock-creation-action/action.yaml"]
buildrecipe_stack [label="/feedstock-template/.github/workflows/run-recipe.yaml"]
# Call stack connections
lintgate -> linter [arrowhead=none, style=dotted]
registertest -> registertest_stack [arrowhead=none, style=dotted]
runflow -> slashcmd [arrowhead=none, style=dotted]
flowexit -> automationhook [arrowhead=none, style=dotted]
updatecomment -> updatecomment_stack [arrowhead=none, style=dotted]
newrepo -> newrepo_stack [arrowhead=none, style=dotted]
buildrecipe -> buildrecipe_stack [arrowhead=none, style=dotted]
{rank = same; lintgate; linter;}
{rank = same; registertest; registertest_stack;}
{rank = same; runflow; slashcmd;}
{rank = same; flowexit; automationhook;}
{rank = same; updatecomment; updatecomment_stack;}
{rank = same; newrepo; newrepo_stack;}
{rank = same; buildrecipe; buildrecipe_stack;}
*/
}
```