Files
claude-code/clean-audit.md
claude-code-best c07ad4c738 chore: 清理仓库审计问题——修正 CLAUDE.md、删除冗余 yoga-layout、清除 621 个未使用的类型 stub (#354)
- 修正 CLAUDE.md/AGENTS.md 六处过时陈述:modifiers-napi、url-handler-napi 已非 stub,
  Magic Docs/LSP Server/Plugins/Marketplace 已恢复
- 删除未使用的 src/native-ts/yoga-layout/ 冗余副本(2715 行),权威版本保留在 packages/@ant/ink
- 删除 src/ 下 621 个 Auto-generated type stub 文件(全部 export type X = any,无活跃引用)

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-25 08:54:18 +08:00

11 KiB
Raw Blame History

仓库审计发现

日期: 2026-04-24 范围: 针对当前仓库状态验证三项已报告的问题 工作区: E:\Source_code\Claude-code-bast

repo-audit-findings-2026-04-24-zh.md 11 KB 在不处理要屎山了啊 claude-code-best — 22:50 我这边修吧, 残余数据还是多了点  amDosion xc0455

仓库审计发现

日期: 2026-04-24 范围: 针对当前仓库状态验证三项已报告的问题 工作区: E:\Source_code\Claude-code-bast

摘要

本次审计检查了三项已报告的问题:

  1. yoga-layout 重复实现
  2. src/105 个目录中存在 621 个死类型 stub 文件
  3. CLAUDE.md 包含六处不准确陈述

当前结论:

  • yoga-layout 重复实现:已确认
  • 621 个死类型 stub 文件分布在 105 个目录部分确认
  • CLAUDE.md 包含六处不准确陈述:已确认

主要偏差在第二项。仓库确实在 src/ 下包含 621 个自动生成的类型 stub 文件,但 105 个目录的数量无法复现,且"死文件"一词过于强硬——至少部分 stub 正被活跃代码导入使用。

发现 1: yoga-layout 重复实现

状态: 已确认,但原始报告中声称的 diff 大小不准确

存在两份近乎相同的 TypeScript Yoga 移植:

  • src/native-ts/yoga-layout/index.ts
  • packages/@ant/ink/src/core/yoga-layout/index.ts

支撑证据:

运行时实际使用的是 packages/@ant/ink 下的副本:

直接对比的文件统计:

  • src/native-ts/yoga-layout/index.ts: 2581
  • packages/@ant/ink/src/core/yoga-layout/index.ts: 2578
  • git diff --no-index 显示当前工作区中仅 3 行被删除的注释差异
  • 两处的 enums.ts 逐行完全一致,均为 134

解读:

  • 重复风险确实存在
  • 漂移风险确实存在,因为有两份需要分别维护的副本
  • 先前声称的"仅 6 行差异"与当前仓库状态不符;当前可见差异为 index.ts 中的 3

发现 2: src/105 个目录中存在 621 个死类型 stub 文件

状态: 部分确认

可复现的内容:

  • src/ 下确实有 621 个文件包含标记 Auto-generated type stub — replace with real implementation
  • 这些文件分布在 src/ 下的 344 个唯一叶目录中,而非 105

计数证据:

  • SRC_STUB_FILES=621
  • SRC_STUB_DIRS=344

代表性示例:

为什么"死文件"标签证据不充分:

至少部分 stub 正被活跃代码导入。示例:

已确认的风险:

  • 这些文件确实污染了类型表面
  • 其中大量文件将类型坍缩为 any
  • 这确实会掩盖真正的类型错误并削弱 IDE 反馈

未确认的内容:

  • 全部 621 个文件是否都是死代码或不可达的
  • 当前的目录分布是否为 105

为准确性推荐的措辞:

  • 推荐: src 下的 621 个自动生成的类型 stub 文件削弱了类型安全性和 IDE 反馈
  • 避免: 105 个目录中存在 621 个死类型 stub 文件

发现 3: CLAUDE.md 包含六处不准确陈述

状态: 已确认

3.1 modifiers-napi 被错误标记为 stub

不准确的文档:

当前实现证据:

结论:

  • 已完整实现,通过 FFI 调用 macOS 系统 API
  • 不是占位包

3.2 url-handler-napi 被错误标记为 stub

不准确的文档:

当前实现证据:

结论:

  • 已完整实现49 行功能代码)
  • 不是 stub 包

3.3 Magic Docs 被错误标记为已移除

不准确的文档:

当前实现证据:

结论:

  • Magic Docs 仍然存在,且接入了后台管理和缓存清理流程

3.4 LSP Server 被错误标记为已移除

不准确的文档:

当前实现证据:

结论:

  • LSP 基础设施仍然存在
  • 仓库仍然初始化 LSP 管理器并暴露 LSP 工具

3.5 Plugins 被错误标记为已移除

不准确的文档:

当前实现证据:

结论:

  • 插件管理系统仍然完整实现

3.6 Marketplace 被错误标记为已移除

不准确的文档:

当前实现证据:

说明: Marketplace 通过 Commander 子命令 + action handler 中的动态 await import(...) 接入,而非 main.tsx 顶部的静态 import。

结论:

  • Marketplace 功能仍然存在,且完整注册在 CLI 命令树中

最终评估

当前仓库状态支持所有三项报告背后的广泛担忧,但具体措辞需要收紧:

  • Yoga 重复问题是真实的
  • 类型 stub 问题是真实的,但当前证据支持的是 src 下 621 个 stub 文件,而非 105 个目录中 621 个死文件
  • 六处 CLAUDE.md 不准确之处是真实的,应当修正

建议的下一步行动

  1. 更新 CLAUDE.md,修正六处过时陈述
  2. 确定哪个 Yoga 实现为权威版本,然后删除副本或替换为共享 import
  3. 按类别审计 621 个 stub 文件:
    • 被活跃导入的兼容性垫片
    • 待真正实现的生成占位符
    • 可删除的不可达重复路径
  4. 将类型 stub 数量视为类型安全债务指标,暂不作为死代码指标 repo-audit-findings-2026-04-24-zh.md 11 KB