Skip to main content
August 2026

Site Readiness, rebuilt around the pages and fixes that matter

This release turns Site Readiness into a technical SEO workspace for understanding how search systems discover, access, render, and index your site. It also adds geographic AI visibility, live prompt-run results, per-run scope, and bulk prompt imports.

New

A new Site Readiness Mission Control. New Site Readiness runs replace the single overall score with a clearer view of your site’s actual condition: which pages are search-ready, at risk, blocked, or not yet checked; which important pages need attention; how much of the site was measured; and what changed since the previous compatible run.The search-system view follows the journey a page takes through Discover, Fetch, Render, Index, Experience, and Appear. Missing evidence stays visibly unknown instead of being counted as a pass.A prioritized technical SEO worklist. Repeated page-level problems are grouped into root causes, so a template problem affecting 200 pages appears as one piece of work instead of 200 disconnected warnings. Each item explains what OpenLens observed, why it matters, which pages are affected, and what to do next.Evidence-backed fix packages. For supported issues, OpenLens can produce a copy-ready fix or a bounded engineering brief for the exact page, group of pages, template, or site file you select. Every package includes the proposed change, expected result, verification steps, rollback guidance, and the evidence used to create it.OpenLens does not silently edit your site or claim that copying a fix solved the problem. After you make the change, run a targeted recheck to see whether the original condition is fixed or still detected.A visual map of your site. The new Site Graph shows the internal links OpenLens actually observed. Explore how pages connect, find isolated or weakly linked areas, filter by page condition, and move from a page directly into its findings and fixes. A searchable page inventory provides the same evidence without requiring the visual graph.Per-run scope. Choose the exact prompts and available platforms for an individual manual run without changing the project’s saved configuration. The temporary selection applies only to that run, while project defaults and scheduled runs remain unchanged. This makes it easy to run focused investigations or compare different configurations back to back without repeatedly editing project settings.Geographic AI visibility. Agency teams can run prompts across multiple selected countries and compare visibility, sentiment, brand performance, and competitor performance by market. Each run preserves its exact geographic scope, and reports include the country breakdown alongside a compact world map.Bulk prompt imports. Add up to 50 prompts at a time from pasted content or uploaded CSV, JSON, JSONL, Markdown, and text files. Review and edit the extracted prompts, assign their topics, and resolve duplicates before anything is saved.

Improved

Site Readiness runs are durable and resumable. Large scans now save their progress page by page. If a run is interrupted, OpenLens can continue the same run from its last completed checkpoint instead of repeating finished work or losing the evidence already collected.Active scans show their current stage, elapsed progress, page coverage, and partial results as they arrive. You can cancel a run without discarding completed evidence, and unused reserved page allowance is returned automatically.Google performance evidence now lives with Site Readiness. Connect Search Console and GA4 to prioritize technical findings using search exposure and AI-referral activity. Each run keeps its own aggregate snapshot, so reopening an older run shows the evidence available at that time rather than replacing it with today’s data.Traffic data is used for prioritization, not as proof that a technical issue caused a ranking or traffic change.Visibility results appear while a run is still active. Open an exact prompt run and watch its dashboard fill in as platform responses arrive. The page stays clearly marked as running, never mixes in results from a previous run, and transitions in place when the run finishes.Larger multi-market runs use your available credits. We removed the old 750-execution limit. A run that fits within your organization’s available monthly credits is no longer blocked by an additional arbitrary per-run ceiling.Clearer handling of historical Site Readiness reports. Existing score-based reports remain available as Legacy reports. New runs use the evidence-based Mission Control model, so historical results stay readable without being presented as directly comparable to the new assessment.Better detection of background problems. OpenLens now records structured operational signals when onboarding jobs, Site Readiness, Content Audit, billing, authentication, caching, or model fallbacks degrade behind the scenes. This gives the team a faster path from a partial or unexpected result to its underlying cause.

Fixed

Duplicate topic names fail gracefully. Adding an existing topic, or receiving the same topic twice in one request, no longer produces a generic server failure. OpenLens distinguishes newly created topics from duplicates and only generates prompts for topics that were actually added.

For API and MCP users

Country context is preserved throughout prompt runs. Country-aware runs retain the requested and effective market context with their response evidence, allowing integrations to distinguish results from different markets without mixing run scope.Safer topic creation. Topic creation through REST and MCP now deduplicates repeated names and handles concurrent attempts without surfacing a user-facing database error.

