The builtin compound-engineering workflow runs via runGraphCustomNode, which never loaded the named skill or threaded the plugin-injected runtime env, and fn_spawn_agent was registered only in the main session. This wires the real seam: - U8: thread injected FUSION_CE_* env into skill/model graph steps (shared buildInjectedRuntimeEnv helper); register createSpawnAgentTool for coding-mode skill steps (readonly still strips spawn). - U1: merge the step's skillName (namespaced + bare) into requestedSkillNames and pass FUSION_CE_SKILLS_DIR as additionalSkillPaths so the bundled SKILL.md is discovered and selected. - U2: prepend the Fusion workflow-step conventions preamble (await-input sentinel, FUSION_HEADLESS degrade, persona fan-out via systemPromptOverride). - U3: explicit unattended opt-in sets FUSION_HEADLESS=1 (default-safe board run). - U9: path-confined persona read documented in the preamble; accepted write-capability posture documented at the coding-mode tool registration. - KTD-6: verdict-JSON contract required only for gate / skill-less steps. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1.0 KiB
@runfusion/fusion
| @runfusion/fusion |
|---|
| patch |
Make the compound-engineering built-in workflow actually load skills and run the full CE flow. Previously the workflow named CE skills at each node but the graph-node execution path (runGraphCustomNode) never loaded them: the named skill was only injected as prompt text, the plugin-injected FUSION_CE_* runtime env never reached the step session, and fn_spawn_agent was never registered for workflow steps, so persona fan-out and skill loading silently no-op'd. Now skill-executor graph steps thread the injected env, load the named skill (discovery + selection via additionalSkillPaths), register the spawn tool in coding mode, and receive an engine-injected Fusion workflow-step conventions preamble (await-input for questions, FUSION_HEADLESS degrade path, persona fan-out via systemPromptOverride). Adds an explicit unattended opt-in for FUSION_HEADLESS, reconciles the preamble with the gate verdict-JSON contract, and carries skillName through the WorkflowStep round-trip.