# CISD Standard Init Support Mode Implementation Plan > **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task. **Goal:** 修正标准版 CISD 初始化中 `ENTERPRISE` 和 `INDIRECT` 的支持方式建模、步骤编排和执行条件。 **Architecture:** 保留 `mqType` 字段名,但将其解释为按产品区分的支持方式枚举;服务层负责校验和步骤编排,执行器负责按产品与模式判定脚本是否实际执行或跳过。 **Tech Stack:** Java 17, Spring Boot 3, JUnit 5, OpenAPI YAML/JSON --- ### Task 1: 固化设计与枚举语义 **Files:** - Create: `docs/plans/2026-03-06-cisd-standard-init-support-mode-design.md` - Create: `docs/plans/2026-03-06-cisd-standard-init-support-mode-plan.md` **Step 1: 保存设计文档** 保存版本差异、步骤编排和脚本映射。 **Step 2: 保存实施计划** 记录测试先行的修改顺序。 ### Task 2: 先补服务层失败测试 **Files:** - Modify: `src/test/java/com/cisd/tms/modules/init/service/InitServiceTest.java` **Step 1: 写 ENTERPRISE TLQ 的预检和步骤测试** 断言 `TLQ_CONF_APPLY` 存在,`MQ_USER_APPLY/MQ_QUEUE_APPLY/APP_MQ_CREDENTIALS_APPLY` 不存在。 **Step 2: 写 INDIRECT RABBITMQ_TLQ 的预检和步骤测试** 断言 `TLQ_CONF_APPLY`、`MQ_USER_APPLY`、`MQ_QUEUE_APPLY`、`APP_MQ_CREDENTIALS_APPLY` 同时存在。 **Step 3: 写非法组合测试** 覆盖 `INDIRECT + TLQ`、`ENTERPRISE + RABBITMQ_TLQ` 被拒绝。 **Step 4: 运行定向测试,确认红灯** Run: `mvn -q -Dtest=InitServiceTest test` Expected: 至少新增用例失败。 ### Task 3: 实现服务层校验和编排 **Files:** - Modify: `src/main/java/com/cisd/tms/modules/init/service/InitService.java` - Modify: `src/main/resources/initplan/step-command-profiles.json` **Step 1: 调整标准版允许枚举** 按 `productType` 区分 `ENTERPRISE` 与 `INDIRECT`。 **Step 2: 调整标准版 license 校验** `ENTERPRISE + TLQ` 与 `INDIRECT + RABBITMQ_TLQ` 都要求 `tlqLicenseFileId`。 **Step 3: 新增 `TLQ_CONF_APPLY` 编排** 更新 `defaultSteps` 和命令模板。 **Step 4: 运行服务层测试,确认绿灯** Run: `mvn -q -Dtest=InitServiceTest test` Expected: PASS ### Task 4: 先补执行器失败测试 **Files:** - Modify: `src/test/java/com/cisd/tms/modules/init/executor/ConfigurableInitStepExecutorTest.java` **Step 1: 写 ENTERPRISE TLQ 下 RabbitMQ 应用配置应跳过的测试** **Step 2: 写 INDIRECT RABBITMQ_TLQ 下 RabbitMQ 用户步骤应执行的测试** **Step 3: 写 `TLQ_CONF_APPLY` 命令解析或任务步骤断言测试** **Step 4: 运行定向测试,确认红灯** Run: `mvn -q -Dtest=ConfigurableInitStepExecutorTest test` Expected: 至少新增用例失败。 ### Task 5: 实现执行器条件修正 **Files:** - Modify: `src/main/java/com/cisd/tms/modules/init/executor/ConfigurableInitStepExecutor.java` - Modify: `src/main/java/com/cisd/tms/modules/init/config/InitCommandProfileService.java`(如需补充注释/兼容逻辑) **Step 1: 抽取标准版 RabbitMQ 是否启用的判断** - `ENTERPRISE`: 仅 `RABBITMQ` - `INDIRECT`: `RABBITMQ` 和 `RABBITMQ_TLQ` **Step 2: 修正 `MQ_USER_APPLY` / `MQ_QUEUE_APPLY` 条件** **Step 3: 修正 `APP_MQ_CREDENTIALS_APPLY` 条件** **Step 4: 运行执行器测试,确认绿灯** Run: `mvn -q -Dtest=ConfigurableInitStepExecutorTest test` Expected: PASS ### Task 6: 同步 OpenAPI 文档 **Files:** - Modify: `docs/openapi/cisd-init.openapi.yaml` - Modify: `docs/openapi/cisd-init.openapi.json` **Step 1: 更新 `mqType` 描述** 明确不同产品的合法取值。 **Step 2: 更新请求示例和步骤含义说明** 体现 `TLQ_CONF_APPLY` 与 `INDIRECT` 的双通道模式。 ### Task 7: 完整验证 **Files:** - Verify only **Step 1: 运行模块定向测试** Run: `mvn -q -Dtest=InitServiceTest,ConfigurableInitStepExecutorTest test` Expected: PASS **Step 2: 运行编译验证** Run: `mvn -q -DskipTests compile` Expected: PASS **Step 3: 人工检查关键路径** 检查 `ENTERPRISE + TLQ`、`INDIRECT + RABBITMQ_TLQ` 的任务步骤和命令模板。