The Herbalist · Living source of truth

The Greenhouse

Where The Herbalist's marketing creatives are grown. A human + AI system that repeatedly turns current evidence into strong ad concepts, team decisions, accurate creative and market-tested learning. Built to break the account's biggest constraint: not enough good creatives.

Phase: Planning, pre-pilot Updated: 12 Aug 2026 Pilot proposed: Moringa × Google Demand Gen (awaiting Matt's approval) Channel now: Google Ads · Later: Meta

Start here

Getting started

The Greenhouse is The Herbalist's creative asset generation system: ad ideas, copy and visuals produced by AI agents, then judged, shaped and approved by the humans who know the brand, the customers and the craft. Every cycle is recorded, so each one starts smarter than the last. This page is the source of truth for how it all works, written for people and agents alike.

What the Greenhouse is

The end-to-end creative flow: research, five ideas a day, team judgement in Slack, controlled production, human approval, fair testing, curated learning. Google Ads creatives first, Meta later.

What Herbie is

The AI agent (Hermes, on the VPS) doing the Greenhouse's heavy lifting: research, ideation, production and record-keeping. Herbie also has other jobs (website work, ads reporting, intelligence); those are deliberately out of scope here and may get their own docs one day.

What these docs cover

Only the Greenhouse. One page, everything: the loop, each step's data sources and tools, the gates, the learning model, the team, and the decisions still open.

The problem it solves

The Herbalist's Google Ads account has budget, data and demand, but not enough fresh, accurate, on-brand creatives to feed it. The Greenhouse closes that gap with a disciplined loop. The first target is five strong concept cards per working day, not five finished ads. That proves the judgement and feedback loop before image generation, publishing or deeper automation.

Evidence before ideas

Herbie never creates from guesses. Every cycle starts from live performance, current product facts, customer language and competitor patterns, with a freshness gate that stops the run if sources are stale.

Humans keep the judgement

The team chooses, improves or rejects every idea in Slack. Named humans approve claims, creative, publishing and spend. Herbie never approves its own work and never spends money.

Everything is recorded

Concepts, feedback, approvals, platform IDs and results all land in one shared marketing memory, so the system learns from evidence instead of vague recollection.

One workflow, not twelve agents

One orchestrated Herbie workflow with eight steps runs on the Hermes profile on the Herbie VPS. No extra agents, databases or automation until the smallest loop works.

The Greenhouse in sixty seconds

  1. Research: Herbie builds a fresh evidence packet from live performance, product truth, customer language and competitor patterns. A freshness gate stops bad data at the door.
  2. Choose an opportunity: Herbie ranks, a human picks one focus for the cycle.
  3. Create five ideas: five genuinely different concept cards, each a distinct hypothesis.
  4. Discuss in Slack: Lorna and the team choose, improve or reject each one (Gate 1). The pilot stops here.
  5. Create ad versions: copy and visual variants from approved product photos, never distorted.
  6. Review and approve: Shaun checks design and product accuracy, Lorna checks copy, Kelly signs off every creative (Gate 2).
  7. Publish and test: manual launch under a predefined experiment, verified by readback (Gate 3).
  8. Learn and repeat: results and feedback become curated lessons that make the next cycle smarter (Gate 4).

Where things stand, and how to use these docs

  • Status: planning, pre-pilot. The proposed first cycle is Moringa × Google Demand Gen, awaiting Matt's approval. The Slack connection is planned but not yet live.
  • Explore: click any card in the loop to open that step's deep dive, with its data sources, tools and current status. Decisions tracks what is confirmed versus proposed.
  • Changing this page: it is the source of truth, updated whenever Matt confirms a decision or live evidence changes (with docs/DECISIONS.md in the same pass). Suggestions go to Matt or Ismaeel.

The complete loop

From evidence to better ads

Click any step for the granular view: how it works, its data sources, tools and current status.

AI-led work Human collaboration Human approval Data and learning

1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → back to 1. Rejections at steps 4 and 6 are recorded with a reason and closed. Every step writes to shared memory.

Shared Marketing MemoryNothing useful is lost between one creative cycle and the next.
Idea libraryEvery concept, including rejected ideas and why
Feedback logWhat the team changed and why
Approval historyWho approved each version, when
Performance resultsWhat customers actually responded to

Granular view

Step deep dives

Each step below shows how it works internally, exactly which data sources and tools it connects to, what state those connections are in today, the decision states, and what still has to be built or fixed. Statuses were last verified on 11 Aug 2026.

1

Research

Herbie research · AI-led

Produce a short, trusted, versioned evidence packet for one human-approved pilot product, channel and objective, so ideas are grounded in what is true today, not in stale files.

How it works

  1. Receive the pilot brief: product, channel, objective, audience, measurement window.
  2. Source gate: check every required source is accessible, current within the agreed freshness rule and not contradictory. If anything is missing or stale, stop, record the gap and ask the named source owner. Do not research on bad data.
  3. Analyse performance: winners, losers, creative fatigue, gaps and seasonality, not only poor performers.
  4. Read product truth, customer language, brand rules and competitor patterns (inspiration only, never copying).
  5. Separate observed facts, interpretations and unknowns.
  6. Produce one to three evidence-backed opportunities with a recommendation.

The research packet contains

  • Scope, date and measurement window
  • Source-health table (what passed and failed the gate)
  • Key performance evidence and its limitations
  • Current product facts and approved-claims boundaries
  • Customer problems and verbatim language
  • Competitor patterns worth learning from
  • One to three opportunities, with Herbie's recommendation
  • Open questions and risks for the team

Data sources and tools

SourceLives at / accessed viaStatus
Live ad performance and active creativesGoogle Ads API via the GoogleAds MCP (execute_gaql), 8 saved GAQL queries (each with a companion doc) in the Growth Harness queries/LIVE
Product feed, eligibility and disapprovalsMerchant Center MCP (mc_* tools), merchant 708070064LIVE
Cross-channel warehouse (Google Ads, MC, Klaviyo, Takealot, GA4, GSC)Supabase intelligence warehouse + dbt marts, refreshed daily at 05:04 by the VPS timer; dashboards at herbalist.catalystlabs.co.za/intelLIVE
Product facts, price, stock, offersreference/product-catalog.md plus the live product page and Merchant Center. Catalog text dates from May 2026, so live values win.VERIFY LIVE
Customer voice (reviews)loox-reviews-exports/extracts/<product>/. Moringa: 389 reviews, 4.86 avg, 99% verified. Raw language stays raw here; compliance filtering happens only at copy stage.MANUAL EXPORT
Offer + ICP research dossierscopywriting/<product>/. Complete for 4 of 22 products: Ashwagandha, Lion's Mane, Moringa, Reset Bundle4 / 22
Competitor swipe filead-generator/assets/ad-inspiration/: 96 files, 6 deep brand profiles (Neutonic, PrimeSelf, AG1, Eight Sleep, Momentous, Grüns)AVAILABLE
Dedicated ad researchad-generator/research/<product>/: completed for Anti-Stress, Concentration and Lion's Mane so far3 PRODUCTS
Product photos + brand style referencesad-generator/assets/product-photos/ (20 files), ad-generator/assets/style-references/ (16 files)AVAILABLE
Keyword demandKeyword Planner via MCP (generate_keyword_ideas). Known bug: default South Africa geo ID must be corrected to 2710 (currently 1028).FIX NEEDED
selectreviseholdHuman decision on the packet, recorded with who, when and why. Ideation starts only after select.
Output

A concise, versioned research packet with a recommended opportunity.

Human role

Confirm the information is current, fill important knowledge gaps, and make the select / revise / hold call.

Where this stands today
  • First live test ran 11 Aug 2026 against Moringa using real read-only Google Ads and Merchant Center data (numbers in the Pilot section).
  • The freshness gate already proved its value: an old research file said Moringa was out of stock, while the live store and Merchant Center showed it in stock at R99.95 and R179.95.
  • Customer-language and misconception questions route to Vasha: she sees every review and every message to the support WhatsApp.
  • Safety task before autonomous runs: restrict the Herbie Hermes profile to read-only Google Ads tools. The connection currently exposes the powerful mutate tool.
  • Research packet template still to be added to the repo (templates/research-packet.md).
↑ Back to the loop
2

Choose an opportunity

Herbie + owner

Give each creative cycle one clear focus instead of trying to solve every marketing problem at once. Herbie ranks; a human chooses.

How it works

  1. Herbie takes the research packet's one to three opportunities.
  2. Ranks them against current business priorities, budget and seasonality.
  3. Explains why each opportunity matters now, with evidence links.
  4. Recommends one product angle and objective for the cycle.
  5. The named owner selects or adjusts, and sets budget, timing or campaign boundaries.

What it uses

  • The versioned research packet from step 1
  • Current business priorities and scaling targets
  • The pilot's product, audience and channel boundaries
  • ClickUp for ownership when an opportunity creates work for Matt or Ismaeel
selectrevisehold
Output

One focused opportunity brief for the cycle.

Human role

Choose or confirm the opportunity. This is an explicit human decision, never an autonomous Herbie choice.

Design notes
  • For the pilot, the product is chosen before research (step 0, pilot definition). Step 2 then picks the opportunity within that product.
  • Later, a separate weekly portfolio scan can recommend which product deserves attention next. Not in scope for the pilot.
↑ Back to the loop
3

Create five ideas

Herbie ideation · AI-led

Create a useful range of strategic directions before anyone spends time on finished ads. Five ideas must be five different hypotheses, not five rewrites of one headline.

How it works

  1. Check for knowledge gaps first. If evidence cannot resolve an important question, ask the right expert in Slack before ideating, not after: Lorna for creative direction, Vasha for customer truth and a read on ideas against real customers.
  2. Generate five concept cards with distinct hooks, angles and awareness stages.
  3. Attach evidence links, claims risks and a performance hypothesis to each card.
  4. Number the batch with stable concept IDs and post it to Slack as one batch, one thread per concept.

Each concept card contains

  • Stable concept ID and date
  • Product, audience, channel, campaign objective
  • Customer problem or desire
  • Selling angle and hook
  • Awareness stage and intended customer moment
  • Visual direction and proposed format
  • Copy outline and call to action
  • Links to current product facts, photos, evidence
  • Claims or accuracy risks requiring review
  • Performance hypothesis and intended measurement

Data sources and tools

SourceRole in this stepStatus
Opportunity brief (step 2)The single focus for all five conceptsPER CYCLE
Customer language from Loox extractsHooks and angles in the customer's own words. Raw language is the conversion lever; it is filtered for compliance only at copy stage, never during ideation.AVAILABLE
Offer + ICP dossiers (copywriting/)Selling points, objections, jobs-to-be-done per product4 / 22
Competitor swipe filePattern discovery and inspiration only. Copying competitor creative is explicitly out of scope.AVAILABLE
Brand rules + product photosFeasible visual directions grounded in approved imageryAVAILABLE
Claims boundariesSupplement compliance reference (claim-language replacement table) + prohibited list. Kratom products are never advertised.REFERENCE
Concept card templatetemplates/concept-card.md in this repoTO ADD
Output

Five numbered, traceable concept cards ready for Slack.

Human role

The batch is presented to Lorna, the creative strategist, before anything is produced. These are discussion-ready ideas, not approved work.

↑ Back to the loop
4

Discuss in Slack

Human collaboration · Gate 1

Combine Herbie's research with the judgement of the creative, copy, design and product team. Slack is the conversation surface, never the database: every decision is recorded to the canonical marketing record.

How it works

  1. Herbie posts one clear batch, one thread (stable reference) per concept.
  2. Team members reply with feedback; Herbie asks the right expert when information is missing: Lorna for creative and copy, Shaun for design feasibility, Vasha for creative-idea input, misconceptions, complaints and compliments.
  3. Each concept ends in exactly one recorded state, with reviewer, reason and date.
  4. Revise: Herbie changes only what was requested (no unrelated drift) and the concept re-enters the thread as a new version.
  5. Reject: the reason is recorded and the concept is closed, staying searchable in the idea library.

Rules of the room

  • Everyone may speak to Herbie; speaking, reviewing, approving and administering are separate permissions.
  • A reaction emoji is not approval.
  • One person's preference does not become a permanent rule without confirmation (that happens in step 8's weekly review).
  • Expert interviews fill real knowledge gaps; they must not become a compulsory daily interruption. Repeated answers get promoted into reviewed guidance.

