Skip to content

Define plugin discovery contracts - #2747

Closed
brsbl wants to merge 6 commits into
mainfrom
bb/plugin-discovery-contracts
Closed

Define plugin discovery contracts#2747
brsbl wants to merge 6 commits into
mainfrom
bb/plugin-discovery-contracts

Conversation

@brsbl

@brsbl brsbl commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator

Product intent and requirements

  • Give plugin discovery one shared contract across the app, server, CLI, SDK, and database instead of allowing each surface to invent its own shapes.
  • Keep the category taxonomy closed and stable so the same plugin has the same category everywhere.
  • Preserve the released strict marketplace v1 contract; richer v2 metadata must be additive and backward compatible.
  • Model authorship, listing lifecycle, screenshots, discovery metadata, and health explicitly without changing the host-daemon protocol.

What was wrong

Plugin discovery, marketplace metadata, capture state, category identity, and authored-listing lifecycle were represented by overlapping local shapes. That left no single compatibility boundary for the server, SDK, CLI, database, and UI layers that consume the same concepts.

What changed

  • Adds shared domain schemas for the closed plugin taxonomy, marketplace v1/v2 entries, discovery metadata, screenshot capture, surface detection, and listing lifecycle.
  • Extends the server and public SDK contracts with catalog metadata and authored-listing operations.
  • Documents the card taxonomy and updates the Plugin SDK version metadata.
  • Keeps marketplace v1 as a distinct strict schema while defining v2 additively; this layer does not change the host-daemon protocol.

Product context

This contract layer enables the category-led Browse experience shown below in the later UI layer; it does not itself change rendered UI.

Stack outcome: category-led plugin Browse powered by the shared discovery contracts

## How you verified
  • This contract-only layer has no intentional rendered UI change, so before/after UI evidence is not applicable.
  • Pull-request CI is green on exact head 35999318eb61728e98e7798afc2ffb5436833d65; all required checks passed and the platform-inapplicable jobs were skipped.
  • No CI-equivalent tests, typechecks, or lint were run locally per repository policy. Pull-request CI is the validation path.

BB-Thread-ID: thr_9tmqez22hd

AGENT GENERATED

SawyerHood added a commit that referenced this pull request Sep 2, 2026
Ported from #2747 by @brsbl

Ported from #2749 by @brsbl

Ported from #2702 by @brsbl
SawyerHood added a commit that referenced this pull request Sep 2, 2026
Ported from #2747 by @brsbl

Ported from #2749 by @brsbl

Ported from #2702 by @brsbl
SawyerHood added a commit that referenced this pull request Sep 2, 2026
Ported from #2747 by @brsbl

Ported from #2749 by @brsbl

Ported from #2702 by @brsbl
@SawyerHood

Copy link
Copy Markdown
Collaborator

Closing: the discovery contracts landed in a rebuilt form in #2880 (marketplace v2 contracts and parser, with marketplace-defined categories and tolerant v2 parsing). Thank you for the groundwork; the domain schemas and tests were ported from this PR with credit.

AGENT GENERATED

@SawyerHood SawyerHood closed this Sep 2, 2026
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.

2 participants