Summary
The bundled archon-workflow-builder.yaml workflow fails to load with a DAG structure validation error every time Archon starts. The YAML schema reference section embedded in the generate-yaml node's prompt contains a literal template example using \$other-node.output, which the DAG validator incorrectly treats as a real inter-node dependency reference.
Error
{"level":40,"module":"workflow.loader","filename":"archon-workflow-builder.yaml","structureError":"Node 'generate-yaml' references unknown node '\$other-node.output'","msg":"dag_structure_invalid"}
{"level":40,"module":"workflow.discovery","errorCount":1,"errors":[{"filename":"archon-workflow-builder.yaml","error":"Node 'generate-yaml' references unknown node '\$other-node.output'","errorType":"validation_error"}],"msg":"app_default_workflow_errors"}
Root Cause
In .archon/workflows/defaults/archon-workflow-builder.yaml, the generate-yaml node's prompt contains a YAML schema reference with example syntax like:
script: |
const data = $other-node.output;
depends_on: [other-node-id]
when: "$<other-node>.output == 'value'"
The DAG validator in loader.ts scans all prompt text for $<nodeId>.output patterns and validates that the referenced node exists. It's matching $other-node.output inside the fenced code block / comment text as if it were a real dependency reference.
Impact
- The workflow fails to load on every Archon startup
workflow list shows 1 error
- The
archon-workflow-builder workflow is unavailable
Fix
Either:
- Escape or rename the placeholder references in the prompt (e.g. use
<nodeId>.output without the $ in the docs, or wrap in a different format)
- Restrict DAG
$nodeId.output reference scanning to prompt:, when:, bash:, and script: field values only — not to content inside triple-backtick fenced code blocks within prompt text
- Add a
# nocheck annotation mechanism for known-safe placeholder text
Option 2 is the most robust fix as it prevents similar issues in other workflow prompts that document the syntax.
Closes (self-contained bug — no related issue)
Summary
The bundled
archon-workflow-builder.yamlworkflow fails to load with a DAG structure validation error every time Archon starts. The YAML schema reference section embedded in thegenerate-yamlnode's prompt contains a literal template example using\$other-node.output, which the DAG validator incorrectly treats as a real inter-node dependency reference.Error
Root Cause
In
.archon/workflows/defaults/archon-workflow-builder.yaml, thegenerate-yamlnode's prompt contains a YAML schema reference with example syntax like:The DAG validator in
loader.tsscans all prompt text for$<nodeId>.outputpatterns and validates that the referenced node exists. It's matching$other-node.outputinside the fenced code block / comment text as if it were a real dependency reference.Impact
workflow listshows 1 errorarchon-workflow-builderworkflow is unavailableFix
Either:
<nodeId>.outputwithout the$in the docs, or wrap in a different format)$nodeId.outputreference scanning toprompt:,when:,bash:, andscript:field values only — not to content inside triple-backtick fenced code blocks within prompt text# nocheckannotation mechanism for known-safe placeholder textOption 2 is the most robust fix as it prevents similar issues in other workflow prompts that document the syntax.
Closes (self-contained bug — no related issue)