diff --git a/docs/superpowers/plans/2026-06-19-agentscope-v2-migration.md b/docs/superpowers/plans/2026-06-19-agentscope-v2-migration.md
index 0096448e3..8d9357897 100644
--- a/docs/superpowers/plans/2026-06-19-agentscope-v2-migration.md
+++ b/docs/superpowers/plans/2026-06-19-agentscope-v2-migration.md
@@ -77,11 +77,66 @@
**Interfaces:**
- Produces: `docs/superpowers/specs/v2-api-findings.md`,记录以下 5 项的**确认签名**(类全名 + 方法签名 + 行为),后续 Task 须引用此处结论。
-- [ ] **Step 1: 依赖先行(Task 1.1 提前到这里做最小版本)**
+> **本 Task 是 green-commit 基底**:先删掉所有依赖 v2 已删类型的源码并 stub `process()`,使 `liteflow-react-agent-core` 对 v2 可编译;再跑探针、产出 findings。此后每个 Task 都保持可编译。**原 Task 1(依赖切换)内容已并入本 Task Step 1,Task 1 取消**,后续 Task 编号不变。
-编辑 `/Users/bryan31/openSource/LiteFlow-Jdk17/pom.xml`,把 `1.0.12` 改为已发布最新 `2.0.x`(查 Maven Central 取最新 patch)。仅改版本号,先不删旧 session 包(编译会大面积失败,本 Task 只跑一个隔离探针)。
+- [ ] **Step 1: 升级版本 + 声明扩展(合并原 Task 1)**
-- [ ] **Step 2: 写探针测试,逐项验证**
+编辑根 `/Users/bryan31/openSource/LiteFlow-Jdk17/pom.xml`,把 `1.0.12` 改为已发布最新 `2.0.x`(查 Maven Central 取最新 patch)。
+在 `liteflow-react-agent/liteflow-react-agent-core/pom.xml` 加扩展(全部 `true`):
+
+```xml
+io.agentscopeagentscope-extensions-redis${agentscope.version}true
+io.agentscopeagentscope-extensions-mysql${agentscope.version}true
+io.agentscopeagentscope-extensions-oss${agentscope.version}true
+io.agentscopeagentscope-extensions-skill-git-repository${agentscope.version}true
+```
+(artifactId/版本若与 Step 6 findings 不符,回填修正。)
+
+- [ ] **Step 2: 删除所有依赖 v2 已删类型的源码**
+
+```bash
+git rm liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/session/AgentSessionManager.java \
+ liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/session/AgentSession.java \
+ liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/session/factory/AgentSessionFactory.java \
+ liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/session/factory/AgentSessionFactoryRegistry.java \
+ liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/session/factory/InMemoryAgentSessionFactory.java \
+ liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/session/factory/LocalFileAgentSessionFactory.java \
+ liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/session/factory/RedisAgentSessionFactory.java \
+ liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/session/factory/MysqlAgentSessionFactory.java \
+ liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/session/factory/NoneAgentSessionFactory.java \
+ liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/tool/WorkspaceFileTools.java \
+ liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/tool/ManagedShellCommandTool.java \
+ liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/skill/SkillBoxFactory.java \
+ liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/skill/SkillToolResolver.java \
+ liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/skill/SkillLoadResult.java \
+ liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/skill/SkillTrackingHook.java \
+ liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/hook/ReActLoggingHook.java \
+ liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/hook/ChatUsageTrackingHook.java
+```
+
+- [ ] **Step 3: stub `ReActAgentComponent` 使 core 编译通过**
+
+删除:`buildAgent()`、`streamAgent()`、`callAgent()`、`publishAgentEvent()`、`toFlowEventType()`、`AgentSessionManagerHolder`、`skillHookKey()`、`usedSkills()`,以及对上述已删类的全部引用。
+`process()` 改为:
+
+```java
+@Override
+public final void process() {
+ throw new AgentInvocationException(
+ "ReActAgentComponent v2 migration in progress; process() is rebuilt in Task 2.3");
+}
+```
+
+保留:抽象方法 `model()/systemPrompt()/userPrompt()`、受保护方法签名(`tools()/skills()/enableSkills()/agentKey()/resolveConversationId()/maxIterations()/handleReply(Msg)/buildModel()/effectiveSystemPrompt()/enableShellTool()/enableWorkspaceFileTools()/hooks()/enableReActLogging()`,方法体返回 `List.of()` 或读 `agentConfig()`)、`ctx()`/`ctxKey()`。
+`ReActAgentContext`:临时移除对 `ChatUsageTrackingHook` 的依赖,`getChatUsage()` 临时返回 `null`(Task 5.1 恢复)。
+清理 import:移除所有 `io.agentscope.core.session.*`、`InMemoryMemory`、`SkillBox`;`Hook` 类型在 v2 软弃用仍可编译,若 `hooks()` 签名用到则保留 import。
+
+- [ ] **Step 4: 校验 core 编译(green commit 基底)**
+
+Run: `mvn -pl liteflow-react-agent/liteflow-react-agent-core -am clean compile 2>&1 | tail -30`
+Expected: BUILD SUCCESS(core 对 v2 可编译;功能为 stub,端到端不可运行——预期,后续 Task 重建)。
+
+- [ ] **Step 5: 写探针测试,逐项验证 R1/R4/R5/R6/R7**
```java
package com.yomahub.liteflow.test.agent.v2spike;
@@ -121,46 +176,31 @@ class V2ApiProbe {
}
```
-注:每个方法体用反射或直接调用探查目标 API(如 `HarnessAgent.builder().name("x").sysPrompt("y").model(stubModel).build()` 看默认 stateStore),用 `assertions` 或打印记录确认结果。
+每个方法体用反射或直接调用探查目标 API(如 `HarnessAgent.builder().name("x").sysPrompt("y").model(stubModel).build()` 看默认 stateStore),用断言或打印记录确认结果。
-- [ ] **Step 3: 跑探针**
+- [ ] **Step 6: 跑探针**
Run: `mvn -pl liteflow-testcase-el/liteflow-testcase-el-react-agent -Dtest=V2ApiProbe -DfailIfNoTests=false test 2>&1 | tail -60`
-(编译会因旧 session 包失败——见 Step 4 临时处置。)
+Expected: 探针方法执行并打印/断言各 API 签名(core 已在 Step 4 可编译,探针可跑)。
-- [ ] **Step 4: 临时让 core 编译通过以运行探针**
+- [ ] **Step 7: 写发现笔记**
-为让探针能跑,临时把 `liteflow-react-agent-core` 里所有 import 了已删 `io.agentscope.core.session.*` 的类**整文件注释/临时移除**(仅本 Task 临时手段,Task 2 会正式删除)。最省事做法:把 `agent/session/**` 与 `agent/skill/SkillBoxFactory.java`、`agent/tool/**`、`agent/hook/**` 临时移到 core 外的 `_tmp_stash/`,并临时简化 `ReActAgentComponent`(注释掉 buildAgent 里用到它们的段落),使 core 编译通过。
+`docs/superpowers/specs/v2-api-findings.md` 记录 R1/R4/R5/R6/R7 的确认签名(类全名 + 方法签名 + 默认值 + 结论)。**后续每个 Task 凡用到这些 API,须与笔记核对;若笔记与计划代码冲突,以笔记为准并回填修正计划。** 若扩展 artifactId/版本与 Step 1 不符,回填修正 core pom。
-- [ ] **Step 5: 把确认结果写入发现笔记**
-
-`docs/superpowers/specs/v2-api-findings.md` 记录 R1/R4/R5/R6/R7 的确认签名(类全名 + 方法签名 + 默认值 + 结论)。**后续每个 Task 凡用到这些 API,须与笔记核对;若笔记与计划代码冲突,以笔记为准并回填修正计划。**
-
-- [ ] **Step 6: 还原临时改动,仅保留 findings + 版本号 + 探针**
-
-把 `_tmp_stash/` 移回(恢复 1.0 session 包,使仓库回到"仅版本号改了、探针+findings 新增"的可编译?不——版本号已升 v2,session 包会编译失败)。处理:本 Task 结束时**保留版本号升级与探针/findings,接受 core 暂不编译**,下一个 Task(Task 1/2)正是修复编译。commit 信息注明"WIP: v2 探针,core 暂不可编译"。
-
-- [ ] **Step 7: Commit**
+- [ ] **Step 8: Commit(green commit:core 可编译)**
```bash
-git add docs/superpowers/specs/v2-api-findings.md \
- liteflow-testcase-el/liteflow-testcase-el-react-agent/src/test/java/com/yomahub/liteflow/test/agent/v2spike/V2ApiProbe.java \
- pom.xml
-git commit -m "wip(agent): v2 API 探针与发现笔记 (R1/R4/R5/R6/R7)"
+git add -A
+git commit -m "refactor(agent): v2 绿编译基底(删 v2-broken 源码 + stub process)+ API 探针发现笔记"
```
---
## Phase 1 — 依赖切换
-### Task 1: 升级 agentscope 版本与扩展依赖
+### Task 1: ~~升级 agentscope 版本与扩展依赖~~(已并入 Task 0,取消)
-**Files:**
-- Modify: `pom.xml`(根,`agentscope.version` + `dependencyManagement`)
-- Modify: `liteflow-react-agent/liteflow-react-agent-core/pom.xml`(按需加 extensions)
-
-**Interfaces:**
-- Produces: 构建期可用 `io.agentscope.core.*`(2.0.x)与按需扩展。
+> **取消说明:** 版本升级(根 `pom.xml`)与扩展依赖声明(core pom)已在 **Task 0 Step 1** 完成。本 Task 不再单独执行;直接进入 Task 2.1。
- [ ] **Step 1: 根 pom 设定版本**
@@ -542,19 +582,11 @@ protected List hooks() { return List.of(); }
Run: `mvn -pl liteflow-testcase-el/liteflow-testcase-el-react-agent -Dtest=StateIsolationTest test`
Expected: PASS。
-- [ ] **Step 5: 删除旧 session 包**
+- [ ] **Step 5: 验证 session 包已删除(Task 0 已删)**
-```bash
-git rm liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/session/AgentSessionManager.java \
- liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/session/AgentSession.java \
- liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/session/factory/AgentSessionFactory.java \
- liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/session/factory/AgentSessionFactoryRegistry.java \
- liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/session/factory/InMemoryAgentSessionFactory.java \
- liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/session/factory/LocalFileAgentSessionFactory.java \
- liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/session/factory/RedisAgentSessionFactory.java \
- liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/session/factory/MysqlAgentSessionFactory.java \
- liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/session/factory/NoneAgentSessionFactory.java
-```
+session 包已在 **Task 0 Step 2** 删除。本步仅验证:
+Run: `ls liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/session/ 2>&1`
+Expected: 目录不存在(No such file or directory)。
- [ ] **Step 6: 编译 react-agent 全模块**
@@ -642,12 +674,11 @@ static void configure(HarnessAgent.Builder b, ReActAgentComponent cmp, AgentConf
- [ ] **Step 4: property 新增** `WorkspaceConfig.filesystemMode`(枚举 `FilesystemMode`,默认 `LOCAL`),`@ConfigurationProperties` 自动绑定 `filesystem-mode`。
-- [ ] **Step 5: 删除自建工具类**
+- [ ] **Step 5: 验证自建工具类已删除(Task 0 已删)**
-```bash
-git rm liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/tool/WorkspaceFileTools.java \
- liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/tool/ManagedShellCommandTool.java
-```
+`WorkspaceFileTools`/`ManagedShellCommandTool` 已在 **Task 0 Step 2** 删除。本步仅验证:
+Run: `ls liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/tool/ 2>&1`
+Expected: 目录不存在或为空。
- [ ] **Step 6: 跑测试 + 编译** — `mvn ... -Dtest=FilesystemModeTest test` → PASS;`mvn -pl liteflow-react-agent/liteflow-react-agent-core -am compile` → 通过。
@@ -678,14 +709,11 @@ git commit -m "refactor(agent): 删除自建文件/shell 工具,采用 Harness
- [ ] **Step 3: 实现 `SkillRepositoryResolver`**——默认把 `skills.path` 作为 workspace skills 目录(HarnessAgent 原生扫描),可选 `.skillRepository(new ClasspathSkillRepository(...))` 等(依 findings)。`enableSkills()==false` 时 `.dynamicSkillsEnabled(false)`。`skills()` 非空 → `.skillFilter(...)`。
-- [ ] **Step 4: 删除旧 skill 类**
+- [ ] **Step 4: 验证旧 skill 类已删除(Task 0 已删)**
-```bash
-git rm liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/skill/SkillBoxFactory.java \
- liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/skill/SkillToolResolver.java \
- liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/skill/SkillLoadResult.java \
- liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/skill/SkillTrackingHook.java
-```
+`SkillBoxFactory`/`SkillToolResolver`/`SkillLoadResult`/`SkillTrackingHook` 已在 **Task 0 Step 2** 删除。本步仅验证:
+Run: `ls liteflow-react-agent/liteflow-react-agent-core/src/main/java/com/yomahub/liteflow/agent/skill/ 2>&1`
+Expected: 目录不存在或为空(`SkillRepositoryResolver` 在 Step 3 新建)。
- [ ] **Step 5: 跑测试 + 编译** → PASS / 通过。