Skip to content

v0.9.1 Phase 2: Workflow steps reference Fleet roles (not raw prompts/profiles) #4177

Description

@Hmbown

Parent: #4175

Problem

Workflow tasks today often embed raw prompts, inline model hints, or duplicate AgentProfile fields. That violates the separation: Workflow owns WHAT ORDER; Fleet owns WHO; AgentProfile owns config.

Scope

Phase 2: workflow lowering resolves fleet roles at execution time.

Workflow step contract

Workflow steps declare a role (and optional task prompt), not a full AgentProfile:

{ role: "scout", prompt: "Investigate #4090 Ctrl+C path. Read-only." }
{ role: "implementer", prompt: "Fix #4090 with minimal diff." }
{ role: "reviewer", prompt: "Review diff for regressions." }

At run time:

workflow.run({ fleet: "v0868-stopship", ... })
  → for each step: fleet.resolve(role) → AgentProfile
  → runtime.spawn(resolved_profile, ...)

Fleet resolution

CLI entrypoint

codewhale workflow run stopship --issue 4090 --fleet v0868-stopship --runtime tmux

Creates a Lane (#4176 Phase 1) and executes workflow steps through Fleet resolution.

Non-goals

Acceptance criteria

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestlane-workflowsubagentsSub-agent orchestration, lifecycle, and completion handlingworkflow-runtimeWorkflow IR, executor, control flow, and replay runtime

    Projects

    Status
    In progress

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions