[{"data":1,"prerenderedAt":824},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Fdocs\u002Ffindings\u002Ffindings-reference":213},[4],{"title":5,"path":6,"stem":7,"children":8,"page":30},"Docs","\u002Fdocs","docs",[9,31,56,98,118,138,163],{"title":10,"description":11,"group":11,"path":12,"stem":13,"children":14,"page":30},"Getting started",null,"\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",[15,20,25],{"title":16,"path":17,"stem":18,"description":19,"group":11},"Overview","\u002Fdocs\u002Fgetting-started\u002Foverview","docs\u002F1.getting-started\u002F1.overview","What Shruwd does and what you get out of it.",{"title":21,"path":22,"stem":23,"description":24,"group":11},"Quickstart","\u002Fdocs\u002Fgetting-started\u002Fquickstart","docs\u002F1.getting-started\u002F2.quickstart","From an empty account to your first measurement.",{"title":26,"path":27,"stem":28,"description":29,"group":11},"Reading your results","\u002Fdocs\u002Fgetting-started\u002Freading-your-results","docs\u002F1.getting-started\u002F3.reading-your-results","What the four numbers mean, and when to trust them.",false,{"title":32,"description":11,"group":11,"path":33,"stem":34,"children":35,"page":30},"What you track","\u002Fdocs\u002Ftracking","docs\u002F2.tracking",[36,41,46,51],{"title":37,"path":38,"stem":39,"description":40,"group":11},"Brands","\u002Fdocs\u002Ftracking\u002Fbrands","docs\u002F2.tracking\u002F1.brands","Add, rename and archive the brands you measure.",{"title":42,"path":43,"stem":44,"description":45,"group":11},"Prompts","\u002Fdocs\u002Ftracking\u002Fprompts","docs\u002F2.tracking\u002F2.prompts","Choose and manage the questions Shruwd asks each engine.",{"title":47,"path":48,"stem":49,"description":50,"group":11},"Competitors","\u002Fdocs\u002Ftracking\u002Fcompetitors","docs\u002F2.tracking\u002F3.competitors","Track the brands you are compared against, and how they are matched.",{"title":52,"path":53,"stem":54,"description":55,"group":11},"Connecting Search Console","\u002Fdocs\u002Ftracking\u002Fconnecting-search-console","docs\u002F2.tracking\u002F4.connecting-search-console","Add per-page search demand so two diagnostics can run.",{"title":57,"description":11,"group":11,"path":58,"stem":59,"children":60,"page":30},"Crawler logs","\u002Fdocs\u002Fcrawler-logs","docs\u002F3.crawler-logs",[61,66,72,77,82,87,93],{"title":62,"path":63,"stem":64,"description":65,"group":11},"Choosing a log path","\u002Fdocs\u002Fcrawler-logs\u002Fchoosing-a-log-path","docs\u002F3.crawler-logs\u002F1.choosing-a-log-path","Pick the way of sending crawler logs that matches your hosting.",{"title":67,"path":68,"stem":69,"description":70,"group":71},"Platform log drains","\u002Fdocs\u002Fcrawler-logs\u002Fplatform-log-drains","docs\u002F3.crawler-logs\u002F2.platform-log-drains","Send logs from Vercel, Netlify, Fly and similar. No code.","Setup guides",{"title":73,"path":74,"stem":75,"description":76,"group":71},"Cloudflare Worker","\u002Fdocs\u002Fcrawler-logs\u002Fcloudflare-worker","docs\u002F3.crawler-logs\u002F3.cloudflare-worker","Forward crawler hits from behind Cloudflare, on any plan.",{"title":78,"path":79,"stem":80,"description":81,"group":71},"Cloudflare Logpush","\u002Fdocs\u002Fcrawler-logs\u002Fcloudflare-logpush","docs\u002F3.crawler-logs\u002F4.cloudflare-logpush","Send zone request logs straight to Shruwd. Enterprise zones, no code.",{"title":83,"path":84,"stem":85,"description":86,"group":71},"Server middleware","\u002Fdocs\u002Fcrawler-logs\u002Fserver-middleware","docs\u002F3.crawler-logs\u002F5.server-middleware","Forward crawler hits from a Nuxt or Nitro origin. Last resort.",{"title":88,"path":89,"stem":90,"description":91,"group":92},"Crawlers tracked","\u002Fdocs\u002Fcrawler-logs\u002Fcrawlers-tracked","docs\u002F3.crawler-logs\u002F6.crawlers-tracked","Which bots Shruwd recognises, and how a hit is verified.","Reference",{"title":94,"path":95,"stem":96,"description":97,"group":92},"Ingest not arriving","\u002Fdocs\u002Fcrawler-logs\u002Fingest-not-arriving","docs\u002F3.crawler-logs\u002F7.ingest-not-arriving","Diagnose a log drain that is not delivering.",{"title":99,"description":11,"group":11,"path":100,"stem":101,"children":102,"page":30},"Findings and fixes","\u002Fdocs\u002Ffindings","docs\u002F4.findings",[103,108,113],{"title":104,"path":105,"stem":106,"description":107,"group":11},"How findings work","\u002Fdocs\u002Ffindings\u002Fhow-findings-work","docs\u002F4.findings\u002F1.how-findings-work","What a finding is, how much to trust it, and how to prove your fix worked.",{"title":109,"path":110,"stem":111,"description":112,"group":11},"Rechecks","\u002Fdocs\u002Ffindings\u002Frechecks","docs\u002F4.findings\u002F2.rechecks","How Shruwd proves whether your fix moved the number.",{"title":114,"path":115,"stem":116,"description":117,"group":11},"Findings reference","\u002Fdocs\u002Ffindings\u002Ffindings-reference","docs\u002F4.findings\u002F3.findings-reference","Every diagnostic Shruwd runs, what triggers it and what to do.",{"title":119,"description":11,"group":11,"path":120,"stem":121,"children":122,"page":30},"Metrics","\u002Fdocs\u002Fmetrics","docs\u002F5.metrics",[123,128,133],{"title":124,"path":125,"stem":126,"description":127,"group":11},"Metric definitions","\u002Fdocs\u002Fmetrics\u002Fmetric-definitions","docs\u002F5.metrics\u002F1.metric-definitions","Exactly what each number counts, and when it is undefined.",{"title":129,"path":130,"stem":131,"description":132,"group":11},"Confidence and sample size","\u002Fdocs\u002Fmetrics\u002Fconfidence-and-sample-size","docs\u002F5.metrics\u002F2.confidence-and-sample-size","Why every number has a range, and why some are withheld.",{"title":134,"path":135,"stem":136,"description":137,"group":11},"When a number has moved","\u002Fdocs\u002Fmetrics\u002Fwhen-a-number-has-moved","docs\u002F5.metrics\u002F3.when-a-number-has-moved","The rule Shruwd uses before calling a change real.",{"title":139,"description":11,"group":11,"path":140,"stem":141,"children":142,"page":30},"Account","\u002Fdocs\u002Faccount","docs\u002F6.account",[143,148,153,158],{"title":144,"path":145,"stem":146,"description":147,"group":11},"Plans and limits","\u002Fdocs\u002Faccount\u002Fplans-and-limits","docs\u002F6.account\u002F1.plans-and-limits","What each plan includes and what happens when you reach a limit.",{"title":149,"path":150,"stem":151,"description":152,"group":11},"Team and roles","\u002Fdocs\u002Faccount\u002Fteam-and-roles","docs\u002F6.account\u002F2.team-and-roles","Invite people, set what they can change, and remove access.",{"title":154,"path":155,"stem":156,"description":157,"group":11},"Billing","\u002Fdocs\u002Faccount\u002Fbilling","docs\u002F6.account\u002F3.billing","Change plan, read your usage, and handle a failed payment.",{"title":159,"path":160,"stem":161,"description":162,"group":11},"Email notifications","\u002Fdocs\u002Faccount\u002Femail-notifications","docs\u002F6.account\u002F4.email-notifications","What Shruwd emails you, and how to turn it off.",{"title":164,"description":11,"group":11,"path":165,"stem":166,"children":167,"page":30},"Build on Shruwd","\u002Fdocs\u002Fapi","docs\u002F7.api",[168,173,178,182,187,192,197,203,208],{"title":169,"path":170,"stem":171,"description":172,"group":11},"API overview","\u002Fdocs\u002Fapi\u002Fapi-overview","docs\u002F7.api\u002F1.api-overview","Authentication, errors, limits and the rules every endpoint follows.",{"title":37,"path":174,"stem":175,"description":176,"group":177},"\u002Fdocs\u002Fapi\u002Fbrands","docs\u002F7.api\u002F2.brands","Create, read, rename and archive brands over the API.","Endpoints",{"title":42,"path":179,"stem":180,"description":181,"group":177},"\u002Fdocs\u002Fapi\u002Fprompts","docs\u002F7.api\u002F3.prompts","Add, edit and retire the questions asked every cycle.",{"title":183,"path":184,"stem":185,"description":186,"group":177},"Entities","\u002Fdocs\u002Fapi\u002Fentities","docs\u002F7.api\u002F4.entities","Manage the brand and its competitors, and the aliases that count.",{"title":188,"path":189,"stem":190,"description":191,"group":177},"Measurement","\u002Fdocs\u002Fapi\u002Fmeasurement","docs\u002F7.api\u002F5.measurement","Run cycles and read visibility, crawlers and individual answers.",{"title":193,"path":194,"stem":195,"description":196,"group":177},"Findings","\u002Fdocs\u002Fapi\u002Ffindings","docs\u002F7.api\u002F6.findings","Read diagnosed findings and move them through their lifecycle.",{"title":198,"path":199,"stem":200,"description":201,"group":202},"TypeScript SDK","\u002Fdocs\u002Fapi\u002Ftypescript-sdk","docs\u002F7.api\u002F7.typescript-sdk","A typed client for the Shruwd API.","Clients and agents",{"title":204,"path":205,"stem":206,"description":207,"group":202},"MCP server","\u002Fdocs\u002Fapi\u002Fmcp-server","docs\u002F7.api\u002F8.mcp-server","Give Claude or Cursor tools to run Shruwd.",{"title":209,"path":210,"stem":211,"description":212,"group":202},"For AI agents","\u002Fdocs\u002Fapi\u002Ffor-ai-agents","docs\u002F7.api\u002F9.for-ai-agents","Machine-readable versions of everything here.",{"id":214,"title":114,"body":215,"description":818,"extension":819,"group":11,"meta":820,"navigation":821,"path":115,"section":99,"seo":822,"stem":116,"__hash__":823},"docs\u002Fdocs\u002F4.findings\u002F3.findings-reference.md",{"type":216,"value":217,"toc":792},"minimark",[218,222,230,235,247,297,301,304,310,313,317,320,394,397,400,403,408,417,443,449,455,468,472,479,485,490,495,506,511,515,524,529,534,539,543,551,560,570,579,581,584,587,591,598,601,606,611,614,618,625,630,635,639,646,651,656,659,663,670,675,680,686,688,691,697,701,709,714,719,722,726,733,738,743,747,754,759,764,767,769,773],[219,220,114],"h1",{"id":221},"findings-reference",[223,224,225,226,229],"p",{},"Every diagnostic Shruwd runs. For how findings behave — states, confidence, rechecks —\nsee ",[227,228,104],"a",{"href":105},".",[231,232,234],"h2",{"id":233},"reading-an-entry","Reading an entry",[223,236,237,238,242,243,246],{},"Each rule carries a ",[239,240,241],"strong",{},"confidence"," and a ",[239,244,245],{},"severity",", and both change how you should\ntreat it.",[248,249,250,262],"table",{},[251,252,253],"thead",{},[254,255,256,260],"tr",{},[257,258,259],"th",{},"Confidence",[257,261],{},[263,264,265,277,287],"tbody",{},[254,266,267,274],{},[268,269,270],"td",{},[271,272,273],"code",{},"observed",[268,275,276],{},"A first-party fact, from your own logs or a live fetch",[254,278,279,284],{},[268,280,281],{},[271,282,283],{},"inferred",[268,285,286],{},"Not directly observed, but every link in the chain is in the evidence",[254,288,289,294],{},[268,290,291],{},[271,292,293],{},"heuristic",[268,295,296],{},"A correlation against the pages being cited. A lead, not a fact",[231,298,300],{"id":299},"which-findings-come-first","Which findings come first",[223,302,303],{},"Families are not equal, and one can make another pointless.",[223,305,306,309],{},[239,307,308],{},"An open access finding on a URL hides the structure and citation findings for that same\nURL."," Recommending schema markup on a page that returns 403 to an AI crawler wastes your\nafternoon — fix the access problem and the rest reappear, re-evaluated.",[223,311,312],{},"Findings are also capped at five new per brand per week. A list of forty gets nothing done.",[231,314,316],{"id":315},"where-each-family-applies","Where each family applies",[223,318,319],{},"Prompt intent decides which diagnostics run.",[248,321,322,345],{},[251,323,324],{},[254,325,326,329,333,336,339,342],{},[257,327,328],{},"Family",[257,330,332],{"align":331},"center","informational",[257,334,335],{"align":331},"comparison",[257,337,338],{"align":331},"commercial",[257,340,341],{"align":331},"navigational",[257,343,344],{"align":331},"problem",[263,346,347,363,379],{},[254,348,349,352,355,357,359,361],{},[268,350,351],{},"Access",[268,353,354],{"align":331},"✓",[268,356,354],{"align":331},[268,358,354],{"align":331},[268,360,354],{"align":331},[268,362,354],{"align":331},[254,364,365,368,370,372,374,377],{},[268,366,367],{},"Citation",[268,369,354],{"align":331},[268,371,354],{"align":331},[268,373,354],{"align":331},[268,375,376],{"align":331},"—",[268,378,354],{"align":331},[254,380,381,384,386,388,390,392],{},[268,382,383],{},"Structure",[268,385,354],{"align":331},[268,387,354],{"align":331},[268,389,354],{"align":331},[268,391,376],{"align":331},[268,393,354],{"align":331},[395,396],"hr",{},[231,398,351],{"id":399},"access",[223,401,402],{},"Whether AI crawlers can reach your pages at all. The highest-confidence family — the\ninputs are your own logs and live fetches, with no inference. Checked every day, on every\nplan.",[404,405,407],"h3",{"id":406},"robotstxt-blocks-an-ai-crawler","robots.txt blocks an AI crawler",[223,409,410,413,414],{},[271,411,412],{},"ACCESS_ROBOTS_BLOCK"," · observed · ",[239,415,416],{},"critical",[223,418,419,422,423,426,427,430,431,434,435,438,439,442],{},[239,420,421],{},"Fires when"," your ",[271,424,425],{},"robots.txt"," disallows ",[271,428,429],{},"OAI-SearchBot",", ",[271,432,433],{},"ChatGPT-User",",\n",[271,436,437],{},"PerplexityBot"," or ",[271,440,441],{},"Google-Extended"," for a page that matters — one in your sitemap, one\nwith search impressions, or one already being cited.",[223,444,445,448],{},[239,446,447],{},"What to do"," — the finding shows the offending directive with its line number and an\nexact replacement block as a diff.",[223,450,451,454],{},[239,452,453],{},"Resolves when"," the directive is gone. Shruwd rereads robots.txt daily, and within\nminutes once you mark the fix applied.",[456,457,459],"callout",{"type":458},"note",[223,460,461,463,464,467],{},[271,462,441],{}," affects Gemini grounding and AI training — ",[239,465,466],{},"not"," AI Overviews. These\nget conflated constantly, and the right fix differs.",[404,469,471],{"id":470},"the-server-refuses-a-verified-ai-crawler","The server refuses a verified AI crawler",[223,473,474,413,477],{},[271,475,476],{},"ACCESS_4XX_5XX_TO_AI_UA",[239,478,416],{},[223,480,481,482,229],{},"The most valuable rule in the catalogue, and the one that needs\n",[227,483,484],{"href":63},"crawler logs",[223,486,487,489],{},[239,488,421],{}," a verified AI crawler was refused (4xx or 5xx) more often than served on a\npage, on at least three separate days in the last 30, while a normal browser gets a 200\nfor the same URL. An occasional error does not count.",[223,491,492,494],{},[239,493,447],{}," — this is almost always bot protection nobody remembers enabling:\nCloudflare Bot Fight Mode or AI Crawl Control, a WAF managed rule, rate limiting, a\nsecurity plugin, or user-agent blocking at your origin. The finding identifies the likely\nblocker from the response signature and names the setting to change.",[223,496,497,498,501,502,505],{},"Which of these your logs can show depends on your\n",[227,499,500],{"href":63},"log path",". Only Logpush records refusals made by\nCloudflare itself: the forwarder Worker runs after Cloudflare's security rules, and your\nserver after that. So with the Worker, look for Cloudflare's own refusals in Cloudflare\n(",[239,503,504],{},"Security → Analytics","). A refusal Shruwd does see was made behind Cloudflare, and the\nfinding tells you so.",[223,507,508,510],{},[239,509,453],{},", after you mark the fix applied, that crawler is served on that path\non a day it visits.",[404,512,514],{"id":513},"content-only-renders-with-javascript","Content only renders with JavaScript",[223,516,517,520,521],{},[271,518,519],{},"ACCESS_JS_ONLY_CONTENT"," · inferred · ",[239,522,523],{},"high",[223,525,526,528],{},[239,527,421],{}," the raw HTML has under 500 characters of visible text, the page has search\nimpressions, and the markup contains an empty root mount node.",[223,530,531,533],{},[239,532,447],{}," — server-render, statically generate or prerender that route. AI crawlers\nlargely do not execute JavaScript, so content that only exists after hydration does not\nexist for them.",[223,535,536,538],{},[239,537,453],{}," the raw HTML carries more than 2,000 characters of visible text.",[404,540,542],{"id":541},"a-page-with-demand-is-never-crawled","A page with demand is never crawled",[223,544,545,413,548],{},[271,546,547],{},"ACCESS_NEVER_CRAWLED",[239,549,550],{},"medium",[223,552,553,555,556,559],{},[239,554,421],{}," a URL is in your sitemap, has at least 100 search impressions in 30 days,\nand has had ",[239,557,558],{},"zero"," verified AI-bot hits in that time.",[223,561,562,563,565,566,569],{},"Needs 30 days of uninterrupted ",[227,564,484],{"href":63}," and\na ",[227,567,568],{"href":53},"Search Console connection",". It stays silent\non brands with partial log coverage rather than blaming you for a gap in the data.",[223,571,572,574,575,578],{},[239,573,447],{}," — the page is reachable but undiscovered. Check how deep it sits from your\nhomepage, whether the sitemap includes it with an accurate ",[271,576,577],{},"lastmod",", and whether anything\nthe crawlers already visit links to it.",[395,580],{},[231,582,367],{"id":583},"citation",[223,585,586],{},"Where answers get their sources. The highest-value family after access.",[404,588,590],{"id":589},"a-third-party-page-gatekeeps-the-answer","A third-party page gatekeeps the answer",[223,592,593,520,596],{},[271,594,595],{},"CITE_THIRD_PARTY_GATEKEEPER",[239,597,416],{},[223,599,600],{},"The finding that answers \"why does ChatGPT recommend them and not us?\"",[223,602,603,605],{},[239,604,421],{}," across a cluster of at least three related prompts, one third-party domain\nappears in 40% or more of the answers, you are absent from the page being cited, and at\nleast one competitor is on it.",[223,607,608,610],{},[239,609,447],{}," — getting onto that specific source is usually the highest-leverage action\navailable to you. The finding names the exact URLs, which competitors appear on them and\nhow they are described, and the route in for that kind of source: a vendor listing\nsubmission, an editorial contact, community participation.",[223,612,613],{},"Rechecked after 30 days rather than 14 — third-party inclusion propagates slowly.",[404,615,617],{"id":616},"the-wrong-page-gets-cited","The wrong page gets cited",[223,619,620,413,623],{},[271,621,622],{},"CITE_WRONG_PAGE",[239,624,523],{},[223,626,627,629],{},[239,628,421],{}," you are cited for a prompt, but the cited URL does not match the prompt's\nintent — a blog post cited for a buying question when you have a pricing page.",[223,631,632,634],{},[239,633,447],{}," — the right page is under-optimised relative to the one being cited.\nStrengthen it against that intent, and link to it prominently from the page currently\ngetting the citation.",[404,636,638],{"id":637},"a-competitor-owns-this-prompt","A competitor owns this prompt",[223,640,641,413,644],{},[271,642,643],{},"CITE_COMPETITOR_OWNS_PROMPT",[239,645,523],{},[223,647,648,650],{},[239,649,421],{}," over 30 days one competitor's mention rate is at or above 60% while yours\nis at or below 15%, across at least ten responses.",[223,652,653,655],{},[239,654,447],{}," — the finding derives a content gap from the competitor pages being cited:\nwhat those pages cover that your target page does not.",[223,657,658],{},"Rechecked at nine repetitions after 30 days, so the verdict is conclusive on a small\nprompt subset.",[404,660,662],{"id":661},"your-page-reads-as-stale","Your page reads as stale",[223,664,665,520,668],{},[271,666,667],{},"CITE_STALE_SOURCE",[239,669,550],{},[223,671,672,674],{},[239,673,421],{}," a cited page of yours has no date signal newer than 18 months, in a\ncategory where the competitor pages being cited average under six months.",[223,676,677,679],{},[239,678,447],{}," — refresh the content and the date signals together.",[456,681,683],{"type":682},"warning",[223,684,685],{},"Changing the date without changing the content is not the fix. Models extract facts, and\nstale facts get superseded whatever the date says.",[395,687],{},[231,689,383],{"id":690},"structure",[223,692,693,694,696],{},"How extractable your content is. Every rule here is ",[271,695,293],{}," — a lead worth testing,\nnot a fact.",[404,698,700],{"id":699},"no-direct-answer-near-the-top","No direct answer near the top",[223,702,703,706,707],{},[271,704,705],{},"STRUCT_NO_DIRECT_ANSWER"," · heuristic · ",[239,708,523],{},[223,710,711,713],{},[239,712,421],{}," for a prompt where a competitor is cited and you are not, your most\nrelevant page has no 40–120 word paragraph in the first 1,200 characters sitting under a\nheading that matches the question.",[223,715,716,718],{},[239,717,447],{}," — add a heading in the question's own form, and a short direct answer\nimmediately beneath it, before any elaboration. The finding shows the passage from each\ncited competitor page that does answer it, side by side.",[223,720,721],{},"Needs at least two cited competitor pages to compare against.",[404,723,725],{"id":724},"structured-data-the-cited-pages-have","Structured data the cited pages have",[223,727,728,706,731],{},[271,729,730],{},"STRUCT_MISSING_SCHEMA",[239,732,550],{},[223,734,735,737],{},[239,736,421],{}," your page carries no JSON-LD of a type present on at least half of the\ncompetitor pages cited for the prompts it targets.",[223,739,740,742],{},[239,741,447],{}," — the finding generates a JSON-LD block populated from your page's actual\ncontent, not a template with placeholders to fill in.",[404,744,746],{"id":745},"fewer-concrete-facts-than-the-cited-pages","Fewer concrete facts than the cited pages",[223,748,749,706,752],{},[271,750,751],{},"STRUCT_LOW_FACT_DENSITY",[239,753,550],{},[223,755,756,758],{},[239,757,421],{}," your page's fact density is below 60% of the mean of the cited competitor\npages. Density counts numerals, dates, percentages, currency amounts, measurement units\nand proper nouns per 100 words.",[223,760,761,763],{},[239,762,447],{}," — add specifics of the kinds those pages carry: concrete numbers, dates,\nnamed integrations, versions. Models cite pages containing extractable facts.",[223,765,766],{},"Never fires on pages under 300 words — that is a different problem.",[395,768],{},[231,770,772],{"id":771},"next-steps","Next steps",[774,775,776,782,787],"ul",{},[777,778,779,781],"li",{},[227,780,104],{"href":105}," — confidence, states, acting on one",[777,783,784,786],{},[227,785,109],{"href":110}," — proving a fix worked",[777,788,789,791],{},[227,790,62],{"href":63}," — unlocks two access findings",{"title":793,"searchDepth":794,"depth":794,"links":795},"",3,[796,798,799,800,806,812,817],{"id":233,"depth":797,"text":234},2,{"id":299,"depth":797,"text":300},{"id":315,"depth":797,"text":316},{"id":399,"depth":797,"text":351,"children":801},[802,803,804,805],{"id":406,"depth":794,"text":407},{"id":470,"depth":794,"text":471},{"id":513,"depth":794,"text":514},{"id":541,"depth":794,"text":542},{"id":583,"depth":797,"text":367,"children":807},[808,809,810,811],{"id":589,"depth":794,"text":590},{"id":616,"depth":794,"text":617},{"id":637,"depth":794,"text":638},{"id":661,"depth":794,"text":662},{"id":690,"depth":797,"text":383,"children":813},[814,815,816],{"id":699,"depth":794,"text":700},{"id":724,"depth":794,"text":725},{"id":745,"depth":794,"text":746},{"id":771,"depth":797,"text":772},"Every diagnostic Shruwd runs, grouped by family, with what triggers each one and what it asks you to do.","md",{},{"title":114,"description":117},{"title":114,"description":818},"6t0CuohZA7QpgvJLpKS7EWO8OQfLK3WL5mSFsHhgYmo",1790003439199]