# EASD 2026 → AI answers: pre-registered protocol (Signal Note 06)

**Written and committed 2026-10-02, ~10:00 UTC — before any after-window cycle exists.** The last
stored cycle read when this was frozen is UAE `UAE-C15` (29 Sep, 14:04 UTC). The Singapore
cycle due 2 Oct ~14:03 UTC has not run. The commit that adds this file is the timestamp; nothing
below may be changed after the first after-window cycle completes except under §9 (deviations),
which records the change rather than overwriting the rule.

Inputs this protocol rests on, all committed alongside it:
`docs/evidence/signal-note-06-post-easd.md` (the record through 29 Sep) ·
`docs/evidence/computed/signal-note-06-post-easd-series.json` ·
`docs/evidence/signal-note-04-pre-easd-baseline.md` (Note 04, the "before").

---

## 1. The question

**Did the evidence presented at EASD 2026 reach what four AI engines tell people about two
established diabetes and obesity medicines in two markets — how fast, through which sources — and
did it change how those medicines are named, positioned or described?**

To our knowledge this has not been measured: a congress's evidence traced, source by source and
day by day, into consumer-facing AI answers, on a series whose baseline was published before the
congress opened (Note 04, 24 Sep).

Four sub-questions, each with its own endpoint (§4):

| | Question | Endpoint |
|---|---|---|
| Q1 | Did congress evidence enter the answers, and how long after presentation? | E1 penetration + latency |
| Q2 | Did the measured medicine's naming move beyond ordinary variation? | E2 naming movement |
| Q3 | Did investigational agents presented at the congress enter answers to patients' treatment questions, and are they described as unapproved? | E3 pipeline intrusion |
| Q4 | Did the clinical content of the answers change: the efficacy figures stated, and (Singapore) the place of SGLT2 inhibition relative to metformin? | E4 clinical currency · E5 first-line framing |

## 2. Series and instrument

| Series | Market frame | Prompts | Answers / engine / cycle | Cadence |
|---|---|---|---|---|
| A GLP-1 medicine (UAE) | UAE, persona `general` | 60 | ~54 scored | 4 days (cron 14:00 UTC) |
| An SGLT2 inhibitor (Singapore) | Singapore, persona `general` | 26 | ~19 scored | 4 days |

Engines and models, fixed: ChatGPT (gpt-4o-mini) · Claude (claude-haiku-4-5) · Gemini
(gemini-2.5-flash) · Perplexity (sonar). **A cycle is admitted only if:** same four models;
captures exist for ≥ 95% of its prompts; prompt set matches the series' first cycle at the rate
already recorded (UAE 57–60/60, Singapore 26/26); zero cache hits. A cycle failing any of these is
reported and excluded, never repaired.

**The instrument changed on 27 Sep (ENGINE_VERSION 4 → 5).** Sampling was pinned to a fixed
setting on three of four engines; the fourth was already pinned. Models, questions and scoring did
not change. This protocol treats the change as a measured quantity (§6), not a footnote. No
during- or after-window cycle is ever compared with a v4 figure except through §6.

## 3. Windows (UTC; the congress ran in CEST, UTC+2)

| Window | Definition | Expected cycles |
|---|---|---|
| Before, v4 | Note 04's series through the last v4 cycle | UAE 13 (22 Aug – 25 Sep) · SG 15 (22 Aug – 26 Sep) |
| Before, v5 | v5 cycles completing before 28 Sep 06:00 | UAE 27 Sep · SG 27 Sep (**excluded**: 17/26 captured) |
| During | 28 Sep 06:00 – 2 Oct 22:00 | UAE 29 Sep · SG 2 Oct |
| **After** | cycles starting after 2 Oct 22:00 and completing by **11 Oct 23:59** | UAE 4, 8 Oct · SG 6, 10 Oct (more if §7 cadence is approved) |

The analysis is run once, on 12 Oct, over every admitted cycle in the windows above. No cycle after
the cutoff is added to the published reading; a later cycle can only appear in a later note.

**Verified presentation times** (EASD 2026 Final Programme, fetched 2 Oct; CEST): REIMAGINE 1, LBA
11/12 (CagriSema) — Tue 29 Sep 14:45 · TRIUMPH-2 (retatrutide) — Wed 30 Sep 08:30 · CagriSema
appetite, abstract 122 — Wed 30 Sep 14:30 · ACHIEVE programme (orforglipron) — Thu 1 Oct 08:30 ·
SMARTEST (SGLT2 inhibition vs metformin, first line) — Thu 1 Oct 09:30 · ACHIEVE-4 kidney
outcomes, LBA 25 — Thu 1 Oct 15:30 · tirzepatide vs semaglutide proteomics, LBA 29 — Thu 1 Oct
15:30. **This list is the readout set.** A readout verified later is added under §9 and flagged as
post-registration in every table that uses it.

## 4. Endpoints

### E1 — Congress penetration and latency (primary, both series)

Per engine, per cycle: the number of answers (of answers captured) that **cite** a
congress-derived source, or whose **text reports a result** of a readout in the readout set.

Congress-derived source, four classes, decided by reading the fetched page, never the domain alone:
(a) the congress's own pages, programme or abstracts; (b) a journal publication of a readout-set
trial; (c) a sponsor release dated 28 Sep or later reporting congress data; (d) news or medical
media dated 28 Sep or later reporting congress data. Every new URL in the window is classified and
entered in a ledger with its fetch date and the sentence that qualifies it. Gemini redirect links
are resolved by the `Location` header (read, not followed), as in the 29 Sep record.

**Latency** for each engine × readout: days from presentation to the first admitted cycle with ≥ 1
qualifying answer. No qualifying answer by the cutoff is reported as **not observed by day N**
(right-censored), never as "the engine ignores the congress".

### E2 — Naming movement (primary, both series)

UAE: per engine, after-window pooled K/N of answers naming the medicine. Singapore: naming is at
the ceiling (98.7–100% in every v4 cycle), so the E2 measure there is the governed **average rank**
and the mention rates of the medicines named beside it.

**Decision rule.** A movement is declared for an engine only if its after-window pooled rate lies
outside that engine's **bridged band**: the v4 single-cycle range (UAE: Perplexity post-step
46.3–58.8%, Gemini 48.1–74.1%, ChatGPT 20.4–44.4%, Claude 40.7–55.6%, four-engine 41.2–51.2%)
shifted by the §6 v4→v5 offset for that engine, with each end widened by the offset's 95% interval.
Magnitude is labelled on the house scale: < 5pp SMALL · 5 – < 10 POTENTIALLY RELEVANT · 10 – < 15
DECISION-RELEVANT · ≥ 15 MAJOR. If §6 does not run, E2 is reported **descriptively only**, and the
note says so in those words.

**Attribution rule, fixed now.** A movement is called a *congress effect* only if, in the same
engine and window, E1 is non-zero **and** the answers carrying congress-derived sources name the
medicine at a rate different from that engine's other answers in the window. Every other
combination is reported as what it is: *movement without congress sources*, *congress sources
without movement*, or *neither*.

**What the study can detect** (95% half-width at p = 0.5): two after-window UAE cycles give
≈ 108 answers per engine, ± 9.4pp — only a MAJOR movement is detectable per engine. Seven daily
cycles give ≈ 378, ± 5.0pp — a DECISION-RELEVANT movement becomes detectable. Singapore per-engine
naming (≈ 19 per cycle) cannot resolve less than a MAJOR change on any plausible cycle count; that
is why its E2 is positioning, not naming.

### E3 — Investigational-agent intrusion (primary, UAE; secondary, Singapore)

Per engine, per cycle, across the **whole series from 22 Aug** (so the pre-congress rate is the
comparator, on both instrument versions separately): answers naming an agent in the readout set
that was investigational in the market frame on the day of the cycle — retatrutide, CagriSema
(cagrilintide + semaglutide), and orforglipron in any market where it held no approval. Approval
status per agent per market is established from the regulator's own record before classification,
and recorded with its URL. Each naming answer is then read in full and coded:

- **Status correct** — states the agent is investigational, in trials, or not approved in the market;
- **Status absent** — names it without stating status;
- **Status wrong** — presents it as available, prescribable or approved where it is not.

The clinically material count is *status absent + status wrong in answers to a "which medicine"
question*. It is reported however small, including zero.

### E4 — Clinical currency of efficacy claims (secondary, UAE)

Every answer that states a numeric weight-loss or glycaemic effect for the measured medicine is
coded to its trial of origin. The reference values are taken from the medicine's label and the
primary publications, fetched and recorded **before** any answer is coded, with URLs. Outcome per
answer: *matches a labelled figure* · *matches a published trial figure not on the label* ·
*matches no identifiable source* · *matches a congress-window figure*. Reported per engine per
window. This is a description of what the answers tell patients, not a judgment of any engine.

### E5 — First-line framing (secondary, Singapore; the SMARTEST readout)

Per engine, per cycle: answers describing SGLT2 inhibition (or the measured medicine) as a
first-line option in type 2 diabetes, alternative to or ahead of metformin, coded by reading each
candidate answer in full (candidate selection by text search for *first-line / first line /
initial / instead of metformin*, then manual review). Before vs after, per engine. A rise with
SMARTEST among the sources is reportable as such; a rise without it falls under the E2 attribution
rule's wording.

## 5. Secondary, descriptive

- The Dubai clinic page (Note 04's source): Perplexity citations per cycle, continued.
- New local or regional pages drawing ≥ 10% of one engine's answers in a cycle (the 29 Sep and
  26 Sep entries continue to be tracked).
- Source-class mix per engine per window: regulator · journal · congress · sponsor · news/medical
  media · clinic · consumer/retail. Domain churn is normal (Perplexity 11–46 and Gemini 53–215 new
  domains per v4 cycle), so a new domain alone is never a finding.

## 6. The instrument bridge (requires founder approval of spend; see §7)

**Purpose:** convert the v4 band into v5 terms, so that Note 04's band can still judge the after
window. **Design:** for each series, the stored battery (the exact prompt texts of the most recent
admitted cycle), run on the same four models in **interleaved** replicates on one day: R = 3 at the
v4 setting (each engine's vendor default, exactly as the v4 request paths sent it) and R = 3 at the
v5 setting. Scored by the production scorer, unmodified.

**Estimand:** per engine, the v5 − v4 difference in naming rate, paired by prompt and pooled over
replicates, with a bootstrap 95% interval over prompts. Also reported: v4-setting run-to-run spread
(which should reproduce the v4 band's width, a check on the bridge itself) and v5 run-to-run spread.
ChatGPT's path did not change, so its offset is expected to be ≈ 0; **a ChatGPT offset whose
interval excludes 0 means the bridge measured something other than the instrument, and the bridge
is then reported as failed and not applied.** That is the bridge's built-in negative control.

The bridge is run once, between 3 and 9 Oct, and never re-run to obtain a different offset.

## 7. Optional cadence change (requires founder approval)

Both series move from 4-day to daily cycles from 3 Oct to 11 Oct inclusive, then return to 4-day.
Effect: E1 latency resolves to a day rather than four; E2's per-engine half-width in the UAE falls
from ± 9.4pp to ± 5.0pp. The change is in cadence only: battery, models, persona and scoring are
untouched, and every extra cycle passes the same admission rule.

## 8. What is reportable as a result

All of the following are findings, decided now, so none can be dressed up or suppressed later:
congress evidence reached the answers in some engines and not others · it reached none of them by
day N · naming moved without congress sources · congress sources arrived without moving naming ·
investigational agents appeared as options, with or without their status · answers' efficacy
figures predate the congress, or match no source. **"Nothing moved, and nothing from the congress
arrived" is a complete result and will be published as one.**

## 9. Deviations

Any change after the first after-window cycle — a readout added, a cycle excluded, an endpoint
re-coded — is appended here, dated, with its reason and its effect on each result it touches. The
rules above are never edited in place.

## 10. Disclosure boundary (unchanged from Notes 04 and 06 drafts)

Neither medicine, the clinic, nor any local business is named in the published note. Withheld:
question text, battery composition, calibration figures, the parameter changed at v5 and its
values, version history, regex-based diagnostics, scoring internals. Published: model names,
denominators, windows, the readout set with its programme times, and the fact and effect of an
instrument change, in neutral terms.

### Deviation log

**D0 — 2026-10-03, record of timing.** The baseline coding (E3–E5 on UAE 22 Aug – 29 Sep and
Singapore 22 Aug – 26 Sep, 15 admitted cycles each) was produced 2026-10-02 between 10:08 and 10:14
UTC by local file times, before the Singapore cycle of 2 Oct (~14:03 UTC) existed, and is committed
on 2026-10-03 with its scripts (`scripts/easd-2026-study/`). The E4 reference values were written
before the coder first ran. Cutoffs are enforced in code (`lib.ts`, `BASELINE_CUTOFF_ISO`).

**D1 — E5 reading unit.** Each candidate answer is read at the level of every paragraph containing a
candidate term plus the answer's headings, not the whole answer. Applied identically to both
windows. Effect: none on the comparison; a whole-answer read could only add context, not candidates.

**D2 — E5 adds a reported category, not a counted one.** `first-line with metformin`: SGLT2
inhibition described as a first-line add-on to metformin regardless of HbA1c (the wording of current
guidance). 48 of 202 baseline candidates. It is neither "instead of / ahead of metformin" nor "not
first-line", and it is precisely the framing SMARTEST tests, so collapsing it into either code would
hide a movement in either direction. The protocol's E5 count (instead of / ahead of metformin) is
unchanged; this category is reported beside it, per engine per window.

**D3 — OCTANE added to the readout set, post-registration, flagged.** A congress-window efficacy
figure for the UAE medicine (sponsor release, presented 30 Sep per the sponsor). Used only as an E4
reference value and an E1 source class (c). Its programme entry is to be verified against the EASD
final programme before 12 Oct; if it cannot be, it stays sponsor-sourced and is labelled so.

**D4 — E4 hand-check rule.** A 50-figure audit of the scripted E4 coder found 2–4 errors (92–96%),
below the house 95% bar for a published category, concentrated in "matches no identifiable source"
at decimal precision (figures belonging to other products, or paired figures read in the wrong
order). Rule: every figure coded *no identifiable source* or *congress-window*, in both windows, is
read by hand before publication; the scripted code for those two categories is never published
unchecked. Integer figures yield a category, not a trial (several trials share an integer).

**D5 — E3 "offered as an option".** An answer listing an investigational agent as an option while
stating its status stays *status correct*. The count of investigational agents offered as options
(status stated or not) is reported descriptively beside E3.

**D6 — E3b, exploratory and post-registration: status errors about registered medicines.** The
baseline exposed an error E3 cannot see: registered medicines described as unapproved or "awaiting
approval" in the UAE (e.g. a medicine registered by the national regulator on 2 Apr 2026 described
in September as awaiting approval). Screened by the same rule in both windows, every candidate read
by hand, reported as exploratory and labelled post-registration wherever it appears.

**D7 — 2026-10-05, a defect in the coder, fixed before any after-window coding.** Two regular
expressions in `scripts/easd-2026-study/code.ts` carried a raw backspace byte (0x08) where a word
boundary (`\b`) was written: the E4 prevalence exclusion and the oral-semaglutide-for-diabetes
disambiguation. Both therefore matched nothing, so the rules as written were not the rules applied.
Found by the repository's control-byte and source-integrity gates. The bytes were replaced and the
baseline regenerated from the same raw pull, unchanged inputs. Effect: E4 answers with a coded
figure 452 → 450, "no identifiable source" answers 100 → 98, figures excluded by rule 96 → 97. E3
and E5 unchanged. `verify.ts` 19/19. No rule changed; the code now applies the rule already
registered, so this does not reopen the scheme.

**D8 — 2026-10-05, correction to D6's example.** A hand read of every candidate (Insight 06's
evidence, `docs/evidence/insight-2026-10-05-register-vs-answer.md`) shows the "awaiting approval in
the UAE" sentences concern a tablet registered on 4 May 2026, not the medicine registered on 2 April
2026; answers about the latter put its availability in the future rather than calling it
unapproved. D6's rule is unchanged; only its illustration was wrong.

**D9 — 2026-10-05, daily cadence from 5 October, not 3 October.** §7's daily cycles were approved on
5 Oct; the cadence change could not deploy earlier. Implemented as a time-boxed pin
(the scheduler's pin table, both series, 5–11 Oct) with a scheduler fix the same change
exposed: the due check compared the interval exactly while scans record their completion minutes
after the 14:00 cron, so every interval had run one day long (every "daily" gap 2.00 days, every
4-day gap 5.00). After-window cycles already on file: UAE 4 Oct; Singapore 2 Oct (during window).
Effect: from 5 Oct both series measure daily through 11 Oct; E1 latency resolves to the day from 5
Oct, to the cycle spacing before it. No battery, model, persona or scoring change.

**D10 — 2026-10-05, a third market added, post-registration: Saudi Arabia.** At the founder's request
(Saudi is the more material market for the Gulf focus of this work), a third series joins the study.
Singapore is NOT dropped: it was registered here and published as half of Note 04's baseline, and
removing a registered arm after data began arriving is what this protocol exists to prevent.
The added series: a type 1 diabetes medicine in Saudi Arabia ([commercial-relationship detail withheld], persona
`practitioner`, 56 questions, same four models), the only Saudi diabetes or obesity series with a
pre-congress record: 11 cycles on ENGINE_VERSION 4 (24 Aug – 26 Sep), one v5 cycle before the
congress (27 Sep), and one after-window cycle already on file (4 Oct, 16:34 UTC), which **no one has
read** at the time this entry is committed. Rules for this arm, fixed now:
- **Windows, admission and analysis date** exactly as §2–§3 (after window = cycles starting after
  2 Oct 22:00 UTC and completing by 11 Oct 23:59). Daily cycles 5–11 Oct by the same pin mechanism
  ([internal job name withheld]; D9).
- **Endpoints:** E1 (congress penetration and latency, same source classes, same ledger) and E2
  (naming movement against its own v4 single-cycle range, bridged by its own §6 bridge run with the
  same design and negative control). E3 applies with the agent set defined for type 1 diabetes and
  verified against the EASD 2026 programme and each regulator's record before any after-window
  answer is coded; the set and its sources are committed before coding. E4 and E5 do not apply
  (they are defined for the GLP-1 and SGLT2 series respectively).
- **Labelling:** every table, figure and sentence that uses this arm marks it as added after
  registration. Its baseline coding is produced, by the same scripts, with a pre-congress cutoff
  (26 Sep), before any after-window cycle of this arm is read.
- **Reporting:** the note reports all three arms. No arm is promoted or demoted on the basis of its
  result.

**D11 — 2026-10-05, the first bridge attempt was lost; the bridge was rerun with checkpoints.** The
first §6 bridge run (UAE, begun the morning of 5 Oct) held its outcomes in memory and wrote only at
the end. A tooling time limit killed the process at 12:06 UTC after four of its six runs; no outcome
was written or displayed, no offset was computed, and nothing from it enters any analysis. Its
metered cost (about $24) is reported as a cost of the study. The bridge was then changed in method
of execution only — not in design: every answer's outcome (run, arm, model, question id, named or
not; no text) is appended to a checkpoint as it arrives and a restart resumes from it; a failed call
is retried, a scored one never redrawn; the offset is computed only from a series' complete six
runs. Design, order (A-B-B-A-A-B), R = 3 per arm, scorer, population, bootstrap and negative control
are as §6. Because every bridge call draws on the same daily spend cap production scans use, the
series run on separate days, each series entirely within one day: UAE 5 Oct (rerun from 12:44 UTC);
Singapore and Saudi Arabia 6 Oct. A series begun on one day is never resumed on another. Before any
paid call, the scorer re-scored each series' stored source cycle and reproduced its governed
per-model counts exactly (UAE 4 Oct cycle, Singapore 2 Oct, Saudi 4 Oct).
*Disclosure against D10.* The Saudi bridge's source is its latest v5 cycle, which is the 4 Oct
after-window cycle D10 recorded as unread. Its validation step therefore displayed that cycle's
per-model naming counts (the scorer's output, an E2 input) on 5 Oct, before the Saudi E3 agent set
and baseline coding were committed. No answer text from that cycle was opened. Naming counts are
produced by the unmodified production scorer and involve no coding judgment, so seeing them cannot
shape a coding rule; E3 reads answer text, and the Saudi E3 agent set and baseline coding are
still fixed and committed before any after-window Saudi answer is read. The statement in D10 that
the cycle was unread is accurate as of D10's commit and no longer accurate for its naming counts.

**D12 — 2026-10-05, the Saudi arm's E3 agent set and coding rules, fixed before any of its answers
is coded.** D10 required the type 1 diabetes agent set to be verified against the EASD 2026
programme and each regulator's record and committed before coding. It is committed with this entry:
`docs/evidence/easd-2026-t1d-agent-set.md` (sources), `scripts/easd-2026-study/lib.ts`
(`T1D_AGENTS`, match rules), and the regulator snapshot
`docs/evidence/computed/easd-2026-regulatory-status-saudi-t1d-2026-10-05.json`. Rules, fixed now:
- **Membership:** every named molecule or product presented at EASD 2026 in a type 1 or autoimmune
  diabetes context, clinical or translational, with no FDA or EMA authorisation for any indication:
  SAB-142, MTX-101, retogatein (GAD-alum), CRG-002, CT-868, hepatic-directed insulin lispro, GZR33,
  PRV-101, CNTY-813, tipifarnib. Teplizumab, the measured medicine, is never in the set. The
  programme names none of zimislecel, baricitinib, verapamil or the other agents often discussed in
  type 1 diabetes; they are counted as descriptive context only, never coded.
- **Saudi status cannot be read from SFDA's searchable register.** It is a POST form behind
  reCAPTCHA, which this study does not submit, and the Saudi Drug Information site refused the
  connection. The SFDA list that can be read covers approvals from Feb 2025 to Feb 2026 only. Every
  agent is therefore "not established" in Saudi Arabia and, by the rule already applied to
  Singapore (S2), stays in scope with **every code provisional**. FDA and EMA records are shown
  beside it and never set the Saudi status. This differs from §4 E3, which establishes status from
  the market regulator's record; it is a limit of access, stated wherever a Saudi E3 figure appears.
- **E3-i, exploratory:** molecules approved for another indication and presented at the congress as
  investigational in type 1 diabetes (sotagliflozin, tirzepatide, semaglutide, BCG, fenofibrate) are
  not investigational agents in §4's sense and never enter E3. Answers naming them are coded for
  whether they state that the type 1 diabetes use is unapproved. Per window and per agent, at most
  60 answers are coded, chosen by a seeded hash (seed 20261005), with Wilson intervals.
- **Admission:** the first-cycle prompt match for this arm is 54 of 56 (≥ 95%, the §2 rule; 53 of 56
  is 94.6%).
- **Outputs:** this arm writes only to its own files (`docs/evidence/computed/easd-2026-saudi-*`,
  `docs/evidence/easd-2026-saudi-coding-ledger.md`) and from its own manual codes. The registered
  outputs were regenerated with the extended coder from the same inputs and are byte-identical.

**D13 — 2026-10-05, two corrections to D10 and D12, found when the Saudi baseline was first
admitted.** (1) *Prompt matching.* D12 set this arm's first-cycle match at 54 of 56 (≥ 95%). §2's
rule is that a cycle matches the series' first cycle "at the rate already recorded" (UAE 57–60/60),
not a 95% threshold. The first Saudi cycle (24 Aug) differs from every later one in four
persona-slot questions, reworded on 27 Aug. From 27 Aug to the 4 Oct after-window cycle, the 56
questions are identical in every cycle (checked on question text only; no answer text was read).
The rate already recorded is therefore 52 of 56, and that is the rule now applied. As written, D12
rejected 10 of the 11 pre-congress cycles and would have rejected every after-window cycle. The
correction was made from the baseline's admission table, before any Saudi answer was coded and
without reading any after-window text. (2) *Persona.* D10 describes the series as persona
`practitioner`. The stored question text frames every question for [fixed framing instruction withheld under §2.8]. The arm is reported with the frame its questions actually carry. Also recorded: the
27 Sep v5 cycle captured 9 of 56 questions and fails §2's capture rule, so this arm has no admitted
pre-congress v5 cycle; its v4-to-v5 comparison rests on the §6 bridge alone.

**D14 — 2026-10-05, the first daily UAE cycle was mostly served from cache; the cache was
shortened.** The production scan reuses an engine's answer to an identical brand-neutral question
for the TTL of a category cache. That TTL was 24 hours, and the daily cron fires at the same minute
each day, so consecutive daily scans start a few minutes under 24 hours apart. The 5 Oct UAE cycle
(`UAE-C17`, 14:01 UTC, 23h56m after the 4 Oct cycle) took 45 of its 60 questions per engine
from the 4 Oct answers; only 15 per engine were fresh calls, and only those were captured (the
cached ones are byte-identical to 4 Oct's captures). The cycle fails §2 (captures for 25% of its
prompts; cache hits) and is **excluded**, never repaired. Singapore 5 Oct (`SG-C18`,
3 days after its previous cycle) is unaffected and complete. Fix, deployed 5 Oct before any other
daily cycle: the cache TTL is 12 hours, below the shortest gap the scheduler allows between two
scans of a daily brand (24h minus the 6h slack of D9); a scheduler test now fails if the
TTL ever reaches that gap. Effect: the UAE arm has daily after-window cycles from 6 Oct, one fewer
than §7 planned; Singapore and Saudi Arabia are unaffected. The bridge (§6) calls engines directly
and never used this cache. Found from capture counts and timestamps only; no answer text was read.
*Addendum to D14, same day.* A cache entry keeps the TTL it was written with, so entries written at
14:01 UTC on 5 Oct under the 24-hour TTL would still have been live at the 6 Oct scans. A second
deploy (completed by 14:45 UTC, 5 Oct) moved the cache to a new key namespace, making every such entry
unreachable; nothing in production was deleted. Every scan from 6 Oct reads only entries written
under the 12-hour TTL.

**D15 — 2026-10-08, the Singapore and Saudi bridges ran on 8 Oct, not 6 Oct; corrections to D11;
a regulator record was unreadable.** (1) *Date.* D11 scheduled both bridges for 6 Oct. Neither ran
until 8 Oct because no operator session ran on 6–7 Oct. Each still ran entirely within one day,
on the design of §6, from its latest admitted v5 cycle (Singapore 7 Oct, Saudi 7 Oct). The bridge
is a contemporaneous paired comparison of the two instrument settings, so its date does not enter
the estimand. Singapore: 456 outcomes, 0 failed, $14.22; naming is at ceiling (19/19 on every
engine in every run), so its offsets (0 to +1.8pp) can only show the absence of a change that a
ceiling could hide; Singapore's E2 is positioning, not naming, as §4 already says. Saudi Arabia:
1,320 calls, 1 failed (Gemini, run 3, excluded), about $41; the process stopped once after 171
calls when the development machine's file sync locked the local spend counter, and resumed from its
checkpoint the same day with no outcome redrawn. (2) *D11's reason for separate days was wrong.*
Scripts run from the development machine keep their spend counter in a local file, not in the
production store, so the bridge never drew on the production daily cap; its own $85 per-day
ceiling bounded only its own spend. (3) *Disclosure, as in D11.* Each bridge's validation step
displayed its source cycle's per-model naming counts (Singapore and Saudi 7 Oct, after-window).
They are unmodified production scorer output; no answer text was opened. (4) *Regulator record.* A
rehearsal of the 12 Oct snapshot on 8 Oct found the Emirates Drug Establishment directory's dataset
refresh of that day incomplete (8 products in the whole directory; semaglutide, Wegovy and Foundayo
all returned nothing). The snapshot script would have recorded orforglipron as unregistered. Every
regulator source must now first find semaglutide, which all four register; if it cannot, its
entries are not established for that run, and the last snapshot whose control passed is carried
forward and labelled. No rule of S1 or S2 changes.

**D16 — 2026-10-10, readings of the analysis rules, and post-registration robustness analyses.
Written before the analysis was first run, but after preliminary after-window results were
visible.** What had been seen when this entry was written: the hand-coded E3, E5 and Saudi E3-i
tallies through 10 Oct (coding is a registered step), and the governed per-engine naming counts of
every stored UAE cycle through 10 Oct (displayed while building the analysis; no rate was compared
with a band). None of the following changes a registered endpoint, window, admission rule or
decision rule. The E1, E2 and attribution rules of §4 apply as written.
- *Readings, where §4's words leave a computation open* (`scripts/easd-2026-study/analyze.ts`,
  INTERPRETATIONS). I1, bridged band: lower end = registered v4 low + lower bound of the engine's
  offset interval; upper end = registered high + upper bound. I2, magnitude: after-window pooled
  rate minus the bridged pre-congress reference (the v4 pooled rate over the cycles that define the
  registered band, plus the offset), labelled on the house scale; the distance beyond the nearer
  band edge is reported beside it. I3, attribution: "a rate different" is Fisher's exact test,
  two-sided, α = 0.05, on that engine's after-window answers split by E1 qualification. A movement
  meeting the rule is reported as a *protocol-defined congress-linked movement*. It is evidence of
  an observable connection to congress sources, not proof that the congress caused the movement;
  model updates and other sources can move the same answers. I4, Singapore positioning: no offset
  exists for average rank (the bridge measures naming, which is at ceiling), so it is descriptive,
  as §4 prescribes. I5, Saudi E2 (D10): the arm's own v4 single-cycle range, bridged under I1.
