Skip to content

release: bump to 3.1.0 (seq2seq first_alternates decode contract) - #806

Merged
ronaldtse merged 11 commits into
mainfrom
release/gem-3.1.0
Oct 14, 2026
Merged

ronaldtse merged 11 commits into
mainfrom
release/gem-3.1.0

Conversation

@ronaldtse

Copy link
Copy Markdown
Contributor

Part of the coordinated decode-contract release wave (WO44, owner-approved D3).

Post-merge: gem build + push (the v3.x line releases via the hand-rolled build+push path — the tag workflow does not build this gem).

The shipped isc.artifact.json rejects lowercase system codes that the
Ruby-DSL grammar accepts (acadsin-zho-Hani-Latn-2002.isc) — one bad
map broke every spec that loads the corpus in CI. The runtime now
prefers the artifact and retries through the DSL on ParseFailed; the
artifact recompile via the parsanol toolchain remains the upstream
fix.
…engine

The shipped isc.artifact.json misparses lowercase system codes
(acadsin-zho-Hani-Latn-2002.isc) — and a FRESH compile with
parsanol 1.3.91 reproduces the identical failure, i.e. the parg
compiler mistranslates the grammar (filed upstream as parsanol#5).
The artifact path has never parsed this corpus correctly; the Ruby
DSL grammar is the only engine that has.

Per the clean-data rule, ship no known-bad derived bytes: the
.parg source stays (canonical grammar, used by the differential
spec once the compiler is fixed), the artifact spec guards skip
without it, and the runtime uses its documented artifact-missing
fallback into the Ruby grammar.
bootstrap.rb clones interscript-ruby remote main into ruby/; a PR's
own code was never exercised (and main's red state was unfixable from
PRs). Overlay the PR head (or pushed ref) onto the bootstrapped
sibling layout after bootstrap.
… access modifiers)

The ml files merged in #805 had never been linted (rake.yml was red,
so StandardRB never gated them). Autofixes + manual conversions; no
behavior change — imf/provisioning URI fetches keep their open-uri
requires.
rubyzip's finalizer holds the zip handle past the mktmpdir block on
windows (Errno::EACCES at cleanup); the loader itself uses block-form
opens everywhere. Platform skip with the reason inline.
@ronaldtse
ronaldtse merged commit 888fa56 into main Oct 14, 2026
10 checks passed
@ronaldtse
ronaldtse deleted the release/gem-3.1.0 branch October 14, 2026 07:16
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