> For the complete documentation index, see [llms.txt](https://docs.unitlab.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.unitlab.ai/documentation/workflows/review-rework-and-escalation.md).

# Review, rework, and escalation

Route human decisions, Consensus disagreements, and benchmark exceptions to an accountable correction or review owner.

Review turns an acceptance decision into a workflow transition. Rework turns specific feedback into corrected annotations. Escalation assigns a decision that exceeds the current policy or expertise to an appropriate owner.

Use [Review Stages](https://docs.unitlab.ai/documentation/qa/review-stages) for the complete reviewer procedure and [QA Workflows](https://docs.unitlab.ai/documentation/qa/qa-workflows) for combined quality-control patterns.

## Configure a correction loop

```mermaid
flowchart LR
  A[Annotate] --> R[Review]
  R -->|Approved| C[Complete]
  R -->|Rejected| A
```

Connect the Review approval route to the next required check or Complete. Connect rejection to the intended annotation or correction stage. Add a named Review stage when another specialist must make a separate decision, then configure its eligible reviewers and return path.

## Review imported model pre-labels

When Annotation Imports is available for your workspace, [import your local predictions](/documentation/data/import-local-annotations.md) into media already in the Project, including images linked from S3. Importing creates editable labels; it does not approve the objects, mark the task Complete, or bypass the Workflow. An `approved` value in an input file is not review authorization.

1. Configure an Annotate stage followed by a Review stage. Route review acceptance to Complete or to the next required check, and route rejection back for correction.
2. Import and inspect the model labels while the target item is eligible for import, normally in Annotate or Review. Model, Consensus, Archive, and grouped targets are not supported import destinations.
3. An annotator opens the item, checks boxes, boundaries, masks, and image-level classes, corrects errors, and submits it along the configured route.
4. The assigned reviewer checks the result and chooses the acceptance action. The button is labelled for its destination, such as **Mark as Complete** or **Send to \[stage name]**. Choose **Reject** when the item needs more work.
5. Verify the resulting stage and decision history. A saved edit alone is not a completed review.

{% hint style="info" %}
**Import and review are separate steps.** Annotation Imports needs a compatible server deployment; the presence of an SDK method does not enable the feature in a workspace. Review permissions and the configured workflow determine who can submit or accept the imported work.
{% endhint %}

### Example: correct one model prediction

Suppose the import added a **Car** box to `road.jpg`, but the box misses part of the vehicle.

| Step    | Action                                                                                    | Expected result                                                               |
| ------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| Inspect | Open `road.jpg` in its current Annotate task and compare the box with the original image. | The annotator identifies the boundary error.                                  |
| Correct | Resize the box and check the class, other objects and Item properties.                    | The saved labels reflect the correction; review is still pending.             |
| Submit  | Use the configured forward action to send the item to Review.                             | The item reaches the intended reviewer stage.                                 |
| Review  | The reviewer checks the correction, then accepts or rejects through the configured route. | Acceptance advances the task; rejection sends it back for another correction. |
| Verify  | Inspect the resulting stage and decision history.                                         | The record shows who reviewed the work and where it went next.                |

For a rejection, make the feedback specific: **“Extend the Car box to include the rear bumper.”** The annotator corrects that issue and resubmits; a saved correction alone does not complete the review.

## Deliver reviewed labels

Use [Create a Release](/documentation/releases/create-a-release.md) after checking the delivery scope. Releases do not automatically select only approved items. A Complete state can also be reached by a workflow without review or an authorized manager move, so check that the required reviewer decisions actually occurred.

For a reviewed delivery, use a Project or Batch Queue whose eligible items have all passed the required review, then keep that scope unchanged while its release snapshot is prepared. Record the release version, item IDs, and review evidence. See the [SDK workflow for pre-labels, review, and export](https://docs.unitlab.ai/api-sdk-cli/sdks/prelabels-review-and-export) for API checks and S3 delivery limits.

## Keep quality outcomes distinct

| Trigger                                   | Required handling                                                                                         |
| ----------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| Reviewer rejects a correctable defect     | Return it with actionable feedback, then review the correction.                                           |
| Consensus fails the agreement requirement | Send it to Review and Refine through a Review stage, preserving the independent submissions.              |
| Quality Gate fails                        | Investigate the submission and approved reference, then follow the configured correction or review route. |
| Quality Gate cannot evaluate              | Follow Not evaluated. Do not label missing comparison evidence as a passed or failed benchmark.           |
| Instructions are ambiguous                | Ask the policy owner to resolve the rule and identify other affected work.                                |
| Source data is unusable                   | Apply the explicit source-exclusion or archive policy.                                                    |

## Operate the handoff

1. Inspect all relevant source context and the current instructions.
2. Identify the specific instance, boundary, timing, field, property, or relationship needing attention.
3. Correct it if the review policy permits, or leave an anchored issue that explains the expected change.
4. Use Approve or Reject as appropriate and confirm the destination and owner.
5. On return, check that the stated defect and related inconsistencies are resolved.
6. Escalate recurring policy or ontology gaps through controlled updates and team calibration.

Saving a correction does not complete a review transition. Resolving a comment does not by itself approve the item. Consensus adjudication additionally requires explicit approval of retained submitted objects and Item Properties; follow [Consensus](https://docs.unitlab.ai/documentation/qa/consensus).

## Escalate through configured responsibilities

Escalation is an operating path, not a universal Workbench action. Use an appropriate specialist Review stage or an authorized manager handoff. Give the specialist the source, disputed labels, relevant instruction, and question to decide. Define how the item returns to annotation, review, or completion after that decision.

Monitor repeated rejection reasons and inspect the affected cohort when a defect suggests a systemic policy problem. Keep [Project Instructions](https://docs.unitlab.ai/documentation/projects/project-instructions), ontology choices, calibration examples, and workflow ownership consistent.

## Next steps

* [Stages and routes](https://docs.unitlab.ai/documentation/workflows/stages-and-routes)
* [Review Stages](https://docs.unitlab.ai/documentation/qa/review-stages)
* [Quality Gate](https://docs.unitlab.ai/documentation/qa/quality-gate)
