@@ -41,16 +41,19 @@ match; Test262 paths and source hashes remain dev-support data and never enter
4141the production parser.
4242
4343` negative-diagnostic-rules.tsv ` is the complete registry for the semantic
44- ` rule ` column and names the corresponding pinned QuickJS parser anchor. The
44+ ` rule ` column and names the corresponding pinned QuickJS source anchor. The
4545authenticated audit tool rejects unknown or unused rules. Scheduled
4646differential CI replays every exact contract through pinned QuickJS using the
4747same Script/Module goal and strict-prefix policy and compares error type,
4848message, line, and column. Parse contracts use an isolated command-line source;
49- Module resolution contracts execute the authenticated root path inside the
50- pinned suite through ` run-test262 -N --module ` , so QuickJS loads the real
51- dependency graph. That oracle proves type, message, and location; the Oxide
52- runner separately observes compilation, linking, and execution to enforce the
53- declared phase. An absent location is represented by two empty TSV fields.
49+ Module resolution and runtime contracts execute the authenticated root path
50+ inside the pinned suite through ` run-test262 -N --module ` , so QuickJS loads the
51+ real dependency graph. Runtime dependency-rejection contracts additionally
52+ require an exact first source frame from their sole direct dependency; a root
53+ throw with the same type and message is rejected. The Oxide runner reads only
54+ own data properties, including the Error stack, when recovering the matching
55+ location and separately observes compilation, linking, and execution to enforce
56+ the declared phase. An absent location is represented by two empty TSV fields.
5457
5558` negative-diagnostic-exemptions.tsv ` freezes the legacy variants admitted
5659before exact diagnostic contracts became mandatory. Every audited negative
0 commit comments