Severity: MEDIUM (Temporal regressions from the overnight Temporal/Intl batch)
Final re-measure 2026-06-29 (main @ a0f295550, perry 0.5.1208): overall parity 95.3% → 95.6% (115 fixed) but 29 newly-failing vs the pre-batch baseline, all in Temporal / Intl-Temporal. The batch net-improved those slices (#5587 61→33, #5580 61→50) but introduced these edge-case regressions.
Cluster A — built-ins/Temporal/*/order-of-operations → silent (no output) (12)
built-ins/Temporal/PlainDate/{from,prototype/since,prototype/until}/order-of-operations.js
built-ins/Temporal/PlainDateTime/{from,prototype/since,prototype/until}/order-of-operations.js
built-ins/Temporal/PlainTime/{from,prototype/since,prototype/until}/order-of-operations.js
built-ins/Temporal/PlainYearMonth/{from,prototype/since,prototype/until}/order-of-operations.js
Silent no-output = crash/early-exit. Suspect #5793 (fix(temporal): use internal slots in subclass coercions + write-back after Reflect.construct) — the internal-slot write-back likely changed observable operation order or faults on the from/since/until path.
Cluster B — intl402/Temporal/*/toLocaleString/* edge cases (16)
PlainDateTime / PlainTime / Instant / ZonedDateTime / PlainMonthDay / PlainYearMonth toLocaleString: era, lone-options-accepted, ignore-timezone, default-includes-time-not-time-zone-name, datestyle-not-adjusted-when-no-conflicting-options, resolved-time-zone, respect-timezone-after-formatting-plaindatetime. Suspect #5789 (fix(temporal): preserve locale/options in toLocaleString, fix DTF-compatible defaults) — net-fixed many toLocaleString cases but broke these option/timezone-defaulting edges.
Cluster C — NumberFormat (1)
intl402/NumberFormat/constructor-order.js (Expected a TypeError). Suspect #5783 (#5581).
Measure
scripts/test262_subset.py --root vendor/test262 --dir built-ins/Temporal intl402/Temporal intl402/NumberFormat --jobs 8
Severity: MEDIUM (Temporal regressions from the overnight Temporal/Intl batch)
Final re-measure 2026-06-29 (main @
a0f295550, perry 0.5.1208): overall parity 95.3% → 95.6% (115 fixed) but 29 newly-failing vs the pre-batch baseline, all in Temporal / Intl-Temporal. The batch net-improved those slices (#5587 61→33, #5580 61→50) but introduced these edge-case regressions.Cluster A —
built-ins/Temporal/*/order-of-operations→ silent(no output)(12)Silent no-output = crash/early-exit. Suspect #5793 (
fix(temporal): use internal slots in subclass coercions + write-back after Reflect.construct) — the internal-slot write-back likely changed observable operation order or faults on the from/since/until path.Cluster B —
intl402/Temporal/*/toLocaleString/*edge cases (16)PlainDateTime / PlainTime / Instant / ZonedDateTime / PlainMonthDay / PlainYearMonth toLocaleString:
era,lone-options-accepted,ignore-timezone,default-includes-time-not-time-zone-name,datestyle-not-adjusted-when-no-conflicting-options,resolved-time-zone,respect-timezone-after-formatting-plaindatetime. Suspect #5789 (fix(temporal): preserve locale/options in toLocaleString, fix DTF-compatible defaults) — net-fixed many toLocaleString cases but broke these option/timezone-defaulting edges.Cluster C — NumberFormat (1)
intl402/NumberFormat/constructor-order.js(Expected a TypeError). Suspect #5783 (#5581).Measure