Skip to content

release: memory config — remove dead topic_limit_floor knob - #292

Merged
LeXwDeX merged 2 commits into
mainfrom
dev
Aug 16, 2026
Merged

release: memory config — remove dead topic_limit_floor knob#292
LeXwDeX merged 2 commits into
mainfrom
dev

Conversation

@LeXwDeX

@LeXwDeX LeXwDeX commented Aug 16, 2026

Copy link
Copy Markdown
Owner

合并 dev 到 main:

#291 fix(memory): remove dead topic_limit_floor knob that silently rewrote configs

  • 死旋钮清理:无运行时消费者,唯一作用是每次加载静默改写 floor≠limit 的配置文件
  • schema/updateConfig/normalizeConfig/readConfig/默认值/admission/测试夹具全链移除;旧文件容忍该字段并在下次写入时脱落
  • 红测先行(test/memory/config.test.ts);memory 套件 93 pass;lint 净改善

背景:memory.jsonc/dag.jsonc 自动生成逻辑核对(dag 侧正确无需改动)。请 main 全量门禁复核。

… configs

topic_limit_floor had zero runtime consumers — no pruning, matching, or
maintenance logic ever read it. Its only effect was a silent hazard:
readConfig rewrote any file with floor != limit to floor := limit on EVERY
load, clobbering explicit user values; and the schema advertised a knob the
runtime never honored.

- drop the field from MemorySchema.Config and updateConfig
- delete normalizeConfig and the readConfig rewrite branch; decodeConfig now
  simply decodes (legacy files carrying the field stay valid — Schema Struct
  decoding tolerates the extra property, dropped on the next write)
- defaults (selectConfiguration), admission candidates, and test fixtures no
  longer carry the field

Tests (red-first, test/memory/config.test.ts): legacy divergent-floor file
decodes with the field absent; decoded/updated configs never contain it;
schema bounds preserved. Memory suite 93/0; lint 4829 -> 4828.
fix(memory): remove dead topic_limit_floor knob that silently rewrote configs
@LeXwDeX
LeXwDeX merged commit ea22f24 into main Aug 16, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant