All 6 concept/idea-stage templates hardcoded the literal shared branch
spec/auto-draft instead of a per-item branch. Concurrent concept items
(now routine via the M41 auto-advance sweep) all pushed to the same
branch — a git collision risk. Switched to spec/${item.uuid}, matching
the established task/${item.uuid} convention used by every task-stage
template (merge@1, scaffold@1, etc — see spec/typed-workflows.md WF-COMP
stable-per-item-branch rationale). spec-review-loop@1's 4 nodes keep the
literal branch shared ACROSS the node set (now per-item, not global) so
loop iterations still accumulate on one branch per item, per spec's
cross-iteration-artifact caveat.
Files: review-spec-arch-opus@1.yaml, spec-draft-opus@1.yaml,
spec-review-loop@1.yaml, review-spec-arch-airouter@1.yaml,
spec-draft-airouter@2.yaml, scope-decompose-sonnet@1.yaml
45 lines
1.4 KiB
YAML
45 lines
1.4 KiB
YAML
name: spec-draft-opus
|
|
version: 1
|
|
description: Draft a spec from an idea using spec-writer agent
|
|
runtime: spec-writing-opus-repo
|
|
input:
|
|
state: idea
|
|
tags_required: []
|
|
tags_forbidden: [security-sensitive]
|
|
required_artifacts: []
|
|
output:
|
|
state: spec-draft
|
|
scope_budget:
|
|
files_modified_max: 5
|
|
lines_diff_max: 300
|
|
wall_clock_seconds_max: 3600
|
|
nodes:
|
|
- id: agent
|
|
kind: agent
|
|
template: spec-writing-opus-repo
|
|
model: opus
|
|
runtime_env:
|
|
AGENT_REPO_URL: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git"
|
|
AGENT_BRANCH: "spec/${item.uuid}"
|
|
prompt: |
|
|
The agent-runtimes project repo is cloned at /workspace/project.
|
|
Change to that directory before doing any work.
|
|
|
|
Draft a spec for the following concept and commit it to the repo.
|
|
|
|
**Title**: ${item.title}
|
|
|
|
${item.body}
|
|
|
|
Steps:
|
|
1. cd /workspace/project
|
|
2. Read existing specs in spec/ to understand the format
|
|
3. Create a slug from the title (lowercase, hyphens instead of spaces)
|
|
4. Write the spec to spec/<slug>.md following the project spec format
|
|
5. git add spec/<slug>.md && git commit -m "spec: auto-draft ${item.title}" && git push
|
|
6. Call task_complete with a one-sentence summary
|
|
|
|
The spec should have numbered requirement IDs, clear acceptance criteria,
|
|
and error handling. Follow the format of existing specs in spec/.
|
|
escalation:
|
|
scope_exceeded: replan-spec-opus |