Loop HUX-L6 · Marketing — Huxberry.com · reports to Sherif

The first approved edit any loop makes to an ad account.

Weekly: takes the watchdog's list of search queries that spent money and produced zero sales, shows Sherif the evidence, and — on his Approve — adds them as exclusions, so we permanently stop paying for searches that never buy.

Built — awaiting credentialsWave 4🕐 Weekly⚙️ Script, write unlocked later
Part 1 — the plain-english view

Our whole portfolio is read-only. This is the one, carefully chosen exception.

What it watches
  • The ads watchdog's weekly zero-conversion search terms — e.g. any query over AED 100 spend with no sales in 30 days
  • Its own track record: the write stays locked until the watchdog's audits have matched Sherif's judgment for 4 straight weeks
When & how it speaks

Weekly exclusion list with spend evidence per query. On Approve — and only then — the exclusions are applied via the API.

Why it exists

The graduation doctrine says writes unlock smallest-blast-radius first. This is the smallest that exists in advertising: the worst case is that we stop paying for a junk search, and it's reversible in one click. Every other kind of ad edit stays human-only.

AED 100
spend with zero sales in 30 days — the bar a query must clear to be nominated
4 weeks
of the watchdog matching Sherif's judgment before the write unlocks
1 click
to reverse any exclusion — the whole reason this write goes first

Weekly

After L3's Monday ritual

👀

Reads L3's term list

Zero-conversion queries with spend evidence

📋

Builds the case

Per-query spend, clicks, zero results

Sherif approves

Batch-by-batch, never automatic

🧹

Applies exclusions

Via the API — the one sanctioned edit

What it will never doNever touches bids, budgets, audiences, or live ads. Approval stays batch-by-batch — it never runs on its own, even after graduating.
Where it stands today · July 2026Built and fixture-proven; the write is deliberately unimplemented. The evidence pipeline works end-to-end against synthetic data; the API write gets built only when the four-week unlock condition is met — a deliberate ordering, so trust is earned before capability exists.
Part 2 — under the hood

How it's wired: systems, models, and the path a number takes.

For implementers and the technically curious. The full build sheet — verified queries, thresholds, and build notes — lives on the specs page.

ReadsL3 hand-off file
Zero-conversion terms + spend evidence
Stephux_l6_negkeys.py
Threshold filter + evidence case per query
DeliversExclusion proposal
Weekly list to Sherif
Human gateApprove / reject
Batch-by-batch, with the evidence in front of him
StepAPI write (locked)
Built only after the 4-week trust condition is met
System we read Automated step State / memory Human decision
SystemRole in this loop
Ads adapter layerads_common.pyOne shared, environment-gated adapter for Google and Meta data, used by all four ads loops. It has a fixture mode, so every threshold was provable with synthetic data before any credential existed.
Agent Vaultcredential storeWhere API keys live. Loops get read-only credentials from the vault; nothing is hardcoded in scripts.
Hermesagent runtime on our serverThe scheduler that wakes the loop up. Each loop is a cron job under a Hermes profile; the planned bizops profile will host the business digests (IT loops run under vpsops).
Healthcheckshealthchecks.huxapps.comThe dead-man's switch. The loop pings it only after a clean run — if the loop dies or errors, the ping stops and Healthchecks raises the alarm independently. This is how 'never silent' is enforced by machinery, not promises.
Email renderer + gwsrender_email.pyAll digests pass through one shared renderer: Huxberry-branded HTML, tables for repeated rows, a coral 'needs your response' box when the loop has questions, and an arrow link on every record. Sent from the loops mailbox via the Google Workspace CLI.
Google Ads APIthe gated writeNegative-keyword additions only — the narrowest write the platform offers, unlocked by trust, reversible in one click.
Model / brainWhat it does here
None at run timedeterministic scriptA normal cycle is a plain Python script — no AI tokens are spent unless a diagnosis or judgment step is actually needed. AI wrote the script; the script does the rounds.
GPT-5.5 via Codexthe bulk-work modelWrote and maintains the mechanical parts — SQL, diffing, digest assembly. Effectively free on our existing subscription, so routine cycles cost almost nothing.
Claude Opusthe judgment modelReviews alert wording, thresholds, and anything a human will read and act on. Post-Fable, Opus owns everything that ships.
State & memory

Approved/rejected history per query — rejections teach the thresholds; approved exclusions never re-nominate.

Delivery

Weekly evidence list; a confirmation note after an approved batch is applied.

Safety rails

The write does not exist in code yet — that's the safety rail. When built: scoped to negative keywords, per-batch approval forever, full audit trail of who approved what.

Before it can run for real
  • HUX-L3 live and matching Sherif's judgment for 4 consecutive weeks
  • Then, and only then: build the scoped write
Full build sheet →