Skip to content

chore: drop stale MODULE.bazel comments recommending archived rules_moonbit - #636

Closed
avrabe wants to merge 1 commit into
mainfrom
chore/drop-stale-moonbit-repo-refs
Closed

avrabe wants to merge 1 commit into
mainfrom
chore/drop-stale-moonbit-repo-refs

Conversation

@avrabe

@avrabe avrabe commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Confirmed via the GitHub API: both `pulseengine/rules_moonbit` and the separate `pulseengine/moonbit_checksum_updater` repo are already archived, and both already had zero open PRs and zero open issues — nothing to close there.

This cleans up what's left inside `rules_wasm_component` itself: two near-duplicate `MODULE.bazel` comment blocks instructing consumers to `bazel_dep` + `git_override` onto that now-archived repo at a pinned commit. Consolidated into one accurate note.

Not touched here — a separate, bigger question: `//moonbit` (the actual language-backend rule implementations), `examples/moonbit_component`, and `test/moonbit`. While investigating this I found a concrete bug worth its own decision: `examples/moonbit_component/BUILD.bazel` hard-fails to load (not just build) since it directly `load()`s `@rules_moonbit`, which isn't registered by default — that's exactly why `.github/workflows/release.yml` already has to avoid `bazel test //...` and use an explicit target list instead. `test/moonbit` degrades gracefully (0 targets, no error) by contrast, matching this repo's existing pattern for other optional/BYO-toolchain languages (componentize-py). Filing that as a follow-up rather than bundling a bigger, public-API-affecting decision into this cleanup.

🤖 Generated with Claude Code

…oonbit

pulseengine/rules_moonbit (and the separate pulseengine/moonbit_checksum_updater
repo) are archived -- confirmed via the GitHub API, both already had zero open
PRs and zero open issues, so there was nothing to close there. This just cleans
up what's left inside rules_wasm_component itself: two near-duplicate MODULE.bazel
comment blocks instructing consumers to `bazel_dep` + `git_override` onto that
now-archived repo at a pinned commit. Consolidated into one accurate note.

Not touched here: //moonbit (the actual language-backend rule implementations),
examples/moonbit_component, and test/moonbit. Those are a separate, bigger
question -- see the follow-up issue for the concrete bug found while
investigating this (examples/moonbit_component hard-fails to LOAD, which is
why CI already avoids `bazel test //...`).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
avrabe added a commit that referenced this pull request Sep 6, 2026
Unused in this repo (not built by our own CI beyond a toolchain-less test
directory) and not requested by anyone since it was added; its only upstream
toolchain source, pulseengine/rules_moonbit, is archived and unmaintained, so
it can never actually be exercised as documented. Removing rather than
carrying a permanently-disabled language backend.

Removed:
- //moonbit (defs.bzl, private/moonbit_wasm_{binary,cli,component}.bzl,
  BUILD.bazel files) — the rule implementations.
- examples/moonbit_component — the example, which is also the concrete bug
  this removal incidentally fixes: it unconditionally load()s @rules_moonbit,
  which isn't registered by default, so it failed at LOAD time (not just
  build time). That's exactly why .github/workflows/release.yml had to avoid
  `bazel test //...` and use an explicit package list instead. Verified: after
  this removal, `bazel query //...` loads clean (1560 targets, 0 errors) --
  confirmed against a fresh checkout that this is what was broken. (Restoring
  `bazel test //...` itself is a separate decision, not bundled here --
  `bazel build //...` still fails on an unrelated, pre-existing bug, filed as
  #638.)
- test/moonbit — degraded gracefully (0 targets, no error) rather than
  hard-failing, but had nothing to actually run without the toolchain.
- The moonbit_wasm module_extension in wasm/language_extensions.bzl -- dead
  code even before this change: grepped for any use_extension(...) call
  registering it anywhere in the repo and found none.
- Two near-duplicate MODULE.bazel comment blocks recommending a bazel_dep +
  git_override onto the archived rules_moonbit (this fully supersedes #636,
  which only consolidated them -- closing that PR as superseded).

rivet: updated LS-002 (the STPA loss-scenario documenting the /latest/-URL
checksum-drift risk MoonBit shared with componentize-py) via `rivet modify`,
not a hand-edit, to record that the risk is now eliminated by removal rather
than merely mitigated by non-eager loading. This also happened to fix a
pre-existing, unrelated schema violation on the same artifact (status
'mitigated' is not in the declared lifecycle enum) as a side effect of
touching it; two other loss-scenarios have the identical pre-existing
violation and are unrelated to this change, left alone.

Repo-level cleanup requested alongside this: pulseengine/rules_moonbit and
the separate pulseengine/moonbit_checksum_updater repo are both already
archived, and both already had zero open PRs and zero open issues -- nothing
to close there.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@avrabe

avrabe commented Sep 6, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #639, which does the full removal (this PR only consolidated the now-stale comments).

@avrabe avrabe closed this Sep 6, 2026
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