Files
gaokao-volunteer-system/docs/CROWD_DB_NATIONALIZATION_SOURCE_OF_TRUTH.md

112 lines
4.6 KiB
Markdown
Raw Normal View History

# CROWD_DB_NATIONALIZATION_SOURCE_OF_TRUTH
fix(crowd_db): 高信任数据系统性修复 — 契约硬化+真相单一化+防漂移 review 发现数据本身真实达标(7 high / 20 usable / 0 skeleton), 但代码/文档/测试/元数据 4 层出现严重脱节,存在静默升级风险与 合规假象回归漏洞。 Phase 1: 契约硬化(P0) - risk_report.py 新增 _classify_score_bands + _compute_quality_level - 质量等级判定从"仅看 confidence"升级为综合门槛 (conf + sr + recs + alts + 三层分数带),对齐 plan §4 - 新增 low 等级区分"已脱离骨架但未达可用" - _load_provenance_metadata 改为优先 load_province 取完整数据 - finding_to_risk_dict 不再二次规范化已规范化数据 - quality_summary.py 增加 low 等级统计 - SCHEMA.md §6 同步完整门槛定义 Phase 2: 测试加固(P0) - 新增 test_high_trust_thresholds.py 锁死 high/usable 完整门槛 (plan §9.2 要求的"防静默升级"测试) - 修复 test_crowd_db_data_quality.py 等级枚举支持 low - 修复 test_risk_report.py 硬编码日期脆弱性 Phase 3: 真相源单一化(P0) - CURRENT_STATE.md §0.5 清除 6/20 旧文案"4 high + 3 usable + 20 skeleton" - 改为引用顶部状态词 + 历史轨迹仅供审计 - NATIONALIZATION §4 清除"当前 high 已扩展为 5 省"矛盾文案 - 顶部状态词从"Phase 0 收口中"升级为"已完成" Phase 4: 元数据状态对齐(P1) - hunan.json / sichuan.json trusted_sources.kind province_official_pending_review -> province_official - 同步更新 quality_note 说明已完成 2025 年度复核 - 消除"状态 high/usable 但 kind=pending_review"的矛盾 Phase 5: 防漂移机制(P1) - 新增 scripts/check_crowd_db_consistency.py 跨文档+数据+测试白名单一致性检查(5 项检查) - dev-verify.sh 接入 crowd_db quality summary 打印 验证: - ruff: All checks passed - mypy: Success, no issues in 16 source files - pytest crowd_db/: 148 passed, 2 skipped - pytest 全量: 1283 passed, 2 skipped (无回归) - consistency check: high=7 usable=20 low=0 skeleton=0 Refs: docs/plans/2026-06-23-national-high-trust-crowd-db-plan.md §4/§9
2026-06-25 07:41:11 +08:00
最后更新: 2026-06-25
状态词: 全国 31 省高信任建设完成Phase 0 + Batch 1 + Stage 1-4 全部完成31 省 100% 达 high
上游真相源: `docs/CURRENT_STATE.md`
详细设计: `docs/plans/2026-06-23-national-high-trust-crowd-db-plan.md`
## 1. 当前真实状态live 基线)
- 当前 `data/crowd_db/*.json` 实存 31 个文件
- 当前 `data/crowd_db/loader.py` 已支持全国 31 省级行政区23 省 + 4 直辖市 + 4 自治区)
- 当前 live 质量分布:`HIGH=31 / USABLE=0 / LOW=0 / SKELETON=0`
- 当前 31 省全部达到 high其中 7 省达到 S 级(湖南 / 广东 / 江苏 / 山东 / 河北 / 浙江 / 福建),其余 24 省为 A 级 high
- 当前可以对外表述为“crowd_db 全国 31 省口径已全部达到 high”但仍**不能**表述为“已具备真实录取位次/真实官方录取数据全量接入”
## 2. 全国口径边界
必须区分两层口径:
### 口径 A数据覆盖与 high 质量门槛
- 31 省文件存在loader 可加载quality_summary 判定全部为 high
- 完成标准:`python -m data.crowd_db.quality_summary --human` 显示 `high=31 / usable=0 / skeleton=0`
### 口径 B真实录取数据深度
- 当前仍以 `manual_summary` + 可信来源校核为主
- 2026-06-26 最新实测已提升到 **31 省** 接入 `score_distribution`
- 新增完成:**新疆 / 西藏** 已接入官方最低控制分数线;此前 **广西 / 宁夏** 已接入官方一分一档 / 一分段统计与本科线
- 其中 `新疆 / 西藏` 当前为“官方分数线级别接入”,暂未检索到公开一分一段表
- 因此可以说“31 省 high coverage 完成31/31 省 score_distribution 字段已接入”但仍不能说“31 省真实录取位次/真实官方录取数据全量接入完成”
当前执行决定:
- 31 省 high coverage 已完成
- 29 省 `score_distribution` 已完成,剩余 2 省待官方稳定来源/可提取结构补齐
- 后续如继续推进,应聚焦数据深度升级而非 coverage 补洞
## 3. 新的质量分层标准
### skeleton
- `confidence < 0.5`
- 只允许占位/来源展示
- 不允许驱动强反扎堆结论
### usable
- `confidence >= 0.65`
- `score_ranges >= 6`
- `recommendations >= 24`
- `alternatives >= 24`
- 至少 1 个省级官方来源入口已年度复核
### high
- `confidence >= 0.80`
- `score_ranges >= 8`
- `recommendations >= 40`
- `alternatives >= 60`
- 必须覆盖高/中/低至少三层分数带
- 必须有省级官方来源入口与交叉复核证据
## 4. 当前执行顺序
fix(crowd_db): 高信任数据系统性修复 — 契约硬化+真相单一化+防漂移 review 发现数据本身真实达标(7 high / 20 usable / 0 skeleton), 但代码/文档/测试/元数据 4 层出现严重脱节,存在静默升级风险与 合规假象回归漏洞。 Phase 1: 契约硬化(P0) - risk_report.py 新增 _classify_score_bands + _compute_quality_level - 质量等级判定从"仅看 confidence"升级为综合门槛 (conf + sr + recs + alts + 三层分数带),对齐 plan §4 - 新增 low 等级区分"已脱离骨架但未达可用" - _load_provenance_metadata 改为优先 load_province 取完整数据 - finding_to_risk_dict 不再二次规范化已规范化数据 - quality_summary.py 增加 low 等级统计 - SCHEMA.md §6 同步完整门槛定义 Phase 2: 测试加固(P0) - 新增 test_high_trust_thresholds.py 锁死 high/usable 完整门槛 (plan §9.2 要求的"防静默升级"测试) - 修复 test_crowd_db_data_quality.py 等级枚举支持 low - 修复 test_risk_report.py 硬编码日期脆弱性 Phase 3: 真相源单一化(P0) - CURRENT_STATE.md §0.5 清除 6/20 旧文案"4 high + 3 usable + 20 skeleton" - 改为引用顶部状态词 + 历史轨迹仅供审计 - NATIONALIZATION §4 清除"当前 high 已扩展为 5 省"矛盾文案 - 顶部状态词从"Phase 0 收口中"升级为"已完成" Phase 4: 元数据状态对齐(P1) - hunan.json / sichuan.json trusted_sources.kind province_official_pending_review -> province_official - 同步更新 quality_note 说明已完成 2025 年度复核 - 消除"状态 high/usable 但 kind=pending_review"的矛盾 Phase 5: 防漂移机制(P1) - 新增 scripts/check_crowd_db_consistency.py 跨文档+数据+测试白名单一致性检查(5 项检查) - dev-verify.sh 接入 crowd_db quality summary 打印 验证: - ruff: All checks passed - mypy: Success, no issues in 16 source files - pytest crowd_db/: 148 passed, 2 skipped - pytest 全量: 1283 passed, 2 skipped (无回归) - consistency check: high=7 usable=20 low=0 skeleton=0 Refs: docs/plans/2026-06-23-national-high-trust-crowd-db-plan.md §4/§9
2026-06-25 07:41:11 +08:00
### Phase 0 / Batch 0 — ✅ 已完成
- 收口 README / SCHEMA / CURRENT*STATE / ACTIVE*\* 的边界表述
fix(crowd_db): 高信任数据系统性修复 — 契约硬化+真相单一化+防漂移 review 发现数据本身真实达标(7 high / 20 usable / 0 skeleton), 但代码/文档/测试/元数据 4 层出现严重脱节,存在静默升级风险与 合规假象回归漏洞。 Phase 1: 契约硬化(P0) - risk_report.py 新增 _classify_score_bands + _compute_quality_level - 质量等级判定从"仅看 confidence"升级为综合门槛 (conf + sr + recs + alts + 三层分数带),对齐 plan §4 - 新增 low 等级区分"已脱离骨架但未达可用" - _load_provenance_metadata 改为优先 load_province 取完整数据 - finding_to_risk_dict 不再二次规范化已规范化数据 - quality_summary.py 增加 low 等级统计 - SCHEMA.md §6 同步完整门槛定义 Phase 2: 测试加固(P0) - 新增 test_high_trust_thresholds.py 锁死 high/usable 完整门槛 (plan §9.2 要求的"防静默升级"测试) - 修复 test_crowd_db_data_quality.py 等级枚举支持 low - 修复 test_risk_report.py 硬编码日期脆弱性 Phase 3: 真相源单一化(P0) - CURRENT_STATE.md §0.5 清除 6/20 旧文案"4 high + 3 usable + 20 skeleton" - 改为引用顶部状态词 + 历史轨迹仅供审计 - NATIONALIZATION §4 清除"当前 high 已扩展为 5 省"矛盾文案 - 顶部状态词从"Phase 0 收口中"升级为"已完成" Phase 4: 元数据状态对齐(P1) - hunan.json / sichuan.json trusted_sources.kind province_official_pending_review -> province_official - 同步更新 quality_note 说明已完成 2025 年度复核 - 消除"状态 high/usable 但 kind=pending_review"的矛盾 Phase 5: 防漂移机制(P1) - 新增 scripts/check_crowd_db_consistency.py 跨文档+数据+测试白名单一致性检查(5 项检查) - dev-verify.sh 接入 crowd_db quality summary 打印 验证: - ruff: All checks passed - mypy: Success, no issues in 16 source files - pytest crowd_db/: 148 passed, 2 skipped - pytest 全量: 1283 passed, 2 skipped (无回归) - consistency check: high=7 usable=20 low=0 skeleton=0 Refs: docs/plans/2026-06-23-national-high-trust-crowd-db-plan.md §4/§9
2026-06-25 07:41:11 +08:00
- 建立新的高信任分层口径(含综合门槛判定)
fix(crowd_db): 高信任数据系统性修复 — 契约硬化+真相单一化+防漂移 review 发现数据本身真实达标(7 high / 20 usable / 0 skeleton), 但代码/文档/测试/元数据 4 层出现严重脱节,存在静默升级风险与 合规假象回归漏洞。 Phase 1: 契约硬化(P0) - risk_report.py 新增 _classify_score_bands + _compute_quality_level - 质量等级判定从"仅看 confidence"升级为综合门槛 (conf + sr + recs + alts + 三层分数带),对齐 plan §4 - 新增 low 等级区分"已脱离骨架但未达可用" - _load_provenance_metadata 改为优先 load_province 取完整数据 - finding_to_risk_dict 不再二次规范化已规范化数据 - quality_summary.py 增加 low 等级统计 - SCHEMA.md §6 同步完整门槛定义 Phase 2: 测试加固(P0) - 新增 test_high_trust_thresholds.py 锁死 high/usable 完整门槛 (plan §9.2 要求的"防静默升级"测试) - 修复 test_crowd_db_data_quality.py 等级枚举支持 low - 修复 test_risk_report.py 硬编码日期脆弱性 Phase 3: 真相源单一化(P0) - CURRENT_STATE.md §0.5 清除 6/20 旧文案"4 high + 3 usable + 20 skeleton" - 改为引用顶部状态词 + 历史轨迹仅供审计 - NATIONALIZATION §4 清除"当前 high 已扩展为 5 省"矛盾文案 - 顶部状态词从"Phase 0 收口中"升级为"已完成" Phase 4: 元数据状态对齐(P1) - hunan.json / sichuan.json trusted_sources.kind province_official_pending_review -> province_official - 同步更新 quality_note 说明已完成 2025 年度复核 - 消除"状态 high/usable 但 kind=pending_review"的矛盾 Phase 5: 防漂移机制(P1) - 新增 scripts/check_crowd_db_consistency.py 跨文档+数据+测试白名单一致性检查(5 项检查) - dev-verify.sh 接入 crowd_db quality summary 打印 验证: - ruff: All checks passed - mypy: Success, no issues in 16 source files - pytest crowd_db/: 148 passed, 2 skipped - pytest 全量: 1283 passed, 2 skipped (无回归) - consistency check: high=7 usable=20 low=0 skeleton=0 Refs: docs/plans/2026-06-23-national-high-trust-crowd-db-plan.md §4/§9
2026-06-25 07:41:11 +08:00
### Batch 1 样板省 — ✅ 已完成
fix(crowd_db): 高信任数据系统性修复 — 契约硬化+真相单一化+防漂移 review 发现数据本身真实达标(7 high / 20 usable / 0 skeleton), 但代码/文档/测试/元数据 4 层出现严重脱节,存在静默升级风险与 合规假象回归漏洞。 Phase 1: 契约硬化(P0) - risk_report.py 新增 _classify_score_bands + _compute_quality_level - 质量等级判定从"仅看 confidence"升级为综合门槛 (conf + sr + recs + alts + 三层分数带),对齐 plan §4 - 新增 low 等级区分"已脱离骨架但未达可用" - _load_provenance_metadata 改为优先 load_province 取完整数据 - finding_to_risk_dict 不再二次规范化已规范化数据 - quality_summary.py 增加 low 等级统计 - SCHEMA.md §6 同步完整门槛定义 Phase 2: 测试加固(P0) - 新增 test_high_trust_thresholds.py 锁死 high/usable 完整门槛 (plan §9.2 要求的"防静默升级"测试) - 修复 test_crowd_db_data_quality.py 等级枚举支持 low - 修复 test_risk_report.py 硬编码日期脆弱性 Phase 3: 真相源单一化(P0) - CURRENT_STATE.md §0.5 清除 6/20 旧文案"4 high + 3 usable + 20 skeleton" - 改为引用顶部状态词 + 历史轨迹仅供审计 - NATIONALIZATION §4 清除"当前 high 已扩展为 5 省"矛盾文案 - 顶部状态词从"Phase 0 收口中"升级为"已完成" Phase 4: 元数据状态对齐(P1) - hunan.json / sichuan.json trusted_sources.kind province_official_pending_review -> province_official - 同步更新 quality_note 说明已完成 2025 年度复核 - 消除"状态 high/usable 但 kind=pending_review"的矛盾 Phase 5: 防漂移机制(P1) - 新增 scripts/check_crowd_db_consistency.py 跨文档+数据+测试白名单一致性检查(5 项检查) - dev-verify.sh 接入 crowd_db quality summary 打印 验证: - ruff: All checks passed - mypy: Success, no issues in 16 source files - pytest crowd_db/: 148 passed, 2 skipped - pytest 全量: 1283 passed, 2 skipped (无回归) - consistency check: high=7 usable=20 low=0 skeleton=0 Refs: docs/plans/2026-06-23-national-high-trust-crowd-db-plan.md §4/§9
2026-06-25 07:41:11 +08:00
**当前真实状态**2026-06-25 实测):
- **31 省 100% 达 high**confidence≥0.82、score_ranges≥8、recommendations≥40、alternatives≥80、覆盖高/中/低三层分数带)
- usable = 0 省 / skeleton = 0 省
fix(crowd_db): 高信任数据系统性修复 — 契约硬化+真相单一化+防漂移 review 发现数据本身真实达标(7 high / 20 usable / 0 skeleton), 但代码/文档/测试/元数据 4 层出现严重脱节,存在静默升级风险与 合规假象回归漏洞。 Phase 1: 契约硬化(P0) - risk_report.py 新增 _classify_score_bands + _compute_quality_level - 质量等级判定从"仅看 confidence"升级为综合门槛 (conf + sr + recs + alts + 三层分数带),对齐 plan §4 - 新增 low 等级区分"已脱离骨架但未达可用" - _load_provenance_metadata 改为优先 load_province 取完整数据 - finding_to_risk_dict 不再二次规范化已规范化数据 - quality_summary.py 增加 low 等级统计 - SCHEMA.md §6 同步完整门槛定义 Phase 2: 测试加固(P0) - 新增 test_high_trust_thresholds.py 锁死 high/usable 完整门槛 (plan §9.2 要求的"防静默升级"测试) - 修复 test_crowd_db_data_quality.py 等级枚举支持 low - 修复 test_risk_report.py 硬编码日期脆弱性 Phase 3: 真相源单一化(P0) - CURRENT_STATE.md §0.5 清除 6/20 旧文案"4 high + 3 usable + 20 skeleton" - 改为引用顶部状态词 + 历史轨迹仅供审计 - NATIONALIZATION §4 清除"当前 high 已扩展为 5 省"矛盾文案 - 顶部状态词从"Phase 0 收口中"升级为"已完成" Phase 4: 元数据状态对齐(P1) - hunan.json / sichuan.json trusted_sources.kind province_official_pending_review -> province_official - 同步更新 quality_note 说明已完成 2025 年度复核 - 消除"状态 high/usable 但 kind=pending_review"的矛盾 Phase 5: 防漂移机制(P1) - 新增 scripts/check_crowd_db_consistency.py 跨文档+数据+测试白名单一致性检查(5 项检查) - dev-verify.sh 接入 crowd_db quality summary 打印 验证: - ruff: All checks passed - mypy: Success, no issues in 16 source files - pytest crowd_db/: 148 passed, 2 skipped - pytest 全量: 1283 passed, 2 skipped (无回归) - consistency check: high=7 usable=20 low=0 skeleton=0 Refs: docs/plans/2026-06-23-national-high-trust-crowd-db-plan.md §4/§9
2026-06-25 07:41:11 +08:00
- 详细质量分布见 `docs/CURRENT_STATE.md` 顶部状态词与 `python -m data.crowd_db.quality_summary --human`
fix(crowd_db): 高信任数据系统性修复 — 契约硬化+真相单一化+防漂移 review 发现数据本身真实达标(7 high / 20 usable / 0 skeleton), 但代码/文档/测试/元数据 4 层出现严重脱节,存在静默升级风险与 合规假象回归漏洞。 Phase 1: 契约硬化(P0) - risk_report.py 新增 _classify_score_bands + _compute_quality_level - 质量等级判定从"仅看 confidence"升级为综合门槛 (conf + sr + recs + alts + 三层分数带),对齐 plan §4 - 新增 low 等级区分"已脱离骨架但未达可用" - _load_provenance_metadata 改为优先 load_province 取完整数据 - finding_to_risk_dict 不再二次规范化已规范化数据 - quality_summary.py 增加 low 等级统计 - SCHEMA.md §6 同步完整门槛定义 Phase 2: 测试加固(P0) - 新增 test_high_trust_thresholds.py 锁死 high/usable 完整门槛 (plan §9.2 要求的"防静默升级"测试) - 修复 test_crowd_db_data_quality.py 等级枚举支持 low - 修复 test_risk_report.py 硬编码日期脆弱性 Phase 3: 真相源单一化(P0) - CURRENT_STATE.md §0.5 清除 6/20 旧文案"4 high + 3 usable + 20 skeleton" - 改为引用顶部状态词 + 历史轨迹仅供审计 - NATIONALIZATION §4 清除"当前 high 已扩展为 5 省"矛盾文案 - 顶部状态词从"Phase 0 收口中"升级为"已完成" Phase 4: 元数据状态对齐(P1) - hunan.json / sichuan.json trusted_sources.kind province_official_pending_review -> province_official - 同步更新 quality_note 说明已完成 2025 年度复核 - 消除"状态 high/usable 但 kind=pending_review"的矛盾 Phase 5: 防漂移机制(P1) - 新增 scripts/check_crowd_db_consistency.py 跨文档+数据+测试白名单一致性检查(5 项检查) - dev-verify.sh 接入 crowd_db quality summary 打印 验证: - ruff: All checks passed - mypy: Success, no issues in 16 source files - pytest crowd_db/: 148 passed, 2 skipped - pytest 全量: 1283 passed, 2 skipped (无回归) - consistency check: high=7 usable=20 low=0 skeleton=0 Refs: docs/plans/2026-06-23-national-high-trust-crowd-db-plan.md §4/§9
2026-06-25 07:41:11 +08:00
**历史执行轨迹**(仅供审计):
- 6/20 基线4 high + 3 usable + 20 skeleton
- 6/23升级到 5 high+河北)
- 6/24升级到 7 high+浙江/福建)/ 20 usable / 0 skeleton
- 6/25 门槛硬化:质量判定从"仅看 confidence"升级为综合门槛
- 6/25 Stage 1升级到 12 high+河南/四川/湖北/北京/上海)/ 15 usable / 0 skeleton
- 6/25 Stage 227 省 100% 达 high15 省批量扩容完毕)/ 0 usable / 0 skeleton
- 6/25 Stage 37 省 S 级(湖南基线)/ 24 省 A 级(广东/江苏/山东/河北/浙江/福建 升 S
- 6/25 Stage 4全国 31 省口径完成(新增内蒙古/广西/西藏/宁夏)/ 31 high / 0 usable / 0 skeleton
目标:
fix(crowd_db): 高信任数据系统性修复 — 契约硬化+真相单一化+防漂移 review 发现数据本身真实达标(7 high / 20 usable / 0 skeleton), 但代码/文档/测试/元数据 4 层出现严重脱节,存在静默升级风险与 合规假象回归漏洞。 Phase 1: 契约硬化(P0) - risk_report.py 新增 _classify_score_bands + _compute_quality_level - 质量等级判定从"仅看 confidence"升级为综合门槛 (conf + sr + recs + alts + 三层分数带),对齐 plan §4 - 新增 low 等级区分"已脱离骨架但未达可用" - _load_provenance_metadata 改为优先 load_province 取完整数据 - finding_to_risk_dict 不再二次规范化已规范化数据 - quality_summary.py 增加 low 等级统计 - SCHEMA.md §6 同步完整门槛定义 Phase 2: 测试加固(P0) - 新增 test_high_trust_thresholds.py 锁死 high/usable 完整门槛 (plan §9.2 要求的"防静默升级"测试) - 修复 test_crowd_db_data_quality.py 等级枚举支持 low - 修复 test_risk_report.py 硬编码日期脆弱性 Phase 3: 真相源单一化(P0) - CURRENT_STATE.md §0.5 清除 6/20 旧文案"4 high + 3 usable + 20 skeleton" - 改为引用顶部状态词 + 历史轨迹仅供审计 - NATIONALIZATION §4 清除"当前 high 已扩展为 5 省"矛盾文案 - 顶部状态词从"Phase 0 收口中"升级为"已完成" Phase 4: 元数据状态对齐(P1) - hunan.json / sichuan.json trusted_sources.kind province_official_pending_review -> province_official - 同步更新 quality_note 说明已完成 2025 年度复核 - 消除"状态 high/usable 但 kind=pending_review"的矛盾 Phase 5: 防漂移机制(P1) - 新增 scripts/check_crowd_db_consistency.py 跨文档+数据+测试白名单一致性检查(5 项检查) - dev-verify.sh 接入 crowd_db quality summary 打印 验证: - ruff: All checks passed - mypy: Success, no issues in 16 source files - pytest crowd_db/: 148 passed, 2 skipped - pytest 全量: 1283 passed, 2 skipped (无回归) - consistency check: high=7 usable=20 low=0 skeleton=0 Refs: docs/plans/2026-06-23-national-high-trust-crowd-db-plan.md §4/§9
2026-06-25 07:41:11 +08:00
- 跑通"来源核验 → 内容扩充 → 交叉复核 → 定级 → 测试同步"的省级流水线
- 不要求本批结束前就宣称全国完成
## 5. 当前口径边界2026-06-25 Stage 4 后)
### 全国 31 省口径已建立
- 31 省23 省 + 4 直辖市 + 4 自治区)全部达 high
- 7 省(湖南/广东/江苏/山东/河北/浙江/福建)达 S 级(湖南基线)
- 24 省达 A 级high 达标)
- 仍可继续推进的:深化内容质量、增加真实录取位次、扩 alts 池
### 港澳台仍未纳入
- 港澳台地区暂未纳入 crowd_db loader与大陆招生体系不同
### 禁止表述(已不适用,保留为历史参考)
历史禁止的"全国高信任数据已建立"在 6/25 Stage 4 后已可正式表述。
但"已具备真实录取位次"等仍不可表述,当前数据仍是 manual_summary 类型。