Skip to content

fix: build and run under bend 2.0.28 - #208

Merged
noah-emp merged 3 commits into
mainfrom
build/bend-2.0.28
Sep 25, 2026
Merged

noah-emp merged 3 commits into
mainfrom
build/bend-2.0.28

Conversation

@noah-emp

@noah-emp noah-emp commented Sep 25, 2026 •

Copy link
Copy Markdown
Collaborator

Moves bolt to bend 2.0.28.

What 2.0.28 broke

  • Base now declares Set, and 2.0.28 refuses a redeclared Base name: type Set in src/config.bend failed every file importing it. Renamed Config.Set -> Config.LevelSet (type and constructor) and its uses in src/LAWS.bend (six laws' binders, two statements). This is a rename, not a change of meaning.
  • Foreign effects now register by def name on both lanes, io_eff(CID(Name), run, need). The C CID_A_B macros are gone (clang: undeclared identifier) and a JS file that only defines its function is not found ("no effect registers ..."). Ported bendcheck.exec, stdio.fd, walkdir.cwd, walkdir.entries, and the AGENTS.md gotcha that described the old shape.
  • flake: bend input moved to bendlang/bend main (2.0.28). README says 2.0.28.

No numeric name segments. No new "unsafe or foreign" verdict listings (identical to 2.0.27). Every PROOF.bend: "All terms check."

CI will stay red until deps re-release. checks.test needs the ez binary, and ez v1.2.0 does not build under 2.0.28 (type Window: duplicate declaration). tests/bare.bend also needs snap re-released (its effects use the old registration). With a locally ported snap, tests/bare.bend and src/lsp/tests/checker.bend pass on both lanes, and checks.bolt and checks.lint pass. shake, ezjson and snap deps are unchanged here on purpose.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Vp3SCG5bcKMF4fUytZTwPj

BEGIN_COMMIT_OVERRIDE
fix: build and run under bend 2.0.28
END_COMMIT_OVERRIDE

noah-emp and others added 3 commits September 25, 2026 16:10
bend 2.0.28 refuses a declaration that redeclares a Base name, and Base
now declares Set: `type Set` in src/config.bend failed every file that
imports it ("a fresh name (duplicate declaration: Set)"). Renamed the
type and its constructor Config.Set -> Config.LevelSet, with its uses in
src/LAWS.bend (a rename in six laws' binders and two statements, not a
change of meaning).

2.0.28 also registers a foreign effect by its def name on both lanes,
io_eff(CID(Name), run, need): the C effects' CID_A_B macros no longer
exist, and a JS effect file that only defines its function is no longer
found ("no effect registers ..."). Ported bendcheck.exec, stdio.fd,
walkdir.cwd and walkdir.entries, and the AGENTS.md note that described
the old shape.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vp3SCG5bcKMF4fUytZTwPj
Moves the bend input to bendlang/bend main (2.0.28; the v2.0.28 tag's
flake still packages 2.0.27) and says so in the README.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vp3SCG5bcKMF4fUytZTwPj
snap 1.1.0 registers its effects the 2.0.28 way, which tests/bare.bend
needs. ez 1.2.0 does not build on bend 2.0.28 (its sha256 dependency
declares `type Window`, now a Base name), so the ez input no longer
follows this flake's bend: `ez prove` runs on the bend ez 1.2.0 locks,
and bolt itself builds on 2.0.28.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vp3SCG5bcKMF4fUytZTwPj
@noah-emp
noah-emp merged commit e1c8b27 into main Sep 25, 2026
1 check passed
@noah-emp
noah-emp deleted the build/bend-2.0.28 branch September 25, 2026 20:42
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