Questions?

If a Site Readiness result looks wrong, a market is unavailable for a platform, or an import does not parse as expected, email contact@aibread.com and we’ll sort it out.
August 2026

Connected community access, historical run data, and smoother workflows

This release makes community connection available from the app, improves several core workflows, and gives API and MCP users better access to historical run data.

New

Connect Discord from your account settings. Teams can now link a Discord account from OpenLens, join the community flow, and keep their connection visible from the Connections page. The connection can also be removed from the same settings area.Historical run access for API and MCP users. API and MCP workflows can now request supported historical run data by run ID, instead of only reading the latest run. This makes it easier to build repeatable reports, revisit prior analyses, and compare results over time.

Improved

Content Audit active runs are lighter. Active Content Audit pages now poll with smaller payloads, so long-running audits stay responsive while they update.Search & Traffic setup points to the right place. Setup actions now take you directly to the Google integrations area, with clearer focus on the connection step.Invitation and role management is clearer. Invitation flows now explain when you are signed in with the wrong account, and organization owner-role changes are guarded so admins cannot accidentally grant owner access where an existing owner is required.Privacy policy data protection details. The privacy policy now includes a clearer data protection section for connected account review and verification flows.

For API and MCP users

Run-specific reads. Supported REST and MCP run reads now accept a run identifier so agents and integrations can request a specific historical run. Missing or invalid run identifiers return safe errors instead of falling back to ambiguous data.

Questions?

Something not working the way you expect? Email contact@aibread.com.
July 2026

A cleaner OpenLens workspace, richer run history, and new ways to earn credits

This release refreshes the OpenLens app shell so navigation, settings, project context, and audit workflows feel more consistent across the product. It also makes past work easier to revisit: prompt runs, Site Readiness, AI Indexing, and Content Audit now share clearer history views with names, statuses, filters, and direct report actions where available.

New

A refreshed OpenLens workspace. The dashboard, sidebar, settings, account menu, and project navigation have been redesigned around a more consistent app structure. It is easier to move between organization settings, project settings, audit tools, and run history without losing context.Run history across the product. Prompt Runs, Site Readiness, AI Indexing, and Content Audit now use richer history tables with clearer names, statuses, timestamps, sorting, filtering, and pagination. Open a past run to review its results, copy its ID, rename it for your team, or download a report when your plan includes that export.Earn Free Credits. Eligible teams can now earn extra OpenLens credits from inside the app by joining the OpenLens community, following launch channels, and inviting teammates. Progress is tracked in the app so you can see what is complete and what remains.Join the OpenLens community on Discord. The app now links to the current OpenLens Discord community from the Free Credits experience, giving teams a direct place to follow updates and get help.

Improved

Cleaner settings and billing language. Plan, billing, usage, and pricing copy now consistently uses credits terminology, so app limits, plan pages, docs, and MCP-facing messages all describe the same unit.More predictable project context. Site Readiness, AI Indexing, and Content Audit now follow the project in the URL more consistently. Refreshing, sharing, or switching between audit pages is less likely to restore stale project context.Better Site Readiness and AI Indexing controls. Run controls, page selectors, cooldown messages, loading states, and disabled states are clearer and more consistent. Site Readiness and AI Indexing now keep separate cooldowns, so starting one does not unnecessarily block the other.Smoother organization and invite flows. Organization creation, switching, invite acceptance, and post-auth routing have been tightened so users land in the right place more reliably after sign-up, organization selection, or invitation acceptance.More resilient run and report behavior. Cancelled prompt runs now stay marked as cancelled, report download actions show steadier feedback, and run rows are less likely to surprise you with stale or ambiguous status.

For API and MCP users

Credit-limit language is clearer. MCP-facing limit and usage messages now use the same credits terminology as the app and docs, making allowance and run-cost messages easier to understand.

Questions?

Something not working the way you expect? Email contact@aibread.com.
July 2026

An AI agent inside OpenLens, plus your Google data alongside AI visibility

The headline this release is a built-in AI agent that works inside your project. It also brings Google Search Console and Analytics data next to your AI visibility, and makes onboarding and the dashboard smoother.

New