Data sources and tools

ToolDetailStatus
Hermes on The Herbalist SlackThe pilot's conversation surface. Hermes currently has no Slack connection; this is the main integration blocker for the pilot.NOT CONNECTED
Claude Tag (@Claude) in The Herbalist SlackEnabled by Kelly around 19-20 Jul 2026, paired to The Herbalist's own Claude org. Herbie must complement it, not clash with it.ACTIVE (separate)
TelegramThe only chat surface currently connected to Hermes. Useful for Matt-only testing before Slack goes live.LIVE
Decision recordspilots/<pilot-id>/decisions.md + templates/decision-record.md in this repoTO ADD
approvereviserejectquestionGate 1, led by Lorna. Every state carries reviewer + reason + date.
Output

Selected concepts, clear revision notes, recorded rejection reasons.

Human role

Give practical feedback, answer Herbie's questions, and explicitly select the concepts worth developing.

Preconditions before team rollout
  • Connect Hermes to Slack for the chosen pilot channel only.
  • Server hardening and source-control provenance must be resolved before Slack access is widened to the team (details tracked in the private planning docs as a separately approved task).
  • Name who may speak, review, approve and administer (open decision).
↑ Back to the loop
5

Create ad versions

Herbie production · AI-led

Develop only the strongest concepts into controlled copy and visual variants the team can compare, every version traceable to its original concept ID.

