Blog

Workflow3 min read

Review Workflows: Cutting the Reject Pile From Day One

How to structure creative review so the generation budget goes toward improvements, not re-reviews.


Every extra review round is a generation budget not spent on improvement. If your team spends Thursday looking at clips that were already rejected on Tuesday, you are not reviewing, you are circulating. The structure below cuts that loop hard.

The rule

One decision per clip per review. If a reviewer cannot decide, the clip goes to a named next step, not back into the pile.

Batched review grid of nine thumbnails
Batched review grid of nine thumbnails

Three outcomes, not two

Pass, soft fail, hard fail. A soft fail is "close, but not quite," and it comes with a named action, which is usually "re-prompt with these three changes." A hard fail is "this approach is wrong," and it comes with a specific reason. "Meh" is not an outcome. If a reviewer writes "meh," kick it back with a request for a named action.

The batch size

Six to twelve clips per review. Smaller than six and reviewers lose context. Larger than twelve and they lose attention. Two reviews a day beats one long review.

The rubric

Three columns, never more. The columns are: hook strength, visual fidelity, brand fit. Each scored pass or fail. A clip that fails two of three is a hard fail. A clip that fails one is a soft fail. A clip that passes all three ships. Everyone uses the same rubric every time.

A rubric tally sheet with three columns
A rubric tally sheet with three columns

What to capture

Per clip, you record: the request_id, the rubric scores, the named action if any, the reviewer, the timestamp. You do not capture freeform notes unless the clip is a hard fail, because freeform notes are a signal that the rubric is wrong.

JAVASCRIPT
1await db.reviews.insert({
2 request_id,
3 reviewer: user.email,
4 hook: "pass",
5 fidelity: "pass",
6 brand: "fail",
7 outcome: "soft_fail",
8 action: "swap outdoor scene for indoor, keep pacing",
9 created_at: new Date()
10});

How to get rid of the reject pile

Review pieces the day they are generated. A reject pile grows when review lags generation. The fastest way to reduce it is to slow generation until review catches up, not to run a cleanup sprint.

The re-prompt loop

A soft fail becomes a new prompt, a new generation, a new review. You do not re-review the original clip. If the new generation is a hard fail, step back and ask if the approach is right, not if the prompt is right.

Who reviews

Two reviewers for anything that ships, one for anything that goes into a draft queue. Reviewer rotations every two weeks keep calibration from drifting. When your rubric and your reviewers are stable, your reject pile gets small on its own.

The cost of not doing this

A pile of 50 unreviewed clips at $0.60 each is $30 of frozen spend, plus the cost of the time you will burn later sorting them. Multiply by ten pipelines and the number is not abstract. Every clip reviewed the day it was generated is a clip you do not have to regenerate because you forgot what the original prompt was trying to do.