fix: remove misplaced hatchmate-plan-review-loop@1 (project template referencing hatchmate-crs model slugs; broke CP WorkflowRegistry reload 2026-09-05)
Belongs in hatchmate-crs/task-templates/workflow/plan-review-loop@1.yaml, which already exists. Claude-Session: https://claude.ai/code/session_01FNHuaZyTjdknKYcQdbRTcp
This commit is contained in:
@@ -1,210 +0,0 @@
|
|||||||
# agent-runtime-framework — task-templates/workflow/hatchmate-plan-review-loop@1.yaml
|
|
||||||
#
|
|
||||||
# Mirrors agent-runtime-framework's task-templates/workflow/plan-review-loop@1.yaml
|
|
||||||
# structurally (nodes shape, judge + script verdict-gate, loop block, escalation
|
|
||||||
# map) but is hatchmate-specific throughout: prompts reference the hatchmate
|
|
||||||
# portal and its conventions (not agent-runtimes' own repo/plan), reviewers are
|
|
||||||
# three EXPLICIT models spanning three families (a tier resolves ONE model,
|
|
||||||
# never a trio — see model-registry/tiers.yaml), and the improve node uses
|
|
||||||
# `tier: build` per plan §3c.
|
|
||||||
#
|
|
||||||
# WorkflowTemplate is extra="forbid" (verified against
|
|
||||||
# agent-runtimes/spec/typed-workflows.md this session) — no `diversity:` key
|
|
||||||
# here; F-WE-PDIV (registry `family` + template `diversity:` block, concept
|
|
||||||
# b45ff626 under milestone ae0c7a79) has not landed. `allowed_models` is the
|
|
||||||
# per-template cost/blast-radius ceiling (WF-SCH-14/WF-MODEL-2) and lists
|
|
||||||
# exactly: the three explicit reviewer models, the judge model, and the single
|
|
||||||
# model `tier: build` resolves to today against the merged registry pool
|
|
||||||
# (model-registry/minimax-m3.yaml — dry-run-verified this session; see
|
|
||||||
# model-registry/tiers.yaml's `build` tier comments for why framework's
|
|
||||||
# zero-cost entries don't hijack that resolution).
|
|
||||||
#
|
|
||||||
# `cmd: scripts/workflow/verdict-gate` is copied unchanged from the framework
|
|
||||||
# template — this path resolves image-baked (framework's own script-node
|
|
||||||
# nodes use the identical relative path with no repo-local
|
|
||||||
# scripts/workflow/verdict-gate file existing in that repo either), so nothing
|
|
||||||
# is ported into this repo or hatchmate-agents for it.
|
|
||||||
name: hatchmate-plan-review-loop
|
|
||||||
version: 1
|
|
||||||
description: >
|
|
||||||
Fable-low + MiniMax-M3-max + Airouter-Qwen3.8-max review a hatchmate concept's
|
|
||||||
draft plan, MiniMax-M3 (tier: build) revises, Fable-low judges clean/rework.
|
|
||||||
runtime: code-minimax-tdd-repo
|
|
||||||
input:
|
|
||||||
state: plan-drafted
|
|
||||||
tags_required: []
|
|
||||||
tags_forbidden: [security-sensitive] # HC-25: security-sensitive items are human-present
|
|
||||||
required_artifacts: [plan_doc]
|
|
||||||
output:
|
|
||||||
state: plan-reviewed
|
|
||||||
allowed_models:
|
|
||||||
- claude-fable-5-low
|
|
||||||
- minimax-m3-max
|
|
||||||
- airouter-qwen38-max
|
|
||||||
- minimax-m3
|
|
||||||
scope_budget:
|
|
||||||
wall_clock_seconds_max: 7200 # WF-ITER-7: run-level ceiling across ALL iterations —
|
|
||||||
# must be >= iterations_max * per_iteration_seconds_max
|
|
||||||
# (5 * 1200 = 6000) plus slack; NOT a per-iteration value
|
|
||||||
iterations_max: 5 # WF-SCH-19: required whenever loop is set
|
|
||||||
per_iteration_seconds_max: 1200
|
|
||||||
nodes:
|
|
||||||
- id: review-fable
|
|
||||||
kind: agent
|
|
||||||
role: plan-review
|
|
||||||
model: claude-fable-5-low
|
|
||||||
runtime_env:
|
|
||||||
AGENT_REPO_URL: hatchmate/hatchmate-agents
|
|
||||||
AGENT_BRANCH: "task/${item.uuid}"
|
|
||||||
prompt: |
|
|
||||||
The hatchmate project repo is cloned at /workspace/project.
|
|
||||||
Change to that directory before doing any work.
|
|
||||||
|
|
||||||
hatchmate is a multi-tenant customer portal for NZ small business owners
|
|
||||||
(identity, app shell, customer/team management, resource catalogue —
|
|
||||||
see CLAUDE.md and docs/scope.md in the cloned repo). Review the draft
|
|
||||||
plan document attached to the following work item against hatchmate's
|
|
||||||
settled conventions (permission grammar `customer:app_group:resource
|
|
||||||
_type:[id]:noun:verb`, teams-hold-grants-never-users, no-escalation rule,
|
|
||||||
app onboarding rule — CLAUDE.md § Conventions) before judging it on
|
|
||||||
general engineering merit.
|
|
||||||
|
|
||||||
**Title**: ${item.title}
|
|
||||||
|
|
||||||
**Original concept**:
|
|
||||||
${item.body}
|
|
||||||
|
|
||||||
Steps:
|
|
||||||
1. cd /workspace/project
|
|
||||||
2. Find and read the draft plan document referenced by this item completely
|
|
||||||
3. Review it for CRITICAL and HIGH severity issues: violations of a
|
|
||||||
settled hatchmate convention or ADR, missing requirements, unaddressed
|
|
||||||
security implications (multi-tenant boundary crossing, permission
|
|
||||||
escalation), unworkable sequencing
|
|
||||||
4. Write your findings to /workspace/.agent-output/review-fable.md
|
|
||||||
- id: review-minimax
|
|
||||||
kind: agent
|
|
||||||
role: plan-review
|
|
||||||
model: minimax-m3-max
|
|
||||||
runtime_env:
|
|
||||||
AGENT_REPO_URL: hatchmate/hatchmate-agents
|
|
||||||
AGENT_BRANCH: "task/${item.uuid}"
|
|
||||||
prompt: |
|
|
||||||
The hatchmate project repo is cloned at /workspace/project.
|
|
||||||
Change to that directory before doing any work.
|
|
||||||
|
|
||||||
hatchmate is a multi-tenant customer portal for NZ small business owners.
|
|
||||||
Review the draft plan document attached to the following work item
|
|
||||||
against hatchmate's settled conventions in CLAUDE.md (permission
|
|
||||||
grammar, team-based grants, no-escalation rule, app onboarding rule) and
|
|
||||||
docs/scope.md before judging it on general engineering merit.
|
|
||||||
|
|
||||||
**Title**: ${item.title}
|
|
||||||
|
|
||||||
**Original concept**:
|
|
||||||
${item.body}
|
|
||||||
|
|
||||||
Steps:
|
|
||||||
1. cd /workspace/project
|
|
||||||
2. Find and read the draft plan document referenced by this item completely
|
|
||||||
3. Review it for CRITICAL and HIGH severity issues: violations of a
|
|
||||||
settled hatchmate convention or ADR, missing requirements, unaddressed
|
|
||||||
security implications, unworkable sequencing
|
|
||||||
4. Write your findings to /workspace/.agent-output/review-minimax.md
|
|
||||||
- id: review-airouter
|
|
||||||
kind: agent
|
|
||||||
role: plan-review
|
|
||||||
model: airouter-qwen38-max
|
|
||||||
runtime_env:
|
|
||||||
AGENT_REPO_URL: hatchmate/hatchmate-agents
|
|
||||||
AGENT_BRANCH: "task/${item.uuid}"
|
|
||||||
prompt: |
|
|
||||||
The hatchmate project repo is cloned at /workspace/project.
|
|
||||||
Change to that directory before doing any work.
|
|
||||||
|
|
||||||
hatchmate is a multi-tenant customer portal for NZ small business owners.
|
|
||||||
Review the draft plan document attached to the following work item
|
|
||||||
against hatchmate's settled conventions in CLAUDE.md (permission
|
|
||||||
grammar, team-based grants, no-escalation rule, app onboarding rule) and
|
|
||||||
docs/scope.md before judging it on general engineering merit.
|
|
||||||
|
|
||||||
**Title**: ${item.title}
|
|
||||||
|
|
||||||
**Original concept**:
|
|
||||||
${item.body}
|
|
||||||
|
|
||||||
Steps:
|
|
||||||
1. cd /workspace/project
|
|
||||||
2. Find and read the draft plan document referenced by this item completely
|
|
||||||
3. Review it for CRITICAL and HIGH severity issues: violations of a
|
|
||||||
settled hatchmate convention or ADR, missing requirements, unaddressed
|
|
||||||
security implications, unworkable sequencing
|
|
||||||
4. Write your findings to /workspace/.agent-output/review-airouter.md
|
|
||||||
- id: improve-build
|
|
||||||
kind: agent
|
|
||||||
role: plan-review
|
|
||||||
tier: build
|
|
||||||
depends_on: [review-fable, review-minimax, review-airouter]
|
|
||||||
runtime_env:
|
|
||||||
AGENT_REPO_URL: hatchmate/hatchmate-agents
|
|
||||||
AGENT_BRANCH: "task/${item.uuid}"
|
|
||||||
prompt: |
|
|
||||||
The hatchmate project repo is cloned at /workspace/project.
|
|
||||||
Change to that directory before doing any work.
|
|
||||||
|
|
||||||
Revise the draft plan document for the following hatchmate concept to
|
|
||||||
address all three reviews left on this branch.
|
|
||||||
|
|
||||||
**Title**: ${item.title}
|
|
||||||
|
|
||||||
Steps:
|
|
||||||
1. cd /workspace/project
|
|
||||||
2. Read /workspace/.agent-output/review-fable.md,
|
|
||||||
/workspace/.agent-output/review-minimax.md, and
|
|
||||||
/workspace/.agent-output/review-airouter.md
|
|
||||||
3. Revise the plan document in place to address every CRITICAL/HIGH
|
|
||||||
finding from all three reviews, keeping it consistent with
|
|
||||||
hatchmate's CLAUDE.md conventions
|
|
||||||
4. Commit the revised plan on this branch
|
|
||||||
- id: judge-fable
|
|
||||||
kind: agent
|
|
||||||
role: plan-review
|
|
||||||
model: claude-fable-5-low
|
|
||||||
depends_on: [improve-build]
|
|
||||||
runtime_env:
|
|
||||||
AGENT_REPO_URL: hatchmate/hatchmate-agents
|
|
||||||
AGENT_BRANCH: "task/${item.uuid}"
|
|
||||||
prompt: |
|
|
||||||
The hatchmate project repo is cloned at /workspace/project.
|
|
||||||
Change to that directory before doing any work.
|
|
||||||
|
|
||||||
Judge the revised plan document for the following hatchmate concept.
|
|
||||||
|
|
||||||
**Title**: ${item.title}
|
|
||||||
|
|
||||||
Steps:
|
|
||||||
1. cd /workspace/project
|
|
||||||
2. Read the revised plan document
|
|
||||||
3. Check whether every CRITICAL/HIGH finding from
|
|
||||||
/workspace/.agent-output/review-fable.md,
|
|
||||||
/workspace/.agent-output/review-minimax.md, and
|
|
||||||
/workspace/.agent-output/review-airouter.md has been addressed
|
|
||||||
4. Write exactly CLEAN or NEEDS_REWORK (nothing else, no trailing
|
|
||||||
punctuation or explanation) to /workspace/.workflow/verdict
|
|
||||||
- id: judge-gate
|
|
||||||
kind: script
|
|
||||||
cmd: scripts/workflow/verdict-gate
|
|
||||||
depends_on: [judge-fable]
|
|
||||||
loop:
|
|
||||||
body: [review-fable, review-minimax, review-airouter, improve-build, judge-fable, judge-gate]
|
|
||||||
condition_node: judge-gate
|
|
||||||
on_max_reached: escalate
|
|
||||||
escalation:
|
|
||||||
loop_max_reached: null # WF-SCH-19/WF-ITER-5: required whenever on_max_reached
|
|
||||||
# is "escalate" (the default); no hatchmate escalation
|
|
||||||
# template exists yet (spec-review-loop@1 etc. are
|
|
||||||
# reserved for a later task per spec/crs.md), so this
|
|
||||||
# explicitly escalates to a human (no dispatch target)
|
|
||||||
# rather than naming a template that doesn't exist —
|
|
||||||
# `escalation: dict[str, str | None]` permits null
|
|
||||||
# (verified against typed-workflows.md this session)
|
|
||||||
Reference in New Issue
Block a user