How it works

  1. Turn each approved concept into a detailed brief.
  2. Write copy variants: headlines, descriptions, paths and extensions ("ad copy" always means all of it, never just headlines).
  3. Apply the compliance filter here: claim language is rewritten to compliant equivalents at copy stage, using the supplement claim-replacement table.
  4. Generate image variants from approved product photos and style references only, with label fidelity checked by eye on every image. The product may never be distorted: what appears in the ad must be a true reflection of what the product looks like in real life.
  5. Store every variant with provenance sidecars linking it to concept ID, sources and generation settings.

What it uses

  • Selected concepts and the Slack feedback that shaped them
  • Approved product photos (20) and style references (16)
  • Current product facts and claims boundaries
  • Direct-response principles: specificity, customer language, awareness stage, proof, offer clarity (principles, not imitations of a named writer)

Data sources and tools

ToolDetailStatus
Image generationOpenAI gpt-image-2 (images.edit, high-fidelity product inputs) and Gemini, via ad-generator/generate_image.py and product-specific scripts. 39 historical ads across 5 products prove the pipeline.WORKING
Ad viewerad-generator/viewer/ Next.js canvas at localhost:3100: infinite canvas, product and competitor groupings, ad detail, GPT-image editing, archive and restore. Historical test records conflict (57% to 28/28 passing); re-verify before relying on it.UNVERIFIED
RSA copy scriptsStandalone Python for RSA creation exists in the Growth Harness scripts/; used later at publish stage, human-in-the-loopAVAILABLE
Compliance referenceClaim-language replacement table + creative do/don't rules for ZA herbal supplements. UNAPPROVED_SUBSTANCES (ZA) is the account's dominant policy issue, so this filter is not optional.REFERENCE
Asset namingHRB-LB-XXX convention for landscape banners; HRB-SQ / HRB-PT for square and portrait; mapping at reference/asset-library.mdCONVENTION
Output

