Skip to content

Bump EigenScript pin v0.30.0 -> v0.32.0 - #15

Merged
InauguralPhysicist merged 2 commits into
mainfrom
bump-eigs-v0.32.0
Jul 25, 2026
Merged

Bump EigenScript pin v0.30.0 -> v0.32.0#15
InauguralPhysicist merged 2 commits into
mainfrom
bump-eigs-v0.32.0

Conversation

@InauguralPhysicist

Copy link
Copy Markdown
Contributor

Local preflight against a v0.32.0 worktree build:
tests/run.sh green — ALL PASSED (359 checks + package smoke)
Also updates the two CLAUDE.md version mentions.
Part of the ecosystem-wide v0.30.0 -> v0.32.0 sweep. eddy went first as the canary (InauguralSystems/eddy#3, merged green — its Porcupine + Elle external oracles pass on v0.32.0).

v0.30.0 -> v0.32.0 is additive: DEFLATE builtins, clock_unix, list_index_of/list_contains, SIGUSR1 live observer dump, LSP stdlib completion. No removals or renames in the changelog.

🤖 Generated with Claude Code

InauguralPhysicist and others added 2 commits July 24, 2026 18:56
The engine shipped as a flat five-file `load_file` library, so its
private helpers (`_peek`, `pos`, `n`, `branches`, …) lived in the global
namespace and silently clobbered any consumer using the same names —
exactly what eigen-sheet hit wiring regex-powered find & replace (#36):
two `_peek` definitions, last one wins, `len: null has no length` far
from the cause.

Fold the split into a single importable root `regex.eigs` + `eigs.json`
(name `regex`), matching the package-template contract (one root leaf,
top-level non-underscore bindings become `regex.*`, `_`-names stay
private). `import regex` now namespaces the whole engine, so the
caller-globals collision class (#5) and the `_peek` clash (#13) are
structurally gone rather than mitigated by `local`.

- Public surface: `re_compile`/`re_match`/`re_search`/`re_find_all`/
  `re_replace` (spans) + `compat_match`/`compat_find`/`compat_replace`
  (builtin-shaped, folded in from the compat shim — namespaced, so no
  builtin shadowing across the import boundary).
- Internal entry points privatised to `_rx_parse`/`_rx_compile_ast`/
  `_rx_vm_run`; all helpers already `_`-prefixed.
- Tests converted from `load_file` to `import regex` (S1–S8, smoke,
  bench). S9 flipped from the load_file scope suite to an
  import-isolation guard (adds a `_peek` collision the old model
  couldn't survive). New `tests/test_pkg_smoke.sh` stages the package
  into `eigs_modules/regex/` and imports it the way `--pkg add` would,
  asserting public surface + internal privacy.
- Docs (README/CLAUDE.md) updated to the import model; `EIGS_REF` drift
  fixed (v0.26.0 → the actual v0.30.0 pin).
- GAPS.md: logged a builtin `regex_match` non-participating-group shape
  change (v0.30.0 `["b"]` → v0.32.0 `["b", null, "b"]`) surfaced by the
  S8 differential — will bite an EIGS_REF bump.

359 checks + package smoke, green against the CI-pinned v0.30.0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Local preflight against a v0.32.0 worktree build:
  tests/run.sh green — ALL PASSED (359 checks + package smoke)
Also updates the two CLAUDE.md version mentions.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@InauguralPhysicist
InauguralPhysicist merged commit 41cc66e into main Jul 25, 2026
1 check passed
@InauguralPhysicist
InauguralPhysicist deleted the bump-eigs-v0.32.0 branch July 25, 2026 00:33
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