fix: redesign adaptation rules per Guardian review — resolve race conditions

Guardian review (Sprint 1) found critical issues in adaptation rules:
- A2 couldn't skip already-spawned parallel reviewers (race condition)
- A1 escalated then A2 skipped the escalated reviewers (self-defeating)
- A3 "Pause" conflicted with parallel agent execution
- A1's "thorough" override was unreachable dead code

Fixes:
- Reorder rules: A3 (after Plan) → A2 (after Guardian) → A1 (after Check)
- Guardian now runs first in Check phase, A2 evaluated before spawning others
- A2 doesn't apply to escalated workflows or first cycle of thorough
- A3 task-understanding pause runs before Do phase (no cancellation needed)
- Added explicit evaluation order diagram
This commit is contained in:
2026-04-03 06:25:27 +02:00
parent 1f999a2321
commit 5eefa309cb

View File

@@ -21,35 +21,46 @@ Otherwise, assess the task and pick:
## Workflow Adaptation Rules
The initial workflow choice is a starting point, not a commitment. These rules adapt the workflow at runtime based on signals from Creator and Guardian. Evaluate in order after each relevant phase.
The initial workflow choice is a starting point, not a commitment. These rules adapt the workflow at runtime. Each rule specifies when it evaluates (which phase boundary).
### A1: Conditional Escalation (fast → standard)
**When:** Guardian rejects with 2+ CRITICAL findings in a `fast` workflow.
**Action:** Escalate to `standard` for the next cycle — add Skeptic + Sage to the reviewer roster.
**Why:** If Guardian found serious issues, more perspectives help find root causes.
**Override:** If A3 already escalated to `thorough`, do nothing (already higher).
### A2: Guardian Fast-Path (skip remaining reviewers)
**When:** Guardian finds 0 CRITICAL and 0 WARNING in a `standard` or `thorough` workflow.
**Action:** Skip Skeptic, Sage, and Trickster. Proceed directly to Act phase (merge).
**Why:** Guardian's security review is the strictest gate. Clean pass = safe to merge without additional review cost.
**Override:** Suppressed if A1 just triggered in the same cycle. Do not fast-path an escalated workflow.
**Log:** Note "Guardian fast-path taken — remaining reviewers skipped" in orchestration report.
### A3: Confidence-Triggered Escalation
### A3: Confidence Gate (evaluates: after Plan, before Do)
**When:** Creator's confidence table has any axis below 0.5.
**Action by axis:**
| Axis | Score < 0.5 Action |
|------|-------------------|
| Task understanding | **Pause.** Ask user to clarify. Do not proceed until >0.5 or user overrides. |
| Solution completeness | **Upgrade to standard.** Add Explorer before proceeding. |
| Risk coverage | **Spawn mini-Explorer** for the specific risky area (parallel, 5 min max). Don't block other phases. |
| Task understanding | **Pause.** Ask user to clarify before proceeding. Do not spawn Maker. |
| Solution completeness | **Upgrade to standard.** Add Explorer before Maker starts. |
| Risk coverage | **Spawn mini-Explorer** for the specific risky area (parallel, 5 min max). Maker can proceed. |
Multiple axes can trigger simultaneously — handle in parallel.
A3 runs before any Do/Check agents spawn, so there are no cancellation issues.
### A1: Conditional Escalation (evaluates: after Check, before next cycle)
**When:** Guardian rejects with 2+ CRITICAL findings in a `fast` workflow.
**Action:** Escalate to `standard` for the **next cycle** — add Skeptic + Sage to the reviewer roster.
**Why:** If Guardian found serious issues, more perspectives help find root causes.
**Sticky:** Once escalated, the workflow stays escalated for all remaining cycles. A2 does not apply to escalated workflows.
### A2: Guardian Fast-Path (evaluates: after Guardian, before spawning other reviewers)
**When:** Guardian finds 0 CRITICAL and 0 WARNING in a non-escalated `standard` or `thorough` workflow.
**Action:** Do not spawn Skeptic, Sage, or Trickster. Proceed directly to Act phase.
**Why:** Guardian's security review is the strictest gate. Clean pass = safe to skip additional reviewers.
**Critical:** Evaluate A2 **after Guardian completes but before other reviewers are spawned.** Do not spawn reviewers in parallel with Guardian — spawn Guardian first, check A2, then spawn remaining reviewers only if A2 doesn't trigger.
**Does not apply to:** Escalated workflows (A1 triggered), or first cycle of `thorough` workflows (Trickster is mandatory on first pass).
**Log:** Note "Guardian fast-path taken" in orchestration report.
### Evaluation Order
```
Plan phase completes → A3 (confidence gate)
Guardian completes → A2 (fast-path check) → if clean, skip other reviewers
↓ if not, spawn other reviewers
Check phase done → A1 (escalation check) → if 2+ CRITICALs in fast, next cycle is standard
```
## Step 1: Plan Phase
@@ -148,9 +159,9 @@ Agent(
## Step 3: Check Phase
Spawn reviewers **in parallel** — they read the Maker's changes independently.
Spawn Guardian **first**. After Guardian completes, check adaptation rule A2 (fast-path). If A2 triggers (0 CRITICAL, 0 WARNING, non-escalated workflow), skip remaining reviewers and proceed to Act. Otherwise, spawn remaining reviewers **in parallel**.
### Guardian
### Guardian (always runs first)
**Context to include:** Maker's git diff, proposal risk section only.
**Context to exclude:** Explorer's research, full proposal, other reviewer outputs.