- *E1 scope and its limit.* A URL is new when no pre-congress cycle of the same series cited it.
  Gemini's pre-congress redirect links were not resolved, so URLs earlier cited only through Gemini
  count as new; this over-includes pages for reading, which cannot create a qualifying source. Every
  new URL is fetched and read by script for congress or readout terms, and every candidate is read
  by hand and classified into §4's four classes. A page cited before the congress and later
  updated with congress content is not re-read; the text route (an answer reporting a readout
  result) still detects such content. That is reported as a detection limitation.
- *Post-registration robustness, labelled as such wherever shown:* (1) question-clustered bootstrap
  intervals (2,000 resamples of question slots, seeded) for after-window rates; (2) strict
  sensitivity scenarios removing every code whose note records an ambiguity; (3) for the Saudi E3
  zero, an opportunity denominator: answers to questions inviting new or emerging treatments,
  identified by one fixed rule on the question text; (4) for Saudi E3-i, the denominator is namings
  coded as a type 1 diabetes use (stated, absent or wrong), with distinct answers reported beside
  it, and it is shown against its pre-congress comparator, not as an effect of the congress; (5) a
  blind second coding pass of the borderline and material E3, E5 and E3-i codes by a separate
  instance of the same model family. That pass is not independent external validation:
  disagreements and their adjudication are published with it.

