feat(tsl-syntax-reference): harden retrieval contracts

Add stable section IDs, structural and routing regressions, quickstart consistency checks, and CI enforcement.

BREAKING CHANGE: replace heading-derived Section IDs with explicit syntax-NN-NNN identifiers.
This commit is contained in:
csh
2026-07-31 10:05:15 +08:00
parent 21e688a436
commit 736d1a8ad7
30 changed files with 1635 additions and 137 deletions
+7 -4
View File
@@ -1,7 +1,8 @@
# 检索词表(lexicon.json
`lexicon.json``scripts/lookup.py` 的策展检索数据,与引擎逻辑分离维护。
两张表都只影响检索,不是事实正文。
两张表都只影响检索,不是事实正文。查询输入应从用户原话提取错误文本、标识符
或单一语法要素,保留原写法但不传完整礼貌句。
## query_synonyms —— 口语同义词
@@ -20,14 +21,16 @@
- 键必须与 `references/` 下的文件名完全一致;每个参考页至少一条短语。
键写错或参考页改名后 `_intent_score` 会静默返回 0 分,该页失去自然语言
入口——`lookup.py --check` 和回归测试会拦住这两种漂移。
入口`lookup.py --check` 负责拦截页键漂移,行为回归测试负责拦截排序漂移。
## 改动后的校验
```bash
python scripts/lookup.py --check
python skills/tsl-syntax-reference/scripts/lookup.py --check
python -m unittest test.test_tsl_syntax_reference -v
```
`--check` 会校验 `page_intent_aliases` 的键与 `references/` 参考页一一对应:
键指向不存在的页、或某页没有自然语言入口都会报错。新增参考页时必须同时
在这里补一条页级意图短语。
在这里补一条页级意图短语。它只做结构检查,不验证自然语言排序;原始 alias、
助词变体、弱命中和已知真实问法由专属测试覆盖。
+26 -5
View File
@@ -28,8 +28,16 @@
},
"page_intent_aliases": {
"01_quickstart.md": ["最简单能跑", "最简单的脚本", "天软脚本", "tinysoft"],
"02_core_model.md": ["脚本和可复用", "可复用函数文件", "声明函数后面写代码"],
"03_values_and_literals.md": ["字符串和数组下标", "下标从几开始", "下标起点"],
"02_core_model.md": [
"脚本和可复用",
"可复用函数文件",
"声明函数后面写代码"
],
"03_values_and_literals.md": [
"字符串和数组下标",
"下标从几开始",
"下标起点"
],
"04_variables_and_constants.md": ["常量怎么声明", "变量能不能直接赋值"],
"05_functions_and_calls.md": ["默认参数", "函数怎么带"],
"06_expressions_and_operators.md": ["赋值和相等比较"],
@@ -46,7 +54,14 @@
"10_runtime_context_and_with.md": ["临时切换系统参数"],
"11_matrix_and_collections.md": ["某行存在", "二维数组怎么判断"],
"12_resultset_and_filters.md": ["保留匹配行", "按某一列"],
"13_ts_sql.md": ["左连接", "左外连接", "左联接", "数据库", "分组排序", "聚合排序"],
"13_ts_sql.md": [
"左连接",
"左外连接",
"左联接",
"数据库",
"分组排序",
"聚合排序"
],
"14_debug_and_profiler.md": [
"程序慢",
"计时找瓶颈",
@@ -57,11 +72,17 @@
"耗时",
"debug"
],
"15_lexical_structure_and_compile_options.md": ["变量名区分大小写", "注释怎么写"],
"15_lexical_structure_and_compile_options.md": [
"变量名区分大小写",
"注释怎么写"
],
"16_types_and_conversions.md": ["字符串转整数", "类型转换"],
"17_external_calls_and_threads.md": ["调用 dll", "dll", "动态库", "开线程"],
"18_namespace_libpath_and_unit_runtime.md": ["找不到 tsf", "搜索路径"],
"19_object_runtime_and_introspection.md": ["查看对象属于哪个类", "运行时对象"],
"19_object_runtime_and_introspection.md": [
"查看对象属于哪个类",
"运行时对象"
],
"20_builtin_runtime_objects.md": ["内存流"],
"21_matrix_deep_dive.md": ["矩阵求逆", "矩阵转置", "求逆和转置"],
"22_fmarray.md": ["高性能矩阵", "fmarray"],