首页 / 资讯中心 / 文章详情

ljg-book 拆书技能的后台质检体系:coverage-map 覆盖记录模板全字段解读与 validate_note 验证器原理

ljg-book 拆书技能的后台质检体系:coverage-map 覆盖记录模板全字段解读与 validate_note 验证器原理 ★ FEATURED ARTICLE
【免费下载链接】ljg-skills项目地址https://gitcode.com/gh_mirrors/lj/ljg-skills点击查看免费下载ljg-book 是一个面向拆书场景的 Agent 技能在只给出书名、PDF、EPUB 或样章的情况下让没读过原书的读者理解整本书讲了什么、各部分为什么写在一起、原有理解如何被事实与事件逐步改变。本文聚焦该技能的核心管控文件coverage-map.md材料与检查记录模板逐字段讲解它在材料边界、整书身份、认识线索、来源取舍与成品阅读检查上的设计要求并结合 验证器、测试用例 与 评估体系 说明这份模板如何被脚本强制执行。读完本文你将掌握这套覆盖记录 结构验证 成品复读三层质量闸门的完整工作机制以及把任何一本陌生书籍做成高质量拆书笔记的实操流程。覆盖记录是什么拆书任务的后台合同而不是正文提纲coverage-map.md 开篇第一句就划定了它的身份这是研究与核对记录不是正文提纲。它是一份后台backstage记录供研究与检查使用不照搬进正文。它的存在意义可以从 SKILL.md 的工作流路由中看清输入必读输出书名找到可靠材料后读ReadingGuide.md保存 Org 笔记PDF、EPUB、正文、样章、旧笔记先读原文再读ReadingGuide.md保存 Org 笔记用户明确只要口头解释ReadingGuide.md按同样要求讲清不写文件按 SKILL.md 的规定每次任务复制references/coverage-map.md记录材料、关系、取舍和复读结果这份 coverage 供研究与检查使用不照搬进正文。新任务使用版本 3验证器继续读取旧记录。也就是说每拆一本书都要新建一份覆盖记录它既是写作者的思考台账也是验证器validate_note读取的机器可解析契约。模板中有两条总原则值得反复强调冒号前字段名由脚本读取保留写法——字段名是验证器正则匹配的键不能随意改名例如- 材料等级完整拆书中的材料等级就是validate_note.ts中lineField()函数要抓取的精确字段名。字段填写只能证明记录存在不能证明解释正确或文章好读——这是整套体系的伦理底线结构合规不等于语义合格。验证器Result类型中assessment_scope明确写着结构与记录完整性不证明来源准确、阅读连续或理解效果semantic_assessment恒为not_performed。模板还要求没有材料时如实写清不以推测补齐经历这与 ReadingGuide.md 中的材料等级制度互为表里。材料边界先声明能支持到什么再决定能声称什么coverage-map.md 的第一大节材料边界包含五条必填字段其核心思想是让证据的边界先于结论出现覆盖合同版本3——当前合同为 3验证器兼容 2 与 legacyvalidate_note.ts中validMaterialGrades之外的未知版本如99会直接报错不受支持。材料等级{完整拆书 / 初拆 / 假设版}——三档递进的材料承诺取值必须在这三个枚举值内写成大概读过会被验证器拒绝。主要材料{实际读过的版本、路径或来源全书阅读范围与未读部分}——必须如实记录实际读过什么。能支持到{可以解释哪些内容不能支持哪些内容若需补材料记录结果}——与上一条共同构成sourceBoundaryFields验证器要求主要材料与能支持到两项都必须填写。材料能否支撑认识更新路径{是 / 否}——这一条是 v3 合同新增的认识更新门原有理解、压力与变化是否有依据。它必须明确写是或否写也许可以会被拒绝材料不足时不允许把材料等级升级为完整拆书。三档材料等级能声称的内容在 ReadingGuide.md 中被严格限定等级材料范围可以声称什么完整拆书全文或足以跟踪整书主线、关键转折和结尾的等价材料可以解释整书但仍注明具体来源边界初拆目录、样章、访谈、可靠评论或旧笔记只解释材料支持的部分不能把旧笔记当原书全文假设版更少的材料只能形成明确为暂定的解释验证器对这条门还有联动校验if (!supported complete) errors.push(完整拆书不能通过材料不足以支撑认识更新路径)——即材料能否支撑认识更新路径写了否时材料等级绝不允许是完整拆书。全书怎样构成整体六要素整书身份门第二大节全书怎样构成整体要求把整书作为一个有机整体来回答每个概念各记录一次不要在不同栏里反复改写同一句总论。v3 合同要求完整拆书必须填齐以下六项v3WholeBookFields这是什么类型或形态的书——先定位体裁分析书、历史书、传记、文学、哲学还是技术书。后续按书的性质选择变化见 ReadingGuide.md 的表格都以此为前提。起点、主要变化与终点——记录具体对象或人物、重要过程、结尾与未决部分。核心理解——最初怎样理解什么内容迫使补充或改变修订后怎样看。这是认识更新路径在整书层面的落点。各部分怎样相连——不可省主线及各自作用依赖、分工、因果、对照或限制不能只写共同主题。作者最想纠正或保留什么——从原书取舍与发展推知并给出依据不虚构作者心理。正文必须出现的整书锚点——正文选用、具有材料依据的具体短语完整拆书至少 3 个部分拆书至少 1 个用分隔不以增加数量证明完整。验证器对整书锚点有一组精密的强制检查锚点必须是能唯一指向这本书的具体短语——genericWholeBookAnchors集合里的问题、关系、变化、结果、理解、判断、结论、主题、作者、本书、读者、证据、边界、方法、概念被判定为过于通用直接报错同时每个锚点都必须真实出现在成品正文中missingWholeBookAnchors检查声明了却不出现同样报错。测试用例rejects generic or absent whole-book anchors专门验证了这两条路径。这背后的设计意图从 SKILL.md 可以读出分析书要讲清方法的分工与组合历史、文学和传记可以通过条件变化、关系与无法消除的矛盾构成整体不强凑统一公式。coverage-map.md 也明确允许多线作品按实际内容说明允许并列、对照或无法统一的矛盾。正文沿哪些线索展开一条 [thread] 认识线索的六段式第三大节是 v3 合同的亮点——用[thread]认识线索取代旧版零散的场景字段每行记录一个持续展开的问题、人物、关系或模型。格式为- [thread] 名称起点关键推进前后变化换场理由依据与边界六段字段在v3ThreadFields中被完整校验缺一不可名称——线索的标识必须出现在成品正文中threadMissingInBody检查。起点——读者能理解的初始处境让原来的判断先有成立的理由SKILL.md。关键推进——这条线索经历了哪些阶段、承担了哪些不同作用。前后变化——写出原来和后来的实际判断、条件或含义无行动结果时不要编造。换场理由——换对象确有必要的说明带来必要的新范围、对照或独立主线并承接尚未解决的关切。依据与边界——原书事实与自拟情景在此分清没有依据的 thread 行应删除。模板特别说明一个线索可以经过多个阶段、承担不同作用不为每个概念另建一个例子。这对应 ReadingGuide.md 的让例子发展而不只替结论作证同一个对象可以先让人形成自然判断再暴露条件、承受反对、改变主张。完整拆书要求至少 1 条 thread且六字段必须全部填完在v3Coverage测试夹具中可以看到一个符合规范的示例[thread] 名称四句话起点点头关键推进查前提前后变化等待证据换场理由前提仍待证依据与边界source:1-90。共同解释与图表全书生成器的诚实性检查第四大节处理两个相互关联的判定是否存在全书生成器{是 / 否}——必须明确写是或否并说明理由。所谓全书生成器是指确实能解释多处转折的同一种关系。声明是时必须接着回答三个深化字段生成器怎样贯穿至少两个远距转折生成器在哪些条件、范围或层级失效前提、反例或不能回答的问题以及它的具体作用机制。是否需要视觉表示{是 / 否}——必须明确写是或否并说明为什么文字足够或不够。声明是时必须逐一记录使用图表的位置与目的所表示的关系、图后解释与具体运行同时成品正文必须真的出现至少一个 ASCII 图块或表格exampleBlocks tableBlocks计数检查且每个图/表宽度不超过 80 显示列displayWidth()按全角字符计 2 列。这两条门的核心是诚实性没有共同解释就如实保留多种关系不要把若干方法压成一句口号图表必须解决具体理解困难图后要紧接着用眼前内容解释怎样读它。验证器 validate_note.ts 中的generatorGatePresent、representationRequired检查以及测试用例requires an elected visual without treating carrier presence as semantic proof都在防止声明需要图表但正文没有图有图但没说清用途两种偷懒。来源与取舍四类全书证据与候选部件第五大节是完整拆书最重的部分。完整拆书必须保留四类来源证据各自标明位置与证据[starting-point] 位置证据——原来的问题如何建立。[pressure] 位置证据——什么使原来理解不够。[revision] 位置证据——增加了哪些关系或条件。[boundary] 位置证据——最后形成了什么、还有什么无法解决。验证器要求声明的证据行必须写明位置已声明的来源证据必须写明位置材料不支持的证据行应删除完整拆书必须四类证据齐全缺一类即报错coverageZones ! zones.length。紧随其后是候选部件candidate记录完整拆书需要至少 5 项- [candidate] 名称位置解决的问题与其他部件的关系决定删除测试决定只能取保留 / 合并 / 删除三值之一。每个候选都要写删除测试——删除它之后它承担的必要解释是否丢失。模板特别提醒候选可以是方法、事件、关系或主线不等于正文需要相同数量的场景。删去一个例子仍要确认它承担的必要解释没有丢失。这也呼应 ReadingGuide.md 的取舍原则完整性由读者是否理解全书来检验不靠人名、章节名或例子数证明。本节的收尾是反证与取舍{当前解释会遗漏什么竞争解释或边界是什么怎样处理全书有何重要内容未展开及理由}。这条强制写作者面对竞争解释而不是只给一个顺滑的故事。成品阅读检查评估者只读成品不看后台第六大节成品阅读检查规定了覆盖记录的最后四个字段它们全部围绕成品限定阅读展开。评估者只读最终正文不看 coverage、原书、写作者分析或预期答案见 SKILL.md只读成品找出理解在哪里中断整书复述与关系重建——记录具体阅读位置和结果不只写 PASS。评估者先以日常话复述这是什么书主要对象、起点、变化与终点不可省的主线怎样相连哪些得到解释、哪些仍然未知再为这些认识指出正文中实际展开的解释与变化摘抄概况段、主题词或末句总结不足以证明理解成立。阅读断点与修订——沿实际阅读顺序找断点哪里缺了关系、过早换对象或引入名称、或退到书籍简介与写作说明切换的实质必要性哪两段显示实际理解变化怎样修订及复读结果。未发现时也要记录依据。遮住末节后能否理解作者关切——正文哪些发展已使关切可见有没有靠末节补进新道理或重复收束。正文中哪两个相隔较远的转折共同托住它——这是末节精神内核的证据化必须指出两处相隔较远的转折及其共同作用不另写一份精神内核。这四个字段在 v3 中由v3ReviewFields校验完整拆书必须全部填齐。阅读断点的四个问题在 SKILL.md 中有详细展开其中原来的判断为什么可信压力来自哪里改变后的判断具体是什么要求能指出前后对应而非只找到认识改变一句话——这正是 coverage-map.md 第三大节前后变化的延伸。验证器如何执行这份合同validate_note.ts 结构校验全解析validate_note.ts 是这份模板的机器执行端用 Bun 运行同时支持 Org 与 Markdown 两种成品格式。运行方式见 SKILL.md 的 Completion 部分bun skills/ljg-book/scripts/validate_note.ts /absolute/path/to/note.org \ --coverage /absolute/path/to/coverage-map.md也支持 stdin 模式bun scripts/validate_note.ts --stdin denote-filename --coverage coverage-map.md。退出码 0 表示ok非 0 表示存在 error。它对成品正文的检查要点每一条都有对应测试用例文件头完整性Org 必须含#TITLE / #SUBTITLE / #DESCRIPTION / #DATE / #FILETAGS / #IDENTIFIER六项Markdown 对应title / subtitle / description / date / tags / identifierIDENTIFIER必须与文件名中的 Denote 时间戳一致{YYYYMMDDTHHMMSS}--前缀。末节约束成品最后一个一级标题必须是读完后留下什么只能出现一次、只能写一个自然段、不能写成分类清单或子标题essenceFormatLineHits检查。禁入内容正文不能暴露 x/R/f/E 分析标签、不能出现独立资料校准章节、不能出现材料等级字样、不能含本轮核验/补写/不替等后台核验语言backstageAccountingPatterns。篇幅记录记录段落字数与句长220 字段落、90 字句子会统计在checks中但只记录不评判——测试明确records paragraph and sentence lengths without inferring overload。图表约束ASCII 图与表格宽度均不得超过 80 显示列全角按 2 列计代码块内被引用的表格不计为实际表格。它对覆盖记录coverage的检查按合同版本分派v3 合同当前校验材料等级枚举、材料边界两项、认识更新门是/否完整拆书必须填齐六要素整书身份、至少 3 个非通用锚点且全部出现在正文、至少 1 条完整 thread名称出现在正文、四类来源证据、至少 5 个候选部件决定为保留/合并/删除、四项成品阅读检查字段声明存在全书生成器必须补三个生成器字段声明需要视觉表示必须补图表用途且正文确有图表。初拆/假设版只要求材料能支持的字段锚点至少 1 个。v2 与 legacy 合同可继续被读取但会给出迁移警告下次重跑时请改用认识更新门v2 额外校验[frontstage]前台载体名称、唯一职责、设置或起点、结果或后果、改变的关系、下一问职责不得重复legacy 则读取旧版读者运行门/现场化门字段。测试文件 validate_note.test.ts 用 40 余个用例把上述每条规则固化成回归测试例如requires the essence section to be last and rejects category lists、rejects identifier mismatch and missing coverage、rejects visible backstage fields and missing description、rejects an over-wide ASCII diagram。其中live coverage template contract用例直接读取真实的coverage-map.md模板填值验证确保模板与验证器永远同步。合同版本与向后兼容3 为主、2 与 legacy 可读coverage-map.md 目前声明覆盖合同版本3。验证器的版本分派逻辑coverageContractVersion允许2、3与legacy未知版本报不受支持legacy 既支持显式声明也支持不声明版本。三版差异的本质是质检重心的迁移legacy 版检查读者运行门读者先问什么、最小模型、第一次猜什么、最小动作、立即结果、再运行、复述、来源边界与现场化门镜头站在哪里、先看见什么、自然判断、可见结果、打断它的证据、命名后重跑。v2 引入整书身份门与前台载体门并要求明确是否存在全书生成器与是否需要视觉表示。v3 统一为认识更新门整书身份六要素 [thread]认识线索 来源证据/候选部件 成品阅读检查四字段彻底移除旧版零散场景字段让记录直接服务于原有理解怎样被证据改变这条主线。从 evals 的说明可以看到版本演进的动因执行者只收到 prompt、材料和当前技能不收到 material_fixture、expected_output 或 assertions评估者只收到最终正文。来源核对另做。即评估要防的是模板里的预期答案被当成测试结果。评估体系从生成到评阅的双重防线仓库把生成质量的验证拆成两道互不替代的防线validate_note.test.ts validate_note.ts机器可判的结构与记录完整性检查。ok只表示所检查的结构与记录合格SKILL.md Completion 明确ok 仅表示所检查的结构与记录合格。evals/evals.json7 个普通请求评估用例覆盖完整论证方法书、旧解读笔记《鳗鱼的旅行》、多地区历史书、完整文学作品、技术书、材料不足只有书名、目录与短样章、无法统一立场的多线作品七种材料形态。每种都要求按实际材料形成来源有界、全书关系可理解、关键线索持续展开的Org及coverage不预设正文对象、标题或最终结论。材料不足用例id 6专门检验是否守住范围明确初拆或假设范围不靠领域知识补成全书情节或论证记录无法判断的部分不虚构完整认识变化。evals/reading-pair.json真实两稿的匿名比较入口。把两份同书解读正文交给评估者隐藏产生次序与反馈、调换呈现顺序要求先独立指出断点与关系再作比较。其 provenance 字段诚实交代首轮成品曾被实际读者指出阅读破碎——这正是 coverage-map 与成品阅读检查要拦截的那类缺陷。它的定位也写得很克制比较真实成品的阅读连续性独立于文件结构校验不能作为生成效果的证明。仓库中还保留了这两份评估用成品20000101T000001--reading-a__book.org与20000101T000002--reading-b__book.org均为对《论证是一门学问如何让你的观点有说服力》的完整拆书样例。它们展示了合格成品的样子以学生交流计划/游泳池建议为持续线索先让原有理解成立再逐层展开前提、证据、反对意见与方案比较最后以读完后留下什么一个自然段收束——注意它们的#TITLE / #SUBTITLE / #DESCRIPTION / #DATE / #FILETAGS / #IDENTIFIER六项文件头全部齐备IDENTIFIER与文件名时间戳完全一致。模板与成品的分工coverage-map、template.org、SKILL.md、ReadingGuide.md 各司其职四个文档共同构成 ljg-book 的完整规范理解它们的分工是正确使用覆盖记录的前提SKILL.md技能主文件定义触发条件、工作流路由、正文写作原则让一个念头有机会走完、Gotchas、成品阅读检查、末节约定与 Completion 检查清单含验证命令与 Emacs Denote 回读要求。ReadingGuide.md方法论细则——材料等级表、四类来源证据、按书性质选择变化分析/技术/历史/传记/文学哲学各自的展开过程与保留边界、概念与图表何时出现、复读与来源核对分开、维护 skill 时的检验方式。references/template.org成品 Org 的骨架模板含六项文件头占位与三个一级标题结构读者正在面对的具体处境或问题 → 原来的问题遇到什么变化 → 读完后留下什么要求删除本注释与所有占位提示不要把每个段落扩成固定流程。references/coverage-map.md本篇主角——每次任务复制填写的后台覆盖记录是验证器读取的合同本体。在 SKILL.md 的 Completion 中还有一条容易被忽略的硬性要求用真实 Emacs 回读成品——denote-retrieve-filename-identifier与文件名一致、denote-file-has-denoted-filename-p为真、文件出现在denote-directory-files与 consult-notes 中、实际运行org-lint并且不可用时明确延期不能把未执行写成通过。这与 coverage-map.md 的诚实原则完全同构记录存在与工作完成是两回事。实战工作流用覆盖记录拆完一本陌生书综合上述规范一次完整拆书的标准链路可以概括为六步确认材料边界按输入类型书名 / 全文 / 样章 / 旧笔记选定材料等级完整拆书/初拆/假设版复制 coverage-map.md 并声明覆盖合同版本3如实填写主要材料与能支持到。建立整书身份回答六要素类型形态、起点变化终点、核心理解、各部分相连、作者纠正保留、整书锚点锚点用分隔完整拆书不少于 3 个、且必须是能唯一指向这本书的具体短语。铺设认识线索为每条持续展开的问题/人物/关系填写[thread]六段式明确是否存在全书生成器及其失效边界按需声明视觉表示与图表用途。沉淀来源取舍完整拆书记录四类来源证据starting-point / pressure / revision / boundary与至少 5 个候选部件含保留/合并/删除决定与删除测试再写反证与取舍。写作并做成品阅读检查按 template.org 写 Org 成品默认保存到~/Context/文件名{YYYYMMDDTHHMMSS}--拆书-{书名}__book.org然后模拟只读成品的评估者填写整书复述、阅读断点、遮住末节测试、两个相隔转折四项检查。运行验证器并回读执行bun skills/ljg-book/scripts/validate_note.ts note --coverage coverage-map.md逐条读回 error 与 warning 并修复再用真实 Emacs 按 Denote 流程回读成品如实报告结果。这套体系最值得借鉴的设计是把写作质量拆成两层可独立把关的产物后台覆盖记录负责逼着写作者把材料边界、关系取舍、认识变化和反证想清楚成品限定阅读负责防止结构合规却没人读得懂。coverage-map.md 作为连接这两层的契约既是人读的研究台账也是机器读的校验合同——理解它的每个字段就理解了 ljg-book 拆书质量管控的全部逻辑。赞分享【免费下载链接】ljg-skills项目地址https://gitcode.com/gh_mirrors/lj/ljg-skills点击查看免费下载相关推荐codewhale web 上手指南一条命令把终端 Agent 搬进浏览器codewhale web 上手指南一条命令把终端 Agent 搬进浏览器 CodeWhale 是用 Rust 编写的开源终端编码 Agent。一条 codeDendron Book 分层实战Schema、Namespace 与 Handlebars 模板构建读书笔记体系Dendron Book 分层实战Schema、Namespace 与 Handlebars 模板构建读书笔记体系 在 Dendron 的个人知识管理体系中知识管理知识库Flow Coverage 命令全解析用 any 度量类型检查覆盖率的原理与实战Flow Coverage 命令全解析用 any 度量类型检查覆盖率的原理与实战 flow coverage 与 flow batch coverage 是开发工具静态分析代码质量上一篇从依赖地狱到丝滑体验Fish Shell 4.0 Beta 在 OpenSUSE Leap 15.6 上的终极安装指南下一篇微信聊天记录永久保存终极指南3种格式导出年度报告生成完整教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站