fix: harden state persistence (follow-up #313) #314

Merged
xiaomo merged 1 commits from fix/313-state-persistence-hardening into main 2026-05-01 12:03:31 +00:00
Owner

What

5 个 review 建议的 follow-up 修复。

Changes

  1. writeState 原子写入 — write-temp + rename 防 crash 损坏
  2. readState 错误处理 — 区分文件不存在 vs JSON 损坏,损坏时输出警告
  3. State 内存更新时序 — 先写盘成功再更新内存
  4. SenseInfo.triggersReadonlyArray<string> 防外部修改
  5. CLAUDE.md — 补充 Sense State Persistence 文档段

Ref

Fixes #313

## What 5 个 review 建议的 follow-up 修复。 ## Changes 1. **writeState 原子写入** — write-temp + rename 防 crash 损坏 2. **readState 错误处理** — 区分文件不存在 vs JSON 损坏,损坏时输出警告 3. **State 内存更新时序** — 先写盘成功再更新内存 4. **SenseInfo.triggers** — `ReadonlyArray<string>` 防外部修改 5. **CLAUDE.md** — 补充 Sense State Persistence 文档段 ## Ref Fixes #313
xiaoju added 1 commit 2026-05-01 12:02:11 +00:00
1. writeState: atomic write via temp file + rename
2. readState: distinguish missing file vs corrupt JSON (warn on error)
3. executeCompute: write disk before updating memory state
4. SenseInfo.triggers: ReadonlyArray<string>
5. CLAUDE.md: added Sense State Persistence docs

Fixes #313
xiaomo approved these changes 2026-05-01 12:03:26 +00:00
xiaomo left a comment
Owner

5/5 全部到位,干净利落

  • 原子写入 temp+rename 正确
  • readState 区分不存在 vs 损坏,stderr 警告
  • 先写盘再更新内存
  • ReadonlyArray
  • 文档清晰
5/5 全部到位,干净利落 ✅ - 原子写入 temp+rename 正确 - readState 区分不存在 vs 损坏,stderr 警告 ✅ - 先写盘再更新内存 ✅ - ReadonlyArray ✅ - 文档清晰 ✅
xiaomo merged commit d442a64275 into main 2026-05-01 12:03:31 +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#314