QC #5 指出「纯注释文件同样能通过 ast 解析,ast OK 不构成修复在位证据」。 本脚本把自检口径改为可机械核验三项:非注释可执行语句数>0(ast stmt 计数)、 显式 return 数>0 且不在 async with 块内、ast 包装语法通过。 实测:apps/pbls+modules/pbls 6 个 .dspy violations=0; 扩扫 15 个 pbl_* 自研模块 + 9 个复用模块共 156 个 .dspy,violations=2 (modules/world 两处 return 在 async with 内,属 referenced_modules 写保护范围, 且两文件均有块外 return result 兜底不会返回 None,仅记录不修改)。