Skip to content

detectAsync + catalogue detection; sync-miss hint; register round two - #68

Merged
ronaldtse merged 3 commits into
mainfrom
detect-and-dx
Sep 8, 2026
Merged

ronaldtse merged 3 commits into
mainfrom
detect-and-dx

Conversation

@ronaldtse

Copy link
Copy Markdown
Contributor

What

The register's second wave (TODO.impl 06-11) — the library-side completions plus the register itself.

  • 06 catalogue-driven detection (TDD): DetectOptions.systems constrains the candidate set; detectAsync() loads candidates through the dependency-aware loader (loadMapAsync, not loader.loadAsync — the async tests caught that dependencies were being skipped, silently degrading ranked maps) and executes stages via executeStageAsync.
  • 07 sync-miss hint: MapNotFoundError appends "async loaders configured — use loadMapAsync/transliterateAsync" when the sync miss saw promise-returning strategies — the exact trap the examples work hit firsthand.
  • 10: README "Try it" section wires the CDN recipe, examples gallery, ambient types.
  • 08/09/11 are tracked in-register: 09's Ruby half and 11 (the dark Python runtime restored — 252/289 corpus maps convert, byte-parity with TS and Ruby) ship as interscript-ruby#769 and interscript-py#5.

Verification

New suites: test/detect-catalogue.test.ts (4), test/sync-miss-hint.test.ts (2) — written RED first. Full suite 262 passed, tsc clean, eslint clean.

TODO.impl 06-11 (the register's second wave):

- 06: DetectOptions.systems constrains the candidate catalogue, and
  detectAsync loads candidates through the dep-aware async loader
  (loader.loadAsync alone skips dependencies - the exact bug the
  async tests caught) before ranking; executeStageAsync for
  dependency-resolving stage execution. TDD: four failing tests first.
- 07: MapNotFoundError gains an async-loader hint when the sync miss
  happened with promise-returning strategies in the stack - the trap
  the examples work hit firsthand.
- 10: README 'Try it' section wires the CDN recipe, examples gallery,
  and ambient types.
- 08/09/11 tracked in the register; 09's ruby half + 11 shipped as
  interscript-ruby#769 and interscript-py#5 (the dark Python runtime
  restored: 252/289 corpus maps convert, parity with TS and Ruby).
Two probe attempts timed out on the 193 MB fetch (10 and 25 minutes);
import and resolve verified, session-from-CDN documented as unproven
with the import-map remedy named. The doc now claims exactly what was
observed.
@ronaldtse
ronaldtse merged commit 4a92864 into main Sep 8, 2026
8 checks passed
@ronaldtse
ronaldtse deleted the detect-and-dx branch September 8, 2026 01:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant