Files
quant-os/gate_scorecard.json
T

179 lines
9.0 KiB
JSON

{
"schema_version": "1.0",
"system": "Quant OS / quant60 baseline kernel",
"audit_as_of": "2026-07-26",
"claim_policy": {
"baseline_threshold": 60,
"all_gates_required": true,
"rule": "A score is earned only by linked, reproducible evidence. Source files, mocks, fixtures and successful unit tests do not prove real-platform, live-broker or compliance gates.",
"current_claim": "NOT_BASELINE_60"
},
"article_reassessment": {
"design_coverage": {
"score": 70,
"out_of": 100,
"scope": "How much of the intended research-to-production responsibility chain the 2026-07-22 article discusses.",
"status": "estimated"
},
"implementable_specification": {
"score": 49,
"out_of": 100,
"scope": "How much of the article was sufficiently specified to implement without inventing contracts, data semantics, defaults or operational decisions.",
"status": "estimated"
},
"original_implementation_evidence": {
"score": 6,
"out_of": 100,
"scope": "Evidence present before the first code delivery; this historical score is not the score of the current Quant OS repository.",
"status": "historical"
},
"gates_passed": 0,
"gates_total": 10
},
"current_delivery": {
"score": null,
"status": "not_scored",
"reason": "Quant OS now has executable local pipelines, real Qlib fixture smokes, a checksummed incomplete Tushare-to-Qlib technical smoke and one completed real JoinQuant hosted smoke, but it has not produced complete adjusted PIT data, the same-input JoinQuant comparison, real QMT, broker-shadow, continuous reconciliation or compliance evidence required to score Baseline 60.",
"verified_supporting_facts": [
"The latest standard-library suite completed 216 tests with OK and 6 optional-runtime skips; the CPython 3.12 pyqlib environment completed the same 216 tests with the native Qlib smoke enabled and no skips.",
"The JQData adapter maps raw bars, adjustment factor, previous close, daily limits, pause state, PIT is_st and daily PIT index membership into a semantically revalidated snapshot; it rejects an end date that has not reached the provider's complete daily-bar boundary, and only fake-provider tests have been run so far.",
"The local snapshot can drive snapshot-backtest and snapshot-decision with manifest verification; it freezes a cross-checked provider trading calendar, and a T-close signal can bind only to a broker observation in the unique next session's Asia/Shanghai [09:00,09:30) window without collapsing the two clocks.",
"CPython 3.12 with pyqlib 0.9.7 completed a native momentum fixture smoke with 24 signals and saved audited portfolio-table hashes, bounds and recomputed metrics.",
"Qlib Alpha158, LightGBM and Recorder completed a real local fixture smoke with audited portfolio output; the deterministic two-stock synthetic fixture has no investment-value meaning.",
"The local Tushare inventory verified all 93 completed Parquet files against recorded size, SHA-256 and row count. An immutable managed Qlib provider and the same early-history momentum command produced byte-identical evidence JSON twice with PYTHONHASHSEED=0. The mirror is only about 8.2% complete for daily partitions and lacks adjustment, real benchmark, point-in-time membership, ST, suspension and limit data, so production_ready and investment_value_claim remain false and no gate credit is earned.",
"A real JoinQuant daily hosted backtest completed for 2024-01-02 through 2024-12-31 with CNY 1,000,000; the visible completed-run log had zero ERROR/Traceback/order-rejection entries. This proves hosted runtime execution only: exact input/plan/order/fill export and a local same-input peer are still missing.",
"The QMT shadow CLI is strictly read-only and produces HMAC account-bound broker observation, broker snapshot and target-diff artifacts. QMT_SHADOW_EVIDENCE_V1 authenticates semantic content, deterministic published bytes, the original decision, planner/engine/operator source and fixed policy; semantic replay verifies exact derived state. Independent local QA completed 58 deterministic scenarios, 500 malformed fuzz cases and 300 legal-observation fuzz cases with no P0/P1. This is Quant OS publisher integrity, not broker attestation, and it still has only fake-broker evidence.",
"JoinQuant/QMT mock parity is mock_contract_only, real_platform_pass is false and it earns no G9 gate credit."
],
"external_evidence_missing": [
"authorized JQData market snapshot and licence/lineage record",
"complete JoinQuant hosted input/plan/order/fill export and same-input local comparison",
"real QMT built-in and qmttools backtest exports",
"real QMT historical-ST positive control, terminal/xtquant build record, broker query contract and trade-amount semantic probes, callback/restart and at least 20 trading days of shadow evidence",
"continuous reconciliation, recovery drills and broker compliance confirmation"
]
},
"gates": [
{
"id": "G1",
"name": "数据时点",
"status": "not_passed",
"acceptance": "历史预测可重放当时实际可得数据;财报按 available_time 连接;未来公告注入测试被拒绝。",
"required_evidence": [
"PIT 数据 manifest 与字段可得时间规范",
"未来公告注入测试报告",
"授权真实数据的历史决策日抽样重放报告"
],
"evidence": []
},
{
"id": "G2",
"name": "样本外验证",
"status": "not_passed",
"acceptance": "时间有序且带 purge/embargo 的 walk-forward;测试集隔离;成本后多状态结果已保存。",
"required_evidence": [
"切分代码与测试",
"真实授权长样本上的冻结 walk-forward 报告",
"未触碰测试集声明和冻结模型包"
],
"evidence": []
},
{
"id": "G3",
"name": "A 股现实",
"status": "not_passed",
"acceptance": "停复牌、涨跌停、交易单位、T+1、费用、公司行动和日期化规则均被回放验证。",
"required_evidence": [
"每类规则的回归夹具",
"日期化规则版本",
"真实平台跨引擎差异报告"
],
"evidence": []
},
{
"id": "G4",
"name": "稳定合约",
"status": "not_passed",
"acceptance": "Signal、Target、OrderEvent、BrokerSnapshot 分层落盘并通过版本化 JSON Schema 验证。",
"required_evidence": [
"四类 schema 的发布验证报告",
"正反例 fixture",
"迁移兼容性策略和演练"
],
"evidence": []
},
{
"id": "G5",
"name": "事前风险",
"status": "not_passed",
"acceptance": "目标生成前检查集中度、行业/风格、组合波动、流动性、换手与不可卖仓位。",
"required_evidence": [
"真实数据校准的风险模型版本",
"约束解释与不可行降级测试",
"压力测试和容量报告"
],
"evidence": []
},
{
"id": "G6",
"name": "订单状态",
"status": "not_passed",
"acceptance": "真实或券商认证环境覆盖受理、部分成交、全成、撤单中、已撤、拒单、乱序/重复与未知状态。",
"required_evidence": [
"状态机测试报告",
"券商回调脱敏回放",
"重启幂等演练"
],
"evidence": []
},
{
"id": "G7",
"name": "可复现",
"status": "not_passed",
"acceptance": "每个 run 绑定代码、Python/依赖、配置 hash、数据、模型、规则与随机种子;固定输入可重放。",
"required_evidence": [
"发布级 run manifest",
"干净环境重建记录",
"版本冻结后的确定性重放差异报告"
],
"evidence": []
},
{
"id": "G8",
"name": "对账与停机",
"status": "not_passed",
"acceptance": "启动、运行中、日终对账;不明差异阻止新单;kill switch 与恢复手册经过演练。",
"required_evidence": [
"连续对账报告",
"故障注入/恢复演练",
"kill switch 测试"
],
"evidence": []
},
{
"id": "G9",
"name": "跨引擎一致性",
"status": "not_passed",
"acceptance": "同一 canonical fixture/config 在本地、聚宽与可用 QMT/Qlib 路径上的语义差异处于声明容差且有原因码。",
"required_evidence": [
"真实平台跨引擎 manifest",
"逐层 signal/target/order 差异",
"QMT 至少 20 个交易日影子记录"
],
"evidence": []
},
{
"id": "G10",
"name": "合规",
"status": "not_passed",
"acceptance": "实际券商书面确认接口权限、频率、模拟/实盘差异及程序化交易报告要求,完成先报告后交易。",
"required_evidence": [
"券商确认材料索引",
"程序化交易报告状态",
"账户权限与限额检查记录"
],
"evidence": []
}
]
}