An AI agent inside OpenLens. Open the agent from any project and ask about your AI visibility in plain language. It can look across your prompts, brands, and runs, pull together an answer, and build finished documents for you as PDF, Word, or PowerPoint. When a request is ambiguous it asks a quick clarifying question instead of guessing, you can redirect it while it works, and it checks in before making changes to your project. Anything it produces is yours to download.Connect Google Search Console and Google Analytics. Link your Google accounts to see classic-search clicks, impressions, and average position next to your AI visibility, plus how much traffic AI assistants are sending your way. You connect once for your organization, and each project picks which properties to use. This context sits alongside AI visibility; it doesn’t change how visibility is scored.

Improved

Onboarding remembers where you left off. Starting your first analysis now saves as it runs, so a refresh or a closed tab picks up your results instead of dropping you back at an empty form.A faster dashboard. Pages after sign-in load and switch more quickly and smoothly, especially when moving between projects.

For API and MCP users

Search the docs from your tools. New MCP tools let an assistant search the OpenLens documentation and pull the recommended steps for common tasks, so it can answer setup questions without leaving your workflow.

Questions?

Something not working the way you expect? Email contact@aibread.com.
July 2026

Sturdier runs and honest refunds

No big new surface this time. v1.4.0 is a consolidation release: fixes and improvements that make runs finish reliably and keep billing honest.

Fixed

Stalled scheduled runs recover on their own. A scheduled visibility run that got stuck used to sit “running” forever and quietly block new runs for that project. Stuck runs are now detected and restarted automatically.Scheduled runs are never blocked by manual-run limits. Guards built to stop rapid manual clicking no longer apply to your schedule, so two projects due in the same window both run.Canceling an AI Indexing run refunds what it should. Cancel before pages start checking and the full reservation comes back. Cancel mid-run and the dialog shows exactly how many pages are billable and how many return to your allowance. Canceling twice can no longer refund twice.One run of a kind at a time. Starting the same check twice on one project now brings the second attempt to the already-active run instead of creating a duplicate. This is enforced at the database level, so it holds even under simultaneous clicks.Readiness keeps your www pages on apex domains. If your site redirects example.com to www.example.com, page discovery now keeps all your sitemap URLs instead of dropping them.Failed AI Indexing pages show as failed. Individual page failures can no longer stall a run or hide in the report.The billing page no longer flickers on first load. A mismatch between the server-drawn and browser-drawn page forced a visible re-render for some users. Both now draw the same page.

Improved

AI Indexing reports are shareable links. Every run has a stable URL you can reload, bookmark, or paste to a teammate. Reports stay sign-in protected: someone else’s run link shows “not available,” never your data.Delete topics and brands without losing history. Deleting now hides the item from management and future runs while keeping every past report intact, and you can re-add the same name later.A clearer plan comparison. The pricing and billing pages share one rebuilt plan table that reads correctly in both light and dark mode.Visibility report PDFs show progress. A generating state replaces the silent wait.

For API and MCP users

Batch writes. The MCP write tools now accept batches, so an agent can set up prompts, topics, and competitors in a few calls instead of dozens.
Breaking MCP tool renames. Batch-capable write tools were renamed to plural forms and now take arrays: add_competitoradd_competitors, delete_topicdelete_topics, and so on. If you call these tools directly, update your integration before your next run. The MCP tools reference lists the current names.
A video walkthrough of the MCP server. The MCP docs page now embeds a short Loom showing setup end to end.

Questions?

If a refund looks wrong or a run misbehaves, email contact@aibread.com and we’ll sort it out.
June 2026

AI Index Coverage, Content Audit, and a cleaner MCP surface

Two new tools answer the questions agencies keep asking: which of my pages do AI platforms actually know about, and what should I fix first to get cited. The MCP server also gets a safety and naming cleanup.

New

