Files
agent-runtime-framework/task-templates/workflow/airouter-impl-ready@1.yaml
Paul O'Reilly fc27ffe170 fix(workflows): airouter-impl-ready prompt was producing empty task descriptions
${metadata.automation.test_files} and ${metadata.automation.spec_ids} are
absent from M39 work items (created from dashboard without these fields),
resulting in an empty, useless prompt:
  "Implement the failing test. Test files: . Spec IDs: ."

Switch to ${metadata.task_description} — a sibling metadata key (not under
automation, so write-protected path does not apply) — populated by patching
items with their body text. The _TriggerItemView in dispatch_service.py
correctly exposes item.metadata so this resolves at compile time.

All 16 scaffolded M39 items patched with metadata.task_description via CP API.
2026-07-31 10:40:34 +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
${metadata.task_description}
## 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