Skip to content

feat(pmoves): activate the pmoves-catwalk submodule build — TensorZero provider in the binary - #15

Merged
POWERFULMOVES merged 3 commits into
PMOVES.AI-Edition-Hardenedfrom
crush/catwalk-activate
Aug 26, 2026
Merged

POWERFULMOVES merged 3 commits into
PMOVES.AI-Edition-Hardenedfrom
crush/catwalk-activate

Conversation

@POWERFULMOVES

Copy link
Copy Markdown
Owner

What

Activates the build-time catwalk routing deferred since the 2026-07-18 trail entry: go.mod now carries replace charm.land/catwalk => ./pmoves-catwalk, so published binaries include the fork's TensorZero provider (PMOVES gateway routing in the model picker).

Why a replace and not CATWALK_URL: crush imports catwalk as a compiled-in library (internal/ui/dialog/models.go → catwalk.Provider). Upstream's new CATWALK_URL override (charmbracelet#3585, arrived in the v0.91.1 sync) only redirects the registry fetch — it cannot inject custom providers into the compiled model list. Only the replace can.

The CI consequence, handled

With the replace active, go mod tidy fails on a bare checkout. Every workflow that runs the go toolchain now inits the submodule first:

workflow mechanism
build (3 OSes) git submodule update --init pmoves-catwalk step
lint meta's pre-run hook (no inlining needed — it exists)
schema-update step
security / govulncheck step
snapshot step
release, nightly dormant on this fork (0 goreleaser runs, no tags; nightly startup-fails on missing goreleaser_key before any build) — carry a NOTE with inline instructions if ever activated; meta's workflows have no submodule support

Verified locally (go1.26.6 via toolchain auto-switch)

  • go mod tidy — idempotent (second run zero-diff; CI's git diff --exit-code gate will pass)
  • go build ./... — exit 0 with the replace
  • go run . schema — valid JSON
  • go.sum — catwalk hash lines correctly dropped (path replace)

Lane claimed in PMOVES.AI AGNOTE4482PHI.t1.md (B850-CLAUDE, 2026-08-26T15:30Z); pairs with gitlink promotion after merge.

💘 Generated with Crush

…o provider in the binary

go.mod now routes charm.land/catwalk at ./pmoves-catwalk (the fork
submodule carrying the TensorZero provider for PMOVES gateway routing).
This is the build-time activation the 2026-07-18 trail entry deferred:
crush consumes catwalk as a compiled-in library, so the upstream
CATWALK_URL runtime override (added upstream charmbracelet#3585) cannot carry custom
providers into the model picker — only a replace can.

Every workflow that runs the go toolchain now inits the submodule first:
build (all OSes), lint (via meta's pre-run hook), schema-update,
security/govulncheck, snapshot. release and nightly delegate to
charmbracelet/meta workflows with no submodule support — both are
dormant on this fork (no tags; nightly startup-fails on the missing
goreleaser_key secret) and now carry a NOTE with the inline instructions
if ever activated.

Verified locally with the go1.26.6 toolchain (auto-switched): go mod
tidy idempotent, go build ./... exit 0, go run . schema produces valid
JSON — all three with the replace active.
@coderabbitai

coderabbitai Bot commented Aug 26, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: e0cb7cac-e670-451c-8f8f-41e0d1163a03

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 08842b68d2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread go.mod
// the TensorZero provider for PMOVES gateway routing. Every workflow that
// runs the go toolchain must init this submodule first (see build.yml):
// with the replace active, go mod tidy fails on a bare checkout.
replace charm.land/catwalk => ./pmoves-catwalk

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Keep versioned Go installs compatible with the module

Avoid publishing this local replace: when the project is installed through the documented go install github.com/charmbracelet/crush@latest route rather than a recursive Git checkout, the submodule directory is unavailable, and versioned go install rejects modules containing replacement directives that change how the module is interpreted (go help install states this constraint explicitly). Consequently, releases containing this change cannot be installed through the advertised Go installation method; publish the fork as an addressable module dependency or otherwise avoid a filesystem-only replacement in the released go.mod.

Useful? React with 👍 / 👎.

Comment on lines +68 to +70
# PMOVES: the catwalk replace in go.mod points at this submodule;
# every job that runs the go toolchain must init it first.
- run: git submodule update --init pmoves-catwalk

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Initialize the submodule for the CodeQL Go build

Add the initialization to the codeql job as well: in the language: go matrix, its checkout leaves submodules disabled and the subsequent github/codeql-action/autobuild step compiles the project, so ./pmoves-catwalk is absent and the new replacement makes that matrix entry fail. This added step only protects govulncheck; it does not affect the separate CodeQL checkout at lines 30-37.

Useful? React with 👍 / 👎.

@POWERFULMOVES

Copy link
Copy Markdown
Owner Author

CI status — GitHub event-pipeline stall (external), not the change. All local verification is complete on the exact go1.26.6 toolchain (auto-switched): go build ./... exit 0 with the replace active, go mod tidy idempotent (CI's git diff --exit-code gate will pass), go run . schema emits valid JSON, go.sum correctly drops catwalk hashes. Since ~15:26Z this fork's Actions have ingested no events at all (two synchronize pushes produced zero runs; the queued lint from 15:26 is a zombie — API reports it a 're-run that has not yet queued'; even CLA Assistant startup-fails on new events). PR #14's full 3-OS matrix passed two hours prior, and the parent org's Actions are running normally — fork-scoped stall. Will merge when GitHub recovers and CI settles; not merging on local-only verification per the closeout contract.

@POWERFULMOVES
POWERFULMOVES merged commit db4e2ef into PMOVES.AI-Edition-Hardened Aug 26, 2026
16 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