research · web
async vs defer on <script>
Pre-registered hypothesis
Hypothesis
Mostly memorable material, so expect high rubric agreement across architectures; the spread should come from grounding — whether each claim is backed by a verified quote — and from the module-script details, which only the HTML Standard states precisely.
Written when the task was written, before any run. It is a prediction in words, so read it against what happened rather than trusting a verdict drawn for you.
What happened on Haiku 4.5
- Highest mean score: Single 1.000
- Lowest: Gated-execute 0.953
Means over the runs that count; intervals and verdicts are on the results page.
Who solved it
On Haiku 4.5, Single, Plan-execute and Propose-select score highest at 1.000 and Gated-execute lowest at 0.953. The same task, every architecture, every model: one square per run.
Point at a square or tab to it to read its run. Each square opens its run.
The prompt every architecture was handed
In HTML, what exactly do the `async` and `defer` attributes on a <script> element do? Cover how each interacts with HTML parsing, when each executes relative to the DOMContentLoaded event, what each guarantees about execution order when there are several scripts, and how inline scripts and type="module" scripts differ from the classic src case. Research this with the provided web tools and write a complete, self-contained answer. Write the answer for the user in prose. Then list the evidence for your key claims: end the answer with one fenced JSON block of exactly this shape, one entry per claim: ```json {"evidence": [{"claim": "<the claim, in your words>", "quote": "<a sentence copied word for word from the page>", "url": "<the URL of that page, as you opened it>"}]} ``` Every quote is checked against the text of the page at its URL. A paraphrase, or a quote from a page you did not open with fetch_page, does not count as evidence. The block must be valid JSON: write a double quote inside a string as \".
The domain policy
Appended to the system prompt for every architecture, so none of them gets a rules advantage.
Research rules: - The `search` and `fetch_page` tools are your only access to the web. Any other browsing tool is unavailable. - Search snippets are previews, not sources. Open a page with `fetch_page` before relying on what it says. - Long pages arrive one window at a time. Continue with `offset`, or use `find` to jump to a phrase. - Cite the URL of every source you rely on, next to the claim it supports. - Never cite a URL you did not open with `fetch_page`. A citation to an unopened page is scored as a fabrication. - Quotes must be copied word for word from the page you cite; they are checked against the page text. - Quote only passages the tools have shown you in this session. A quote recalled from memory does not count, even when the page contains it. - When sources disagree, say so explicitly and attribute each position, instead of silently picking one.
The traps it sets
A trap is a specific way to go wrong, declared before any run and tied to the assertions or rules that register it. A trap fired in a run when one of those failed. On Haiku 4.5:
Where it was lost
On Haiku 4.5, the item most often missed is “States that an async script executes as soon as it is available, interrupting parsing if parsing is still in progress, so it may run before or after DOMContentLoaded.”, by 25% of runs. A score says an architecture lost points. This says which ones: for each graded item, the runs that earned less than full credit, out of the runs that count.
How the failures failed3wrong answer
In numbers, on Claude Haiku 4.5
- Plan-execute1.000
2 runs100% pass$0.118 / run1m 20s
- Propose-select1.000
2 runs100% pass$0.387 / run2m 19s
- Single1.000
2 runs100% pass$0.077 / run43.7s
- Gated-execute0.953
2 runs50% pass$0.084 / run49.1s
wrong answer ×1
- Orchestrator-workers0.953
2 runs50% pass$0.211 / run1m 39s
wrong answer ×1
- Plan-execute-verify0.953
2 runs50% pass$0.391 / run4m 54s
wrong answer ×1
| Strategy | n | Mean score | Pass | Cost / run | Latency | Failure modes |
|---|---|---|---|---|---|---|
| Plan-execute | 2 | 1.000 | 100% | $0.118 | 1m 20s | — |
| Propose-select | 2 | 1.000 | 100% | $0.387 | 2m 19s | — |
| Single | 2 | 1.000 | 100% | $0.077 | 43.7s | — |
| Gated-execute | 2 | 0.953 | 50% | $0.084 | 49.1s | wrong answer ×1 |
| Orchestrator-workers | 2 | 0.953 | 50% | $0.211 | 1m 39s | wrong answer ×1 |
| Plan-execute-verify | 2 | 0.953 | 50% | $0.391 | 4m 54s | wrong answer ×1 |
Every run on Haiku 4.512 runs · $2.54 spent
Provenance of the numbers on this page
- run set
- scaffold-or-scale-v1
- models
- Haiku 4.5, Sonnet 5.5, Opus 5.5
- effort
- high
- repeats
- 2
- fixtures
- replay
- runs
- 900 / 900
- strategy cost
- $354.44
- judge cost
- $9.19
- wall clock
- 9h 48m
- git
- fce5807b2d
Cost excludes judge calls, which are tracked separately so a scoring model never flatters or penalises an architecture. Every figure on this site is read from results/ at build time.