# 维度目录：分类、默认开关与命中阈值

`detection-matrix.md` 管「怎么探测」；本文件管「有哪些维度、默认开不开、命中算不算数」。

## 维度全集

| 维度 | 类型 | 默认 | 生成方式 | 前端 |
|------|------|------|----------|------|
| java-backend | 通用 | 开 | baseline 裁剪+占位符 | |
| security | 通用 | 开 | baseline 裁剪+占位符 | |
| api-design | 通用 | 命中开 | baseline 裁剪+占位符 | |
| database-oracle | 通用 | 命中开 | baseline 裁剪+占位符 | |
| database-mysql | 通用 | 命中开（与 oracle 互斥择一/可并存） | baseline 裁剪+占位符 | |
| gateway | 通用 | 命中开 | baseline 裁剪+占位符 | |
| frontend-vue | 通用 | **命中才补** | baseline 裁剪 | ✓ |
| frontend-js | 通用 | **命中才补** | baseline 裁剪 | ✓ |
| frontend-css-html | 通用 | **命中才补** | baseline 裁剪 | ✓ |
| xxl-job | 特定 | 命中开 | skeleton 扫码提炼 | |
| feign | 特定 | 命中开 | skeleton 扫码提炼 | |
| file-import-export | 特定 | 命中开 | skeleton 扫码提炼 | |
| async-export | 特定 | 命中开 | skeleton 扫码提炼 | |
| mq | 特定 | 命中开 | skeleton 扫码提炼 | |
| redis | 特定 | **命中且需要才开**（见阈值） | skeleton 扫码提炼 | |

## 通用 vs 特定的本质区别

- **通用维度**：规约与具体服务无关（编码格式、安全、数据库、API、网关规范）。内置 `assets/baselines/{dim}.md` 已是成品，step-03 只做「裁剪不适用小节 + 注入占位符真值 + 保留固定 globs frontmatter」。
- **特定维度**：规约绑定本服务真实类/组件。内置 `assets/skeletons/{dim}.md` 只是骨架，step-03 必须按 `extraction-recipes.md` 扫码填充真实清单表；**无 frontmatter**。

## 命中阈值与特例

- **通用强信号命中即生成**；java-backend/security 默认必开（任何 Java 工程都适用）。
- **database 互斥**：仅 Oracle → 只生成 oracle，跳过 mysql 并记录原因；仅 MySQL → 反之；两者都有 → 都生成。
- **redis 阈值**：检出**分布式锁**（`RedissonClient`）、**自定义 key 前缀约定**（`LOCK:XXX`/`xxx:export:`/`_KEY_PREFIX` 常量）、或 `extra_dimensions` 开启时，单独生成 redis.md。仅纯 `StringRedisTemplate` 缓存且无 key 约定时可并入 security，但**跳过时必须在报告提示**「检出 redis 缓存用法，未单列 redis 规范，如需可手动开启」（不可静默并入）。
- **mq 阈值**：命中 MQ 依赖/注解即生成；无则跳过。
- **前端三维度**：本 skill「后端为主」，纯后端服务全部跳过；命中（同仓含前端源码）才补。

## 前端泛化提示（重要）

`assets/baselines/frontend-vue.md` 的枚举显示规范已用**中性占位**示例（`{feModule}` Vuex 模块名、`get{FeModule}Status` getter 名、`orderStatus`/`yesNo` 等示例枚举 key），不含任何服务专有标识。命中生成前端维度时：

- 保留规约核心（禁止硬编码枚举、统一用 Vuex getter）。
- 把 `{feModule}`/`get{FeModule}Status`/示例枚举 key 替换为本服务前端实际的 Vuex 模块名、getter 名与枚举 key（按前端代码/接口文件确定）；若命中前端维度但**扫不到对应 Vuex 模块/getter/枚举 key 命名**（如前端 store 组织方式不同、枚举散落各组件、或前后端分离仓库未纳入扫描），保留占位并在报告「需人工补充」提示「替换前端 Vuex 模块 / getter / 枚举 key 为本服务实际命名」。
- `frontend-js.md`/`frontend-css-html.md` 为纯通用规范，无需泛化。

## 维度关联

- `async-export` 依赖 `file-import-export` 的文件中心基础设施（`FileDownLoadFeign`/`createManageReserveTask`）。命中 async-export 时通常也应命中并生成 file-import-export；若只命中 async-export，提炼配方会复用文件中心相关扫描。
- `feign` 与 `gateway` 常配对：Feign 客户端 + Gateway 防腐层。两者各自独立成文，但 feign skeleton 会引用 gateway 规范。