AI Index Coverage. Point a run at your site and see, page by page, whether ChatGPT, Claude, and Gemini have your content indexed. Every page gets a clear verdict: indexed, not indexed, or unknown. It lives on its own page in the dashboard, next to Site Readiness. We validated the checks against a hand-labeled dataset, so verdicts are measured, not guessed. When we mark a page indexed on ChatGPT or Claude, we only count pages the assistant actually cited or returned, so those verdicts are highly accurate. Gemini is a lower-confidence signal, since it can occasionally surface a URL it reconstructed rather than one it retrieved, and we are actively tightening it. A run also harvests the citations it already collected and uses them to confirm pages other checks missed, which recovers real coverage at no extra cost. Free includes a monthly page allowance so you can try it on a real site; paid plans raise the cap and unlock full per-page detail.Content Audit. Audit your whole site for how well each page can be cited by AI, then work a prioritized list instead of a wall of data. Each page gets a citation-potential score. You get an ordered worklist of what to fix first, an impact-versus-effort view, and a side-by-side of the current text against a stronger version you can copy. A cross-reference helper points you at a page you already wrote that does the weak part well, so you can mirror it. Free orgs see every page’s score and the worklist; full fix detail, rewrites, and PDF export are on Starter and Agency. Monthly page allowances are 30 on Free, 1,000 per paid seat on Starter, and 10,000 per paid seat on Agency.

Improved

Larger page allowances on multi-seat plans. AI Indexing and Readiness page allowances now scale with the number of paid seats in your organization, so larger teams get proportionally more room without changing plans.More accurate AI Indexing on Free. The citation cross-check that upgrades a “not indexed” page to “indexed” now runs for everyone, including Free, so free runs report the same corrected coverage paid runs do.

For API and MCP users

Breaking MCP tool renames. If you call these tools directly, update your integration before your next run.
  • manage_schedule is replaced by get_schedule (read) and update_schedules (write).
Read and write are now separate, and every tool says which it is. No tool both reads and writes anymore, and each one carries a hint marking it read-only or as making changes. Compatible MCP clients can run reads without a per-call confirmation and prompt before anything that modifies or deletes. Tools that consume your plan’s allowance now say so in their description.New MCP tools. Agents can drive the two new features end to end:
  • run_ai_index_coverage, get_ai_index_coverage_run, list_ai_index_coverage_runs
  • run_content_audit, get_content_audit_status, get_content_audit_results, list_content_audits
  • Site Readiness is now MCP-callable too: run_readiness_check, get_readiness_run, list_readiness_runs.

Questions?

If a verdict looks wrong, a limit doesn’t fit how you work, or a renamed tool is blocking you, email contact@aibread.com and we’ll sort it out.
June 2026

Site & Agent Readiness

Readiness is a new product surface that audits your own site instead of measuring what AI platforms say about you. It crawls a project’s site, scores how discoverable and retrievable it is to AI agents and crawlers, and tells you exactly what to fix. It lives at Readiness in the dashboard, alongside your visibility view.

New

Readiness runs and a score out of 100. Point a run at your site and get an overall readiness score with a verdict, broken down across six categories: Discoverability, Content Accessibility, Bot Access Control, Protocol Discovery, Agentic Commerce, and Agentic Browsing. Every check is marked pass, warn, or fail, and carries the issuing authority and maturity behind the standard it tests (Sitemaps.org, IETF, Cloudflare, Google, Schema.org, and more). Results stream in live as the run crawls, check by check.Run history. Every run is saved per project. Reopen any prior run in full detail to see how the site has changed.Tiered scope and a monthly page allowance. Two levers control how much a run crawls: a per-run page cap and a calendar-month pooled page allowance. A run that exceeds your balance is clamped to what’s left, not blocked. Lighthouse sampling stays small and flat, so larger crawls never slow runs down. See limits and allowances for the per-plan numbers.A real taste on Free. Free orgs run a full scan, see the overall score and every check’s status, and get full detail on the first two flagged checks. Upgrade for full detail on every check.Scheduled runs. Starter schedules weekly or monthly; Agency adds daily. A schedule fires automatically so your score keeps tracking your site.PDF export, branding, and share links. Download any run as a PDF, plain or branded with your logo and brand color, with standards-credibility marks. Agency plans can publish a public, revocable share link to a run.Agent Journey waitlist. Join the waitlist for Agent Journey from the Readiness surface.

Questions?

If something looks wrong or a limit doesn’t fit how you work, email contact@aibread.com and we’ll sort it out.
June 2026

A small signup addition, and reliability work behind the scenes

Most of this release was internal plumbing to make the product more reliable. One change is visible when you sign up.

New

“Where did you find us?” on sign-up. New accounts can tell us how they found OpenLens. It’s optional and takes one click. It helps us learn which channels bring in the people who get the most out of the product.

Improved

Steadier behind the scenes. We tightened how account and subscription changes flow through our systems and moved tracing onto a faster pipeline, so fewer things slip through the cracks. Nothing in your dashboard changes.

