Skip to content

fix(site): drive school/program naming from manual authority tables, … - #7

Merged
Phoenizard merged 1 commit into
mainfrom
fix/manual-school-curation
Jun 29, 2026
Merged

fix(site): drive school/program naming from manual authority tables, …#7
Phoenizard merged 1 commit into
mainfrom
fix/manual-school-curation

Conversation

@Phoenizard

Copy link
Copy Markdown
Owner

…drop fuzzy matching

升学站「相同院校专业合并」与「最终去向(Q9)绑定」此前依赖 signature_tokens 特征词

  • 同校单Admit/token重合等模糊启发式, 会把项目拆成碎片、把去向误绑到被拒项目 (如 CRN 去向被绑到其被拒的 NUS Supply Chain Management)。

改为人工逐人编纂的确定性权威表, 代码只做精确查表, 删除全部模糊逻辑:

  • program_aliases.csv: (raw_school, raw_project) → canonical 全名。correct.xlsx 的 C 列逐字优先; 其余按人工判断/核实写定。canonical 即 program identity 与展示名, 相同 canonical → 同一节点(正确合并, 无碎片)。
  • destination.csv: user_id → chosen_canonical。逐人读 q9 + admit 列表后人工判定; 运行时只做 canonical 全等绑定, 命中标 Chosen, 否则独立 Chosen, 绝不碰 reject。
  • normalize.py: 删 signature_tokens; ProgramNormalizer 读 program_aliases 精确查表; 加 load_destinations。
  • transform.py: 删 _identify_dest_univ/_strip_school/旧 _resolve_destination 启发式; identity 改用 canonical; 加 EXCLUDED_USER_IDS 屏蔽重复空 Rosie 草稿。
  • _dump_raw.py: 只读脚本, 整齐打印每人原始数据供人工编纂(不做匹配)。

回归: xlsx 97 个 C 值 100% 逐字落地; 0 重复 abbrv 节点(碎片消除); CRN/Wheat 去向 作独立 Chosen 不绑被拒项目; Charlie/akk 等去向正确; mkdocs --strict 通过。

…drop fuzzy matching

升学站「相同院校专业合并」与「最终去向(Q9)绑定」此前依赖 signature_tokens 特征词
+ 同校单Admit/token重合等模糊启发式, 会把项目拆成碎片、把去向误绑到被拒项目
(如 CRN 去向被绑到其被拒的 NUS Supply Chain Management)。

改为人工逐人编纂的确定性权威表, 代码只做精确查表, 删除全部模糊逻辑:
- program_aliases.csv: (raw_school, raw_project) → canonical 全名。correct.xlsx 的 C
  列逐字优先; 其余按人工判断/核实写定。canonical 即 program identity 与展示名,
  相同 canonical → 同一节点(正确合并, 无碎片)。
- destination.csv: user_id → chosen_canonical。逐人读 q9 + admit 列表后人工判定;
  运行时只做 canonical 全等绑定, 命中标 Chosen, 否则独立 Chosen, 绝不碰 reject。
- normalize.py: 删 signature_tokens; ProgramNormalizer 读 program_aliases 精确查表;
  加 load_destinations。
- transform.py: 删 _identify_dest_univ/_strip_school/旧 _resolve_destination 启发式;
  identity 改用 canonical; 加 EXCLUDED_USER_IDS 屏蔽重复空 Rosie 草稿。
- _dump_raw.py: 只读脚本, 整齐打印每人原始数据供人工编纂(不做匹配)。

回归: xlsx 97 个 C 值 100% 逐字落地; 0 重复 abbrv 节点(碎片消除); CRN/Wheat 去向
作独立 Chosen 不绑被拒项目; Charlie/akk 等去向正确; mkdocs --strict 通过。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying graduateform with  Cloudflare Pages  Cloudflare Pages

Latest commit: 25d87ef
Status: ✅  Deploy successful!
Preview URL: https://5ae06a2a.graduateform.pages.dev
Branch Preview URL: https://fix-manual-school-curation.graduateform.pages.dev

View logs

@Phoenizard
Phoenizard merged commit 7a7cb3f into main Jun 29, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant