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
* feat(spec): segment ObjectStackProtocol into per-domain protocol interfaces (ADR-0076 D9)
Split the 70-method, 11-domain ObjectStackProtocol god-interface into focused,
exported per-domain contracts (DataProtocol, MetadataProtocol, AnalyticsProtocol,
AutomationProtocol, PackageProtocol, ViewProtocol, PermissionProtocol,
WorkflowProtocol, RealtimeProtocol, NotificationProtocol, AiProtocol,
I18nProtocol, FeedProtocol). ObjectStackProtocol now `extends` all of them —
shape-identical to the old flat interface, so non-breaking.
This is the lowest-risk, foundational step of ADR-0076 D9: pure type-level,
shape-preserving, no runtime change. Consumers can now depend on the narrowest
slice (e.g. DataProtocol). The composed union is transitional (D9 rev.7).
Verified: turbo build (spec + rest + metadata-protocol + objectql) green incl.
DTS — the impl class still satisfies `implements ObjectStackProtocol`; spec
suite 243 files / 6602 tests pass.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* chore(spec): update api-surface snapshot for the 13 segmented protocol interfaces
The api-surface ratchet flagged 13 additive exports (0 breaking) from the
ObjectStackProtocol segmentation. Regenerated the committed snapshot.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---------
Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Segment `ObjectStackProtocol` into per-domain protocol interfaces (ADR-0076 D9)
6
+
7
+
`ObjectStackProtocol` was a single 70-method interface spanning 11 unrelated domains. It is now the **composition** of focused per-domain contracts — `DataProtocol`, `MetadataProtocol`, `AnalyticsProtocol`, `AutomationProtocol`, `PackageProtocol`, `ViewProtocol`, `PermissionProtocol`, `WorkflowProtocol`, `RealtimeProtocol`, `NotificationProtocol`, `AiProtocol`, `I18nProtocol`, `FeedProtocol` — all newly exported.
8
+
9
+
`ObjectStackProtocol` now `extends` all of them and is **shape-identical** to the previous flat interface, so every existing implementation/consumer is unaffected (non-breaking). New code should depend on the narrowest slice it needs (e.g. `DataProtocol`). Per ADR-0076 D9 (rev.7) the composed union is transitional; capability availability is provided at runtime by the discovery `services` registry.
0 commit comments