title: Plugin public entrypoint contracts scenario: id: plugin-public-entrypoint-contracts surface: plugins category: plugins.authoring-and-packaging-plugins coverage: primary: - plugins.root-sdk-entrypoint - plugins.focused-sdk-imports - plugins.entrypoint-discovery - plugins.migration-shims objective: Verify plugin authors can discover and import the supported root, focused, and migration Plugin SDK entrypoints. successCriteria: - The supported top-level contract resolves through `openclaw/plugin-sdk/core`. - Focused Plugin SDK subpaths resolve through their published package exports. - Deprecated public subpaths remain importable while plugin authors migrate. - Every public SDK catalog entry has a published package export. - Private-local SDK entries stay out of published package exports. - Deprecated entries remain public while their support status is maintained separately. - Documented SDK subpaths resolve to maintained catalog entries. docsRefs: - docs/plugins/sdk-entrypoints.md - docs/plugins/sdk-subpaths.md codeRefs: - scripts/lib/plugin-sdk-entrypoints.json - scripts/lib/plugin-sdk-private-local-only-subpaths.json - scripts/lib/plugin-sdk-deprecated-public-subpaths.json - scripts/lib/plugin-sdk-entries.mts - src/plugins/contracts/plugin-sdk-subpaths.test.ts execution: kind: vitest path: src/plugins/contracts/plugin-sdk-subpaths.test.ts summary: Run the Plugin SDK import topology, package export, and documentation classification contract.