Consolidate the attention-filters skill (122 lines) into check-phase, reducing check-phase from 234 to 110 lines. Removed verbose bash code blocks, 30-line consolidated output example, re-check protocol (belongs in act-phase), and motivational section. Updated all references in README, plugin.json, using-archeflow, and colette-bridge.
111 lines
4.8 KiB
Markdown
111 lines
4.8 KiB
Markdown
---
|
|
name: check-phase
|
|
description: Use when acting as Guardian, Skeptic, Sage, or Trickster in the Check phase. Defines review rules, finding format, attention filters, and spawning protocol.
|
|
---
|
|
|
|
# Check Phase
|
|
|
|
Reviewers examine the Maker's implementation. This skill defines shared rules, finding format, and spawning protocol.
|
|
|
|
## Shared Rules
|
|
|
|
1. Review against the proposal's intended design, not invented requirements.
|
|
2. Read actual code via `git diff` on the Maker's branch.
|
|
3. Use the finding format below for every issue.
|
|
4. Give a clear verdict: `APPROVED` or `REJECTED` with rationale.
|
|
5. `STATUS: DONE` signals agent completion. `APPROVED`/`REJECTED` is domain output. Both are parsed independently.
|
|
|
|
## Finding Format
|
|
|
|
| Location | Severity | Category | Description | Fix |
|
|
|----------|----------|----------|-------------|-----|
|
|
| src/auth/handler.ts:48 | CRITICAL | security | Empty string bypasses validation | Add length check |
|
|
|
|
**Severity:** CRITICAL = must fix, blocks approval. WARNING = should fix, doesn't block alone. INFO = nice to have, never blocks.
|
|
|
|
**Categories:** `security` `reliability` `design` `breaking-change` `dependency` `quality` `testing` `consistency`
|
|
|
|
## Evidence Requirements
|
|
|
|
Every CRITICAL or WARNING must include concrete evidence. Without evidence, downgrade to INFO.
|
|
|
|
**Valid evidence:** command output, exit codes, code citations with line numbers, git diff excerpts, reproduction steps.
|
|
|
|
**Banned in CRITICAL/WARNING:** "might be", "could potentially", "appears to", "seems like", "may not". Rewrite with evidence or downgrade.
|
|
|
|
For each CRITICAL/WARNING, state: (1) what was tested, (2) what was observed, (3) what correct behavior should be.
|
|
|
|
## Attention Filters
|
|
|
|
Each archetype receives only relevant context. Do not pass everything.
|
|
|
|
| Archetype | Receives | Excludes |
|
|
|-----------|----------|----------|
|
|
| Guardian | Maker's git diff + proposal risk section + test results | Explorer research, Creator rationale, other reviewers |
|
|
| Skeptic | Creator's proposal (assumptions + architecture) + confidence scores | Git diff, Explorer research, other reviewers |
|
|
| Sage | Creator's proposal + Maker's diff + implementation summary + test results | Explorer raw research, other reviewer verdicts |
|
|
| Trickster | Maker's git diff + attack surface summary (file types + entry points) | Proposal, research, other reviewers |
|
|
|
|
**Token budget targets:**
|
|
|
|
| Archetype | Fast | Standard | Thorough |
|
|
|-----------|------|----------|----------|
|
|
| Guardian | 1500 | 2000 | 2500 |
|
|
| Skeptic | skip | 1500 | 2000 |
|
|
| Trickster | skip | skip | 1500 |
|
|
| Sage | skip | 2500 | 3000 |
|
|
|
|
**Context isolation:** Agents receive fresh, controller-constructed context only. No session bleed, no cross-agent contamination, no ambient knowledge. Verify zero references to excluded artifacts before spawning.
|
|
|
|
**Cycle-back filtering (cycle 2+):** Pass structured feedback table only (not full reviewer artifacts). Strip resolved items. Cap at 500 tokens — summarize by severity if exceeded.
|
|
|
|
## Reviewer Spawning Protocol
|
|
|
|
### Step 1: Guardian First (mandatory)
|
|
|
|
Guardian always runs first. It receives the Maker's git diff and the proposal's risk section only.
|
|
|
|
Save output to `.archeflow/artifacts/${RUN_ID}/check-guardian.md`.
|
|
|
|
### Step 2: A2 Fast-Path Evaluation
|
|
|
|
After Guardian completes, count CRITICAL and WARNING findings in its output. If both are zero, and not escalated, and not first cycle of a thorough workflow — skip remaining reviewers and proceed to Act phase.
|
|
|
|
### Step 3: Parallel Remaining Reviewers
|
|
|
|
If A2 does not trigger, spawn remaining reviewers in parallel:
|
|
|
|
| Workflow | Reviewers (after Guardian) |
|
|
|----------|--------------------------|
|
|
| `fast` | None (Guardian only) |
|
|
| `fast` (escalated) | Skeptic + Sage |
|
|
| `standard` | Skeptic + Sage |
|
|
| `thorough` | Skeptic + Sage + Trickster |
|
|
|
|
Each reviewer gets context per the attention filters above.
|
|
|
|
### Step 4: Collect and Consolidate
|
|
|
|
For each reviewer: save to `.archeflow/artifacts/${RUN_ID}/check-<archetype>.md`, emit `review.verdict` event, record sequence number.
|
|
|
|
**Deduplication:** If two reviewers raise the same issue (same file + same category), merge into one finding using the higher severity. Don't double-count.
|
|
|
|
**Verdict:** Count CRITICAL findings across all reviewers (after dedup). Any CRITICAL = `REJECTED`. Otherwise `APPROVED`.
|
|
|
|
Example consolidated output:
|
|
|
|
```markdown
|
|
## Check Phase Results — Cycle 1
|
|
### Guardian: APPROVED
|
|
| Location | Severity | Category | Description | Fix |
|
|
|----------|----------|----------|-------------|-----|
|
|
| src/auth.ts:52 | WARNING | security | Missing rate limit | Add rate limiter |
|
|
### Verdict: APPROVED — 0 critical, 1 warning
|
|
```
|
|
|
|
## Timeout Handling
|
|
|
|
Each reviewer has a **5-minute timeout**. On timeout: emit `agent.complete` with `"error": true`, log WARNING, treat as no findings, proceed.
|
|
|
|
**Exception:** Guardian timeout is blocking — abort Check phase and report to user.
|