2026-09-23·by Sijie Wang#standmeet#architecture#design

capabilities-diagram-coverage

Capabilities — diagram coverage (assembly side vs consumption side)

Parent: capabilities

Same two-sided cut as connector-diagram-coverage: the assembly side (how capabilities register and get exposed per session) and the consumption side (what the loop actually holds). The plugin-loading types live on mcp-capability-plugins; skills runner types on skills-progressive-disclosure; frontend card types on ui-cards.

1 · Assembly side — registry, gates, session context

AssembleInput is the whole session context a capability may see — it carries the frozen RoleSnapshot, so every binding decision happens against the freeze; EnableGate (the live global layer) is the only live input. (Members verified against internal/capabilities/capreg/types.go / registry.go on 2026-09-07: the former CodeID / MaxBookings fields are gone — the code identity now travels as Subject, and the booking cap is a config key of the capability's own manifest (max_bookings in backend/capabilities/calendar.book/manifest.yaml).)

2 · Consumption side — what a session actually holds

Coverage checklist (anti-omission gate)

type / areadiagrammed atverified
Capability, Registry, AssembleInput, EnableGatethis page §1✓ code
Binding, CapabilityState, VisitorAgentthis page §2✓ code
Manifest / Transport / Sandbox / PluginSpecmcp-capability-plugins✓ code
skillRunnerCapability + tool inputs/outputsskills-progressive-disclosure✓ code
cardKindFor / McpAppCard / GenericDumpCardui-cards✓ code
mcpclient transports (http / in-process / stdio)☐ not yet diagrammed
capsocket server + hostdesk op collection (hostop.Op, routes/hostdesk)capsocket (prose)☐ no class diagram
about this entry

One of sijie's wiki entries. The AI on this site is grounded in the same corpus and answers in sijie's voice, with citations back to entries like this one — answering costs sijie money, so it waits behind a code: enter an access code →