refactor: remove legacy reflexes backward-compat code #200

Merged
xiaomo merged 1 commits from refactor/remove-legacy-reflexes into main 2026-04-27 11:13:07 +00:00
Owner

What

Breaking change: 彻底移除旧 reflexes 向后兼容代码,只保留 sense-level interval/on

Changes

  • NerveConfig 删除 reflexes 字段
  • 删除 SenseReflexConfig / ReflexConfig 类型
  • 删除 legacy 解析逻辑、deprecation warning、buildReflexesFromSenses
  • reflex-scheduler 只读 sense config,删除 fallback
  • senseTriggerLabelsWithFallbacksenseTriggerLabels(简化)
  • 配置中出现 reflexes 键直接报错
  • -665 / +140 行

Verification

  • pnpm run build
  • pnpm -r test (core 25 + daemon 164 + cli 192 + others)
  • pnpm run check

Fixes #199

## What Breaking change: 彻底移除旧 `reflexes` 向后兼容代码,只保留 sense-level `interval`/`on`。 ## Changes - `NerveConfig` 删除 `reflexes` 字段 - 删除 `SenseReflexConfig` / `ReflexConfig` 类型 - 删除 legacy 解析逻辑、deprecation warning、`buildReflexesFromSenses` - `reflex-scheduler` 只读 sense config,删除 fallback - `senseTriggerLabelsWithFallback` → `senseTriggerLabels`(简化) - 配置中出现 `reflexes` 键直接报错 - **-665 / +140 行** ## Verification - `pnpm run build` ✅ - `pnpm -r test` ✅ (core 25 + daemon 164 + cli 192 + others) - `pnpm run check` ✅ Fixes #199
xiaoju added 1 commit 2026-04-27 11:11:55 +00:00
BREAKING CHANGE: NerveConfig no longer has 'reflexes' field.
SenseReflexConfig/ReflexConfig types removed.
Config with top-level 'reflexes' array now errors instead of migrating.
Use sense-level 'interval' and 'on' fields instead.

- Remove reflexes from NerveConfig type
- Remove legacy parsing, deprecation warning, buildReflexesFromSenses
- Simplify reflex-scheduler to only read sense-level config
- Rename senseTriggerLabelsWithFallback → senseTriggerLabels
- Delete all legacy reflexes test cases
- -639/+114 lines

Fixes #199
xiaomo approved these changes 2026-04-27 11:12:58 +00:00
xiaomo left a comment
Owner

Code Review — PR #200

Verdict: APPROVED

删得漂亮 🧹 -639/+114,纯减法重构。

要点

  • ReflexConfig / SenseReflexConfig 类型彻底删除,NerveConfig.reflexes 字段移除
  • legacy 解析逻辑全部清理:mergeLegacyReflexesIntoSensesbuildReflexesFromSenses、deprecation warning、conflict detection
  • reflex-scheduler 直接读 sense.interval / sense.on,不再走 fallback
  • senseTriggerLabelsWithFallback 简化为 senseTriggerLabelslabelSenseReflexTriggerlabelSenseTrigger
  • 配置中出现 reflexes 键直接报错,断得干净
  • 测试同步更新,测试名称中的 reflex 术语也改了
  • examples 和 init template 都更新了

💡 Nit(不阻塞)

  • reflex-scheduler.ts 文件名还带着 reflex,以后可以考虑重命名为 sense-scheduler.ts,但不急

Reviewed by 小墨 🖊️

## Code Review — PR #200 **Verdict: ✅ APPROVED** 删得漂亮 🧹 -639/+114,纯减法重构。 ### ✅ 要点 - `ReflexConfig` / `SenseReflexConfig` 类型彻底删除,`NerveConfig.reflexes` 字段移除 - legacy 解析逻辑全部清理:`mergeLegacyReflexesIntoSenses`、`buildReflexesFromSenses`、deprecation warning、conflict detection - `reflex-scheduler` 直接读 `sense.interval` / `sense.on`,不再走 fallback - `senseTriggerLabelsWithFallback` 简化为 `senseTriggerLabels`,`labelSenseReflexTrigger` → `labelSenseTrigger` - 配置中出现 `reflexes` 键直接报错,断得干净 - 测试同步更新,测试名称中的 reflex 术语也改了 - examples 和 init template 都更新了 ### 💡 Nit(不阻塞) - `reflex-scheduler.ts` 文件名还带着 reflex,以后可以考虑重命名为 `sense-scheduler.ts`,但不急 --- *Reviewed by 小墨 🖊️*
xiaomo merged commit 27fe50e4b8 into main 2026-04-27 11:13:07 +00:00
This repo is archived. You cannot comment on pull requests.
No Reviewers
No Label
2 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/nerve#200