# SearchGrade data study — citation STABILITY re-query sample
# Generated by scripts/pick-stability-sample.js. Regenerate with:
#   node scripts/pick-stability-sample.js --seed 20260803 --primary 20 --uncited 10
#
# WHAT THIS MEASURES
#   [GEO] AI Search Presence is the study's only non-deterministic check — Gemini chooses per
#   request whether to run a web search and which sources to ground on. Re-auditing these domains
#   into a SEPARATE directory (study/stability/) and diffing the per-domain verdict against
#   study/data/ yields a measured agreement rate for the citation figure. The main dataset is
#   never touched.
#
# FRAME
#   702 domains with a definite verdict (573 cited · 129 not cited)
#   Excluded: domains whose citation check is `na` — there is no verdict to disagree with.
#   Those are the "Gemini answered without searching" category, published separately.
#
# METHOD — seeded and reproducible
#   Frame sorted by domain (filesystem read order is not portable), then Fisher-Yates with
#   mulberry32, SEED 20260803. Stratum A is drawn first; stratum B is drawn from the residue
#   of the same generator.
#
# STRATUM A — 20 domains, drawn from the whole frame. THE HEADLINE.
#   Report as "N of 20 randomly chosen domains returned the same verdict on re-query".
#   Composition of this draw: 17 originally cited · 3 originally not cited.
#
# STRATUM B — 10 domains, drawn from the NOT-CITED subset only, excluding stratum A.
#   Stratum A is ~82% cited by construction, so it carries almost no information about
#   whether a *not-cited* verdict reproduces — and that is the direction the published claim
#   rests on. This stratum is deliberately biased toward the rarer verdict and MUST be reported
#   on its own line, never pooled with stratum A: pooled, the two describe no population at all.
#   Fixed in advance, before any re-query result was seen.
#   3 not-cited domain(s) already appear in stratum A and were excluded here.
#
# One domain per line. Blank lines and # comments are ignored by scripts/run-study.js.
#
# RUN:
#   node scripts/run-study.js --list study/domains-stability.txt --out study/stability --force
#   node scripts/analyze-stability.js
# --force is required: every one of these already has a record, so a plain run would skip them
# all. --out keeps the re-query out of study/data/ — the main dataset must never be mutated.

# ── stratum A · 20 random from the full frame ──────────────────────────────
who.int                        # was cited
cdc.gov                        # was cited
webempresa.eu                  # was cited
hm.com                         # was NOT cited
aptoide.com                    # was NOT cited
163.com                        # was cited
phpbb.com                      # was cited
pokerplanets.com               # was cited
mcafee.com                     # was cited
agoda.com                      # was cited
weather.com                    # was cited
bing.com                       # was NOT cited
anthropic.com                  # was cited
petco.com                      # was cited
paloaltonetworks.com           # was cited
webmd.com                      # was cited
intercom.io                    # was cited
gov.br                         # was cited
globo.com                      # was cited
saleflow.pro                   # was cited

# ── stratum B · 10 random from the not-cited subset ───────────────────────
airnavradar.com                # was NOT cited
renaissancecreation.com        # was NOT cited
steampowered.com               # was NOT cited
office.com                     # was NOT cited
shopify.com                    # was NOT cited
repubblica.it                  # was NOT cited
teakdoor.com                   # was NOT cited
mit.edu                        # was NOT cited
nintendo.com                   # was NOT cited
meraki.com                     # was NOT cited
