Ad Spy
Lab notebook · Jev over public ad libraries · TypeSafe System One
Classification Lab: pick a niche pack from 285+ Meta Ads Library–shaped cards, then read typed statuses — primary hook, angle, risk posture, ordinal pack score, and a keeper noul — plus a short receipt that the run stayed typed. Not freestyle creative generation. Not a swipe-file SaaS.
ad-spyads-libraryjevhitlfactories
Hypothesis
We test Ad Spy as a classification harness: TypeSafe Jev (System One primitives — choice, score, noul) assigns typed labels over public-shaped ad cards without generating free text — the same contract Merge Graph uses for PR classify.
Product success is honest typed statuses + a readable receipt. Guardrail success underneath is stayed typed — no off-catalog labels, confidence visible, HITL when the human should stop. Success is not creative win-rate, not scraping live libraries, and not claiming live ads_archive tonight.
Null we reject: free-text “strategist remix” as the product; swipe-file SaaS framing; inventing live API access that the public libraries do not offer.
Method
- Default niche is Wellness · B2C mobile (meditation, sleep, habits, fitness, mental health apps). Gallery also keeps AI tools · B2B SaaS · DTC. Brands in fixtures are fictional (Still Harbor, Habit Grove, Forge AI, …).
- Search, select up to sixty cards (batched). Classify selection with Jev. Live Meta cards post their payloads so classify works without fixture-only ids. Status panel (hero): Hook · Angle · Risk · Score · Keeper noul. Evidence chips are supporting counts — not generated prose.
- Primitives mirror System One:
choice(label + probs + confidence),score(ordinal),noul(P(true)). Engine never invents marketing copy. Server route keepsTYPESAFE_API_KEYoff the client. - HITL: Approve · Reject · Hold on the typed panel. Local state only. No ads network write.
- Honesty: Meta-only. Live ads_archive when META_ACCESS_TOKEN is set; fixtures until then. Google removed. Simulated Laya was the retired MVP stand-in before Jev.
Why this Lab
Official ad libraries expose public creative shapes — they are not built as an operator classification desk. Ad Spy puts Meta Ads Library cards on paper (live when tokenized; fixtures until then), then asks TypeSafe Jev for typed statuses.
Jev (System One)
Merge Graph : PR classify :: Ad Spy : ad classify. Both use TypeSafe Jev — choice (label + probs + confidence), ordinal score, and noul P(true). Never generates marketing copy. Simulated Laya was the retired MVP stand-in.
Meta library
Meta Ads Library only — Google Transparency removed. Live ads_archive when META_ACCESS_TOKEN is set on the server; fictional wellness fixtures until then. Gradient placeholders, no scrapers, token never reaches the client.
HITL
Approve · Reject · Hold are dispositions on the typed panel. Stopping is part of the method. Local state only — nothing posts to an ads API.
Niche pack
Meditation, sleep, habits, fitness, and mental-health consumer apps — mobile-first Meta creative shapes.
Library
Meta Ads LibraryFixturesLoading Meta ads…
Showing 0 of 0 (page size 36)
0 selected · ~0 Jev calls · fixtures · no ads network write
Status panel
Select ads, then classify with Jev. Output is typed only — choice / score / noul — never free-text generation. HITL Approve · Reject · Hold stays local.
Observation
Same niche pack, different selections — different typed status stories. Live fixture runs print hook / angle / risk / score / noul plus receipt fields (engine: jev, latency, usage, stayed_typed).
Scores are Lab claims about cards under Jev System One — schema ≠ Meta auction ground truth.
Why this shape
Statuses are the product; the gallery is the evidence. Meta Ads Library honesty (live vs fixtures chip), visible confidence, and HITL dispositions let you inspect how the Lab labeled the pack — the same spine as Merge Graph + Jev.
Lab footnotes
Schema ≠ truth.
High confidence is still a typed choice inside the fixture map. Labels are Lab claims about demo cards, not Meta auction ground truth.
What this is / isn’t.
Is: playable Meta Ads Library classification Lab; wellness B2C mobile default; live token path + fixtures; Jev typed statuses; HITL Approve/Reject/Hold; public-shaped demo data at catalog scale. Isn’t: free-text creative generator; swipe-file SaaS; live scraper; missing Meta token (fixtures until set); trademarked brand asset reuse.
Related
Model: Jev (typesafe / System One)