./wake-environment.gnougo-flow.yaml
v0.1.0
version: 1
name: wake-slimfaas-environment
skill:
description: Wakes a SlimFaas environment and checks its readiness without fixed tool names.
tags: [slimfaas, readiness, operations]
inputs:
environment: { type: string, required: true }
outputs:
summary: { type: string }
workflows:
main:
inputs:
environment: { type: string, required: true }
server:
type: string
required: false
default: SlimFaas.Kubernetes.Mcp
model:
type: string
required: false
default: gpt-4o-mini
steps:
- id: discover_platform_tools
type: mcp.list
input:
servers: ["${data.inputs.server}"]
include: [tools, prompts]
- id: wake
type: mcp.call
input:
server: "${data.inputs.server}"
model: "${data.inputs.model}"
temperature: 0
prompt: "Wake the ${data.inputs.environment} environment safely and return the observed state."
tools: "${data.steps.discover_platform_tools.tools}"
prompts: "${data.steps.discover_platform_tools.prompts}"
- id: readiness_checks
type: loop.sequential
input:
times: 3
steps:
- id: check
type: mcp.call
input:
server: "${data.inputs.server}"
model: "${data.inputs.model}"
temperature: 0
prompt: "Check readiness for ${data.inputs.environment}; this is attempt ${data._loop.index + 1}."
tools: "${data.steps.discover_platform_tools.tools}"
- id: summary
type: template.render
input:
engine: mustache
template: "Wake requested for {{environment}}; {{checks}} readiness checks completed."
data:
environment: "${data.inputs.environment}"
checks: "${data.steps.readiness_checks.count}"
mode: text
outputs:
summary: "${data.steps.summary.text}"
wake_results: "${data.steps.wake.results}"
readiness_trace: "${data.steps.readiness_checks.results}"Semantic view
Workflow graph
✓ Semantically valid
Generated from the validated YAML with GnOuGo.Flow.Mermaid. Emit steps are hidden to keep the execution graph focused.
flowchart TD
n0_start(("Start"))
n1_end(("End"))
n2_inputs[/"Inputs: environment, model, server"/]
n3_discover_platform_tools[("discover_platform_tools - mcp.list")]
n4_wake[("wake - mcp.call")]
n5_readiness_checks{{"readiness_checks - loop.sequential"}}
n6_check[("check - mcp.call")]
n7_loop_exit(("Loop exit"))
n8_summary[/"summary - template.render"/]
n9_outputs[/"Outputs: readiness_trace, summary, wake_results"/]
n0_start --> n2_inputs
n3_discover_platform_tools --> n4_wake
n5_readiness_checks -->|loop body| n6_check
n6_check --> n7_loop_exit
n4_wake --> n5_readiness_checks
n7_loop_exit --> n8_summary
n2_inputs --> n3_discover_platform_tools
n8_summary --> n9_outputs
n9_outputs --> n1_end