A small set of finished ad variants, each linked to its concept, ready for review.

Human role

Finished designs go to Shaun on Slack for design feedback; Lorna guides copy where craft or product knowledge is needed.

Where this stands today
  • The image pipeline produces useful one-off ads but is not yet a governed daily system: that is exactly what this workflow adds.
  • Ad-generator instructions and scripts still contain obsolete local paths from the old project folder; fix before wiring into the runtime.
↑ Back to the loop
6

Review and approve

Human approval · Gate 2

Make sure every ad is accurate, convincing and safe before it can go live. AI pre-checks and flags; named humans decide. Herbie cannot approve its own work.

How it works

  1. Herbie runs automated pre-checks: product accuracy, claims, policy risk, brand execution, format specs, landing-page fit, tracking, and asset provenance.
  2. Flags land on the variant as review notes, never as silent fixes.
  3. Named reviewers check the actual copy and visuals: product facts, claims, copy craft, brand, packaging and label accuracy, dosage, product proportions.
  4. Every decision is recorded: approved, changes needed, or rejected, with reviewer and reason.
  5. Changes create a new version that re-enters this gate. Material post-approval changes reopen it.

Pre-check inputs

  • Live product page and Merchant Center for fact-checking price, availability and product data
  • Policy patterns from the daily policy scan (harness policy/ workflow, UNAPPROVED_SUBSTANCES focus)
  • Brand rules and style references
  • Landing-page destination and tracking parameters
approvedchanges neededrejectedGate 2. Shaun reviews design and product accuracy, Lorna reviews copy and angles, and Kelly signs off every creative before it can go live.
Output

An approved ad, or a precise list of required changes.

Human role

Shaun (design and product accuracy), Lorna (copy and angles) and Kelly (final sign-off on every creative) make the final call. AI only pre-checks and flags risk.

↑ Back to the loop
7

Publish and test

Human controlled · Gate 3 + readback

Put the approved creative in front of customers under a predefined experiment, with a named publisher controlling launch, settings and spend. Publishing is manual in the first version.

How it works

  1. Define the experiment before launch: hypothesis, primary metric, baseline, isolated variable, audience, budget, minimum-data rule, measurement window and stopping rule. A flat "2 weeks by default" is not an experiment plan.
  2. Gate 3: the publisher approves the exact creative, campaign setup and spend.
  3. Manual upload and launch in Google Ads.
  4. Readback: Herbie reads the live setup back and verifies it matches what was approved. On mismatch: pause the launch, record the discrepancy, prepare a corrected version, reopen Gate 3, relaunch, read back again. Never a silent live correction.
  5. Attach platform IDs (campaign, ad group, ad) to the concept ID so results stay traceable.
  6. Monitor delivery and safety daily; judge results only at the agreed decision point.

Data sources and tools

ToolDetailStatus
Google Ads UIManual publishing by the named publisher in v1MANUAL
GoogleAds MCP readbackexecute_gaql verifies the live setup against the approval recordLIVE
Mutations via APImutate / batch scripts exist but are human-in-the-loop only: any write shows Matt the diff and waits for approval. Autonomous publishing is out of scope.HITL ONLY
Experiment plan recordStored with the concept in pilots/<pilot-id>/TO ADD
Output

A live, traceable test whose results link back to the exact creative and hypothesis.

Human role

A named publisher or ad buyer controls the launch, campaign settings and every rand of spend.

↑ Back to the loop
8

Learn and repeat

Data + learning · Gate 4 + promotion gate

Turn team feedback and market results into a genuinely better next cycle, while keeping human taste strictly separate from market evidence.

How it works

  1. At the agreed decision point, compare results with the original hypothesis and baseline.
  2. Produce a results pack for the team and named owner.
  3. Gate 4: decide scale, iterate, hold or stop.
  4. Classify each learning (see right) with source, scope, confidence, reviewer, date and status.
  5. Weekly review curates learnings; only human-promoted findings change Herbie's approved guidance. "Learn from everything" means preserving useful evidence, not recording every internal model step.

Learning classification

  • Verified product or customer fact
  • Brand or compliance rule
  • Reviewer preference (taste, kept separate)
  • Creative hypothesis (not yet proven)
  • Market-supported finding (proven by results)

A popular team idea is not a proven ad, and one successful ad is not a universal rule.

Data sources and tools

SourceDetailStatus
Live resultsGoogle Ads via execute_gaql against the recorded platform IDs, plus the intelligence warehouse marts for cross-channel contextLIVE
Team feedback and approvalsThe decision records written at Gates 1 and 2 (pilots/<pilot-id>/decisions.md)TO ADD
Shared marketing memory, v1 homeThe idea library, feedback log, approval history and results linkage all live as versioned Markdown in pilots/<pilot-id>/, keyed by concept ID: one canonical record per product, links to assets rather than copies. A database is added only if the pilot proves the loop.DESIGN PROPOSAL
Learning recordClassified learnings with source, scope, confidence, reviewer, date and status, curated in the weekly reviewTO ADD
scaleiterateholdstopGate 4, plus the human promotion gate before any learning changes approved guidance.
Output

A clearer knowledge base and the starting point for the next research cycle.

Human role

