{
  "harness_version": "1.0",
  "master": {
    "key": "copywriting",
    "title": "master-copywriter — Conversion Copywriting",
    "manual": "MANUAL.md",
    "verify": "./init.sh"
  },
  "features": [
    {
      "id": "sales-page",
      "name": "Sales page",
      "description": "A full long-form sales page in Markdown: headline block (declared lead-type + awareness stage), lede, named mechanism, tagged proof block, offer (price/stack/guarantee), objection handling, single primary CTA, PS block.",
      "status": "todo",
      "dependencies": [],
      "done_criteria": "Passes verify_copywriting.py sales-page rubric: all 8 sections present in order, valid lead-type+awareness tags, named mechanism, >=3 tagged proof elements with no untagged numeric claims, price+stack+guarantee present, >=3 objections, exactly one distinct CTA target, PS present, no hype/forbidden vocab, no paragraph >90 words, em-dash density <=1/200 words, Flesch Reading Ease >=50.",
      "verify": "python3 verify_copywriting.py sales-page workspace/sales-page.md",
      "evidence": ""
    },
    {
      "id": "vsl-script",
      "name": "VSL script",
      "description": "A timestamped video-sales-letter beat sheet: hook (first 15s, <=40 words), tagged lead, named mechanism, tagged proof segments, transition-to-pitch, stack, price reveal with anchor, guarantee, single-action CTA, and an open-loop inventory (>=2 loops, all declared closed).",
      "status": "todo",
      "dependencies": [],
      "done_criteria": "Passes verify_copywriting.py vsl-script rubric: all 9 beats present, hook timestamped and under word cap, lead tagged, mechanism named, >=3 tagged proof segments, transition marker present, stack present, price reveal has anchor+price, guarantee present, single CTA target, >=2 open loops with zero unclosed loops.",
      "verify": "python3 verify_copywriting.py vsl-script workspace/vsl-script.md",
      "evidence": ""
    },
    {
      "id": "ad-set",
      "name": "Ad set",
      "description": ">=5 ad variants, each declaring awareness-stage target, a hook line (<=12 words), primary text, single CTA, and an angle tag — with angle diversity enforced (each angle used at most twice) and hook lines never duplicated.",
      "status": "todo",
      "dependencies": [],
      "done_criteria": "Passes verify_copywriting.py ad-set rubric: >=5 variants, no duplicate hook lines, every variant has a valid awareness tag + hook <=12 words + single CTA + angle tag, no angle used more than twice, no undisclosed before/after income claims.",
      "verify": "python3 verify_copywriting.py ad-set workspace/ad-set.md",
      "evidence": ""
    },
    {
      "id": "email-subject-bank",
      "name": "Email subject-line bank",
      "description": ">=20 subject lines grouped by named curiosity mechanism (open loop, specificity, contrast, self-interest, story-cue — >=4 mechanisms represented), each <=9 words, no ALL-CAPS, <=1 emoji, no spam-trigger hits, every group citing its mechanism.",
      "status": "todo",
      "dependencies": [],
      "done_criteria": "Passes verify_copywriting.py email-subject-bank rubric: >=20 subjects, >=4 curiosity mechanisms represented, every group has a Mechanism: citation, no subject over 9 words / ALL-CAPS / >1 emoji / spam-trigger hit.",
      "verify": "python3 verify_copywriting.py email-subject-bank workspace/email-subject-bank.md",
      "evidence": ""
    },
    {
      "id": "landing-hero-variants",
      "name": "Landing-hero variants",
      "description": ">=3 hero variants, each with a headline (<=14 words), subhead (<=25 words), verb-first CTA label (<=4 words), declared lead type + awareness stage, and a one-line 'Because:' rationale citing a MANUAL.md school by name. Lead-type diversity required across variants.",
      "status": "todo",
      "dependencies": [],
      "done_criteria": "Passes verify_copywriting.py landing-hero-variants rubric: >=3 variants, headline/subhead/CTA within word caps, valid lead+awareness tags, Because: rationale present on every variant, not all variants sharing the same lead type.",
      "verify": "python3 verify_copywriting.py landing-hero-variants workspace/landing-hero-variants.md",
      "evidence": ""
    }
  ]
}
