ek9_list_workflows
Returns every named multi-tool workflow - workflowCount, workflowNames, then each workflow's summary and full step sequence.
When to use it
'Which workflows exist' is one call with {} - workflowNames first, then every workflow's full step sequence. The registry is static, so call once per session and cache.
When not to use it
- One workflow by name - use
ek9_query_workflowname:'release' (the same registry, one entry). - The tool inventory - use
ek9_query_tool_catalogue.
Details
Pure static read of the workflow registry: no compile-state coupling, deterministic at every phase, never fails (an empty registry returns workflowCount:0). Each workflow carries its complete ordered sequence[] of {tool, reason} steps; every step names a registered tool. Identical to ek9_query_workflow called with no name.
Arguments
None of its own.
Recorded calls
Real calls, recorded against small projects and checked on every build - a changed answer fails it.
Workflows list shape
Request
{ }
Response
{
"meta" : {
"serverMs" : "<timing>"
},
"status" : "ok",
"workflowCount" : 4,
"workflowNames" : [ "release", "feature_branch_start", "investigate_build_failure", "investigate_runtime_defect" ],
"workflows" : [ {
"name" : "release",
"sequence" : [ {
"reason" : "Bump the appropriate version part (typically patch after a fix).",
"tool" : "ek9_increment_version"
}, {
"reason" : "Verify nothing regressed; produces the coverage report as a side effect.",
"tool" : "ek9_run_tests"
}, {
"reason" : "Run full quality checks — coverage, complexity, readability, DI — to confirm nothing has degraded since the last release.",
"tool" : "ek9_run_quality_checks"
}, {
"reason" : "Build the deployable artefact at the new version.",
"tool" : "ek9_package"
}, {
"reason" : "Install into ~/.ek9/lib so sibling workspaces can pick it up.",
"tool" : "ek9_install_package"
...
Cut short here: 70 more lines. The whole recorded call.