{
  "harness_version": "1.0",
  "master": {
    "key": "email-marketing",
    "title": "Email Marketing & Lifecycle (email-strategist)",
    "manual": "MANUAL.md",
    "verify": "./init.sh"
  },
  "features": [
    {
      "id": "welcome-sequence",
      "name": "Welcome sequence",
      "description": "5-7 email serialized welcome arc (Soap Opera Sequence, playbooks/soap-opera-sequence.md). Delivers the lead magnet in email 1, exactly one hard-pitch email no earlier than email 3, every loop opened must be closed, compliance tags on every email.",
      "status": "done",
      "dependencies": [],
      "done_criteria": "A workspace welcome-sequence artifact passes verify_email_marketing.py with exit 0 against the full rubric (count, subject length, goal tags, single CTA, loop closure, lead-magnet delivery, exactly-one-pitch, compliance tags).",
      "verify": "python3 verify_email_marketing.py samples/good/welcome-sequence.md",
      "evidence": "samples/good/welcome-sequence.md passes (exit 0); samples/bad/welcome-sequence.md fails on 8 named checks (exit 1) — see init.sh output."
    },
    {
      "id": "launch-sequence",
      "name": "Launch sequence",
      "description": "Product-Launch-Formula arc (playbooks/plf-launch-sequence.md): >=2 prelaunch emails, cart-open, >=1 proof email, >=1 objection/FAQ email, >=2 deadline emails with an identical stated deadline, post-close email. All urgency claims tagged [real:mechanism]. Single offer per sequence.",
      "status": "todo",
      "dependencies": [],
      "done_criteria": "A workspace/launch-sequence.md artifact (frontmatter type: launch-sequence) passes verify_email_marketing.py exit 0.",
      "verify": "python3 verify_email_marketing.py workspace/launch-sequence.md",
      "evidence": ""
    },
    {
      "id": "ecom-flow-set",
      "name": "Ecom flow set",
      "description": "The five canonical Klaviyo flows (playbooks/klaviyo-flow-stack.md): welcome, browse-abandon, cart-abandon, post-purchase, winback. Each flow needs a named trigger event, an exit/suppression condition, email count with timing offsets, and a per-flow metric with a benchmark reference.",
      "status": "todo",
      "dependencies": [],
      "done_criteria": "A workspace/ecom-flow-set.md artifact (frontmatter type: ecom-flow-set) passes verify_email_marketing.py exit 0.",
      "verify": "python3 verify_email_marketing.py workspace/ecom-flow-set.md",
      "evidence": ""
    },
    {
      "id": "daily-email",
      "name": "Daily email",
      "description": "Single infotainment send (playbooks/daily-email.md, Settle/Furey): subject <=9 words, story/observation lede with no product mention in paragraph 1, one pivot line, exactly one CTA link target, body <=350 words, house-voice check against the brand-bible banned-vocabulary list, compliance tags present.",
      "status": "todo",
      "dependencies": [],
      "done_criteria": "A workspace/daily-email.md artifact (frontmatter type: daily-email) passes verify_email_marketing.py exit 0.",
      "verify": "python3 verify_email_marketing.py workspace/daily-email.md",
      "evidence": ""
    },
    {
      "id": "reactivation-campaign",
      "name": "Reactivation campaign",
      "description": "Dean Jackson nine-word-style arc (playbooks/nine-word-reactivation.md) for a segment defined by an explicit inactivity rule (e.g. no open/click in 90d): 2-3 emails, email 1 <=25 words total, a sunset rule for non-responders, and a deliverability note. Compliance tags on all.",
      "status": "todo",
      "dependencies": [],
      "done_criteria": "A workspace/reactivation-campaign.md artifact (frontmatter type: reactivation-campaign) passes verify_email_marketing.py exit 0.",
      "verify": "python3 verify_email_marketing.py workspace/reactivation-campaign.md",
      "evidence": ""
    },
    {
      "id": "deliverability-audit",
      "name": "Deliverability audit",
      "description": "The Layer 0 gate (playbooks/deliverability-warmup.md): SPF, DKIM, DMARC, one-click unsubscribe (RFC 8058), Google Postmaster spam-rate reading (<0.3% threshold stated), list-hygiene/sunset rule, and warm-up plan. Every item marked [verified|failed|todo] with a non-empty evidence line. This has veto power (MANUAL.md §5.5) over every other feature above.",
      "status": "todo",
      "dependencies": [],
      "done_criteria": "A workspace/deliverability-audit.md artifact (frontmatter type: deliverability-audit) passes verify_email_marketing.py exit 0 with all 7 required items present and evidenced.",
      "verify": "python3 verify_email_marketing.py workspace/deliverability-audit.md",
      "evidence": ""
    }
  ]
}