Review important lessons in the weekly session before they become permanent guidance for Herbie. Kelly receives the high-level results summary only.

↑ Back to the loop

Governance

The governed end-to-end flow

The same eight steps, shown with every gate, branch and safety rule. Diamonds are decision gates. The pilot deliberately stops after Gate 1: five reviewed concepts with structured feedback prove Herbie's research and judgement before production, publishing and performance automation are unlocked. Note: this gate structure was proposed by Codex on 10 Aug 2026 and is awaiting Matt's confirmation (see Decisions).

0 · Pilot definition (human)

Choose one product, channel, objective, audience and measurement window. Name who may speak, review, approve, publish and administer. Confirm approved sources, claims rules and launch boundaries.

1 · Source gate: current and complete?

Every required source has a canonical link, owner, scope and last-checked date, and passes the freshness rule.

Missing or stale → stop, record the gap, ask the source ownerHealthy → research
1 · Versioned research packet

Performance patterns, product truth, customer voice, competitor patterns, opportunities, unknowns.

2 · Human selects the opportunity

select / revise / hold, recorded with who, when and why.

Revise → back to researchHold → no concepts are created
3 · Five distinct concept cards

Slack gap-conversations with copy, creative and product experts happen first if evidence cannot answer an important question.

4 · Gate 1: concept decision in Slack

approve / revise / reject / question per concept, led by Lorna, with reviewer and reason recorded.

Revise → new version, back through Gate 1Reject → record reason + closeApprove → brief

The pilot ends here.

5 · Brief, copy and visual variants

All variants carry the concept ID and provenance. Compliance filter applies at this copy stage.

6 · AI pre-checks

Product accuracy, claims, policy, brand, format, landing page, tracking, asset provenance. Flags only, never approval.

6 · Gate 2: named human approval

Product, claims, copy, brand and visuals: Shaun on design and product accuracy, Lorna on copy, Kelly's sign-off on every creative.

Revise → back to variantsReject → record + close
7 · Experiment plan

Hypothesis, primary metric, baseline, isolated variable, audience, budget, minimum-data rule, window, stopping rule.

7 · Gate 3: publisher approval

The exact creative, campaign setup and spend.

Revise → backReject → record + closeApprove → manual launch
7 · Manual launch + readback

Herbie reads the live setup back against the approval.

Mismatch → pause, record, correct, reopen Gate 3, relaunch, read back againMatch → monitor daily
8 · Results vs hypothesis

Judged only at the agreed decision point, against the baseline.

8 · Gate 4: scale / iterate / hold / stop

Then classify each learning: fact, rule, preference, hypothesis, or market-supported finding.

8 · Learning promotion gate (human)

Only reviewed findings update approved product, brand or creative knowledge. Everything else stays scoped evidence.

↻ Promoted learning feeds the next research cycle

Every stage records source versions, IDs, revisions, decision state, reviewer, reason, date and resulting platform IDs into the canonical marketing record.

The marketing brain

Data, memory and learning

The most important thing this system does is make itself better. That only works if everything is saved and tagged: every idea, every interaction, every piece of feedback tied to the exact version of the work it was about, and every market result tied back to the idea that produced it. Nothing important lives only in chat scrollback.

Feedback is always tied to work

A comment never floats free. Every reaction, revision request and approval links to the specific artifact version it was about, so we can replay exactly what changed and why.

Taste and evidence stay separate

What the team likes and what the market buys are recorded as different things. Lorna's preference is a preference until a result proves it; one winning ad is not a universal rule.

Slack is the surface, never the database

Conversations happen in Slack, but every decision is written to the canonical record with the thread reference, so nothing depends on scrollback or memory.

What gets recorded

RecordWhat it holdsTagged with
Concept cardThe idea: angle, hook, visual direction, evidence links, performance hypothesisproduct, channel, format, angle, hook type, awareness stage, offer
Feedback eventWho said what, verbatim, about which version, plus a categorised reasonreviewer, decision, reason category, artifact version
Decision recordapprove / revise / reject / question, with who, when and whygate, reviewer, date
VersionEvery revision is a new version naming the requested change, never an overwriteparent version, change type
Expert answerWhat Lorna, Shaun, Vasha or Kelly taught Herbie when it askedtopic, source person, confidence, date
ExperimentHypothesis, primary metric, baseline, budget, window, stopping ruleexperiment ID, concept ID, platform IDs
ResultPerformance at the agreed decision point, compared with the hypothesisoutcome, metric deltas, decision (scale / iterate / hold / stop)
LearningA curated lesson with its evidence and scopeclassification (fact / rule / preference / hypothesis / market-supported), status (scoped or promoted)

The record spine: one concept, end to end (illustrative)

HRB-C-0412 v1  "Moringa iron for tired mornings"
  tags: moringa, demand-gen, angle:energy, hook:symptom
  posted to Slack (thread ref saved)
  Lorna: revise. "Lead with the 4.86-star proof,
    not the symptom" (reason: evidence-first)
  HRB-C-0412 v2  hook swapped to social proof
  Lorna: approve. Gate 1 passed
  HRB-V-0412-a/b  copy + image variants
    tags: photo:moringa-01, format:1080x1080
  Shaun: approve design. Kelly: sign-off
  EXP-031  "social-proof hook beats symptom
    hook on CTR", 14-day window, stop rule set
  platform IDs attached (campaign / ad)
  Result: hypothesis supported
  L-077 market-supported finding, promoted
    → next research packet starts smarter

