Merge remote-tracking branch 'upstream/master' into issue-1424-goal-resume-activation

This commit is contained in:
mektpoy
2026-09-04 15:37:06 +08:00
83 changed files with 1895 additions and 213 deletions
+1 -1
View File
@@ -2,5 +2,5 @@
# side as of the last confirmed-consistent state. Both languages carry equal authority;
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write docs/config-catalog.md
config-catalog.md: cd84522a925025686607b3b8f252d0474e357fa7
config-catalog.md: 39f308781faf8f51f4a54c41fe920c7e28d39148
config-catalog.zh.md: d23b8471e9085bc1128f1dc32937a9070802506f
+1 -1
View File
@@ -1842,7 +1842,7 @@ export interface Config {
export type JsonlCompression = 'zstd' | 'none'
```
Source: [`packages/session/session-persistence-jsonl/src/index.ts:85`](../packages/session/session-persistence-jsonl/src/index.ts)
Source: [`packages/session/session-persistence-jsonl/src/index.ts:86`](../packages/session/session-persistence-jsonl/src/index.ts)
<a id="deepseek-aidsh-session-projection-cache"></a>
+2 -2
View File
@@ -2,5 +2,5 @@
# side as of the last confirmed-consistent state. Both languages carry equal authority;
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write docs/subsystems/persistence.md
persistence.md: 579a61400a8a8b7965c58e50ab33ba7b1c385424
persistence.zh.md: 00823763d9c1d034855df672461f932254a205c7
persistence.md: 7cce80f43591610c1e0667d480971dbd8f3cd4f7
persistence.zh.md: 73169ec2f3a58f06a7355922b0e0f7e4e82944c7
+1 -1
View File
@@ -8,7 +8,7 @@ The seam is a [capability seam](../../.agents/notes/implemented/architecture/202
## `SessionHandle` — one open channel onto a stored session
Every log read and write flows through a handle, never through id-addressed service methods: the handle is the single door a future cross-process write lease will guard. One handle type serves both accesses — a mutation on a `read` handle is a runtime `SessionReadOnlyError` rather than a typed split — and in-process single-writer ownership makes a second `open(id, 'write')` reject with `SessionAlreadyOwnedError` while an owner is active.
Every log read and write flows through a handle, never through id-addressed service methods: the handle is the single door the cross-process write lease guards. One handle type serves both accesses — a mutation on a `read` handle is a runtime `SessionReadOnlyError` rather than a typed split — and in-process single-writer ownership makes a second `open(id, 'write')` reject with `SessionAlreadyOwnedError` while an owner is active.
```ts type-equiv
/**
+1 -1
View File
@@ -8,7 +8,7 @@
## `SessionHandle`——通向已存储会话的一条打开通道
每一次日志读写都经由句柄流动,绝不经由按 id 寻址的服务方法:句柄是未来跨进程写租约将要把守的那扇唯一的门。一种句柄类型同时服务两种访问——在 `read` 句柄上执行修改是运行时的 `SessionReadOnlyError`,而非类型层面的拆分——而进程内单写者所有权使得在已有活跃持有者时第二次 `open(id, 'write')``SessionAlreadyOwnedError` 拒绝。
每一次日志读写都经由句柄流动,绝不经由按 id 寻址的服务方法:句柄是跨进程写租约把守的那扇唯一的门。一种句柄类型同时服务两种访问——在 `read` 句柄上执行修改是运行时的 `SessionReadOnlyError`,而非类型层面的拆分——而进程内单写者所有权使得在已有活跃持有者时第二次 `open(id, 'write')``SessionAlreadyOwnedError` 拒绝。
```ts type-equiv
/**