# Gate Check Process

Go/no-go consensus before phase transitions.

## When to Use

- After spec review, before planning
- After plan review, before implementation
- Any time you want a sanity check

## 1. Determine the Phase

```bash
BRANCH=$(git branch --show-current)

# What are we gating?
if [[ -f "specs/${BRANCH}/plan.md" ]]; then
  PHASE="plan"
  FILE="specs/${BRANCH}/plan.md"
elif [[ -f "specs/${BRANCH}/spec.md" ]]; then
  PHASE="spec"
  FILE="specs/${BRANCH}/spec.md"
else
  echo "Error: No spec or plan found at specs/${BRANCH}/" >&2
  return 1
fi
```

## 2. Run the Gate Check

```bash
orch consensus --mode vote --temperature 0.5 \
  --file "$FILE" \
  "$(cat ~/.claude/skills/spec-review/prompts/gate-check.txt)" \
  flash deepseek gpt
```

**Why these settings**:
- `--mode vote` - Structured Support/Oppose/Neutral verdicts
- `--temperature 0.5` - More deterministic, less creative
- Fast models for quick sanity check

## 3. Interpret Verdicts

**Vote outcomes**:
- `SUPPORT` - Ready to proceed
- `OPPOSE` - Has concerns, should not proceed
- `NEUTRAL` - On the fence, needs more info

**Consensus thresholds**:
- All support → proceed
- Any oppose → review concerns before proceeding
- Mixed → use judgment, consider concerns

## 4. Handle Blockers

If models oppose, they should provide:
- Specific blocker (quote the problematic text)
- Why it's a blocker
- What would resolve it

Address blockers, re-run gate check.

## 5. Record Decision

Whether proceeding or not, note:
- Gate check result
- Any concerns raised
- Decision and rationale
