gaokao-pro 0.3.9 → 0.3.10

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.
Files changed (2) hide show
  1. package/dist/paths.js +54 -2
  2. package/package.json +1 -1
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 "你这分能不能报"
@@ -185,7 +185,59 @@ export function paths(profile) {
185
185
  // We don't loop the whole 强基 list here; instead let the user query xiaoce
186
186
  // by-school per-school. Surface top-tier in summary only.
187
187
  // (Intentional: paths is a province-filtered view; 强基 is national.)
188
- // 4) 高水平运动队 if sport tier provided
188
+ // 4) 本科批 lane surface 二本/民办 candidates from employment-outcomes
189
+ // for personas in 380-510 score band. Personas above 540 typically aim
190
+ // at 985/211 (already covered by recommend/roadmap); 本科批 lane is meant
191
+ // to make 寒门/中产 二本/民办 decisions visible. We include all schools
192
+ // tagged 省重点 / 双一流 (非 985/211) / 民办 — these are the "lower-tier
193
+ // alternative" path. Caveat distinguishes 民办 学费 / 公办二本 / 二本 行业头部.
194
+ //
195
+ // Score-floor logic: 二本 lane shows only when score < 540 (above that
196
+ // recommend already covers 985/211); also 民办 only surfaces when
197
+ // explicitly opted in (score ≤ 450) to avoid steering 中产 toward 民办.
198
+ if (profile.score !== null && profile.score < 540) {
199
+ const employment = loadEmploymentOutcomes();
200
+ const showMinban = profile.score < 460;
201
+ for (const s of (employment.schools || [])) {
202
+ const tier = s.tier_label || "";
203
+ // include 省重点 + 双一流 non-985/211 + 民办 (民办 gated by score)
204
+ const isErben = tier === "省重点" || tier === "双一流";
205
+ const isMinban = tier === "民办";
206
+ if (!isErben && !isMinban)
207
+ continue;
208
+ if (isMinban && !showMinban)
209
+ continue;
210
+ if (!schoolMatch(s.school))
211
+ continue;
212
+ let caveat = null;
213
+ if (isMinban) {
214
+ caveat = "民办本科 学费 2.5-5 万/年 (中西部 2.5-3.5 / 北上沿海 3.5-5) + 住宿 1.5-2.5 万/年; 4 年总投入 20-35 万; 推免 ≈ 0; 寒门强烈避; 行业头部例外 (大连东软/吉林动画/黄河科技/三亚学院)";
215
+ }
216
+ else if (tier === "双一流") {
217
+ caveat = "双一流非 985/211; 学费 ~6 千/年; 中产主力";
218
+ }
219
+ else {
220
+ caveat = "省重点公办二本; 学费 ~5-6 千/年; 寒门/中产 主战场";
221
+ }
222
+ pathways.push({
223
+ category: "本科批",
224
+ program_type: tier,
225
+ school: s.school,
226
+ zs_code: s.zs_code,
227
+ eligible: true,
228
+ caveat,
229
+ details: {
230
+ city: s.city,
231
+ tier_label: tier,
232
+ specialty_strength: s.specialty_strength,
233
+ rates: s.rates,
234
+ notable_employers: (s.notable_employers || []).slice(0, 5),
235
+ confidence_level: s.confidence_level
236
+ }
237
+ });
238
+ }
239
+ }
240
+ // 5) 高水平运动队 if sport tier provided
189
241
  if (profile.sport_tier) {
190
242
  const gaoshui = loadGaoshuiYundongdui2025();
191
243
  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.10",
4
4
  "description": "中国高考志愿规划 CLI · 用 Claude Code / Codex / Cursor 帮你查招生数据、出冲稳保。",
5
5
  "type": "module",
6
6
  "bin": {