Questions?

Email contact@aibread.com any time.
June 2026

Teams, plans, and your full platform coverage

This release turns OpenLens into a multi-seat product. You can now bring your whole team and your clients into one workspace, pick a plan that fits how you work, and track every major AI platform, including Grok, which is back. Existing accounts keep their current limits as a permanent floor, so nothing you rely on today gets smaller.

New

Organizations, seats, and client logins. Your workspace is now an organization you can invite people into.
  • Roles that match how agencies work. Owners and admins manage the account; members do the work; clients get a read-only login to see only their own projects.
  • Seats only count editors. Viewers and client logins are free and unlimited. You pay for the people who actually run and edit work, not for everyone you want to show a dashboard to.
  • Invite teammates and clients from your organization settings, and move a teammate’s project access around without removing and re-adding them.
Starter and Agency plans. Two paid plans, each with a 7-day free trial and a 15% discount if you pay annually. See plans and pricing for what each tier includes.
  • Starter is for a single brand or a small team: up to 5 projects, with weekly tracking across the core platforms.
  • Agency is for running many clients: unlimited projects and seats, daily tracking, and Claude and Grok included.
  • Every plan includes the REST API, the MCP server, prompt attributes, full docs, and a public status page.
  • Read the full announcement in Introducing Starter and Agency.
A Usage page. A single place to see your plan, your seats, and how much of your monthly output allowance you’ve used, so there are no surprises.Grok is back, and Claude is included on Agency. We restored Grok coverage through a direct API integration, with citations, and Agency plans now include both Claude and Grok alongside ChatGPT, Perplexity, Google AI Overview, Gemini, and DeepSeek.

Improved

Existing accounts are protected. Every account that existed before this launch keeps its current limits as a floor, permanently. The new plan limits never claw back what you already had. If you were tracking more than the new defaults allow, you keep what you were using.A more reliable sign-in. We fixed several sign-in and sign-up issues, including a hang on the sign-up button in some browsers, accounts with two-factor authentication, and Google sign-up not always carrying you through to the app.A refreshed dashboard. The interface got a research-grade visual refresh, a new logo, and a faster, denser dashboard.A public status page. Check live platform health any time at openlens.com/status.

For API and MCP users

No breaking changes. No endpoints or MCP tools were renamed or removed, and existing API keys keep working. Two things are new:
  • Organization-scoped API keys and MCP. You can now issue keys at the organization level, and MCP sessions see the projects in your active organization. Your existing personal keys continue to work unchanged.
  • Per-plan usage on API and MCP. API and MCP calls are now metered against your plan. Each plan includes a monthly allowance; once you pass it, calls return a clear message with an upgrade prompt instead of failing silently.

Questions?

If a limit doesn’t fit how you work, or something looks wrong, email contact@aibread.com and we’ll sort it out.
June 1, 2026

Durable prompt runs and sharper brand detection

This release rebuilds the engine behind prompt runs so they survive restarts and deploys without dropping or duplicating prompts, sharpens how we detect your brand and competitors, and adds alias management to project settings.

New

Durable, crash-safe prompt runs. We rebuilt how a prompt run executes. Each run is now tracked task-by-task in the database rather than only in memory, so a run keeps a complete, accurate record of which prompts and platforms it covers even if the server restarts mid-run (which happens routinely on every deploy).
  • No more dropped or duplicated prompts. If a run is interrupted, it resumes from exactly where it left off instead of re-running work it already finished or silently skipping work it hadn’t reached.
  • Self-recovering runs. A run that gets stranded by a server restart is now detected and driven to completion on its own, instead of blocking that project’s future scheduled runs until someone notices. Scheduled reports are far less likely to show a gap.
Brand alias management. You can now edit the list of aliases for each brand directly from project settings. Trade names, initialisms, short forms. OpenLens uses that list when deciding whether a mention in an AI answer is really your brand (or a competitor), so keeping it accurate directly improves your numbers.

Improved

More accurate brand detection. Brand matching now records which alias triggered each mention, so a mention is tied to the exact name it matched on. That makes detection easier to audit and tightens the line between a real mention and a coincidental substring.Historical reports are not auto-corrected. They reflect the detection logic that was live when the run happened. Run a fresh scan if you want a project re-scored against the latest logic.More complete answer coverage.
  • Google AI Overview retries. When a search doesn’t surface an AI Overview on the first try, OpenLens now retries before recording it as absent, so transient misses don’t understate your visibility.
  • Consistent outcome recording. Answers from every platform now consistently record whether they returned content, so success and no-content cases are reported accurately across all platforms.

