CI / lint + test + build (push) Canceled after 0s
- README 现代化重写:徽章区、特性一览、统一 GitHub 提示块格式、修正版本号与 AI 默认值 - 新增 docs/PROJECT_REPORT.md 学术项目报告(含许可证合规分析与死链修复记录) - 收录 23 份 ADR 架构决策记录与 CONTEXT.md 领域术语表 - 新增开发配置:.editorconfig / .shellcheckrc / .markdownlint-cli2.jsonc - .gitignore 补充 mo_map/、检查报告、编辑器临时文件 - 新增 config.example.json 配置模板(不含真实密钥)
1.4 KiB
1.4 KiB
后缀季模糊匹配:Levenshtein 距离兜底
后缀季映射("Railgun T" → S3、"Alicization" → S3)此前依赖硬编码词表(中英对照 + 结尾匹配 + 罗马数字直映射),未收录的后缀(变体拼写、未映射词)直接掉 AI。决定:词表全失败且后缀词 ≥3 字符时,增加 Levenshtein 模糊层——awk 实现编辑距离,只比较季名末尾窗口(末 flen+1 字符,后缀词出现在末尾;窗口比后缀多 1 字符容差,完美命中距离 ≤1 与阈值分档匹配),距离 ≤ 阈值(长度 3/6 分档:1/2/3)且最短者命中。
边界语义:① 仅词表失败后兜底(词表是主路径,模糊层不参与其排序);② 只对末尾窗口比较——整名比较距离恒大无意义("r2" vs 全名距离 15+,窗口内距离 1);③ 后缀词 <3 字符不启用(短后缀已被词表/罗马数字覆盖,模糊层误配风险高);④ 空季名跳过(防单字符后缀误配空名);⑤ 跨语言不指望命中(中文名 vs 英文后缀距离必然超阈值)——模糊层服务同文近似拼写。
Considered Options: 扩展硬编码词表——不可穷举,维护成本高;整名 Levenshtein——距离阈值不可达(完美命中也被拒);末尾窗口 + 阈值分档(选定)——可达、保守、零外部依赖。