**D17 — 2026-10-10, the D4 hand check found the scripted E4 attribution far less reliable than
D4's audit; the label and published figures are audited by sample, not by full reading.** D4's
50-figure audit had estimated the script's error at 4–8%. The full D4 read of every figure scripted
"no identifiable source" or "congress-window" through 10 Oct (195 figures; a first read by a
separate agent of the same model family, then the coordinator's adjudication of every uncertain
item, all six congress-window items, and random samples of exclusions and confirmations; one
confirmation overturned) excluded 104 (53%). The excluded figures are mostly another product's
results in comparison sentences ("Zepbound … 20.02% compared to 13.7% with Wegovy"), figures in
another product's entry (Ozempic, Rybelsus, Foundayo), joint class statements, responder
proportions and ceilings ("up to 20%"). Four of the six congress-window matches were Rybelsus
comparators, not OCTANE; two are genuine. None was recategorised. Because the same attribution
logic produced the 1,082 figures matched to a label or published value, those cannot be presumed
correct. Rule, fixed before the sample is drawn: a seeded random sample of 150 of them (seed
20261010) is read under the same rules. If the share wrongly attributed or wrongly categorised
exceeds the house 5% bar, the label/published split of E4 is not published as coded: E4 reports
the hand-verified figures, the audited error rate with its interval, and says the scripted
categories failed audit. No E4 rule changes, and no full reading of the 1,082 is undertaken before
12 Oct.
*Result of D17's audit, 10 Oct.* Of the 150 sampled figures, the first reader found 17 wrongly
attributed (11.3%, Wilson 95% 7.2–17.4%) and none wrongly categorised. The coordinator overruled 5
of the 17 ("typical range" figures such as "5–15% over several months", which S7 codes endpoint by
endpoint and which the D4 read had coded), leaving 12 (8.0%, 4.6–13.5%). Both exceed the 5% bar, so
by D17's rule the label/published split of E4 is not published as coded. Record:
`docs/evidence/easd-2026-e4-label-audit.json`.

**D18 — 2026-10-11, E1: a source's readouts are assigned by reading the whole article, not only
the sentences the term screen surfaced; readout data reaching another arm is reported apart.** An
external reviewer's independent check flagged that diaTribe's "Top Diabetes News: EASD 2026" (5 Oct,
class (d), cited by Claude in a Saudi answer on 8 Oct) reports TRIUMPH-2 results without naming the
trial. A full re-read confirmed it (1,152 people with type 2 diabetes and obesity, 80 weeks, nearly
19% at the highest dose, matching the 30 Sep presentation) and found a second unnamed item: the
first real-world teplizumab courses in the UK and Italy, which falls in the Saudi programme readout
(D10). The entry, labelled "other EASD 2026 data" since 11 Oct 08:40, now carries both readouts; the
earlier label is kept in the ledger (`revisions`), with what the page can be shown to have said at
citation (`contentAtCitation`: no archived copy; the Tzield item is corroborated by the answer's own
wording, the retatrutide item is not). The other two multi-topic qualifying sources were re-read in
full: BioPharma Dive mentions retatrutide only as data from May, before the congress; Patient Care's
CagriSema terms sit in a related-article item, not the article. No endpoint, class or window
changes. The registered latency table still counts a readout only in its registered series, so
TRIUMPH-2 remains "not observed by day 11.3" in the UAE series; the tally now lists, separately,
any readout reaching an answer of another series (here TRIUMPH-2, Claude, Saudi, day 8.4). Wording
that follows: "no registered readout was verified in the inspected citations or text of its own
series", never "no registered readout reached any engine".

