You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
refactor(extensions): consume authoritative SDK types in managed built-ins #781
The latest published 2026.7.27 managed built-in extensions statically import the PM SDK but still redeclare SDK contracts locally. Those mirrors already expose different function shapes across packages and can drift silently from the public SDK declarations.
Evidence
builtin-todos-import-export declares listAllItemMetadata with three parameters, while the authoritative SDK declaration has five parameters (the last four optional) and builtin-guide-shell legitimately passes all five.
builtin-todos-import-export and builtin-beads-import duplicate LocatedItem instead of importing the exported SDK type.
builtin-templates locally mirrors TemplatesSaveResult, TemplatesListResult, and TemplatesShowResult even though the public SDK exports those types.
These files are package-managed consumer artifacts, so downstream repositories cannot sustainably correct them in place.
The current three-parameter mirror does not cause an immediate runtime failure because omitted SDK parameters are optional, but it hides supported arguments and defeats static drift detection.
Expected
Managed built-ins import or derive their contract types from @unbrained/pm-cli/sdk, ideally using typeof or exported result types, with a package-level typecheck that fails when a built-in call diverges from the SDK surface.
Duplicate search
Searched open and closed issues for listAllItemMetadata, SDK contract extension, managed extension types, hand-written SDK types, and related guide-shell terms. No issue covering these managed built-in type mirrors was found. Issues #740 and #749 concern SDK barrel completeness and host-bound SDK injection, not this residual mirror drift.
#456 - Expose SDK runtime action client [merged] #543 - Promote linked-resource and dependency governance into the pm SDK [merged] #657 - SDK extension authoring, trust boundaries, and scoped rendering [merged] #753 - feat(sdk): universal context, concurrency, and discovery primitives [merged] #769 - SDK package runtimes, projection contracts, and merge governance [merged]
📝 Issue Planner
Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.
Create Plan
🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your .coderabbit.yaml:
issue_enrichment:
auto_enrich:
enabled: false
💬 Have feedback or questions? Drop into our discord!
pm tracker item:pm-vnk7ob — managed built-ins redeclare public SDK contracts locally; tracked with a parity gate as the control so the class stays closed.
Activity
coderabbitai commentedon Jul 27, 2026
🔗 Related PRs
#456 - Expose SDK runtime action client [merged]
#543 - Promote linked-resource and dependency governance into the pm SDK [merged]
#657 - SDK extension authoring, trust boundaries, and scoped rendering [merged]
#753 - feat(sdk): universal context, concurrency, and discovery primitives [merged]
#769 - SDK package runtimes, projection contracts, and merge governance [merged]
📝 Issue Planner
Check the box below or use the
@coderabbitai plancommand to generate an implementation plan and prompts that you can use with your favorite coding assistant.🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your
.coderabbit.yaml:💬 Have feedback or questions? Drop into our discord!
unbraind commentedon Jul 28, 2026
pm tracker item: pm-vnk7ob — managed built-ins redeclare public SDK contracts locally; tracked with a parity gate as the control so the class stays closed.
pm tracker: history-op governance, contract enumeration closure, rele…