Skip to content

feat: add M8 verified research inputs - #8

Merged
PureSaber merged 4 commits into
mainfrom
codex/m8-verified-factor-inputs
Aug 31, 2026
Merged

feat: add M8 verified research inputs#8
PureSaber merged 4 commits into
mainfrom
codex/m8-verified-factor-inputs

Conversation

@PureSaber

Copy link
Copy Markdown
Owner

范围

  • 发布quant-data-kit 0.8.0的M8认证输入层
  • 新增内容寻址InstrumentSpec/TradingSession市场上下文快照
  • 新增固定时间、session/trading-day、event Bar权威聚合及闭合证据
  • 新增Curated/Normalized两个fail-closed VerifiedFactorInput工厂
  • 保持旧Curated manifest可读,但拒绝升级为M8认证

契约影响与迁移

  • 新公开契约:puresaber.curated-aggregation@1.0.0、puresaber.market-context@1.0.0、puresaber.verified-factor-input@1.0.0
  • quant-factors后续必须锁定v0.8.0并只通过正式工厂读取认证输入
  • 旧load_curated_snapshot和历史快照不改写

测试证据

  • Ruff check及format check通过
  • M8/Curated/API定向测试:46 passed
  • 全仓本地:471 passed,1 skipped,1 deselected;唯一deselected为本机旧CRLF fixture工作副本,Git索引为LF,GitHub CI不排除该测试
  • 纯分支覆盖率:Curated 93.21%,M8 contracts 100%,M8 inputs 92.61%,全源码87.99%
  • GitHub CI将运行Python3.10/3.11/3.12、完整pytest、pip check和所有fixture哈希

回滚

  • revert本PR的merge commit;旧Curated manifest和读取路径保持兼容,历史快照无需改写

@PureSaber

Copy link
Copy Markdown
Owner Author

最终质量验收(fa2adfb)

  • 独立只读验证:PASS,P1/P2/P3均为0;修改文件=无
  • 本地全量:478 passed,1 skipped,1 deselected;deselected仅为Windows CRLF工作副本的冻结fixture hash,远程CI已执行该用例
  • 本地纯分支覆盖:curated.py 91.92%,research_contracts_v2.py 94.74%,research_inputs_v2.py 91.20%,全源码87.85%
  • GitHub Actions run 33354421370:Python3.10、3.11、3.12全部SUCCESS,含pip check、Ruff、完整fixture hash与纯分支覆盖门禁
  • 关闭项:多session路径唯一、source+session分区、源乱序、实际消费字节TOCTOU绑定、分区行值绑定、VerifiedFactorInput防伪及source/context-lineage交叉绑定
  • provider边界:每个Normalized snapshot绑定单一provider;Binance/OKX分别形成不可变snapshot与认证输入,认证层拒绝非lineage source
  • 回滚方式不变:revert merge commit;旧Curated manifest仍可读,历史快照不改写

@PureSaber
PureSaber merged commit 7faee41 into main Aug 31, 2026
3 checks passed
@PureSaber
PureSaber deleted the codex/m8-verified-factor-inputs branch August 31, 2026 03:40
PureSaber added a commit that referenced this pull request Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants