Files
t3mp3st/.aiwg/addons/t3mp3st-maintainer/capabilities/t3mp3st-merge-train-flow.yaml
T

57 lines
2.0 KiB
YAML

apiVersion: ops.aiwg.io/v1
kind: OpsCapability
metadata:
name: t3mp3st-merge-train-flow
labels:
category: maintainer
repository: T3MP3ST
annotations:
blast-radius: "repository-wide; merges code into main and may close linked issues"
spec:
description: Merge validated T3MP3ST PRs one at a time with current CI, SHA, review, and issue reconciliation checks.
version: "0.1.0"
inputs:
- name: pr_numbers
type: list
required: true
description: Ordered candidate PR numbers from a current queue audit.
- name: method
type: string
required: false
default: squash
description: squash, merge, or rebase.
- name: dry_run
type: boolean
required: false
default: true
description: When true, report the planned merge train without merging.
outputs:
- name: merged_prs
type: list
description: PRs merged with SHA, method, checks, and issue outcomes.
- name: stopped_before
type: list
description: PRs skipped or blocked with exact reason.
- name: refreshed_queue
type: list
description: Queue state after each merge or dry-run check.
target_requirements:
os: [linux, macos]
capabilities: [git, gh, npm]
agent: t3mp3st-release-integrator
idempotent: false
steps:
- name: confirm-audit
description: Require a current t3mp3st-queue-audit result or perform one before merging.
- name: verify-candidate
description: Re-read PR head SHA, merge state, review decision, and status checks immediately before action.
- name: merge-one
description: Merge exactly one PR when dry_run is false and all gates pass.
- name: reconcile
description: Check linked issues and main branch state after each merge.
- name: refresh
description: Refresh the open PR queue before the next candidate.
verification:
command: "gh pr list --repo elder-plinius/T3MP3ST --state open --limit 1 >/dev/null && git status --short --branch >/dev/null"
expect: "command exits 0"