Skip to content

fix(memory): matcher calls outside the identity fence, exit-safe in-flight coalescing (acceptance leftovers) - #336

Merged
LeXwDeX merged 7 commits into
devfrom
fix/memory-fence-scope
Aug 18, 2026
Merged

fix(memory): matcher calls outside the identity fence, exit-safe in-flight coalescing (acceptance leftovers)#336
LeXwDeX merged 7 commits into
devfrom
fix/memory-fence-scope

Conversation

@LeXwDeX

Copy link
Copy Markdown
Owner

概要

产品→代码验收(f1c2c8c33→11cfafe9c)Spec 轴判定 MEMORY 三项遗留,本 PR 按固定点循环偿付。验收依据:审计文档 MEMORY 章节 + 验收报告 + docs/findings/memory-batch-findings.md

处置项

修复提交
MEM-01 后半(P1)prepareUnsafe shouldMatch 分支与 checkpoint 的 render matcher 移出 fence/lock;markMatched 经 applyUpdate(fence+lock 只包提交,泛型化透传结果);retired → fail-closed 不变70291fb
MEM-02(P2)search 的 identity fence 缩到 markMatched 提交;同查询合并改为 turn 内 per-(session,turn,key) in-flight Deferred coalescing(短临界区只做 stale/cache/limit + 注册;runner 整尾 onExit 括号:任何退出注销条目并把真实 Exit 打包进 deferred,awaiter 唤醒降级 failed/unavailable,绝不挂起);缓存发布先于注销(第三调用者窗口闭合)70291fb + f08548d + ef8d6b8
MEM-03(P3)处置记录:已被 PR #333 的后台化重构结构性抵消(register 一行记录,无代码变更)记录于 register

审阅循环中新发现并修复的缺陷

  • R1(P1,双镜独立同报):in-flight 注册在失败/中断/retired 路径永不完成 → 合并等待者永久挂起、(session,key) 进程级 wedge。修复:onExit 全退出路径完成 + 失败路径回归测试。
  • R2(P1,双镜独立同报):onExit 括号只覆盖 select 管道,注册后的 readTopics 挂起(生产为 async fs)期间中断在括号附着前 unwind。修复:整尾括号 + parkReads 挂起钩子 + 中断窗口回归测试;in-flight key 加 turn origin(跨轮不再骑旧 deferred)。

证据

  • TDD:红(checkpoint 被挂起 matcher 饿死 5s 超时 ×2)→ 绿 → 变异 ×5(fence 回置 ×2、onExit 移除 ×2、readTopics 出括号 ×1)全部翻红。
  • 审阅:5 轮双镜独立(Spec/Standards),R1/R2 BLOCKING 修复,R3/R4 INFO 措辞修正,R4+R5 连续两轮零 findings 收敛;账目 docs/findings/memory-batch-findings.md
  • 测试:memory 簇 95/95(含 5 条新回归);全量 4164 tests 仅 2 个历批已证 darwin 环境既有失败,与本批无因果;bun typecheck + turbo 29/29 绿。
  • CONTEXT.md 不变量改写(fence 只包提交 + 短临界区 + turn 内合并 + 降级语义),与代码逐条一致。

关联

审计三模块至此全部偿付:MEMORY #333+#336(本PR)、GOAL #334、DAG #335;本 PR 偿付验收遗留,合入后审计文档处置完毕。

@LeXwDeX
LeXwDeX merged commit 3f23ff3 into devAug 18, 2026
5 checks passed
@LeXwDeX
LeXwDeX deleted the fix/memory-fence-scope branch August 18, 2026 13:15
Sign up for freeto 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

@LeXwDeX