Commit Graph

16 Commits

Author SHA1 Message Date
Hermes Agent
1f63757531 feat(rules): Phase3 - 航海类+中外合作办学新增2项目+5条规则
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
新增项目:
1. navigation: 航海类提前批(大连海事/武汉理工等,体检严格,降20-50分)
2. sino_foreign: 中外合作办学(宁波诺丁汉/西交利物浦等,学费5-15万/年,降30-80分)

新增规则:
1. 航海类体检要求(视力/色觉/身高)
2. 航海类分数优势
3. 中外合作办学学费范围(5-15万/年)
4. 中外合作办学资质核查(教育部监管平台)
5. 中外合作办学分数优势

总项目数: 14→16
总规则数: 39→44
测试: 75 passed
2026-06-29 10:01:04 +08:00
Hermes Agent
42915fcb24 feat(rules): Phase2 - 公费师范+免费医学定向补充5条规则
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
新增规则:
1. 公费师范生三种类型(部属/省属/优师计划)
2. 部属公费师范生免试在职读研
3. 公费师范生分数要求
4. 免费医学定向分数要求
5. 免费医学定向职业发展路径

总规则数: 34→39
测试: 75 passed (含15数据层+60前端)
2026-06-29 09:57:15 +08:00
Hermes Agent
aeb1fd56a6 feat(rules): Phase1 - 提前批军校/公安 + 专项计划规则补充
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
数据层:
1. special_programs.json: 新增2个项目(军校本科提前批+公安院校本科提前批)
   总项目数从12提升到14
2. special_programs_rules.json: 新增11条规则
   - 军校: 年龄限制+军检+政审+分数优势 (4条)
   - 公安: 体能测试+联考入警率+公安专业vs非公安专业 (3条)
   - 专项计划: 国家专项资格+地方专项资格+高校专项报名+降分对比 (4条)
   总规则数从23提升到34
3. crowd_db 31省JSON: 新增军校(29省)+公安院校(30省) program_type标记

代码层:
4. special_programs_loader.py: 新增4个查询接口
   - list_programs_by_batch(按批次筛选)
   - list_programs_by_category(按类别筛选)
   - list_categories(列出所有类别)
   - get_rules_by_category(按类别获取规则)

前端层:
5. 政策中心页增加'提前批与专项计划'板块
   含7类特殊招生类型说明

测试: 60+15=75 passed
2026-06-29 07:50:19 +08:00
Hermes Agent
f5d6647837 feat(special-programs): 新增强基计划14所院校+修复provenance测试
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
新增项目:
- 强基计划(strong_foundation): 14所985院校
  - 北大/清华/复旦/上交/浙大/中科大/南大/武大/华科/中山/川大/中南/湖大/国防科大
  - 分数线600-660, 聚焦基础学科, 需参加校测

新增规则(2条):
- 强基需参加校测(85%高考+15%校测)
- 专业限定基础学科(数/理/化/生/史/哲/古文字)

修复:
- test_provenance 排除 special_programs.json(非省份文件)

当前完整覆盖12类路径:
1.农村定向医疗 2.公费农科 3.消防定向 4.铁路定向 5.司法定向
6.定向军士(48所) 7.公费师范 8.央企订单(22所) 9.少数民族预科
10.三大专项 11.定向西藏 12.强基计划(14所)

数据规模: 12类, 115+院校, 24条规则, 13条prompt路径
验证: pytest 1330 passed, 0 failed
2026-06-29 00:44:06 +08:00
Hermes Agent
d98ca3ffdd feat(special-programs): 扩充至11类+央企14家+预科7所+专项3类+定向西藏
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
新增3类项目:
- 少数民族预科班: 中央民族大学/大连民族/中南民族/西南民族/西北民族/北方民族/吉林大学, 降分20-80分
- 三大专项计划: 国家专项(脱贫县)/地方专项(农村户籍)/高校专项(教育部直属), 可降分进985/211
- 非西藏生源定向西藏: 降至调档线下40分, 毕业5年服务期

央企订单班扩充(8→22所):
- 新增电力: 长沙电力/武汉电力/山东电力/江西电力/三峡电力/广东水利电力/广西电力
- 新增通信: 安徽邮电
- 新增水利: 黄河水利
- 新增民航: 广州民航(南航)/上海民航(东航)
- 新增航空: 长沙航空(中国航发)
- 新增民政: 北京社会管理职业学院

数据规模: 8类→11类, 70+→100+院校, 15→22条规则
prompt: 8条→12条路径(分体制内编制/国企央企就业/降分专项三类)

验证: 27 passed (special_programs 11 + llm 16)
2026-06-29 00:31:22 +08:00
Hermes Agent
b8c4d17b26 feat(special-programs): 扩充至8类定向/就业清晰路径
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
新增3类项目:
- 定向培养军士(士官): 48所完整院校名单, 含北京电子科技/武汉船舶/西安航空/长沙航空/重庆航天等, 分数线300-420
- 公费师范生: 部属6所(北师/华东/华中/东北/陕西/西南)+省属师范, 分数线480-580
- 央企国企订单班: 石家庄邮电(邮政)/郑州电力(国网)/重庆电力(国网)/四川邮电(电信)/辽宁石油化工(中石化)等

数据规模:
- 项目定义: 5类 → 8类
- 院校数据: 20+ → 70+ (军士48所+师范7所+央企8所+原有)
- 规则数: 9条 → 15条 (新增军士体检/批次, 师范服务期/学费, 央企协议/分数线)
- prompt: 5条路径 → 8条路径 (分体制内编制类+国企央企就业类)

验证: data/llm/tests 16 passed, test_special_programs 11 passed, 合计27 passed
2026-06-28 22:12:28 +08:00
Hermes Agent
bf0ed7eeab feat(special-programs): 5类特殊批次定向培养计划数据+规则+prompt+引擎
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
数据层:
- data/crowd_db/special_programs.json: 5类项目定义+20+真实院校分数线
  - 农村订单定向免费医学生: 长沙医学院(444)/湘南学院(441)/河南科技(510)等
  - 公费农科生: 山东农业大学(460)/湖南农业大学(430)等
  - 公费消防/应急管理: 中国消防救援学院(500)等
  - 铁路定向公费生: 武汉铁路(223)/郑州铁路(330)/石家庄铁路(350)等
  - 司法系统定向/社区矫正: 中央司法警官学院(480)等

- data/crowd_db/special_programs_loader.py: 查询引擎
  - list_programs_for_province(): 按省份筛选适用项目
  - find_matching_schools(): 按省份+分数匹配院校(含 0.85 弹性阈值)
  - build_recommendation_for_review(): 生成审核推荐摘要(含 match_score)

规则层:
- data/rules/special_programs_rules.json: 9条特殊批次政策规则
  - 提前批填报要求/户籍要求/服务期承诺/体检标准/学费政策/编制保障

prompt 层:
- build_audit_prompt: 加入5条特殊批次捡漏路径引导
  - LLM 审核时必须考虑这些路径,低分考生方案无特殊批次会在 key_findings 提示
  - 新增 special_program_recommendations 输出字段
- build_cwb_prompt: 保底档应包含特殊批次路径之一

测试: 27 passed (special_programs 11 + llm 16)
2026-06-28 15:17:42 +08:00
Hermes Agent
ede9ffedd7 fix: align audit and payment failure contracts with real behavior 2026-06-18 16:00:57 +08:00
Hermes Agent
246f21c7f2 feat(review): land unified remediation and rules evidence closure
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-18 10:21:38 +08:00
Hermes
a57522b11e feat(cli): delegate channel/delivery/retention/backup to gaokao-cli (phase 3 batch 3)
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
Round 3 of the unified gaokao-cli rollout. Adds four more passthrough
markers so the unified entry point can drive the remaining ops scripts
without bringing new data models into data/.

- data/cli_compat_delivery_dispatch.py: runpy shim for
  scripts/gaokao-delivery-dispatch.py (DispatchDeliveryEvents).
- data/cli_compat_delivery_watchdog.py: runpy shim for
  scripts/gaokao-delivery-watchdog.py (WatchdogDeliveryEvents).
- data/cli_compat_retention_cleanup.py: runpy shim for
  scripts/gaokao-retention-cleanup.py (OrderRetentionCleanup).
- data/cli_compat_channel_fallback.py: forwarder for
  data.channel_sync.monitor.main (CheckChannelHealth /
  ManualTemplate).
- data/cli_compat_backup.py: subprocess wrapper that dispatches
  scripts/backup_snapshot.sh and scripts/backup_verify.sh.
- data/rules/cli.py main(): routes gaokao-cli {channel, delivery
  {dispatch,watchdog}, retention, backup {snapshot,verify}} to the
  shims; rejects unknown subcommands with a structured error.
- docs/CLI_API_MAPPING.md §2.1: now lists 12 top-level commands with
  their real subcommands and fallback paths.
- tests/test_cli_doctor_phase3.py: +6 tests covering channel
  delegation, delivery dispatch / unknown-subcommand, retention
  routing, backup shell routing, and backup unknown-subcommand
  rejection.

Verification:
- focused: 12 passed
- dev-verify full gate: all checks passed (ruff / mypy / coverage /
  pytest / benchmark)
2026-06-17 22:18:57 +08:00
Hermes
77cde03f1d feat(cli): delegate share/payment-doctor to gaokao-cli (phase 3 batch 2)
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
Builds on 7d31d75 (order delegation + doctor self-check). The unified
gaokao-cli now also wraps the legacy shortlink and payment-doctor
scripts through thin runpy-based compat shims.

- data/cli_compat_gaokao_shortlink.py: loads scripts/gaokao-shortlink
  via runpy.run_path; preserves argv routing for native subcommands
  (create/list/resolve/revoke/...).
- data/cli_compat_payment_doctor.py: loads scripts/payment_provider_doctor.py;
  strips the leading 'doctor' marker (the legacy script takes no args)
  and rejects unrecognised tokens so silent flag drops are surfaced.
- data/rules/cli.py main(): routes gaokao-cli {share,payment} <...>
  to the compat shims; gaokao-cli order remains delegated to
  data.orders.cli.
- docs/CLI_API_MAPPING.md §2.1: records the actually-shipped command
  surface (rules / majors / majors school-* / audit / order / share /
  payment doctor / doctor) so the design doc matches runtime.
- tests/test_cli_doctor_phase3.py: covers share delegation, payment
  doctor rejection, and the passthrough help flow.

Verification:
- focused: 6 passed
- dev-verify full gate: all checks passed (ruff / mypy / coverage / pytest / benchmark)
2026-06-17 19:16:44 +08:00
Hermes
7d31d75145 feat(cli): add order delegation + doctor self-check (phase 3)
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
docs-only + cli: extend scripts/gaokao-cli with two thin wrappers
without changing data/rules, data/majors_catalog, or rules/_truth.

- gaokao-cli order <subcommand> delegates argv to data.orders.cli.main
  with the 'order' prefix stripped, so callers can use the unified
  command face without changing the existing orders parser.
- gaokao-cli doctor <json?> returns a single self-check payload that
  reuses RuleLoader + MajorsCatalogLoader (no new dependencies, no
  gaokato/ scaffolding). Truth-root or catalog-root failures degrade
  gracefully with structured {error, ok=false} sections instead of
  raising.
- tests/test_cli_doctor_phase3.py covers: help text, order delegation
  to list subcommand, doctor ok-path, doctor failure-path.

Also re-aligns docs/ACTIVE_EXECUTION_BOARD_2026-06-17.md (new) +
docs/CURRENT_STATE.md (single execution口径) + rules/majors source-
of-truth index files so design-phase numbering no longer drifts from
execution-phase numbering. Pre-existing 2026-06-16 optimization board
and 2026-06-17 phase2 plan are demoted to historical snapshots.
P0_P1_P2 remediation plan §4 historical cards get a red warning
banner so they are not re-read as current pending.

Verification:
- focused: 4 passed
- dev-verify: 770 passed, 1 failed
  (alipay_sim E2E failure pre-existed this commit; caused by an
  uncommitted upstream edit in admin/routes/web_public.py that
  rewires payment_return -> /portal/{token}/payment-success while
  the E2E still asserts /portal/{token}/status; out of scope for
  this commit and intentionally not touched.)
2026-06-17 18:05:16 +08:00
Hermes Agent
edc5b11230 feat(audit): validate majors in structured audit flow
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-17 16:02:31 +08:00
Hermes Agent
6b1157fe19 feat(majors): add school catalog skeleton and verification
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-17 12:46:04 +08:00
Hermes Agent
36ad58a253 feat(majors): add phase2 national catalog mvp
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-17 12:06:46 +08:00
Hermes Agent
ae4835eeab feat(rules): add phase1 truth source loader and rules cli
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-16 18:14:41 +08:00