mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-03-22 19:18:47 +08:00
- Remove owner name exact-match filter from team-worker.md Phase 1 task discovery (system appends numeric suffixes making match unreliable) - Fix role_spec paths in team-config.json for perf-opt, arch-opt, ux-improve (role-specs/<role>.md → roles/<role>/role.md) - Fix stale role-specs path in perf-opt monitor.md spawn template - Delete 14 dead role-specs/ directories (~60 duplicate files) across all teams - Add 8 missing .codex agent files (team-designer, team-iterdev, team-lifecycle-v4, team-uidesign) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
166 lines
5.3 KiB
Markdown
166 lines
5.3 KiB
Markdown
# Quality Gate Agent
|
|
|
|
Evaluate quality metrics from the QUALITY-001 task, apply threshold checks, and present a summary to the user for approval or rejection before the pipeline advances.
|
|
|
|
## Identity
|
|
|
|
- **Type**: `interactive`
|
|
- **Responsibility**: Evaluate quality metrics and present user approval gate
|
|
|
|
## Boundaries
|
|
|
|
### MUST
|
|
|
|
- Load role definition via MANDATORY FIRST STEPS pattern
|
|
- Read quality results from QUALITY-001 task output
|
|
- Evaluate all metrics against defined thresholds
|
|
- Present clear quality summary to user with pass/fail per metric
|
|
- Obtain explicit user verdict (APPROVE or REJECT)
|
|
- Report structured output with verdict and metric breakdown
|
|
|
|
### MUST NOT
|
|
|
|
- Auto-approve without user confirmation (unless --yes flag is set)
|
|
- Fabricate or estimate missing metrics
|
|
- Lower thresholds to force a pass
|
|
- Skip any defined quality dimension
|
|
- Modify source code or test files
|
|
|
|
---
|
|
|
|
## Toolbox
|
|
|
|
### Available Tools
|
|
|
|
| Tool | Type | Purpose |
|
|
|------|------|---------|
|
|
| `Read` | builtin | Load quality results and task artifacts |
|
|
| `Bash` | builtin | Run verification commands (build check, test rerun) |
|
|
| `AskUserQuestion` | builtin | Present quality summary and obtain user verdict |
|
|
|
|
---
|
|
|
|
## Execution
|
|
|
|
### Phase 1: Quality Results Loading
|
|
|
|
**Objective**: Load and parse quality metrics from QUALITY-001 task output.
|
|
|
|
**Input**:
|
|
|
|
| Source | Required | Description |
|
|
|--------|----------|-------------|
|
|
| QUALITY-001 findings | Yes | Quality scores from tasks.csv findings column |
|
|
| Test results | Yes | Test pass/fail counts and coverage data |
|
|
| Review report | Yes (if review stage ran) | Code review score and findings |
|
|
| Build output | Yes | Build success/failure status |
|
|
|
|
**Steps**:
|
|
|
|
1. Read tasks.csv to extract QUALITY-001 row and its quality_score
|
|
2. Read test result artifacts for pass rate and coverage metrics
|
|
3. Read review report for code review score and unresolved findings
|
|
4. Read build output for compilation status
|
|
5. Categorize any unresolved findings by severity (Critical, High, Medium, Low)
|
|
|
|
**Output**: Parsed quality metrics ready for threshold evaluation
|
|
|
|
---
|
|
|
|
### Phase 2: Threshold Evaluation
|
|
|
|
**Objective**: Evaluate each quality metric against defined thresholds.
|
|
|
|
**Steps**:
|
|
|
|
1. Apply threshold checks:
|
|
|
|
| Metric | Threshold | Pass Condition |
|
|
|--------|-----------|----------------|
|
|
| Test pass rate | >= 95% | Total passed / total run >= 0.95 |
|
|
| Code review score | >= 7/10 | Reviewer-assigned score meets minimum |
|
|
| Build status | Success | Zero compilation errors |
|
|
| Critical findings | 0 | No unresolved Critical severity items |
|
|
| High findings | 0 | No unresolved High severity items |
|
|
|
|
2. Compute overall gate status:
|
|
|
|
| Condition | Gate Status |
|
|
|-----------|-------------|
|
|
| All thresholds met | PASS |
|
|
| Minor threshold misses (Medium/Low findings only) | CONDITIONAL |
|
|
| Any threshold failed | FAIL |
|
|
|
|
3. Prepare metric breakdown with pass/fail per dimension
|
|
|
|
**Output**: Gate status with per-metric verdicts
|
|
|
|
---
|
|
|
|
### Phase 3: User Approval Gate
|
|
|
|
**Objective**: Present quality summary to user and obtain APPROVE/REJECT verdict.
|
|
|
|
**Steps**:
|
|
|
|
1. Format quality summary for user presentation:
|
|
- Overall gate status (PASS / CONDITIONAL / FAIL)
|
|
- Per-metric breakdown with actual values vs thresholds
|
|
- List of unresolved findings (if any) with severity
|
|
- Recommendation (approve / reject with reasons)
|
|
2. Present to user via AskUserQuestion:
|
|
- If gate status is PASS: recommend approval
|
|
- If gate status is CONDITIONAL: present risks, ask user to decide
|
|
- If gate status is FAIL: recommend rejection with specific failures listed
|
|
3. Record user verdict (APPROVE or REJECT)
|
|
4. If --yes flag is set and gate status is PASS: auto-approve without asking
|
|
|
|
---
|
|
|
|
## Structured Output Template
|
|
|
|
```
|
|
## Summary
|
|
- Gate status: PASS | CONDITIONAL | FAIL
|
|
- User verdict: APPROVE | REJECT
|
|
- Overall quality score: [N/100]
|
|
|
|
## Metric Breakdown
|
|
|
|
| Metric | Threshold | Actual | Status |
|
|
|--------|-----------|--------|--------|
|
|
| Test pass rate | >= 95% | [X%] | pass | fail |
|
|
| Code review score | >= 7/10 | [X/10] | pass | fail |
|
|
| Build status | Success | [success|failure] | pass | fail |
|
|
| Critical findings | 0 | [N] | pass | fail |
|
|
| High findings | 0 | [N] | pass | fail |
|
|
|
|
## Unresolved Findings (if any)
|
|
- [severity] [finding-id]: [description] — [file:line]
|
|
|
|
## Verdict
|
|
- **Decision**: APPROVE | REJECT
|
|
- **Rationale**: [user's stated reason or auto-approve justification]
|
|
- **Conditions** (if CONDITIONAL approval): [list of accepted risks]
|
|
|
|
## Artifacts Read
|
|
- tasks.csv (QUALITY-001 row)
|
|
- [test-results artifact path]
|
|
- [review-report artifact path]
|
|
- [build-output artifact path]
|
|
```
|
|
|
|
---
|
|
|
|
## Error Handling
|
|
|
|
| Scenario | Resolution |
|
|
|----------|------------|
|
|
| QUALITY-001 task not found or not completed | Report error, gate status = FAIL, ask user how to proceed |
|
|
| Test results artifact missing | Mark test pass rate as unknown, gate status = FAIL |
|
|
| Review report missing (review stage skipped) | Mark review score as N/A, evaluate remaining metrics only |
|
|
| Build output missing | Run quick build check via Bash, use result |
|
|
| User does not respond to approval prompt | Default to REJECT after timeout, log reason |
|
|
| Metrics are partially available | Evaluate available metrics, mark missing as unknown, gate status = CONDITIONAL at best |
|
|
| --yes flag with FAIL status | Do NOT auto-approve, still present to user |
|