状态:已评审;2026-03 对当前库(visuddhinanda_20260311)全量实测复核后修订,待实施 背景:2025-08 数据审计发现 related_paragraphs 存在多类系统性数据错误。 原始生成链路(VRI html 锚点 → cs6_para.csv → Laravel 导入)中的 csv 文件已丢失, 决定以 wbw_templates 为唯一数据源重新导出第一版数据,再用补丁文件修正历史问题。
通过一本巴利圣典书的段落号 <book>-<para> 查找与之存在注释关系的段落号。
注释关系(巴利三藏传统结构):
mūla(原文) ← aṭṭhakathā(义注) ← ṭīkā(复注)
部分典籍为四层:mūla ← aṭṭhakathā ← mūlaṭīkā ← anuṭīkā(如 abhidhamma)
核心机制:相同 book_name + cs_para 的段落互为注释关系。
book_name:SuttaCentral 风格的书名缩写(dn1、an5、kn14...)cs_para:该书内的段落编号。颗粒度比 VRI 段落(paragraph)粗:
一对一(一段对一个 cs)或一对多(多个 VRI 段落同属一个 cs,且构成连续区间)para4_dn1
表示"此段注释 dn1 的第 4 段"),由此实现跨文件对齐{book}_A 命名(如 dn1_A),cs=0,
属正常设计而非错误——_A 书不对应具体原文段落wbw_templates (数据源头,逐词表)
book, paragraph, wid 含 .ctl. 控制标记(原 VRI html 的 <a name="..."> 锚点)
│ 标记格式:
│ mūla 文件: para4 / para4_dn1(4(style=paranum) 裸数字型实测已为 0 行,
│ 按历史形态保留备注,导出器以实测词表为准)
│ 区间标记: para151-152 / para151-152_sn4 (1 个 vri 段 ↔ 多个 cs,展开多行)
│ 缩写区间: para292-3 = 292-293(M 补齐 N 的前缀)
│ 义注文件: dn1_0 / dn1_1({mula}_{cs},义注段挂 mūla 名下)
│ 章节标记: kn10_2 / an1_5(mūla 文件内的章界)
▼ (旧链路经 cs6_para.csv ——已丢失,废弃)
related_paragraphs (本表,631,838 行)
book, para VRI 文件号 1-217 + 段落号
book_id ──────────────────▶ book_titles.sn
cs_para, book_name 匹配键(本表核心索引 (book_name, cs_para))
▼
book_titles (sn) (book_id 的语义来源)
book, paragraph, sn 一个 level=1(书)= 一个 sn,(book,paragraph) 唯一
▼ (paragraph 即该书在 pali_texts 中的 level=1 段落)
pali_texts (全文)
book, paragraph, level 标题层级树(章界推导的依据)
uid ──────────────────────▶ tag_maps.anchor_id (table_name='pali_texts') ▶ tags
tag.name: pāḷi+mūla=原文 / aṭṭhakathā=义注 /
ṭīkā、mūlaṭīkā、anuṭīkā、abhinavaṭīkā、purāṇaṭīkā=复注
要点:
related_paragraphs.book 是 VRI 版文件编号;一个文件可含多本书(多个 level=1),
因此增加 book_id,一个 book_id 对应一个 level=1,即 book_titles.snRelatedParagraphController::index(输入 book+para):
related_paragraphs WHERE book=? AND para=? AND cs_para>0 取首行得到
(book_name, cs_para) 锚点;无锚点返回空集(注释体系书内约 2.6%,
11,078/419,300 段;全库口径 6.6%,属正常)WHERE book_name=? AND cs_para=? 全表取所有命中段落其他消费方:ParaInfoController(段落信息附带 CS6 锚点)、
UpgradeSystemCommentary(按 book_name|cs_para 为单元遍历生成 AI 注释)。
(book, book_name, cs_para) 的段落必须构成连续区间para1012-3 型标记),
属合法结构,多区间命中是设计内行为(含跨文件多命中)| 编号 | 问题 | 规模 | 根因 |
|---|---|---|---|
| E1 | cs 乱码值(7,703~462,580;正常值域实测至 3,183) | 1,242 行 / 24 本 | 旧 csv 生成器解析无后缀区间标记 para7-10 产生废值(如 44022,book 98 para 573-585 实测 13 行全为 44022,wbw 标记正是 para7-10) |
| E2 | 章回绕:cs 从 1 重新计数 | 回绕点 430 个 / 70 本 | VRI 标记为章内局部编号,章界处重置,旧生成器照搬,未加区分。回绕点到最近真实标题(toc 非空)实测:±1 段内 86%、±5 段内 96.5%、±30 段内零失配。mūla 侧与义注侧回绕数不对齐(如 abhi7:mūla 64 次 = books 69-72 的 16+9+20+19,复注侧 books 174/176 各 12/13 次),跨章同名 cs 无法区分,注释串段 |
| E3 | kn10 家族命名错乱,apadāna 注释链断裂 | book_name='kn10' 0 行 |
therā/therī(book 143/144)被赋 kn10_A/kn10_B 且归属互相矛盾;义注(book 107)cs 为乱码;wbw 中 paraN_kn10 标记 6,533 行(book 143 4,461 / book 144 2,072)在 related 中映射丢失(kn10 行数为 0) |
| E4 | 空 book_name | 112,965 行(17.9%)/ 60 本(60 个连续段,69 个 book_id) | book 2-68 等 nīti/语法/词典类书无 cs 标记体系,不参与注释关系,维持现状 |
| E5 | book_id=0 未赋值 | 354 行(201 本各 1-3 行);book 189 审计时整本 1,572 行为 0,现已回填(1,570 行 book_id=230,仅书前页 2 行为 0) | 各文件 para 1-2 书前页(可接受)。sn=280/281 仍无 book_id 行:book 139 para≥925 整段归入 sn 157、book 214 para≥2162 整段归入 sn 276,随 book_id 层重跑修复。另 book_titles sn=230 title 误写 sādhuvilāsinī(与 sn=229 重名,实际应为 sīlakkhandhavaggaabhinavaṭīkā,已由 pali_texts level-1 标题证实) |
| E6 | 覆盖缺口 | 3,466 段无行 | 主体为缩写区间丢失(见 E7),其余为 wbw_templates 整段缺失 |
| E7 | 缩写区间丢失(本次审计新发现) | 1,517 个标记段落 / 44 本:其中 1,292 段(85.2%)无 related 行,其余 225 段带行但 cs 全为乱码值(与 E1 同根) | VRI 缩写语法 para292-3(=292-293)旧生成器不识别:多数直接跳过,少数误解析为废值(如 para32-3→11,749、para15-8→44,058) |
| E8 | 书边界污染平铺 | kaṅkhāvitaraṇī 义注 1,499 行 cs 恒 75、ṭīkā 669 行 cs 恒 0 等 | 换书(book_id 切换)后无标记,旧生成器无限沿用上一个 cs 值 |
| E9 | 无标记书 | 16 本(book 8,15,16,25,37,39-42,44,45,47,48,56,61,129)related 有行但 wbw_templates 零标记 | VRI 源文件无锚点。其中 book 129(theragāthā-aṭṭhakathā 后半)等存在真实注释关系,需外部手段补齐 |
| E10 | 自造名体系 | NK(book 1,namakkāra 自注释对)、subo(book 10↔11)、dict(book 21↔9) | 非 SC 体系书对的自造 album 名,连接各自 mūla↔注释。架构正确(与 dn1/dn1_A 同构),保留不动;仅其中的乱码/缩写问题随全局规则修复 |
判定口径(book 级信号会标注到该文件的全部 sn):
注:表内「章回绕 n 次」为 book 级信号(标注到该文件的全部 sn),按本去重合计 366 次 / 58 本, 与 E2 的机械规则 430 个 / 70 本之差来自 12 本乱码书(9、96、107、108、109、116、172、175、 179、190、201、205)——其重置多为乱码值→1 的伪回绕,不计入表,实施时统一以 E2 口径为准。
汇总:合格 69 本;合格(无注释体系)51 本;不合格 160 本;无 book_id 行 2 本(sn 280、281)。
| sn | book | 书名 | 行数 | 状况 |
|---|---|---|---|---|
| 1 | 1 | namakkārapāḷi | 157 | 章回绕3次 |
| 2 | 1 | namakkāraṭīkā | 828 | 章回绕3次 |
| 3 | 2 | mahāpaṇāmapāṭha | 426 | 合格(无注释体系,维持现状) |
| 4 | 2 | tigumbacetiya thomanā | 51 | 合格(无注释体系,维持现状) |
| 5 | 2 | vāsamālinīkya | 367 | 合格(无注释体系,维持现状) |
| 6 | 3 | lakkhaṇāto | 315 | 合格(无注释体系,维持现状) |
| 7 | 4 | suttavandanā | 596 | 合格(无注释体系,维持现状) |
| 8 | 5 | jinālaṅkāra | 1024 | 合格(无注释体系,维持现状) |
| 9 | 6 | kamalāñjali | 301 | 合格(无注释体系,维持现状) |
| 10 | 7 | pajjamadhu | 525 | 合格(无注释体系,维持现状) |
| 11 | 8 | buddhaguṇagāthāvalī | 2457 | 全书无标记 |
| 12 | 9 | abhidhānappadīpikāṭīkā | 3108 | 乱码31行 |
| 13 | 10 | subodhālaṅkāro | 1319 | 合格 |
| 14 | 11 | subodhālaṅkāraṭīkā | 2937 | 乱码96行; 缩写丢失2处 |
| 15 | 12 | bālāvatāra | 846 | 合格(无注释体系,维持现状) |
| 16 | 13 | moggallānasuttapāṭho | 1103 | 合格(无注释体系,维持现状) |
| 17 | 13 | moggallānabyākaraṇaṃ | 2158 | 合格(无注释体系,维持现状) |
| 18 | 14 | kaccāyanabyākaraṇaṃ | 713 | 合格(无注释体系,维持现状) |
| 19 | 14 | mahākaccāyanasaddāpāṭha | 2772 | 合格(无注释体系,维持现状) |
| 20 | 15 | saddanītippakaraṇaṃ (padamālā) | 2979 | 全书无标记 |
| 21 | 16 | saddanītippakaraṇaṃ (dhātumālā) | 3400 | 全书无标记 |
| 22 | 17 | padarūpasiddhi | 4054 | 合格(无注释体系,维持现状) |
| 23 | 18 | moggallāna-pañcikā-ṭīkā | 1578 | 合格(无注释体系,维持现状) |
| 24 | 19 | payogasiddhipāḷi | 2492 | 合格(无注释体系,维持现状) |
| 25 | 20 | vuttodayaṃ | 317 | 合格(无注释体系,维持现状) |
| 26 | 21 | abhidhānappadīpikā | 3962 | 章回绕1次 |
| 27 | 22 | niruttidīpanīpāṭha | 6143 | 合格(无注释体系,维持现状) |
| 28 | 23 | paramatthadīpanī | 1497 | 合格 |
| 29 | 24 | anudīpanīpāṭha | 441 | 合格 |
| 30 | 25 | paṭṭhānuddesa dīpanīpāṭha | 248 | 全书无标记 |
| 31 | 26 | caturārakkhadīpanī | 1959 | 合格(无注释体系,维持现状) |
| 32 | 27 | kavidappaṇanīti | 1346 | 合格(无注释体系,维持现状) |
| 33 | 28 | nītimañjarī | 242 | 合格(无注释体系,维持现状) |
| 34 | 29 | dhammanīti | 1332 | 合格(无注释体系,维持现状) |
| 35 | 30 | mahārahanīti | 1282 | 合格(无注释体系,维持现状) |
| 36 | 31 | lokanīti | 875 | 合格(无注释体系,维持现状) |
| 37 | 32 | suttantanīti | 132 | 合格(无注释体系,维持现状) |
| 38 | 32 | vasalasutta | 133 | 合格(无注释体系,维持现状) |
| 39 | 33 | sūrassatīnīti | 544 | 合格(无注释体系,维持现状) |
| 40 | 34 | cāṇakyanītipāḷi | 551 | 合格(无注释体系,维持现状) |
| 41 | 35 | naradakkhadīpanī | 1846 | 合格(无注释体系,维持现状) |
| 42 | 36 | rasavāhinī | 2456 | 合格(无注释体系,维持现状) |
| 43 | 37 | sīmavisodhanī | 432 | 全书无标记 |
| 44 | 38 | vessantarāgīti | 2612 | 合格(无注释体系,维持现状) |
| 45 | 39 | (saṅgayana-puccha vissajjanā) dī | 347 | 全书无标记 |
| 46 | 40 | (saṅgayana-puccha vissajjanā) ma | 686 | 全书无标记 |
| 47 | 41 | (saṅgayana-puccha vissajjanā) sa | 1254 | 全书无标记 |
| 48 | 42 | (saṅgayana-puccha vissajjanā) aṅ | 905 | 全书无标记 |
| 49 | 43 | (saṅgayana-puccha vissajjanā) vi | 1553 | 合格(无注释体系,维持现状) |
| 50 | 44 | (saṅgayana-puccha vissajjanā) ab | 295 | 全书无标记 |
| 51 | 45 | (saṅgayana-puccha vissajjanā) aṭ | 502 | 全书无标记 |
| 52 | 46 | milidaṭīkā | 1240 | 无标记污染(cs值仅20个/1240行) |
| 53 | 47 | padamañjarī | 1640 | 全书无标记 |
| 54 | 48 | padasādhanaṃ | 1095 | 全书无标记 |
| 55 | 49 | saddabindu pakaraṇaṃ | 83 | 合格(无注释体系,维持现状) |
| 56 | 50 | kaccāyana dhātu mañjūsā | 494 | 合格(无注释体系,维持现状) |
| 57 | 51 | samantakūṭavaṇṇanā | 3057 | 合格(无注释体系,维持现状) |
| 58 | 52 | moggallāna vuttivivaraṇapañcikā. | 1703 | 合格(无注释体系,维持现状) |
| 59 | 53 | thupavaṃsa | 709 | 合格(无注释体系,维持现状) |
| 60 | 54 | dāṭhāvaṃsa | 1642 | 合格(无注释体系,维持现状) |
| 61 | 55 | dhātupāṭha vilāsiniyā | 118 | 合格(无注释体系,维持现状) |
| 62 | 56 | dhātuvaṃsa | 491 | 全书无标记 |
| 63 | 57 | hatthavanagallavihāra vaṃso | 364 | 合格(无注释体系,维持现状) |
| 64 | 58 | jinacaritaya | 1649 | 合格(无注释体系,维持现状) |
| 65 | 59 | jinavaṃsadīpaṃ | 9907 | 合格(无注释体系,维持现状) |
| 66 | 60 | telakaṭāhagāthā | 501 | 合格(无注释体系,维持现状) |
| 67 | 61 | cūḷaganthavaṃsapāḷi | 151 | 全书无标记 |
| 68 | 62 | sāsanavaṃsappadīpikā | 970 | 合格(无注释体系,维持现状) |
| 69 | 63 | mahāvaṃsapāḷi | 15943 | 合格(无注释体系,维持现状) |
| 70 | 64 | visuddhimagga | 2239 | 合格 |
| 71 | 65 | visuddhimagga | 2191 | 合格 |
| 72 | 66 | visuddhimagga-mahāṭīkā | 1612 | 合格 |
| 73 | 67 | visuddhimagga-mahāṭīkā | 1850 | 合格 |
| 74 | 68 | visuddhimagga nidānakathā | 2700 | 合格(无注释体系,维持现状) |
| 75 | 69 | paṭṭhānapāḷi | 4239 | 章回绕16次 |
| 76 | 70 | paṭṭhānapāḷi | 6002 | 章回绕9次 |
| 77 | 71 | paṭṭhānapāḷi | 8044 | 章回绕20次 |
| 78 | 72 | paṭṭhānapāḷi | 5167 | 章回绕19次 |
| 79 | 73 | dhammasaṅgaṇīpāḷi | 2434 | 章回绕2次 |
| 80 | 74 | vibhaṅgapāḷi | 3425 | 合格 |
| 81 | 75 | dhātukathāpāḷi | 671 | 合格 |
| 82 | 76 | puggalapaññattipāḷi | 559 | 章回绕1次 |
| 83 | 77 | kathāvatthupāḷi | 3458 | 合格 |
| 84 | 78 | yamakapāḷi | 4772 | 章回绕4次 |
| 85 | 79 | yamakapāḷi | 3857 | 章回绕2次 |
| 86 | 80 | yamakapāḷi | 5584 | 章回绕1次 |
| 87 | 81 | paṭṭhānapāḷi | 4299 | 章回绕4次 |
| 88 | 82 | dasakanipātapāḷi | 3139 | 合格 |
| 89 | 83 | ekādasakanipātapāḷi | 1887 | 合格 |
| 90 | 84 | ekakanipātapāḷi | 955 | 合格 |
| 91 | 85 | dukanipātapāḷi | 483 | 合格 |
| 92 | 86 | tikanipātapāḷi | 1936 | 合格 |
| 93 | 87 | catukkanipātapāḷi | 3437 | 合格 |
| 94 | 88 | pañcakanipātapāḷi | 16264 | 合格 |
| 95 | 89 | chakkanipātapāḷi | 2375 | 合格 |
| 96 | 90 | sattakanipātapāḷi | 14829 | 合格 |
| 97 | 91 | aṭṭhakanipātapāḷi | 2602 | 合格 |
| 98 | 92 | navakanipātapāḷi | 1502 | 合格 |
| 99 | 93 | dīghanikāyapāḷi | 1072 | 合格 |
| 100 | 94 | dīghanikāyapāḷi | 1557 | 合格 |
| 101 | 95 | dīghanikāyapāḷi | 1908 | 合格 |
| 102 | 96 | dhammasaṅgaṇī-aṭṭhakathā | 3548 | 乱码3行; 缩写丢失2处 |
| 103 | 97 | vibhaṅga-aṭṭhakathā | 2420 | 缩写丢失2处 |
| 104 | 98 | dhātukathā-aṭṭhakathā | 169 | 章回绕17次 |
| 105 | 98 | puggalapaññatti-aṭṭhakathā | 310 | 章回绕17次 |
| 106 | 98 | kathāvatthu-aṭṭhakathā | 2713 | 乱码13行 |
| 107 | 98 | yamakappakaraṇa-aṭṭhakathā | 9000 | 乱码26行 |
| 108 | 98 | paṭṭhānappakaraṇa-aṭṭhakathā | 5394 | 乱码1行 |
| 109 | 99 | manorathapūraṇī | 2076 | 合格 |
| 110 | 100 | manorathapūraṇī | 518 | 缩写丢失2处 |
| 111 | 100 | manorathapūraṇī | 816 | 缩写丢失2处 |
| 112 | 100 | manorathapūraṇī | 2402 | 缩写丢失2处 |
| 113 | 101 | manorathapūraṇī | 601 | 章回绕1次 |
| 114 | 101 | manorathapūraṇī | 343 | 章回绕1次 |
| 115 | 101 | manorathapūraṇī | 216 | 章回绕1次 |
| 116 | 102 | manorathapūraṇī | 306 | 章回绕1次 |
| 117 | 102 | manorathapūraṇī | 174 | 章回绕1次 |
| 118 | 102 | manorathapūraṇī | 363 | 章回绕1次 |
| 119 | 102 | manorathapūraṇī | 105 | 章回绕1次 |
| 120 | 103 | sumaṅgalavilāsinī | 1974 | 合格 |
| 121 | 104 | sumaṅgalavilāsinī | 1729 | 缩写丢失1处 |
| 122 | 105 | sumaṅgalavilāsinī | 1129 | 合格 |
| 123 | 106 | therīgāthā-aṭṭhakathā | 4546 | 合格 |
| 124 | 107 | apadāna-aṭṭhakathā | 4094 | 乱码47行; 缩写丢失22处 |
| 125 | 108 | buddhavaṃsa-aṭṭhakathā | 4192 | 乱码80行 |
| 126 | 109 | cariyāpiṭaka-aṭṭhakathā | 2134 | 乱码80行; 缩写丢失6处 |
| 127 | 110 | jātaka-aṭṭhakathā | 3114 | 合格 |
| 128 | 111 | jātaka-aṭṭhakathā | 2995 | 章回绕1次 |
| 129 | 112 | jātaka-aṭṭhakathā | 4889 | 章回绕5次 |
| 130 | 113 | jātaka-aṭṭhakathā | 6020 | 乱码21行 |
| 131 | 113 | jātaka-aṭṭhakathā | 1691 | 章回绕5次 |
| 132 | 114 | jātaka-aṭṭhakathā | 5079 | 章回绕4次 |
| 133 | 115 | jātaka-aṭṭhakathā | 3686 | 合格 |
| 134 | 116 | khuddakapāṭha-aṭṭhakathā | 1233 | 乱码26行 |
| 135 | 117 | jātaka-aṭṭhakathā | 6461 | 合格 |
| 136 | 118 | mahāniddesa-aṭṭhakathā | 1831 | 合格 |
| 137 | 119 | cūḷaniddesa-aṭṭhakathā | 763 | 乱码18行; 缩写丢失1处 |
| 138 | 120 | paṭisambhidāmagga-aṭṭhakathā | 2716 | 章回绕3次; 缩写丢失1处 |
| 139 | 121 | nettippakaraṇa-aṭṭhakathā | 1094 | 章回绕1次 |
| 140 | 122 | dhammapada-aṭṭhakathā | 5229 | 章回绕1次 |
| 141 | 123 | udāna-aṭṭhakathā | 1686 | 章回绕1次 |
| 142 | 124 | itivuttaka-aṭṭhakathā | 1764 | 乱码7行 |
| 143 | 125 | suttanipāta-aṭṭhakathā | 2503 | 乱码1行; 缩写丢失114处 |
| 144 | 126 | vimānavatthu-aṭṭhakathā | 3971 | 章回绕1次; 缩写丢失36处 |
| 145 | 127 | petavatthu-aṭṭhakathā | 3279 | 章回绕1次; 缩写丢失46处 |
| 146 | 128 | theragāthā-aṭṭhakathā | 5388 | 缩写丢失2处 |
| 147 | 129 | theragāthā-aṭṭhakathā | 6603 | 全书无标记 |
| 148 | 130 | papañcasūdanī | 2904 | 章回绕1次; 缩写丢失2处 |
| 149 | 131 | papañcasūdanī | 1367 | 合格 |
| 150 | 132 | papañcasūdanī | 1103 | 缩写丢失1处 |
| 151 | 133 | sāratthappakāsinī | 1478 | 合格 |
| 152 | 134 | sāratthappakāsinī | 1226 | 合格 |
| 153 | 135 | sāratthappakāsinī | 2848 | 合格 |
| 154 | 136 | sāratthappakāsinī | 1860 | 合格 |
| 155 | 137 | sāratthappakāsinī | 2838 | 章回绕5次; 缩写丢失9处 |
| 156 | 138 | samantapāsādikā | 2803 | 缩写丢失26处 |
| 157 | 139 | samantapāsādikā | 1347 | 缩写丢失32处 |
| 158 | 140 | samantapāsādikā | 942 | 乱码6行; 缩写丢失6处 |
| 159 | 141 | samantapāsādikā | 668 | 合格 |
| 160 | 142 | samantapāsādikā | 715 | 缩写丢失1处 |
| 161 | 143 | therāpadānapāḷi | 14644 | 章回绕41次 |
| 162 | 144 | therāpadānapāḷi | 6531 | 章回绕17次 |
| 163 | 144 | therīapadānapāḷi | 4140 | 章回绕17次 |
| 164 | 145 | buddhavaṃsapāḷi | 3280 | 章回绕28次 |
| 165 | 146 | cariyāpiṭakapāḷi | 1197 | 章回绕2次 |
| 166 | 147 | jātakapāḷi | 11526 | 章回绕5次 |
| 167 | 148 | jātakapāḷi | 10504 | 章回绕15次 |
| 168 | 149 | mahāniddesapāḷi | 2925 | 合格 |
| 169 | 150 | cūḷaniddesapāḷi | 2769 | 章回绕1次 |
| 170 | 151 | paṭisambhidāmaggapāḷi | 2042 | 章回绕3次 |
| 171 | 152 | milindapañhapāḷi | 2491 | 章回绕22次 |
| 172 | 153 | nettippakaraṇapāḷi | 1622 | 章回绕1次 |
| 173 | 154 | khuddakapāṭhapāḷi | 274 | 无标记污染(cs值仅19个/274行); 章回绕6次 |
| 174 | 155 | peṭakopadesapāḷi | 1215 | 合格 |
| 175 | 156 | dhammapadapāḷi | 1392 | 合格 |
| 176 | 157 | udānapāḷi | 963 | 合格 |
| 177 | 158 | itivuttakapāḷi | 1192 | 合格 |
| 178 | 159 | suttanipātapāḷi | 4049 | 合格 |
| 179 | 160 | vimānavatthupāḷi | 3277 | 合格 |
| 180 | 161 | petavatthupāḷi | 2653 | 合格 |
| 181 | 162 | theragāthāpāḷi | 4667 | 合格 |
| 182 | 163 | therīgāthāpāḷi | 1783 | 合格 |
| 183 | 164 | majjhimanikāyapāḷi | 1795 | 合格 |
| 184 | 165 | majjhimanikāyapāḷi | 1688 | 合格 |
| 185 | 166 | majjhimanikāyapāḷi | 1461 | 合格 |
| 186 | 167 | saṃyuttanikāyapāḷi | 3496 | 合格 |
| 187 | 168 | saṃyuttanikāyapāḷi | 1425 | 合格 |
| 188 | 169 | saṃyuttanikāyapāḷi | 3163 | 合格 |
| 189 | 170 | saṃyuttanikāyapāḷi | 2223 | 合格 |
| 190 | 171 | saṃyuttanikāyapāḷi | 5898 | 合格 |
| 191 | 172 | mūlaṭīkā | 1364 | 乱码7行; 缩写丢失1处 |
| 192 | 173 | mūlaṭīkā | 1210 | 章回绕1次; 缩写丢失7处 |
| 193 | 173 | anuṭīkā | 1103 | 章回绕1次; 缩写丢失7处 |
| 194 | 174 | mūlaṭīkā | 96 | 章回绕12次; 缩写丢失2处 |
| 195 | 174 | mūlaṭīkā | 101 | 乱码1行; 缩写丢失2处 |
| 196 | 174 | mūlaṭīkā | 1309 | 乱码8行; 缩写丢失2处 |
| 197 | 174 | mūlaṭīkā | 6204 | 乱码29行; 缩写丢失2处 |
| 198 | 174 | mūlaṭīkā | 3192 | 乱码1行; 缩写丢失2处 |
| 199 | 175 | anuṭīkā | 1273 | 乱码9行 |
| 200 | 176 | anuṭīkā | 113 | 章回绕13次 |
| 201 | 176 | anuṭīkā | 96 | 乱码1行 |
| 202 | 176 | anuṭīkā | 1338 | 乱码8行 |
| 203 | 176 | anuṭīkā | 6905 | 乱码33行 |
| 204 | 176 | anuṭīkā | 3446 | 乱码1行 |
| 205 | 177 | abhidhammāvatāro | 4803 | 合格 |
| 206 | 177 | nāmarūpaparicchedo | 5822 | 合格(无注释体系,维持现状) |
| 207 | 177 | paramatthavinicchayo | 3645 | 合格(无注释体系,维持现状) |
| 208 | 177 | saccasaṅkhepo | 1228 | 合格(无注释体系,维持现状) |
| 209 | 178 | abhidhammatthasaṅgaho | 873 | 章回绕17次 |
| 210 | 178 | abhidhammatthavibhāvinīṭīkā | 964 | 章回绕17次 |
| 211 | 179 | abhidhammāvatāra-purāṇaṭīkā | 879 | 乱码9行; 缩写丢失418处 |
| 212 | 179 | abhidhammāvatāra-abhinavaṭīkā | 1523 | 乱码46行; 缩写丢失418处 |
| 213 | 180 | abhidhammamātikāpāḷi | 1219 | 合格(无注释体系,维持现状) |
| 214 | 180 | mohavicchedanī | 1606 | 合格(无注释体系,维持现状) |
| 215 | 181 | ekakanipāta-ṭīkā | 1449 | 合格 |
| 216 | 182 | dukanipāta-ṭīkā | 1028 | 章回绕3次; 缩写丢失10处 |
| 217 | 182 | tikanipāta-ṭīkā | 999 | 章回绕3次; 缩写丢失10处 |
| 218 | 182 | catukkanipāta-ṭīkā | 1299 | 章回绕3次; 缩写丢失10处 |
| 219 | 183 | pañcakanipāta-ṭīkā | 1108 | 章回绕4次; 缩写丢失10处 |
| 220 | 183 | chakkanipāta-ṭīkā | 583 | 章回绕4次; 缩写丢失10处 |
| 221 | 183 | sattakanipāta-ṭīkā | 401 | 章回绕4次; 缩写丢失10处 |
| 222 | 184 | aṭṭhakanipāta-ṭīkā | 2130 | 章回绕6次; 缩写丢失1处 |
| 223 | 184 | navakanipāta-ṭīkā | 272 | 章回绕6次; 缩写丢失1处 |
| 224 | 184 | dasakanipāta-ṭīkā | 3805 | 章回绕6次; 缩写丢失1处 |
| 225 | 184 | ekādasakanipāta-ṭīkā | 147 | 章回绕6次; 缩写丢失1处 |
| 226 | 185 | līnatthappakāsanā | 1586 | 缩写丢失17处 |
| 227 | 186 | līnatthappakāsanā | 1507 | 缩写丢失1处 |
| 228 | 187 | līnatthappakāsanā | 1130 | 合格 |
| 229 | 188 | sādhuvilāsinī | 1779 | 合格 |
| 230 | 189 | sādhuvilāsinī | 1570 | 缩写丢失10处 |
| 231 | 190 | nettippakaraṇa-ṭīkā | 762 | 乱码1行 |
| 232 | 191 | nettivibhāvinī | 1668 | 章回绕1次 |
| 233 | 192 | līnatthappakāsanā | 2395 | 章回绕2次; 缩写丢失3处 |
| 234 | 193 | līnatthappakāsanā | 934 | 缩写丢失1处 |
| 235 | 194 | līnatthappakāsanā | 854 | 缩写丢失1处 |
| 236 | 195 | līnatthappakāsanā | 1707 | 章回绕1次 |
| 237 | 196 | līnatthappakāsanā | 1326 | 合格 |
| 238 | 197 | līnatthappakāsanā | 3274 | 合格 |
| 239 | 198 | līnatthappakāsanā | 1926 | 合格 |
| 240 | 199 | līnatthappakāsanā | 2835 | 章回绕7次; 缩写丢失7处 |
| 241 | 200 | vinayavinicchayo | 10174 | 章回绕1次 |
| 242 | 200 | uttaravinicchayo | 3106 | 章回绕1次 |
| 243 | 201 | vinayavinicchaya-ṭīkā | 3812 | 乱码450行; 缩写丢失256处 |
| 244 | 201 | uttaravinicchaya-ṭīkā | 771 | 乱码2行; 缩写丢失256处 |
| 245 | 202 | pācityādiyojanā | 2987 | 章回绕3次; 缩写丢失10处 |
| 246 | 203 | khuddasikkhā | 1617 | 章回绕1次; 缩写丢失84处 |
| 247 | 203 | khuddasikkhā | 630 | 乱码33行; 缩写丢失84处 |
| 248 | 203 | khuddasikkhā | 631 | 乱码35行; 缩写丢失84处 |
| 249 | 203 | mūlasikkhā | 376 | 章回绕1次; 缩写丢失84处 |
| 250 | 203 | mūlasikkhā | 148 | 乱码13行; 缩写丢失84处 |
| 251 | 204 | sāratthadīpanī-ṭīkā | 1657 | 合格 |
| 252 | 205 | sāratthadīpanī-ṭīkā | 1924 | 乱码5行; 缩写丢失3处 |
| 253 | 206 | sāratthadīpanī-ṭīkā | 1008 | 章回绕3次; 缩写丢失4处 |
| 254 | 206 | sāratthadīpanī-ṭīkā | 1148 | 章回绕3次; 缩写丢失4处 |
| 255 | 206 | sāratthadīpanī-ṭīkā | 447 | 章回绕3次; 缩写丢失4处 |
| 256 | 206 | sāratthadīpanī-ṭīkā | 257 | 章回绕3次; 缩写丢失4处 |
| 257 | 207 | pātimokkhapāḷi | 521 | 章回绕12次 |
| 258 | 207 | pātimokkhapāḷi | 691 | 章回绕12次 |
| 259 | 207 | kaṅkhāvitaraṇī | 1499 | 无标记污染(cs值仅1个/1499行); 章回绕12次 |
| 260 | 208 | vinayasaṅgaha-aṭṭhakathā | 1671 | 章回绕1次 |
| 261 | 209 | vajirabuddhi-ṭīkā | 163 | 章回绕1次; 缩写丢失85处 |
| 262 | 209 | vajirabuddhi-ṭīkā | 779 | 乱码53行; 缩写丢失85处 |
| 263 | 209 | vajirabuddhi-ṭīkā | 719 | 乱码9行; 缩写丢失85处 |
| 264 | 209 | vajirabuddhi-ṭīkā | 486 | 乱码5行; 缩写丢失85处 |
| 265 | 209 | vajirabuddhi-ṭīkā | 189 | 章回绕1次; 缩写丢失85处 |
| 266 | 209 | vajirabuddhi-ṭīkā | 224 | 乱码3行; 缩写丢失85处 |
| 267 | 210 | vimativinodanī-ṭīkā | 1709 | 乱码6行; 缩写丢失46处 |
| 268 | 210 | vimativinodanī-ṭīkā | 707 | 章回绕4次; 缩写丢失46处 |
| 269 | 210 | vimativinodanī-ṭīkā | 759 | 乱码18行; 缩写丢失46处 |
| 270 | 210 | vimativinodanī-ṭīkā | 338 | 章回绕4次; 缩写丢失46处 |
| 271 | 210 | vimativinodanī-ṭīkā | 386 | 章回绕4次; 缩写丢失46处 |
| 272 | 211 | vinayālaṅkāra-ṭīkā | 2411 | 章回绕2次; 缩写丢失1处 |
| 273 | 212 | kaṅkhāvitaraṇī | 669 | 无标记污染(cs值仅1个/669行) |
| 274 | 212 | kaṅkhāvitaraṇī | 1847 | 无标记污染(cs值仅19个/1847行) |
| 275 | 213 | vinayapitaka | 2475 | 合格 |
| 276 | 214 | vinayapitaka | 3688 | 合格 |
| 277 | 215 | vinayapitaka | 2757 | 合格 |
| 278 | 216 | vinayapitaka | 2819 | 合格 |
| 279 | 217 | vinayapitaka | 3643 | 合格 |
| 280 | 139 | samantapāsādikā | 0 | 缩写丢失32处 |
| 281 | 214 | (VN)Bhikkhunīvibhaṅgo | 0 | 无 book_id 行 |
wbw_templates(唯一数据源,含全部 .ctl. 标记)
│
▼ ①导出器(Artisan command,确定性重放,宁空勿错)
第一版 related_paragraphs + issues.json(补丁工作清单)
│
▼ ②补丁文件(人工/LLM 生成的修正数据,进代码仓库评审)
│
▼ ③更新 command(幂等,--dry-run,按补丁执行 UPDATE)
修复后的 related_paragraphs
关键决策记录:
abhi7_1-1,无编号用章序号 kn14_18);章界来源为
pali_texts 真实标题(toc 非空;level=100 是正文节点不算标题)。实测回绕点 ±1 段内
命中 86%、±5 段内 96.5%、±30 段内零失配;两侧按同一套后缀对齐。标记语法层
| 输入 | 处理 |
|---|---|
paraN / paraN_book |
输出 cs=N,更新书上下文 |
paraN-M(M 位数≥N) |
完整区间,展开 N..M 多行 |
paraN-M(M 位数N)
| 缩写区间,前缀补齐展开(para292-3→292,293) |
paraN-M_book(缩写+后缀组合,实测 989 行,如 para1008-9_sn5) |
先按缩写规则展开 N..M,再以后缀定 book_name |
paraN-M-K... |
链式首尾法展开 N..tail(para292-3-6→292..296);实测仅 4 行,旧数据已正确展开(book 189 para 827 → 292-296) |
paraN-(M 空,全库仅 1 处:book 11 para 1577) |
留空 + issue(truncated_marker),人工定 |
| 解析值超值域保护阈值 | 拒绝输出 + issue(cs_out_of_range),防乱码 |
页码/卷标 P/M/V/T/O × 0-5(实测 26 家族 165,907 行) |
忽略,本轮不处理 |
纯书名标记 dn1、kn10 |
书上下文事件,不输出行 |
| 输入 | 处理 |
|---|---|
| 延续段(同书内有前一标记) | 沿用;区间沿用则整区间展开(含巨区间 844 行场景) |
| 书边界(book_id 切换)后的无标记段 | 留空 + issue(no_marker_after_book_switch) ⭐ 防污染核心规则 |
| 文件开头段(para 1-2) | cs=0、book_id=0(维持现状语义) |
| wbw_templates 整段无行 | 自然无输出 + issue(missing_wbw) |
书上下文层
| 输入 | 处理 |
|---|---|
paraN_book 后缀 |
book_name = 后缀 |
| 无后缀标记 | 继承当前 book_name;文件开头继承不到 → 留空 + issue |
{mula}_{0}(义注文件) |
进入 {mula}_A 序言模式(重现 dn1_A 正确先例) |
{mula}_{N>0}(义注文件) |
退出序言模式,book_name=mūla 名 |
{book}_{N}(mūla 文件) |
章切换事件,触发章后缀上下文 |
| NK/subo/dict 等自造名 | 由书级配置表提供(保兼容,不重新发明);books 107/143/144 的 kn10 家族导出名同样由书级配置表决定(补丁 old 值必须与之匹配,见 §6.5) |
文件类型(义注 vs mūla)用 tag(aṭṭhakathā/ṭīkā vs mūla/pāḷi)消解
{name}_{N} 的同形歧义。
章回绕层
| 输入 | 处理 |
|---|---|
| cs 回 1 且附近有 para1 标记 | 章回绕:以回绕点为原点在 ±N 段窗口内找最近真实标题(toc 非空;level=100 的正文节点不算标题)定章界,输出加后缀的 book_name。实测 ±1 段内命中 86%、±5 段内 96.5%、±30 段内零失配;窗口大小、层级阈值、多候选取法在导出器内定死 |
| 镜像型书对 | 两侧用同一套后缀(§6.1),出口断言:同名章两侧 max(cs_para) 一致 |
| abhidhamma 系不对齐书对 | 自动后缀不保证链条对齐,改为补丁 rename_book 显式加后缀,链条对齐优先 |
| 回绕点偏移超窗口(实测仅 5 处,偏移 8-30 段) | 留空 + issue(wrap_unmatched_title),补丁人工定 |
| cs 小幅回退(不回到 1) | 原样输出(回指补充,合法),低优先级 issue 仅统计 |
book_id 层:按 book_titles 现行逻辑匹配(book+paragraph ≥ level=1 段落)重跑; sn 280/281 的归错(book 139 para≥925、book 214 para≥2162 整段归入前册)随重跑修复; book 189 已完成回填(仅 2 行书前页为 0)。book_titles sn=230 的 title 错误另开小补丁。
{ type, book, para_from, para_to, detail, suggested_action },
按类型汇总即为补丁工作清单验收断言(任一失败则导出失败):
适用:E8 污染区 + E9 无标记书(kaṅkhāvitaraṇī 义注及两本 ṭīkā 约 3,200 段、 abhi ṭīkā、vin yojanā 系等,合计约 15,000-20,000 段),以及 abhidhamma 系 补丁后缀的对齐辅助判定(§6.1)。
LLM 使用原则(规则优先,合理使用):LLM 只承担需要读懂巴利文的语义判定—— E8/E9 的段落归属与 abhi 系跨侧章界对齐;凡可由标记、标题层级、引用锚、单调性 规则程序判定的,一律不进 LLM。规模估算:40-90 段/次调用 → 全量约 250-500 次 调用,双模型独立跑翻倍;成本与时长按此量级排期,试点先行。
流程(LLM 为主体,承担 95% 的章节内部段落归属;规则只做校验):
(pārā. aṭṭha. 1.52) 型引用可程序化提取,作交叉验证)manual_map 区实测依据(已用真实数据验证可行性):
义注条款 1 尾部的自指语句("...terasa nāmāni labhanti paṭhamapārājika")、
制戒因缘("idaṃ vesāliyaṃ sudinnattheraṃ ārabbha...paññattaṃ")、
ṭīkā 的要件分析段落,均可由 LLM 可靠归属;标题结构三层同名对齐已实测复核:
1. Paṭhamapārājikavaṇṇanā~4. Catutthapārājikavaṇṇanā 在义注
(book 207 para 1299+)与两本 ṭīkā(book 212 para 41+ / 833+)字符串级一致。
注意:pātimokkha(vin6)自身也是规则组内局部编号(pārājika 1-4 后 saṅghādisesa 从 1 重计),修复时按组加后缀(vin6_pr1 型),与全局章后缀方案统一。
{
"rename_book": [ // 章后缀 + kn10 家族改名;old 必须与导出器输出一致
{ "book": 143, "para_from": 2052, "para_to": 2510,
"old": "kn10", "new": "kn10_2" }, // books 107/143/144 的导出名由书级配置表决定
{ "book": 71, "para_from": 415, "para_to": 1723, // abhidhamma 系:链条对齐约束下显式加后缀
"old": "abhi7", "new": "abhi7_1",
"source": "llm", "confidence": 0.93 } // 对齐信息不足时由 LLM 辅助判定,人工复核
],
"fix_cs": [ // 乱码/区间修正(导出器已自动修的不再进补丁)
{ "book": 98, "para_from": 573, "para_to": 576,
"old_cs": 44022, "new_cs": [7,8,9,10], "reason": "para7-10" }
// new_cs 与 [para_from..para_to] 逐段一一对应,长度必须等于段数
],
"manual_map": [ // LLM/人工区:区间整体赋值
{ "book": 207, "para_from": 1215, "para_to": 1240,
"book_name": "vin6_pr1", "cs_para": 1, "source": "llm", "confidence": 0.97 }
]
// book_id 不进补丁,更新 command 内置按 book_titles.sn 回填(顺带修复 sn 280/281 归错)
}
4(style=paranum) 标记(当前库 0 行,无处理对象)复核方式:对 §4.3 每个问题与 §6 每个关键假设直接 SQL 实测;与原数字有出入的均已回写 正文,此处只列要点。
para32-3→11,749、para15-8→44,058)。1. Paṭhamapārājikavaṇṇanā~4. Catutthapārājikavaṇṇanā 三层同名
字符串级一致(book 207 para 1299+、book 212 para 41+/833+)。para1008-9_sn5 型 989 行;链式标记 4 行(旧数据已正确
展开);截断 para179- 仅 book 11 para 1577 一处;页码标记 26 家族 165,907 行
(本轮忽略);纯书名标记 93 行(书上下文事件);巨区间 para308-1151 现为 844 行。