Skip to content

[Feature] Capability plugin SPI foundation, with server-time as the first module #100

Closed

Description

@codegeek

Summary

First of four PRs for #98 (design: specs/014-capability-plugin-spi/). Adds the capability plugin SPI to core and moves server-time onto it as the first module, so the SPI is proven end to end on the simplest capability.

Scope

  • CapabilityExtension.register(CapabilityRegistrar) and the typed registrations the later migrations need (events, inbound/outbound tags, recipients, member status and NAMES identity, reply fields, output groups, commands), with CapabilityDescriptor dependencies.
  • Core dispatch for those hooks, the defined failure policy for a throwing hook, and the reply-budget accounting for hooks that change reply sizes.
  • Move server-time from contributeTags to the new outbound-tag registration. contributeTags and includeSenderInFanOut stay only until [Feature] Move message-tags, echo-message, away-notify, multi-prefix and batch onto the capability SPI #101 removes their last callers.
  • The spec docs for feature 014 land with this PR.

Acceptance

  • server-time behaviour lives only in its module; wire output is unchanged.
  • Existing integration tests pass unchanged.
  • Unit tests for each registration type and for hook failure isolation.

Part of #98.

Activity

  1. added 2 commits that reference this issue on Oct 23, 2026
    84e6d2a
    71617b6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions