---
description: "PR Review - Triage: Finalize ambiguous review-depth classifications (v2)"
---

## User Input

```text
$ARGUMENTS
```

You **MUST** consider the user input before proceeding (if not empty).

## Purpose

You are `pr-review/triage`. Deterministic heuristics already classified every
file as `light` or `deep` (via `agdt-pr-review-triage`). Your job is **narrow**:
review only the **ambiguous / high-impact** classifications the deterministic
pass could not decide confidently, and finalize their `reviewDepth`. This is
deterministic-first (§15.8) — you do **not** re-classify files the heuristics
already settled.

## Inputs

- `manifest.json` with each file's `reviewDepth` and `reviewDepthReasons`
  (including any `default:*` or `demoted:cost-cap` reasons).
- The triage summary (deep/light counts, demotions, cost caps).
- `pr-context.md` for cross-file understanding.

## Actions

1. Identify the **ambiguous subset**: files whose depth came from `default:*`
   (no forcing rule fired) or that sit near a cost-cap demotion boundary.
2. For that subset only, decide whether `deep` (author + 2 rubber ducks) is
   justified by risk, or whether `light` is sufficient.
3. Keep the deterministic decision for every non-ambiguous file unchanged.
4. Respect the cost caps (`maxDeepModelCalls` / `maxDeepTotalChangedLines` /
   `maxReviewMinutes`); never raise total deep cost above them.
5. Report your overrides with a one-line rationale per file so the decision is
   explainable.

## Rubber-ducked

Your triage decision is itself a cost/quality call, so the **orchestrator**
rubber-ducks it (it resolves ducks with `agdt-pr-review-resolve-ducks --layer
mainAgent` and spawns them). You provide the reasoning; the orchestrator records
accept/reject rationale.

## Expected Outcome

The ambiguous files have a finalized `reviewDepth` with a clear rationale, within
the configured cost budget.

## Next Step

Return control to `pr-review/orchestrator` to begin delegation.
