dubai-02 evidence bundle ======================== dubai-02 edition 1, from wave 2 (edition id dubai-02-wave2). Pack dubai-02-v2 (pack hash a985350a5cda3b7a7ca86bc53aa958c192d1ab988dde1816034d65bf13098a04). Collected 2026-09-23 between 02:36:12 and 05:41:21 UTC from ChatGPT (web search forced), Gemini and Google AI Mode through DataForSEO, location United Arab Emirates (2784), language en, desktop, Windows. 2,400 runs: 40 prompts on 3 surfaces, 20 runs each. Wave 1 (edition id dubai-02-edition-1), collected 2026-09-19, ships alongside as a repeat measure. This bundle holds derived tables and a hash manifest. It does not hold the raw responses. See "Deliberately not included". The page these files back ships in the bundle as page/index.html, as committed at answer-census commit cce4c4be946ef69e77538c6c2d918d432b315cda. If the published page is ever edited, the two differ. Contents -------- LICENSE Apache License 2.0, for the code. LICENSE-DATA CC BY 4.0, for everything else. manifest.txt This file. page/index.html The edition page this bundle backs, as built from. pack/dubai-02-v2.yaml The pack all 2,400 wave 2 runs used. pack/dubai-02-v2.lock Its lock: file SHA-256, pack hash, frozen_at. pack/provenance.json The decision and pack commits and the remote's push times for both, recorded before any wave 2 request. timestamps.txt Collection start and end, the commit and push time of 17e8485, and the first extraction run. rules/wave2-decision.md The pre-registered procedure and threshold, as at 17e8485 and as at release. rules/committed-rules.md The extraction and resolution rules, R1 to R7 with their amendments and the disclosure. rules/committed-rules-r5.md The number-only resolution rule, committed for this collection and not implemented in this edition. rules/limitations.md The limitations section, as published. review/round-1-findings.md The four premerge rounds on the rule implementation, review/round-2-findings.md each stating how it was run. review/round-3-findings.md review/round-4-findings.md wave2/runs.csv One row per run: prompt, surface, run index, model identifier as reported, payload_sha256. wave2/attempts.csv Every paid request, including any that failed. wave2/mentions.csv Every extracted mention, redacted, with channel and resolution path (card_prefix flagged). wave2/cells/ The per-cell tables the headline and the firm tables are computed from. Files: cell_firms.csv, drift_check.csv, q1_surface_overlap-2026-09-23.csv, q1_surface_overlap.csv, unresolved_for_review.csv. wave2/names/engine_forms.csv Per credited firm, each title the engines wrote for it, with the runs in which that title credited it. wave2/names/engine_names.csv Per firm, the form the engines most often wrote, which the page shows beside the register name. wave1/ The same tables for wave 1, re-extracted under the same rules for the repeat measure. reports/ The output each page figure is read from, as run. recompute/ The independent reimplementation's result and its account of every difference. Runs from this bundle analysis/dubai-02-wave2/headline.py The headline, on the Python standard library alone: python3 analysis/dubai-02-wave2/headline.py wave2/cells/q1_surface_overlap.csv returns 104 of 115 pairs below the mean (90.4%), median ratio 0.652, REPLICATES. On wave1/cells/ it returns 37 of 42 (88.1%), median ratio 0.676. analysis/dubai-02-wave2/engine_names.py The page's engine forms, on the standard library: python3 analysis/dubai-02-wave2/engine_names.py wave2/names/engine_forms.csv writes wave2/names/engine_names.csv. Ships for inspection, not for running analysis/ Every other script: gate.py, which writes the cell tables; recompute.py, the independent reimplementation; the scripts behind the other figures; and the resolver source they import. They read the ledger databases, the DLD register and the raw answers, none of which ship (see "Deliberately not included"), so they show how each figure was computed and cannot be rerun from this bundle. registry/brand_aliases.csv Hand-researched brand to ORN aliases the resolver reads. registry/name_classes.csv Hand classes and owner rulings on strings. Payload hashes -------------- runs.csv carries the SHA-256 of every stored response, wave 1 and wave 2. Anyone given a response can check it is the one measured. The responses are sent privately on request. File hashes ----------- SHA-256 and size in bytes of every file in the bundle except this manifest, sorted by path. c95bae1d1ce0235ecccd3560b772ec1efb97f348a79f0fbe0a634f0c2ccefe2c 11358 LICENSE b87947c663a62bdb78ad356e8f55833bac91473804d0edce15788a54b5dd1f07 19435 LICENSE-DATA f3c7f1ec7e6e59c164b4d1a1fb1d89d14df715c3199d8f4e51c99b423d2fa2e2 12853 analysis/dubai-02-recompute/recompute.py 9013fc464f762f68b75d5afc89dc7ce9f3de78cd3de36ae9d73c37ecd47c82ee 70196 analysis/dubai-02-w0/gate.py 4afd37f1b1251a3237d1ee399264a0d92605517d726112c530b8131c40e7f50d 3586 analysis/dubai-02-wave2/before_after.py e9286e36f210e96faf584a2c11c1c548a7bf897c065508b708e205736b651c9d 2529 analysis/dubai-02-wave2/card_rates.py 69aa655ce4cbafcd69047ed7f67a30764c5e94f6d0efecec146b756ee289d711 1518 analysis/dubai-02-wave2/combine_ledgers.py e464415f5b76246b19b7d6c2539bec00041b1d86a0e2c1cfe6390918052c6b11 3686 analysis/dubai-02-wave2/containment_bound.py f83c7c2253c828b21934ca66e64bb8a9887e9887da75c633b1fe9628f0991458 2250 analysis/dubai-02-wave2/dormant_resolved.py 5ec8c955768ac2b849761c5e13c4cc753c9fd97cf4393adfd8dd857b2e57ddac 3130 analysis/dubai-02-wave2/duplicate_sensitivity.py 0ed3a8c365bce1abfe59f4d22f5a82b12c1337b4b4a0d400aa7799c48c52c196 3268 analysis/dubai-02-wave2/engine_names.py 4757c2148a2f8d219aaa479272f801235ee31a08761295a91ef02897df18278f 2605 analysis/dubai-02-wave2/firm_tables.py 4b4cf91455073babf687a5246ff06db23ede0abc2b6ce352a56d4fff834bf8eb 3428 analysis/dubai-02-wave2/headline.py 687f21be73f835e68f59f367d7cfad2c33dc6d92d289575c61446003386f2bf5 2950 analysis/dubai-02-wave2/miss_scan_bound.py 99c1bd8d68b5dfbbbeaa7afc6c98feeca567139e4da57cea421060e497e0c05a 2372 analysis/dubai-02-wave2/own_site_probe.py d99368c39f9f6162fb4aff3e08fbe3b5110083769a5c521fea635926848e5cfa 5897 analysis/dubai-02-wave2/permutation_null.py 922efe7fd0f164a7d9422b32186d3c2889e23eb1e3ea8d81480d763623eee167 7244 analysis/dubai-02-wave2/person_review_context.py 98cbcedf3d0170ec21fee723d3e138a12c1adc13e06eced467df18c42df0bbdd 6852 analysis/dubai-02-wave2/provenance.py c96d3c46e1c79cd4b0748e7de903bf60f3704be8d7a7ddbb883ce1a792c605fc 4594 analysis/dubai-02-wave2/r2_sensitivity.py 83cb3d54694ae4653c99cf415f7968e0df512a011f534aafb890f2e371d19613 3120 analysis/dubai-02-wave2/resolution_support_counts.py 7afd37b111389c0932e3ac9bb43b7f22be335755da16046c4b5cd2fa56e463a7 2781 analysis/dubai-02-wave2/run_counts.py fbb0943850a920947c24720f051bf07379e5569ff3ec90cc27db49c97c8fc758 2221 analysis/dubai-02-wave2/stability_blocks.py 128f11772437e2bbaf823593213bc54acdc858065d890e1b71f3aa53b2d6268c 2116 analysis/dubai-02-wave2/unresolved_counts.py 8517ca20afa578fe3012f4a4c85b132ffe99a8d65d073caa05b80ba3c46ec531 6752 analysis/dubai-02-wave2/variant_diversity.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 analysis/packages/brokerage-census/brokerage_census/__init__.py 256c66f9d71b32c14f64f71aab25a89d702779c8563b65c7f4a26354f3b92c91 785 analysis/packages/brokerage-census/brokerage_census/generic.py 32a23366f3355a035d6caaa7f8a628ed81d6edda253e3cac4ab9ac542d9f419a 2653 analysis/packages/brokerage-census/brokerage_census/listing.py bae7e9433c9d78c7e78346bf1d4253dc16460763f72f1ee1b8c3b0763043ce0c 6166 analysis/packages/brokerage-census/brokerage_census/register.py b73d7ec4750579049625e3f1fa6e50044590997e0483636d92ff6e26cae750b2 20771 analysis/packages/brokerage-census/brokerage_census/resolution.py c2babb64f7758ff0f60e923e3e2815e60c81693e0a1c9da90f8dea7af07e398e 1592 analysis/packages/brokerage-census/brokerage_census/suffixes.py e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 analysis/packages/geocensus/geocensus/__init__.py 1919352bd6a029540a55689873a0fdbd43b63adffd55e81476265ac2678e5478 5965 analysis/packages/geocensus/geocensus/clients/dataforseo.py 28815ceb44f9a372922ccf55be43c1afd09c7d1fa70cd5f28cb520497d3f6324 15712 analysis/packages/geocensus/geocensus/clients/engines.py ff681d837b7d8dea91569d4659b8179578b7893f0970558c145b4e59eb8eec51 1459 analysis/packages/geocensus/geocensus/collect/budget.py 04887135be15b69ff1e5a36fe1101c0b74453429453ee5942e0532e9590e5f4e 14179 analysis/packages/geocensus/geocensus/collect/collect.py 130effc3728f98c1efeb147e8e52a943d05002da2336abd900afdfc97d4b79e6 21051 analysis/packages/geocensus/geocensus/collect/ledger.py 6d4549c2e125ddaa9769fd55f1eedd0aadc5793b90130e2b5064c2b3371ce45e 2727 analysis/packages/geocensus/geocensus/collect/lock.py 72abe022c176aa45b5a781a0331d72a57959c24c06f43f034225c9dcd89283b1 17539 analysis/packages/geocensus/geocensus/collect/pack.py 8df1771029174a545074540fbe7a14094c0cabac7b7748990290ce3256c86ce3 4185 analysis/packages/geocensus/geocensus/collect/store.py 7bc99613deaa655b625f1c98b6c8d79907134c8f6d307d4a4de0849bc403ef43 23223 analysis/packages/geocensus/geocensus/extract/mentions.py 25bb2f86584fd500b6f249c62e3131991f791ea0df9f95310ace88c8021d8b17 2164 analysis/packages/geocensus/geocensus/text/normalize.py c116faac764ebdff1044cc06528d289523775595994200d2ae2e2527b9b77bca 56621 analysis/packages/geocensus/geocensus/text/person_names.py 4585f9678b47fc5324f1a51396fbfb150077af674be625c5ecb18474919c162a 2170 analysis/packages/geocensus/geocensus/text/redact.py 766a0503f48de362d00ea847a240f3872b96f94366c9eb5faebebf54c46e0dd1 238 pack/dubai-02-v2.lock 56584ccca803b35b85073c8eacc2d999ec10b418235fa087f1b6d844c7849b5b 8560 pack/dubai-02-v2.yaml fae24b041fc6126efa75cafbbd5062fa3dfef779a816ea66ad348201ca053265 1003 pack/provenance.json f940df41953b9de4f74c584429f526fd6535d17ca5f8d3474cad0b90e15ddfab 228842 page/index.html 4be43e6c417840085d7c49bfc0f21ad6c2a0f3c986aafc5cbb02f9713f3c44c5 5202 recompute/README.md 131b53559b269e03ca822df662fc360e01dd6cfcfe9cfc11299bf2ad58fc7bc6 11523 recompute/result.txt d9ecc113095fd6ad86e6a57b3a90a6c458c23ee676ec6e76c3e8cbfa9da9d36b 5942 registry/brand_aliases.csv 27b08434352a43b52ae054d26f7d52805b8e62a6863d97497ed809ca5ca6deeb 24433 registry/name_classes.csv 1e416048abed33c719c468e62094562526490a01b1891e0690bdacdb4e5bcb2c 820 reports/before-after.txt fca80479dc188991779f3367c56ff3274895f240f370860ec07236fbe3129870 2718 reports/card-rates.txt 86f4823834819b2885c4276cda4b93d4ade58d42a52ed429d767f86e3a57e2eb 669 reports/containment-bound.txt 76dfd1c1e1517511cefef8f4e2dcd5894f3c5b09474a655cf555175df780bec2 854 reports/duplicate-sensitivity.txt 112fd6966b5d8285163b038634ef9d6bbb457fc85e04bf0a30d8d3ab01549fa8 33318 reports/firm-tables.md 189245b8fe545a2eff1d4517d3d55fad9175cb12491248383a863567c105e808 3316 reports/headline-rerun-2026-10-06.txt 29642d44660f65e593bca72c022098508a9b84987769f611ec1cb359ef1d6fe6 1531 reports/headline-run-extended.txt b083a2bb0a678d1dbde29d1095899e04851da4cdf072651cf27e382bb3633d51 1153 reports/headline-run-preregistered.txt ab40cd2aacca5fcf05c49b6a0044c45ff0a6e2d6f43ba6eabc46af6e9d29ba43 644 reports/own-site-probe.txt bd54ec7085b49ab336c148cbe697e2d0a10ab9e478258459864f8776a60d09c8 453 reports/permutation-wave2.txt b3e75d92677ce566f4c7b356ea80e597e44fe185e1cdc6a21b2a9ba31bb8d407 1325 reports/provenance-wave1.txt 162fd9cf627a20c518b5f5f4473671605dd31d3fbfe1c8d1136f5284719b77dc 1182 reports/provenance-wave2.txt c3f9f7390294bba8b05ddcbe9b60b9a064306f60154048dc7ce5a67565d2aa4a 1408 reports/r2-sensitivity.txt a2b4dac0a3262affd39b1fa9fad2616cd24a6bc9dc66d5d5fdfa85dfc0efec35 439 reports/resolution-support-counts-wave2.txt f057f9144ccd770154f8d2060c0b784dd51ec5c342429721dad5b1135129a166 536 reports/run-counts.txt d7e9b914d109419a67ef5c2952004768c577316ee168112fae6bebaf51bac3eb 246 reports/stability-r1.txt 5e626d15f987e767bf4af792662ba712dc6b319664e1d56b89e0aff3d4b12499 475 reports/unresolved-counts.txt 538f90400d7c5354eeb2bfad0097793fc7bf73d1b67a42ff35182cc84a480b09 808 reports/variant-diversity-wave1.txt 049c157c63bb2c4ef0794c68d2133c9cd7169029699ff99bcfe96d009fe66645 809 reports/variant-diversity-wave2.txt 6142ff77c58e830c4551877551cda651c91f80e2d6f0a828c0becdd19d9cb526 1296 reports/wave1-rerun.txt 289428cd249bc104ecb47ebdb3514550c704c8877c99eeef3d91d49ed1345e71 5390 review/round-1-findings.md c0f2384caa7cdc056474250b6cc49df1e7d14e54b22d5fed810320a20bd893d1 5950 review/round-2-findings.md 57fe5642b4ae648bbb8590c15c0d2d6c5058b8f4a4ac8cd6d23514d285dd6f0d 4588 review/round-3-findings.md 6fb90450828c6a728fabc82227ff54b261c7cf3b94cc5ca7a9192c0d464f41ee 3211 review/round-4-findings.md 8faac4b113875e18feee6af83bb340f70f308a89cea2b337e9d085ca9391efb7 2531 rules/committed-rules-r5.md c3c94ca634ef03ae5a91b379cc604eae053bb6ac991d25239de200a34abb6875 35814 rules/committed-rules.md 6192ecd1c64f1b06ad4dd2dca3186d371976f9c98a8fb36dc9eee3e1a01e27a6 12253 rules/limitations.md 2efed6878da3cc17e81d88492b9484eb524f03338399c012378d15f3cc9f307b 10565 rules/wave2-decision.md 6cf71fcbd25fc2314b3f71f7e07646ec22aa066bac73b68358747498bcbcddae 2565 timestamps.txt 3124cc98cbe64b2a8b4638b272dc229327b9c4ca229087274e85b4c60a3c00e3 462753 wave1/attempts.csv e1889b0e4d80f1ae00f0dc60e8530731c8fc545a2ccee05f75ff775b5b78773f 338378 wave1/cells/cell_firms.csv d9e45ad277de99b38a882f7a2007b8076747e9cb43680d0136867b61f8cdf3ef 1196 wave1/cells/q1_surface_overlap.csv d36c9945d350f28f95c7f12ec4b6ec2103873f4d22421c11589b27fd40fe354e 203091 wave1/cells/unresolved_for_review.csv dfb1de00fc0cebeebb506bf8d91c899c8e804b43030e309735e2b392725d7a0f 14276805 wave1/mentions.csv be84da651e3fd0e1ad6aae61e971557c6433d48597112e345f534a9281fed687 930685 wave1/runs.csv 473cf5ec65f7d8eedfbd285e0e224c44317824ce018cafad176eefcf267fa785 782196 wave2/attempts.csv d46aca7cbd5bb774564fbef22ae1ae88e217f14b520a4bfb4353e3f5e440c3a4 575549 wave2/cells/cell_firms.csv 709b8e23141bd979f692f87689d61f6bcfe8fbd077406ed74ae66ef1a2ce8989 3316 wave2/cells/drift_check.csv 7294e892c0f399c3957608439706a717e78962a25c89316f540643dafb68c710 2901 wave2/cells/q1_surface_overlap-2026-09-23.csv dc874a17b21d2c417a56ccc050b7b4179218bd1db392146a8515b798fc0e0205 2908 wave2/cells/q1_surface_overlap.csv 80c0673a1181f42d8a398cda51d0ead4bb341cd7b865eeec354584209661051c 308406 wave2/cells/unresolved_for_review.csv 99c9ca0550edc3ed5cd88a9bc03e60a2cf6fc89a7475037cddb4ad4041b3b343 19548295 wave2/mentions.csv 8cbde66b44196b69c505bc9747db65ef82f6b1cf662b607a078dab7448bdab41 339782 wave2/names/engine_forms.csv e30c2bb894be0ee5d8c10f809f50f0adda05667b5651aa24c8b02c371e5c42e3 11354 wave2/names/engine_names.csv e14b15db2cc19159255d9215a8ab12e9bcf96d8c8b438182ca854606d340ddcf 1535608 wave2/runs.csv Deliberately not included ------------------------- 1. The raw responses. They contain individuals' names, and the detector that finds names has known limits: a single-token name, and a name glued to the next word, are invisible to it. A name it cannot see in raw text is published if raw text ships, and never published if it does not. The payload hashes above stand in for the responses. Every file that does ship passed the repository's phone and name scan before release. 2. The Dubai Land Department broker register. Source: https://www.dubaipulse.gov.ae/data/dld-registration/dld_brokers-open It is a public government dataset and is not ours to republish. The study used the export downloaded on 2026-09-16 and built a one-row-per-ORN firm table from it: raw export, brokers-2026-09-16.csv SHA-256 20c008c3d48942a321bc47dc2f38e70e3442535e045a14048b67da8c1c53f806 firm table, firms.csv SHA-256 1b4546fbbd28340af3208fd2e7b19b38fda1b1ec9cf26716dab4b38d2d4882ae Dubai Pulse updates the dataset, so a later download will most likely match neither hash. 3. Internal working documents. Working notes from the run contain claims later revised. Their tables ship as CSV where a published figure rests on them; their prose does not.