diff --git a/2026-ai-b3 b/2026-ai-b3
deleted file mode 160000
index 1b09a76..0000000
--- a/2026-ai-b3
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 1b09a767144156f3f1ad7bb23e5cf98cfaaec6e4
diff --git a/_AI_USAGE_LOG.md b/_AI_USAGE_LOG.md
index 74f5355..8fb37e2 100644
--- a/_AI_USAGE_LOG.md
+++ b/_AI_USAGE_LOG.md
@@ -97,3 +97,4 @@
| 2026-07-21 21:47 | ① 用户提出 → ② 需求澄清 → ③ 方案设计 → ④ 人类审批 → ⑤ 编码实现 → ⑥ 审查验证 | 规则导入 Converter 架构:提取 RuleConverter 接口、YamlConverter/MdConverter/TxtConverter、ImportService,简化 setupView.ts addRule() | 无 | src/rules/converters/converter.ts src/rules/converters/yaml-converter.ts src/rules/converters/md-converter.ts src/rules/converters/txt-converter.ts src/rules/import-service.ts src/views/setupView.ts docs/superpowers/specs/2026-07-21-converter-architecture-design.md | deepseek-v4-flash |
| 2026-07-21 21:50 | ① 用户提出 → ② 需求澄清 → ③ 方案设计 → ④ 人类审批 → ⑤ 编码实现 → ⑥ 审查验证 | 新增 Excel 导入支持:ExcelConverter + 更新文件选择过滤器 + 注册到 ImportService | 无 | src/rules/converters/excel-converter.ts src/views/setupView.ts package.json | deepseek-v4-flash |
| 2026-07-21 22:04 | ① 用户提出 → ② 需求澄清 → ③ 方案设计 → ④ 人类审批 → ⑤ 编码实现 → ⑥ 审查验证 | Excel 导入改为全 AI 转换:移除固定列名校验,转为 Markdown 表格 → AI 识别 → YAML | 无 | src/rules/converters/excel-converter.ts docs/superpowers/specs/2026-07-21-excel-ai-converter-design.md | deepseek-v4-flash |
+| 2026-07-22 20:40 | ① 用户提出 → ⑤ 编码实现 → ⑥ 审查验证 | 三 tab 修复按钮一致性:merger 中 fixableLinterIndices 取消 suggestion 过滤(全部可修复);AI 审查 section header 增加"全部修复"按钮;底部无效"批量修复"按钮移除 | 无 | src/merger/merger.ts src/panel/webview.ts | deepseek-v4-flash |
diff --git a/src/merger/merger.ts b/src/merger/merger.ts
index 11d703f..af826b2 100644
--- a/src/merger/merger.ts
+++ b/src/merger/merger.ts
@@ -53,9 +53,7 @@ export function mergeResults(input: MergeInput): MergedReport {
const customRuleCount = customRuleDiagnostics.length;
const aiCount = input.aiFindings.length;
- const fixableLinterIndices = input.staticDiagnostics
- .map((_, i) => i)
- .filter(i => input.staticDiagnostics[i].suggestion);
+ const fixableLinterIndices = input.staticDiagnostics.map((_, i) => i);
const fixableCustomIndices = customRuleDiagnostics
.map((_, i) => i);
diff --git a/src/panel/webview.ts b/src/panel/webview.ts
index ef72f1c..ec7594c 100644
--- a/src/panel/webview.ts
+++ b/src/panel/webview.ts
@@ -253,7 +253,6 @@ ${errorBox}
-