Twenty-six branded proof types. Compose once.
Studio, library, schedules, public share tokens. A type is a lens over the same findings. Diagnose once in Radar, then reprint cheaply.
Prove
Studio, library, schedules, public share tokens. A credibility gate refuses bare dollars.
Studio, library, schedules, public share tokens. A type is a lens over the same findings. Diagnose once in Radar, then reprint cheaply.
Printable money needs assumptions and a disposition. A finding without evidence or confidence degrades to a could-not-verify note.
An opaque /r/ token opens the live web report. Clerk is not their door. Revoke lives in the library.
Branded reports are client-facing proof artifacts Atlas composes from Radar findings and the shared detector cache, wearing your identity, refusing bare dollars, and opening on a public token if you share one. The buyer is the marketer. The shop on the cover is your customer. Atlas does not mail them unless Relay-shaped send is allowed.
M05 is the artifact factory. It does not own detectors. It does not own dollar models. It owns types, branding, render, delivery, tracking, and schedules. A report type is a lens: a subset of families, a section list, a scorecard, a narrative voice, an optional freeFixActionId.
The universal anatomy is cover, headline, executive summary, findings, competitive comparison when data exists, timing, AI visibility when a sample exists, one free fix when an honest asset exists, roadmap, methodology, branded CTA. Sections collapse when a fetch failed. Partial failure ships a labeled hole, not a broken PDF.
If you only needed rank PDFs, BrightLocal already does that job. If you needed a leave-behind that points at a DEMO, you are in the right factory. The report is the door. The page Forge builds is the product. Eight focused lenses plus a 360 plus money packs plus twelve vertical packs is how the registry reaches twenty-six. Count the codes if you doubt the headline. Do not count themes as types.
Powered by stays off by default. The marketer owns the cover, footer, and CTA. v1 white-label is the artifact, not a resold platform. Sub-accounts you resell as your own SaaS are not a v1 product.
Twenty-six report types compose from the same findings because the registry is a list of lenses, not twenty-six crawlers. Focused codes include gbp, reviews, seo, website, citations, aeo, ada, competitive, servicegap, facebook. Composite is 360. Money and regulatory include funding, watchtower, martech. Vertical packs cover restaurant, contractor, dental and medical, law, med spa, auto, real estate, fitness, property, cleaning, landscaping, pest.
Database codes win over spec nicknames. website is the CWV lens. citations is NAP. 360 is the opportunity memo. Renaming a seeded primary key would orphan rows. The catalog UI shows labels. The row stores the code.
Presets bundle types: First-Touch, Website Health, AI-Search, Door-Opener, Monthly Client Pack. Vertical smart-default highlights a pack when the scope is all dental or all roofing. Adding a type is a plugin file plus a registry line. Surfaces update without edits.
Competitive and AEO lenses still obey honesty. No rival table if Radar omitted competitors. No 0 of 5 if the renderer refused. Funding stays labeled estimates. ADA cites public figures and still is not legal advice.
Entitlement keys can grey a card. This site will not invent which plan unlocks which lens. You cannot delete a core type. You can disable it for the workspace. Locked types grey out with Upgrade. Configure defaults sets depth, theme, language, and which honest free object to embed.
The credibility gate refuses a bare dollar by branding PrintableMoney and AdmittedFindings with module-private symbols whose only producers are reportMoney and admit. Templates cannot print a raw number they found on a row. Render rebuilds candidates and runs them through the same gate, so a stored snapshot you edited in a database still dies if it lacks assumptions.
A finding with no evidence and no confidence degrades to an R9 could-not-verify note rather than vanishing. Dropping it would imply the other checks came back clean. Coverage belongs on the page. Unverified belongs on the page. Lies of omission are still lies.
Tests that only assert refusals can pass against a reader that returns null for everything. The suite also needs the case that must succeed. If you ever see every dollar dashed, look at the reader before you look at the marketer.
Internal revenue bands never print. Health stays Healthy, Watch, or At-risk on other surfaces. DEV and FEE do not get to merge on a cover. Modeled versus observed is a printed tag, not a footnote you hope they skip.
The One Free Fix section actually embeds, when Atlas can be honest, a schema.org LocalBusiness JSON-LD block built from the business's own stored fields, with absent properties left absent. The owner pastes it into a head. It works. It invents nothing. url only if the stored website already parses as absolute http or https. aggregateRating only if rating and count both exist.
Deliberately not generated as R7 prose: llms.txt with a guessed page list, robots.txt with a guessed sitemap, privacy policy copy, review responses. Those put words in your mouth or break crawling. They are Forge jobs with a human in the loop.
The envelope stores the asset itself, not a URL that dies on a PDF in two years. HTML-sensitive characters are escaped so a shop named with a script tag cannot break the block. Market the DEMO when the finding needs a site, a number, or a collect page. Market this block when the finding is missing machine-readable identity.
Spec language that said already-built functional asset still holds as a bar. The honest v1 object is small. Pretending R7 spins a Lovable site is how you get a magic button you cannot demo. This site will not do that.
Compose-first keeps a 360 cheap after Radar by reading structured findings and re-rendering them through the lens. Step one spends nothing material when the diagnostic already covers the families. Narrative tokens and render remain. New scans are the expensive path and stay scoped to the type.
Cache-first scan-fallback runs only the type's families on the tenant's keys. A CWV report should not light hiring adapters. Missing key omits that family with a labeled gap. The report still ships.
Batch budget guards stop a Studio run from eating the month. Compose-ready prioritized so you see covers while slower rows crawl. Meter report_generated with type, depth, composed or scanned. This site still will not print a credit price.
Diagnose once, then spin 360, website, aeo, and a vertical pack for the cost of words. That is the structural reason volume can be generous where a peer meters every PDF as a fresh audit.
A public token reaches a prospect without a login because the live web report is an unauthenticated surface on /r/ plus an opaque token, and the proxy matcher has to know that. The page was right once while auth still redirected. The matcher is part of the module.
You copy the link, attach it in Relay, or put it on a booking page. They open. Views write report_views. You see the timeline. They never see internal notes, health internals, or your costs. Portal rules are cousins: plain language, one business, no kitchen.
PDF is a second output from the same section model. If a deployment has no browser for print, the route should 501 and point at the print view, never an empty file, never a 500 that looks like success. Dark theme flooding a print sheet was a real bug. Body has to reset for paper.
Revoke from the library when the deal dies or the token leaked. Regenerating mints a new door. Old links should fail closed.
Schedules are for after they become a client, when Steward has a record and you are paid to show movement. Monthly Client Pack on managed dental rows is the example. Recipients can be you, them, or both. Verified domain still applies if email is the channel.
Each run is a new version with parent_report_id. Compare versions diffs lens score, headline, and findings. That is Watchtower carried into paper. If the underlying watch or diagnostic is stale, the delta is stale. Timestamps should say so.
Auto-send to consented managed clients can be allowed in Autonomous mode under guardrails. First-touch cold reports still draft for approval. The four locks still hold. No review-gating language in a reputation report. No cold voice. No cold SMS.
Empty schedule state can offer a one-click monthly pack for managed clients. Failed runs flag a reason. Bounces suppress. Do not keep mailing a dead address because the cadence is proud.
The first mistake is sending a 360 with no DEMO and calling it sample-first. The report is proof. The live link is the subject. Atlas without Forge is a prettier audit.
The second mistake is stuffing internal bands onto the cover because the headline felt shy. The gate should stop you. If you bypass with a screenshot of Radar, you did the harm yourself.
The third mistake is generating twenty-six types on one plumber because the catalog was a grid. Pick a pack. Door-Opener or First-Touch. The owner will not read a stack.
The fourth mistake is a share link that requires Clerk. Test it logged out. If you land on login, stop sending the URL. The prospect will never have an org. A fifth mistake is Full depth on a hundred-row batch. Lite or Standard, then Full on the three you will attend. A sixth is email-to-client while the domain is unverified. Copy the token.
Atlas composes once and Relay can attach the link because attach_to_outreach is a first-class delivery choice in Studio and a tool on the agent. The signature play is I built you a report, here it is, and the DEMO is two lines later. Sequences still stop on reply.
Chat examples that should work: generate SEO and GBP for this campaign, Nexurn brand, email me the links. Make a 360 for this plumber and attach it. Schedule the monthly pack for managed dental, draft for approval. Which prospects opened this week. Those sentences route to Atlas tools, then to you.
Memory should recall this tenant's default brand, depth, and last send so you do not duplicate. If memory is thin, the library still has versions. Believe the row.
Get started if you want into the next batch. Bring a diagnostic you would stand behind. The form will not invent a per-report price, and the catalog will not invent a certification badge to dress the footer. Compose-first still wants a Radar row you would sign. Without that row, Studio will scan, and you should read the estimate. Ask Atlas which prospects opened this week and you should get a ranked list with deep links. An empty list means nobody opened.
Public share tokens are the leave-behind when email-to-client is not live yet. Copy the /r/ link. The token is the artifact. Revoke it from the library when the pitch is dead. A scheduled pack that regenerates still writes a new version. Check the library row before you quote an open count from memory. Last month's token is last month's file. A credibility gate still refuses a dollar figure with no assumption line attached. Bare money does not print, even if the owner asked for a bigger number.
You need a scope with at least one business, at least one type, and a branding profile before the first Studio batch. Generate stays disabled until those are true. Ad-hoc URL should resolve to a businesses row. If the row has no diagnostic, the banner should say the run will scan and spend.
Connect keys for families the type needs. A GBP lens without a listing source is a labeled gap. An AEO lens without a probe key is unknown, not a fake 0 of 5. Other types in the same batch can still finish.
Depth is Lite, Standard, or Full, independent of type. Lite is scores and tags. Standard is full findings and a short narrative. Full is memo voice, and competitor pack only if that data exists. Do not pick Full on a hundred rows because the word sounded like quality.
Language flows into R2 and R8 and into a string table for labels. Evidence stays language-neutral. Default language comes from the profile. Override per run if you sell in Spanish on Tuesdays. Five languages exist in the i18n table. Do not invent a sixth on a call.
Delivery choices: generate only, email me the links, email to client, attach to outreach, schedule recurring. Email to client still needs a verified domain and a mailer that actually transmits. If the mailer is not live, copy the token. Do not tell the UI you sent.
Vertical packs change the memo without a new crawler by selecting lenses plus vertical findings the taxonomy already knows. Restaurant adds inspection history, menu consistency, inaccessible PDF menus. Dental adds recall and no-show leakage and NPPES-style provider gaps. Contractor adds permit opportunity, license drift, financing absence.
Those findings still come from detectors. The pack is a thin definition: cover intro, default types, vertical benchmarks. No new template tree. If a vertical signal is coming-soon, the pack should not print it as absent. Unknown stays unknown.
Smart-default in Studio highlights the pack when the scope is homogeneous. A mixed list of dentists and roofers should not pretend they share a pack. Split the batch. The owner reads one vertical voice.
Money packs stay humble. Funding and Incentive Eligibility is a pre-screen. Never a guaranteed amount. Never tax advice. Regulatory Watchtower packages drift you already stored. MarTech names missing ESP or an outdated builder. Overlay widgets are risk.
Peers miss service-gap and sampled AEO because they lack the taxonomy and the probe store. That is sales ammo on a catalog card. It is not a reason to lie about a competitor table we omitted. Quote what the registry actually emits.
Catalog cards show detector families, sections, estimated credits, and a plan badge. Locked types grey out with Upgrade. This site will not name the plan. Configure defaults sets depth, theme, language, and which honest free object to embed. You cannot delete a core type. You can disable it for the workspace.
New types wear a ribbon for a few days. Preview sample is a canned artifact, not a live customer. Do not screenshot the sample and call it traction. Engagement columns in the library are live rows you actually sent.
Compare versions is how a schedule earns a retainer. Score plus six, headline down, one new lapse. If both versions composed from the same stale diagnostic, the delta is theater. Re-scan or re-watch first.
Failed competitor fetch or missing probe frame collapses that section to a labeled could-not-retrieve note. The rest of the report still ships. Graceful degradation is a PRD rule, not a pretty spinner.
You do not crawl again for each of the 26 report types. Compose-first reads an existing diagnostic or cache. A 360 over a fresh Radar run should spend narrative tokens and render, not a second Deep. A type is a lens over the same findings.
Cache-first scan-fallback runs only the type's families on the tenant's keys. A CWV report should not light hiring adapters. Missing key omits that family with a labeled gap. The report still ships.
Generate enqueues one report per business times type. Compose-ready rows finish first. Scan rows show detector progress. Partial failure does not block the batch. Batch budget guards stop a Studio run from eating the month.
Diagnose once, then spin 360, website, aeo, and a vertical pack for the cost of words. That is the structural reason volume can be generous where a peer meters every PDF as a fresh audit. This site still will not print a credit price.
A dollar printed as a dash because the credibility gate refused it. Missing assumptions, a zero band, or a hand-edited figure without a disposition cannot become PrintableMoney. Templates cannot print a raw number they found on a row.
Render rebuilds candidates and runs them through the same gate, so a stored snapshot you edited in a database still dies if it lacks assumptions. Internal revenue bands never print. Modeled versus observed is a printed tag, not a footnote you hope they skip.
A finding with no evidence and no confidence degrades to an R9 could-not-verify note rather than vanishing. Dropping it would imply the other checks came back clean. Coverage belongs on the page. Unverified belongs on the page.
DEV and FEE do not get to merge on a cover. Health stays Healthy, Watch, or At-risk on other surfaces. If you ever see every dollar dashed, look at the reader before you look at the marketer. Tests that only assert refusals can pass against a reader that returns null for everything.
The owner can open a report without a Clerk login on /r/ plus an opaque token, if that path is public in the proxy. If they hit a Clerk wall, the door is miswired. The matcher is part of the module.
You copy the link, attach it in Relay, or put it on a booking page. They open. Views write report_views. You see the timeline. They never see internal notes, health internals, or your costs. Portal rules are cousins: plain language, one business, no kitchen.
Revoke from the library when the deal dies or the token leaked. Regenerating mints a new door. Old links should fail closed. Engagement is the column a static PDF cannot have. Opens feed Pulse.
PDF is a second output from the same section model. If a deployment has no browser for print, the route should 501 and point at the print view, never an empty file, never a 500 that looks like success. Body has to reset for paper.
If Forge has no site yet, One Free Fix embeds a pasteable schema.org LocalBusiness JSON-LD block built from the business's own stored fields, with absent properties left absent. The owner pastes it into a head. It invents nothing.
url only if the stored website already parses as absolute http or https. aggregateRating only if rating and count both exist. HTML-sensitive characters are escaped so a shop named with a script tag cannot break the block.
Deliberately not generated as R7 prose: llms.txt with a guessed page list, robots.txt with a guessed sitemap, privacy policy copy, review responses. Those put words in your mouth or break crawling. They are Forge jobs with a human in the loop.
A working site or voice DEMO is Forge, linked, not promised as a magic R7 button. Market the DEMO when the finding needs a site, a number, or a collect page. Market this block when the finding is missing machine-readable identity.
You should schedule a pack after they become a client, when Steward has a record and you are paid to show movement. First-touch 360 is a leave-behind for a shop you have not closed. Monthly Client Pack on managed dental rows is the example.
Each run is a new version with parent_report_id. Compare versions diffs lens score, headline, and findings. That is Watchtower carried into paper. If the underlying watch or diagnostic is stale, the delta is stale. Timestamps should say so.
Auto-send to consented managed clients can be allowed in Autonomous mode under guardrails. First-touch cold reports still draft for approval. The four locks still hold. No review-gating language. No cold voice. No cold SMS.
Recipients can be you, them, or both. Verified domain still applies if email is the channel. Failed runs flag a reason. Bounces suppress. Do not keep mailing a dead address because the cadence is proud.
If the mailer is not live when you choose email to client, copy the token. Do not tell the UI you sent. Delivery choices include generate only, email me the links, email to client, attach to outreach, and schedule recurring. Email to client still needs a verified domain and a mailer that actually transmits.
Public share tokens are the leave-behind when email-to-client is not live yet. The token is the artifact. The owner opens /r/ without Clerk. Revoke it from the library when the pitch is dead.
Attach to outreach is a first-class delivery choice. The signature play is I built you a report, here it is, and the DEMO is two lines later. Sequences still stop on reply. Relay still passes ComplianceGate.
Ask Atlas which prospects opened this week and you should get a ranked list with deep links. An empty list means nobody opened. Check the library row before you quote an open count from memory. Last month's token is last month's file.
No. Compose-first reads an existing diagnostic or cache. A 360 over a fresh Radar run should spend narrative tokens and render, not a second Deep.
The credibility gate refused it. Missing assumptions, a zero band, or a hand-edited figure without a disposition cannot become PrintableMoney.
What Atlas can honestly emit today is a pasteable schema block with no invented fields. A working site or voice DEMO is Forge, linked, not promised as a magic R7 button.
Yes, on /r/ plus a token, if that path is public in the proxy. If they hit a Clerk wall, the door is miswired.
The registry lists them. Entitlement keys can grey a card. This site will not invent which plan unlocks which lens.
Compose and render can be autonomous-safe. Send is approval-gated in Supervised mode and still needs a verified domain and a live mailer. Overnight dispatch is not claimed as a production habit.
Library can re-render selected rows under a new profile. Stored versions stay unless you regenerate. Schedules use the profile id you saved on the schedule.
Tell us your vertical, your metro, and what you can fulfill. Supervised is the default. Plans start at $99/mo.
14-day trial. Card required, converts on day 15. Full table on /pricing.