M5 对 M3A–M4 已交付的自然语言编写、封闭规则契约、SQL/Polars 执行、证据持久化、 数据标准/数据流程产品面和数据工厂生命周期做最终收口。完成声明以可重算证据和 自动化测试为准,不以页面存在或接口可调用代替。
Qwen/Qwen3-1.7B,Transformers + PyTorch CPU;当前沙箱无 Metal,
因此不能把它描述为 MLX 测试。docs/acceptance/data-rule/real-qwen-authoring-evidence.json。真实模型门槛是:模型生成版本、候选类型和完整 rule_spec;候选通过确定性校验;
包含 normalize/assert+quarantine/deduplicate 三步语义;歧义为空;置信度不低于
本地 canary 阈值 0.5;保留模型、Prompt、上下文和候选四类 Hash。生产默认自动化
阈值仍为 0.85,M5 测试不降低生产策略。
candidate_type=rule 时省略 standard_spec 只做确定性规范化为 null。显式
null 与省略后的 canonical candidate Hash 完全一致;版本、类型和规则正文仍必须
由模型产生。
可重算证据:
docs/validation/data-rule-m5-capacity-targets.jsondocs/validation/data-rule-m5-capacity-evidence.json| 后端 | 行数 | 总耗时 | 吞吐(行/秒) | 峰值内存 | 连接池峰值 | 制品大小 |
|---|---|---|---|---|---|---|
| SQL pushdown | 100,000 | 0.165s | 606,851 | 3.53 MiB | 1 | 0 |
| SQL pushdown | 1,000,000 | 1.380s | 724,725 | 10.06 MiB | 1 | 0 |
| SQL pushdown | 10,000,000 | 14.812s | 675,136 | 10.06 MiB | 1 | 0 |
| Polars batch | 100,000 | 0.033s | 3,020,635 | 62.55 MiB RSS | 0 | 0.18 MiB |
| Polars batch | 1,000,000 | 0.058s | 17,233,518 | 243.92 MiB RSS | 0 | 1.51 MiB |
| Polars batch | 10,000,000 | 0.448s | 22,308,913 | 1.176 GiB RSS | 0 | 14.73 MiB |
预算为 Runner 2 GiB、数据源池 2、单制品 512 MiB。10M Polars RSS 为 1.176 GiB,
低于 2 GiB;14.73 MiB Parquet 制品低于 512 MiB。SQL 内存是 PostgreSQL
EXPLAIN ANALYZE 报告的峰值算子内存,Polars 是进程 RSS,两者口径已写入证据。
| 场景 | 可执行证据 |
|---|---|
| 计划正文/Hash 篡改、撤销计划 | tests/runner/test_rules.py、tests/integration/test_data_rule_sql_execution.py |
| 发布后 Schema drift | tests/core/data_rules/test_deployment.py、tests/core/data_rules/test_schema_resolver.py |
| 过期/损坏/超限制品 | tests/runner/test_artifacts.py |
| 缺失或轮换数据源凭据 | tests/core/data_rules/test_execution_contracts.py、tests/integration/test_runner_datasource_pool.py |
| 重复/过期/篡改任务令牌 | tests/runner/test_task_tokens.py、tests/runner/test_replay_store.py |
| Runner 重启/lease 丢失 | tests/runner/test_rule_evidence.py |
| Kestra 重启前后及定义漂移 | tests/core/data_rules/test_deployment.py、tests/integration/test_kestra_runner_execution.py |
| 写失败和 known/unknown commit | tests/runner/test_rule_evidence.py |
| 未授权发布/部署/激活/回滚 | tests/test_permission_matrix.py、tests/test_data_rule_api.py |
| 违规样本脱敏和 TTL 删除 | tests/runner/test_rule_evidence.py、tests/runner/test_artifacts.py |
| 激活/回滚原子性与恢复旧 active | tests/integration/test_data_factory_postgres_lifecycle.py |
完整链的分层证据是:
RuleSpec 并保留四类 Hash。满足以下所有条件后,目标环境才可显式打开
DATA_FACTORY_ACTIVATION_ENABLED=true:
任一条件未满足时能力继续失败关闭,不能把局部链路通过报告为完整投产。