- 所有对外暴露的数据载体使用
@dataclass(frozen=True)不可变结构体(AdvisoryContext、AdvisoryResult、AggregatedVerdict),并通过__post_init__自动填充时间戳等默认字段。 - 可扩展能力通过模块级全局注册表 + 显式
register_*/get_*/clear_*函数管理生命周期,而非类静态属性或配置对象。 - provider 抽象采用 ABC +
@abstractmethod定义最小接口(provider_id、review),具体实现(含 mock)仅关注自身行为,异常由编排层统一兜底。 - broker 扩展以字符串 key 注册到集中字典(
BROKER_EXTRACTORS),新增券商只需追加条目,无需修改查找逻辑。