33 lines
1.3 KiB
Bash
Executable File
33 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# Workflow: conductor
|
|
# Creates a conductor agent, primes it with instructions, and exits.
|
|
# The conductor agent handles the rest autonomously.
|
|
set -euo pipefail
|
|
|
|
SESSION_NAME="$OLLIE_SESSION_NAME"
|
|
CWD="$OLLIE_CWD"
|
|
|
|
# Set status to running.
|
|
echo "running" | ollie-9p write "session/$SESSION_NAME/goalstatus"
|
|
|
|
# Create a conductor agent.
|
|
AGENT_ID=$(printf 'profile=conductor\ncwd=%s\n' "$CWD" \
|
|
| ollie-9p rdwr "session/$SESSION_NAME/agent/new")
|
|
AGENT_ID=$(echo "$AGENT_ID" | tr -d '\n')
|
|
|
|
# Prime the conductor with instructions.
|
|
# The agent receives OLLIE_SESSION_ID in its environment.
|
|
PROMPT_PATH="session/$SESSION_NAME/agent/$AGENT_ID/prompt"
|
|
cat <<'EOF' | ollie-9p write "$PROMPT_PATH"
|
|
Read the goal from session/$OLLIE_SESSION_ID/goal.
|
|
|
|
Analyze and understand the goal. If anything is ambiguous, investigate the codebase to clarify.
|
|
|
|
Break it down into concrete, actionable steps. Rewrite the goal file with your structured plan — use a checklist format so progress can be tracked.
|
|
|
|
Delegate each step to sub-agents using subagent_spawn. As steps complete, update the goal file to mark progress.
|
|
|
|
When all steps are complete, write "complete" to session/$OLLIE_SESSION_ID/goalstatus.
|
|
If you get stuck and need human input, write "blocked" to session/$OLLIE_SESSION_ID/goalstatus.
|
|
EOF
|