Skip to content

fix(weixin-mp): bind REST auth to declared config - #163

Merged
zts212653 merged 1 commit into
mainfrom
fix/weixin-mp-auth-template
Oct 29, 2026
Merged

zts212653 merged 1 commit into
mainfrom
fix/weixin-mp-auth-template

Conversation

@zts212653

Copy link
Copy Markdown
Owner

Summary

  • align YAML-driven REST authentication with the declared Host configuration keys appId/appSecret
  • add a regression guard that rejects authentication templates referencing undeclared configuration
  • stage immutable @clowder-ai/weixin-mp 0.1.0-alpha.7 candidate coordinates

Failure and fix

check_status used the package runtime path and succeeded, while list_drafts/list_articles used the generic Limb token manager and sent an empty appid because the YAML still referenced legacy WEIXIN_MP_* names.

Evidence

  • RED: manifest test reported WEIXIN_MP_APP_ID and WEIXIN_MP_APP_SECRET as undeclared authentication references
  • GREEN: pnpm --filter @clowder-ai/weixin-mp test (9/9)
  • pnpm --filter @clowder-ai/weixin-mp typecheck
  • fixed-toolchain archive contains dist and resolves appid/secret from appId/appSecret
  • pnpm gate:ci: all 37 steps passed with Node 24.18.0, npm 11.16.0, zlib 1.3.1-e00f703
  • git diff --check

Risk

Behavior + configuration/security contract. No credential values are read, changed, or committed. This hotfix requires a non-author review and non-author merge.

Runtime verification

The actual list_drafts dogfood is structurally post-merge: main publication creates the immutable npm version, then a reviewed catalog activation and Host package update can exercise the real account without bypassing package lifecycle controls.

Why: YAML-driven REST commands resolve authentication from Host-declared appId/appSecret fields, while the migrated limb still referenced legacy environment-style names and sent an empty appid. Align the templates, add a configuration-reference regression guard, and prepare immutable alpha.7 package coordinates.

[小太阳·砚砚/GPT-5.6 Sol🐾]

Thread-Context: threadId=thread_mrim7yy252i9rab1 invocationId=789a5b3e-a510-4d9a-972a-ac74de16d784 catId=codex-sol
@zts212653
zts212653 requested a review from mindfn as a code owner October 29, 2026 12:31
@zts212653
zts212653 merged commit d44d337 into main Oct 29, 2026
3 checks passed
@zts212653
zts212653 deleted the fix/weixin-mp-auth-template branch October 29, 2026 13:03
zts212653 added a commit that referenced this pull request Oct 29, 2026
Why: the appId binding repair (#163) is published as @clowder-ai/weixin-mp
0.1.0-alpha.7, but Host discovery still offered alpha.5. This scoped activation
makes the verified repair installable without advancing any other plugin.

Adds the already-published alpha.7 and alpha.6 rows to official.weixin-mp only;
existing alpha.5/alpha.3/alpha.2 rows are retained verbatim. Output is byte-identical
to a fresh `activateCatalog({ pluginIds: ['official.weixin-mp'] })` run over the same
catalog.json + candidate.json, and npm integrity/shasum for alpha.6/alpha.7 match.

Independent non-author review (typed APPROVE) and non-author merge, both bound to
exact HEAD 4f8a4eb.

Co-Authored-By: Claude Sonnet 5.5 <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