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.
44 lines
1.7 KiB
YAML
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
|