Brings the framework CRS repo up to date with all content that was living in agent-runtimes (local-dev fallback) but hadn't been promoted. New composites: feature-delivery-loop, integration-direct, scaffolding-repo, sonnet-impl-narrow, sonnet-manager, test-writing-repo New contexts: integration/v1, scaffolding/v1, sonnet-manager/v1, z-ai/v1, airouter/v1/bin (anthropic-compat-wrapper.sh), cp-harness/v1/init.sh New task-templates: sonnet-integrator.yaml, workflow/* (17 typed workflow task templates for the Epic 1 pipeline) Updated: agent-repo/v1/finalize.sh — adds AR-38/F97 empty-deliverable audit (SKIP_BRANCH_PUSH support, boilerplate-path filtering, ci_metadata.json flag) Also adds MEMORY.md index and memory/ topic files for the framework repo.
37 lines
1.3 KiB
YAML
37 lines
1.3 KiB
YAML
name: test-write
|
|
version: 1
|
|
description: Write xfail tests from spec before coding begins (model-agnostic, WT-PIPE-2)
|
|
runtime: test-writing-repo
|
|
input:
|
|
state: needs-tests
|
|
tags_forbidden: []
|
|
required_artifacts: []
|
|
output:
|
|
state: tests-written
|
|
scope_budget:
|
|
files_modified_max: 3
|
|
lines_diff_max: 400
|
|
wall_clock_seconds_max: 2400
|
|
nodes:
|
|
- id: agent
|
|
kind: agent
|
|
template: test-writing-repo
|
|
prompt: |
|
|
You are writing pytest tests for the following task.
|
|
|
|
Work item UUID: ${item.uuid}
|
|
Spec IDs: ${metadata.automation.spec_ids}
|
|
Expected test files: ${metadata.automation.test_files}
|
|
Task description: ${item.body}
|
|
|
|
Rules:
|
|
- Write tests to exactly the files listed in test_files (create if missing, append if existing)
|
|
- Mark EVERY test @pytest.mark.xfail(strict=True, reason="<spec-id>: <description>")
|
|
- Tests must FAIL when the implementation does not exist yet
|
|
- Write minimal import stubs if needed to prevent ImportError — no real logic
|
|
- Run: python -m pytest --collect-only <test_file> to verify collection before committing
|
|
- Commit and push to the work branch
|
|
|
|
After writing tests, run the specified test files to confirm they are collected
|
|
and fail appropriately (xfail with strict=True).
|