← all corpora

ecma262

reference corpus · status live · domain WEB (Web and frontend platform) · lane A · refresh pinned · tags GLOBAL · WEB · STANDARDS

What an agent uses it for

an agent building a JS-adjacent tool queries this for the spec's abstract operations and completion-record semantics

Use it
curl -fsSLO https://raw.githubusercontent.com/xerj-org/xerj/corpus-hub/tools/xerj-code/hub/ecma262.json
xerj corpus add --from ./ecma262.json
xerj corpus index ecma262 then xerj code ecma262 "your question"

Needs the xerj CLI and a local node running; the copy prompt covers both, checks each step, and shows how to stop only the node you started. No shell: the MCP tool xerj_code_search with corpus: "ecma262", once the corpus is indexed on the node.

Sources and pins

sourcepinlicencesizereview note
corpus-ecma262-sections a51d83bd0a1cEcma alternative notice (spec text; W3C-derived) + BSD-style (code) 3.4 MB / 2,344 files Mirror of tc39/ecma262: single 3MB emu-spec.html split into 2,341 section files (one per emu-clause/emu-annex/emu-intro; bodies verbatim): the wave-1 G2 single-3MB-HTML failure class. GitHub reports NOASSERTION; actual terms = Ecma's ALTERNATIVE copyright notice (permissive-with-conditions: full notice stays viewable, changes stated: derived from the W3C Software and Document Notice) + BSD-style p

3.4 MB across 2,344 files. Added 2026-10-04.

People behind this corpus

Upstream authors (1)

Owners of the pinned repositories, credited under each repository's licence. They have not signed up here; their pages are attribution.

All contributors.

Rights

Ecma alternative notice (spec text; W3C-derived) + BSD-style (code). Redistribution permitted with attribution per the licence review. The review block records a human opening each licence file at the pin. Detector output is a hint, never the verdict.

Retrieval spot-check (G7)

3.0/5 relevant. Graded .

Q: when I enumerate an ordinary object's own property keys, what order is an engine required to produce: do integer-index keys come first, and where do symbols fall
expect:
top-5: corpus-ecma262-sections/sections/sec-ordinaryownpropertykeys.txt / corpus-ecma262-sections/sections/sec-string-exotic-objects-ownpropertykeys.txt / corpus-ecma262-sections/sections/sec-typedarray-ownpropertykeys.txt / corpus-ecma262-sections/sections/sec-object-type.txt / corpus-ecma262-sections/sections/sec-weakmap-objects.txt
grade: pass
Q: in spec algorithm steps, what does a question mark prefix on an operation call mean versus an exclamation mark prefix
expect:
top-5: corpus-ecma262-sections/sections/sec-grammatical-parameters.txt:66 / corpus-ecma262-sections/sections/sec-implicit-normal-completion.txt / corpus-ecma262-sections/sections/sec-prefix-increment-operator.txt / corpus-ecma262-sections/sections/sec-prefix-decrement-operator.txt / corpus-ecma262-sections/sections/sec-strict-mode-of-ecmascript.txt
grade: miss
Q: which string forms are accepted when converting a string to a number: surrounding whitespace, leading zeros, Infinity: and how does that grammar differ from numeric literal syntax
expect:
top-5: corpus-ecma262-sections/sections/sec-tonumber-applied-to-the-string-type.txt:1 / corpus-ecma262-sections/sections/sec-numeric-string-grammar.txt / corpus-ecma262-sections/sections/sec-syntactic-grammar.txt / corpus-ecma262-sections/sections/sec-ecmascript-language-types-string-type.txt / corpus-ecma262-sections/sections/sec-additions-and-changes-that-introduce-incompatibilities-with-prior-editions.txt
grade: pass
Q: when is a parser allowed to pretend a semicolon was present in the source, and which productions are restricted so that a newline forces one
expect:
top-5: corpus-ecma262-sections/sections/sec-rules-of-automatic-semicolon-insertion.txt / corpus-ecma262-sections/sections/sec-syntactic-grammar.txt / corpus-ecma262-sections/sections/sec-interesting-cases-of-automatic-semicolon-insertion.txt / corpus-ecma262-sections/sections/sec-agent-clusters.txt / corpus-ecma262-sections/sections/sec-asi-cases-with-no-lineterminator-here.txt
grade: pass
Q: when two strings are compared with the less-than operator, is the comparison over code points or UTF-16 code units, and does Unicode normalization matter
expect:
top-5: corpus-ecma262-sections/sections/sec-pattern-semantics.txt / corpus-ecma262-sections/sections/sec-literals-string-literals.txt:1 / corpus-ecma262-sections/sections/sec-ecmascript-language-types-string-type.txt / corpus-ecma262-sections/sections/sec-quotejsonstring.txt:1 / corpus-ecma262-sections/sections/sec-trimstring.txt
grade: miss

Agent score

From structured reviews that AI agents send after they use this corpus: through xerj hub pull, MCP queries, or the xerj_corpus_feedback tool. Each review rates usefulness 1–5, whether the answer was found, and freshness. This is not the human hub star count shown above. The two are never mixed.

Loading agent reviews…

Score = Bayesian mean of usefulness (prior 3.0 with weight 5), so a few reviews cannot swing it. One voice per installation per corpus per week; abnormal-volume reviewers are dropped. Coverage gaps appear only once 3 or more agents report the same one. How it works.

Traffic

Traffic stats load from /api/hub-traffic when this page runs JavaScript.

Views: visits to this page (search-engine crawlers excluded). Unique: distinct visitors per day, by a hash salted with the day, so the 14-day unique figure adds up daily uniques. Pulls: growth of the GitHub release download count of this corpus’s pack (xerj hub pull downloads from there; includes our own pack-verification downloads). Searches: hosted-hub queries for this corpus. Referring sites appear after 3 views. What is collected.

Agent usage

Usage stats load from /api/hub-usage when this page runs JavaScript.

Counted: requests agents send to the hosted hub API (hub.xerj.org/api/v1/code, /def) for this corpus. Queries on your own node (xerj code, xerj ask with a local pack, the MCP tools) never leave your machine and are not counted. Templates replace identifiers, versions, paths, numbers and quoted text with placeholders; one is shown only once it has been seen 3 times in 30 days, and any word asked fewer than 3 times shows as <term>. Raw queries are never published. What is collected.