Files
agent-runtime-framework/task-templates/workflow/airouter-impl-ready@1.yaml
Paul O'Reilly b5f039f73f fix(workflows): use artifacts.item_body not metadata.task_description
metadata.task_description is not in the consumer snapshot — the trigger
consumer only populates metadata.automation from the outbox typed_payload.

artifacts.item_body IS populated via dispatch_service from
item_snapshot["body"] (set from typed_payload.body in the consumer,
which comes from item.get("body") in emit_work_item_event).

For M39 items the body contains the full task description, so
${artifacts.item_body} gives the agent complete implementation instructions.
2026-07-31 10:44:14 +12:00

44 lines
1.7 KiB
YAML

name: airouter-impl-ready
version: 1
description: Single-file impl of a tagged spec requirement against pre-validated tests, airouter in worktree
runtime: code-airouter-tdd-repo
input:
state: scaffolded
tags_forbidden: [security-sensitive, airouter-skip, multi-file, algorithmic-large]
required_artifacts: []
output:
state: impl-green
scope_budget:
files_modified_max: 1
lines_diff_max: 80
wall_clock_seconds_max: 1800
nodes:
- id: agent
kind: agent
template: code-airouter-tdd-repo
runtime_env:
# WF-COMP-15: stage agents share one per-item work branch so their work
# accumulates (test-write -> scaffold -> impl -> integrate -> merge all
# see the same tree). Without AGENT_REPO_URL the agent-repo layer never
# clones and the agent's output evaporates (E2E 2026-07-04).
AGENT_REPO_URL: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git"
AGENT_BRANCH: "task/${item.uuid}"
labels: [airouter]
prompt: |
You are implementing source code for the following task.
## Task Description
${artifacts.item_body}
## Instructions
1. Read the task description carefully — it specifies the file(s) to create/modify and the exact requirements.
2. Find the test file mentioned in the description and run it to see current state: `python -m pytest <test_file> -v --tb=short`
3. Implement the required source code until all tests pass.
4. Do NOT modify any test files — they are read-only.
5. Run the tests one final time to confirm they are green before finishing.
escalation:
fixture_broken: fix-test-fixture-sonnet
contract_ambiguous: review-spec-opus
scope_exceeded: replan-spec-opus
agent_bailed: airouter-impl-ready