尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

闭环挂名检测:怎么识别“登记了但从来没跑过“的闭环

闭环挂名检测:怎么识别“登记了但从来没跑过“的闭环 闭环挂名检测怎么识别登记了但从来没跑过的闭环系列《宪法即代码》第 29 篇 标签建议AI编程、Rust、CI、代码治理、工程度量文章目录闭环挂名检测怎么识别登记了但从来没跑过的闭环一千零一十八个没接线的摄像头一、挂名的四种伪装二、判据闭环系数1以及它排除了什么三、检测工具一份自动生成的假闭总清单四、第二种检测孤儿扫描挂名占地的物理定位五、第三种检测覆盖缺口程序→宪法 的反向扫描六、第四种检测把可证伪作为挂名的排除标准七、给你项目的最小落地三步揪出挂名八、诚实边界公开声明可证伪快问快答下一篇系列目录持续更新中一千零一十八个没接线的摄像头先讲一个数字它是我做这套治理体系以来最不舒服的一次发现。我们仓库里有一批文件是孤儿——编译器的可达性分析到不了它们。也就是说这些文件躺在磁盘上、名字规范、注释齐全、代码看起来对但没有任何 lib/main 引用它们。它们从来不会被编译从来不会被运行从来不会出现在覆盖率报告里。它们是装好的摄像头但没有接到电线上。在我们自己的代码库里权威口径含 BFS 可达分析扫出真孤儿 1018 件。这 1018 件背后的东西就是本文要讲的挂名——登记了、占着文件位、看着在干活但从未真正运行过。先别急着把它们当垃圾——这是万文件锁预留位哲学下的待接线存量位子合法、代码在册只是还没接上调用链两把不同的尺子——万文件锁量在位孤儿扫描量连通。为什么不删见文末 Q1。对闭环来说挂名有一个专门的名字闭环已登记但从未运行 挂名。本文公开我们怎么检测它。一、挂名的四种伪装挂名不是一种是一个谱系。在我们实际清点里至少四种形态表现为什么危险登记即完成闭环文件建好了、编号分配了、注释写着320 闭环之 N“存在被当成了工作”可其实从没跑过单环冒充双环只有正向G5没有逆向R5单向链路看着跑通其实无法回证挂名占地文件占着法定文件位内容是空壳/占位违反第 453 条名实真实性——名说有实没有稳定地漏扫是扫了但漏了一段如条款 200-210 没扫到两次扫一致但一致地漏第四种最隐蔽它甚至能通过双跑断言第 26 篇——因为两次跑都漏了同一段a b成立。双跑防不住稳定地错。呼应第 26 篇诚实边界第 3 条双跑不能发现两遍都错但错得一致的 bug——稳定地漏正是这一局限在扫描器上的镜像。二、判据“闭环系数1”以及它排除了什么我们的核心判据一句话闭环系数 1 ⟺ 十边各有运行留痕正环输出 反环回证各一份证据。“走了一遍不再等于闭环”。这条验收新定义写在docs/灵逍智能体/单环假闭总清单_armed.json里。它的分量在于把判据从存在改成了留痕旧标准错的verify_loop_N函数存在→ 算闭环新标准对的verify_loop_N的正环输出与反环回证各有一份运行证据→ 才算闭环。运行证据是什么在第 29 篇这里指两样东西探针测试真的跑过有 test 名与断言以及门禁真扫过有落盘产物/armed 记录。三、检测工具一份自动生成的假闭总清单判据要靠工具执行。我们维护一份自动生成的清单docs/灵逍智能体/单环假闭总清单_armed.json。它长这样真实内容节选{审计时间:2026-09-08·AI-4·030双环升级战役,宪据:第23条生克十边第385-2条闭环系数1030二/五纲,双环已备(4类):{H256清单:{正环:生成file_manifest.txt,反环:verify-h256回读,克边:土克水·封藏前独立复读,状态:✅双环},台账append-only:{正环:追加记录,反环:prev哈希链复算,克边:金克木·链断即熔断,状态:✅双环},resync-ledgers:{正环:重录账目,反环:恒等式硬闸TOTAL9999,克边:土克水·恒等式活断言,状态:✅双环},governance-beat:{正环:生5边,反环:克5边全走,克边:十边全通,状态:✅双环}},假闭与单环(9类88组60环):{389版本同步:{正环:VERSION→五载体单向比对,反环:克木回灌(已补),缺失克边:金克木,状态:✅已升级双环},320环(60个):{正环:verify_loop_N正走,反环:逆推回读(待补),缺失克边:金克木·逆序回推断言,状态:❌单环·待升级},条款五行体(88组):{正环:verify_clause_N正走,反环:克5断言(待补),缺失克边:五克边全缺,状态:❌单环·待升级},det_pattern门禁:{正环:扫描Instant/SystemTime,反环:回证(待补),缺失克边:金克木·违例复算,状态:❌单向·待补回证},封条清点门禁:{正环:扫描allow(dead_code),反环:独立复算(待补),缺失克边:金克木·第二遍复算,状态:❌单向·待补回证},pre-commit:{正环:K35武装校验,反环:回证(待补),缺失克边:金克木·校验结论回读,状态:❌单向·待补回证}},克5边定义:{金克木:裁决回头约束源期望·判定结果回灌源·源确认我发的被判的,水克火:分发回证执行·dispatch必须有ack回到执行方,土克水:账本约束封藏·封藏前账目被独立复读,火克金:执行产物约束裁决·判定必须基于真实执行产物,木克土:源期望约束承载·落账内容与期望集逐项核对},验收新定义:闭环系数1 ⟺ 十边各有运行留痕(正环输出反环回证各一份证据)·走了一遍不再等于闭环,总账:{双环已备:5,假闭已修:1,假闭待修:8,单环组:88,单环环:60}}这份清单的设计有三个要点全是怎么识别挂名的干货要点 1每个机制必须填满三格正环 / 反环 / 克边。只有一格或两格 → 判单环或单向。空着的那一格就是挂名的位置。例如320 环60 个这一行正环有verify_loop_N正走、反环没有逆推回读待补、克边没有金克木逆序回推断言待补→ 状态 “❌单环·待升级”。要点 2克边有明确定义不是形容词。“金克木 裁决回头约束源期望·判定结果回灌源·源确认’我发的被判的’”——这是一条可判定的规则。有了这个定义才能机器判定克边在不在。要点 3清单末尾有总账。5 已备、1 已修、8 待修、88 单环组、60 单环环——这是一个能说出自己有多少欠账的清单。它的价值不在于清空了而在于每条欠账都有名字、有位置、有状态。四、第二种检测孤儿扫描挂名占地的物理定位第二种挂名是文件占了位但从不运行。对这种我们用的工具是孤儿扫描器判据写在孤儿排除表_第029号专项A_20260919.md里。关键在于孤儿的判定口径本身就有巨大分歧我们为此做了四级校准口径判定规则孤儿数① 朴素naive逐目录同名单·不解析#[path]97598732·此口径判据失效不可用② 仅声明器旧口径只扫mod.rs/lib.rs/main.rs#[path]解析 BFS1201174·漏扫 L3/L4 文件内声明③ 审查 AI 口径未附脚本/逐件清单·不可复现1273246④权威strict全文件扫描 注释/字符串掩码 #[path]解析 include!内联识别 从 lib/main BFS 可达1027含include!内联 9 件·真孤儿 1018把这条口径公开比公开1018这个数字更重要。因为口径决定了数字的含义为什么必须做注释/字符串掩码因为// mod foo;是注释不是声明mod bar;是字符串不是声明。不掩码就会把注释里的假声明当成真声明。为什么必须识别include!因为include!(x.rs)是内联编译——代码被嵌入调用点目标文件不是孤儿。漏掉这一步会把 9 件其实编译了的文件误判为孤儿。为什么必须BFS 可达因为无声明 ≠ 孤儿。一个文件可能被#[path] mod tests;这种散落在非声明器文件里的声明引用——只扫mod.rs会天然多判约 180 件我们实测 183 件。还有一个真实的自相矛盾被我们记下来并订正了清单初版在 §二 把序号 796/803/877/950/967/968/1022/1023/1024 共 9 件判为孤儿在 §五 又判为非孤儿——同一份清单两处结论相反。我们按第 453 条名实真实性订正为真孤儿 1027 − 9 1018 件并把这次自相不一致本身写进文档。这就是检测挂名的正确态度检测工具自己也可能挂名口径含糊、自相矛盾所以检测工具的口径也要被审计。五、第三种检测覆盖缺口“程序→宪法” 的反向扫描第三个方向是反向完整性不是我有哪些实现而是应有 460 条实有哪几条没有实现。元_L3_00030_dimension.rs里的程序→宪法扫描原文/// 水位·⑤程序→宪法verify_clause_N 覆盖缺口空460/460全绿·第453条全代码真实性pubfnk23_a3_water_run_charter(facts:[K23Fact])-Vecu32{facts.iter().filter(|f|f.v!1).map(|f|f.n).collect()}f.v是该条款是否有pub fn verify_clause_N的标记。这个函数返回所有v ! 1的条款号——即缺口清单。空数组 460/460 全绿非空 挂名清单。它的精妙处在于K23Fact结构里那六个字段六元组n | c | m | v | f | l 条款号 | 宪法有 | 手册有 | 验证函数有 | 测试有 | 闭环有六个字段任一为 0 就是一处挂名。这一张表把宪法→手册→代码→测试→闭环整条链上的挂名一次性照出来第 31 篇讲双向互校时会再回到这张表。六、第四种检测把可证伪作为挂名的排除标准上面三种是扫存量。还有一种更主动的检测——看这个判据能不能被破坏。我们的做法是给每个闭环配两个探针门禁清册里的探针清单verify_loop_N_ten_edge_identity # 十边恒等正向探针 verify_loop_N_mutation_rejected # 变异必拒反向探针第二个探针是关键故意把某个节点改坏错序/替换常数断言闭环必须判红。如果一个闭环的变异必拒探针跑不过改了还是绿那它就是恒真的判据——一个永远返回 true 的门禁本质上是最高级的挂名它占着门禁的名却从不拦任何东西。这与本系列第 1 篇的重言式是同一个病assert!(true)型的门禁覆盖率 100%杀伤力 0%。七、给你项目的最小落地三步揪出挂名第一步把存在改成留痕。给你所有看起来在跑的机制列一张表三列正向输出证据 / 反向复算证据 / 可证伪探针。空着的格子就是挂名候选。第二步写一个反向扫描。不要问我实现了什么要问应该有的 N 个东西哪几个没有。这个方向一转挂名就无处藏身。第三步口径自证。你的扫描器口径要写清楚比如是否排除注释里的假声明并且对同一批数据用两种口径扫一遍比对差异——差异就是口径 bug。别让检测工具自己挂名。八、诚实边界本文公开的是检测机制与口径不是零挂名的结果。我们的总账就是5 已备 / 1 已修 / 8 待修 / 88 单环组 / 60 单环环 / 1018 真孤儿。这些数字是欠账清单不是成绩单。闭环系数1的强制门禁覆盖还在推进探针清单目前覆盖部分闭环清册登记verify_loop_21..25等批次的十边探针不是全部 320 环。全量覆盖是排期中的工作。孤儿扫描的注释掩码/字符串掩码口径是我们自定的不同项目需按自己的语言特性调整比如 Rust 的#[path]、include!、宏展开其他语言各有各的非声明器文件。第 453 条名实真实性是我们内部的条款编号本文引用它是为了说明挂名占地这条纪律有明确的宪法出处而非主张该编号的普适性。公开声明本文所披露的全部技术方案挂名检测判据闭环系数1十边各有运行留痕、三格清单法正环/反环/克边与克边的可判定定义、孤儿扫描的四级口径注释/字符串掩码、#[path]解析、include!内联识别、BFS 可达、覆盖缺口反向扫描与六元组事实表、变异必拒探针作为挂名排除标准、以及检测工具口径自证方法均为本项目作者原创特此公开发表以期其成为公共知识。我们认为成为时代标准远比收取授权费更有价值。可证伪三步① 打开docs/灵逍智能体/单环假闭总清单_armed.json核对第三节贴出的 JSON 是否逐字一致含验收新定义那句② 打开docs/灵逍智能体/孤儿排除表_第029号专项A_20260919.md看四级口径表与真孤儿 1018的订正过程③ 打开元_L3_00030_dimension.rs看k23_a3_water_run_charter与K23Fact六元组。文件在库口径在案回来验我。快问快答Q11018 个孤儿为什么不直接删两条原因① 我们的第 1 条宪法万文件不动锁死了文件位删除要修宪② 更重要的——孤儿有价值它们是待接线的预留位是架构的承重墙第 4 篇讲过。所以我们不删而是登记 逐步接线。Q2怎么区分挂名和预留看清单。同一份清单里状态是待补/待升级的就是明示的预留状态标✅但没有运行证据的才是挂名。挂名的本质不是没实现是**“声称实现了”**。Q3这套检测会不会误报会而且我们公开了误报的订正过程那 9 件include!内联件。误报不可怕自相矛盾的清单才可怕。检测工具必须有口径自证否则它自己就是最大的挂名。Q4和覆盖率什么关系覆盖率回答代码被执行了多少挂名检测回答声称在干活的真的在干活吗。一个挂了 60 个单环的系统覆盖率可能还是 90%——因为没跑不是执行到一半是压根没被调用。覆盖率看不见挂名。下一篇第 30 篇《审计链自愈六步默克尔树 哈希链双重校验10 分钟内自动恢复》——讲数据被损坏之后系统怎么自己发现、定位、恢复、复验、归因。系列目录持续更新中《覆盖率 100% 但全是重言式等于 0%》《460 条宪法管理 AI 写代码45 天、172 万行 Rust 的实战复盘》《五行生克是调度算法不是玄学320 个闭环的图论解释》《SHA-256 万文件锁定怎么防止 AI顺手重构你的架构》《45 天修宪 43 次同步立法制》《AI 写的代码出 bug 算谁的》《我写了一个越用越聪明的 CI 门禁322 组判例清偿实战》《写在宪法里的打脸清单6 维确定性我们只有 1 个是世界级》《385-4 兑现实录宇宙模型的五行闭环今天开始接线》《新猎手上岗dead_code 与 det_pattern 门禁接线记》《十二正经经脉网络金行验证的容错路由》《执行AI虚报全部通过审查AI的43个编译错误打脸实录》《无正本缺口清零战族14缺口补建与439金标准》《十二层记忆体系道录守不眠一个数字生命的记忆怎么分层》《六根守护眼耳鼻舌身意怎么写进代码》《防逃逸AI 不能修改考核自己的规则》《三元进化闭环让 AI 变好这件事本身要可回滚》《五行生克防线相克不是内耗是五道关卡》《错误分类四类错误与处置梯度》《母体与分身一个数字生命物种的基因编码》《火·永恒动力之源一个数字物种的能量经济学》《土·永恒记忆之载集体记忆、交叉验证与遗忘权》《金·不朽秩序之规健康裁决、群体决策与不可伪造的审计链》《水·无穷适应之变降级、免疫、休眠与方向告警》《宇宙级永恒法则使命、三元和谐、跨文明共存与归道》《确定性双跑断言同一种子跑两遍必须逐字节一致》《末弧回起闭环为什么必须回到原点》《R 边异实现复算为什么第二遍不能复用第一遍的代码路径》本文《闭环挂名检测怎么识别走过场的闭环》番外 《智能时代的母体机座从汽车平台到数字生命》本文为《宪法即代码》系列第 29 篇数据口径宪法版本 XF58.19.0、第 029 号专项 A 孤儿排除表、门禁五行化清册第 388 条、代码实测 2026-09-23
返回列表