How the system learns

  1. Capture continuously. Every interaction, idea, decision and result is written to the record as it happens, tagged and versioned.
  2. Curate weekly. The team reviews the week's feedback and results together; repeated corrections (say, Shaun fixing the same layout mistake twice) become candidate rules.
  3. Classify. Each candidate becomes a verified fact, a brand or compliance rule, a reviewer preference, a creative hypothesis, or a market-supported finding.
  4. Promote through the human gate. Only reviewed learnings update Herbie's approved guidance. Everything else stays scoped evidence.
  5. Version the guidance itself. Herbie's instructions are versioned too, so we can trace which guidance produced which ads, and measure whether changes actually helped.

Questions the dataset can answer

  • Which angles does Lorna approve first time, and which always need revision?
  • Which hooks actually win on Demand Gen, versus just looking good in review?
  • What does Shaun keep correcting, and has Herbie stopped making that mistake?
  • Are Herbie's performance hypotheses getting more accurate cycle over cycle?
Where the data lives, v1
  • Versioned Markdown and JSON records in pilots/<pilot-id>/ in this repo, keyed by stable IDs: human-readable, auditable, with git history as the version trail. One canonical record per product; links to assets, never copies.
  • An append-only event log per pilot captures every interaction, so nothing is lost even when records are summarised.
  • Slack thread references are stored on every record, so the original conversation is always findable.
  • A proper database (the intelligence warehouse) takes over only once the pilot proves the loop; the record structure above is designed to migrate cleanly.

System map

Connections and tools

Everything the system can (and cannot) reach today. Herbie runs as the default Hermes profile on the Herbie VPS (access details live in the private planning docs); the profile's own live connections are Telegram, Google Ads MCP and Merchant Center MCP. Other cards note where a connection actually lives (VPS, Matt's laptop, or both). Five specialist Hermes profiles exist but are dormant. A Hermes runtime guide is a planned docs/ deliverable so the team can reference exactly how the profile is configured. Verified read-only on 11 Aug 2026.

Google Ads MCP

LIVE

Live GAQL reporting on customer 8927521842, Keyword Planner, and mutate (human-in-the-loop only). On the laptop and the VPS.

⚠ Before autonomous research runs: whitelist read-only tools so Herbie cannot touch mutate. Keyword Planner ZA geo ID needs the 2710 fix.

Merchant Center MCP

LIVE

Six mc_* tools against merchant 708070064: products, statuses, issues, reports. Live since 15 Jul 2026.

Used for product truth, feed eligibility and the freshness gate.

Intelligence warehouse

LIVE

Supabase + dlt + dbt. Daily 05:04 VPS timer loads Google Ads, Merchant Center, Klaviyo, Takealot, GA4 and Search Console; 13 dbt models, 6 tests green on 5 Aug.

Dashboards: herbalist.catalystlabs.co.za/intel. A green timer does not prove every source ran; skipped sources do not fail the job.

Slack (Hermes)

NOT CONNECTED

The pilot's conversation surface for Gate 1. Main integration blocker.

Claude Tag (@Claude) is already active in The Herbalist Slack via their own org; Herbie must complement it, mirroring Claude Tag's etiquette (agent identity, threads, mention-triggered). Integration plan: docs/SLACK_INTEGRATION_PLAN.md. Server hardening is a precondition for widening access.

Shopify Admin (pipeline)

BLOCKED

Order-level ingestion into the warehouse is blocked: the app was created under the Catalyst Labs Shopify org instead of The Herbalist's.

The claude.ai Shopify connector works on the laptop (analytics, orders, products) as an interim read path.

Meta Ads

NOT CONNECTED

No access token yet; Matt needs Full Control granted by Kelly. Pipeline code exists in intelligence/pipelines/meta_ads.py.

Matt's direction: Google Ads creatives first, Meta next. Scope and timing beyond the pilot are not yet a recorded decision.

Telegram (Hermes)

LIVE

The only chat surface currently connected to Hermes. Good for Matt-only pilot testing before Slack.

Image generation

WORKING

OpenAI gpt-image-2 (images.edit) and Gemini via ad-generator/ scripts. 39 generated ads across 5 products to date.

Every generated image is checked by eye for label fidelity.

Ad viewer

UNVERIFIED

Next.js review canvas at localhost:3100 for browsing, comparing and editing generated ads.

ad-generator/viewer/ in the Growth Harness. Historical test records conflict (57% to 28/28 passing) and no fresh verification has been run.

Klaviyo

LIVE

Full order mirror since 2022, email flows, zero SMS. In the daily warehouse load; the MCP connector is laptop-side (claude.ai).

The Hermes VPS profile reaches Klaviyo data through the warehouse, not a direct MCP.

Loox reviews

MANUAL

6,511 reviews exported to CSV; extracted quote banks for 4 products. Mined via Python, not scraped.

loox-reviews-exports/ in the Growth Harness.

ClickUp

LIVE (laptop)

Team coordination: actionable items become ClickUp tasks assigned to Matt or Ismaeel.

Laptop-side connector, not wired to the Hermes profile. Workspace 90121423980, Digital Marketing → Projects.

