Skip to content

docs: point the README at the chock.sh builder (RP-1) - #14

Merged
jothimani-rajendran merged 3 commits into
mainfrom
rp-1-pointer-readme
Nov 2, 2026
Merged

jothimani-rajendran merged 3 commits into
mainfrom
rp-1-pointer-readme

Conversation

@jothimani-rajendran

Copy link
Copy Markdown
Collaborator

RP-1 for chock-copilot-plugins (org-plan plan/retire-plugin-repos.md). README.md only: Install and "What you get" are replaced by the builder pointer, the Copilot migration, the dated stop-publishing line and a per-policy builder table. PLUGINS.md, plugin folders, workflows and the lockfile are untouched. Mirrors chock-codex-plugins#15.

CI note

The verify check (generated-only.yml) is red on main already: it rebuilds against the catalog's moving main. A README-only PR cannot fix that, so this PR does not try. Any red verify here is that, not this change.

Pin

Every link is pinned to chock-catalog main head e885f918a335e20dfddb4fad0331d4d5b4c5eb43 (read 2026-10-21). The README says so above the table. Policy versions in the links are the catalog's current ones and can be newer than PLUGINS.md.

Measured

  • Links in README: 31; policies in PLUGINS.md: 31.
  • selection.load(url) (engine installed from chock@main) accepted 31 of 31 links, each with client copilot and the one expected policy id.
  • The sha256 in each entry is the engine's own verified_pack pack hash over the catalog checkout at the pin. My agent-discipline entry has the same sha256 as the codex PR's (038b19d7…8472).

Migration commands

Taken from this README's old Install section (which only said "add the repo as a marketplace, install by name") and the Copilot CLI and VS Code docs. I ran none of them; no Copilot CLI or VS Code is available here.

  • copilot plugin uninstall <id>@chock — unverified (I did not find it spelled out in the docs I read; inferred from the install form)
  • copilot plugin marketplace remove chock — unverified (documented; not run)
  • /plugin uninstall <id>@chock in VS Code — unverified (documented as /plugin uninstall <plugin>; the @chock suffix is inferred)
  • /plugin marketplace remove chock in VS Code — unverified (documented; not run)
  • Marketplace name chock is read from .github/plugin/marketplace.json.
  • chock install --selection '<code>' --client copilot --apply — unverified (not run end to end; the codes load in the engine)

Generator (not committed)

python3 -I gen.py PLUGINS.md <chock-catalog checkout at the pin> e885f918a335e20dfddb4fad0331d4d5b4c5eb43 > table.md

"""Print the per-policy builder table for this repo's README (reads PLUGINS.md, the pinned catalog checkout)."""
import base64, json, re, sys
from pathlib import Path
import yaml
from chock.scaffold.add import verified_pack
from chock.install import selection

plugins_md, catalog = Path(sys.argv[1]), Path(sys.argv[2])
ref, client = sys.argv[3], "copilot"
src = "https://github.com/open-coder-ai/chock-catalog"
reg = {p["id"]: p for p in yaml.safe_load((catalog / "registry.yaml").read_text())["policies"]}
rows = re.findall(r"^\| \[`([^`]+)`\]\([^)]*\) \| ([^|]+) \| (\w+) \|", plugins_md.read_text(), re.M)
ok = 0
print("| policy | in Copilot | builder |\n| :--- | :--- | :--- |")
for pid, _ver, mode in rows:
    _, _, sha = verified_pack(catalog, pid, None)
    sel = {"schema": 2, "client": client, "bundle": {"version": "1.0.0"},
           "catalog": {"source": src, "ref": ref},
           "policies": [{"from": "catalog", "id": pid, "version": str(reg[pid]["version"]), "sha256": sha}]}
    code = base64.urlsafe_b64encode(json.dumps(sel, separators=(",", ":")).encode()).rstrip(b"=").decode()
    url = f"https://chock.sh/coding/builder/#s={code}"
    got = selection.load(url)
    assert got["client"] == client and [p["id"] for p in got["policies"]] == [pid], pid
    ok += 1
    print(f"| `{pid}` | {mode} | [open in the builder]({url}) |")
print(f"decoded {ok}/{len(rows)}", file=sys.stderr)

Handoff

Draft org-plan PR from branch handoff-rp-1-copilot.


Generated by Claude Code

Replace Install and What you get with the builder pointer, the Copilot
migration steps, the dated stop-publishing line and a per-policy builder
link table. README only.

Signed-off-by: Jothi Mani Rajendran <250249270+jothimani-rajendran@users.noreply.github.com>

Copy link
Copy Markdown
Collaborator Author

Reviewed: README-only, 31 of 31 builder links decode with the engine's own loader, no generated file touched. Stays a draft until chock.sh launch day per org-plan plan/retire-plugin-repos.md; on launch day the generator is re-run so the catalog pin is current.

The verify check (Generated-only) is red on main already, for the same reason as in the four sibling repos: the job rebuilds the published tree against the catalog's moving main with the framework the catalog pins, and that framework's matrix does not know an agent the catalog's claim table now names. A README change cannot affect it. No fix is ported: the only fix is a republish, and this repository is being retired instead (RP-4 removes the generated trees and this workflow after the grace period).


Generated by Claude Code

Replace "moved, stops publishing, archived" with the two routes: this
marketplace (no chock on the machine, republished with every chock
release) and the chock.sh builder (one plugin, needs pip install chock).
Never install the same policy by both, since each copy runs its hook.
README.md is hand-written, so no generator change is needed.

Signed-off-by: Jothi Mani Rajendran <250249270+jothimani-rajendran@users.noreply.github.com>
cmd.exe passes single quotes literally, so print the selection command
unquoted. The plugins' hooks need git, a usable bash and Python 3.11+,
so say so instead of "nothing else".

Signed-off-by: Jothi Mani Rajendran <250249270+jothimani-rajendran@users.noreply.github.com>
@jothimani-rajendran
jothimani-rajendran merged commit 1b0a71c into main Nov 2, 2026
3 of 4 checks passed
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