gaokao-pro 0.3.9 → 0.3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -188,6 +188,42 @@
188
188
  "real_case_id": null,
189
189
  "advice": "民办本科 适合: (a) 行业头部民办 (大连东软 IT / 黄河科技 / 吉林动画 / 三亚学院 旅游) — 行业认可; (b) 富裕家庭+海外硕士 路径 (民办本科+海外硕士 国内 HR 看的是海外硕士品牌); (c) 实在不想复读的退路; 不适合: 想考公 / 想考研 985 顶级 / 想进央企 — 这些路径 民办本科 系统性不利",
190
190
  "applies_to": ["所有非头部民办本科 (即除少数行业头部外的多数民办)"]
191
+ },
192
+ {
193
+ "id": "school-pit-shanxi-meitan",
194
+ "category": "山西煤炭家庭转型",
195
+ "rule": "山西煤炭家庭子女 寒门 误信 '编制 = 任何编制' → 报民办本科求体制内出路; 但民办毕业生 公考/事业编 录取率 < 公办二本 + 山西国企/煤矿系统招录优先 山西农大/太原科技/中北 等 公办二本",
196
+ "what_happens_if_violated": "民办本科 → 山西国企/煤矿 校招白名单不含 → 退而求其次 民办 + 山西小县城教师编 (但教师编也卡 公办本科)",
197
+ "real_case_id": null,
198
+ "advice": "山西寒门最优解: 山西师范公费师范 (省级) / 太原师范 / 太原科技 公办二本 + 山西国企 招录; 山西农大 农林公办 + 山西农业体制内; 太原理工 / 山西大学 211/双一流 + 晋能控股/山西焦煤 总部招录. 民办 学费 4 万/年 × 4 = 16 万 + 山西寒门家庭 1-2 年总收入; 不如 公办专科 + 高职升本",
199
+ "applies_to": ["山西 寒门 380-450 分 考生"]
200
+ },
201
+ {
202
+ "id": "school-pit-xinjiang-mzh",
203
+ "category": "民考汉/民考民/双语班 多 track",
204
+ "rule": "新疆 4 种试卷: 汉语言 / 民考汉 / 民考民 / 双语班. 民考汉 = 民族考生用汉语试卷 (与汉族考生同分对比); 民考民 = 民族语言试卷 单列计划; 双语班 = 民族考生用汉语试卷但 加分/独立 plan. 跨 track 报志愿 = 退档",
205
+ "what_happens_if_violated": "民考民考生填 普通批次志愿 → 投档失败; 双语班 + 报普通校 → 章程不符 退档",
206
+ "real_case_id": null,
207
+ "advice": "新疆考生填报前 务必确认自己 track (民考汉/民考民/双语班/汉族); 民考民 只能填 民语言单列 + 民族班; 双语班 优先 双语班单列; 内地新疆班 (高中 14 省) 走 新疆班单列 计划 (与本地新疆考生不在同 plan)",
208
+ "applies_to": ["新疆 维吾尔/哈萨克/柯尔克孜/蒙古族 民考民/双语班考生"]
209
+ },
210
+ {
211
+ "id": "school-pit-xizang-ab",
212
+ "category": "西藏 A/B 双线",
213
+ "rule": "西藏独有 A/B 双线投档: A 类 = 少数民族 + 西藏籍少民 / 农牧民子女; B 类 = 汉族 + 区外少民. A 线常比 B 线低 80-130 分 (具体校差异大); 进藏干部子女 +30 (全国独家) 应填 A 线还是 B 线 取决 户籍/民族",
214
+ "what_happens_if_violated": "汉族西藏籍 填 A 线计划 → 投档时按 B 线核 → 退档; 进藏干部子女 不知 A/B 走向 → 错填计划批次",
215
+ "real_case_id": null,
216
+ "advice": "西藏考生务必先确认自己 A 类还是 B 类 (民族成份 + 户籍 + 学籍 三因素); 进藏干部子女 通常归 B 类汉族 但享 +30 加分 (按 B 线录但分数高); 西藏大学/西藏民大 同时招 A 类 + B 类 + 民族班; 内地 援藏招生 通常单列 B 类汉族 + 进藏干部子女",
217
+ "applies_to": ["西藏 全部考生 (A/B 类划分是西藏特有, 全国独家)"]
218
+ },
219
+ {
220
+ "id": "school-pit-hainan-bzf",
221
+ "category": "海南 标准分制 900 满分",
222
+ "rule": "海南独有 标准分制: 单科原始分 100 → 标准分 100-900 (基于全省 z-score 转换); 总分 900 (非 750). 跨省比对 标准分 ≠ 原始分 (海南 700 标准分 ≈ 其他省 600+ 原始分)",
223
+ "what_happens_if_violated": "海南考生 用 750 制思维填报 → 报志愿 时把标准分当 750 制看 → 严重错估目标校; 跨省考生 看海南录取线 700 以为很低 → 不知 700 是 900 制下的高分",
224
+ "real_case_id": null,
225
+ "advice": "海南考生 用 900 标准分 体系; 一本特控线 ~568 / 本科线 480 (2025); 跨省校在海南招生 录取线一般 600-750 标准分 (这相当其他省的 530-650 原始分); 跨省比对 必查 海南考试院发布的 标准分↔原始分换算表",
226
+ "applies_to": ["海南 全部考生 + 跨省考生看海南数据"]
191
227
  }
