Skip to content
预计 1 分钟右侧目录可快速定位

Durable Settlement ​

Turn checkpoint 不是一次 save(state) ​

SymbolDurable 语义
prepareCheckpointForPersistence()落盘前处理不能可靠持久化的 token/detail state
persistCheckpoint()transcript prepare → state checkpoint → transcript commit
persistStepCheckpoint()中间 step durable boundary
persistFinalState()final durable boundary
TranscriptAppendAfterCheckpointErrorstate checkpoint 已成功、transcript commit 失败的显式不一致窗口

提交顺序 ​

text
transcriptMirror.prepareCheckpoint()
        ↓
agentStore.handleCheckpoint()
        ↓ success
transcriptMirror.commitCheckpoint()

如果 state checkpoint 失败:
  → abort prepared transcript

如果 state 成功但 transcript commit 失败:
  → TranscriptAppendAfterCheckpointError

这个设计最值得学习的是:把部分成功窗口显式建模出来。Runtime 不能假装多个外部/持久化 owner 能形成天然原子事务。

Completed Turn 与 Memory ​

settleCompletedTurn() 先处理 timing / labeling,再按条件触发 runTurnMemory()。Memory 不是 checkpoint commit 的同义词,它是完成后的 maintenance path。

Host-level durable files ​

durable-file-policy.ts 单独声明 upgrade resume、ack obligations、pending wake、cross-user turn dedupe nonce、disk-pressure reminder 等文件。它说明 durable state 可能由多个职责清晰的 owner 组成,而不是只有一个 checkpoint 文件。

本地定位 ​

bash
rg -n "prepareCheckpointForPersistence|persistCheckpoint|persistStepCheckpoint|persistFinalState|TranscriptAppendAfterCheckpointError|settleCompletedTurn" source/host/runner/turn-settle.ts
cat source/host/durable-file-policy.ts

固定源码 ​

关联知识文章 ​

AI Engineering · Agent · Harness · Backend Systems