For API and MCP users

No breaking changes for API or MCP integrations in this release. No endpoints or MCP tools were renamed or removed, and no request or response shapes changed in a way that requires you to update an existing integration.

Known issues

Grok coverage is temporarily unavailable. Grok has moved its responses behind a paywall, which has taken our Grok scraper offline. Until we restore it, prompt runs with Grok enabled will complete every other platform normally but will not return Grok results. We’re actively working on a fix.
If Grok is a critical platform for your reporting, reach out and we’ll let you know as soon as coverage is back.

Questions?

If something broke, looks wrong, or you want a project re-scored against the latest brand-detection logic, email contact@aibread.com.
May 16, 2026

Prompt attributes and clearer naming

The last two releases (May 8 and May 16) shipped a new way to slice your data, more AI platforms behind the scenes, and a cleaner vocabulary throughout the product.

New

Prompt attributes. Tag every prompt with one or more attributes. Branded vs non-branded, language, or any custom label you define per project (intent, funnel stage, persona, region). Every dashboard, metric, and report can now be filtered by those tags, so you can answer questions like “how do we rank on non-branded prompts in Spanish?” in one click.
  • Manage attributes from the new Prompt Attributes section under project settings. Create, rename, and archive option lists per project.
  • Edit attributes in place on any prompt. Analytics recompute against the live label set, so re-tagging is instant.
  • Auto-tagging on new prompts. When OpenLens generates prompts during onboarding, it now also assigns attributes automatically using Claude Sonnet 4.6.
  • Live filter preview. The attribute filter shows which prompts will be included while you build the filter, before you apply it.
Grok and Gemini coverage. OpenLens now scans Grok and Gemini alongside ChatGPT, Perplexity, Google AI Overview, Claude, and DeepSeek. New projects can enable either one from the platform picker; existing projects can turn them on from project settings.Public docs. We launched public documentation, including the MCP server setup guide and the REST API reference. The original URL openlens.com/docs 301-redirects here.

Improved

Clearer terminology. We renamed two long-standing concepts so the product matches how agencies actually talk about the work:
  • Keywords are now topics. A topic is the underlying buyer-intent theme; the prompts under it are the actual questions sent to AI platforms.
  • Queries are now prompts, and a query run is now a prompt run.
All dashboards, settings, navigation, and exports use the new names. Old URLs continue to redirect.More accurate brand detection. We rewrote the brand-matching logic to cut both false positives (mentions of unrelated brands that happened to share a substring) and missed short forms (initialisms and trade names). Brands now carry an explicit alias list you can edit from project settings.Historical reports are not auto-corrected. They reflect the detection logic that was live when the run happened. If you want a project re-scored against the new logic, run a fresh scan or contact us.

For API and MCP users

Breaking changes. The terminology rename and the new attributes system change a handful of endpoints and MCP tools. If you build on the API or have an agent connected via MCP, please update before your next scheduled run.
REST API renames.
  • /api/queries/run, /api/queries/status, and /api/queries/results are replaced by /api/prompts/run, /api/prompts/status, and /api/prompts/results.
  • The onboarding confirm payload accepts topicList in place of keywordList. The legacy field is still accepted during the transition.
MCP tool renames.
  • run_queries becomes run_prompts
  • get_query_results becomes get_prompt_results
  • add_keyword becomes add_topics, and the rest of the query_* and keyword_* tool surface follows the same rename.
  • add_prompt now requires a non-empty attributes array. The simplest valid value is ["branded"] or ["non-branded"]. You can also pass any custom attribute already defined on the project.
New MCP tools. Agents can now manage prompt attributes end-to-end:
  • list_prompt_attributes, add_prompt_attributes, archive_prompt_attributes, unarchive_prompt_attributes
PostHog event renames. If you mirror OpenLens analytics into your own warehouse: event names query_run_* are now prompt_run_*, and keyword_* events are now topic_*. Every event also stamps a form_factor property (web, api, mcp, or cron) so you can split usage by surface.

Questions?

If something broke, looks wrong, or you want a project re-scored against the new brand-detection logic, email contact@aibread.com.