Skip to content

refactor(plugin-sdk): collapse internal config-schema facade usage onto one module#104665

Merged
steipete merged 1 commit into
mainfrom
claude/chanref-p2-config-schema-collapse
Jul 11, 2026
Merged

refactor(plugin-sdk): collapse internal config-schema facade usage onto one module#104665
steipete merged 1 commit into
mainfrom
claude/chanref-p2-config-schema-collapse

Conversation

@steipete

Copy link
Copy Markdown
Contributor

Related: #104318

What Problem This Solves

Three overlapping SDK config-schema facades (channel-config-schema, channel-config-primitives, bundled-channel-config-schema + a -legacy alias) re-export near-identical primitive sets, and internal code imported them interchangeably — keeping the redundant surface load-bearing and confusing (plus the unrelated channel-config-helpers name-collides with the trio).

Why This Change Was Made

channel-config-schema is the canonical module (the only trio member in the doc-metadata contract set). Twenty internal import sites migrated (eleven primitives sites across eight extensions; eight bundled config-api barrels split so generic helpers come from canonical and only the eight provider schemas from the bundled facade). The non-canonical facades are now pure re-export shells nothing internal imports — they stay exported for third parties until the break train, and export-name sets are byte-identical so the surface report and api-baseline are untouched. Three guard layers keep it drained: the deprecated-specifier list for extensions, boundary-test bans for legacy+primitives with bundled-facade bindings restricted to provider schema names, and a src-wide zero-import scan. channel-config-helpers keeps its subpath, with a doc-comment disambiguating it from the schema trio.

User Impact

None — internal import hygiene; external plugin authors see identical exports.

Evidence

  • Testbox tbx_01kx99tfsv7d0b0xtjjve5qc57: focused suites (plugin-sdk, channels/plugins, plugins/contracts, extension-test-boundary) + pnpm build (no ineffective-dynamic-import) + full pnpm check:changed, exit 0; repo-wide oxfmt --check green up front.
  • Autoreview (codex gpt-5.6-sol, xhigh): clean (0.94); a second-run P2 claiming a dropped export was refuted with git show proof (the symbol was never exported from that facade).

@openclaw-barnacle openclaw-barnacle Bot added channel: discord Channel integration: discord channel: googlechat Channel integration: googlechat channel: imessage Channel integration: imessage channel: matrix Channel integration: matrix channel: mattermost Channel integration: mattermost channel: msteams Channel integration: msteams channel: nostr Channel integration: nostr channel: signal Channel integration: signal channel: slack Channel integration: slack channel: telegram Channel integration: telegram channel: whatsapp-web Channel integration: whatsapp-web channel: feishu Channel integration: feishu channel: twitch Channel integration: twitch channel: irc channel: sms Channel integration: sms size: S maintainer Maintainer-authored PR labels Jul 11, 2026
@steipete
steipete merged commit e34bff2 into main Jul 11, 2026
213 of 220 checks passed
@steipete
steipete deleted the claude/chanref-p2-config-schema-collapse branch July 11, 2026 20:00
@steipete

Copy link
Copy Markdown
Contributor Author

Merged via squash.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

channel: discord Channel integration: discord channel: feishu Channel integration: feishu channel: googlechat Channel integration: googlechat channel: imessage Channel integration: imessage channel: irc channel: matrix Channel integration: matrix channel: mattermost Channel integration: mattermost channel: msteams Channel integration: msteams channel: nostr Channel integration: nostr channel: signal Channel integration: signal channel: slack Channel integration: slack channel: sms Channel integration: sms channel: telegram Channel integration: telegram channel: twitch Channel integration: twitch channel: whatsapp-web Channel integration: whatsapp-web maintainer Maintainer-authored PR size: S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant