Show HN: Omni Verify, my AI agent can't post until Kane checks every promise A solo developer released Omni Verify, a tool that blocks an AI marketing agent from publishing to Threads until Kane CLI verifies every promise in a draft against the live product in a real browser. The tool caught a link-tagging error on scribo.cc in which every App Store button overwrote the campaign tag with ct=site-en-hero, which would have credited Threads installs to the website and led the agent to stop posting there; Kane flagged it as FAIL (KR-63) and the rebuilt link passed as KR-68. One real post has published through the gate, @scribo.voca/post/De4-yPnATF5 from campaign c-2026-10-24T19-41-41Z, unlocked only after Re-verify KR-85 passed for version a9480fade25c1e68. The problem: 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. Who: solo founders who let an AI agent write and post their marketing, and judge what works from tracking tags. When it breaks: - At publish time, the link lies. Every App Store button on my app's site, scribo.cc, overwrites the campaign tag with ct=site-en-hero . 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. - After every release, the product moves on. 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 and may leave. The fix: the agent drafts a post and turns every promise in it into a check. Kane CLI checks each one in a real browser before the post ships the link's tag, every sentence against the page, every promised feature , and again after every release Re-verify for campaigns, Audit past posts for old posts . Failed promises are repaired from what Kane saw. Only a campaign that passes can publish. Proof: - A real post went out through the gate: @scribo.voca/post/De4-yPnATF5 https://www.threads.com/@scribo.voca/post/De4-yPnATF5 . The button unlocked only because Re-verify KR-85 passed that exact version a9480fade25c1e68 . - The link lie, caught: Kane read ct=site-en-hero on the button, FAIL KR-63 . The agent rebuilt the link from the URL Kane saw, PASS KR-68 . The same in all five full loops. - The kanehack recorder logged KR-46 Kane-designed tests, 2/2 , KR-77 and KR-85 Re-verify as PASSED VERIFIED source . Every run is in RUNS.md https://github.com/DainoJung/omni-verify/blob/main/RUNS.md . - Supporting example: feature claims on TestMu AI's free JSON tool. I seeded a false "convert JSON to YAML" claim to show the repair: FAIL KR-100 , the agent swapped in Minify, PASS KR-102 . Before my agent learns from a post, Kane proves the funnel tells the truth. bun install && bun run dev open http://localhost:3000 PORT=3001 bun run dev for another port You need: - .env with OPENAI API KEY and OPENAI MODEL I use gpt-5.4-mini , picked by timing the models this key can list . - kane-cli 0.10.0-rc.3 signed in, and kanehack paired. Every Kane call goes through kanehack report -- kane-cli … . - Optional, once per app: bun run explore https://your.app maps the site with Kane Explore into explore/