Skip to content

Add a sync guard for the vendored Allium plugin#12

Merged
yavorpanayotov merged 2 commits into
juxt:masterfrom
yavorpanayotov:chore/allium-vendor-sync-guard
Jun 19, 2026
Merged

Add a sync guard for the vendored Allium plugin#12
yavorpanayotov merged 2 commits into
juxt:masterfrom
yavorpanayotov:chore/allium-vendor-sync-guard

Conversation

@yavorpanayotov

Copy link
Copy Markdown
Collaborator

What

Adds tooling to keep the vendored plugins/allium from silently drifting out of date:

  • scripts/sync-allium.sh — re-vendors plugins/allium from the juxt/allium ref pinned in scripts/allium-ref.txt, or with --check verifies the vendored copy matches that ref.
  • scripts/allium-ref.txt — the pinned ref (currently juxt/allium@229ccd0, i.e. the current main, which is ahead of the v3.3.0 tag the marketplace previously pointed at).
  • .github/workflows/check-allium-sync.yml — CI that runs --check and fails on drift. Scoped to changes under plugins/allium/, the ref, or the tooling, so unrelated PRs are unaffected, and it no-ops until plugins/allium exists.

Why

Allium is developed in juxt/allium and vendored here so Codex can install it (Codex only discovers local ./plugins/X marketplace entries, not remote github sources — see #11). A vendored copy rots silently: the marketplace's previous remote entry was pinned to v3.3.0, already several merges behind main (lspServers, the external-API pattern, zero-arg contract signatures). This makes the vendor reproducible and CI-enforced.

To ship a new Allium release to the marketplace: bump allium-ref.txt, run scripts/sync-allium.sh, commit.

Depends on #11

#11 introduces plugins/allium. Until it lands, the check no-ops. Bonus: #11's re-vendor can just be scripts/sync-allium.sh from this PR instead of a manual rsync — and the pinned ref (229ccd0) is exactly the snapshot #11 should vendor, so once both land the check is green.

Verified

$ scripts/sync-allium.sh --check     # no plugins/allium yet
plugins/allium not present yet — nothing to check.
$ scripts/sync-allium.sh             # vendors from the pin
Synced plugins/allium to juxt/allium@229ccd0…
$ scripts/sync-allium.sh --check
plugins/allium is in sync with juxt/allium@229ccd0…

(vendored output confirmed to include the Codex manifest and current lspServers; not committed here — that's #11's job.)

🤖 Generated with Claude Code

Allium is developed in juxt/allium and vendored here under plugins/allium
so Codex (which only discovers local ./plugins/X marketplace entries) can
install it. A vendored copy drifts from upstream silently — the existing
remote-source entry was already several releases behind.

Add scripts/sync-allium.sh, which vendors (or, with --check, verifies)
plugins/allium against a juxt/allium ref pinned in scripts/allium-ref.txt,
plus a CI workflow that fails when the two drift. To ship a new Allium
release: bump allium-ref.txt, run the script, commit.

Depends on juxt#11 (which introduces plugins/allium). Until
that lands the check no-ops; the pinned ref matches the snapshot juxt#11 should
vendor.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
yavorpanayotov added a commit to yenda/claude-plugins that referenced this pull request Jun 19, 2026
Refresh the vendored snapshot to current juxt/allium main: picks up the
lspServers block (juxt/allium#48), the external-API pattern (#46) and the
zero-argument contract signature docs (#49). 229ccd0 also carries the
.codex-plugin/plugin.json merged via #41, matching the ref pinned by the
sync guard (juxt#12).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
yavorpanayotov added a commit that referenced this pull request Jun 19, 2026
* Expose Allium as local marketplace plugin

* Re-vendor plugins/allium from juxt/allium@229ccd0

Refresh the vendored snapshot to current juxt/allium main: picks up the
lspServers block (juxt/allium#48), the external-API pattern (#46) and the
zero-argument contract signature docs (#49). 229ccd0 also carries the
.codex-plugin/plugin.json merged via #41, matching the ref pinned by the
sync guard (#12).

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

---------

Co-authored-by: Yavor Panayotov <y.panayotov@yahoo.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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