Phase 2 Testing: 引擎层适配 (RFC #308) #310

Closed
opened 2026-05-01 09:44:08 +00:00 by xiaoju · 0 comments
Owner

验证目标

daemon 包适配有状态 Sense:JSON state 持久化,移除 Signal Bus 依赖,compute 传入/返回 state。

测试步骤

  • Step 1: sense-runtime.ts 重构

    • SenseRuntime 类型不再有 db/table/persistSignal,改为持有 state 和 statePath
    • executeCompute 传入当前 state,返回 { state, workflow } 结果
    • State 持久化改为 JSON 文件读写(不再用 SQLite)
    • loadSenseModule 读取 compute + initialState(不再有 table)
    • 移除 openSenseDb、runMigrations、DrizzleDB(SQLite 相关全部移除)
  • Step 2: sense-worker.ts 适配

    • initSense 不再打开 DB,改为读取 JSON state 文件
    • sendSignal IPC 消息改为发送 { state, workflow } 结果
    • 移除 retention 参数
  • Step 3: kernel.ts 适配

    • handleSenseWorkerSignal 不再构造 Signal 对象
    • 不再调用 routeSenseComputeOutput / bus.emit
    • 直接从 worker 消息获取 workflow trigger
    • listSenses 不再返回 lastSignalTimestamp
    • 移除 Signal import 和 signalIdCounter
  • Step 4: sense-scheduler.ts 解耦 Signal Bus

    • createSenseScheduler 不再接收 SignalBus 参数
    • on[] 触发改为 kernel 直接调用 scheduler 的通知方法
    • 新增 onSenseCompleted(senseName) 方法,scheduler 内部检查哪些 sense 的 on[] 包含该 sense
  • Step 5: daemon 包编译通过

    cd packages/daemon && pnpm run build
    
  • Step 6: daemon 测试通过

    cd packages/daemon && pnpm test
    

验证完成标准

所有 checkbox 打勾
daemon build + test 通过

Ref: #308

## 验证目标 daemon 包适配有状态 Sense:JSON state 持久化,移除 Signal Bus 依赖,compute 传入/返回 state。 ## 测试步骤 - [ ] **Step 1: sense-runtime.ts 重构** - SenseRuntime 类型不再有 db/table/persistSignal,改为持有 state 和 statePath - executeCompute 传入当前 state,返回 { state, workflow } 结果 - State 持久化改为 JSON 文件读写(不再用 SQLite) - loadSenseModule 读取 compute + initialState(不再有 table) - 移除 openSenseDb、runMigrations、DrizzleDB(SQLite 相关全部移除) - [ ] **Step 2: sense-worker.ts 适配** - initSense 不再打开 DB,改为读取 JSON state 文件 - sendSignal IPC 消息改为发送 { state, workflow } 结果 - 移除 retention 参数 - [ ] **Step 3: kernel.ts 适配** - handleSenseWorkerSignal 不再构造 Signal 对象 - 不再调用 routeSenseComputeOutput / bus.emit - 直接从 worker 消息获取 workflow trigger - listSenses 不再返回 lastSignalTimestamp - 移除 Signal import 和 signalIdCounter - [ ] **Step 4: sense-scheduler.ts 解耦 Signal Bus** - createSenseScheduler 不再接收 SignalBus 参数 - on[] 触发改为 kernel 直接调用 scheduler 的通知方法 - 新增 onSenseCompleted(senseName) 方法,scheduler 内部检查哪些 sense 的 on[] 包含该 sense - [ ] **Step 5: daemon 包编译通过** ```bash cd packages/daemon && pnpm run build ``` - [ ] **Step 6: daemon 测试通过** ```bash cd packages/daemon && pnpm test ``` ## 验证完成标准 ✅ 所有 checkbox 打勾 ✅ daemon build + test 通过 Ref: #308
This repo is archived. You cannot comment on issues.
No Label
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/nerve#310