Skip to content

ci: enable the ISC corpus sweep as the conformance gate - #787

Merged
ronaldtse merged 7 commits into
mainfrom
feat/sweep-ci-gate
Sep 30, 2026
Merged

ronaldtse merged 7 commits into
mainfrom
feat/sweep-ci-gate

Conversation

@ronaldtse

Copy link
Copy Markdown
Contributor

The conformance gap this gate was built to measure is closed: 16,482 examples, 0 failures across all 285 corpus maps, under both the Interpreter and Compiler::Ruby (interscript-ruby#779–#786, companion corpus repair in interscript/maps#196).

ISC_SWEEP=1 returns to the rake workflow — this time as a true conformance gate rather than a red lie. Any future runtime or corpus change that breaks a map's own tests now fails CI.

16,482 examples, 0 failures across all 285 corpus maps under both
compilers (interscript-ruby#779..#786, maps#196). The gap this gate
was built to measure is closed; CI now enforces it.
The POSIX substitution parsed as PowerShell on windows (ParserError —
those legs never reached rspec) and Homebrew Pythons refuse bare pip
installs under PEP 668 on macos. bash everywhere plus the
--break-system-packages fallback.
Windows runners have no python3.x binary (exit 127); the helper is
optional — the python-bridge specs self-skip without it.
CI ran the sweep without SKIP_PYTHON: 425 Compiler::Python corpus
failures — the experimental bridge needs its own conformance work
(the ruby-side fixes don't reach its codegen). Excluding it also
retires the standing extended-engine tail, which is a py-bridge leg.
SKIP_PYTHON excludes pycall from the bundle, so the pip step's
require now dies with a LoadError. Skip the whole helper when pycall
isn't installed.
The sweep's load path brings the monorepo's rababa-configs into
scope, where a "default" config genuinely exists — the missing-config
error never fires. A name that cannot be registered keeps the
spec's precondition environment-independent.
A single global cache meant the first config built served every
later call — the missing-config error could never fire once any
rababa map had run (the CI sweep does), and two configs in one
process silently shared one diacritizer. Keyed per config;
reset_cache clears the map.
@ronaldtse
ronaldtse merged commit 5cf9152 into main Sep 30, 2026
10 checks passed
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