Skip to content

Bump the Grail pin to 172ad87, the last commit before Rowan - #163

Closed
jgfoster wants to merge 1 commit into
mainfrom
james/bump-pins-2026-10-20
Closed

jgfoster wants to merge 1 commit into
mainfrom
james/bump-pins-2026-10-20

Conversation

@jgfoster

Copy link
Copy Markdown
Member

Moves PINNED_GRAIL_REF from a78e8c0 (shipped in 1.8.0) to 172ad87, Grail main as of 2026-10-18: 13 commits, 4 PRs. Grail's CI passed on it.

Why not Grail main, and why mcp_server stays

Both upstreams became Rowan projects in the last two days, and following either one is a migration, not a pin move.

  • Grail #1721 (db885a6, 2026-10-19) changed how Grail installs:
    • install.sh refuses any engine without bin/extent0.rowan3.dbf.
    • It loads Grail with Rowan (scripts/install_rowan.gs) instead of filing in src/smalltalk/install.gs.
    • kernel_class_extensions.gs, which bundle-grail.sh requires, is deleted.
  • mcp_server 0.9.0 (7ab1067) changed the same way:
    • Its load.gs files are gone; bundle:mcp fails on src/core/load.gs.
    • Its Grail toolset, the Python tools GemDB serves, loads only through Rowan.
    • The release file-out that needs no Rowan carries only Core + Auth.

Following them means creating GemDB's database from extent0.rowan3.dbf and rewriting install-grail.sh and the MCP install to match. That is its own piece of work and its own release. 172ad87 is the last Grail commit before #1721, and mcp_server stays at d836520. Notes in vendor-pins.sh say why for both, so the next bump doesn't rediscover this.

Installer compatibility up to 172ad87

  • Every script install-grail.sh drives is byte-identical.
  • install.gs adds six lines.
  • The shim Makefile and the gemdb package are untouched.
  • #1716 moves 1,277 bundled third-party package files (flask, werkzeug, jinja2, django, …) from src/python/stdlib to src/python/bundled, searched after sys.path, so a user's own copy now wins. GemDB stages src/python whole and names no path inside it.

What users get

  • #1716: a venv or sys.path copy of a bundled package is imported in preference to the bundled one.
  • #1718: a class binds its name only once complete, so a failing class body leaves the name as it was.
  • #1719: a __defaults__/__kwdefaults__ assignment that adds or removes a default rebinds calls.
  • #1720: numpy census fixes for loadtxt, np.save/np.load and np.char. numpy.random itself still needs a kernel with 64 user actions.

Verified locally

On arm64.Darwin against 4.0.0.a5:

  • bundle:grail (1351 referenced files present), bundle:mcp, bundle:stats, test:extent
  • npm test: 1061 passed
  • test:integration: 12 files, 148 passed, plus the existing expected-fail and todo
  • package.sh: passed check-vsix.sh

The changelog entry goes in the 1.8.1 release PR.

🤖 Generated with Claude Code

Grail a78e8c0 -> 172ad87 (13 commits, 4 PRs), main as of 2026-10-18.
Not main: from #1721 (db885a6) Grail is a Rowan project -- install.sh
refuses an engine without extent0.rowan3.dbf, loads with Rowan instead
of filing in install.gs, and kernel_class_extensions.gs is gone.
Following that is a migration of how GemDB creates its database, not a
pin move. Up to 172ad87, nothing the installer reads changed.

#1716 moves the bundled third-party packages from src/python/stdlib to
src/python/bundled, searched after sys.path, so a user's own copy wins;
GemDB stages src/python whole and names no path inside it. Also #1718,
#1719, #1720 (CPython-compatibility and numpy census fixes).

mcp_server is held at d836520, with a note saying why: 0.9.0 is a Rowan
project too, and its Grail toolset loads only through Rowan. GemDB Stats
and the engine (4.0.0.a5) are already at their latest.

Verified on arm64.Darwin against 4.0.0.a5: bundle:grail (1351 referenced
files present), bundle:mcp, bundle:stats, test:extent; npm test 1061
passed; test:integration 12 files, 148 passed plus the existing
expected-fail and todo; package.sh passed check-vsix.sh.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jgfoster

Copy link
Copy Markdown
Member Author

Replaced by #166.

@jgfoster jgfoster closed this Oct 20, 2026
@jgfoster
jgfoster deleted the james/bump-pins-2026-10-20 branch October 20, 2026 21:34
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