From c73b261658623fd673ea4a23d035c8221eef65c0 Mon Sep 17 00:00:00 2001 From: "everywhere.z" Date: Sat, 20 Jun 2026 00:27:24 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20gitignore=20.superpowers/=20scratch=20?= =?UTF-8?q?=E5=B9=B6=E5=8F=96=E6=B6=88=E8=B7=9F=E8=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit superpowers SDD 工作区(briefs/reports/diffs/progress ledger)为本地草稿, 不应进入仓库;docs/superpowers/ 的 plans/specs 仍正常跟踪。 Co-Authored-By: Claude Fable 5 --- .gitignore | 4 +- .superpowers/sdd/reports/task-2.2c-report.md | 89 -------------------- 2 files changed, 3 insertions(+), 90 deletions(-) delete mode 100644 .superpowers/sdd/reports/task-2.2c-report.md diff --git a/.gitignore b/.gitignore index 1f281174e..4402ccb86 100644 --- a/.gitignore +++ b/.gitignore @@ -86,4 +86,6 @@ atlassian-ide-plugin.xml .claude .vscode .codegraph -*.factorypath \ No newline at end of file +*.factorypath +# superpowers SDD scratch (briefs/reports/diffs/ledger) — local only +.superpowers/ diff --git a/.superpowers/sdd/reports/task-2.2c-report.md b/.superpowers/sdd/reports/task-2.2c-report.md deleted file mode 100644 index a95c4ac5c..000000000 --- a/.superpowers/sdd/reports/task-2.2c-report.md +++ /dev/null @@ -1,89 +0,0 @@ -# Task 2.2c Report — 恢复 react-agent 测试模块编译 - -**任务:** Task 0 删除 17 个 v2-broken 源类 + 从 `ReActAgentComponent` 移除 `usedSkills()`, -导致 `liteflow-testcase-el/liteflow-testcase-el-react-agent` 测试模块 test-compile 失败。 -本任务**只修测试源**让 `mvn -pl liteflow-testcase-el/liteflow-testcase-el-react-agent -am test-compile` 通过。 - -## 实际破坏范围(与 brief 预估的偏差) - -Brief 预估"约 40 个测试源引用已删符号"。**实测首轮 `test-compile` 仅 7 个编译错误,集中在 3 个文件**: - -| 文件 | 已删符号引用 | -|---|---| -| `feature/shelltool/ShellToolsAgentCmp.java` | `import ...agent.tool.ManagedShellCommandTool` + `new ManagedShellCommandTool(...)`(userPrompt 内) | -| `feature/workspacetools/WorkspaceToolsAgentCmp.java` | `import ...agent.tool.WorkspaceFileTools` + `new WorkspaceFileTools(...)`(userPrompt 内) | -| `feature/skills/SkillsAgentCmp.java` | `usedSkills()`(handleReply 内,已从父类移除) | - -其余 ~85 个测试源(含共享 support 类、platform 测试、basicchain/customtool/handlereply/agentkey/ -conversationid/maxiterations/buildmodel/multiagent/whenparallel/ifrouting/springbeantool 等 feature 测试、 -v2 单元测试)**首轮即可编译**——它们覆写的 `enableWorkspaceFileTools()` / `enableShellTool()` / -`enableReActLogging()` / `hooks()` / `tools()` / `skills()` 等方法签名在 `ReActAgentComponent` 上仍存在 -(只是体被 Task 0 改成空实现或读 config),不是已删符号。 - -## 修了哪些 support 类 - -**无。** 共享 support 类 `BaseAgentLiveTest` / `LiveTestSupport` / `LiveTestEnv` 首轮即可编译: -- `LiveTestSupport.resetAgentSessionManager()` 对 `ReActAgentComponent$AgentSessionManagerHolder#resetForTesting` - 的引用是**反射字符串**(`Class.forName(...)`),编译期不解析,运行期才查 holder——而该 holder - 生产代码里是否仍存在属 Task 2.3 的范畴(Task 2.3 in_progress),不影响本任务 test-compile 门禁。 -- `compatibleCustomModel()` 依赖的 `OpenAICompatible.custom(...)` 仍存在。 - -因此 support 类无需修改,级联在首轮即不存在。 - -## 降级清单(占位 + TODO 任务号) - -3 个组件文件降级为可编译占位(保留类、保留 `@Component` 与所有仍有效的 override、保留测试主体 -依赖的 static 字段,仅替换引用已删符号的方法体): - -| 文件 | 降级做法 | TODO 任务号 | -|---|---|---| -| `feature/shelltool/ShellToolsAgentCmp.java` | 删 `ManagedShellCommandTool` import;`userPrompt()` 改为只返回 chain requestData;`PWD_OUTPUT`/`BLOCKED_OUTPUT`/`WORKSPACE` 字段保留(ShellToolModesFeatureTest 仍引用)但不再被填充;原调用逻辑以注释保留 | **Task 3.2**(RC3-core 重建自建 Shell 工具) | -| `feature/workspacetools/WorkspaceToolsAgentCmp.java` | 删 `WorkspaceFileTools` import;`userPrompt()` 改为只返回 chain requestData;`TRUNCATED_READ`/`LIST_RESULT`/`DELETED`/`RELATIVE_ESCAPE`/`ABSOLUTE_ESCAPE` 字段保留(WorkspaceToolsFeatureTest 仍引用)但不再被填充;原调用逻辑以注释保留 | **Task 3.2**(RC3-core 重建自建文件系统工具) | -| `feature/skills/SkillsAgentCmp.java` | `handleReply()` 中 `usedSkills()` 调用替换为 `USED_SKILLS_SNAPSHOT.set(List.of())` 占位;原调用以注释保留 | **Task 4.1**(v2 skillRepository 重建组件级已用 skills 读取) | - -**未采用 `Assumptions.assumeFalse` 跳过的原因:** 这 3 个文件是组件类(无 `@Test` 方法), -不是测试主体;占位发生在被测生产代码路径(`userPrompt()`/`handleReply()`),无法用 assume 跳过。 -真正的 `@Test` 方法在 `ShellToolModesFeatureTest` / `WorkspaceToolsFeatureTest` / `SkillsFeatureTest`, -它们首轮即可编译、其断言引用的 static 字段仍存在,故保持原样(运行期会因 `process()` stub 失败 -或因缺凭据被 `LiveTestSupport.applyCompatibleCustomOrSkip` 跳过,符合 brief"不强求跑通,只要编译通过")。 - -## 保持可用的测试(未改动,首轮即编译) - -- 共享 support:`BaseAgentLiveTest`、`LiveTestSupport`、`LiveTestEnv` -- platform 全量:anthropic / anthropiccompatible / dashscope / deepseek / gemini / glm / kimi / - minimax / openai / openaicompatible -- feature:basicchain、customtool、handlereply、agentkey、conversationid、maxiterations、 - buildmodel、multiagent、whenparallel、ifrouting、springbeantool、chatusage、hook、 - memorypersistence、sessionreuse、multiturn、streaming -- v2 单元测试:`AgentStateStoreResolverTest`、`AgentStateStoreResolverExtTest`、 - `ReactAgentFactoryTest`、`HarnessFixture`、`V2ApiProbe` - -> 注:chatusage/hook/memorypersistence/sessionreuse/multiturn/streaming 等 feature 测试虽可编译, -> 但运行期依赖的能力(ChatUsage middleware、Hook 注册、AgentStateStore 接入、流式事件桥接) -> 尚在 Task 5.1/6.1/2.3/9 重建中,运行期会因 `process()` stub 或缺凭据失败/跳过——这超出 -> 本任务"test-compile 通过"的验收门禁,待对应重建任务完成后由 Task 9 全量回归恢复。 - -## 验收门禁结果 - -``` -mvn -pl liteflow-testcase-el/liteflow-testcase-el-react-agent -am test-compile - → Compiling 91 source files ... 0 errors - → BUILD SUCCESS(reactor 全模块 SUCCESS,含 liteflow-react-agent-core 及 4 个 vendor 模块) - -mvn -pl liteflow-testcase-el/liteflow-testcase-el-react-agent -am compile - → BUILD SUCCESS(生产 compile 未受影响) -``` - -v2 单元测试(`AgentStateStoreResolverTest`、`ReactAgentFactoryTest`、`V2ApiProbe`)含在 91 个 -编译源内,编译通过。 - -## 改动范围确认 - -- 仅改 3 个测试源(`src/test/java/.../feature/{shelltool,workspacetools,skills}/*AgentCmp.java`)。 -- 未改 `liteflow-react-agent-core` 生产代码、未改 skipTests、未改 pom。 -- diff stat:3 files changed, 44 insertions(+), 26 deletions(-)。 - -## commit - -`test(agent): 恢复 react-agent 测试模块编译(support 类修复 + 未重建能力测试降级占位)` -(SHA 见 git log;未 push)