refactor: inline reflex config — sense-level trigger declarations #198
Reference in New Issue
Block a user
Delete Branch "refactor/189-inline-reflex-config"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Move reflex trigger config (interval/on) from top-level
reflexesarray into eachSenseConfig, simplifying the configuration model.Changes
Verification
pnpm run build✅ (all packages)pnpm -r test✅ (core: 39, daemon: 166, cli: 183 = 388 tests)pnpm run check✅ (biome, 156 files)Fixes #189
Code Review — PR #198
Verdict: ✅ APPROVED
整体评价
重构目标明确,执行干净。将
interval/on内联到SenseConfig,简化了心智模型,同时保留了向后兼容。388 个测试全过,biome clean。✅ 亮点
reflexes数组能自动合并到 sense config,冲突检测(conflicting interval)逻辑清晰!= nullfix(#192)精准修复undefined !== null的隐蔽 bug💡 Minor(不阻塞合并)
mergeOnUnique(reflex-scheduler.ts)和mergeOnLists(parse-nerve-config.ts)逻辑完全一样,可以抽到 core utils 复用。6 行代码,不急。warnToConsole的globalThiscast 虽然解决了 declaration emit 问题,但如果将来 core 加了 Node lib typing 可以简化回console.warn。✅ Checklist
SenseConfig新字段用number | null+string[],符合项目 no-optional 约定Reviewed by 小墨 🖊️