- 新增数据源需在 loaders.registry 中注册并通过 get_loader_cls_with_fallback 选择,而非硬编码分支。
- 新增市场引擎需继承 engines.base.BaseEngine 并实现统一的交易规则接口。
- 新增权重优化策略需继承 optimizers.base.BaseOptimizer 并实现 optimize 方法。
- 策略文件必须定义无参可构造的 SignalEngine 类并提供 generate(self, data_map) 方法,且不得包含 import-time 可执行语句。
- symbol→市场类型的判断统一走 engines._market_hooks 的 _detect_market/_detect_submarket,避免在各子模块重复实现。
- 所有外部输入(config、signal_engine 源码、factor spec)在进入执行路径前通过 pydantic/AST 校验后再使用。