fix(memory): remove dead topic_limit_floor knob that silently rewrote configs - #291
Merged
Conversation
… 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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
核对 memory.jsonc/dag.jsonc 自动生成逻辑时发现(用户要求的配置生成规则审计):
Problem
topic_limit_floor是死旋钮——无任何运行时消费者(pruning/matching/maintenance 均不读取)。唯一作用是静默危害:readConfig在每次加载时把 floor≠limit 的文件改写为 floor:=limit,抹掉用户显式设置;schema 还暴露了运行时从不兑现的配置空间。Fix
MemorySchema.Config与updateConfig移除该字段;删除normalizeConfig与 readConfig 改写分支decodeConfig直接解码:旧文件带该字段仍合法(Schema Struct 解码容忍多余属性),下次写入时自然脱落Evidence(/tdd,ask-matt 路由 → diagnosing-bugs → tdd/code-review)