# 减法与结构审计（历史记录，不能作为成功指标）

> 用户验收确认代码量下降伴随了不可接受的产品偏差。本文件只保留作失败复盘，不得以行数减少
> 证明迁移成功。权威冻结决定见`../../../docs/migration/next失败冻结记录.md`。

## 结论

重建版运行时代码共219个源码文件、25,077行；旧版运行时代码共55个文件、61,793行。
在功能完整迁移并增加移动端后，新运行时代码减少36,716行，约59.4%。文件数量增加来自按职责拆分，
不再由`server.py`、`app.js`、`styles.css`和覆盖样式承载整个系统。

一次性迁移、备份、测试与文档不计入运行时代码比较；旧系统仍保留作回退资产，但新系统没有运行时导入。

## 唯一出口

| 能力 | 权威入口 | 审计结果 |
|---|---|---|
| 浏览器请求 | `frontend/src/shared/api/client.ts` | 全站仅此文件直接调用`fetch` |
| 外部行情 | `backend/data/gateway.py`+Provider | 业务Feature不直接访问外网 |
| LLM | `backend/llm/gateway.py` | 问师、问天、复盘助手、自定义公式共用 |
| 弹窗 | `DialogHost.vue`+UI Store | 无页面级第二套全局弹窗 |
| 设计令牌 | `frontend/src/shared/styles/tokens.css` | 主题颜色、字号、间距集中 |
| 移动规则 | `frontend/src/shared/styles/mobile.css` | 不复制移动页面或API |
| 数据演进 | `backend/database/migrations/` | 12个有序、带签名migration |

阶段15发现并删除了LLM网关对账户领域具体类的3个反向导入，改为网关内部最小Protocol；
组合根仍注入原服务，没有第二套权限或模型逻辑。基础数据层、数据库层没有反向依赖业务Feature。

## 大文件复核

章程的400行是维护预警线，不是机械拆分指标。以下超线文件均已逐项复核：

| 文件 | 行数 | 保留原因 | 必须拆分的触发条件 |
|---|---:|---|---|
| `data/providers/tushare.py` | 657 | 单一Provider的端点映射和统一传输 | 新增第二种协议或重复传输实现 |
| `data/gateway.py` | 546 | 唯一数据策略、质量门和图表规范化 | 新增非行情领域或独立生命周期 |
| `market/insights/auction.py` | 519 | 一个完整竞价确定性算法 | 新算法出现独立输入/版本/测试 |
| `market/insights/service.py` | 490 | 四类洞察的薄编排，计算已在子模块 | 任一洞察编排可独立部署/调度 |
| `data/repository.py` | 486 | 共享行情领域的版本化存取 | 出现第二数据库或跨域私有写入 |
| `data/heaven.py` | 485 | 问势专用市场输入适配 | 观气/观心开始依赖行情时 |
| `screener/repository.py` | 448 | 选股、运行和跟踪的同事务存取 | 跟踪获得独立生命周期/任务 |
| `screener/technical.py` | 434 | 纯技术因子计算 | 新因子族能形成独立输入契约 |
| `mobile.css` | 537 | 唯一跨页移动规则，按断点组织 | 出现页面冲突或超过650行 |
| 4个领域CSS | 403-415 | 单一领域且仅略超阈值 | 新增覆盖层或跨领域选择器 |
| `tools/legacy_migration.py` | 1,310 | 一次性离线适配；完整覆盖36张表和24种快照，不进入运行时 | 新增第二旧版本或需要常驻运行 |

当前强拆这些文件只会增加接口、跳转和空抽象，不能减少业务复杂度，因此未为满足行数制造目录。

## 删除与未继承

- 未复制旧`server.py`、`database.py`、`app.js`、15,465行旧样式或8,570行覆盖样式。
- 未保留用户自主LLM配置、模拟行情、公开网页参与正式计算、策略自动跟踪和手动执行盘后策略。
- 未复制旧原始因子表到新运行时；正式因子由唯一数据网关和盘后任务重建。
- 旧库36条无用户归属的内置策略由当前唯一版本化策略目录取代；历史运行结果保留，不维持第二套策略定义。
- 未引入ORM、通用CRUD、缓存框架、消息队列或第二套前端状态库。
- iFinD、Tushare、东方财富与腾讯职责固定；未做无来源标识的静默多源兜底。

## 依赖与安全

- npm生产依赖审计：0个已知漏洞。
- Python生产依赖审计：0个已知漏洞。
- 已知令牌、密码片段、私有数据目录和备份归档未进入Git。
- 生产响应增加CSP、`nosniff`、拒绝Frame、权限策略、Referrer策略和HTTPS HSTS。
- 生产静态哈希资源长期缓存，SPA入口`no-cache`；API错误仍使用统一JSON契约。
