Skip to content

Retire residual feed discovery/dispatcher surface (ADR-0052 §5, follow-up to #1959) #3180

Description

@os-zhuang

Background

#1959 retired the vestigial feed contracts + protocol + client surface (ADR-0052 §5): IFeedService, feed-api.zod, data/subscription.zod, the FeedProtocol slice of protocol.zod, the getFeedService plumbing in metadata-protocol, and the client.feed.* accessor. service-feed's runtime was already deleted in #1955.

A small discovery/dispatcher feed surface was deliberately left out of #1959 to keep that PR focused, because it is entangled with the comments capability. This issue tracks finishing it.

Scope

  • packages/spec/src/api/discovery.zod.ts
    • routes.feed (ApiRoutes) — the feed: '/api/v1/feed' route hint. Removing it also lets packages/client/src/index.ts drop the feed route constant it currently keeps only to satisfy the Record<ApiRouteType, string> type (see the NOTE comment added there in Retire vestigial feed contracts + protocol surface (ADR-0052 §5 follow-up) #1959).
    • WellKnownCapabilitiesSchema.feed — the boolean capability. Blocker to untangle:comments currently derives from the same deleted service.
  • packages/spec/src/api/dispatcher.zod.ts
    • the { prefix: '/api/v1/feed', service: 'data' } dispatcher entry.
  • packages/metadata-protocol/src/protocol.tsgetDiscovery()
    • feed: registeredServices.has('feed') — since service-feed no longer exists this is permanently false; and
    • comments: registeredServices.has('feed')this also keys off the deleted 'feed' service, so comments is now permanently false too. That is a real bug: sys_comment is the canonical comments backend, so the comments capability should reflect that, not the retired feed service. Decide where comments should hang (e.g. always-on, or keyed off the data/sys_comment availability) as part of this cleanup.
  • Tests to update: packages/spec/src/api/discovery.test.ts, packages/spec/src/api/dispatcher.test.ts, packages/client/src/client.test.ts (capabilities.feed).

Notes

  • Removing WellKnownCapabilities.feed is a breaking change to the discovery response shape → needs a changeset with a FROM → TO note (capabilities.feedcapabilities.comments / the services registry).
  • Regenerate spec artifacts (gen:schema may need a manifest key removal for the discovery schema, gen:api-surface, gen:docs) as in Retire vestigial feed contracts + protocol surface (ADR-0052 §5 follow-up) #1959.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions