Skip to content

refactor(core): establish plugin runtime boundary#1408

Merged
limityan merged 1 commit into
GCWing:mainfrom
limityan:yanzhn/plugin-boundary-owner-migration
Jul 3, 2026
Merged

refactor(core): establish plugin runtime boundary#1408
limityan merged 1 commit into
GCWing:mainfrom
limityan:yanzhn/plugin-boundary-owner-migration

Conversation

@limityan

@limityan limityan commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add plugin runtime boundary contracts in runtime-ports, including availability facts, dispatch/response envelopes, disabled binding, projection-only binding, and fail-closed dispatch behavior before a Host exists
  • carry non-executable plugin runtime availability through Product Assembly and Agent Runtime while rejecting any real PluginRuntimeBinding::Client until Host gates are registered
  • move LSP plugin runtime target facts and pure command placeholder resolution from services-core to core-types, leaving services-core as registry/current-target owner
  • update the decomposition plan/completed docs with the UI Extension product-shape matrix and a separate future Plugin Runtime Host stage

Risk and compatibility

  • no real plugin Host, ecosystem adapter, JS/TS runtime, worker, subprocess, package discovery, or external UI execution is enabled by this PR
  • Agent Runtime SDK exposes plugin runtime availability facts only; client binding, dispatch envelopes, and concrete plugin clients are not re-exported through the SDK facade
  • Product Assembly and Agent Runtime Builder both reject real client bindings, including clients that misreport projection-only availability
  • no Cargo manifest or third-party dependency changes
  • existing services-core LSP callers keep compatibility re-exports for runtime target and placeholder resolver names

Verification

  • pnpm run fmt:rs
  • node --test scripts/check-core-boundaries.test.mjs
  • node scripts/check-core-boundaries.mjs
  • pnpm run check:repo-hygiene
  • cargo metadata --no-deps --format-version 1
  • cargo test -p bitfun-runtime-ports
  • cargo test -p bitfun-core-types
  • cargo test -p bitfun-product-capabilities
  • cargo test -p bitfun-agent-runtime
  • cargo test -p bitfun-services-core --test lsp_plugin_registry_contracts
  • cargo check -p bitfun-core --no-default-features
  • cargo check -p bitfun-core --features product-full
  • cargo check --workspace with local src/mobile-web/dist directory present for the desktop build-script precondition
  • git diff --check

@limityan limityan force-pushed the yanzhn/plugin-boundary-owner-migration branch from 39afd78 to f1d9eee Compare July 3, 2026 11:49
@limityan limityan merged commit 4da7ae5 into GCWing:main Jul 3, 2026
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