192
228
  ],
193
229
  "category_summary": {
@@ -206,7 +242,11 @@
206
242
  "gongfei": "公费师范 6 年服务期 + 违约金",
207
243
  "minban_zhuanshe": "民办独立学院 5 年转设 — 母校品牌 + 毕业证印章 + 学费 三件套都可能变",
208
244
  "minban_xuefei": "民办本科 学费 2.5-5 万/年 (北上沿海 4-5) + 住宿 1.5-2.5 万/年; 4 年总投入 20-35 万",
209
- "minban_kaoyan": "民办本科 推免 ≈ 0; 考研 985 复试 + 考公央机关 + 国企校招 系统性歧视; 行业头部民办 (东软/动画/黄河科技/三亚) 例外"
245
+ "minban_kaoyan": "民办本科 推免 ≈ 0; 考研 985 复试 + 考公央机关 + 国企校招 系统性歧视; 行业头部民办 (东软/动画/黄河科技/三亚) 例外",
246
+ "shanxi_meitan": "山西煤炭家庭寒门 — 民办 ≠ 体制内出路; 山西国企/煤矿系统招录 优先 公办二本",
247
+ "xinjiang_mzh": "新疆 4 种试卷 (汉/民考汉/民考民/双语班) — 跨 track 报志愿 = 退档",
248
+ "xizang_ab": "西藏 A/B 双线 — A 类少民/农牧 / B 类汉族; A 线常低 B 线 80-130 分",
249
+ "hainan_bzf": "海南 900 标准分 ≠ 750 原始分 — 跨省比对 必查换算表"
210
250
  },