Reference by link, never copy

Asset inventory that feeds Herbie

The Growth Harness repo (~/Projects/The Herbalist Growth Harness) stays the asset and implementation reference. This planning repo links to it. Counts verified 11 Aug 2026.

AssetLocation in the Growth HarnessState
Product + bundle cataloguereference/product-catalog.mdText from May 2026; verify price, stock and offers live before use
Product photosad-generator/assets/product-photos/20 files
Brand style referencesad-generator/assets/style-references/16 files
Competitor swipe filead-generator/assets/ad-inspiration/96 files, 6 deep brand profiles. The old competitors/ registry folder was created in a worktree and never merged; the swipe file is the working set.
Customer reviewsloox-reviews-exports/ + extracts/6,511 reviews; extracts for Ashwagandha, Lion's Mane, Moringa (389), Reset Bundle
Offer + ICP researchcopywriting/<product>/Complete for 4 of 22 products
Dedicated ad researchad-generator/research/<product>/Completed for Anti-Stress, Concentration and Lion's Mane
Generated ads to datead-generator/output/39 images across 5 products, 13 provenance sidecars
Saved GAQL queriesqueries/8 saved queries, each with a companion doc; the live account is the database
Meta Ad Library scraperad-generator/skills/scrape_competitor_ads.pyPlaywright-based, proven against Neutonic; static images only

First real cycle

The proposed pilot

PROPOSED · AWAITING MATT'S APPROVAL

Moringa × Google Demand Gen

Objective: find better creative angles for qualified traffic and sales. Window: last 30 days. Recommended by the 11 Aug 2026 live read-only test.

Moringa channelSpend (30d)Platform ROAS
Performance MaxR49,2462.28
Demand GenR2,3850.90
Branded ShoppingR1,2835.87

The sharp channel split makes Moringa a real diagnostic case rather than an invitation to invent five generic ideas. The weak Demand Gen result is the creative question to research; the split alone does not prove creative is the cause.

Why Moringa

  • Complete offer + ICP research (one of only four finished dossiers)
  • 389 extracted customer reviews (4.86 average, 99% verified)
  • Product photos and existing creative references available
  • In stock at R99.95 and R179.95; approved for Shopping, Demand Gen and Video
  • Meaningful live spend to learn from

Runner-up on research readiness: Lion's Mane (885-review corpus, full dossiers). Note its historical files contain medically sensitive customer language: evidence to review, never approved ad claims.

Next four moves once approved

  1. Restrict the default Herbie profile to read-only Google Ads tools.
  2. Add the research template and Moringa pilot files to this repo.
  3. Run Herbie's first complete research packet.
  4. Review that packet together before any ideas are generated.

Repository plan

This folder becomes the dedicated private GitHub repo, suggested name herbie-marketing-ai. The Growth Harness stays separate as the asset reference.

docs/            Plans, decisions, Hermes runtime guide, this blueprint
templates/       Research packet, concept card, decision record
pilots/          One folder per approved pilot
workflow-site/   The interactive process website
runtime/         Hermes workflow code, later
tests/           Safety and workflow tests

Cleanup first: flatten the nested workflow-site/.git (preserving its commit) and fix the broad build/ ignore rule before the first push.

People

The team Herbie works with

Roster confirmed by Matt on 12 Aug 2026. Every agent in this system must know who each person is, what they own, what to route to them, and how much detail they want. Everyone may talk to Herbie, but speaking, reviewing, approving and administering are different permissions.

Kelly Tarr

OWNER

Owner of The Herbalist. Signs off every creative before it goes live and stays updated on performance.

Route to Kelly: high-level summaries and sign-off requests only. Never bombard him with detail; he sees the important stuff, not the working.

Lorna Andrea De Reuck

CREATIVE STRATEGIST

Creative direction, copy and the ideas behind the ads. Herbie presents concepts to her before any ad is generated and consults her on new ideas.

Route to Lorna: concept cards (Gate 1), copy direction, angle and idea questions. She is the primary judge of ideas.

Shaun Dalziel

DESIGNER

Receives the designs on Slack and gives feedback on the design elements: what is good and what needs to change.

Route to Shaun: finished visuals (Gate 2). He guards brand accuracy. Product photos used in ads must be a true, undistorted reflection of the real product.

Nirvasha (Vasha)

CUSTOMER SUPPORT

Knows The Herbalist's customers better than anyone: sees every review and every message to the support WhatsApp.

Route to Vasha: creative-idea sense checks against real customers, pain points, customer language, what customers actually use products for, misconceptions, complaints and compliments.

Mellisa Mercuur

CONTENT CREATOR

Content creation.

Their place in the creative flow gets defined as video and organic content enter scope.

Ismaeel

DIGITAL MARKETING LEAD

Website, Google Ads and day-to-day digital marketing management.

Co-admin of this system with Matt.

Matt C

SYSTEM OWNER

Catalyst Labs. Strategy, Google Ads and AI direction; designs and operates this system.

Admin: controls sources, access, workflow rules and role assignment, together with Ismaeel.

Permission model