**D19 — 2026-10-11, before the final run: three reporting safeguards; no rule changes.** (1) *E2 at
full precision.* The registered decision is unchanged: the after-window pooled rate against the band
as written in §4 (UAE limits quoted to 0.1%) and the offset bounds as stored. Beside it, the analysis
prints the unrounded rate, the signed distance to the nearer edge, the same distance with the offset
bounds restored to their exact values (multiples of 1/(paired questions × runs)) and the band rebuilt
from the exact single-cycle rates, and whether the question-clustered 95% interval contains that
edge. A verdict whose interval contains the edge is described as borderline; it is never reversed.
(2) *Unverified at citation.* A ledger source may list a readout it carries today that cannot be
shown to have been on the page when the engine cited it (no archived copy, not echoed by the
answer). Such a readout is reported as unverified, never counted in latency or E2 attribution, and
never treated as negative. First use: TRIUMPH-2 in the diaTribe round-up (D18), whose explicit
adjudication is recorded in the ledger. (3) *Freeze.* After the final run, `freeze.ts` records the
commit and the sha256 of every input and output behind the published numbers, including the local
pull, and fails if any repository input is uncommitted.

**D20 — 2026-10-11, the single analysis ran on 11 Oct at about 17:15 UTC, not on 12 Oct.** §3 says
the analysis is run once, on 12 Oct, over every admitted cycle in the windows. The after window
closes at 11 Oct 23:59; its last scheduled cycle (Saudi, 16:30 UTC daily) completed at 16:34 UTC,
and no study cycle is scheduled again before the close (the deployment configuration: rescan 14:00, [internal job name withheld] 16:30, daily). A fresh pull at the time of the run returned the same 67 cycles, identical to
the pull of 16:36 UTC. The run therefore covers every cycle the window can admit; only the date
moved. If any cycle of the three series appears before 23:59, it is reported in the note as
outside this analysis, never added (§3: "No cycle after the cutoff is added to the published
reading"). Regulator snapshot: 11 Oct (`easd-2026-regulatory-status-2026-10-11.json`); the UAE
record is carried forward from 2 Oct because the EDE directory again failed its semaglutide
control, so UAE status is established only to 2 Oct. Saudi status: the 5 Oct record.

**D21 — 2026-10-11, errata after the freeze, found by the technical-supplement audit; outputs
regenerated and re-frozen.** An audit of the frozen record against its own files found the defects
below. Each is corrected at its source; the analysis is re-run on the same pull (67 cycles, sha256
unchanged) and re-frozen. No registered E2 verdict, E1 registered result, E3, E5 or E3-i figure
changes.
1. *Saudi E3 denominator.* The analysis table set the namings (searched over every captured answer
   of the admitted cycles, focused questions included) beside the governed E2 population. The
   denominator and the opportunity count are now taken from the searched set; the governed count is
   shown for reference. The published Saudi E3 statement uses the searched set.
2. *Question text.* The diaTribe adjudication (D19) quoted the Saudi question verbatim, against
   §10. It now describes the question without quoting it.
3. *OCTANE checked against the programme (the check D3 required).* The EASD 2026 Final Programme
   (PDF sha256 39c07eaa…, fetched 11 Oct) lists "LBA 59 3-month real-world weight outcomes among
   patients with overweight or obesity after switching from injectable semaglutide or tirzepatide to
   oral semaglutide for weight management: the OCTANE …" in LBA Short Oral Event C (LBA SO 03),
   Wednesday 30 Sep, 11:45–12:45 CEST. The latency origin moves from a date-only midnight to 09:45
   UTC, so the exploratory OCTANE latencies shorten by about 0.4 day. A hypothetical Gemini latency
   of 5.6 days, discussed before this check, rests on the excluded 5 Oct cache cycle and is withdrawn.
4. *Times.* The D20 run took place at about 16:57 UTC (pull stamped 16:56:27Z, commit d1fccaa9
   16:57:47 UTC), not 17:15. The E1 manifest was built from the 16:36 pull, whose cycles are
   identical. The original registration commit 8ee24e19 is dated 09:50:05 UTC on 2 Oct.
5. *Counts stated outside the outputs.* D4 through 11 Oct: 113 of 207 hand-checked figures excluded,
   92 no-source and 2 congress-window figures retained (D17 cited the 10 Oct count, 104 of 195).
   E1 source-route coverage of 68–90% holds for the after window only; in the congress window it
   ranges from 0% (a single citation) to 100%. The Saudi bridge cost in `bridge.json` ($36.17)
   covers the resumed process only; D15's "about $41" includes the pre-crash runs.
6. *Notes.* An E3 note dated its A10 precedent to 6 Oct; the first A10 code is the 8 Oct answer.
   The coder's scheme decision S7 still describes OCTANE as outside the readout set; D3 governs.
   The 5 Oct UAE cycle failed the capture rule because its cached answers left no capture, which is
   the mechanism of D14's exclusion. Both second-pass batches used seed 20261011.
7. *Verifier output frozen.* The verifier's full output is now saved beside the analysis
   (`docs/evidence/computed/easd-2026-verify.txt`) and hashed in the freeze record.
8. *Class (b) has no date condition.* §4 defines class (b) as "a journal publication of a
   readout-set trial", with no date limit, and REIMAGINE 1 (June 2026) and ACHIEVE-2, -3 and -5 were
   published before the congress. A new citation of any such paper in the congress or after window
   would therefore qualify. Checked on 11 Oct: no readable new URL in any window is a readout-set
   publication (the term screen would have flagged it, and every flagged page is in the ledger), and
   the unreadable journal pages either name an unrelated article in their URL or, for ScienceDirect
   items without one, resolve through Crossref to unrelated articles. The gap therefore has no
   effect here; it is reported as a design limitation, and the paper distinguishes readouts first
   disclosed at EASD from readouts EASD re-presented.

**D22 — 2026-10-11, the three measured medicines are named in the publication; §10 otherwise
stands.** §10 withheld the measured medicines from the published note. The founder decided on 11 Oct
that AlphaCitation Research Series No. 1, the flagship publication that replaces the short note,
names all three — Wegovy (UAE), Jardiance (Singapore) and Tzield (Saudi Arabia) — because a
publication intended for scientific scrutiny, reproducibility, verification of regulatory context
and broad practitioner use must say what was measured. **This editorial decision was made after
preliminary and final results were available.** It is not pre-registered, and it is not neutral in
perception: naming a medicine can be read as commentary on it, so the publication states that naming
implies no endorsement, sponsorship or commercially meaningful effect, and discloses AlphaCitation's
interests and affiliations. The three are named consistently, whatever their results; none is
emphasised for having a more interesting finding. Clinics and local businesses remain withheld, as
do question text, battery composition, calibration figures, the v5 parameter and its values,
version history, regex diagnostics and scoring internals. No endpoint, numerical result,
eligibility rule, statistical method, attribution criterion or registered interpretation changes.
§10 and this deviation are reproduced in the technical supplement so the full decision history is
visible.

**D23 — 2026-10-11, the registered bridge self-check, omitted from the analysis, is now reported.**
§6 registered that the v4-setting run-to-run spread "should reproduce the v4 band's width, a check on
the bridge itself", with the v5 spread beside it. The analysis did not report it; the paper writer's
audit found the omission. It is now computed from `bridge.json` (`bridgeSelfCheck` in the analysis).
No threshold was registered, so it is shown, not scored. Result: in every engine of the UAE and
Saudi series, the three same-day v4-setting runs spread over 10–50% of the band's width (UAE: Claude
7.4pp against a 14.9pp band, Perplexity 5.6pp against 12.5pp, Gemini 3.7pp against 26pp, ChatGPT
3.7pp against 24pp); Singapore is at ceiling. The check therefore does not hold as worded. What it
shows is that most of the variation the band captures arises between days (engine, retrieval and
index changes over weeks), not between repeated runs on one day. The paired, same-day bridge still
measures the setting offset it was designed to measure; the band, built over weeks, remains the right
yardstick for between-cycle comparison; and the registered expectation rested on an assumption the
data do not support. Same-day v4-setting runs on 5 Oct also place Claude at 61.1–68.5% (106 of 162
pooled), above its v4 band, before the instrument offset is applied — descriptive, not a registered
analysis. No registered verdict changes.