211
251
  "_notes": [
212
252
  "universal_pits = 每位考生都要看的 5 类",
package/dist/paths.js CHANGED
@@ -14,7 +14,7 @@
14
14
  // This is the parent-facing "all-paths" summary. It does NOT score or rank;
15
15
  // it lists everything the kid is potentially eligible for, with `eligible`
16
16
  // + `caveat` annotations so the parent can decide.
17
- import { listTiqianProgramsByProvince, listZongheSchoolsByProvince, loadGaoshuiYundongdui2025, findXiaoceDetailBySchool } from "./datasets.js";
17
+ import { listTiqianProgramsByProvince, listZongheSchoolsByProvince, loadGaoshuiYundongdui2025, findXiaoceDetailBySchool, loadEmploymentOutcomes } from "./datasets.js";
18
18
  import { provinceTiaojiInfo } from "./groups.js";
19
19
  // ---- Eligibility helpers ----
20
20
  // Approximate "score-floor" for high-bar programs. Used to filter "你这分能不能报"
@@ -74,7 +74,10 @@ function tiqianEligible(p, profile) {
74
74
  if (t === "民族班" || t === "预科班") {
75
75
  if (!profile.is_minority)
76
76
  return { eligible: false, caveat: "限少数民族身份" };
77
- return { eligible: true, caveat: t === "预科班" ? "1 年预科后分流" : "毕业证与普通班一致" };
77
+ // 显式 surface 投档分 discount 重要因为 候选 raw score + discount = 实际可冲档分
78
+ return { eligible: true, caveat: t === "预科班"
79
+ ? "投档分 ≤ 校线 -80 (1 年预科 + 4 年本科 = 5 年; 预科后看校内分流; 多数 民族院校/双一流 综合校 都开)"
80
+ : "投档分 ≤ 校线 -40 (毕业证 + 学位证 与普通班完全一致; 直读 4 年本科 不预科)" };
78
81
  }
79
82
  if (t === "小语种提前批") {
80
83
  if (!profile.small_language)
@@ -185,7 +188,59 @@ export function paths(profile) {
185
188
  // We don't loop the whole 强基 list here; instead let the user query xiaoce
186
189
  // by-school per-school. Surface top-tier in summary only.
187
190
  // (Intentional: paths is a province-filtered view; 强基 is national.)
188
- // 4) 高水平运动队 if sport tier provided
191
+ // 4) 本科批 lane surface 二本/民办 candidates from employment-outcomes
192
+ // for personas in 380-510 score band. Personas above 540 typically aim
193
+ // at 985/211 (already covered by recommend/roadmap); 本科批 lane is meant
194
+ // to make 寒门/中产 二本/民办 decisions visible. We include all schools
195
+ // tagged 省重点 / 双一流 (非 985/211) / 民办 — these are the "lower-tier
196
+ // alternative" path. Caveat distinguishes 民办 学费 / 公办二本 / 二本 行业头部.
197
+ //
198
+ // Score-floor logic: 二本 lane shows only when score < 540 (above that
199
+ // recommend already covers 985/211); also 民办 only surfaces when
200
+ // explicitly opted in (score ≤ 450) to avoid steering 中产 toward 民办.
201
+ if (profile.score !== null && profile.score < 540) {
202
+ const employment = loadEmploymentOutcomes();
203
+ const showMinban = profile.score < 460;
204
+ for (const s of (employment.schools || [])) {
205
+ const tier = s.tier_label || "";
206
+ // include 省重点 + 双一流 non-985/211 + 民办 (民办 gated by score)
207
+ const isErben = tier === "省重点" || tier === "双一流";
208
+ const isMinban = tier === "民办";
209
+ if (!isErben && !isMinban)
210
+ continue;
211
+ if (isMinban && !showMinban)
212
+ continue;
213
+ if (!schoolMatch(s.school))
214
+ continue;
215
+ let caveat = null;
216
+ if (isMinban) {
217
+ caveat = "民办本科 学费 2.5-5 万/年 (中西部 2.5-3.5 / 北上沿海 3.5-5) + 住宿 1.5-2.5 万/年; 4 年总投入 20-35 万; 推免 ≈ 0; 寒门强烈避; 行业头部例外 (大连东软/吉林动画/黄河科技/三亚学院)";
218
+ }
219
+ else if (tier === "双一流") {
220
+ caveat = "双一流非 985/211; 学费 ~6 千/年; 中产主力";
221
+ }
222
+ else {
223
+ caveat = "省重点公办二本; 学费 ~5-6 千/年; 寒门/中产 主战场";
224
+ }
225
+ pathways.push({
226
+ category: "本科批",
227
+ program_type: tier,
228
+ school: s.school,
229
+ zs_code: s.zs_code,
230
+ eligible: true,
231
+ caveat,
232
+ details: {
233
+ city: s.city,
234
+ tier_label: tier,
235
+ specialty_strength: s.specialty_strength,
236
+ rates: s.rates,
237
+ notable_employers: (s.notable_employers || []).slice(0, 5),
238
+ confidence_level: s.confidence_level
239
+ }
240
+ });
241
+ }
242
+ }
243
+ // 5) 高水平运动队 if sport tier provided
189
244
  if (profile.sport_tier) {
190
245
  const gaoshui = loadGaoshuiYundongdui2025();
191
246
  for (const s of gaoshui.schools) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gaokao-pro",
3
- "version": "0.3.9",
3
+ "version": "0.3.11",
4
4
  "description": "中国高考志愿规划 CLI · 用 Claude Code / Codex / Cursor 帮你查招生数据、出冲稳保。",
5
5
  "type": "module",
6
6
  "bin": {