[
 {
  "id": "COR-01",
  "original": "Observational methods 'missed' randomized lift by a median 24% to 176% (read as error rates).",
  "challenge": "Fact-check pass FX3 re-read Gordon, Moakler & Zettelmeyer (2023).",
  "evidence_checked": "arXiv 2201.07055 full text",
  "verdict": "contradicted",
  "change": "Reworded: the 83/58/24% and 173/176/64% figures are median estimated lifts, against true median lifts of 29/18/5%. Abstract, chapter 4 text, thesis test and claim CL-012 corrected.",
  "reason": "The paper reports these as estimated lifts; its error metric is a percentage-point gap.",
  "affects": "Abstract; ch. 4; CL-012",
  "sources": [
   "D-S02"
  ]
 },
 {
  "id": "COR-02",
  "original": "An Android user who resets the advertising ID hands apps a string of zeros.",
  "challenge": "FX2 re-read Google Play's Advertising ID policy.",
  "evidence_checked": "support.google.com/googleplay/android-developer/answer/6048248",
  "verdict": "contradicted",
  "change": "Zeros are returned when the user deletes the ID; reset issues a new ID. Chapter 3, OS matrix and Figure 4 corrected.",
  "reason": "Policy text.",
  "affects": "ch. 3; OS matrix; Fig. 4",
  "sources": [
   "C-S18"
  ]
 },
 {
  "id": "COR-03",
  "original": "Google's data-driven attribution needs at least 200 conversions and 2,000 interactions in 30 days.",
  "challenge": "FX3 re-read Google Ads Help.",
  "evidence_checked": "About data-driven attribution",
  "verdict": "contradicted",
  "change": "Now stated as a recommendation; the model is available at any volume.",
  "reason": "Google's page lists the thresholds as recommendations.",
  "affects": "ch. 5",
  "sources": [
   "D-S10"
  ]
 },
 {
  "id": "COR-04",
  "original": "Verve Group adjusted EBITDA margin 22.3% of revenue.",
  "challenge": "FX1 re-read Verve's Q4 2025 release and annual report.",
  "evidence_checked": "press.verve.com FY2025 release",
  "verdict": "contradicted",
  "change": "22.3% is the margin on like-for-like gross revenue of EUR 601.8m; on reported revenue it is 24.3%. Table corrected and the Q3 2025 net-to-gross change noted.",
  "reason": "Different denominators.",
  "affects": "ch. 2 table; CL-006",
  "sources": [
   "AB-S09"
  ]
 },
 {
  "id": "COR-05",
  "original": "Top-quartile iOS games keep 31-33% on day 1 against 25-27% on Android (GameAnalytics).",
  "challenge": "FX3 read the full GameAnalytics 2026 report.",
  "evidence_checked": "GameAnalytics 2026 benchmarks page (text and HTML)",
  "verdict": "withdrawn",
  "change": "Removed from chapter 7 and Figure 9; the report combines iOS and Android.",
  "reason": "No platform split exists in the cited source.",
  "affects": "ch. 7; Fig. 9",
  "sources": [
   "GH-S11"
  ]
 },
 {
  "id": "COR-06",
  "original": "Meta's app-event reports use impression time and a 28-day click / 1-day view model.",
  "challenge": "FX3 re-read Meta's App Events API page.",
  "evidence_checked": "developers.facebook.com/docs/marketing-api/app-event-api",
  "verdict": "qualified",
  "change": "Clock and 28/1 windows attributed to Ads Manager; the API endpoint uses 30-day clicks with optional 1-day views.",
  "reason": "The claim mixed two Meta surfaces.",
  "affects": "ch. 4",
  "sources": [
   "D-S16"
  ]
 },
 {
  "id": "COR-07",
  "original": "Meta files engaged-view conversions as click-through in its aggregate reporting.",
  "challenge": "FX3",
  "evidence_checked": "Singular Help Center, Meta integration FAQ",
  "verdict": "qualified",
  "change": "Attributed to Singular's aggregate reporting of Meta campaigns.",
  "reason": "The statement is Singular's, about its own reporting.",
  "affects": "ch. 4",
  "sources": [
   "D-S24"
  ]
 },
 {
  "id": "COR-08",
  "original": "TikTok click windows of 1, 7 or 28 days.",
  "challenge": "FX3",
  "evidence_checked": "TikTok attribution windows help page",
  "verdict": "qualified",
  "change": "Added the 14-day option.",
  "reason": "Omission.",
  "affects": "ch. 4",
  "sources": [
   "D-S22"
  ]
 },
 {
  "id": "COR-09",
  "original": "A reinstall inside the reattribution window generates no install postback and later events are organic.",
  "challenge": "FX3",
  "evidence_checked": "AppsFlyer attribution model and glossary",
  "verdict": "qualified",
  "change": "Added the retargeting-reinstall exception.",
  "reason": "Incomplete rule.",
  "affects": "ch. 4",
  "sources": [
   "D-S14"
  ]
 },
 {
  "id": "COR-10",
  "original": "Aridor et al. used Kantar Vivvix, Shopify and SimilarWeb data; no platform funding.",
  "challenge": "FX3 read the published paper.",
  "evidence_checked": "Author PDF, Management Science 2025",
  "verdict": "qualified",
  "change": "Core data are an ad-analytics panel and a revenue panel from a firm linked to a co-author; the other sources are benchmarks. Chapter 4 and Figure 6 placement updated.",
  "reason": "Data provenance and co-author interest.",
  "affects": "ch. 4; Fig. 6",
  "sources": [
   "D-S05"
  ]
 },
 {
  "id": "COR-11",
  "original": "Removing off-Meta data raised cost per incremental customer from $43.88 to $60.19.",
  "challenge": "FX3",
  "evidence_checked": "BFI working paper 2022",
  "verdict": "qualified",
  "change": "Stated as an estimate under a median loss of effectiveness; two of four authors are Meta employees; working paper.",
  "reason": "The $60.19 is modeled, not observed.",
  "affects": "ch. 4",
  "sources": [
   "D-S06"
  ]
 },
 {
  "id": "COR-12",
  "original": "Survey experiment with 11,000 adults; two Meta co-authors.",
  "challenge": "FX3",
  "evidence_checked": "SSRN paper",
  "verdict": "qualified",
  "change": "Described as stated choices with hypothetical prompts; a third author has consulted for Meta.",
  "reason": "Design and interest disclosure.",
  "affects": "ch. 3",
  "sources": [
   "D-S07"
  ]
 },
 {
  "id": "COR-13",
  "original": "Apple Ads covers App Store search download campaigns; view-through window inferred as 1 day.",
  "challenge": "FX2 and FX3",
  "evidence_checked": "AdServices reference and changelog",
  "verdict": "qualified",
  "change": "Windows now stated from Apple's reference (30-day tap, 24-hour view); placements beyond search added.",
  "reason": "Primary reference states both.",
  "affects": "ch. 3; OS matrix",
  "sources": [
   "C-S10",
   "D-S20"
  ]
 },
 {
  "id": "COR-14",
  "original": "No AdAttributionKit change after June 2025.",
  "challenge": "FX2 symbol crawl",
  "evidence_checked": "Apple documentation JSON and iOS 27 release notes",
  "verdict": "qualified",
  "change": "Noted an iOS 26.2 view-through registration API missing from the changelog.",
  "reason": "The changelog is incomplete.",
  "affects": "ch. 3",
  "sources": [
   "C-S06"
  ]
 },
 {
  "id": "COR-15",
  "original": "Google Play new model: 10% + 5% for new-install subscriptions; 20% + 5% one-off.",
  "challenge": "FX3",
  "evidence_checked": "Play Console Help answer 16954621",
  "verdict": "qualified",
  "change": "Corrected: 10% subscriptions; 20% new-install and 25% existing-install one-off; programs 15%/20%; 10% on first $1M; 5% billing fee only on Google Play Billing in US/UK/EEA.",
  "reason": "Incomplete and partly wrong tiers.",
  "affects": "ch. 7 table; Fig. 4 label",
  "sources": [
   "GH-S06"
  ]
 },
 {
  "id": "COR-16",
  "original": "Apple EU alternative terms effective 1 October 2026 (presented as current).",
  "challenge": "FX3",
  "evidence_checked": "Apple DPLA Attachment 14",
  "verdict": "qualified",
  "change": "Marked as announced in August 2026 and effective after the cutoff.",
  "reason": "Not in force at cutoff.",
  "affects": "ch. 7 table",
  "sources": [
   "GH-S03"
  ]
 },
 {
  "id": "COR-17",
  "original": "Apple barred from any US link-out commission until a court approves a fee.",
  "challenge": "FX3 read the Ninth Circuit opinion and docket.",
  "evidence_checked": "ca9.uscourts.gov opinion 25-2935; district docket",
  "verdict": "qualified",
  "change": "The 'no commission' is the appeals court's recommendation; Apple filed a fee proposal on 13 August 2026; no fee approved by late September.",
  "reason": "Precision on legal status.",
  "affects": "ch. 7 table",
  "sources": [
   "EF-S06",
   "EF-S17"
  ]
 },
 {
  "id": "COR-18",
  "original": "Singular says its SKAN-era predictive models perform comparable to IDFA-era measurement.",
  "challenge": "FX3",
  "evidence_checked": "Singular blog, Dec 2021",
  "verdict": "qualified",
  "change": "Dated as a 2021 post from the SKAN 3 era relaying customer claims.",
  "reason": "Age and nature of the source.",
  "affects": "ch. 7",
  "sources": [
   "GH-S19"
  ]
 },
 {
  "id": "COR-19",
  "original": "AppLovin owns Axon, MAX, Adjust and Wurl.",
  "challenge": "FX1 read the Q2 2026 10-Q.",
  "evidence_checked": "AppLovin 10-K FY2025 and 10-Q Q2 2026",
  "verdict": "qualified",
  "change": "Added the rename to AppLovin Ads, acquisition years, and AppLovin's stated assurance that Adjust data is not shared with it unless the customer directs.",
  "reason": "Completeness and fairness.",
  "affects": "ch. 2",
  "sources": [
   "AB-S01",
   "G2-S01"
  ]
 },
 {
  "id": "COR-20",
  "original": "Gaming was slightly under half of Liftoff's advertiser revenue.",
  "challenge": "FX1",
  "evidence_checked": "Liftoff S-1/A and 424B4",
  "verdict": "qualified",
  "change": "Restated as the filing words it: slightly more than half from outside gaming, excluding third-party programmatic buyers.",
  "reason": "Inference replaced by filing wording.",
  "affects": "ch. 2",
  "sources": [
   "AB-S10"
  ]
 },
 {
  "id": "COR-21",
  "original": "PyMC-Marketing claims superior results versus Meridian.",
  "challenge": "FX3",
  "evidence_checked": "PyMC-Marketing comparison page",
  "verdict": "qualified",
  "change": "Quoted as a vendor self-benchmark (faster fitting, 40% lower contribution error).",
  "reason": "Precision.",
  "affects": "ch. 4",
  "sources": [
   "D-S19"
  ]
 },
 {
  "id": "COR-22",
  "original": "Author's playbook: Google 'retired' the Privacy Sandbox advertising APIs on Chrome and Android in October 2025.",
  "challenge": "Corpus audit and stream C against Google's status page.",
  "evidence_checked": "privacysandbox status page; Oct 2025 announcement",
  "verdict": "qualified",
  "change": "The paper states the retirement was announced and listed as 'scheduled for phaseout' at the cutoff, not completed.",
  "reason": "Announcement is not completion.",
  "affects": "ch. 3; corpus map CP-01",
  "sources": [
   "C-S14",
   "C-S15",
   "CP-01"
  ]
 },
 {
  "id": "COR-23",
  "original": "Author's App DSP landscape file (last validated June 2026) describes AppLovin's product as Axon Ads Manager and carries mid-2026 facts.",
  "challenge": "Corpus audit and G2 filings check.",
  "evidence_checked": "AppLovin Q2 2026 10-Q",
  "verdict": "qualified",
  "change": "Marked 'update' in the corpus map; the paper uses Q2 2026 filings and the AppLovin Ads name.",
  "reason": "Stale by the cutoff.",
  "affects": "corpus map CP-02",
  "sources": [
   "G2-S01",
   "CP-02"
  ]
 },
 {
  "id": "COR-24",
  "original": "Adapty report compares 10,000+ paywalls; period implied as 2025.",
  "challenge": "FX3",
  "evidence_checked": "Adapty 2026 report page",
  "verdict": "qualified",
  "change": "Page says 105K paywalls and states no period; chapter 7 notes the missing period.",
  "reason": "Precision.",
  "affects": "ch. 7",
  "sources": [
   "GH-S09"
  ]
 },
 {
  "id": "COR-25",
  "original": "AppsFlyer counted $7.2B of verified in-app ad revenue.",
  "challenge": "FX3",
  "evidence_checked": "AppsFlyer State of App Monetization 2026 data-sample block",
  "verdict": "qualified",
  "change": "Only store purchases and subscriptions are labelled verified; wording corrected.",
  "reason": "Label precision.",
  "affects": "ch. 7",
  "sources": [
   "GH-S10"
  ]
 },
 {
  "id": "COR-26",
  "original": "Supreme Court took Apple's appeal on the link-out commission; fee 'before the Supreme Court'.",
  "challenge": "FX2 read the question presented and docket.",
  "evidence_checked": "supremecourt.gov question presented 25-1311; district docket",
  "verdict": "contradicted",
  "change": "Cert is limited to whether contempt may rest on an injunction's 'spirit'; the fee is set on remand, a stay was denied on 13 Aug 2026. Abstract, ch. 6, CL-021, scenario card and Fig. 4 label corrected.",
  "reason": "Scope of the grant.",
  "affects": "Abstract; ch. 6; CL-021; Fig. 4; Fig. 16",
  "sources": [
   "FX2-S21",
   "EF-S17"
  ]
 },
 {
  "id": "COR-27",
  "original": "Google released its Google Ads API MCP server in April 2026.",
  "challenge": "FX2",
  "evidence_checked": "Google Ads Developer Blog, 7 Oct 2025; PyPI release history",
  "verdict": "qualified",
  "change": "Dated to the October 2025 announcement; Meta and TikTok launch dates removed because their pages give none.",
  "reason": "Date error.",
  "affects": "ch. 11",
  "sources": [
   "FX2-S09",
   "KL-S06"
  ]
 },
 {
  "id": "COR-28",
  "original": "AAMP, ARTF and AdCP are three separate efforts that do not refer to each other.",
  "challenge": "FX2 read IAB Tech Lab's AAMP repository.",
  "evidence_checked": "github.com/IABTechLab/AAMP",
  "verdict": "contradicted",
  "change": "AAMP is IAB Tech Lab's umbrella and lists ARTF as a component; ch. 11 now describes two families of standards.",
  "reason": "Structure misdescribed.",
  "affects": "ch. 11",
  "sources": [
   "FX2-S11",
   "KL-S35"
  ]
 },
 {
  "id": "COR-29",
  "original": "Louisiana's app-store age law effective date unresolved (1 July 2026 vs 2027).",
  "challenge": "FX2 read Act 185.",
  "evidence_checked": "legis.la.gov Act 185 (2026)",
  "verdict": "contradicted",
  "change": "Act 185 repealed the 2025 law and sets new duties from 1 July 2027.",
  "reason": "Primary statute resolves the conflict.",
  "affects": "ch. 11; policy register",
  "sources": [
   "FX2-S18"
  ]
 },
 {
  "id": "COR-30",
  "original": "FTC finalized a Kochava order in May 2026.",
  "challenge": "FX2",
  "evidence_checked": "FTC release and court docket",
  "verdict": "qualified",
  "change": "Described as a proposed stipulated order; court entry not confirmed.",
  "reason": "Status precision.",
  "affects": "ch. 11",
  "sources": [
   "KL-S19"
  ]
 },
 {
  "id": "COR-31",
  "original": "Meta documents that Advantage+ app advertisers cannot see results by placement.",
  "challenge": "FX1 re-read Meta's help page in a browser.",
  "evidence_checked": "facebook.com/business/help/1153577308409919",
  "verdict": "contradicted",
  "change": "Meta's page now lists placement as a reporting breakdown; the paper states Meta reports by placement surface but not by publisher app. CL-027, ch. 9 and ch. 10 corrected; Meta's D5 score revisited in reconciliation.",
  "reason": "Page content changed or was misread.",
  "affects": "ch. 9; ch. 10; CL-027; matrix",
  "sources": [
   "FX1-S23"
  ]
 },
 {
  "id": "COR-32",
  "original": "All five benchmark channels document campaign-management APIs.",
  "challenge": "FX1",
  "evidence_checked": "Google Ads API, Apple Campaign Management API, Meta Marketing API docs",
  "verdict": "qualified",
  "change": "TikTok's and Amazon's campaign-management APIs were not confirmed from primary docs; text now names Google, Meta and Apple.",
  "reason": "Unconfirmed for two channels.",
  "affects": "ch. 9; ch. 10",
  "sources": [
   "FX1-S24",
   "V3-S12"
  ]
 },
 {
  "id": "COR-33",
  "original": "Statsig was acquired by Amplitude on 5 May 2026.",
  "challenge": "FX1 read Amplitude's Q2 2026 10-Q.",
  "evidence_checked": "Amplitude 10-Q",
  "verdict": "contradicted",
  "change": "Amplitude bought Statsig's customer contracts, trade name and a non-exclusive technology licence, not the company.",
  "reason": "Transaction structure.",
  "affects": "ch. 2; ch. 9",
  "sources": [
   "FX1-S16"
  ]
 },
 {
  "id": "COR-34",
  "original": "Mobvista's revenue basis not stated.",
  "challenge": "FX1 read the 2025 Annual Report.",
  "evidence_checked": "Mobvista 2025 Annual Report",
  "verdict": "qualified",
  "change": "Mobvista books gross as principal, gross margin 21.2%; ch. 2 and CL-006 updated.",
  "reason": "Primary annual report found.",
  "affects": "ch. 2; CL-006",
  "sources": [
   "FX1-S11"
  ]
 },
 {
  "id": "COR-35",
  "original": "Affle runs at least five app-marketing brands including Appnext.",
  "challenge": "FX1",
  "evidence_checked": "Affle news pages; Appnext site",
  "verdict": "qualified",
  "change": "Appnext link unconfirmed; now 'at least four' plus the June 2026 AdColony asset deal.",
  "reason": "Unconfirmed ownership.",
  "affects": "ch. 2",
  "sources": [
   "FX1-S18",
   "FX1-S20"
  ]
 },
 {
  "id": "COR-36",
  "original": "Aarki rebranded to RZR on 17 March 2026.",
  "challenge": "FX1",
  "evidence_checked": "rzr.com; Wayback capture 12 Mar 2026",
  "verdict": "qualified",
  "change": "Date not shown by the company; notice live by 12 March 2026.",
  "reason": "Date precision.",
  "affects": "ch. 2",
  "sources": [
   "V2-S18",
   "FX1-S22"
  ]
 },
 {
  "id": "COR-37",
  "original": "Jampp documents an always-on ghost-bid holdout for every campaign, modelled on ghost ads.",
  "challenge": "FX1",
  "evidence_checked": "jampp.com/product",
  "verdict": "qualified",
  "change": "Jampp advertises always-on lift with ghost bids for UA and retargeting at no extra cost; the method is not documented.",
  "reason": "Over-reading of a product page.",
  "affects": "ch. 4; ch. 10",
  "sources": [
   "V2-S22"
  ]
 },
 {
  "id": "COR-38",
  "original": "Tripledot consideration: $400M cash plus ~20% equity.",
  "challenge": "FX1 read the Q2 2026 10-Q.",
  "evidence_checked": "AppLovin 10-Q Q2 2026",
  "verdict": "qualified",
  "change": "Now $430.6M cash after adjustments plus shares valued at $285.0M ($715.6M total).",
  "reason": "Final terms available.",
  "affects": "ch. 2",
  "sources": [
   "FX1-S01"
  ]
 },
 {
  "id": "COR-39",
  "original": "Apple's iOS 27.2 expanded ATT sheet (beta).",
  "challenge": "FX2 read iOS 27.2 beta 2 release notes.",
  "evidence_checked": "Apple release notes JSON",
  "verdict": "supported",
  "change": "Added that the same notes introduce a yearly EU re-prompt; both beta at cutoff.",
  "reason": "Completeness.",
  "affects": "ch. 3",
  "sources": [
   "FX2-S01"
  ]
 },
 {
  "id": "COR-40",
  "original": "Amazon DSP credits app installs to CTV exposure via logged-in identity on both screens.",
  "challenge": "FX3 re-read the cited Amazon page.",
  "evidence_checked": "Amazon Ads events-manager announcement (13 Feb 2024)",
  "verdict": "withdrawn",
  "change": "Removed from chapter 8, Figure 13 and the Q9 thesis test; the page covers Android and Fire devices only and says nothing about logged-in CTV-to-install.",
  "reason": "The passage came from a search summary, not the source.",
  "affects": "ch. 8; Fig. 13",
  "sources": [
   "IJ-S26"
  ]
 },
 {
  "id": "COR-41",
  "original": "AppsFlyer links CTV exposure to installs by IP address and user agent.",
  "challenge": "FX3",
  "evidence_checked": "AppsFlyer knowledge-base article on cross-platform OneLink",
  "verdict": "qualified",
  "change": "Now 'probabilistic modelling on IP address alone'.",
  "reason": "Source wording.",
  "affects": "ch. 8; Fig. 13",
  "sources": [
   "IJ-S25"
  ]
 },
 {
  "id": "COR-42",
  "original": "Kochava matches deterministically only with device ID, user agent and IP together.",
  "challenge": "FX3",
  "evidence_checked": "Kochava blog on the Samba TV partnership (Dec 2025)",
  "verdict": "qualified",
  "change": "Removed; the cited post does not describe matching rules. Lift is by post-hoc synthetic controls.",
  "reason": "Unsupported detail.",
  "affects": "ch. 8; Fig. 13",
  "sources": [
   "IJ-S10"
  ]
 },
 {
  "id": "COR-43",
  "original": "MNTN credits website or app visits, via deterministic matching.",
  "challenge": "FX3",
  "evidence_checked": "MNTN Verified Visits page",
  "verdict": "qualified",
  "change": "Website visits only; matching method not disclosed.",
  "reason": "Source wording.",
  "affects": "ch. 8; Fig. 13",
  "sources": [
   "IJ-S12"
  ]
 },
 {
  "id": "COR-44",
  "original": "Roku integrates AppsFlyer, Adjust and Branch and offers Action Ads.",
  "challenge": "FX3",
  "evidence_checked": "Roku ads measurement page",
  "verdict": "qualified",
  "change": "Now described as a pixel and server-to-server conversion feed; MMP names and Action Ads removed.",
  "reason": "Not on the cited page.",
  "affects": "ch. 8; Fig. 13",
  "sources": [
   "IJ-S11"
  ]
 },
 {
  "id": "COR-45",
  "original": "Uber and Fetch settled in 2019; $82.5M campaign.",
  "challenge": "FX3 read court-related sources.",
  "evidence_checked": "CNBC, PYMNTS, Phunware SEC exhibit",
  "verdict": "qualified",
  "change": "The federal suit against Fetch was dismissed in Dec 2017; the $6M settlement was in the separate Phunware state case after pleadings were struck; an Uber-Fetch settlement is not confirmed by a primary source.",
  "reason": "Two proceedings were merged.",
  "affects": "ch. 8; CL-025",
  "sources": [
   "IJ-S04",
   "IJ-S05",
   "IJ-S06"
  ]
 },
 {
  "id": "COR-46",
  "original": "app-ads.txt on 66% of the top 1,000 Play apps and 24% of all apps.",
  "challenge": "FX3",
  "evidence_checked": "HUMAN blog (May 2023)",
  "verdict": "qualified",
  "change": "Those two figures are not in the source; kept only the 25% of app bid requests without a known file (vs 3% on web) and the seller-registry gap.",
  "reason": "Figures came from a search summary.",
  "affects": "ch. 8",
  "sources": [
   "IJ-S21"
  ]
 },
 {
  "id": "COR-47",
  "original": "AppLovin's e-commerce launch required $10M GMV; CEO stated a ~$7B target.",
  "challenge": "FX3",
  "evidence_checked": "Modern Retail; AppLovin Q1 2026 8-K",
  "verdict": "qualified",
  "change": "The $10M bar applied to the earlier invite-only phase; the $7B was a hypothetical sizing exercise, not a target.",
  "reason": "Source wording.",
  "affects": "ch. 8",
  "sources": [
   "IJ-S22",
   "IJ-S23"
  ]
 },
 {
  "id": "COR-48",
  "original": "Store-page conversion benchmarks of 25-33%, Play 3-5 points above iOS.",
  "challenge": "FX3",
  "evidence_checked": "SplitMetrics guide; Apple custom product pages page",
  "verdict": "contradicted",
  "change": "Removed; replaced with Apple's own 1.6% default-page average and its 2.5-point custom-page figure, used to illustrate traffic mixing.",
  "reason": "Not in the cited source.",
  "affects": "ch. 6",
  "sources": [
   "MAIN-S04"
  ]
 },
 {
  "id": "COR-49",
  "original": "Unverifiable statistics (a '45% CTR drop after the fourth repetition'; web-to-app '2.8x' conversion).",
  "challenge": "FX3",
  "evidence_checked": "Cited sources did not contain them",
  "verdict": "withdrawn",
  "change": "No longer quoted; the text says such statistics could not be traced.",
  "reason": "Meta-claims about untraceable figures cannot be sourced.",
  "affects": "ch. 6",
  "sources": [
   "EF-S19"
  ]
 },
 {
  "id": "COR-50",
  "original": "Target-ROAS thresholds cited to the App campaign bid-strategy page; Meta learning phase rule unverified.",
  "challenge": "FX3 and the lead editor",
  "evidence_checked": "Google 'About Target ROAS bidding'; Meta 'About the learning phase' (rendered in a browser)",
  "verdict": "qualified",
  "change": "Re-sourced to the correct Google page (MAIN-S03) and Meta's own page (MAIN-S05), which confirms ~50 results a week and advises combining ad sets.",
  "reason": "Wrong page recorded; primary page now opened.",
  "affects": "ch. 5; CL-015",
  "sources": [
   "MAIN-S03",
   "MAIN-S05"
  ]
 },
 {
  "id": "COR-51",
  "original": "A vendor analysis shows over-concentration wastes spend (10% overlap at ~2x frequency).",
  "challenge": "FX3",
  "evidence_checked": "Digital Remedy blog (June 2026)",
  "verdict": "qualified",
  "change": "Described as a stylised example from a vendor selling de-duplication, not evidence for or against diversification.",
  "reason": "Nature of the source.",
  "affects": "ch. 5",
  "sources": [
   "EF-S23"
  ]
 },
 {
  "id": "COR-52",
  "original": "Meta Dynamic Creative described from third-party sources only.",
  "challenge": "FX3 read Meta's pages via a text proxy",
  "evidence_checked": "Meta help pages",
  "verdict": "qualified",
  "change": "Now states Meta's own guidance: A/B tests split audiences; Dynamic Creative should not substitute for split tests.",
  "reason": "Primary wording available.",
  "affects": "ch. 6",
  "sources": [
   "EF-S18"
  ]
 },
 {
  "id": "COR-53",
  "original": "Central thesis: 'the market optimizes what it can see early and claim; the edge belongs to whoever owns the feedback loop'.",
  "challenge": "Red-team RT-01 and RT-02 (blocking)",
  "evidence_checked": "AppsFlyer 2025 spend splits; company filings",
  "verdict": "qualified",
  "change": "Narrowed: engines are built to learn from what they see, but 2025 money moved toward thinner-signal segments (iOS +35%, Android -1%; non-gaming +18%, games +3%). 'Owned feedback' restated as a hypothesis with Liftoff and Unity as counterevidence. Abstract, hero, ch. 2, ch. 5 and Q1/Q5 tests rewritten.",
  "reason": "The paper's own data cut against the broad version.",
  "affects": "Abstract; hero; ch. 2; ch. 5",
  "sources": [
   "MAIN-S01",
   "FX1-S05"
  ]
 },
 {
  "id": "COR-54",
  "original": "Platform table showed Liftoff's GAAP net loss while peers showed adjusted EBITDA; Unity's 22% used as an ad-business margin.",
  "challenge": "Red-team RT-03 (blocking); audit MS-09, MS-28, MS-30",
  "evidence_checked": "Liftoff prospectus; Unity 10-K; AppLovin 10-K",
  "verdict": "qualified",
  "change": "Table now shows each firm's revenue basis and adjusted EBITDA on a like basis, with Unity's margin flagged as including its engine business; rounding fixed.",
  "reason": "Uneven measures made AppLovin look uniquely profitable.",
  "affects": "ch. 2 table",
  "sources": [
   "FX1-S05",
   "AB-S05",
   "FX1-S01"
  ]
 },
 {
  "id": "COR-55",
  "original": "Remarketing headline: attribution overstates value where intent exists (supported by Gordon et al. lower-funnel lift and eBay brand search).",
  "challenge": "Red-team RT-04 (blocking); RT-14",
  "evidence_checked": "Johnson et al. 2017; Sahni et al. 2019; Simonov et al. 2018 (gap-fill G3)",
  "verdict": "qualified",
  "change": "Now: randomized web retargeting studies find real but modest lift; no independent app-remarketing experiment was found; brand-search effects depend on competition for the term. CL-005 and CL-018 reworded.",
  "reason": "One-directional transfer of web evidence.",
  "affects": "Abstract; ch. 2; ch. 5; CL-005",
  "sources": [
   "D-S04"
  ]
 },
 {
  "id": "COR-56",
  "original": "Verification described as covering every finding; blind rescore described as covering the whole panel.",
  "challenge": "Red-team RT-05; audit MS-03 (blocking)",
  "evidence_checked": "Ledger outcomes at build time",
  "verdict": "qualified",
  "change": "A fourth fact-check pass (FX4) covered the gap-fill and V1 findings; the rescorer was resumed for the benchmark channels; ch. 12 reports actual coverage and agreement statistics computed at build time.",
  "reason": "Overstated process claims.",
  "affects": "Abstract; ch. 12; ch. 9",
  "sources": []
 },
 {
  "id": "COR-57",
  "original": "'57% of marketers use technical AI agents; 32% optimization agents' (AppsFlyer).",
  "challenge": "Audit MS-01 (blocking)",
  "evidence_checked": "No evidence record; AppsFlyer page wording ambiguous",
  "verdict": "withdrawn",
  "change": "Sentences removed from ch. 11.",
  "reason": "Unrecorded and ambiguous basis (telemetry vs survey).",
  "affects": "ch. 11",
  "sources": [
   "MAIN-S01"
  ]
 },
 {
  "id": "COR-58",
  "original": "Reconciliation instrument rows (Google DDA 'requires' 200 conversions; Meta, TikTok and AdServices windows).",
  "challenge": "Audit MS-02 (blocking)",
  "evidence_checked": "Corrected findings D-F14, D-F16, D-F18, D-F19",
  "verdict": "contradicted",
  "change": "Rows overridden from corrected findings via data/register_overrides.json.",
  "reason": "Instrument still carried superseded values.",
  "affects": "ch. 4 instrument",
  "sources": [
   "D-S10",
   "D-S16",
   "D-S22",
   "D-S20"
  ]
 },
 {
  "id": "COR-59",
  "original": "Chapter 9 and 10 summaries: the big platforms offer 'no placement reporting'.",
  "challenge": "Audit MS-04, MS-05, MS-06",
  "evidence_checked": "FX1-S23 (Meta help page)",
  "verdict": "contradicted",
  "change": "Summaries now say the platforms choose placements; Meta lists placement among breakdowns but describes no publisher-app breakdown. CL-027 relinked to MAIN-F09.",
  "reason": "Contradicted by corrected evidence.",
  "affects": "ch. 9; ch. 10; CL-027",
  "sources": [
   "FX1-S23"
  ]
 },
 {
  "id": "COR-60",
  "original": "Contribution defined as net revenue minus the cost of getting the customer (ch. 1).",
  "challenge": "Audit MS-07",
  "evidence_checked": "Metric dictionary; models.py",
  "verdict": "qualified",
  "change": "Contribution now excludes acquisition cost; growth = contribution minus acquisition cost.",
  "reason": "Definition conflict with payback.",
  "affects": "ch. 1",
  "sources": []
 },
 {
  "id": "COR-61",
  "original": "Figure 10: 129% gross return and 23-month payback at a flat 30% fee.",
  "challenge": "Audit MS-17; MS-45",
  "evidence_checked": "Apple subscription fee schedule (GH-F01)",
  "verdict": "qualified",
  "change": "Model now applies 15% after month 12; payback at defaults is month 21; 'CAC' relabelled 'fully loaded cost per install'.",
  "reason": "Model ignored the year-two fee step it describes.",
  "affects": "Fig. 10; models.py; paper.js",
  "sources": [
   "GH-S02"
  ]
 },
 {
  "id": "COR-62",
  "original": "Chen et al. game LTV error '5.7% mean error'.",
  "challenge": "Audit MS-15",
  "evidence_checked": "Chen et al. 2018",
  "verdict": "qualified",
  "change": "Stated as error relative to the largest observed spend, the study's own normalization.",
  "reason": "Metric definition hidden.",
  "affects": "ch. 7",
  "sources": [
   "G1-S04"
  ]
 },
 {
  "id": "COR-63",
  "original": "SHORE preprint cited as support.",
  "challenge": "Audit MS-16",
  "evidence_checked": "arXiv 2506.10487",
  "verdict": "qualified",
  "change": "Noted as withdrawn by its authors.",
  "reason": "Rule against relying on withdrawn material.",
  "affects": "ch. 7",
  "sources": [
   "G1-S08"
  ]
 },
 {
  "id": "COR-64",
  "original": "Web checkout 'about a third more' and 'more than most media optimizations'.",
  "challenge": "Red-team RT-24; audit MS-32, MS-33",
  "evidence_checked": "Stripe pricing; Apple fee tiers",
  "verdict": "qualified",
  "change": "Now +34% vs the 30% tier and +11% vs the 15% tier, card fees only; hidden billing costs listed; unsupported comparison with media tweaks removed.",
  "reason": "Selective tier; unsupported comparative.",
  "affects": "Abstract; ch. 7; CL-022",
  "sources": [
   "G2-S15",
   "GH-S02"
  ]
 },
 {
  "id": "COR-65",
  "original": "RevenueCat 72% 'cancel within the first year'; AI-app LTV used as evidence about bidding models.",
  "challenge": "Red-team RT-08, RT-09",
  "evidence_checked": "RevenueCat 2026 report",
  "verdict": "qualified",
  "change": "Now 'turned off auto-renew'; cohort window not stated; the AI-app figure described as a category comparison.",
  "reason": "Conditioning and ecological inference.",
  "affects": "ch. 5; ch. 7",
  "sources": [
   "GH-S08"
  ]
 },
 {
  "id": "COR-66",
  "original": "Paid media has 'no direct lever' on activation or retention.",
  "challenge": "Red-team RT-26",
  "evidence_checked": "Framework",
  "verdict": "qualified",
  "change": "Now 'acts only indirectly', with reactivation as the exception.",
  "reason": "Overstated framework claim.",
  "affects": "ch. 1; CL-001",
  "sources": []
 },
 {
  "id": "COR-67",
  "original": "Attribution error described as running one way.",
  "challenge": "Red-team RT-07",
  "evidence_checked": "SKAN tiers; MMP organic classification",
  "verdict": "qualified",
  "change": "Added sources of under-attribution on iOS; CL-011 reworded to 'can produce more installs than those platforms drove'.",
  "reason": "Missing counter-direction.",
  "affects": "ch. 4; CL-011",
  "sources": [
   "C-S02",
   "D-S13"
  ]
 },
 {
  "id": "COR-68",
  "original": "Agent servers described as lacking approval gates; 'no public contract gives buyers rights to what models learn'.",
  "challenge": "Red-team RT-16, RT-17, RT-18",
  "evidence_checked": "Meta and TikTok MCP pages; AdCP docs",
  "verdict": "qualified",
  "change": "Now: servers wrap existing campaign APIs; approval usually sits in the buyer's agent and contract; Meta's server is permission-scoped with activity logs; learning claim scoped to AppLovin's disclosure and reframed as data-use and export rights; AdCP enforcement depends on seller implementation.",
  "reason": "Overstated platform-side gap and absence claim.",
  "affects": "Abstract; ch. 11; CL-031",
  "sources": [
   "KL-S07",
   "KL-S08",
   "KL-S12",
   "KL-S03"
  ]
 },
 {
  "id": "COR-69",
  "original": "Verve profile 'held to the same or a stricter standard'.",
  "challenge": "Red-team RT-20",
  "evidence_checked": "Scoring rules",
  "verdict": "qualified",
  "change": "Now 'exactly the same rules'; n/e cells explained by missing documents; both passes scored Verve.",
  "reason": "A stricter standard breaks the same-standard rule.",
  "affects": "ch. 9",
  "sources": []
 },
 {
  "id": "COR-70",
  "original": "Jampp lift-test score 3 (standardized method).",
  "challenge": "Red-team RT-21; audit MS-23; FX1 V2-F05",
  "evidence_checked": "jampp.com/product",
  "verdict": "qualified",
  "change": "Set to 2 by reconciliation override: method not documented.",
  "reason": "Anchor for 3 not met.",
  "affects": "matrix",
  "sources": [
   "V2-S22"
  ]
 },
 {
  "id": "COR-71",
  "original": "Incremental ROAS 'undefined when incremental outcomes are zero or negative'.",
  "challenge": "Audit MS-19",
  "evidence_checked": "Metric definition",
  "verdict": "contradicted",
  "change": "iROAS is undefined only when incremental spend is zero.",
  "reason": "Wrong divide-by-zero rule.",
  "affects": "metric dictionary",
  "sources": []
 },
 {
  "id": "COR-72",
  "original": "Policy register rows for Louisiana, Utah, Declared Age Range and Kochava; study-table sponsor notes; Statsig ownership row.",
  "challenge": "Audit MS-24, MS-47",
  "evidence_checked": "Corrected findings",
  "verdict": "qualified",
  "change": "Rows overridden from corrected findings via data/register_overrides.json.",
  "reason": "Instruments lagged corrected evidence.",
  "affects": "Appendix instruments",
  "sources": [
   "FX2-S18",
   "FX2-S15",
   "FX2-S19",
   "FX1-S16"
  ]
 },
 {
  "id": "COR-73",
  "original": "Google's app campaign documents describe no placement-level reporting.",
  "challenge": "External AI audit item 1; re-check OA1",
  "evidence_checked": "Google Ads Help: App campaigns placement report",
  "verdict": "contradicted",
  "change": "Google's placement report names apps, publishers, websites and videos, with impressions only and low-volume placements grouped. Google D5 re-scored from n/e to 2 (grade A).",
  "reason": "Inferred absence from a narrower API page.",
  "affects": "ch. 9, 10; CL-027; benchmark matrix",
  "sources": [
   "OA1-S01"
  ]
 },
 {
  "id": "COR-74",
  "original": "We found no record that the court had entered the Kochava order by the cutoff.",
  "challenge": "External AI audit item 2; re-check OA2",
  "evidence_checked": "Entered stipulated order, Dkt. 138; FTC timeline item",
  "verdict": "contradicted",
  "change": "Court entered the order on 25 June 2026; its narrow exception and no-admission clause described.",
  "reason": "Search stopped at the proposed order.",
  "affects": "ch. 11; policy register",
  "sources": [
   "OA2-S01",
   "OA2-S02"
  ]
 },
 {
  "id": "COR-75",
  "original": "SHORE preprint noted as withdrawn by its authors, and credited with naming late payments, sparse data and extreme spenders via another preprint's citation.",
  "challenge": "External AI audit item 3; FX4; re-check OA3",
  "evidence_checked": "arXiv 2506.10487 record; arXiv 2411.15944",
  "verdict": "qualified",
  "change": "SHORE described as removed by arXiv's administrators over licence rights and not relied on; the other preprint (Tencent) now reported with its own figures, including Google's method doing worst.",
  "reason": "Wrong removal reason and misattributed content (corrects COR-63).",
  "affects": "ch. 7",
  "sources": [
   "G1-S08",
   "G1-S07",
   "OA3-S06"
  ]
 },
 {
  "id": "COR-76",
  "original": "Meta's Ads Manager uses 28 days after a click and 1 day after a view.",
  "challenge": "External AI audit item 4; re-check OA1",
  "evidence_checked": "Meta Marketing API and Business Help pages",
  "verdict": "qualified",
  "change": "Optimization windows (1-day click for app installs; 1- or 7-day click for iOS app events) separated from the 28-day comparison view and the legacy App Events API.",
  "reason": "Legacy API page is not the current default.",
  "affects": "ch. 4; reconciliation register",
  "sources": [
   "OA1-S04",
   "OA1-S05",
   "OA1-S06",
   "D-S16"
  ]
 },
 {
  "id": "COR-77",
  "original": "Chen et al.: a year of spend forecast with 5.7% average error against 9.0%.",
  "challenge": "FX4; External AI audit item 12; re-check OA3",
  "evidence_checked": "arXiv 1811.12799 full PDF, Tables II-III",
  "verdict": "qualified",
  "change": "Error metric described as scaled to the largest single player's spend; per-player SMAPE of 74% against 96% added; sample of about 2,500 churned payers; top spenders can bring up to half of revenue.",
  "reason": "Normalized metric flatters both models.",
  "affects": "ch. 7; F11",
  "sources": [
   "G1-S04",
   "FX4-S03"
  ]
 },
 {
  "id": "COR-78",
  "original": "Gordon et al. took 663 randomized experiments.",
  "challenge": "External AI audit item 34; re-check OA3",
  "evidence_checked": "arXiv v2, section 3",
  "verdict": "qualified",
  "change": "563 US experiments (November 2019 to March 2020) giving 663 test-and-control pairs, which the authors count as experiments; 'true lift' replaced by 'the lift the experiments measured'.",
  "reason": "Unit precision.",
  "affects": "Abstract; ch. 4; CL-012; F06; study table",
  "sources": [
   "D-S02"
  ]
 },
 {
  "id": "COR-79",
  "original": "At eBay, a simple regression put the return on paid search above 1,600%; test in about a third of regions.",
  "challenge": "External AI audit item 36; re-check OA3",
  "evidence_checked": "NBER w20171, Table 4",
  "verdict": "qualified",
  "change": "Standard regression above 4,000%; with region and day controls above 1,600%; test switched off non-brand search in about 30% of regions.",
  "reason": "Estimator mislabelled.",
  "affects": "ch. 4; CL-013; study table",
  "sources": [
   "D-S04",
   "OA3-S05"
  ]
 },
 {
  "id": "COR-80",
  "original": "Off-Meta data study: $43.88 to $60.19; working draft; commissioned evidence.",
  "challenge": "External AI audit item 37; re-check OA3 (the audit did not catch the superseded figures)",
  "evidence_checked": "Marketing Science 2025 published version; NBER w32765",
  "verdict": "contradicted",
  "change": "Published figures used: $38.16 to $49.93 (+31%) across 70,000+ advertisers; publication terms stated; labelled platform-affiliated, not commissioned.",
  "reason": "The 2022 draft was superseded by the peer-reviewed version (supersedes COR-11 figures).",
  "affects": "ch. 4; F06; study table",
  "sources": [
   "OA3-S01",
   "OA3-S02"
  ]
 },
 {
  "id": "COR-81",
  "original": "About 72% of annual subscribers turned off auto-renew within the first year, up from 56%.",
  "challenge": "External AI audit item 7; re-check OA4",
  "evidence_checked": "RevenueCat State of Subscription Apps 2026 report and blog",
  "verdict": "qualified",
  "change": "Main report figure used: median app kept 28% of annual subscribers after one year (2024 starts), down from 31%; the blog's 72%-versus-56% comparison flagged as mixing methods; first-year payment kept separate from renewal loss.",
  "reason": "The 72% appears only in the blog and is 100% minus retention, not an auto-renew measure.",
  "affects": "ch. 5, 7; F09; F11",
  "sources": [
   "GH-S07",
   "GH-S08"
  ]
 },
 {
  "id": "COR-82",
  "original": "Billing failures caused 31% of Google Play and 14% of App Store cancellations; AI apps' higher first-year value, 36% worse retention.",
  "challenge": "External AI audit items 60-61; re-check OA4",
  "evidence_checked": "RevenueCat 2026 report charts",
  "verdict": "qualified",
  "change": "Report chart values (32.2% and 15.2%) given with the summary's 31% and 14%; AI-app value stated per paying user; retention gap stated as 6.1% against 9.5% of monthly subscribers after 12 months.",
  "reason": "Units and chart-summary mismatch.",
  "affects": "ch. 7; F09",
  "sources": [
   "GH-S07",
   "GH-S08"
  ]
 },
 {
  "id": "COR-83",
  "original": "Apple EU unified terms row presented as the rate at the cutoff, with a 5% core technology commission added.",
  "challenge": "External AI audit item 8; re-check OA2",
  "evidence_checked": "Apple EU support page; Alternative Terms Addendum (17 Dec 2025)",
  "verdict": "qualified",
  "change": "Split into terms in force at the cutoff (opt-in alternative terms) and terms announced for 1 October 2026; the 5% commission applies only to apps outside the App Store.",
  "reason": "Mixed time states and implied an additive fee.",
  "affects": "ch. 7 fee table; policy register; GH-S03 title",
  "sources": [
   "OA2-S03",
   "GH-S03"
  ]
 },
 {
  "id": "COR-84",
  "original": "Google Play fee rows and Apple Small Business Program row.",
  "challenge": "External AI audit items 63-64; re-check OA2",
  "evidence_checked": "Google Play fee pages; Apple SBP page",
  "verdict": "qualified",
  "change": "Program rates open only on 30 September 2026; external-link rate for existing installs; 15% tier requires enrolment; Apple SBP requires enrolment and counts associated accounts.",
  "reason": "Eligibility conditions omitted.",
  "affects": "ch. 7 fee table",
  "sources": [
   "GH-S05",
   "GH-S06",
   "GH-S01"
  ]
 },
 {
  "id": "COR-85",
  "original": "In August 2026 ... the Supreme Court also declined to stay it.",
  "challenge": "External AI audit item 9; re-check OA2",
  "evidence_checked": "District court order Dkt. 1706; Supreme Court docket 25-1311",
  "verdict": "qualified",
  "change": "The trial-court refusal (11 August) was already cited; the Supreme Court step now names Justice Kagan's administrative stay (12 August) and denial (13 August). The audit's claim that the trial-court refusal was unsourced was not borne out.",
  "reason": "Precision on who ruled.",
  "affects": "ch. 6; CL-021",
  "sources": [
   "FX3-S04",
   "FX3-S03",
   "EF-S17"
  ]
 },
 {
  "id": "COR-86",
  "original": "Adjust and Singular: no incrementality product confirmed.",
  "challenge": "External AI audit item 10; re-check OA4",
  "evidence_checked": "Adjust InSight help page; Singular Audiences FAQ",
  "verdict": "contradicted",
  "change": "Both documented; InSight uses synthetic controls (modelled baseline) and Singular's FAQ does not say its split is random.",
  "reason": "Coverage gap.",
  "affects": "ch. 9; systems map",
  "sources": [
   "OA4-S01",
   "OA4-S02"
  ]
 },
 {
  "id": "COR-87",
  "original": "AppLovin's advertiser pages we opened state no minimum signal.",
  "challenge": "External AI audit item 11; re-check OA1",
  "evidence_checked": "AppLovin advertiser page (existing source V1-S07)",
  "verdict": "contradicted",
  "change": "AppLovin recommends a budget buying at least 15-20 conversions a day; ad-revenue and blended goals need MAX.",
  "reason": "An existing source already contradicted the sentence.",
  "affects": "ch. 5",
  "sources": [
   "V1-S07"
  ]
 },
 {
  "id": "COR-88",
  "original": "Google, Meta and Apple document campaign APIs; TikTok's and Amazon's could not be confirmed. TikTok value bidding is Android-only.",
  "challenge": "External AI audit items 14, 42, 83, 84; re-check OA1",
  "evidence_checked": "TikTok, Meta and Amazon API references; TikTok VBO help pages",
  "verdict": "qualified",
  "change": "All five channels document campaign APIs (D9 sources attached; Amazon D9 raised to 3); Android-only scoped to TikTok Smart+; Amazon iOS status stated as unconfirmed.",
  "reason": "Cited another platform's docs; scope too broad.",
  "affects": "ch. 5, 9, 10; benchmark matrix",
  "sources": [
   "OA1-S06",
   "OA1-S12",
   "OA1-S13",
   "OA1-S16",
   "OA1-S17"
  ]
 },
 {
  "id": "COR-89",
  "original": "Meta and TikTok agent servers: no server-side approval step described.",
  "challenge": "External AI audit item 88; re-check OA1",
  "evidence_checked": "Meta Ads MCP tools and get-started pages",
  "verdict": "qualified",
  "change": "Meta's server creates new campaigns paused and relies on the AI client to confirm activation; no approval step documented for edits to live campaigns.",
  "reason": "Permissions and paused creation are governance, though not per-change approval.",
  "affects": "Abstract; ch. 11; CL-030",
  "sources": [
   "OA1-S10",
   "OA1-S11"
  ]
 },
 {
  "id": "COR-90",
  "original": "Meta A/B test and Dynamic Creative cited to a bundled Meta source whose first URL returns 404.",
  "challenge": "External AI audit item 52; re-check OA1",
  "evidence_checked": "Meta Business Help pages",
  "verdict": "qualified",
  "change": "Split into Meta's own A/B testing and Dynamic Creative pages; noted that Dynamic Creative may be unavailable for new app-promotion ad sets since June 2024.",
  "reason": "Dead and bundled citation.",
  "affects": "ch. 6; F08",
  "sources": [
   "OA1-S08",
   "OA1-S09"
  ]
 },
 {
  "id": "COR-91",
  "original": "iOS postbacks described as pooled; the only install signal Apple allows for users who decline; everyone else works through pooled postbacks.",
  "challenge": "External AI audit items 12, 23-28; re-check OA5",
  "evidence_checked": "Apple SKAdNetwork and AdAttributionKit documentation; Apple Ads help",
  "verdict": "qualified",
  "change": "Postbacks described as per-install reports with no user ID; windows counted from first launch; fine values only in the first postback; tiers include country and campaign code; other networks may add consented first-party attribution; all five EU countries named.",
  "reason": "Terminology and scope.",
  "affects": "Abstract; ch. 1, 3, 4; CL-008; F01; F05",
  "sources": [
   "C-S02",
   "C-S04",
   "C-S05",
   "OA5-S01",
   "RS-S151"
  ]
 },
 {
  "id": "COR-92",
  "original": "Custom product pages: a 2.5-point lift; a custom page does not test anything.",
  "challenge": "External AI audit items 49-50; re-check OA5",
  "evidence_checked": "Apple custom product pages page",
  "verdict": "qualified",
  "change": "Stated as 2.5 percentage points (156%) over a 1.6% default rate; a custom page creates no random split on its own but can be used in a designed test.",
  "reason": "Unit and scope.",
  "affects": "ch. 6; CL-019",
  "sources": [
   "MAIN-S04"
  ]
 },
 {
  "id": "COR-93",
  "original": "Braun and Schwartz: compare everyone assigned to each version, or run a lift test per version.",
  "challenge": "External AI audit item 51; re-check OA3",
  "evidence_checked": "Accepted preprint, J. Marketing 2025",
  "verdict": "qualified",
  "change": "Replaced with the authors' own guidance: platform split tests predict rollout on that platform; isolating the message needs a design that holds delivery fixed. Evidence scope (one Meta test, web lead form) stated.",
  "reason": "Advice not supported by the cited paper.",
  "affects": "ch. 6",
  "sources": [
   "G1-S01",
   "FX4-S01"
  ]
 },
 {
  "id": "COR-94",
  "original": "AppLovin filings neither confirm the June 2026 public opening.",
  "challenge": "External AI audit item 77; re-check OA4; FX4",
  "evidence_checked": "AppLovin blog, 22 June 2026",
  "verdict": "qualified",
  "change": "Opening on 22 June 2026 without a referral code, under the name AppLovin Ads, now stated; filings still do not break out e-commerce revenue.",
  "reason": "Company announcement found.",
  "affects": "ch. 8; CL-033",
  "sources": [
   "OA4-S06"
  ]
 },
 {
  "id": "COR-95",
  "original": "MRC list: none of the major attribution companies appears; methods have not been through that audit. HUMAN 2023 figures.",
  "challenge": "External AI audit items 68, 70; re-check OA4",
  "evidence_checked": "MRC accreditation list (27 Sep 2026); HUMAN post (May 2023)",
  "verdict": "qualified",
  "change": "Named the four attribution companies checked; absence from the list no longer read as no audit; HUMAN figures dated May 2023 with their CTV-and-app scope and the one measure that favoured apps.",
  "reason": "Bounded inference and vintage.",
  "affects": "ch. 8; CL-024",
  "sources": [
   "IJ-S27",
   "IJ-S21",
   "OA4-S07"
  ]
 },
 {
  "id": "COR-96",
  "original": "Age-check rules, Texas status, AdCP governance.",
  "challenge": "External AI audit items 89-92; re-check OA2",
  "evidence_checked": "Utah HB 498; Louisiana Act 185; California DAAA; Fifth Circuit docket; AdCP v3.1.24 tag",
  "verdict": "qualified",
  "change": "Exact dates (Utah 6 May 2027, Louisiana 1 July 2027, California 1 January 2027); Texas stay and pending appeal; Google Age Signals beta scope; AdCP governance described as experimental and opt-in at the v3.1.24 tag.",
  "reason": "Precision and procedural status.",
  "affects": "ch. 11; policy register",
  "sources": [
   "FX2-S15",
   "FX2-S18",
   "FX2-S26",
   "FX2-S17",
   "OA2-S05",
   "OA2-S06",
   "OA2-S07"
  ]
 },
 {
  "id": "COR-97",
  "original": "Google Play policy on paid installs cited to a 2017 blog as current.",
  "challenge": "External AI audit item 54; re-check OA2",
  "evidence_checked": "Google Play User Ratings, Reviews, and Installs policy",
  "verdict": "qualified",
  "change": "Current policy cited; the 2017 statement labelled as history.",
  "reason": "Stale authority.",
  "affects": "ch. 6",
  "sources": [
   "OA2-S04",
   "IJ-S14"
  ]
 },
 {
  "id": "COR-98",
  "original": "Company table and quarter notes: Digital Turbine EBITDA $123m; Unity 'Grow segment'; Liftoff's 'first quarter as a public company'; Liftoff's IPO withdrawal timing; Verve release date.",
  "challenge": "External AI audit section 2, item 20; re-check OA2, OA4",
  "evidence_checked": "Issuer filings and releases",
  "verdict": "qualified",
  "change": "Digital Turbine $122m; Grow described as a revenue category; Liftoff's listing date and partial quarter stated; first IPO attempt withdrawn 17 February 2026; Verve release dated 26 January 2026 (preliminary) with the audited report cited.",
  "reason": "Rounding and labels.",
  "affects": "ch. 2",
  "sources": [
   "AB-S07",
   "G2-S07",
   "G2-S09",
   "FX1-S08",
   "AB-S09",
   "FX1-S12"
  ]
 },
 {
  "id": "COR-99",
  "original": "Liftoff profit column showed only net loss; AppsFlyer called the largest attribution company; its '2025' figures treated as a completed year.",
  "challenge": "External AI audit section 2, items 15, 18; FX4",
  "evidence_checked": "Liftoff 424B4; AppsFlyer report page schema",
  "verdict": "qualified",
  "change": "Liftoff adjusted EBITDA $374m (55%) added; 'largest' removed; report's first publication (December 2025) and unstated period noted.",
  "reason": "Comparability and unsupported superlative.",
  "affects": "Abstract; ch. 2",
  "sources": [
   "FX4-S06",
   "MAIN-S01"
  ]
 },
 {
  "id": "COR-100",
  "original": "Unsupported rankings and absolutes: fastest-growing and least checked; weakest guide; most fraud; none answers; cannot tell; starts cold; most app businesses; widely used; understate.",
  "challenge": "External AI audit front-matter and chapter items 2-3, 8-13, 31-33, 38-40, 44-47, 55, 65-67, 71-72, 76, 86, 93",
  "evidence_checked": "Editorial review against the cited evidence",
  "verdict": "qualified",
  "change": "Rewritten as bounded statements (for example 'grew faster than acquisition', 'especially likely to include demand that already existed', 'we found none'); deep links and routing added as direct media levers; valid comparison groups defined; control's non-performance uses added.",
  "reason": "Claims exceeded the evidence.",
  "affects": "Abstract; ch. 1, 2, 4, 5, 6, 7, 8, 10, 11; CL-001, 005, 011, 014, 018, 031; F01, F04, F09, F11, F12, F13",
  "sources": []
 },
 {
  "id": "COR-101",
  "original": "Appendix lacked the full scoring anchors; Apps DSP screen presented without threshold sensitivity; Markdown edition implied working instruments.",
  "challenge": "External AI audit items 6, 78, 87, 95, 100",
  "evidence_checked": "Build scripts and research brief",
  "verdict": "qualified",
  "change": "Anchors for scores 1-3 published in Appendix H; screen labelled as the author's own, commerce omission explained and threshold sensitivity reported; n/e share now shown to one decimal with the benchmark channels excluded; Markdown edition labelled as the text component with CSV pointers and a note on the reference list versus the full register.",
  "reason": "Reproducibility.",
  "affects": "ch. 9, 11; appendix; Markdown edition",
  "sources": []
 },
 {
  "id": "COR-102",
  "original": "Short-seller allegations, retargeting and brand-search evidence, fingerprinting policy, click-to-cancel status, DMA data rights, AdCP and AAMP governance were placeholders.",
  "challenge": "Gap-fill G3 (red-team requests)",
  "evidence_checked": "Court filings, SEC filings, journals, EUR-Lex, FTC, standards documents",
  "verdict": "qualified",
  "change": "Filled from G3 findings, stated as allegations where they are allegations; re-checked by FX5 (11 supported, 13 qualified, none contradicted).",
  "reason": "Red-team evidence requests.",
  "affects": "ch. 2, 3, 4, 5, 7, 11",
  "sources": [
   "G3-S01",
   "G3-S02",
   "G3-S03",
   "G3-S07",
   "G3-S10",
   "G3-S12",
   "G3-S13",
   "G3-S16",
   "G3-S17",
   "G3-S18"
  ]
 },
 {
  "id": "COR-103",
  "original": "Moloco documents built-in ghost-bid holdouts for re-engagement and CTV; Remerge describes three holdout designs; Jampp's 86% against a ~6% control; Google's 'value above zero' requirement.",
  "challenge": "FX4",
  "evidence_checked": "Vendor pages; Google Ads Help",
  "verdict": "qualified",
  "change": "Moloco's re-engagement page names no method; Remerge's methods restated; Jampp's figures given without period, baseline or uncertainty; the value rule belongs to Demand Gen, not App campaigns.",
  "reason": "Overreads of vendor and platform pages.",
  "affects": "ch. 4, 5",
  "sources": [
   "V1-S13",
   "V1-S14",
   "G1-S05",
   "G1-S06",
   "MAIN-S03"
  ]
 },
 {
  "id": "COR-104",
  "original": "G3 fills: Muddy Waters said 25-35% of conversions were incremental; brand rivals take 18-42% when a brand stops bidding; ghost-ads study at 'one online retailer'; FTC 'started over'; no press report of an SEC inquiry could be confirmed; Google lift API 'does not create studies'.",
  "challenge": "FX5",
  "evidence_checked": "Brownback docket and ECF 76; AppLovin 10-Qs and 10-K; Reuters report; Simonov et al. and Johnson et al. full texts; Federal Register notices; Google Ads API release notes",
  "verdict": "qualified",
  "change": "Muddy Waters wording taken from its report (about 52% retargeting; incrementality about 25-35%); the 18-42% applies to brands that chose not to advertise, with the authors' selection caveat; ghost-ads study described as a Google-built two-week retargeting test; FTC restored its pre-2024 rule and issued an ANPRM with no proposal by the cutoff; the court took the motion to dismiss and a motion to add reported SEC and state investigations under submission in April 2026; Reuters' relay of Bloomberg's SEC report added with AppLovin's no-comment; a separate September 2026 securities suit noted.",
  "reason": "Precision and completeness on legally sensitive and study-scope points.",
  "affects": "ch. 2, 3, 4, 5, 7",
  "sources": [
   "FX5-S01",
   "FX5-S02",
   "FX5-S10",
   "FX5-S11",
   "FX5-S12",
   "FX5-S13",
   "FX5-S19",
   "FX5-S20"
  ]
 },
 {
  "id": "COR-105",
  "original": "Vendor profiles rendered first-pass prose (AppLovin financials and Tripledot terms, an unsupported 'independent geo-holdout' risk line, Google 'no placement reporting', Apple '21-day retention', process language).",
  "challenge": "Round-2 review R2-01",
  "evidence_checked": "Later verdicts, filings and corrected chapter text",
  "verdict": "qualified",
  "change": "Profiles now render a reconciled overlay (data/profile_overrides.json): 142 field changes across 16 profiles; unsupported assertions removed; first-pass profiles kept as history.",
  "reason": "Profiles bypassed chapter corrections.",
  "affects": "ch. 9 profiles; published data",
  "sources": []
 },
 {
  "id": "COR-106",
  "original": "DMA Articles 6(8) and 6(10) 'effective 2022-09-14'.",
  "challenge": "Round-2 review R2-03",
  "evidence_checked": "Regulation (EU) 2022/1925, Arts. 3(10) and 54",
  "verdict": "contradicted",
  "change": "Adopted 14 Sep 2022; in force 1 Nov 2022; applies from 2 May 2023; six months to comply after designation.",
  "reason": "Act date mistaken for application date.",
  "affects": "Policy register",
  "sources": [
   "G3-S12"
  ]
 },
 {
  "id": "COR-107",
  "original": "F05: 'one postback per install'; platform window 'up to 28-day click'.",
  "challenge": "Round-2 review R2-04",
  "evidence_checked": "Apple SKAdNetwork documentation",
  "verdict": "contradicted",
  "change": "Up to three postbacks per winning install, one per conversion window; losing networks get at most one; platform window 'up to 30 days after a click'.",
  "reason": "Figure contradicted chapter 3.",
  "affects": "F05",
  "sources": [
   "C-S02"
  ]
 },
 {
  "id": "COR-108",
  "original": "F08: vendor ghost-bid holdout labelled 'random holdout'.",
  "challenge": "Round-2 review R2-05",
  "evidence_checked": "Jampp blog (G1-S06)",
  "verdict": "qualified",
  "change": "Relabelled vendor-reported holdout; assignment and analysis not published.",
  "reason": "Randomization not documented.",
  "affects": "F08",
  "sources": [
   "G1-S06"
  ]
 },
 {
  "id": "COR-109",
  "original": "LTV model: web checkout as a fixed 5.4% fee at any price; year-two fee chosen separately.",
  "challenge": "Round-2 review R2-06",
  "evidence_checked": "Stripe US card rate (G2-S15)",
  "verdict": "contradicted",
  "change": "Fees modelled as percentage plus fixed fee per payment on linked payment paths; defaults unchanged.",
  "reason": "Equivalence held only at $12.",
  "affects": "F10 model",
  "sources": [
   "G2-S15"
  ]
 },
 {
  "id": "COR-110",
  "original": "Marginal-return model: break-even $70,000 read off a grid; selected spend could fall off the chart.",
  "challenge": "Round-2 review R2-20",
  "evidence_checked": "Model formula",
  "verdict": "qualified",
  "change": "Break-even solved by bisection (about $69,300 at defaults); chart domain includes spend and break-even; 'none' shown when marginal never reaches the target.",
  "reason": "Grid approximation and range.",
  "affects": "F07 model",
  "sources": []
 },
 {
  "id": "COR-111",
  "original": "Amazon DSP D8 scored 3 on 'event-level data'; Mintegral D9 kept at 2 despite a documented campaign API; Digital Turbine D9 rationale incomplete.",
  "challenge": "Round-2 review follow-up",
  "evidence_checked": "V3-F06 correction; second scorer's grade-A sources",
  "verdict": "qualified",
  "change": "Amazon D8 = 2 (AMC outputs aggregated only); Mintegral D9 = 3 (Open API); DT D9 = 2 with rationale covering the Offer Wall API.",
  "reason": "Score records lagged corrected evidence.",
  "affects": "Capability matrix; AQ",
  "sources": [
   "V3-S13",
   "RS-S63",
   "RS-S77"
  ]
 },
 {
  "id": "COR-112",
  "original": "Claim drawers showed first-pass passages, locators and limitations for corrected claims.",
  "challenge": "Round-2 review R2-14",
  "evidence_checked": "Verify-record and ledger passages; re-opened pages",
  "verdict": "qualified",
  "change": "Each claim renders a current evidence record (data/claim_support.json): 157 verbatim passages, 28 new sources, retired findings listed; CL-002, CL-014, CL-015 reworded to match their evidence.",
  "reason": "Traceability.",
  "affects": "Claim ledger and drawers",
  "sources": []
 },
 {
  "id": "COR-113",
  "original": "Platform-run or platform-data studies labelled 'independent measurement' (Gordon, Lewis & Rao, Blake, ghost ads, Pandora, Simonov); offsite-data study labelled 'commissioned'.",
  "challenge": "Round-2 review R2-15",
  "evidence_checked": "Author affiliations and disclosures",
  "verdict": "qualified",
  "change": "New class 'affiliated measurement'; 'commissioned' reserved for documented commissioning.",
  "reason": "Independence labels.",
  "affects": "Evidence ledger",
  "sources": []
 },
 {
  "id": "COR-114",
  "original": "Offsite-data study 'published in 2025'.",
  "challenge": "Round-2 review R2-24",
  "evidence_checked": "Crossref record for 10.1287/mksc.2023.0274",
  "verdict": "qualified",
  "change": "Posted online September 2024; printed in the March 2025 issue.",
  "reason": "Publication date precision.",
  "affects": "ch. 4",
  "sources": [
   "OA3-S02"
  ]
 },
 {
  "id": "COR-115",
  "original": "'613 distinct sources'; 504 'read in full' by a prefix test.",
  "challenge": "Round-2 review R2-13",
  "evidence_checked": "Source register access notes",
  "verdict": "qualified",
  "change": "Counted as distinct source addresses (URLs, not works); read-in-full uses an enumerated access depth that excludes abstract, navigation and headline-only records.",
  "reason": "Count definitions.",
  "affects": "Abstract; ch. 12; source register",
  "sources": []
 },
 {
  "id": "COR-116",
  "original": "Absolutes: 'unvalidated', 'no buyer survey', 'mostly steals credit', 'needs no test', 'only public evidence', 'most profitable'.",
  "challenge": "Round-2 review R2-21",
  "evidence_checked": "Search record and cited evidence",
  "verdict": "qualified",
  "change": "Search-bounded wording throughout; 'highest adjusted EBITDA margin in our table'.",
  "reason": "Claims exceeded the search.",
  "affects": "Abstract; ch. 5, 7, 8, 10, 11; CL-005, CL-029",
  "sources": []
 }
]