Skip to content

[Channel RFC] Core abstractions package (Aevatar.GAgents.Channel.Abstractions) #257

@eanzhao

Description

@eanzhao

Parent RFC: #254

Scope

Aevatar.GAgents.Channel.Abstractions package —— 核心接口层。

Deliverables

Interfaces (Aevatar.GAgents.Channel.Abstractions/):

Hard constraint: single-class two-interfaces

  • 禁止 "独立两个类实现"——IChannelTransportIChannelOutboundPort 必须 single class 同时实现(init/auth/capabilities 共享 state)
  • CI guard: channel_mega_interface_guard.sh 禁止 mega-interface 回归
  • Conformance Suite 泛型约束 where TAdapter : IChannelTransport, IChannelOutboundPort

Types (from proto-generated in #256):

  • C# record partial classes 在 proto-generated types 上扩展必要的 helper 方法(deterministic canonical key builders etc.)

Interface documentation:

  • §5.8 Interface Contracts 全部内联为 XML doc comments(lifecycle / idempotency / ordering)

Acceptance

  • Aevatar.GAgents.Channel.Abstractions.csproj 独立 build 通过
  • 接口 surface 过 Abigail / Shining / Potter / Louis 架构 review(对齐 Commitment 2 盲区覆盖)
  • XML doc 完整,CI 强制 no public API without doc

References

  • RFC §5 核心接口设计(§5.1-§5.8 全章节)
  • RFC §5.8 Interface Contracts

Dependencies

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions