promptdojo_

The voice pack is data — on-voice copy at batch volume — step 6 of 8

Variants are records, not paragraphs

The old way to review AI copy: the model dumps twelve options into a doc, you scroll, you copy-paste the least bad one, and three weeks later nobody can say which subject line ran on which send or where it came from. The doc was write-only memory.

The studio way: every variant is a record with a schema. Run the editor — that's one variant. The fields do real jobs:

  • id and channel and slot — so "E3 won the subject-line test" is a sentence with a referent. When performance data comes back in lesson 3, it joins on these fields.
  • text and cta — the actual copy, and the ask. "cta": "none" is a deliberate value, not a missing one: Fieldnote's pack says a CTA appears only when it earns its place, and the schema makes "no CTA" an explicit choice someone made.
  • sourceai-draft, ai-edited, or human. This field looks bureaucratic until the day someone asks what was AI-written in last quarter's campaign — for a rights question, a client dispute, a postmortem — and you can answer with a filter instead of an archaeology dig.
  • lint — the linter writes its violations here. Empty list means the variant may proceed to review. Non-empty means it goes back for a redraft, with the reasons attached.
  • approved_by — empty until a named human fills it. No script in this chapter ever writes to this field. That's not a technical limitation; it's the point.

Why schema beats prose at batch volume

Ask the model for "some subject lines" and you get prose to scroll. Ask it to return variants in this schema — and models are reliable at filling a stated JSON shape — and you get data to process: lint all twelve in a loop, sort the survivors by slot, count how many the pack rejected, and hand Dana a clean queue instead of a doc. The schema is what turns "review the copy" from an afternoon into a pass.

Batch volume is where this pays. Writer's own customer story about the retailer Adore Me claims a 20-hour monthly product-description batch fell to 20 minutes with drafting agents — a vendor's number about a vendor's client, so treat the figure as marketing. But the shape of the claim is the believable part: batch drafting is where marketing time goes, and batch drafting without a batch checking step is how twelve variants of "game-changing" reach your send tool.

You've got the linter from step 5. Next you'll wrap it into lint_copy, run four drafts through it, and then — checkpoint — run the whole batch and produce the queue that goes to Dana.