# Hermes输出-工作类 整理报告

**执行时间**：2026-10-10 08:12 ｜ **脚本**：`脚本/organize_workdir.py`（干跑+执行）＋ `脚本/fix_refs_after_organize.py`（引用修复）
**回滚清单**：`归档/_整理清单_20261010-081218.json`（逐条 src→dst，可完整回滚）

## 一、成果对比

| 指标 | 整理前 | 整理后 |
|---|---|---|
| 顶层条目 | 130+ | **26 个目录 + 23 个根文件** |
| 根目录散落文件 | 79 个 | 23 个（**全部为被引用文件**） |
| 备份/临时目录在顶层 | 43 个 | 4 个（被引用者，必须留） |
| 零散主题目录 | 32 个平铺 | 归入 **5 大类** |

**本次动作**：移动 125 项（目录 69 / 文件 56）｜清理 `__pycache__` 4 个（1.3 MB）｜**修复引用 45 处 / 29 个文件**

## 二、引用保护边界（本次最关键的一步）

扫 **2,603 个**代码/配置文件，锁定不可移动项：

- **23 个顶层目录**被引用 → 原位不动
  高引用：`数据`(98 处) `脚本`(47) `工具`(20) `销售分析`(16) `营销活动`(9) `对外物料`(7) `2026年3季度汇报`(7) `知识库-copilot`(7)
- **23 个根文件**被引用 → 原位不动
  `logo.png`(27 处) ｜ 三层架构 4 件（`宝锐工作台.md`/`PROJECT.md`/`TASK.md`/`RULES.md`）｜ `cloudbaserc.json`（CLI 按 cwd 发现）｜ 15 个被脚本/页面引用
- **5 个备份/临时目录**被引用 → 原位不动
  `cache`(**90 处**，工作台服务在写) ｜ `_tmp`(3) ｜ `__pycache__`(2) ｜ `_bak_todo_p0_20261007-212235`(2) ｜ `.q3scratch`(1)

## 三、分类方案

### B 区｜31 个零散主题目录 → 5 大类
| 新大类 | 收纳 | 文件数 |
|---|---|---|
| `培训与上手/` | 培训 · 培训资料 · 刘子研上手包 · 操作指导 · 手册与规范 · 人才培养 | 251 / 88.1 MB |
| `经营分析/` | 汇报材料 · 月报 · 数据分析 · 产销 · 财务 · 回款分析 | 35 / 21.7 MB |
| `产品与市场/` | 产品 · 市场 · 竞争分析 · 竞品调研 · 组学酶市场扫描 · 调研报告 · 科研助手 · 定制项目 | 53 / 21.5 MB |
| `行政与商务/` | 商务 · 合同 · 出差拜访计划 · 团队共享 · 会话存档 · 配置 · 云函数 | 23 / 1.9 MB |
| `工作台工程/` | 架构对比 · 验证_三部门逐月_方案A · 截图 · .sandept_work | 16 / 3.1 MB |

### C 区｜根目录 56 个散落文件按类型归位
`工具/`×23(HTML) `资料/`×9(MD) `工作台工程/截图/`×6(PNG) `经营分析/汇报材料/`×6(DOCX) `销售分析/`×3(XLSX) `产品与市场/`×3(CSV) `营销活动/`×1(JSON) `培训与上手/操作指导/`×1(PDF) `归档/_版本备份/根文件旧版/`×4(.bak)

### D 区｜38 个备份/临时目录 → `归档/_版本备份/`（485 MB）
`_bak_cdn`×12 · `_bak_p1/p2/p2b/p2c/p2d…` · `_bak_ls600` · `_bak_sandept` · `_bak_ownerfix`×2 · `知识库-copilot-OLD`(459 MB)

### A 区｜删除 `__pycache__`×4

## 四、破坏性验证

| 验证项 | 结果 |
|---|---|
| 保护清单实存 | 46 项 **0 缺失** |
| 全量引用审计（3,001 文件语料） | 真断链 **6 处 → 全部修复** |
| .py 语法编译（含改动文件） | **316 个全部通过，0 失败** |
| 幂等复跑 | **0 移动**（状态干净） |
| 计数勾稽 | 根文件 79 = 归位 56 + 保护 23 ✅ |

### 修复的 6 处真断链
| 断链 | 位置 | 修法 |
|---|---|---|
| `产品/促销素材` | `脚本/build_product_catalogs.py` | → `~/work/产品资料/促销素材`（原引用**本就是死路径**） |
| `数据分析` | `脚本/build_product_mapping.py` | → `经营分析/数据分析` |
| `刘子研上手包` ×5 | 上手包内生成脚本 | → `培训与上手/刘子研上手包` |
| `培训` ×35 | `培训/` 内一次性生成脚本 | → `培训与上手/培训` |
| `会话存档`/`培训资料` | `脚本/html_lint.py` 目录白名单 | → 新路径 |
| `_bak_ownerfix2_…` | `.q3scratch/verify_ownerfix2.py` | → `归档/_版本备份/…` |

### 顺带修复（既有陈旧引用，非本次造成）
`工具/build_report.py`、`build_report_v2.py`、`build_payment_analysis.py`、`build_dashboard.py` 四处的输出路径写死在根目录（文件实际已在 `销售分析/`、`工具/仪表盘/`）→ 已归位，否则重跑会重新在根目录堆文件。

## 五、待办 / 注意

- **`Hermes输出-个人类/`**：属个人事务（Zone A），本次**未处理**
- 保留在顶层的 `cache` / `_tmp` / `.q3scratch` / `_bak_todo_p0_20261007-212235` 是被代码引用的工作目录，**不要手工删**
- 后续新脚本请勿把产物写到工作区根目录，按类型写入对应目录
