Files
ECC/docs/design
montjeffrey f7bc750326 fix(carriers): close the object-literal, spread and extra-argument false negatives
- Record whether each `{` opens a block or an object literal from the
  token before it; only a block's `}` lets a regex follow, so `{} / 2`
  divides again while `if (ok) {} /re/` stays a regex.
- Match regex-preceding keywords only when no member dot precedes them,
  so `a.of / 2` divides.
- Exempt the last dot of a spread from the member-call guard, so
  `...require('./x')` is a module load.
- Resolve a call's first argument up to its first top-level comma, so
  `require('./x', null)` and `import('./x.json', { with })` name `./x`.
  `import(path.join(__dirname, ...))`, previously skipped silently, now
  warns as dynamic.

Rescanning all 802 repository JavaScript files against the previous head
changes no result. The real registry is unchanged: 35/35 resolved, zero
failures or warnings. The design doc records the fix and states the gate's
scope: static relative specifiers in planned JavaScript only.
2026-10-10 18:00:51 -04:00
..