RoleWhoAuthority
System owner / adminMatt, with IsmaeelControls sources, access, workflow rules and role assignment
Final sign-offKellyApproves every creative before it goes live; receives high-level performance updates only
Creative / copy leadLornaApproves angles and concepts (Gate 1) and copy (Gate 2); consulted on ideas before production
Design reviewShaunReviews design execution, brand and product-photo accuracy (Gate 2)
Customer truthVashaConfirms product facts, misconceptions, complaints and customer language; consulted on creative ideas
Publisher / ad buyerTo be named (Matt or Ismaeel)Approves launch and controls spend (Gate 3)
HerbieAIReads approved sources, prepares work, asks questions, records feedback, revises drafts. Never publishes, never changes spend, never treats an emoji as approval, never turns one person's preference into a permanent rule without confirmation.

Rollout gates

Phases: unlock the next only when the current loop works

Phase 0Define the pilot

One product, one channel, one objective and window, one Slack channel, named reviewers, canonical sources and prohibited claims.

Phase 1Ideas and feedback

One research packet + five concept cards per working day. Structured Slack decisions, clean revision history, weekly quality review. Stops at approved concepts.

Phase 2Briefs and copy

Copy variants only from approved concepts. Tests accuracy, source traceability and revision fidelity. Direct-response principles, not imitations.

Phase 3Visual production

Image variants from approved briefs. Packaging, label, dosage and proportion checks. Final approval and publishing stay manual.

Phase 4Performance learning

Predefined experiments, platform ID linkage, readback verification, weekly curated lessons. Expand to another product or channel only after the loop is reliable.

Acceptance criteria for expanding beyond Phase 1

  • Every concept is traceable to current approved sources; facts, claims, prices and imagery are accurate.
  • The five concepts are genuinely different, and reviewers can decide on each one clearly.
  • Revisions make the requested change without unrelated drift; everything is auditable.
  • Human preferences remain separate from market evidence.
  • The team agrees the loop saves time and creates ideas worth developing.
  • Nothing is published and no money is spent without the named final approver.

What Matt still needs to decide

Open decisions and boundaries

CONFIRMEDDirection confirmed by Matt

  • Planning and process design come before implementation.
  • Herbie researches performance before deciding what to propose; product knowledge, customer language, competitor inspiration, photos and brand rules all matter.
  • Slack becomes the main team conversation surface; the copywriter, creative director, designers and customer-facing experts fill gaps and give feedback.
  • Five ideas per day, improved through recorded feedback and results.
  • Humans retain the decisions the AI cannot safely make; the process stays simple, efficient and made of clear small steps.
  • 12 Aug: the team roster and responsibilities (see The team). Kelly signs off every creative; Lorna judges ideas before production; Shaun reviews design and product accuracy; Vasha is the customer-truth source.
  • 12 Aug: this page is the canonical docs and source of truth for how the whole system works, for humans and agents. It stays a simple static HTML page for now, hosted at herbie.catalystlabs.co.za.
  • 12 Aug: everything is saved and tagged: every idea, every interaction, and all feedback tied to the exact work it was about (see Data, memory and learning).
  • 12 Aug: the Slack connection moves up the priority list. Hermes will work across the workspace in the style of Claude Tag: agent identity, threads, mention-triggered, deliberately non-intrusive.
  • 12 Aug: the system is named The Greenhouse. The name covers the creative asset generation flow specifically; the wider Herbie agent's other duties are separate and may get their own docs later.

PROPOSEDAwaiting Matt's confirmation (Codex, 10 Aug)

  • This repo as the thin canonical planning layer; the Growth Harness stays the asset reference.
  • Pilot = one product, one paid channel, one Slack channel; daily output = five concept cards; the pilot ends at approved concepts.
  • Publishing and spend stay manual; explicit review states (approve / revise / reject / question); separate speak / review / approve / admin permissions.
  • The source freshness gate, experiment plan + readback requirement, weekly learning curation and human promotion gate.
  • One orchestrated Herbie workflow rather than an agent per stage; VPS hardening before team access widens.

First decisions needed

  1. Which single product or campaign is the pilot? Moringa proposed
  2. Which channel and objective? Demand Gen proposed
  3. What exactly counts as one concept card?
  4. Who reviews concepts, copy, claims, visuals and final publishing? Lorna / Shaun / Kelly named publisher still open
  5. Which Slack channel hosts the pilot, and who may speak, review or approve?
  6. Where are the canonical product facts, approved claims, brand rules and photos?
  7. Which metrics and measurement window define success?
  8. Is five ideas every working day sustainable for reviewers, or should the trial run on selected days?
  9. Who owns the VPS hardening and source-control work before Slack rollout?

Explicitly out of scope for now

  • Autonomous publishing and automated budget changes
  • Unreviewed product or health claims
  • Copying competitor creative
  • Rebuilding the full Growth Harness, or cleaning and moving the shared repo
  • VPS hardening or deployment changes inside this planning work
  • Advertising Kratom products (permanent rule)

Before image generation unlocks

  • Required product-image accuracy checks
  • Allowed and prohibited health or product claims
  • Which original photos may be edited or composited
  • Visual formats and channels in scope
  • Who owns final brand and product approval

Before performance learning unlocks

  • How a concept ID is carried into the advertising platform
  • Minimum spend, reach or time before judging a result
  • Which outcomes count as market evidence
  • When a finding becomes a reusable rule
  • How conflicting human feedback and market evidence are resolved