Showcase / Made at Kane CLI Hack Day
Validation harness
Omni Verify
Kane CLI checks every promise in an AI-written post before it ships and after every release. Failed promises are repaired from what Kane saw; only passing posts publish.
Omni Verify makes Kane CLI check every promise in an AI-written post, before the post ships and again after every release. Failed promises are repaired from what Kane saw. Only campaigns that pass can publish. It caught two real drifts on my own app, Scribo. I didn't plant either. - The link lies (at publish time). E…
1 builder credited · submitted Oct 24, 5:21 PM PDT
Kane · proof view
- Agent drafts post + checks
- Kane checks in real Chrome (--agent)
- Code judges Kane's stored values
- Agent repairs, Kane re-checks
- Publish gate (PASS + human confirm)
- Re-verify and audit after release
- threads-link-excludes-the-site-en-hero-campaign-token_test.mdVerified · passed
- Scroll down through the whole page once, to the bottom. Then, for each text below, check whether it appears anywhere on the page and store the answer, true or false, without searching further: store whether the text "videos, articles and PDFs" appears as 'claim_1'; store whether the text "rewrites them for the learner you are today" appears as 'claim_2'. Then scroll back to the top of the page. Find the main call to action that sends the user to the App Store. Before clicking it, read the full hSuspected · errored
- c-2026-10-24T19-41-41Z-a2_test.mdVerified · passed
- Check one promise about this page: Convert JSON to YAML for a ready-to-use config snippet. First, look on this page for a control labeled or clearly meaning "Json Prettify", and store whether it exists, true or false, as {{action_available}}. Only if it exists, do this: Type {"a":1} into Enter Value, then click Json Prettify. Finally, store the full text of the result area as {{observed_result}} (store none if nothing changed), and store whether the Output box shows the content reformatted as YASuspected · errored
- a-2026-10-24T20-46-49Z-en_test.md
Product
Validation harness
loom.com
Harness
6 Kane parts
kane-cli run --agent (headless Chrome) · kane-cli testrun (_test.md replay, Re-verify) · NDJSON output (run_end verdict, stored values)
Evidence
5 runs
3 verified · 2 detected
Repo
414c939
github.com/DainoJung/omni-verify
01 / The creation
What it is, and why.
Marketing promises and the real product drift apart silently. AI growth agents make it worse: they write promises at scale, and they learn from the numbers those promises produce. A wrong number teaches the agent the wrong lesson. Who it's for: solo founders who let an AI agent write and post their marketing, and judge what works from tracking tags.
Omni Verify makes Kane CLI check every promise in an AI-written post, before the post ships and again after every release. Failed promises are repaired from what Kane saw. Only campaigns that pass can publish. It caught two real drifts on my own app, Scribo. I didn't plant either. - The link lies (at publish time). Every App Store button on scribo.cc overwrites the campaign tag with ct=site-en-hero, so every install from my Threads posts would have been credited to the website. No error, just a wrong number, and my agent would have concluded Threads doesn't work and stopped posting there. I haven't checked App Store Connect numbers; this is what the tags say would happen. - The product moves on (after every release). Scribo 2.0 (October 1) turned a handwriting vocabulary app into a content learning app. Old @scribo.voca posts still promise a handwriting vocabulary notebook and keep bringing people in, who then find a different product. A real post went out through the gate: Publish to Threads unlocked only because Re-verify KR-85 passed that exact version, and then it still needed a human confirm. Promises Kane failed are saved as retired in memory/product-facts.json, and the agent refuses any draft that uses them. Before my agent learns from a post, Kane proves the funnel tells the truth. AI can write the promise. Kane checks if the product keeps it. What's next: run the audit automatically on every release, follow the user into the app on the iOS Simulator to check the paywall matches the post, and ship this as the launch gate inside Omni, my growth agent.
- 01The OpenAI agent (gpt-5.4-mini) drafts a post from the app's real page and a Kane Explore map of the site, and turns every promise into a check: the link's campaign tag, every sentence against the page, every promised feature.
- 02
02 / The harness
How Kane checks it.
The OpenAI agent (gpt-5.4-mini) drafts a post from the app's real page and a Kane Explore map, and turns every promise into a check. Kane CLI runs headless with --agent in real Chrome and stores what it sees; my code judges those values. On FAIL the agent repairs the promise from what Kane saw and Kane checks again. Publish stays locked until Kane's latest result passed that exact version. After a release, Re-verify replays Kane's recording with kane-cli testrun, and Audit past posts checks old posts against today's site.
- kane-cli run --agent (headless Chrome)
- kane-cli testrun (_test.md replay, Re-verify)
- NDJSON output (run_end verdict, stored values)
- explore run (site map of scribo.cc)
- context ingest (campaign as spec)
- design tests (assurance loop)
- 01Agent drafts post + checks
- 02Kane checks in real Chrome (--agent)
- 03Code judges Kane's stored values
03 / Evidence
What actually ran.
Verified means a passing run reported through a paired, verified channel. A failing run is a detection, not a confirmed bug. Everything else is as the team reported it.
- Verified · passedOct 24, 12:17 PM PDT
threads-link-excludes-the-site-en-hero-campaign-token_test.md
kanehack_cli · ddc6cf8b-8681-42fe-a096-50dd18400af8 · exit 0 · 414c939
- Suspected · erroredOct 24, 12:27 PM PDT
Scroll down through the whole page once, to the bottom. Then, for each text below, check whether it appears anywhere on the page and store the answer, true or false, without searching further: store whether the text "videos, articles and PDFs" appears as 'claim_1'; store whether the text "rewrites them for the learner you are today" appears as 'claim_2'. Then scroll back to the top of the page. Find the main call to action that sends the user to the App Store. Before clicking it, read the full h
kanehack_cli · kanehack-8bf47308-6a71-4dc9-a6b5-8f72c82b5bc1 · exit 0 · 14b13e9
04 / Outcome
What changed.
No measured outcomes were claimed.
Known limitations
- Checks stop at the App Store page; they don't follow the user into the app.
- A PASS means the promises are true when the post ships. It doesn't mean installs went up.
- A sentence is backed by a phrase Kane finds on the page, which can cover only part of a long sentence.
- Kane gave one false negative on visible text ("Try Pro free for 7 days" is on the page). Asking for true or false per phrase fixed it.
- The event recorder logs kane-cli 0.10.0-rc.3 runs as ERRORED even when Kane passed (help ticket H-0007). Kane's own status is in RUNS.md.
05 / Ship it forward
The code. The proof.
The story.
- Dain Jung@daino0416