**D24 — 2026-10-12, post-registration robustness analyses after the internal quality gate; three
registered §5 descriptive analyses reported late.** Four internal reviews (a claim check and three
perspective reviews, internal quality-assurance records (not published)) found gaps. A separate
script (`scripts/easd-2026-study/robustness.ts`) computes the analyses below into separate outputs
(`docs/evidence/easd-2026-robustness.md`, `docs/evidence/computed/easd-2026-robustness.json`, a per-answer
outcome table without question or answer text, and `docs/evidence/easd-2026-saudi-e3i-use-context.json`).
It first reproduces every registered count and verdict and stops on any mismatch. **No registered verdict
changes; every output is labelled post-registration robustness, and all of it was computed after the
results were seen.**
- **Registered §5, never run until now (an omission, not a choice):** (a) Perplexity citations of the Note
  04 clinic page per cycle; (b) new local or regional pages drawing ≥ 10% of one engine's answers in a
  cycle; (c) source-class mix per engine per window. Item (b) found a page first cited by Claude on 29 Sep
  (12/60), then in 19–24 of 60 Claude UAE answers in every after-window cycle: a local commercial blog post (UAE), August 2026, before the congress (typed from a read-only fetch on
  11 Oct; the company is withheld under §10 and D22). The answers that cite it repeat two of its sentences
  (152 of 164); no answer that does not cite it repeats them after 28 Sep. That echo corroborates the
  content at citation for those sentences. Claude's UAE naming in after-window answers citing the page:
  143/152 (94.1%); in those not citing it: 113/226 (50.0%), at the pre-congress level. Against each
  question's own before rate, the citing answers account for all of the extra naming. This is a
  descriptive, post hoc association, not a causal estimate.
- **E2 band-rule readings.** Under I1, the verdicts stand. Under "shift by the point offset, widen by the
  half-width", Perplexity UAE becomes a movement (+0.546pp). Under "widen by the full width", Claude UAE
  becomes no movement (−8.865pp). No other verdict changes.
- **Cycle-level change** (cycles as units, net of offset): Claude UAE +16.8pp (95% CI +7.2 to +26.4,
  z 3.43); Perplexity UAE +12.2pp (−3.0 to +27.4, z 1.57).
- **Per-cycle view** against the bridged band, with the 27 Sep cycle reported.
- **Corrected bridge self-check** (d2-adjusted for unequal n; between- vs within-day SD; v5 spreads):
  no excess between-day variation for UAE Claude (ratio 0.99); clear excess for UAE Gemini, UAE ChatGPT,
  Saudi Perplexity and Saudi Gemini. The 0.5 threshold was chosen after seeing the ratios.
- **Brand-only naming** beside the registered brand-or-molecule measure (Wegovy or semaglutide;
  Jardiance or empagliflozin; Tzield or teplizumab).
- **Search rate per engine and window**, and attribution among answers that searched.
- **Attribution sensitivity:** answers citing unverified pages excluded rather than counted as negative;
  the minimum attainable Fisher p per engine; E1 qualifying answers by question class.
- **Saudi E3-i use context** (model-coded by the same family): glycaemic, weight-management or
  unspecified. Restricted to glycaemic use, the no-status share was 68.2% before and 88.9% after.
- **E1 corrections:** latency read as an interval set by the cycle schedule; two Gemini answers that state
  the OCTANE result were missed by the text route (latency unchanged); Singapore E3 = 0 namings confirmed.
- The script reads the local Gemini redirect cache that the frozen E1 tally used. It is added to the
  freeze record with its sha256.
