diff --git a/.agents/notes/README.i18n.yaml b/.agents/notes/README.i18n.yaml index faf4d69b5b..af337114a0 100644 --- a/.agents/notes/README.i18n.yaml +++ b/.agents/notes/README.i18n.yaml @@ -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 .agents/notes/README.md -README.md: ae8e4724d610c97d74910d7dec5c95af69e93281 -README.zh.md: 8cecc7068d9efc5e2ebb78d2301d03633f70f137 +README.md: 8bf1adf875b54eb4580b4d189dfeed07c9f671c0 +README.zh.md: ff9bdb358d584d4f4ad0aea295c31d8d8fff9376 diff --git a/.agents/notes/README.md b/.agents/notes/README.md index ae8e4724d6..8bf1adf875 100644 --- a/.agents/notes/README.md +++ b/.agents/notes/README.md @@ -20,7 +20,7 @@ The active lifecycle tree is the working inventory: browse its lifecycle/class f ## Classification -Each Agent Note belongs to one path-encoded class from the closed set in `scripts/agent-note-tree.ts`; the classification gate rejects other folders. Adding a class requires updating the canonical set and this section. See the [classification Agent Note](implemented/process/2026-06-20-agent-note-classification.md). +Each Agent Note belongs to one path-encoded class from the closed set in `scripts/agent-note-tree.ts`; the classification gate rejects other folders. Adding a class requires updating the canonical set and this section. | Class | What it covers | |---|---| diff --git a/.agents/notes/README.zh.md b/.agents/notes/README.zh.md index 8cecc7068d..ff9bdb358d 100644 --- a/.agents/notes/README.zh.md +++ b/.agents/notes/README.zh.md @@ -22,7 +22,7 @@ ## 分类 -每份 Agent Note 属于 `scripts/agent-note-tree.ts` 中封闭集合里的一个路径编码类别;分类门禁拒绝其他文件夹。新增类别需要同时更新规范集合与本节。见[分类 Agent Note](implemented/process/2026-06-20-agent-note-classification.zh.md)。 +每份 Agent Note 属于 `scripts/agent-note-tree.ts` 中封闭集合里的一个路径编码类别;分类门禁拒绝其他文件夹。新增类别需要同时更新规范集合与本节。 | 类别 | 覆盖范围 | |---|---| diff --git a/.agents/notes/archived/architecture/2026-06-11-runtime-arg-validation.i18n.yaml b/.agents/notes/archived/architecture/2026-06-11-runtime-arg-validation.i18n.yaml new file mode 100644 index 0000000000..c4d73f6335 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-06-11-runtime-arg-validation.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-06-11-runtime-arg-validation.md +2026-06-11-runtime-arg-validation.md: 22283c76719a26f733a8125bf263810d53a92c3c +2026-06-11-runtime-arg-validation.zh.md: f748b7e01b233edb8b3303898cc339dfacd16967 diff --git a/.agents/notes/implemented/architecture/2026-06-11-runtime-arg-validation.md b/.agents/notes/archived/architecture/2026-06-11-runtime-arg-validation.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-06-11-runtime-arg-validation.md rename to .agents/notes/archived/architecture/2026-06-11-runtime-arg-validation.md index 520823c76f..22283c7671 100644 --- a/.agents/notes/implemented/architecture/2026-06-11-runtime-arg-validation.md +++ b/.agents/notes/archived/architecture/2026-06-11-runtime-arg-validation.md @@ -1,6 +1,7 @@ # Agent Note: Runtime arg validation at the model boundary Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-11-runtime-arg-validation.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-06-11-runtime-arg-validation.zh.md b/.agents/notes/archived/architecture/2026-06-11-runtime-arg-validation.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-06-11-runtime-arg-validation.zh.md rename to .agents/notes/archived/architecture/2026-06-11-runtime-arg-validation.zh.md index bc2f743300..f748b7e01b 100644 --- a/.agents/notes/implemented/architecture/2026-06-11-runtime-arg-validation.zh.md +++ b/.agents/notes/archived/architecture/2026-06-11-runtime-arg-validation.zh.md @@ -1,6 +1,7 @@ # Agent Note: 模型边界处的运行时参数校验 Status: implemented +Archived: 2026-09-04 [English](2026-06-11-runtime-arg-validation.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-06-11-structured-error-taxonomy.i18n.yaml b/.agents/notes/archived/architecture/2026-06-11-structured-error-taxonomy.i18n.yaml new file mode 100644 index 0000000000..a56b154e3a --- /dev/null +++ b/.agents/notes/archived/architecture/2026-06-11-structured-error-taxonomy.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-06-11-structured-error-taxonomy.md +2026-06-11-structured-error-taxonomy.md: a5c1c6e6120eefd3bc96090cfa4536fb83afa796 +2026-06-11-structured-error-taxonomy.zh.md: 54a937c5595aa5645e4cc0f66a6d1a2efc232588 diff --git a/.agents/notes/implemented/architecture/2026-06-11-structured-error-taxonomy.md b/.agents/notes/archived/architecture/2026-06-11-structured-error-taxonomy.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-06-11-structured-error-taxonomy.md rename to .agents/notes/archived/architecture/2026-06-11-structured-error-taxonomy.md index 9122193b3d..a5c1c6e612 100644 --- a/.agents/notes/implemented/architecture/2026-06-11-structured-error-taxonomy.md +++ b/.agents/notes/archived/architecture/2026-06-11-structured-error-taxonomy.md @@ -1,6 +1,7 @@ # Agent Note: Structured error taxonomy Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-11-structured-error-taxonomy.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-06-11-structured-error-taxonomy.zh.md b/.agents/notes/archived/architecture/2026-06-11-structured-error-taxonomy.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-06-11-structured-error-taxonomy.zh.md rename to .agents/notes/archived/architecture/2026-06-11-structured-error-taxonomy.zh.md index 71814954bd..54a937c559 100644 --- a/.agents/notes/implemented/architecture/2026-06-11-structured-error-taxonomy.zh.md +++ b/.agents/notes/archived/architecture/2026-06-11-structured-error-taxonomy.zh.md @@ -1,6 +1,7 @@ # Agent Note: 结构化错误分类体系 Status: implemented +Archived: 2026-09-04 [English](2026-06-11-structured-error-taxonomy.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-06-17-filesystem-capability-seam.i18n.yaml b/.agents/notes/archived/architecture/2026-06-17-filesystem-capability-seam.i18n.yaml new file mode 100644 index 0000000000..3155314d63 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-06-17-filesystem-capability-seam.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-06-17-filesystem-capability-seam.md +2026-06-17-filesystem-capability-seam.md: a0c898c1d127a7828037b3a59d04ff73c82e31ba +2026-06-17-filesystem-capability-seam.zh.md: 0442333a0a7cbc4fcae0f4b02db1700ce6aafc9e diff --git a/.agents/notes/implemented/architecture/2026-06-17-filesystem-capability-seam.md b/.agents/notes/archived/architecture/2026-06-17-filesystem-capability-seam.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-06-17-filesystem-capability-seam.md rename to .agents/notes/archived/architecture/2026-06-17-filesystem-capability-seam.md index 6265aebf5e..a0c898c1d1 100644 --- a/.agents/notes/implemented/architecture/2026-06-17-filesystem-capability-seam.md +++ b/.agents/notes/archived/architecture/2026-06-17-filesystem-capability-seam.md @@ -1,6 +1,7 @@ # Agent Note: Filesystem capability seam — ctx.fs, local backend, and model-facing filesystem tools Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-17-filesystem-capability-seam.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-06-17-filesystem-capability-seam.zh.md b/.agents/notes/archived/architecture/2026-06-17-filesystem-capability-seam.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-06-17-filesystem-capability-seam.zh.md rename to .agents/notes/archived/architecture/2026-06-17-filesystem-capability-seam.zh.md index f0f1cb132f..0442333a0a 100644 --- a/.agents/notes/implemented/architecture/2026-06-17-filesystem-capability-seam.zh.md +++ b/.agents/notes/archived/architecture/2026-06-17-filesystem-capability-seam.zh.md @@ -1,6 +1,7 @@ # Agent Note: 文件系统能力 seam——ctx.fs、本地后端与面向模型的文件系统工具 Status: implemented +Archived: 2026-09-04 [English](2026-06-17-filesystem-capability-seam.md) | 中文 diff --git a/.agents/notes/implemented/bug-fix/2026-07-30-approval-panel-command-cap.i18n.yaml b/.agents/notes/archived/architecture/2026-06-18-agent-lifecycle-and-ownership-contracts.i18n.yaml similarity index 52% rename from .agents/notes/implemented/bug-fix/2026-07-30-approval-panel-command-cap.i18n.yaml rename to .agents/notes/archived/architecture/2026-06-18-agent-lifecycle-and-ownership-contracts.i18n.yaml index 4e693b9b80..9720ac5e34 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-30-approval-panel-command-cap.i18n.yaml +++ b/.agents/notes/archived/architecture/2026-06-18-agent-lifecycle-and-ownership-contracts.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/bug-fix/2026-07-30-approval-panel-command-cap.md -2026-07-30-approval-panel-command-cap.md: 0bfdc2d00fa4a0f9fa9ee71400d6f3cc2350e617 -2026-07-30-approval-panel-command-cap.zh.md: a086888b12c0164b931019f4d73102bd11bccf4b +# pnpm run verify-translation-pairing --write .agents/notes/archived/architecture/2026-06-18-agent-lifecycle-and-ownership-contracts.md +2026-06-18-agent-lifecycle-and-ownership-contracts.md: 012346d9e5b8bf4fd661423b3c398e93e513659d +2026-06-18-agent-lifecycle-and-ownership-contracts.zh.md: 4f8aaac32dfa3d84a449f12441c23371f1a3a27d diff --git a/.agents/notes/implemented/architecture/2026-06-18-agent-lifecycle-and-ownership-contracts.md b/.agents/notes/archived/architecture/2026-06-18-agent-lifecycle-and-ownership-contracts.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-06-18-agent-lifecycle-and-ownership-contracts.md rename to .agents/notes/archived/architecture/2026-06-18-agent-lifecycle-and-ownership-contracts.md index 9bc558bfce..012346d9e5 100644 --- a/.agents/notes/implemented/architecture/2026-06-18-agent-lifecycle-and-ownership-contracts.md +++ b/.agents/notes/archived/architecture/2026-06-18-agent-lifecycle-and-ownership-contracts.md @@ -1,6 +1,7 @@ # Agent Note: Agent lifecycle and ownership contracts Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-18-agent-lifecycle-and-ownership-contracts.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-06-18-agent-lifecycle-and-ownership-contracts.zh.md b/.agents/notes/archived/architecture/2026-06-18-agent-lifecycle-and-ownership-contracts.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-06-18-agent-lifecycle-and-ownership-contracts.zh.md rename to .agents/notes/archived/architecture/2026-06-18-agent-lifecycle-and-ownership-contracts.zh.md index bbd0a7219f..4f8aaac32d 100644 --- a/.agents/notes/implemented/architecture/2026-06-18-agent-lifecycle-and-ownership-contracts.zh.md +++ b/.agents/notes/archived/architecture/2026-06-18-agent-lifecycle-and-ownership-contracts.zh.md @@ -1,6 +1,7 @@ # Agent Note: Agent 生命周期与所有权约定 Status: implemented +Archived: 2026-09-04 [English](2026-06-18-agent-lifecycle-and-ownership-contracts.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-06-20-branded-ids.i18n.yaml b/.agents/notes/archived/architecture/2026-06-20-branded-ids.i18n.yaml new file mode 100644 index 0000000000..d147c9f766 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-06-20-branded-ids.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-06-20-branded-ids.md +2026-06-20-branded-ids.md: 3078ebc7035c8c5a86c7a743a0452b0ebddf6c7d +2026-06-20-branded-ids.zh.md: 3a7d7c319c9fc14724af306b8c601afa759a18e7 diff --git a/.agents/notes/implemented/architecture/2026-06-20-branded-ids.md b/.agents/notes/archived/architecture/2026-06-20-branded-ids.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-06-20-branded-ids.md rename to .agents/notes/archived/architecture/2026-06-20-branded-ids.md index 1f579a7afb..3078ebc703 100644 --- a/.agents/notes/implemented/architecture/2026-06-20-branded-ids.md +++ b/.agents/notes/archived/architecture/2026-06-20-branded-ids.md @@ -1,6 +1,7 @@ # Agent Note: Branded IDs everywhere they belong Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-20-branded-ids.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-06-20-branded-ids.zh.md b/.agents/notes/archived/architecture/2026-06-20-branded-ids.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-06-20-branded-ids.zh.md rename to .agents/notes/archived/architecture/2026-06-20-branded-ids.zh.md index eaf032027f..3a7d7c319c 100644 --- a/.agents/notes/implemented/architecture/2026-06-20-branded-ids.zh.md +++ b/.agents/notes/archived/architecture/2026-06-20-branded-ids.zh.md @@ -1,6 +1,7 @@ # Agent Note: 在所有应有之处使用 branded ID Status: implemented +Archived: 2026-09-04 [English](2026-06-20-branded-ids.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.i18n.yaml b/.agents/notes/archived/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.i18n.yaml new file mode 100644 index 0000000000..c879b7e885 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.md +2026-06-30-bash-stdin-env-trusted-plugin-api.md: b9883c88d091e6e932da7c65b8b7fe4d107c0fa4 +2026-06-30-bash-stdin-env-trusted-plugin-api.zh.md: 884b83de21243e27fa39f7840adfffebc398a9b0 diff --git a/.agents/notes/implemented/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.md b/.agents/notes/archived/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.md rename to .agents/notes/archived/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.md index 41be63fff5..b9883c88d0 100644 --- a/.agents/notes/implemented/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.md +++ b/.agents/notes/archived/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.md @@ -1,6 +1,7 @@ # Agent Note: stdin + extra env on the bash seam Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-30-bash-stdin-env-trusted-plugin-api.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.zh.md b/.agents/notes/archived/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.zh.md rename to .agents/notes/archived/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.zh.md index 60721539d9..884b83de21 100644 --- a/.agents/notes/implemented/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.zh.md +++ b/.agents/notes/archived/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.zh.md @@ -1,6 +1,7 @@ # Agent Note: 在 bash seam 上支持 stdin 与额外 env Status: implemented +Archived: 2026-09-04 [English](2026-06-30-bash-stdin-env-trusted-plugin-api.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-02-fs-per-session-cwd.i18n.yaml b/.agents/notes/archived/architecture/2026-07-02-fs-per-session-cwd.i18n.yaml new file mode 100644 index 0000000000..ff4be48e6d --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-02-fs-per-session-cwd.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-02-fs-per-session-cwd.md +2026-07-02-fs-per-session-cwd.md: 81dafda9ba71bd2746926e8baa0f4eaf76748429 +2026-07-02-fs-per-session-cwd.zh.md: aa05ed41615f29d580595a66d4743d4baf02b1a9 diff --git a/.agents/notes/implemented/architecture/2026-07-02-fs-per-session-cwd.md b/.agents/notes/archived/architecture/2026-07-02-fs-per-session-cwd.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-02-fs-per-session-cwd.md rename to .agents/notes/archived/architecture/2026-07-02-fs-per-session-cwd.md index 23c9f41459..81dafda9ba 100644 --- a/.agents/notes/implemented/architecture/2026-07-02-fs-per-session-cwd.md +++ b/.agents/notes/archived/architecture/2026-07-02-fs-per-session-cwd.md @@ -1,6 +1,7 @@ # Agent Note: Resolve filesystem paths against the caller's session cwd Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-02-fs-per-session-cwd.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-02-fs-per-session-cwd.zh.md b/.agents/notes/archived/architecture/2026-07-02-fs-per-session-cwd.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-02-fs-per-session-cwd.zh.md rename to .agents/notes/archived/architecture/2026-07-02-fs-per-session-cwd.zh.md index 6a8ffb357d..aa05ed4161 100644 --- a/.agents/notes/implemented/architecture/2026-07-02-fs-per-session-cwd.zh.md +++ b/.agents/notes/archived/architecture/2026-07-02-fs-per-session-cwd.zh.md @@ -1,6 +1,7 @@ # Agent Note: 相对文件系统路径按调用方的会话 cwd 解析 Status: implemented +Archived: 2026-09-04 [English](2026-07-02-fs-per-session-cwd.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-05-subagent-provider-lifecycle-events.i18n.yaml b/.agents/notes/archived/architecture/2026-07-05-subagent-provider-lifecycle-events.i18n.yaml new file mode 100644 index 0000000000..55c934a627 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-05-subagent-provider-lifecycle-events.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-05-subagent-provider-lifecycle-events.md +2026-07-05-subagent-provider-lifecycle-events.md: a15c3e6faee993902547174fe9ea235d07d9ec2f +2026-07-05-subagent-provider-lifecycle-events.zh.md: 49e55a3b148775ed7e676b5f55058ef1427a86c6 diff --git a/.agents/notes/implemented/architecture/2026-07-05-subagent-provider-lifecycle-events.md b/.agents/notes/archived/architecture/2026-07-05-subagent-provider-lifecycle-events.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-05-subagent-provider-lifecycle-events.md rename to .agents/notes/archived/architecture/2026-07-05-subagent-provider-lifecycle-events.md index 503c0d6387..a15c3e6fae 100644 --- a/.agents/notes/implemented/architecture/2026-07-05-subagent-provider-lifecycle-events.md +++ b/.agents/notes/archived/architecture/2026-07-05-subagent-provider-lifecycle-events.md @@ -1,6 +1,7 @@ # Agent Note: Subagent provider-lifecycle events — `subagent/provider-added` / `subagent/provider-removed` Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-05-subagent-provider-lifecycle-events.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-05-subagent-provider-lifecycle-events.zh.md b/.agents/notes/archived/architecture/2026-07-05-subagent-provider-lifecycle-events.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-05-subagent-provider-lifecycle-events.zh.md rename to .agents/notes/archived/architecture/2026-07-05-subagent-provider-lifecycle-events.zh.md index d9d15b4ff6..49e55a3b14 100644 --- a/.agents/notes/implemented/architecture/2026-07-05-subagent-provider-lifecycle-events.zh.md +++ b/.agents/notes/archived/architecture/2026-07-05-subagent-provider-lifecycle-events.zh.md @@ -1,6 +1,7 @@ # Agent Note: Subagent 提供方生命周期事件——`subagent/provider-added` / `subagent/provider-removed` Status: implemented +Archived: 2026-09-04 [English](2026-07-05-subagent-provider-lifecycle-events.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-06-tool-result-retention-library.i18n.yaml b/.agents/notes/archived/architecture/2026-07-06-tool-result-retention-library.i18n.yaml new file mode 100644 index 0000000000..f400019e2a --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-06-tool-result-retention-library.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-06-tool-result-retention-library.md +2026-07-06-tool-result-retention-library.md: 5ac8547036ed0b45ec6e55e6fb213a98b7c3df8f +2026-07-06-tool-result-retention-library.zh.md: b18fdd60f529f9e6df6b8fc7e3c90f9a39e65fc8 diff --git a/.agents/notes/implemented/architecture/2026-07-06-tool-result-retention-library.md b/.agents/notes/archived/architecture/2026-07-06-tool-result-retention-library.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-06-tool-result-retention-library.md rename to .agents/notes/archived/architecture/2026-07-06-tool-result-retention-library.md index 464e3d51a0..5ac8547036 100644 --- a/.agents/notes/implemented/architecture/2026-07-06-tool-result-retention-library.md +++ b/.agents/notes/archived/architecture/2026-07-06-tool-result-retention-library.md @@ -1,6 +1,7 @@ # Agent Note: Tool result retention library Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-06-tool-result-retention-library.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-06-tool-result-retention-library.zh.md b/.agents/notes/archived/architecture/2026-07-06-tool-result-retention-library.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-06-tool-result-retention-library.zh.md rename to .agents/notes/archived/architecture/2026-07-06-tool-result-retention-library.zh.md index 49361eec4b..b18fdd60f5 100644 --- a/.agents/notes/implemented/architecture/2026-07-06-tool-result-retention-library.zh.md +++ b/.agents/notes/archived/architecture/2026-07-06-tool-result-retention-library.zh.md @@ -1,6 +1,7 @@ # Agent Note: 工具结果保留库 Status: implemented +Archived: 2026-09-04 [English](2026-07-06-tool-result-retention-library.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-12-scoped-layers-store.i18n.yaml b/.agents/notes/archived/architecture/2026-07-12-scoped-layers-store.i18n.yaml new file mode 100644 index 0000000000..33f7697593 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-12-scoped-layers-store.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-12-scoped-layers-store.md +2026-07-12-scoped-layers-store.md: d3060696ef54c8d06cd0724179dec49682c721e1 +2026-07-12-scoped-layers-store.zh.md: f5482a5a76724128fb445fbd7c21a2f61b8634c1 diff --git a/.agents/notes/implemented/architecture/2026-07-12-scoped-layers-store.md b/.agents/notes/archived/architecture/2026-07-12-scoped-layers-store.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-12-scoped-layers-store.md rename to .agents/notes/archived/architecture/2026-07-12-scoped-layers-store.md index 2217117480..d3060696ef 100644 --- a/.agents/notes/implemented/architecture/2026-07-12-scoped-layers-store.md +++ b/.agents/notes/archived/architecture/2026-07-12-scoped-layers-store.md @@ -1,6 +1,7 @@ # Agent Note: Shared scoped-layer storage Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-12-scoped-layers-store.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-12-scoped-layers-store.zh.md b/.agents/notes/archived/architecture/2026-07-12-scoped-layers-store.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-12-scoped-layers-store.zh.md rename to .agents/notes/archived/architecture/2026-07-12-scoped-layers-store.zh.md index 97ad637b91..f5482a5a76 100644 --- a/.agents/notes/implemented/architecture/2026-07-12-scoped-layers-store.zh.md +++ b/.agents/notes/archived/architecture/2026-07-12-scoped-layers-store.zh.md @@ -1,6 +1,7 @@ # Agent Note: 共享作用域分层存储 Status: implemented +Archived: 2026-09-04 [English](2026-07-12-scoped-layers-store.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-15-llm-model-catalog-and-acp-selection.i18n.yaml b/.agents/notes/archived/architecture/2026-07-15-llm-model-catalog-and-acp-selection.i18n.yaml new file mode 100644 index 0000000000..9b744c2a89 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-15-llm-model-catalog-and-acp-selection.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-15-llm-model-catalog-and-acp-selection.md +2026-07-15-llm-model-catalog-and-acp-selection.md: c5f6644d4746a8a962e7ab843493fda3862a8c0a +2026-07-15-llm-model-catalog-and-acp-selection.zh.md: 539f2f9a2f9d3d7b48b3ecabca4b401e32c5702c diff --git a/.agents/notes/implemented/architecture/2026-07-15-llm-model-catalog-and-acp-selection.md b/.agents/notes/archived/architecture/2026-07-15-llm-model-catalog-and-acp-selection.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-15-llm-model-catalog-and-acp-selection.md rename to .agents/notes/archived/architecture/2026-07-15-llm-model-catalog-and-acp-selection.md index fef23711a9..c5f6644d47 100644 --- a/.agents/notes/implemented/architecture/2026-07-15-llm-model-catalog-and-acp-selection.md +++ b/.agents/notes/archived/architecture/2026-07-15-llm-model-catalog-and-acp-selection.md @@ -1,6 +1,7 @@ # Agent Note: Advisory LLM catalogs and per-session ACP model selection Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-15-llm-model-catalog-and-acp-selection.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-15-llm-model-catalog-and-acp-selection.zh.md b/.agents/notes/archived/architecture/2026-07-15-llm-model-catalog-and-acp-selection.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-15-llm-model-catalog-and-acp-selection.zh.md rename to .agents/notes/archived/architecture/2026-07-15-llm-model-catalog-and-acp-selection.zh.md index 85e9fa35ac..539f2f9a2f 100644 --- a/.agents/notes/implemented/architecture/2026-07-15-llm-model-catalog-and-acp-selection.zh.md +++ b/.agents/notes/archived/architecture/2026-07-15-llm-model-catalog-and-acp-selection.zh.md @@ -1,6 +1,7 @@ # Agent Note: 建议性 LLM 目录与 ACP 会话级模型选择 Status: implemented +Archived: 2026-09-04 [English](2026-07-15-llm-model-catalog-and-acp-selection.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-15-lsp-capability-seam.i18n.yaml b/.agents/notes/archived/architecture/2026-07-15-lsp-capability-seam.i18n.yaml new file mode 100644 index 0000000000..784eadf0b6 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-15-lsp-capability-seam.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-15-lsp-capability-seam.md +2026-07-15-lsp-capability-seam.md: 3cce6eb3c7d8afef53aa675440c7eea1e990721d +2026-07-15-lsp-capability-seam.zh.md: c424a794a6662a655565dde6337c49543c5a8085 diff --git a/.agents/notes/implemented/architecture/2026-07-15-lsp-capability-seam.md b/.agents/notes/archived/architecture/2026-07-15-lsp-capability-seam.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-15-lsp-capability-seam.md rename to .agents/notes/archived/architecture/2026-07-15-lsp-capability-seam.md index 90f9daf4b8..3cce6eb3c7 100644 --- a/.agents/notes/implemented/architecture/2026-07-15-lsp-capability-seam.md +++ b/.agents/notes/archived/architecture/2026-07-15-lsp-capability-seam.md @@ -1,6 +1,7 @@ # Agent Note: LSP capability seam and model-facing query tool Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-15-lsp-capability-seam.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-15-lsp-capability-seam.zh.md b/.agents/notes/archived/architecture/2026-07-15-lsp-capability-seam.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-15-lsp-capability-seam.zh.md rename to .agents/notes/archived/architecture/2026-07-15-lsp-capability-seam.zh.md index bdb5e812e9..c424a794a6 100644 --- a/.agents/notes/implemented/architecture/2026-07-15-lsp-capability-seam.zh.md +++ b/.agents/notes/archived/architecture/2026-07-15-lsp-capability-seam.zh.md @@ -1,6 +1,7 @@ # Agent Note: LSP 能力 seam 与面向模型的查询工具 Status: implemented +Archived: 2026-09-04 [English](2026-07-15-lsp-capability-seam.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-15-replay-token-meter-service.i18n.yaml b/.agents/notes/archived/architecture/2026-07-15-replay-token-meter-service.i18n.yaml new file mode 100644 index 0000000000..a8c2931450 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-15-replay-token-meter-service.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-15-replay-token-meter-service.md +2026-07-15-replay-token-meter-service.md: 1e6832f1bd049a9568b3af3b925211f0665de288 +2026-07-15-replay-token-meter-service.zh.md: 6d00d5e1511aa66818689ccec7d4b023c291f9aa diff --git a/.agents/notes/implemented/architecture/2026-07-15-replay-token-meter-service.md b/.agents/notes/archived/architecture/2026-07-15-replay-token-meter-service.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-15-replay-token-meter-service.md rename to .agents/notes/archived/architecture/2026-07-15-replay-token-meter-service.md index 10261189fc..1e6832f1bd 100644 --- a/.agents/notes/implemented/architecture/2026-07-15-replay-token-meter-service.md +++ b/.agents/notes/archived/architecture/2026-07-15-replay-token-meter-service.md @@ -1,6 +1,7 @@ # Agent Note: Replay token meter service Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-15-replay-token-meter-service.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-15-replay-token-meter-service.zh.md b/.agents/notes/archived/architecture/2026-07-15-replay-token-meter-service.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-15-replay-token-meter-service.zh.md rename to .agents/notes/archived/architecture/2026-07-15-replay-token-meter-service.zh.md index 370d3cf932..6d00d5e151 100644 --- a/.agents/notes/implemented/architecture/2026-07-15-replay-token-meter-service.zh.md +++ b/.agents/notes/archived/architecture/2026-07-15-replay-token-meter-service.zh.md @@ -1,6 +1,7 @@ # Agent Note: 回放式 token 计量服务 Status: implemented +Archived: 2026-09-04 [English](2026-07-15-replay-token-meter-service.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-17-local-spill-startup-cleanup.i18n.yaml b/.agents/notes/archived/architecture/2026-07-17-local-spill-startup-cleanup.i18n.yaml new file mode 100644 index 0000000000..ba08c01846 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-17-local-spill-startup-cleanup.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-17-local-spill-startup-cleanup.md +2026-07-17-local-spill-startup-cleanup.md: c9567cab8b1193b9ea6dbc0ad3fae2bc18af9656 +2026-07-17-local-spill-startup-cleanup.zh.md: 97f6d641ab7e09da401c5632804f6e27ad78d850 diff --git a/.agents/notes/implemented/architecture/2026-07-17-local-spill-startup-cleanup.md b/.agents/notes/archived/architecture/2026-07-17-local-spill-startup-cleanup.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-17-local-spill-startup-cleanup.md rename to .agents/notes/archived/architecture/2026-07-17-local-spill-startup-cleanup.md index fc64938c1a..c9567cab8b 100644 --- a/.agents/notes/implemented/architecture/2026-07-17-local-spill-startup-cleanup.md +++ b/.agents/notes/archived/architecture/2026-07-17-local-spill-startup-cleanup.md @@ -1,6 +1,7 @@ # Agent Note: One-shot startup cleanup for local spill files Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-17-local-spill-startup-cleanup.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-17-local-spill-startup-cleanup.zh.md b/.agents/notes/archived/architecture/2026-07-17-local-spill-startup-cleanup.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-17-local-spill-startup-cleanup.zh.md rename to .agents/notes/archived/architecture/2026-07-17-local-spill-startup-cleanup.zh.md index 583a33ead8..97f6d641ab 100644 --- a/.agents/notes/implemented/architecture/2026-07-17-local-spill-startup-cleanup.zh.md +++ b/.agents/notes/archived/architecture/2026-07-17-local-spill-startup-cleanup.zh.md @@ -1,6 +1,7 @@ # Agent Note: 本地 spill 文件的一次性启动清理 Status: implemented +Archived: 2026-09-04 [English](2026-07-17-local-spill-startup-cleanup.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-19-package-owned-invariant-service.i18n.yaml b/.agents/notes/archived/architecture/2026-07-19-package-owned-invariant-service.i18n.yaml new file mode 100644 index 0000000000..2f6c7d0eae --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-19-package-owned-invariant-service.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-19-package-owned-invariant-service.md +2026-07-19-package-owned-invariant-service.md: 6ebdd0edbe04766280fb9aae7067ba861b2ce010 +2026-07-19-package-owned-invariant-service.zh.md: dde72faed7249d64b939aaca1bc5d452eeed7bde diff --git a/.agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.md b/.agents/notes/archived/architecture/2026-07-19-package-owned-invariant-service.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.md rename to .agents/notes/archived/architecture/2026-07-19-package-owned-invariant-service.md index b955c99a25..6ebdd0edbe 100644 --- a/.agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.md +++ b/.agents/notes/archived/architecture/2026-07-19-package-owned-invariant-service.md @@ -1,6 +1,7 @@ # Agent Note: Package-owned invariant service contract Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-19-package-owned-invariant-service.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.zh.md b/.agents/notes/archived/architecture/2026-07-19-package-owned-invariant-service.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.zh.md rename to .agents/notes/archived/architecture/2026-07-19-package-owned-invariant-service.zh.md index 4fc0fb5d61..dde72faed7 100644 --- a/.agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.zh.md +++ b/.agents/notes/archived/architecture/2026-07-19-package-owned-invariant-service.zh.md @@ -1,6 +1,7 @@ # Agent Note: 包拥有的不变式服务约定 Status: implemented +Archived: 2026-09-04 [English](2026-07-19-package-owned-invariant-service.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-20-todo-event-ownership.i18n.yaml b/.agents/notes/archived/architecture/2026-07-20-todo-event-ownership.i18n.yaml new file mode 100644 index 0000000000..046b32c4c0 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-20-todo-event-ownership.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-20-todo-event-ownership.md +2026-07-20-todo-event-ownership.md: 3dfcd604393d05265eb895fa50647338830bd38f +2026-07-20-todo-event-ownership.zh.md: 8dabf8f0cde4ad8af325b00eb1be9d7b7011233f diff --git a/.agents/notes/implemented/architecture/2026-07-20-todo-event-ownership.md b/.agents/notes/archived/architecture/2026-07-20-todo-event-ownership.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-20-todo-event-ownership.md rename to .agents/notes/archived/architecture/2026-07-20-todo-event-ownership.md index f3f7f872b2..3dfcd60439 100644 --- a/.agents/notes/implemented/architecture/2026-07-20-todo-event-ownership.md +++ b/.agents/notes/archived/architecture/2026-07-20-todo-event-ownership.md @@ -1,6 +1,7 @@ # Agent Note: todo event types belong to their producer Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-20-todo-event-ownership.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-20-todo-event-ownership.zh.md b/.agents/notes/archived/architecture/2026-07-20-todo-event-ownership.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-20-todo-event-ownership.zh.md rename to .agents/notes/archived/architecture/2026-07-20-todo-event-ownership.zh.md index a05622dc39..8dabf8f0cd 100644 --- a/.agents/notes/implemented/architecture/2026-07-20-todo-event-ownership.zh.md +++ b/.agents/notes/archived/architecture/2026-07-20-todo-event-ownership.zh.md @@ -1,6 +1,7 @@ # Agent Note: todo 事件类型归其生产方所有 Status: implemented +Archived: 2026-09-04 [English](2026-07-20-todo-event-ownership.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-22-unified-send-and-coalesced-user-messages.i18n.yaml b/.agents/notes/archived/architecture/2026-07-22-unified-send-and-coalesced-user-messages.i18n.yaml new file mode 100644 index 0000000000..4bd81da88d --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-22-unified-send-and-coalesced-user-messages.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-22-unified-send-and-coalesced-user-messages.md +2026-07-22-unified-send-and-coalesced-user-messages.md: d2e39f4efd122d9e0dbb45a082779afa2ff42941 +2026-07-22-unified-send-and-coalesced-user-messages.zh.md: 37c43fcb7bfa81b177e8ed00876e913e3ddf6ad6 diff --git a/.agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.md b/.agents/notes/archived/architecture/2026-07-22-unified-send-and-coalesced-user-messages.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.md rename to .agents/notes/archived/architecture/2026-07-22-unified-send-and-coalesced-user-messages.md index bc195e77c7..d2e39f4efd 100644 --- a/.agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.md +++ b/.agents/notes/archived/architecture/2026-07-22-unified-send-and-coalesced-user-messages.md @@ -1,6 +1,7 @@ # Agent Note: Unify agent delivery on send(target × wakeup) and coalesce injected context into user/message Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-22-unified-send-and-coalesced-user-messages.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.zh.md b/.agents/notes/archived/architecture/2026-07-22-unified-send-and-coalesced-user-messages.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.zh.md rename to .agents/notes/archived/architecture/2026-07-22-unified-send-and-coalesced-user-messages.zh.md index 414b5542aa..37c43fcb7b 100644 --- a/.agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.zh.md +++ b/.agents/notes/archived/architecture/2026-07-22-unified-send-and-coalesced-user-messages.zh.md @@ -1,6 +1,7 @@ # Agent Note: 将 agent 投递统一到 send(target × wakeup) 并把注入的上下文合并进 user/message Status: implemented +Archived: 2026-09-04 [English](2026-07-22-unified-send-and-coalesced-user-messages.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-23-toolview-dissolution.i18n.yaml b/.agents/notes/archived/architecture/2026-07-23-toolview-dissolution.i18n.yaml new file mode 100644 index 0000000000..6452aef196 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-23-toolview-dissolution.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-23-toolview-dissolution.md +2026-07-23-toolview-dissolution.md: d84255f697886556a46c0511aa89f2c4bfd886d8 +2026-07-23-toolview-dissolution.zh.md: 9ae339361193a9b97f7bba44904af0c01e7f3fa0 diff --git a/.agents/notes/implemented/architecture/2026-07-23-toolview-dissolution.md b/.agents/notes/archived/architecture/2026-07-23-toolview-dissolution.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-23-toolview-dissolution.md rename to .agents/notes/archived/architecture/2026-07-23-toolview-dissolution.md index 3e38d2faf4..d84255f697 100644 --- a/.agents/notes/implemented/architecture/2026-07-23-toolview-dissolution.md +++ b/.agents/notes/archived/architecture/2026-07-23-toolview-dissolution.md @@ -1,6 +1,7 @@ # Agent Note: Toolview dissolution — tool rows are per-view keyed slots Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-23-toolview-dissolution.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-23-toolview-dissolution.zh.md b/.agents/notes/archived/architecture/2026-07-23-toolview-dissolution.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-23-toolview-dissolution.zh.md rename to .agents/notes/archived/architecture/2026-07-23-toolview-dissolution.zh.md index 79c1f7d763..9ae3393611 100644 --- a/.agents/notes/implemented/architecture/2026-07-23-toolview-dissolution.zh.md +++ b/.agents/notes/archived/architecture/2026-07-23-toolview-dissolution.zh.md @@ -1,6 +1,7 @@ # Agent Note: toolview 溶解——工具行即 per-view keyed slot Status: implemented +Archived: 2026-09-04 [English](2026-07-23-toolview-dissolution.md) | 中文 diff --git a/.agents/notes/implemented/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.i18n.yaml b/.agents/notes/archived/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.i18n.yaml similarity index 52% rename from .agents/notes/implemented/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.i18n.yaml rename to .agents/notes/archived/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.i18n.yaml index 17ca2caee4..68f7edf2ee 100644 --- a/.agents/notes/implemented/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.i18n.yaml +++ b/.agents/notes/archived/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.md -2026-08-04-credentials-yaml-and-user-environment-layer.md: 44bdea243671093b34a6338ed1c95bf25bcc78f4 -2026-08-04-credentials-yaml-and-user-environment-layer.zh.md: 4d2893c57bfdf8bbd1529cc0ba8336dbc3ecd233 +# pnpm run verify-translation-pairing --write .agents/notes/archived/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.md +2026-07-24-adapter-owned-reasoning-effort-capabilities.md: f5c240145dc7f405f8bc1f66b6b5f7f68991eb80 +2026-07-24-adapter-owned-reasoning-effort-capabilities.zh.md: 81994d4908bd9531cc7db35634bf768372ace1d7 diff --git a/.agents/notes/implemented/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.md b/.agents/notes/archived/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.md rename to .agents/notes/archived/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.md index f59e5d3519..f5c240145d 100644 --- a/.agents/notes/implemented/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.md +++ b/.agents/notes/archived/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.md @@ -1,6 +1,7 @@ # Agent Note: Adapter-owned reasoning effort capabilities Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-24-adapter-owned-reasoning-effort-capabilities.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.zh.md b/.agents/notes/archived/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.zh.md rename to .agents/notes/archived/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.zh.md index 6e657a90e8..81994d4908 100644 --- a/.agents/notes/implemented/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.zh.md +++ b/.agents/notes/archived/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.zh.md @@ -1,6 +1,7 @@ # Agent Note: 适配器持有的推理强度能力 Status: implemented +Archived: 2026-09-04 [English](2026-07-24-adapter-owned-reasoning-effort-capabilities.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-25-web-command-surfaces-and-assembly.i18n.yaml b/.agents/notes/archived/architecture/2026-07-25-web-command-surfaces-and-assembly.i18n.yaml new file mode 100644 index 0000000000..b996f7b2b3 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-25-web-command-surfaces-and-assembly.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-25-web-command-surfaces-and-assembly.md +2026-07-25-web-command-surfaces-and-assembly.md: bfb7d2697a979efc8101581d42f4ab223d1b1e97 +2026-07-25-web-command-surfaces-and-assembly.zh.md: d81f70403d22efb2203bbe221a45035fc3d6503f diff --git a/.agents/notes/implemented/architecture/2026-07-25-web-command-surfaces-and-assembly.md b/.agents/notes/archived/architecture/2026-07-25-web-command-surfaces-and-assembly.md similarity index 90% rename from .agents/notes/implemented/architecture/2026-07-25-web-command-surfaces-and-assembly.md rename to .agents/notes/archived/architecture/2026-07-25-web-command-surfaces-and-assembly.md index bf3b14623b..bfb7d2697a 100644 --- a/.agents/notes/implemented/architecture/2026-07-25-web-command-surfaces-and-assembly.md +++ b/.agents/notes/archived/architecture/2026-07-25-web-command-surfaces-and-assembly.md @@ -1,6 +1,7 @@ # Agent Note: Web command business surfaces and assembly (ui-commands / ui-skill / ui-subagent) Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-25-web-command-surfaces-and-assembly.zh.md) @@ -21,7 +22,7 @@ The pipeline was ready but command knowledge had no landing spot: host-side `ctx - The `ClientSessionContext { sessionId }` projection is self-held in the ui-input-trigger contract (types.ts): sessions are always agent-backed, so session identity is the entire projection of command capability; the wire addresses by `{sessionId}` (both `command.list` and `command.execute`; the host resolves the Agent from the session header). - The directory is compartmented by `SessionId`, with per-key single-flight + an epoch guard (an old pull never overwrites newer state); `commands/changed` soft-invalidates every key (the old snapshot keeps serving while the repull runs in the background), `connection/reset` hard-invalidates every key and rewarms, Enter strong-waits on the current key, and a failure keeps the draft with no downgrade. Prewarming hangs on the source's `warm` hook — once over the full roster at scope birth, which covers the entire session lifecycle (session capability is constant from birth). -- `register(contribution)` registers client commands (a localized description resolver + `available(projection)` + a popupSelect spec); candidate synthesis combines the host directory with available contributions, localizes the six first-party Host descriptions only when their command name and canonical English copy both match, then applies query/position filtering. Scoped or third-party Host descriptions remain verbatim, and a host/contribution name clash fails loud. A locale switch re-fetches every open trigger controller in place, while a source gate keeps each first-party Host registration aligned with the English dictionary and `HOST_DESCRIPTION_KEYS`. +- `register(contribution)` registers client commands (a descriptor + `available(projection)` + a popupSelect spec); candidate synthesis = the host directory + contribution availability filtering, then the query/position pass, and a host/contribution name clash fails loud. - The three command kinds derive from the registration surfaces; developers never declare positions: a host descriptor with `input` = **leadingInput** (backfill `/name ␣` + claim, keep typing arguments, leading position only); a client-registered popupSelect spec = **popupSelect** (the official select-box shell, business ships zero components); neither = **execute** (run on selection, zero UI). - The dispatch decision table: the menu can trigger all three kinds; Space recognizes only leadingInput (the misfire defense: irreversible side effects keep explicit entry points only); Enter runs execute / opens the shell only on a bare token, while leadingInput tolerates trailing arguments. - The popup from `popupFor(actx)`: search filters locally, select is single-flight, the projection is captured at open, onSelect consumes the token through the consume-token event only on success, a failure is retained for retry, and a session switch merely hides it. The popup shell is a transient layer (never in the state machine): the box holds focus, Enter/↑↓/Escape belong to it, and clicking outside the box dismisses (clicking the textarea also returns focus). @@ -58,5 +59,5 @@ The pipeline was ready but command knowledge had no landing spot: host-side `ctx - Shipping a business command = a host registration plus one client `command.register` (popupSelect) or zero registration (execute/leadingInput derive automatically), with zero skeleton changes; the cost is that the three-kind semantics concentrate in ui-commands, and a hypothetical fourth kind means changing it. - The resident directory cache plus push invalidation buys zero-latency menus and reliable enter adjudication; the cost is three invalidation paths (the change frame, reconnect, the epoch guard) that all need tests pinning them. -- sessionId addressing puts the host's per-agent effective directory (global + scoped shadows) straight on the wire. The client preserves command identity, input metadata, and noncanonical descriptions while resolving exact first-party description pairs through its current locale. +- sessionId addressing puts the host's per-agent effective directory (global + scoped shadows) straight on the wire, with the client presenting it as-is. - Known gaps: the popupSelect shell has no shipped business consumer yet (model selection and its kin arrive with the host `selectModel` work in live-mutation shape, serving as the onboarding template then); the queue's second cut (per-item Inbox operations), rich result cards, and roster configurability sit in the ledger awaiting their triggers. diff --git a/.agents/notes/implemented/architecture/2026-07-25-web-command-surfaces-and-assembly.zh.md b/.agents/notes/archived/architecture/2026-07-25-web-command-surfaces-and-assembly.zh.md similarity index 90% rename from .agents/notes/implemented/architecture/2026-07-25-web-command-surfaces-and-assembly.zh.md rename to .agents/notes/archived/architecture/2026-07-25-web-command-surfaces-and-assembly.zh.md index ea22fcb75b..d81f70403d 100644 --- a/.agents/notes/implemented/architecture/2026-07-25-web-command-surfaces-and-assembly.zh.md +++ b/.agents/notes/archived/architecture/2026-07-25-web-command-surfaces-and-assembly.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 命令业务面与装配(ui-commands / ui-skill / ui-subagent) Status: implemented +Archived: 2026-09-04 [English](2026-07-25-web-command-surfaces-and-assembly.md) | 中文 @@ -21,7 +22,7 @@ Status: implemented - 投影 `ClientSessionContext { sessionId }` 自持于 ui-input-trigger 约定(types.ts):会话恒 agent-backed,会话身份即命令能力的全部投影;wire 以 `{sessionId}` 寻址(`command.list` / `command.execute` 均是;host 从会话 header 解析 Agent)。 - 目录按 `SessionId` 分区,per-key single-flight + epoch guard(旧拉取永不覆盖新态),`commands/changed` 全 key 软失效(旧快照继续服务、后台重拉)、`connection/reset` 全 key 硬失效并预热,Enter 必须等待当前 key 就绪、失败留草稿不降级。预热挂 source 的 `warm` 钩子——scope 出生时对全 roster 一次,即覆盖整个会话生命周期(会话能力自出生恒定)。 -- `register(contribution)` 注册 client 命令(本地化说明解析函数 + `available(projection)` + popupSelect spec);候选合成会合并 host 目录与可用 contribution,仅在命令名和规范英文文案都匹配时本地化六个第一方 Host 说明,再执行 query/position 过滤。会话作用域内或第三方的 Host 说明保持原样,host/contribution 重名 fail loud。切换语言会原地重新拉取每个已打开触发器 controller 的候选项;源码门禁则保持每个第一方 Host 注册与英语字典及 `HOST_DESCRIPTION_KEYS` 一致。 +- `register(contribution)` 注册 client 命令(descriptor + `available(projection)` + popupSelect spec);候选合成 = host 目录 + contribution 可用性过滤,再过 query/position,host/contribution 重名 fail loud。 - 命令三型按注册面派生,开发者不声明位置:host descriptor 带 `input` = **leadingInput**(回填 `/name ␣` + claim,继续打参数,仅限行首);client 注册 popupSelect spec = **popupSelect**(官方选择框壳,业务零组件);两者皆无 = **execute**(选中即执行,零 UI)。 - 派发决策表:菜单可触发三型;Space 只认 leadingInput(误触发防线:不可逆副作用只留显式入口);Enter 裸 token 才 execute/开壳、leadingInput 容忍尾随参数。 - `popupFor(actx)` 的 popup:search 本地过滤、select single-flight、open 时捕获投影、onSelect 成功才经 consume-token 事件消 token、失败保留可重试、会话切换只隐藏。popup 壳是瞬态层(不进状态机):框持焦点、Enter/↑↓/Escape 归它、点框外即 dismiss(点 textarea 同时归还焦点)。 @@ -58,5 +59,5 @@ Status: implemented - 业务命令上架 = host 注册 + client 一笔 `command.register`(popupSelect)或零注册(execute/leadingInput 自动派生),零骨架改动;代价是三型语义集中在 ui-commands,假想的第四型意味着改它。 - 常驻目录缓存 + 推失效换来菜单零延迟与回车裁决可靠;代价是三条失效路径(change 帧、重连、epoch guard)都需测试钉住。 -- sessionId 寻址让 host 的 per-agent 有效目录(全局 + scoped shadows)直接上 wire。client 保留命令身份、输入元数据与非规范说明,同时通过当前 locale 解析完全匹配的第一方说明。 +- sessionId 寻址让 host 的 per-agent 有效目录(全局 + scoped shadows)直接上 wire,client 原样呈现。 - 已知欠账:popupSelect 壳暂无已上架业务消费方(模型选择等将随 host `selectModel` 工作以 live-mutation 形态到来,届时作接入样板);队列第二刀(逐项 Inbox 操作)、富结果卡、roster 可配置性入台账待触发。 diff --git a/.agents/notes/archived/architecture/2026-07-25-web-input-machine-and-slash-pipeline.i18n.yaml b/.agents/notes/archived/architecture/2026-07-25-web-input-machine-and-slash-pipeline.i18n.yaml new file mode 100644 index 0000000000..a81a19637a --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-25-web-input-machine-and-slash-pipeline.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-25-web-input-machine-and-slash-pipeline.md +2026-07-25-web-input-machine-and-slash-pipeline.md: b6d485d495717770ebb5148880b3c8c1cb23b948 +2026-07-25-web-input-machine-and-slash-pipeline.zh.md: 69ed9a40f4dd9a316f147e3077c9167e1ee46eeb diff --git a/.agents/notes/implemented/architecture/2026-07-25-web-input-machine-and-slash-pipeline.md b/.agents/notes/archived/architecture/2026-07-25-web-input-machine-and-slash-pipeline.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-25-web-input-machine-and-slash-pipeline.md rename to .agents/notes/archived/architecture/2026-07-25-web-input-machine-and-slash-pipeline.md index 1b9e9d95b5..b6d485d495 100644 --- a/.agents/notes/implemented/architecture/2026-07-25-web-input-machine-and-slash-pipeline.md +++ b/.agents/notes/archived/architecture/2026-07-25-web-input-machine-and-slash-pipeline.md @@ -1,6 +1,7 @@ # Agent Note: Web input state machine, composer slots, and the slash pipeline (ui-conversation input / ui-input-trigger) Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-25-web-input-machine-and-slash-pipeline.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-25-web-input-machine-and-slash-pipeline.zh.md b/.agents/notes/archived/architecture/2026-07-25-web-input-machine-and-slash-pipeline.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-25-web-input-machine-and-slash-pipeline.zh.md rename to .agents/notes/archived/architecture/2026-07-25-web-input-machine-and-slash-pipeline.zh.md index c9bee217da..69ed9a40f4 100644 --- a/.agents/notes/implemented/architecture/2026-07-25-web-input-machine-and-slash-pipeline.zh.md +++ b/.agents/notes/archived/architecture/2026-07-25-web-input-machine-and-slash-pipeline.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 输入状态机、composer slot 与 slash 流水线(ui-conversation input / ui-input-trigger) Status: implemented +Archived: 2026-09-04 [English](2026-07-25-web-input-machine-and-slash-pipeline.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-26-job-registry-seam.i18n.yaml b/.agents/notes/archived/architecture/2026-07-26-job-registry-seam.i18n.yaml new file mode 100644 index 0000000000..f35b1f8f51 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-26-job-registry-seam.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-26-job-registry-seam.md +2026-07-26-job-registry-seam.md: d1a8cfb7bc4f1a8e313dfa8d59a5d0e5f8106190 +2026-07-26-job-registry-seam.zh.md: 1624a410407d8e6ac8cc85a6fe1480e0867eef6d diff --git a/.agents/notes/implemented/architecture/2026-07-26-job-registry-seam.md b/.agents/notes/archived/architecture/2026-07-26-job-registry-seam.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-26-job-registry-seam.md rename to .agents/notes/archived/architecture/2026-07-26-job-registry-seam.md index 2040b3a40d..d1a8cfb7bc 100644 --- a/.agents/notes/implemented/architecture/2026-07-26-job-registry-seam.md +++ b/.agents/notes/archived/architecture/2026-07-26-job-registry-seam.md @@ -1,6 +1,7 @@ # Agent Note: The job registry is a capability seam (`dsh-jobs` / `dsh-jobs-local`) Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-26-job-registry-seam.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-26-job-registry-seam.zh.md b/.agents/notes/archived/architecture/2026-07-26-job-registry-seam.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-26-job-registry-seam.zh.md rename to .agents/notes/archived/architecture/2026-07-26-job-registry-seam.zh.md index 12785584f6..1624a41040 100644 --- a/.agents/notes/implemented/architecture/2026-07-26-job-registry-seam.zh.md +++ b/.agents/notes/archived/architecture/2026-07-26-job-registry-seam.zh.md @@ -1,6 +1,7 @@ # Agent Note: 任务注册表是一个能力 seam(`dsh-jobs` / `dsh-jobs-local`) Status: implemented +Archived: 2026-09-04 [English](2026-07-26-job-registry-seam.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-26-subprocess-seam.i18n.yaml b/.agents/notes/archived/architecture/2026-07-26-subprocess-seam.i18n.yaml new file mode 100644 index 0000000000..9768e011a7 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-26-subprocess-seam.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-26-subprocess-seam.md +2026-07-26-subprocess-seam.md: bd8cba2197a56acef2ab12e9b43e254fbc744ee5 +2026-07-26-subprocess-seam.zh.md: ba23649e9e68f578bdc9ba26a026981d0afe981f diff --git a/.agents/notes/implemented/architecture/2026-07-26-subprocess-seam.md b/.agents/notes/archived/architecture/2026-07-26-subprocess-seam.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-26-subprocess-seam.md rename to .agents/notes/archived/architecture/2026-07-26-subprocess-seam.md index aa7a989a03..bd8cba2197 100644 --- a/.agents/notes/implemented/architecture/2026-07-26-subprocess-seam.md +++ b/.agents/notes/archived/architecture/2026-07-26-subprocess-seam.md @@ -1,6 +1,7 @@ # Agent Note: The subprocess service is its own seam under the bash executors (`dsh-subprocess` / `dsh-subprocess-local`) Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-26-subprocess-seam.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-26-subprocess-seam.zh.md b/.agents/notes/archived/architecture/2026-07-26-subprocess-seam.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-26-subprocess-seam.zh.md rename to .agents/notes/archived/architecture/2026-07-26-subprocess-seam.zh.md index bb9755957f..ba23649e9e 100644 --- a/.agents/notes/implemented/architecture/2026-07-26-subprocess-seam.zh.md +++ b/.agents/notes/archived/architecture/2026-07-26-subprocess-seam.zh.md @@ -1,6 +1,7 @@ # Agent Note: 进程服务是 bash 执行器之下的独立 seam(`dsh-subprocess` / `dsh-subprocess-local`) Status: implemented +Archived: 2026-09-04 [English](2026-07-26-subprocess-seam.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-27-dispose-ladder-to-consumer.i18n.yaml b/.agents/notes/archived/architecture/2026-07-27-dispose-ladder-to-consumer.i18n.yaml new file mode 100644 index 0000000000..f019150470 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-27-dispose-ladder-to-consumer.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-27-dispose-ladder-to-consumer.md +2026-07-27-dispose-ladder-to-consumer.md: 7e1b189c1d3a32c6f812bba5d5f06f7a6a89c29b +2026-07-27-dispose-ladder-to-consumer.zh.md: 6c61cad5d4a62c5c976894f72d0ff5e9c69184bc diff --git a/.agents/notes/implemented/architecture/2026-07-27-dispose-ladder-to-consumer.md b/.agents/notes/archived/architecture/2026-07-27-dispose-ladder-to-consumer.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-27-dispose-ladder-to-consumer.md rename to .agents/notes/archived/architecture/2026-07-27-dispose-ladder-to-consumer.md index 58d835864d..7e1b189c1d 100644 --- a/.agents/notes/implemented/architecture/2026-07-27-dispose-ladder-to-consumer.md +++ b/.agents/notes/archived/architecture/2026-07-27-dispose-ladder-to-consumer.md @@ -1,6 +1,7 @@ # Agent Note: The dispose ladder belongs to its consumer, not the subprocess seam Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-27-dispose-ladder-to-consumer.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-27-dispose-ladder-to-consumer.zh.md b/.agents/notes/archived/architecture/2026-07-27-dispose-ladder-to-consumer.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-27-dispose-ladder-to-consumer.zh.md rename to .agents/notes/archived/architecture/2026-07-27-dispose-ladder-to-consumer.zh.md index dc7413e85f..6c61cad5d4 100644 --- a/.agents/notes/implemented/architecture/2026-07-27-dispose-ladder-to-consumer.zh.md +++ b/.agents/notes/archived/architecture/2026-07-27-dispose-ladder-to-consumer.zh.md @@ -1,6 +1,7 @@ # Agent Note: dispose 阶梯归其消费方所有,而非 subprocess seam Status: implemented +Archived: 2026-09-04 [English](2026-07-27-dispose-ladder-to-consumer.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-28-directory-picker-capability-seam.i18n.yaml b/.agents/notes/archived/architecture/2026-07-28-directory-picker-capability-seam.i18n.yaml new file mode 100644 index 0000000000..8d2ede5216 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-28-directory-picker-capability-seam.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-28-directory-picker-capability-seam.md +2026-07-28-directory-picker-capability-seam.md: e2f3312b7429078eb81cba62ab1727e71fe67b74 +2026-07-28-directory-picker-capability-seam.zh.md: 41a05febe58c353242cc389e20bbf84b3620b7c9 diff --git a/.agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.md b/.agents/notes/archived/architecture/2026-07-28-directory-picker-capability-seam.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.md rename to .agents/notes/archived/architecture/2026-07-28-directory-picker-capability-seam.md index 10ab8e393d..e2f3312b74 100644 --- a/.agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.md +++ b/.agents/notes/archived/architecture/2026-07-28-directory-picker-capability-seam.md @@ -1,6 +1,7 @@ # Agent Note: A capability-discriminated directory-picker seam for the web-GUI host Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-28-directory-picker-capability-seam.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.zh.md b/.agents/notes/archived/architecture/2026-07-28-directory-picker-capability-seam.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.zh.md rename to .agents/notes/archived/architecture/2026-07-28-directory-picker-capability-seam.zh.md index 8764dc208b..41a05febe5 100644 --- a/.agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.zh.md +++ b/.agents/notes/archived/architecture/2026-07-28-directory-picker-capability-seam.zh.md @@ -1,6 +1,7 @@ # Agent Note: web GUI 宿主的能力可辨识目录选择 seam Status: implemented +Archived: 2026-09-04 [English](2026-07-28-directory-picker-capability-seam.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-28-user-settings-seam.i18n.yaml b/.agents/notes/archived/architecture/2026-07-28-user-settings-seam.i18n.yaml new file mode 100644 index 0000000000..efd2250a7d --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-28-user-settings-seam.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-28-user-settings-seam.md +2026-07-28-user-settings-seam.md: 75fef5ed976d80acb4e26133c2b98d8504042121 +2026-07-28-user-settings-seam.zh.md: 9797e5a3288a7709f3541784778c514890015410 diff --git a/.agents/notes/implemented/architecture/2026-07-28-user-settings-seam.md b/.agents/notes/archived/architecture/2026-07-28-user-settings-seam.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-28-user-settings-seam.md rename to .agents/notes/archived/architecture/2026-07-28-user-settings-seam.md index 686c98d890..75fef5ed97 100644 --- a/.agents/notes/implemented/architecture/2026-07-28-user-settings-seam.md +++ b/.agents/notes/archived/architecture/2026-07-28-user-settings-seam.md @@ -1,6 +1,7 @@ # Agent Note: user-settings seam (`ctx.settings`) and the file provider Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-28-user-settings-seam.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-28-user-settings-seam.zh.md b/.agents/notes/archived/architecture/2026-07-28-user-settings-seam.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-28-user-settings-seam.zh.md rename to .agents/notes/archived/architecture/2026-07-28-user-settings-seam.zh.md index 85287634ba..9797e5a328 100644 --- a/.agents/notes/implemented/architecture/2026-07-28-user-settings-seam.zh.md +++ b/.agents/notes/archived/architecture/2026-07-28-user-settings-seam.zh.md @@ -1,6 +1,7 @@ # Agent Note: 用户设置 seam(`ctx.settings`)与文件提供方 Status: implemented +Archived: 2026-09-04 [English](2026-07-28-user-settings-seam.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-29-package-regrouping.i18n.yaml b/.agents/notes/archived/architecture/2026-07-29-package-regrouping.i18n.yaml new file mode 100644 index 0000000000..d5db06f13d --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-29-package-regrouping.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-29-package-regrouping.md +2026-07-29-package-regrouping.md: 7073d868fe73f75477cf9a6fa2c5f7c425d014a8 +2026-07-29-package-regrouping.zh.md: b33ecf1600ce9c9796e932c14c5df9782bb3a94b diff --git a/.agents/notes/implemented/architecture/2026-07-29-package-regrouping.md b/.agents/notes/archived/architecture/2026-07-29-package-regrouping.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-29-package-regrouping.md rename to .agents/notes/archived/architecture/2026-07-29-package-regrouping.md index 2d585547db..7073d868fe 100644 --- a/.agents/notes/implemented/architecture/2026-07-29-package-regrouping.md +++ b/.agents/notes/archived/architecture/2026-07-29-package-regrouping.md @@ -1,6 +1,7 @@ # Agent Note: Regroup packages/ by measured clustering Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-29-package-regrouping.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-29-package-regrouping.zh.md b/.agents/notes/archived/architecture/2026-07-29-package-regrouping.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-29-package-regrouping.zh.md rename to .agents/notes/archived/architecture/2026-07-29-package-regrouping.zh.md index 0667bff7e0..b33ecf1600 100644 --- a/.agents/notes/implemented/architecture/2026-07-29-package-regrouping.zh.md +++ b/.agents/notes/archived/architecture/2026-07-29-package-regrouping.zh.md @@ -1,6 +1,7 @@ # Agent Note: 按实测聚类重新划分 packages/ 分组 Status: implemented +Archived: 2026-09-04 [English](2026-07-29-package-regrouping.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-29-request-level-llm-config-credentials.i18n.yaml b/.agents/notes/archived/architecture/2026-07-29-request-level-llm-config-credentials.i18n.yaml new file mode 100644 index 0000000000..1730769009 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-29-request-level-llm-config-credentials.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-29-request-level-llm-config-credentials.md +2026-07-29-request-level-llm-config-credentials.md: dda5cd6710ad432a25bce1214078098f4e797559 +2026-07-29-request-level-llm-config-credentials.zh.md: e521920586c8fe9d3a498e0369d1693096562973 diff --git a/.agents/notes/implemented/architecture/2026-07-29-request-level-llm-config-credentials.md b/.agents/notes/archived/architecture/2026-07-29-request-level-llm-config-credentials.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-29-request-level-llm-config-credentials.md rename to .agents/notes/archived/architecture/2026-07-29-request-level-llm-config-credentials.md index d929d286d7..dda5cd6710 100644 --- a/.agents/notes/implemented/architecture/2026-07-29-request-level-llm-config-credentials.md +++ b/.agents/notes/archived/architecture/2026-07-29-request-level-llm-config-credentials.md @@ -1,6 +1,7 @@ # Agent Note: request-level LLM configuration and the credential seam Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-29-request-level-llm-config-credentials.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-29-request-level-llm-config-credentials.zh.md b/.agents/notes/archived/architecture/2026-07-29-request-level-llm-config-credentials.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-29-request-level-llm-config-credentials.zh.md rename to .agents/notes/archived/architecture/2026-07-29-request-level-llm-config-credentials.zh.md index 6455ee7c10..e521920586 100644 --- a/.agents/notes/implemented/architecture/2026-07-29-request-level-llm-config-credentials.zh.md +++ b/.agents/notes/archived/architecture/2026-07-29-request-level-llm-config-credentials.zh.md @@ -1,6 +1,7 @@ # Agent Note: 请求级 LLM 配置与凭据 seam Status: implemented +Archived: 2026-09-04 [English](2026-07-29-request-level-llm-config-credentials.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-30-adapter-owned-max-token-defaults.i18n.yaml b/.agents/notes/archived/architecture/2026-07-30-adapter-owned-max-token-defaults.i18n.yaml new file mode 100644 index 0000000000..113f68ee4e --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-30-adapter-owned-max-token-defaults.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-30-adapter-owned-max-token-defaults.md +2026-07-30-adapter-owned-max-token-defaults.md: 30b1840a9ff80092609698e63d061a7d82503e5d +2026-07-30-adapter-owned-max-token-defaults.zh.md: 770c61ce1514fa8e16d4cbabed4dd97b5b7b40fb diff --git a/.agents/notes/implemented/architecture/2026-07-30-adapter-owned-max-token-defaults.md b/.agents/notes/archived/architecture/2026-07-30-adapter-owned-max-token-defaults.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-30-adapter-owned-max-token-defaults.md rename to .agents/notes/archived/architecture/2026-07-30-adapter-owned-max-token-defaults.md index ec6a68b74d..30b1840a9f 100644 --- a/.agents/notes/implemented/architecture/2026-07-30-adapter-owned-max-token-defaults.md +++ b/.agents/notes/archived/architecture/2026-07-30-adapter-owned-max-token-defaults.md @@ -1,6 +1,7 @@ # Agent Note: Adapter-owned max-token defaults Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-adapter-owned-max-token-defaults.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-30-adapter-owned-max-token-defaults.zh.md b/.agents/notes/archived/architecture/2026-07-30-adapter-owned-max-token-defaults.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-30-adapter-owned-max-token-defaults.zh.md rename to .agents/notes/archived/architecture/2026-07-30-adapter-owned-max-token-defaults.zh.md index 700d90125c..770c61ce15 100644 --- a/.agents/notes/implemented/architecture/2026-07-30-adapter-owned-max-token-defaults.zh.md +++ b/.agents/notes/archived/architecture/2026-07-30-adapter-owned-max-token-defaults.zh.md @@ -1,6 +1,7 @@ # Agent Note: 适配器持有的最大 token 默认值 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-adapter-owned-max-token-defaults.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-30-client-locale-full-rollout.i18n.yaml b/.agents/notes/archived/architecture/2026-07-30-client-locale-full-rollout.i18n.yaml new file mode 100644 index 0000000000..5102884776 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-30-client-locale-full-rollout.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-30-client-locale-full-rollout.md +2026-07-30-client-locale-full-rollout.md: 381a0ed642d7452cb4be2c9a755bf33c120cba76 +2026-07-30-client-locale-full-rollout.zh.md: 81ae013e86c6ecb608a15c3664c5203233e27e40 diff --git a/.agents/notes/implemented/architecture/2026-07-30-client-locale-full-rollout.md b/.agents/notes/archived/architecture/2026-07-30-client-locale-full-rollout.md similarity index 94% rename from .agents/notes/implemented/architecture/2026-07-30-client-locale-full-rollout.md rename to .agents/notes/archived/architecture/2026-07-30-client-locale-full-rollout.md index f04c9f36ff..381a0ed642 100644 --- a/.agents/notes/implemented/architecture/2026-07-30-client-locale-full-rollout.md +++ b/.agents/notes/archived/architecture/2026-07-30-client-locale-full-rollout.md @@ -1,6 +1,7 @@ # Agent Note: Full client copy rollout onto the typed locale seat Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-client-locale-full-rollout.zh.md) @@ -18,7 +19,7 @@ After the typed locale standard seat landed (`locale:` on register → framework **Zero-Cordis atoms (ui-primitives) take copy as required props.** `HoverCard`, structured Tool blocks, JSON/Markdown renderers, `ConnectionIndicator`, and modal chrome remain runtime-independent; localized plugins pass complete dictionary-driven label objects from their own `t` seat and memoize cache-sensitive objects on the `t` identity. The removal of language-bearing defaults and the complete prop inventory are owned by the [locale-owned copy decision](2026-08-23-locale-owned-client-ui-copy.md). -**Every product-authored UI phrase is translated.** Client fallbacks, design labels, trajectory inspection, accessibility names, and formatter units are dictionary-owned under the [locale-owned copy decision](2026-08-23-locale-owned-client-ui-copy.md). User/model/provider text, externally authored plugin or wire text, and protocol or code tokens remain verbatim data. Wire transport does not make first-party product copy external: the command UI recognizes each built-in Host description by its exact command name and canonical English source before translating it. Framework-free boot markup still runs before the locale service; the localized application replaces its product copy after activation. +**Every product-authored UI phrase is translated.** Client fallbacks, design labels, trajectory inspection, accessibility names, and formatter units are dictionary-owned under the [locale-owned copy decision](2026-08-23-locale-owned-client-ui-copy.md). User/model/provider/wire text and protocol or code tokens remain verbatim data. Framework-free boot markup still runs before the locale service; the localized application replaces its product copy after activation. **Derivation layers keep display text out of identity.** ui-workspace's `relativeTime` returns structured `{unit, n}` composed with dictionary templates by the renderer; blank session titles and the Ungrouped label derive from the `blank` flag / absent `workspaceId`, while internal values stay empty or stable; **blank rows are excluded from search entirely** (a bilingual display title cannot match a single-language query stably). Dates use no Intl: format templates live in the dictionaries (message clock `clock.md`/`clock.ymd`, workspace hover `date.ymd`) and the formatters take `t` as a parameter. diff --git a/.agents/notes/implemented/architecture/2026-07-30-client-locale-full-rollout.zh.md b/.agents/notes/archived/architecture/2026-07-30-client-locale-full-rollout.zh.md similarity index 94% rename from .agents/notes/implemented/architecture/2026-07-30-client-locale-full-rollout.zh.md rename to .agents/notes/archived/architecture/2026-07-30-client-locale-full-rollout.zh.md index 0285b92ce7..81ae013e86 100644 --- a/.agents/notes/implemented/architecture/2026-07-30-client-locale-full-rollout.zh.md +++ b/.agents/notes/archived/architecture/2026-07-30-client-locale-full-rollout.zh.md @@ -1,6 +1,7 @@ # Agent Note: client 文案全量接入 typed locale 席位 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-client-locale-full-rollout.md) | 中文 @@ -18,7 +19,7 @@ typed locale 标准席位(`locale:` 注册声明 → 框架注入强类型 `t` **zero-Cordis 原子组件(ui-primitives)通过必填 prop 接收文案。** `HoverCard`、结构化工具块、JSON/Markdown 渲染器、`ConnectionIndicator` 和 modal chrome 均保持运行时独立;已本地化插件从自己的 `t` 席位传入完整的字典驱动 label 对象,对缓存敏感的对象按 `t` 身份 memo。移除带语言默认值以及完整 prop 清单由 [locale 归属文案决策](2026-08-23-locale-owned-client-ui-copy.zh.md)负责。 -**所有产品编写的 UI 短语都翻译。** client 兜底文案、设计 label、trajectory 检查面、无障碍名称和格式化单位均按 [locale 归属文案决策](2026-08-23-locale-owned-client-ui-copy.zh.md)进入字典。用户/模型/提供方文本、外部编写的插件或 wire 文本以及协议或代码 token 仍作为数据原样呈现。经 wire 传输不会使第一方产品文案变成外部文本:命令 UI 会先用确切命令名与规范英文原文识别每个内置 Host 说明,再进行翻译。不依赖框架的 boot 标记仍早于 locale 服务运行;本地化应用激活后会替换其中的产品文案。 +**所有产品编写的 UI 短语都翻译。** client 兜底文案、设计 label、trajectory 检查面、无障碍名称和格式化单位均按 [locale 归属文案决策](2026-08-23-locale-owned-client-ui-copy.zh.md)进入字典。用户/模型/提供方/wire 文本以及协议或代码 token 仍作为数据原样呈现。不依赖框架的 boot 标记仍早于 locale 服务运行;本地化应用激活后会替换其中的产品文案。 **派生层不让展示文本承担身份。** ui-workspace 的 `relativeTime` 返回结构化 `{unit, n}`,由渲染组合字典模板;blank 会话标题和未分组 label 从 `blank` 标志/`workspaceId` 缺席派生,内部值保持为空或稳定;**搜索态 blank 行一律排除**(双语标题无法与单语查询稳定匹配)。日期不引 Intl:格式模板进字典(消息时钟 `clock.md`/`clock.ymd`,workspace hover `date.ymd`),格式化函数接收 `t` 参数。 diff --git a/.agents/notes/archived/architecture/2026-07-30-command-row-copy-contract.i18n.yaml b/.agents/notes/archived/architecture/2026-07-30-command-row-copy-contract.i18n.yaml new file mode 100644 index 0000000000..29acf59393 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-30-command-row-copy-contract.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-30-command-row-copy-contract.md +2026-07-30-command-row-copy-contract.md: e5f1828e433015a1381ae4f7951c518bb6040107 +2026-07-30-command-row-copy-contract.zh.md: 7efe1aa65ddd992e64807e229b1da682f5bc320b diff --git a/.agents/notes/implemented/architecture/2026-07-30-command-row-copy-contract.md b/.agents/notes/archived/architecture/2026-07-30-command-row-copy-contract.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-30-command-row-copy-contract.md rename to .agents/notes/archived/architecture/2026-07-30-command-row-copy-contract.md index d410adf62d..e5f1828e43 100644 --- a/.agents/notes/implemented/architecture/2026-07-30-command-row-copy-contract.md +++ b/.agents/notes/archived/architecture/2026-07-30-command-row-copy-contract.md @@ -1,6 +1,7 @@ # Agent Note: Command row copy is split between the row and the handler Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-command-row-copy-contract.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-30-command-row-copy-contract.zh.md b/.agents/notes/archived/architecture/2026-07-30-command-row-copy-contract.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-30-command-row-copy-contract.zh.md rename to .agents/notes/archived/architecture/2026-07-30-command-row-copy-contract.zh.md index 0f680f9beb..7efe1aa65d 100644 --- a/.agents/notes/implemented/architecture/2026-07-30-command-row-copy-contract.zh.md +++ b/.agents/notes/archived/architecture/2026-07-30-command-row-copy-contract.zh.md @@ -1,6 +1,7 @@ # Agent Note: 命令条目文案分别由条目与 handler 负责 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-command-row-copy-contract.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-30-config-plane-boundaries.i18n.yaml b/.agents/notes/archived/architecture/2026-07-30-config-plane-boundaries.i18n.yaml new file mode 100644 index 0000000000..8d95861414 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-30-config-plane-boundaries.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-30-config-plane-boundaries.md +2026-07-30-config-plane-boundaries.md: 6c1f0c8643e9f1b1879b213e01bb8555b6980afe +2026-07-30-config-plane-boundaries.zh.md: 16b05a45afbb944e3ed9f1121e067d8d2bbf1f48 diff --git a/.agents/notes/implemented/architecture/2026-07-30-config-plane-boundaries.md b/.agents/notes/archived/architecture/2026-07-30-config-plane-boundaries.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-30-config-plane-boundaries.md rename to .agents/notes/archived/architecture/2026-07-30-config-plane-boundaries.md index d7ae13f08c..6c1f0c8643 100644 --- a/.agents/notes/implemented/architecture/2026-07-30-config-plane-boundaries.md +++ b/.agents/notes/archived/architecture/2026-07-30-config-plane-boundaries.md @@ -1,6 +1,7 @@ # Agent Note: what the configuration plane exposes, and who may overwrite what Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-config-plane-boundaries.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-30-config-plane-boundaries.zh.md b/.agents/notes/archived/architecture/2026-07-30-config-plane-boundaries.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-30-config-plane-boundaries.zh.md rename to .agents/notes/archived/architecture/2026-07-30-config-plane-boundaries.zh.md index e53a68f91f..16b05a45af 100644 --- a/.agents/notes/implemented/architecture/2026-07-30-config-plane-boundaries.zh.md +++ b/.agents/notes/archived/architecture/2026-07-30-config-plane-boundaries.zh.md @@ -1,6 +1,7 @@ # Agent Note: 配置面暴露什么,以及谁有权覆盖什么 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-config-plane-boundaries.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-30-settings-write-path-integrity.i18n.yaml b/.agents/notes/archived/architecture/2026-07-30-settings-write-path-integrity.i18n.yaml new file mode 100644 index 0000000000..4e53f4427c --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-30-settings-write-path-integrity.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-30-settings-write-path-integrity.md +2026-07-30-settings-write-path-integrity.md: 00e9639bc3f2bec8d4f10d3ba30611c822d3d966 +2026-07-30-settings-write-path-integrity.zh.md: 887941a8bcfadc7f8745b77f2c650452df5df0b9 diff --git a/.agents/notes/implemented/architecture/2026-07-30-settings-write-path-integrity.md b/.agents/notes/archived/architecture/2026-07-30-settings-write-path-integrity.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-30-settings-write-path-integrity.md rename to .agents/notes/archived/architecture/2026-07-30-settings-write-path-integrity.md index 7a2d377586..00e9639bc3 100644 --- a/.agents/notes/implemented/architecture/2026-07-30-settings-write-path-integrity.md +++ b/.agents/notes/archived/architecture/2026-07-30-settings-write-path-integrity.md @@ -1,6 +1,7 @@ # Agent Note: settings write-path integrity and observer lifecycle Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-settings-write-path-integrity.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-30-settings-write-path-integrity.zh.md b/.agents/notes/archived/architecture/2026-07-30-settings-write-path-integrity.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-30-settings-write-path-integrity.zh.md rename to .agents/notes/archived/architecture/2026-07-30-settings-write-path-integrity.zh.md index 596f481467..887941a8bc 100644 --- a/.agents/notes/implemented/architecture/2026-07-30-settings-write-path-integrity.zh.md +++ b/.agents/notes/archived/architecture/2026-07-30-settings-write-path-integrity.zh.md @@ -1,6 +1,7 @@ # Agent Note: settings 写路径完整性与观察者生命周期 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-settings-write-path-integrity.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-30-web-config-plane.i18n.yaml b/.agents/notes/archived/architecture/2026-07-30-web-config-plane.i18n.yaml new file mode 100644 index 0000000000..2345f85870 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-30-web-config-plane.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-30-web-config-plane.md +2026-07-30-web-config-plane.md: ca100f3d5b945e0fc8e048fc8967fd29f77a63cf +2026-07-30-web-config-plane.zh.md: c24e05b2cd651b543dd7fe40d41505b5a8cee2ae diff --git a/.agents/notes/implemented/architecture/2026-07-30-web-config-plane.md b/.agents/notes/archived/architecture/2026-07-30-web-config-plane.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-30-web-config-plane.md rename to .agents/notes/archived/architecture/2026-07-30-web-config-plane.md index a919487ba4..ca100f3d5b 100644 --- a/.agents/notes/implemented/architecture/2026-07-30-web-config-plane.md +++ b/.agents/notes/archived/architecture/2026-07-30-web-config-plane.md @@ -1,6 +1,7 @@ # Agent Note: the web configuration plane Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-web-config-plane.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-30-web-config-plane.zh.md b/.agents/notes/archived/architecture/2026-07-30-web-config-plane.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-30-web-config-plane.zh.md rename to .agents/notes/archived/architecture/2026-07-30-web-config-plane.zh.md index ca9e9f4427..c24e05b2cd 100644 --- a/.agents/notes/implemented/architecture/2026-07-30-web-config-plane.zh.md +++ b/.agents/notes/archived/architecture/2026-07-30-web-config-plane.zh.md @@ -1,6 +1,7 @@ # Agent Note: web 配置平面 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-web-config-plane.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-07-31-code-runtime-portable-identifier-seam.i18n.yaml b/.agents/notes/archived/architecture/2026-07-31-code-runtime-portable-identifier-seam.i18n.yaml new file mode 100644 index 0000000000..6bf7a918a0 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-07-31-code-runtime-portable-identifier-seam.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-07-31-code-runtime-portable-identifier-seam.md +2026-07-31-code-runtime-portable-identifier-seam.md: c7b24e7706a8d27aff8b9d411ea1987bc0e26a17 +2026-07-31-code-runtime-portable-identifier-seam.zh.md: 7486727ae8bb2830593f2f33042a46d4d5b846af diff --git a/.agents/notes/implemented/architecture/2026-07-31-code-runtime-portable-identifier-seam.md b/.agents/notes/archived/architecture/2026-07-31-code-runtime-portable-identifier-seam.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-31-code-runtime-portable-identifier-seam.md rename to .agents/notes/archived/architecture/2026-07-31-code-runtime-portable-identifier-seam.md index e4cf236f62..c7b24e7706 100644 --- a/.agents/notes/implemented/architecture/2026-07-31-code-runtime-portable-identifier-seam.md +++ b/.agents/notes/archived/architecture/2026-07-31-code-runtime-portable-identifier-seam.md @@ -1,6 +1,7 @@ # Agent Note: the code-runtime seam owns portable-identifier exclusions Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-code-runtime-portable-identifier-seam.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-07-31-code-runtime-portable-identifier-seam.zh.md b/.agents/notes/archived/architecture/2026-07-31-code-runtime-portable-identifier-seam.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-07-31-code-runtime-portable-identifier-seam.zh.md rename to .agents/notes/archived/architecture/2026-07-31-code-runtime-portable-identifier-seam.zh.md index 63fc89eb0d..7486727ae8 100644 --- a/.agents/notes/implemented/architecture/2026-07-31-code-runtime-portable-identifier-seam.zh.md +++ b/.agents/notes/archived/architecture/2026-07-31-code-runtime-portable-identifier-seam.zh.md @@ -1,6 +1,7 @@ # Agent Note: code-runtime seam 拥有可移植标识符排除集 Status: implemented +Archived: 2026-09-04 [English](2026-07-31-code-runtime-portable-identifier-seam.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-01-packaged-ripgrep-search.i18n.yaml b/.agents/notes/archived/architecture/2026-08-01-packaged-ripgrep-search.i18n.yaml new file mode 100644 index 0000000000..4e864ba69a --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-01-packaged-ripgrep-search.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-01-packaged-ripgrep-search.md +2026-08-01-packaged-ripgrep-search.md: 24c0c6c68a8f60f90f5da4ba33a358267aabcbbf +2026-08-01-packaged-ripgrep-search.zh.md: b40ce6d068e0498fc546fa5fa2a6a005e9783edc diff --git a/.agents/notes/implemented/architecture/2026-08-01-packaged-ripgrep-search.md b/.agents/notes/archived/architecture/2026-08-01-packaged-ripgrep-search.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-01-packaged-ripgrep-search.md rename to .agents/notes/archived/architecture/2026-08-01-packaged-ripgrep-search.md index c401bc1e30..24c0c6c68a 100644 --- a/.agents/notes/implemented/architecture/2026-08-01-packaged-ripgrep-search.md +++ b/.agents/notes/archived/architecture/2026-08-01-packaged-ripgrep-search.md @@ -1,6 +1,7 @@ # Agent Note: Packaged ripgrep spawn for glob/grep Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-01-packaged-ripgrep-search.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-01-packaged-ripgrep-search.zh.md b/.agents/notes/archived/architecture/2026-08-01-packaged-ripgrep-search.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-01-packaged-ripgrep-search.zh.md rename to .agents/notes/archived/architecture/2026-08-01-packaged-ripgrep-search.zh.md index 6a195e59f7..b40ce6d068 100644 --- a/.agents/notes/implemented/architecture/2026-08-01-packaged-ripgrep-search.zh.md +++ b/.agents/notes/archived/architecture/2026-08-01-packaged-ripgrep-search.zh.md @@ -1,6 +1,7 @@ # Agent Note: glob/grep 改用打包的 ripgrep 二进制直接 spawn Status: implemented +Archived: 2026-09-04 [English](2026-08-01-packaged-ripgrep-search.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-03-pi-ai-declared-provider-catalog.i18n.yaml b/.agents/notes/archived/architecture/2026-08-03-pi-ai-declared-provider-catalog.i18n.yaml new file mode 100644 index 0000000000..9d82b0e3d3 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-03-pi-ai-declared-provider-catalog.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-03-pi-ai-declared-provider-catalog.md +2026-08-03-pi-ai-declared-provider-catalog.md: b680865b6712e2e53be1eba13956f3626898a047 +2026-08-03-pi-ai-declared-provider-catalog.zh.md: a3b3460acb5a48aecb749269e4c5f1228f749ed9 diff --git a/.agents/notes/implemented/architecture/2026-08-03-pi-ai-declared-provider-catalog.md b/.agents/notes/archived/architecture/2026-08-03-pi-ai-declared-provider-catalog.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-03-pi-ai-declared-provider-catalog.md rename to .agents/notes/archived/architecture/2026-08-03-pi-ai-declared-provider-catalog.md index 571986a94c..b680865b67 100644 --- a/.agents/notes/implemented/architecture/2026-08-03-pi-ai-declared-provider-catalog.md +++ b/.agents/notes/archived/architecture/2026-08-03-pi-ai-declared-provider-catalog.md @@ -1,6 +1,7 @@ # Agent Note: pi-ai routes are declared providers, not catalog lookups Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-03-pi-ai-declared-provider-catalog.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-03-pi-ai-declared-provider-catalog.zh.md b/.agents/notes/archived/architecture/2026-08-03-pi-ai-declared-provider-catalog.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-03-pi-ai-declared-provider-catalog.zh.md rename to .agents/notes/archived/architecture/2026-08-03-pi-ai-declared-provider-catalog.zh.md index d6f616f48d..a3b3460acb 100644 --- a/.agents/notes/implemented/architecture/2026-08-03-pi-ai-declared-provider-catalog.zh.md +++ b/.agents/notes/archived/architecture/2026-08-03-pi-ai-declared-provider-catalog.zh.md @@ -1,6 +1,7 @@ # Agent Note: pi-ai 路由是被声明的提供方,而不是 catalog 查表 Status: implemented +Archived: 2026-09-04 [English](2026-08-03-pi-ai-declared-provider-catalog.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.i18n.yaml b/.agents/notes/archived/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.i18n.yaml new file mode 100644 index 0000000000..1f571136ce --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.md +2026-08-04-credentials-yaml-and-user-environment-layer.md: 37f9aeece6379bc1d4b93dee989043f8f7fa0258 +2026-08-04-credentials-yaml-and-user-environment-layer.zh.md: d0103a4bf0015121de95e555b0abefd1b63fdfe0 diff --git a/.agents/notes/implemented/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.md b/.agents/notes/archived/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.md rename to .agents/notes/archived/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.md index 44bdea2436..37f9aeece6 100644 --- a/.agents/notes/implemented/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.md +++ b/.agents/notes/archived/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.md @@ -1,6 +1,7 @@ # Agent Note: Splitting the credential store from the user environment layer Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-04-credentials-yaml-and-user-environment-layer.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.zh.md b/.agents/notes/archived/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.zh.md rename to .agents/notes/archived/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.zh.md index 4d2893c57b..d0103a4bf0 100644 --- a/.agents/notes/implemented/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.zh.md +++ b/.agents/notes/archived/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.zh.md @@ -1,6 +1,7 @@ # Agent Note: 把凭据存储与用户环境层拆开 Status: implemented +Archived: 2026-09-04 [English](2026-08-04-credentials-yaml-and-user-environment-layer.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-04-declaring-a-provider-from-the-models-page.i18n.yaml b/.agents/notes/archived/architecture/2026-08-04-declaring-a-provider-from-the-models-page.i18n.yaml new file mode 100644 index 0000000000..c54ee8ff45 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-04-declaring-a-provider-from-the-models-page.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-04-declaring-a-provider-from-the-models-page.md +2026-08-04-declaring-a-provider-from-the-models-page.md: a9326236df9ea4daa6e1cf9a64785c83f523539a +2026-08-04-declaring-a-provider-from-the-models-page.zh.md: 8be41b3e2cb3d34b9ac0aa2bc6cd9b74e8304385 diff --git a/.agents/notes/implemented/architecture/2026-08-04-declaring-a-provider-from-the-models-page.md b/.agents/notes/archived/architecture/2026-08-04-declaring-a-provider-from-the-models-page.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-04-declaring-a-provider-from-the-models-page.md rename to .agents/notes/archived/architecture/2026-08-04-declaring-a-provider-from-the-models-page.md index ad4c6695b2..a9326236df 100644 --- a/.agents/notes/implemented/architecture/2026-08-04-declaring-a-provider-from-the-models-page.md +++ b/.agents/notes/archived/architecture/2026-08-04-declaring-a-provider-from-the-models-page.md @@ -1,6 +1,7 @@ # Agent Note: Declaring a provider from the Models page Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-04-declaring-a-provider-from-the-models-page.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-04-declaring-a-provider-from-the-models-page.zh.md b/.agents/notes/archived/architecture/2026-08-04-declaring-a-provider-from-the-models-page.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-04-declaring-a-provider-from-the-models-page.zh.md rename to .agents/notes/archived/architecture/2026-08-04-declaring-a-provider-from-the-models-page.zh.md index 2ca26e4b60..8be41b3e2c 100644 --- a/.agents/notes/implemented/architecture/2026-08-04-declaring-a-provider-from-the-models-page.zh.md +++ b/.agents/notes/archived/architecture/2026-08-04-declaring-a-provider-from-the-models-page.zh.md @@ -1,6 +1,7 @@ # Agent Note: 在 Models 页上声明一个提供方 Status: implemented +Archived: 2026-09-04 [English](2026-08-04-declaring-a-provider-from-the-models-page.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-05-large-session-jsonl-restore-pipeline.i18n.yaml b/.agents/notes/archived/architecture/2026-08-05-large-session-jsonl-restore-pipeline.i18n.yaml new file mode 100644 index 0000000000..e5b865f6e1 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-05-large-session-jsonl-restore-pipeline.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-05-large-session-jsonl-restore-pipeline.md +2026-08-05-large-session-jsonl-restore-pipeline.md: a8d37cc5b18241e5cdfc555f45836c602181ba24 +2026-08-05-large-session-jsonl-restore-pipeline.zh.md: 734b1feeae3cf28011294c87573a90dea29b2977 diff --git a/.agents/notes/implemented/architecture/2026-08-05-large-session-jsonl-restore-pipeline.md b/.agents/notes/archived/architecture/2026-08-05-large-session-jsonl-restore-pipeline.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-05-large-session-jsonl-restore-pipeline.md rename to .agents/notes/archived/architecture/2026-08-05-large-session-jsonl-restore-pipeline.md index e87777cc40..a8d37cc5b1 100644 --- a/.agents/notes/implemented/architecture/2026-08-05-large-session-jsonl-restore-pipeline.md +++ b/.agents/notes/archived/architecture/2026-08-05-large-session-jsonl-restore-pipeline.md @@ -1,6 +1,7 @@ # Agent Note: Large-session JSONL restore pipeline Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-05-large-session-jsonl-restore-pipeline.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-05-large-session-jsonl-restore-pipeline.zh.md b/.agents/notes/archived/architecture/2026-08-05-large-session-jsonl-restore-pipeline.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-05-large-session-jsonl-restore-pipeline.zh.md rename to .agents/notes/archived/architecture/2026-08-05-large-session-jsonl-restore-pipeline.zh.md index 32762bd199..734b1feeae 100644 --- a/.agents/notes/implemented/architecture/2026-08-05-large-session-jsonl-restore-pipeline.zh.md +++ b/.agents/notes/archived/architecture/2026-08-05-large-session-jsonl-restore-pipeline.zh.md @@ -1,6 +1,7 @@ # Agent Note: 大型会话 JSONL 恢复流水线 Status: implemented +Archived: 2026-09-04 [English](2026-08-05-large-session-jsonl-restore-pipeline.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-05-session-preparation.i18n.yaml b/.agents/notes/archived/architecture/2026-08-05-session-preparation.i18n.yaml new file mode 100644 index 0000000000..e15908d01a --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-05-session-preparation.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-05-session-preparation.md +2026-08-05-session-preparation.md: 5371fe69dded7f8618bac017fc97c59a6eb0cfb3 +2026-08-05-session-preparation.zh.md: 7b6ad03d266a4d71ccb3e9d54210f9755cbdb1b1 diff --git a/.agents/notes/implemented/architecture/2026-08-05-session-preparation.md b/.agents/notes/archived/architecture/2026-08-05-session-preparation.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-05-session-preparation.md rename to .agents/notes/archived/architecture/2026-08-05-session-preparation.md index 040c9f7881..5371fe69dd 100644 --- a/.agents/notes/implemented/architecture/2026-08-05-session-preparation.md +++ b/.agents/notes/archived/architecture/2026-08-05-session-preparation.md @@ -1,6 +1,7 @@ # Agent Note: Reusable Session preparation before publication Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-05-session-preparation.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-05-session-preparation.zh.md b/.agents/notes/archived/architecture/2026-08-05-session-preparation.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-05-session-preparation.zh.md rename to .agents/notes/archived/architecture/2026-08-05-session-preparation.zh.md index 44b609d488..7b6ad03d26 100644 --- a/.agents/notes/implemented/architecture/2026-08-05-session-preparation.zh.md +++ b/.agents/notes/archived/architecture/2026-08-05-session-preparation.zh.md @@ -1,6 +1,7 @@ # Agent Note: 发布前可复用的 Session 准备阶段 Status: implemented +Archived: 2026-09-04 [English](2026-08-05-session-preparation.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-05-slot-declaration-injection.i18n.yaml b/.agents/notes/archived/architecture/2026-08-05-slot-declaration-injection.i18n.yaml new file mode 100644 index 0000000000..89e63cd75f --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-05-slot-declaration-injection.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-05-slot-declaration-injection.md +2026-08-05-slot-declaration-injection.md: a23e277715cca1074dc3c3c925b126a80734f990 +2026-08-05-slot-declaration-injection.zh.md: 21910c5d82ac0f8433ce02532c82c6d7c01b1089 diff --git a/.agents/notes/implemented/architecture/2026-08-05-slot-declaration-injection.md b/.agents/notes/archived/architecture/2026-08-05-slot-declaration-injection.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-05-slot-declaration-injection.md rename to .agents/notes/archived/architecture/2026-08-05-slot-declaration-injection.md index 92f08efec2..a23e277715 100644 --- a/.agents/notes/implemented/architecture/2026-08-05-slot-declaration-injection.md +++ b/.agents/notes/archived/architecture/2026-08-05-slot-declaration-injection.md @@ -1,6 +1,7 @@ # Agent Note: Slot declaration injection and reload lifetimes Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-05-slot-declaration-injection.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-05-slot-declaration-injection.zh.md b/.agents/notes/archived/architecture/2026-08-05-slot-declaration-injection.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-05-slot-declaration-injection.zh.md rename to .agents/notes/archived/architecture/2026-08-05-slot-declaration-injection.zh.md index eed6873bb4..21910c5d82 100644 --- a/.agents/notes/implemented/architecture/2026-08-05-slot-declaration-injection.zh.md +++ b/.agents/notes/archived/architecture/2026-08-05-slot-declaration-injection.zh.md @@ -1,6 +1,7 @@ # Agent Note: slot 声明注入与重载生命周期 Status: implemented +Archived: 2026-09-04 [English](2026-08-05-slot-declaration-injection.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-06-agent-event-payload-objects.i18n.yaml b/.agents/notes/archived/architecture/2026-08-06-agent-event-payload-objects.i18n.yaml new file mode 100644 index 0000000000..f9ec329d50 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-06-agent-event-payload-objects.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-06-agent-event-payload-objects.md +2026-08-06-agent-event-payload-objects.md: b171f2d67e3c065063775e7830b9085af7767c8f +2026-08-06-agent-event-payload-objects.zh.md: 65ce0d608c6201d88a607943984349d9b997f8f3 diff --git a/.agents/notes/implemented/architecture/2026-08-06-agent-event-payload-objects.md b/.agents/notes/archived/architecture/2026-08-06-agent-event-payload-objects.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-06-agent-event-payload-objects.md rename to .agents/notes/archived/architecture/2026-08-06-agent-event-payload-objects.md index 470c8fb3f9..b171f2d67e 100644 --- a/.agents/notes/implemented/architecture/2026-08-06-agent-event-payload-objects.md +++ b/.agents/notes/archived/architecture/2026-08-06-agent-event-payload-objects.md @@ -1,6 +1,7 @@ # Agent Note: Agent-scoped events dispatch a single payload object Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-agent-event-payload-objects.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-06-agent-event-payload-objects.zh.md b/.agents/notes/archived/architecture/2026-08-06-agent-event-payload-objects.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-06-agent-event-payload-objects.zh.md rename to .agents/notes/archived/architecture/2026-08-06-agent-event-payload-objects.zh.md index 861a1b9c12..65ce0d608c 100644 --- a/.agents/notes/implemented/architecture/2026-08-06-agent-event-payload-objects.zh.md +++ b/.agents/notes/archived/architecture/2026-08-06-agent-event-payload-objects.zh.md @@ -1,6 +1,7 @@ # Agent Note: Agent 作用域事件 dispatch 单个 payload 对象 Status: implemented +Archived: 2026-09-04 [English](2026-08-06-agent-event-payload-objects.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-06-app-owned-command-line.i18n.yaml b/.agents/notes/archived/architecture/2026-08-06-app-owned-command-line.i18n.yaml new file mode 100644 index 0000000000..da1ce7ddb1 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-06-app-owned-command-line.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-06-app-owned-command-line.md +2026-08-06-app-owned-command-line.md: 1a48d00a1f837a900f96345883ce8c96144e49d6 +2026-08-06-app-owned-command-line.zh.md: 067e9c69d9da4e811a0ed182f5eaa664e9a84a81 diff --git a/.agents/notes/implemented/architecture/2026-08-06-app-owned-command-line.md b/.agents/notes/archived/architecture/2026-08-06-app-owned-command-line.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-06-app-owned-command-line.md rename to .agents/notes/archived/architecture/2026-08-06-app-owned-command-line.md index 6d84ba4575..1a48d00a1f 100644 --- a/.agents/notes/implemented/architecture/2026-08-06-app-owned-command-line.md +++ b/.agents/notes/archived/architecture/2026-08-06-app-owned-command-line.md @@ -1,6 +1,7 @@ # Agent Note: Apps own their command line through `ctx.cmdlineArgs` Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-app-owned-command-line.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-06-app-owned-command-line.zh.md b/.agents/notes/archived/architecture/2026-08-06-app-owned-command-line.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-06-app-owned-command-line.zh.md rename to .agents/notes/archived/architecture/2026-08-06-app-owned-command-line.zh.md index f964f7a7de..067e9c69d9 100644 --- a/.agents/notes/implemented/architecture/2026-08-06-app-owned-command-line.zh.md +++ b/.agents/notes/archived/architecture/2026-08-06-app-owned-command-line.zh.md @@ -1,6 +1,7 @@ # Agent Note: 应用通过 `ctx.cmdlineArgs` 持有自己的命令行 Status: implemented +Archived: 2026-09-04 [English](2026-08-06-app-owned-command-line.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-06-subagent-list-identity-projection.i18n.yaml b/.agents/notes/archived/architecture/2026-08-06-subagent-list-identity-projection.i18n.yaml new file mode 100644 index 0000000000..938d4ccf47 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-06-subagent-list-identity-projection.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-06-subagent-list-identity-projection.md +2026-08-06-subagent-list-identity-projection.md: 50937e1f75774438a0be8aef7df6c181ff0fc8a2 +2026-08-06-subagent-list-identity-projection.zh.md: 7b252333549004eab5b81d21e518d6a05729ea2d diff --git a/.agents/notes/implemented/architecture/2026-08-06-subagent-list-identity-projection.md b/.agents/notes/archived/architecture/2026-08-06-subagent-list-identity-projection.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-06-subagent-list-identity-projection.md rename to .agents/notes/archived/architecture/2026-08-06-subagent-list-identity-projection.md index cbb1569631..50937e1f75 100644 --- a/.agents/notes/implemented/architecture/2026-08-06-subagent-list-identity-projection.md +++ b/.agents/notes/archived/architecture/2026-08-06-subagent-list-identity-projection.md @@ -1,6 +1,7 @@ # Agent Note: Subagent list identity via the projection unit Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-subagent-list-identity-projection.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-06-subagent-list-identity-projection.zh.md b/.agents/notes/archived/architecture/2026-08-06-subagent-list-identity-projection.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-06-subagent-list-identity-projection.zh.md rename to .agents/notes/archived/architecture/2026-08-06-subagent-list-identity-projection.zh.md index dbb62dbfc6..7b25233354 100644 --- a/.agents/notes/implemented/architecture/2026-08-06-subagent-list-identity-projection.zh.md +++ b/.agents/notes/archived/architecture/2026-08-06-subagent-list-identity-projection.zh.md @@ -1,6 +1,7 @@ # Agent Note: subagent 列表经投影单元读取身份 Status: implemented +Archived: 2026-09-04 [English](2026-08-06-subagent-list-identity-projection.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-06-web-markdown-incremental-ast-renderer.i18n.yaml b/.agents/notes/archived/architecture/2026-08-06-web-markdown-incremental-ast-renderer.i18n.yaml new file mode 100644 index 0000000000..ed5b1b732d --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-06-web-markdown-incremental-ast-renderer.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-06-web-markdown-incremental-ast-renderer.md +2026-08-06-web-markdown-incremental-ast-renderer.md: 0491cf519655774df63b957baeb3ce52fc025823 +2026-08-06-web-markdown-incremental-ast-renderer.zh.md: 25824fa557ec945c9c78f17dcc1a567663883300 diff --git a/.agents/notes/implemented/architecture/2026-08-06-web-markdown-incremental-ast-renderer.md b/.agents/notes/archived/architecture/2026-08-06-web-markdown-incremental-ast-renderer.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-06-web-markdown-incremental-ast-renderer.md rename to .agents/notes/archived/architecture/2026-08-06-web-markdown-incremental-ast-renderer.md index 3599bfcc78..0491cf5196 100644 --- a/.agents/notes/implemented/architecture/2026-08-06-web-markdown-incremental-ast-renderer.md +++ b/.agents/notes/archived/architecture/2026-08-06-web-markdown-incremental-ast-renderer.md @@ -1,6 +1,7 @@ # Agent Note: Incremental streaming markdown through a direct mdast renderer Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-web-markdown-incremental-ast-renderer.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-06-web-markdown-incremental-ast-renderer.zh.md b/.agents/notes/archived/architecture/2026-08-06-web-markdown-incremental-ast-renderer.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-06-web-markdown-incremental-ast-renderer.zh.md rename to .agents/notes/archived/architecture/2026-08-06-web-markdown-incremental-ast-renderer.zh.md index 70261f5ef9..25824fa557 100644 --- a/.agents/notes/implemented/architecture/2026-08-06-web-markdown-incremental-ast-renderer.zh.md +++ b/.agents/notes/archived/architecture/2026-08-06-web-markdown-incremental-ast-renderer.zh.md @@ -1,6 +1,7 @@ # Agent Note: 经由直接 mdast 渲染器的增量流式 Markdown Status: implemented +Archived: 2026-09-04 [English](2026-08-06-web-markdown-incremental-ast-renderer.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-06-web-shell-dist-chunk-layout.i18n.yaml b/.agents/notes/archived/architecture/2026-08-06-web-shell-dist-chunk-layout.i18n.yaml new file mode 100644 index 0000000000..20a89895dd --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-06-web-shell-dist-chunk-layout.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-06-web-shell-dist-chunk-layout.md +2026-08-06-web-shell-dist-chunk-layout.md: 0ecc2674ade2854268b7771ef45af75d03d46007 +2026-08-06-web-shell-dist-chunk-layout.zh.md: 1a0d69776e3e9a87b23e4a5014de14a99f157e89 diff --git a/.agents/notes/implemented/architecture/2026-08-06-web-shell-dist-chunk-layout.md b/.agents/notes/archived/architecture/2026-08-06-web-shell-dist-chunk-layout.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-06-web-shell-dist-chunk-layout.md rename to .agents/notes/archived/architecture/2026-08-06-web-shell-dist-chunk-layout.md index 5407188dab..0ecc2674ad 100644 --- a/.agents/notes/implemented/architecture/2026-08-06-web-shell-dist-chunk-layout.md +++ b/.agents/notes/archived/architecture/2026-08-06-web-shell-dist-chunk-layout.md @@ -1,6 +1,7 @@ # Agent Note: Web shell dist chunk split and directory layout Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-web-shell-dist-chunk-layout.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-06-web-shell-dist-chunk-layout.zh.md b/.agents/notes/archived/architecture/2026-08-06-web-shell-dist-chunk-layout.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-06-web-shell-dist-chunk-layout.zh.md rename to .agents/notes/archived/architecture/2026-08-06-web-shell-dist-chunk-layout.zh.md index 15dcc7775f..1a0d69776e 100644 --- a/.agents/notes/implemented/architecture/2026-08-06-web-shell-dist-chunk-layout.zh.md +++ b/.agents/notes/archived/architecture/2026-08-06-web-shell-dist-chunk-layout.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 壳产物的分片拆分与目录布局 Status: implemented +Archived: 2026-09-04 [English](2026-08-06-web-shell-dist-chunk-layout.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-07-shared-feedback-telemetry-user-id.i18n.yaml b/.agents/notes/archived/architecture/2026-08-07-shared-feedback-telemetry-user-id.i18n.yaml new file mode 100644 index 0000000000..dbdc15a4d6 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-07-shared-feedback-telemetry-user-id.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-07-shared-feedback-telemetry-user-id.md +2026-08-07-shared-feedback-telemetry-user-id.md: c5a6fd5dda3a39f8b3fb210f373815a593d0a630 +2026-08-07-shared-feedback-telemetry-user-id.zh.md: dce8190157d0d48c83373149a52554ebb2c97c4b diff --git a/.agents/notes/implemented/architecture/2026-08-07-shared-feedback-telemetry-user-id.md b/.agents/notes/archived/architecture/2026-08-07-shared-feedback-telemetry-user-id.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-07-shared-feedback-telemetry-user-id.md rename to .agents/notes/archived/architecture/2026-08-07-shared-feedback-telemetry-user-id.md index 2efc5b9f5f..c5a6fd5dda 100644 --- a/.agents/notes/implemented/architecture/2026-08-07-shared-feedback-telemetry-user-id.md +++ b/.agents/notes/archived/architecture/2026-08-07-shared-feedback-telemetry-user-id.md @@ -1,6 +1,7 @@ # Agent Note: Shared anonymous user id across telemetry, feedback, and DeepSeek requests Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-07-shared-feedback-telemetry-user-id.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-07-shared-feedback-telemetry-user-id.zh.md b/.agents/notes/archived/architecture/2026-08-07-shared-feedback-telemetry-user-id.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-07-shared-feedback-telemetry-user-id.zh.md rename to .agents/notes/archived/architecture/2026-08-07-shared-feedback-telemetry-user-id.zh.md index 2f04536aec..dce8190157 100644 --- a/.agents/notes/implemented/architecture/2026-08-07-shared-feedback-telemetry-user-id.zh.md +++ b/.agents/notes/archived/architecture/2026-08-07-shared-feedback-telemetry-user-id.zh.md @@ -1,6 +1,7 @@ # Agent Note: 遥测、反馈与 DeepSeek 请求共享匿名用户 id Status: implemented +Archived: 2026-09-04 [English](2026-08-07-shared-feedback-telemetry-user-id.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-08-bounded-session-persistence-write-batching.i18n.yaml b/.agents/notes/archived/architecture/2026-08-08-bounded-session-persistence-write-batching.i18n.yaml new file mode 100644 index 0000000000..66a4309040 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-08-bounded-session-persistence-write-batching.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-08-bounded-session-persistence-write-batching.md +2026-08-08-bounded-session-persistence-write-batching.md: 69b25d82cc1a08e8903abf14afbb547bfa7c181d +2026-08-08-bounded-session-persistence-write-batching.zh.md: 69888527b10d55508069e492d376f0cd82d5c2cc diff --git a/.agents/notes/implemented/architecture/2026-08-08-bounded-session-persistence-write-batching.md b/.agents/notes/archived/architecture/2026-08-08-bounded-session-persistence-write-batching.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-08-bounded-session-persistence-write-batching.md rename to .agents/notes/archived/architecture/2026-08-08-bounded-session-persistence-write-batching.md index 350a4dd7a4..69b25d82cc 100644 --- a/.agents/notes/implemented/architecture/2026-08-08-bounded-session-persistence-write-batching.md +++ b/.agents/notes/archived/architecture/2026-08-08-bounded-session-persistence-write-batching.md @@ -1,6 +1,7 @@ # Agent Note: Bounded session persistence write batching Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-08-bounded-session-persistence-write-batching.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-08-bounded-session-persistence-write-batching.zh.md b/.agents/notes/archived/architecture/2026-08-08-bounded-session-persistence-write-batching.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-08-bounded-session-persistence-write-batching.zh.md rename to .agents/notes/archived/architecture/2026-08-08-bounded-session-persistence-write-batching.zh.md index 495d7a7824..69888527b1 100644 --- a/.agents/notes/implemented/architecture/2026-08-08-bounded-session-persistence-write-batching.zh.md +++ b/.agents/notes/archived/architecture/2026-08-08-bounded-session-persistence-write-batching.zh.md @@ -1,6 +1,7 @@ # Agent Note: 为会话持久化写入批处理设定上界 Status: implemented +Archived: 2026-09-04 [English](2026-08-08-bounded-session-persistence-write-batching.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-08-client-tool-presentation-ownership.i18n.yaml b/.agents/notes/archived/architecture/2026-08-08-client-tool-presentation-ownership.i18n.yaml new file mode 100644 index 0000000000..b1a2ec1968 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-08-client-tool-presentation-ownership.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-08-client-tool-presentation-ownership.md +2026-08-08-client-tool-presentation-ownership.md: 1de6468139fd7a54cff81e04a172bc41f541d4c2 +2026-08-08-client-tool-presentation-ownership.zh.md: 9ef138350b4b40d85a757e056a687e497f0f0fd7 diff --git a/.agents/notes/implemented/architecture/2026-08-08-client-tool-presentation-ownership.md b/.agents/notes/archived/architecture/2026-08-08-client-tool-presentation-ownership.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-08-client-tool-presentation-ownership.md rename to .agents/notes/archived/architecture/2026-08-08-client-tool-presentation-ownership.md index bf8568150c..1de6468139 100644 --- a/.agents/notes/implemented/architecture/2026-08-08-client-tool-presentation-ownership.md +++ b/.agents/notes/archived/architecture/2026-08-08-client-tool-presentation-ownership.md @@ -1,6 +1,7 @@ # Agent Note: Client Tool presentation ownership Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-08-client-tool-presentation-ownership.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-08-client-tool-presentation-ownership.zh.md b/.agents/notes/archived/architecture/2026-08-08-client-tool-presentation-ownership.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-08-client-tool-presentation-ownership.zh.md rename to .agents/notes/archived/architecture/2026-08-08-client-tool-presentation-ownership.zh.md index 015a48a049..9ef138350b 100644 --- a/.agents/notes/implemented/architecture/2026-08-08-client-tool-presentation-ownership.zh.md +++ b/.agents/notes/archived/architecture/2026-08-08-client-tool-presentation-ownership.zh.md @@ -1,6 +1,7 @@ # Agent Note: Client 工具展示所有权 Status: implemented +Archived: 2026-09-04 [English](2026-08-08-client-tool-presentation-ownership.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-08-per-preset-standing-mounts.i18n.yaml b/.agents/notes/archived/architecture/2026-08-08-per-preset-standing-mounts.i18n.yaml new file mode 100644 index 0000000000..77aca39fb1 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-08-per-preset-standing-mounts.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-08-per-preset-standing-mounts.md +2026-08-08-per-preset-standing-mounts.md: 75d3fad3b7e372f8a06cf047a2352db2b24c37cf +2026-08-08-per-preset-standing-mounts.zh.md: 4351daa56ed4ed25faf7ed236eb07979b1a3b835 diff --git a/.agents/notes/implemented/architecture/2026-08-08-per-preset-standing-mounts.md b/.agents/notes/archived/architecture/2026-08-08-per-preset-standing-mounts.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-08-per-preset-standing-mounts.md rename to .agents/notes/archived/architecture/2026-08-08-per-preset-standing-mounts.md index fe4bb0e2c3..75d3fad3b7 100644 --- a/.agents/notes/implemented/architecture/2026-08-08-per-preset-standing-mounts.md +++ b/.agents/notes/archived/architecture/2026-08-08-per-preset-standing-mounts.md @@ -1,6 +1,7 @@ # Agent Note: Per-preset standing mounts over a scope parent chain Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-08-per-preset-standing-mounts.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-08-per-preset-standing-mounts.zh.md b/.agents/notes/archived/architecture/2026-08-08-per-preset-standing-mounts.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-08-per-preset-standing-mounts.zh.md rename to .agents/notes/archived/architecture/2026-08-08-per-preset-standing-mounts.zh.md index bd9b296120..4351daa56e 100644 --- a/.agents/notes/implemented/architecture/2026-08-08-per-preset-standing-mounts.zh.md +++ b/.agents/notes/archived/architecture/2026-08-08-per-preset-standing-mounts.zh.md @@ -1,6 +1,7 @@ # Agent Note: 基于作用域父链的逐预设常驻挂载 Status: implemented +Archived: 2026-09-04 [English](2026-08-08-per-preset-standing-mounts.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-09-cordis-event-walk-backstop.i18n.yaml b/.agents/notes/archived/architecture/2026-08-09-cordis-event-walk-backstop.i18n.yaml new file mode 100644 index 0000000000..68d2adc9f4 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-09-cordis-event-walk-backstop.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-09-cordis-event-walk-backstop.md +2026-08-09-cordis-event-walk-backstop.md: 0ec2757bb4b24b7e5b989611222c77e28cdb9049 +2026-08-09-cordis-event-walk-backstop.zh.md: bc0193d6aa636c3acd9545059566254a4228a700 diff --git a/.agents/notes/implemented/architecture/2026-08-09-cordis-event-walk-backstop.md b/.agents/notes/archived/architecture/2026-08-09-cordis-event-walk-backstop.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-09-cordis-event-walk-backstop.md rename to .agents/notes/archived/architecture/2026-08-09-cordis-event-walk-backstop.md index 5a85c5df27..0ec2757bb4 100644 --- a/.agents/notes/implemented/architecture/2026-08-09-cordis-event-walk-backstop.md +++ b/.agents/notes/archived/architecture/2026-08-09-cordis-event-walk-backstop.md @@ -1,6 +1,7 @@ # Agent Note: An independent Events backstop closes the cordis-surface exhaustiveness gap Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-09-cordis-event-walk-backstop.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-09-cordis-event-walk-backstop.zh.md b/.agents/notes/archived/architecture/2026-08-09-cordis-event-walk-backstop.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-09-cordis-event-walk-backstop.zh.md rename to .agents/notes/archived/architecture/2026-08-09-cordis-event-walk-backstop.zh.md index 17660d90bd..bc0193d6aa 100644 --- a/.agents/notes/implemented/architecture/2026-08-09-cordis-event-walk-backstop.zh.md +++ b/.agents/notes/archived/architecture/2026-08-09-cordis-event-walk-backstop.zh.md @@ -1,6 +1,7 @@ # Agent Note: 独立的 Events 兜底扫描补上 Cordis 表面完备性缺口 Status: implemented +Archived: 2026-09-04 [English](2026-08-09-cordis-event-walk-backstop.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-09-headless-direct-core-entry-point.i18n.yaml b/.agents/notes/archived/architecture/2026-08-09-headless-direct-core-entry-point.i18n.yaml new file mode 100644 index 0000000000..7ae5446f79 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-09-headless-direct-core-entry-point.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-09-headless-direct-core-entry-point.md +2026-08-09-headless-direct-core-entry-point.md: c9dd7bdf0e54f80d1049d2bfcd66ca311543bf38 +2026-08-09-headless-direct-core-entry-point.zh.md: 350584066b626f8814bf9dea6f9a7fc3fb345cd5 diff --git a/.agents/notes/implemented/architecture/2026-08-09-headless-direct-core-entry-point.md b/.agents/notes/archived/architecture/2026-08-09-headless-direct-core-entry-point.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-09-headless-direct-core-entry-point.md rename to .agents/notes/archived/architecture/2026-08-09-headless-direct-core-entry-point.md index ca3effd6c0..c9dd7bdf0e 100644 --- a/.agents/notes/implemented/architecture/2026-08-09-headless-direct-core-entry-point.md +++ b/.agents/notes/archived/architecture/2026-08-09-headless-direct-core-entry-point.md @@ -1,6 +1,7 @@ # Agent Note: headless is a direct core entry point Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-09-headless-direct-core-entry-point.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-09-headless-direct-core-entry-point.zh.md b/.agents/notes/archived/architecture/2026-08-09-headless-direct-core-entry-point.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-09-headless-direct-core-entry-point.zh.md rename to .agents/notes/archived/architecture/2026-08-09-headless-direct-core-entry-point.zh.md index 4da5c95393..350584066b 100644 --- a/.agents/notes/implemented/architecture/2026-08-09-headless-direct-core-entry-point.zh.md +++ b/.agents/notes/archived/architecture/2026-08-09-headless-direct-core-entry-point.zh.md @@ -1,6 +1,7 @@ # Agent Note: headless 是直接使用核心服务的入口 Status: implemented +Archived: 2026-09-04 [English](2026-08-09-headless-direct-core-entry-point.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-09-layered-skill-registry.i18n.yaml b/.agents/notes/archived/architecture/2026-08-09-layered-skill-registry.i18n.yaml new file mode 100644 index 0000000000..4a70760f6d --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-09-layered-skill-registry.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-09-layered-skill-registry.md +2026-08-09-layered-skill-registry.md: 614714886ea498fcfb690b1b44edfa7f7fd0c068 +2026-08-09-layered-skill-registry.zh.md: b5b5ea2a7a82ee38afbda059e12e337682756902 diff --git a/.agents/notes/implemented/architecture/2026-08-09-layered-skill-registry.md b/.agents/notes/archived/architecture/2026-08-09-layered-skill-registry.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-09-layered-skill-registry.md rename to .agents/notes/archived/architecture/2026-08-09-layered-skill-registry.md index bf49dda62f..614714886e 100644 --- a/.agents/notes/implemented/architecture/2026-08-09-layered-skill-registry.md +++ b/.agents/notes/archived/architecture/2026-08-09-layered-skill-registry.md @@ -1,6 +1,7 @@ # Agent Note: The skill registry is host-held and layered per scope Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-09-layered-skill-registry.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-09-layered-skill-registry.zh.md b/.agents/notes/archived/architecture/2026-08-09-layered-skill-registry.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-09-layered-skill-registry.zh.md rename to .agents/notes/archived/architecture/2026-08-09-layered-skill-registry.zh.md index 2f3f9c207b..b5b5ea2a7a 100644 --- a/.agents/notes/implemented/architecture/2026-08-09-layered-skill-registry.zh.md +++ b/.agents/notes/archived/architecture/2026-08-09-layered-skill-registry.zh.md @@ -1,6 +1,7 @@ # Agent Note: skill 注册表由宿主持有并按 scope 分层 Status: implemented +Archived: 2026-09-04 [English](2026-08-09-layered-skill-registry.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-10-message-feedback-sidecar.i18n.yaml b/.agents/notes/archived/architecture/2026-08-10-message-feedback-sidecar.i18n.yaml new file mode 100644 index 0000000000..b3aab9eedf --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-10-message-feedback-sidecar.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-10-message-feedback-sidecar.md +2026-08-10-message-feedback-sidecar.md: 7e54f7c44e8ea35c3f10497c2f25cc6ec316152a +2026-08-10-message-feedback-sidecar.zh.md: 79a3796d9f4998791f6e8a0d7bfa53b8488d5fb5 diff --git a/.agents/notes/implemented/architecture/2026-08-10-message-feedback-sidecar.md b/.agents/notes/archived/architecture/2026-08-10-message-feedback-sidecar.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-10-message-feedback-sidecar.md rename to .agents/notes/archived/architecture/2026-08-10-message-feedback-sidecar.md index d047bebf47..7e54f7c44e 100644 --- a/.agents/notes/implemented/architecture/2026-08-10-message-feedback-sidecar.md +++ b/.agents/notes/archived/architecture/2026-08-10-message-feedback-sidecar.md @@ -1,6 +1,7 @@ # Agent Note: Lifecycle-bound message feedback sidecar Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-10-message-feedback-sidecar.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-10-message-feedback-sidecar.zh.md b/.agents/notes/archived/architecture/2026-08-10-message-feedback-sidecar.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-10-message-feedback-sidecar.zh.md rename to .agents/notes/archived/architecture/2026-08-10-message-feedback-sidecar.zh.md index 4ee1b861a8..79a3796d9f 100644 --- a/.agents/notes/implemented/architecture/2026-08-10-message-feedback-sidecar.zh.md +++ b/.agents/notes/archived/architecture/2026-08-10-message-feedback-sidecar.zh.md @@ -1,6 +1,7 @@ # Agent Note: 绑定生命周期的消息反馈伴随记录 Status: implemented +Archived: 2026-09-04 [English](2026-08-10-message-feedback-sidecar.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-10-product-subagent-providers-in-shared-host.i18n.yaml b/.agents/notes/archived/architecture/2026-08-10-product-subagent-providers-in-shared-host.i18n.yaml new file mode 100644 index 0000000000..e9f807f76b --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-10-product-subagent-providers-in-shared-host.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-10-product-subagent-providers-in-shared-host.md +2026-08-10-product-subagent-providers-in-shared-host.md: 4d127ac81632e3bc0ec5384a9188a98d8fbc1855 +2026-08-10-product-subagent-providers-in-shared-host.zh.md: 30ec4fa491f4769545892eaa375933c9eda87802 diff --git a/.agents/notes/implemented/architecture/2026-08-10-product-subagent-providers-in-shared-host.md b/.agents/notes/archived/architecture/2026-08-10-product-subagent-providers-in-shared-host.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-10-product-subagent-providers-in-shared-host.md rename to .agents/notes/archived/architecture/2026-08-10-product-subagent-providers-in-shared-host.md index a998408c4d..4d127ac816 100644 --- a/.agents/notes/implemented/architecture/2026-08-10-product-subagent-providers-in-shared-host.md +++ b/.agents/notes/archived/architecture/2026-08-10-product-subagent-providers-in-shared-host.md @@ -1,6 +1,7 @@ # Agent Note: Product subagent providers live in the shared profile host Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-10-product-subagent-providers-in-shared-host.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-10-product-subagent-providers-in-shared-host.zh.md b/.agents/notes/archived/architecture/2026-08-10-product-subagent-providers-in-shared-host.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-10-product-subagent-providers-in-shared-host.zh.md rename to .agents/notes/archived/architecture/2026-08-10-product-subagent-providers-in-shared-host.zh.md index cce746399b..30ec4fa491 100644 --- a/.agents/notes/implemented/architecture/2026-08-10-product-subagent-providers-in-shared-host.zh.md +++ b/.agents/notes/archived/architecture/2026-08-10-product-subagent-providers-in-shared-host.zh.md @@ -1,6 +1,7 @@ # Agent Note: 产品 subagent 提供方位于共享 profile 宿主 Status: implemented +Archived: 2026-09-04 [English](2026-08-10-product-subagent-providers-in-shared-host.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-10-unary-apiproxy-remote-migration.i18n.yaml b/.agents/notes/archived/architecture/2026-08-10-unary-apiproxy-remote-migration.i18n.yaml new file mode 100644 index 0000000000..e7cf9d5bb0 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-10-unary-apiproxy-remote-migration.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-10-unary-apiproxy-remote-migration.md +2026-08-10-unary-apiproxy-remote-migration.md: cb5faacebe6e79e64095ce4f15a6acfe43e2510b +2026-08-10-unary-apiproxy-remote-migration.zh.md: 090c835e187025fd075f7a8cd82751608873e160 diff --git a/.agents/notes/implemented/architecture/2026-08-10-unary-apiproxy-remote-migration.md b/.agents/notes/archived/architecture/2026-08-10-unary-apiproxy-remote-migration.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-10-unary-apiproxy-remote-migration.md rename to .agents/notes/archived/architecture/2026-08-10-unary-apiproxy-remote-migration.md index ee93276b08..cb5faacebe 100644 --- a/.agents/notes/implemented/architecture/2026-08-10-unary-apiproxy-remote-migration.md +++ b/.agents/notes/archived/architecture/2026-08-10-unary-apiproxy-remote-migration.md @@ -1,6 +1,7 @@ # Agent Note: Place unary browser operations on owning Remote services Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-10-unary-apiproxy-remote-migration.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-10-unary-apiproxy-remote-migration.zh.md b/.agents/notes/archived/architecture/2026-08-10-unary-apiproxy-remote-migration.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-10-unary-apiproxy-remote-migration.zh.md rename to .agents/notes/archived/architecture/2026-08-10-unary-apiproxy-remote-migration.zh.md index 63eb30a1c0..090c835e18 100644 --- a/.agents/notes/implemented/architecture/2026-08-10-unary-apiproxy-remote-migration.zh.md +++ b/.agents/notes/archived/architecture/2026-08-10-unary-apiproxy-remote-migration.zh.md @@ -1,6 +1,7 @@ # Agent Note: 将一元浏览器操作放到所属 Remote 服务 Status: implemented +Archived: 2026-09-04 [English](2026-08-10-unary-apiproxy-remote-migration.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-11-cmdline-seam-trim.i18n.yaml b/.agents/notes/archived/architecture/2026-08-11-cmdline-seam-trim.i18n.yaml new file mode 100644 index 0000000000..bdfa500cfa --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-11-cmdline-seam-trim.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-11-cmdline-seam-trim.md +2026-08-11-cmdline-seam-trim.md: 6ec356ce481040f2b9c89ffdaa73411e8007a93b +2026-08-11-cmdline-seam-trim.zh.md: dc711598041ced77497edb577505c3f5771fc505 diff --git a/.agents/notes/implemented/architecture/2026-08-11-cmdline-seam-trim.md b/.agents/notes/archived/architecture/2026-08-11-cmdline-seam-trim.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-11-cmdline-seam-trim.md rename to .agents/notes/archived/architecture/2026-08-11-cmdline-seam-trim.md index d7908d2c80..6ec356ce48 100644 --- a/.agents/notes/implemented/architecture/2026-08-11-cmdline-seam-trim.md +++ b/.agents/notes/archived/architecture/2026-08-11-cmdline-seam-trim.md @@ -1,6 +1,7 @@ # Agent Note: Trim the command-line seams to existing interfaces Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-11-cmdline-seam-trim.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-11-cmdline-seam-trim.zh.md b/.agents/notes/archived/architecture/2026-08-11-cmdline-seam-trim.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-11-cmdline-seam-trim.zh.md rename to .agents/notes/archived/architecture/2026-08-11-cmdline-seam-trim.zh.md index 75a57c022f..dc71159804 100644 --- a/.agents/notes/implemented/architecture/2026-08-11-cmdline-seam-trim.zh.md +++ b/.agents/notes/archived/architecture/2026-08-11-cmdline-seam-trim.zh.md @@ -1,6 +1,7 @@ # Agent Note: 把命令行接缝收窄到既有接口 Status: implemented +Archived: 2026-09-04 [English](2026-08-11-cmdline-seam-trim.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-11-loader-entry-disabled-interpolation.i18n.yaml b/.agents/notes/archived/architecture/2026-08-11-loader-entry-disabled-interpolation.i18n.yaml new file mode 100644 index 0000000000..b22c32e36a --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-11-loader-entry-disabled-interpolation.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-11-loader-entry-disabled-interpolation.md +2026-08-11-loader-entry-disabled-interpolation.md: 4a7a2690ce2a9a6e042a969420b5b13dcccd04f1 +2026-08-11-loader-entry-disabled-interpolation.zh.md: 01949fa1d40bfb25f1cb022e697fec064bf132e3 diff --git a/.agents/notes/implemented/architecture/2026-08-11-loader-entry-disabled-interpolation.md b/.agents/notes/archived/architecture/2026-08-11-loader-entry-disabled-interpolation.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-11-loader-entry-disabled-interpolation.md rename to .agents/notes/archived/architecture/2026-08-11-loader-entry-disabled-interpolation.md index 2d8fb73d95..4a7a2690ce 100644 --- a/.agents/notes/implemented/architecture/2026-08-11-loader-entry-disabled-interpolation.md +++ b/.agents/notes/archived/architecture/2026-08-11-loader-entry-disabled-interpolation.md @@ -1,6 +1,7 @@ # Agent Note: Loader interpolates the entry `disabled` field Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-11-loader-entry-disabled-interpolation.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-11-loader-entry-disabled-interpolation.zh.md b/.agents/notes/archived/architecture/2026-08-11-loader-entry-disabled-interpolation.zh.md similarity index 97% rename from .agents/notes/implemented/architecture/2026-08-11-loader-entry-disabled-interpolation.zh.md rename to .agents/notes/archived/architecture/2026-08-11-loader-entry-disabled-interpolation.zh.md index 292b191f82..01949fa1d4 100644 --- a/.agents/notes/implemented/architecture/2026-08-11-loader-entry-disabled-interpolation.zh.md +++ b/.agents/notes/archived/architecture/2026-08-11-loader-entry-disabled-interpolation.zh.md @@ -1,6 +1,7 @@ -# Agent Note:Loader 插值条目 `disabled` 字段 +# Agent Note: Loader 插值条目 `disabled` 字段 Status: implemented +Archived: 2026-09-04 [English](2026-08-11-loader-entry-disabled-interpolation.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-11-pwsh-persistent-pty.i18n.yaml b/.agents/notes/archived/architecture/2026-08-11-pwsh-persistent-pty.i18n.yaml new file mode 100644 index 0000000000..ae7d709b9b --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-11-pwsh-persistent-pty.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-11-pwsh-persistent-pty.md +2026-08-11-pwsh-persistent-pty.md: ad5a8fdff0a4c1dcdc7ba9fab9e4aede64235119 +2026-08-11-pwsh-persistent-pty.zh.md: 16d723a597c62ff7efbc66c14b36893bb5821927 diff --git a/.agents/notes/implemented/architecture/2026-08-11-pwsh-persistent-pty.md b/.agents/notes/archived/architecture/2026-08-11-pwsh-persistent-pty.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-11-pwsh-persistent-pty.md rename to .agents/notes/archived/architecture/2026-08-11-pwsh-persistent-pty.md index 4c523d3c7c..ad5a8fdff0 100644 --- a/.agents/notes/implemented/architecture/2026-08-11-pwsh-persistent-pty.md +++ b/.agents/notes/archived/architecture/2026-08-11-pwsh-persistent-pty.md @@ -1,6 +1,7 @@ # Agent Note: Persistent pwsh over the terminal seam on Windows Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-11-pwsh-persistent-pty.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-11-pwsh-persistent-pty.zh.md b/.agents/notes/archived/architecture/2026-08-11-pwsh-persistent-pty.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-11-pwsh-persistent-pty.zh.md rename to .agents/notes/archived/architecture/2026-08-11-pwsh-persistent-pty.zh.md index 4f87490fd6..16d723a597 100644 --- a/.agents/notes/implemented/architecture/2026-08-11-pwsh-persistent-pty.zh.md +++ b/.agents/notes/archived/architecture/2026-08-11-pwsh-persistent-pty.zh.md @@ -1,6 +1,7 @@ # Agent Note: Windows 上基于 terminal seam 的持久化 pwsh Status: implemented +Archived: 2026-09-04 [English](2026-08-11-pwsh-persistent-pty.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.i18n.yaml b/.agents/notes/archived/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.i18n.yaml new file mode 100644 index 0000000000..a209f1fa60 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.md +2026-08-11-repository-naming-contract-and-rename-ledger.md: 10b172e86699d4e3d3d6bdfe01028bdf205b5642 +2026-08-11-repository-naming-contract-and-rename-ledger.zh.md: 86d663dcf38ae09c3fc9b2cc4be34a8ae8d62b68 diff --git a/.agents/notes/implemented/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.md b/.agents/notes/archived/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.md rename to .agents/notes/archived/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.md index 269f18c494..10b172e866 100644 --- a/.agents/notes/implemented/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.md +++ b/.agents/notes/archived/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.md @@ -1,6 +1,7 @@ # Agent Note: Repository naming contract and pre-release rename ledger Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-11-repository-naming-contract-and-rename-ledger.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.zh.md b/.agents/notes/archived/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.zh.md rename to .agents/notes/archived/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.zh.md index 614332795d..86d663dcf3 100644 --- a/.agents/notes/implemented/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.zh.md +++ b/.agents/notes/archived/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.zh.md @@ -1,6 +1,7 @@ # Agent Note: 仓库命名约定与预发布重命名清单 Status: implemented +Archived: 2026-09-04 [English](2026-08-11-repository-naming-contract-and-rename-ledger.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-11-trajectory-conversation-context-assembly.i18n.yaml b/.agents/notes/archived/architecture/2026-08-11-trajectory-conversation-context-assembly.i18n.yaml new file mode 100644 index 0000000000..2abef0b23a --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-11-trajectory-conversation-context-assembly.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-11-trajectory-conversation-context-assembly.md +2026-08-11-trajectory-conversation-context-assembly.md: f9cde8c6e78d5e80e6a8cfa2ac7bcae27c85af2b +2026-08-11-trajectory-conversation-context-assembly.zh.md: e60884f4c3e359f6e0364df86102c523981b607b diff --git a/.agents/notes/implemented/architecture/2026-08-11-trajectory-conversation-context-assembly.md b/.agents/notes/archived/architecture/2026-08-11-trajectory-conversation-context-assembly.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-11-trajectory-conversation-context-assembly.md rename to .agents/notes/archived/architecture/2026-08-11-trajectory-conversation-context-assembly.md index fd246922b0..f9cde8c6e7 100644 --- a/.agents/notes/implemented/architecture/2026-08-11-trajectory-conversation-context-assembly.md +++ b/.agents/notes/archived/architecture/2026-08-11-trajectory-conversation-context-assembly.md @@ -1,6 +1,7 @@ # Agent Note: Trajectory assembly from registered Conversation Contexts Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-11-trajectory-conversation-context-assembly.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-11-trajectory-conversation-context-assembly.zh.md b/.agents/notes/archived/architecture/2026-08-11-trajectory-conversation-context-assembly.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-11-trajectory-conversation-context-assembly.zh.md rename to .agents/notes/archived/architecture/2026-08-11-trajectory-conversation-context-assembly.zh.md index 2568de889f..e60884f4c3 100644 --- a/.agents/notes/implemented/architecture/2026-08-11-trajectory-conversation-context-assembly.zh.md +++ b/.agents/notes/archived/architecture/2026-08-11-trajectory-conversation-context-assembly.zh.md @@ -1,6 +1,7 @@ # Agent Note: Trajectory 基于注册式 Conversation Context 组装数据 Status: implemented +Archived: 2026-09-04 [English](2026-08-11-trajectory-conversation-context-assembly.md) | 中文 diff --git a/.agents/notes/implemented/feature/2026-07-30-web-search-card.i18n.yaml b/.agents/notes/archived/architecture/2026-08-12-pi-ai-route-default-input-modalities.i18n.yaml similarity index 54% rename from .agents/notes/implemented/feature/2026-07-30-web-search-card.i18n.yaml rename to .agents/notes/archived/architecture/2026-08-12-pi-ai-route-default-input-modalities.i18n.yaml index 9e2f0ab43b..bb265599de 100644 --- a/.agents/notes/implemented/feature/2026-07-30-web-search-card.i18n.yaml +++ b/.agents/notes/archived/architecture/2026-08-12-pi-ai-route-default-input-modalities.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/feature/2026-07-30-web-search-card.md -2026-07-30-web-search-card.md: 55a91e2d2a9f35dd8897822442119edc88431e9b -2026-07-30-web-search-card.zh.md: eda7332848e513b52b04a944ca4fc1166027420b +# pnpm run verify-translation-pairing --write .agents/notes/archived/architecture/2026-08-12-pi-ai-route-default-input-modalities.md +2026-08-12-pi-ai-route-default-input-modalities.md: b7edb4e032a67c83a29d26d26b786d2f93918767 +2026-08-12-pi-ai-route-default-input-modalities.zh.md: 6509342d87e5f325163a493c0eae77bb88291baa diff --git a/.agents/notes/implemented/architecture/2026-08-12-pi-ai-route-default-input-modalities.md b/.agents/notes/archived/architecture/2026-08-12-pi-ai-route-default-input-modalities.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-12-pi-ai-route-default-input-modalities.md rename to .agents/notes/archived/architecture/2026-08-12-pi-ai-route-default-input-modalities.md index 83158d686b..b7edb4e032 100644 --- a/.agents/notes/implemented/architecture/2026-08-12-pi-ai-route-default-input-modalities.md +++ b/.agents/notes/archived/architecture/2026-08-12-pi-ai-route-default-input-modalities.md @@ -1,6 +1,7 @@ # Agent Note: A pi-ai model declares its own input modalities, and undeclared means text Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-12-pi-ai-route-default-input-modalities.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-12-pi-ai-route-default-input-modalities.zh.md b/.agents/notes/archived/architecture/2026-08-12-pi-ai-route-default-input-modalities.zh.md similarity index 98% rename from .agents/notes/implemented/architecture/2026-08-12-pi-ai-route-default-input-modalities.zh.md rename to .agents/notes/archived/architecture/2026-08-12-pi-ai-route-default-input-modalities.zh.md index 18ee56db7b..6509342d87 100644 --- a/.agents/notes/implemented/architecture/2026-08-12-pi-ai-route-default-input-modalities.zh.md +++ b/.agents/notes/archived/architecture/2026-08-12-pi-ai-route-default-input-modalities.zh.md @@ -1,6 +1,7 @@ -# Agent Note:pi-ai 模型自行声明输入模态,未声明即为文本 +# Agent Note: pi-ai 模型自行声明输入模态,未声明即为文本 Status: implemented +Archived: 2026-09-04 [English](2026-08-12-pi-ai-route-default-input-modalities.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-12-plugin-owned-settings-surface.i18n.yaml b/.agents/notes/archived/architecture/2026-08-12-plugin-owned-settings-surface.i18n.yaml new file mode 100644 index 0000000000..6767b618fd --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-12-plugin-owned-settings-surface.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-12-plugin-owned-settings-surface.md +2026-08-12-plugin-owned-settings-surface.md: 7ca91864c3a62223abfd69e973dbf5be72123059 +2026-08-12-plugin-owned-settings-surface.zh.md: 3ac76f501d580ddc6ba8bce9a5505fd6b80eb1c9 diff --git a/.agents/notes/implemented/architecture/2026-08-12-plugin-owned-settings-surface.md b/.agents/notes/archived/architecture/2026-08-12-plugin-owned-settings-surface.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-12-plugin-owned-settings-surface.md rename to .agents/notes/archived/architecture/2026-08-12-plugin-owned-settings-surface.md index f1c9b48abd..7ca91864c3 100644 --- a/.agents/notes/implemented/architecture/2026-08-12-plugin-owned-settings-surface.md +++ b/.agents/notes/archived/architecture/2026-08-12-plugin-owned-settings-surface.md @@ -1,6 +1,7 @@ # Agent Note: Plugin-owned settings surface Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-12-plugin-owned-settings-surface.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-12-plugin-owned-settings-surface.zh.md b/.agents/notes/archived/architecture/2026-08-12-plugin-owned-settings-surface.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-12-plugin-owned-settings-surface.zh.md rename to .agents/notes/archived/architecture/2026-08-12-plugin-owned-settings-surface.zh.md index ff9f37290a..3ac76f501d 100644 --- a/.agents/notes/implemented/architecture/2026-08-12-plugin-owned-settings-surface.zh.md +++ b/.agents/notes/archived/architecture/2026-08-12-plugin-owned-settings-surface.zh.md @@ -1,6 +1,7 @@ # Agent Note: 由插件自己拥有的设置表层 Status: implemented +Archived: 2026-09-04 [English](2026-08-12-plugin-owned-settings-surface.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-13-session-content-search-opt-in.i18n.yaml b/.agents/notes/archived/architecture/2026-08-13-session-content-search-opt-in.i18n.yaml new file mode 100644 index 0000000000..308f226774 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-13-session-content-search-opt-in.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-13-session-content-search-opt-in.md +2026-08-13-session-content-search-opt-in.md: f412248fb006763fb8a9ccedb6ee2f8a1eb81a74 +2026-08-13-session-content-search-opt-in.zh.md: 2e3c30d474dd79c7134adb4738dbcab1fe16ce4d diff --git a/.agents/notes/implemented/architecture/2026-08-13-session-content-search-opt-in.md b/.agents/notes/archived/architecture/2026-08-13-session-content-search-opt-in.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-13-session-content-search-opt-in.md rename to .agents/notes/archived/architecture/2026-08-13-session-content-search-opt-in.md index 2d14b2def0..f412248fb0 100644 --- a/.agents/notes/implemented/architecture/2026-08-13-session-content-search-opt-in.md +++ b/.agents/notes/archived/architecture/2026-08-13-session-content-search-opt-in.md @@ -1,6 +1,7 @@ # Agent Note: Session content search ships opt-in through openAt never Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-13-session-content-search-opt-in.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-13-session-content-search-opt-in.zh.md b/.agents/notes/archived/architecture/2026-08-13-session-content-search-opt-in.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-13-session-content-search-opt-in.zh.md rename to .agents/notes/archived/architecture/2026-08-13-session-content-search-opt-in.zh.md index 5231b37cf1..2e3c30d474 100644 --- a/.agents/notes/implemented/architecture/2026-08-13-session-content-search-opt-in.zh.md +++ b/.agents/notes/archived/architecture/2026-08-13-session-content-search-opt-in.zh.md @@ -1,6 +1,7 @@ # Agent Note: 会话内容搜索通过 openAt never 以 opt-in 方式交付 Status: implemented +Archived: 2026-09-04 [English](2026-08-13-session-content-search-opt-in.md) | 中文 diff --git a/.agents/notes/implemented/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.i18n.yaml b/.agents/notes/archived/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.i18n.yaml similarity index 51% rename from .agents/notes/implemented/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.i18n.yaml rename to .agents/notes/archived/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.i18n.yaml index 9d9a58eb1f..a88e10def3 100644 --- a/.agents/notes/implemented/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.i18n.yaml +++ b/.agents/notes/archived/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.md -2026-08-17-dynamic-client-render-and-attachment-ownership.md: a7955156adf76e8655295d4db316ed35d1968585 -2026-08-17-dynamic-client-render-and-attachment-ownership.zh.md: fb06fe873096e9a28c0de7923c2005d328e372e6 +# pnpm run verify-translation-pairing --write .agents/notes/archived/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.md +2026-08-17-dynamic-client-render-and-attachment-ownership.md: c29bf25ad9d403b591c253d79a3190778a0d0983 +2026-08-17-dynamic-client-render-and-attachment-ownership.zh.md: fd6e7bc0954e6dcdb7703b6d77857319803cbc16 diff --git a/.agents/notes/implemented/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.md b/.agents/notes/archived/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.md rename to .agents/notes/archived/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.md index a7955156ad..c29bf25ad9 100644 --- a/.agents/notes/implemented/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.md +++ b/.agents/notes/archived/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.md @@ -1,6 +1,7 @@ # Agent Note: Dynamic client render and attachment ownership Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-17-dynamic-client-render-and-attachment-ownership.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.zh.md b/.agents/notes/archived/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.zh.md rename to .agents/notes/archived/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.zh.md index fb06fe8730..fd6e7bc095 100644 --- a/.agents/notes/implemented/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.zh.md +++ b/.agents/notes/archived/architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.zh.md @@ -1,6 +1,7 @@ # Agent Note: 客户端渲染与附件呈现的动态归属 Status: implemented +Archived: 2026-09-04 [English](2026-08-17-dynamic-client-render-and-attachment-ownership.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-17-settings-describe-mirror.i18n.yaml b/.agents/notes/archived/architecture/2026-08-17-settings-describe-mirror.i18n.yaml new file mode 100644 index 0000000000..d42a8a1285 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-17-settings-describe-mirror.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-17-settings-describe-mirror.md +2026-08-17-settings-describe-mirror.md: f13ebe78f1fe198018ddd2257ccd360e9d994604 +2026-08-17-settings-describe-mirror.zh.md: a307c981f4e8c1ff3728f0f415ce274bb95055f4 diff --git a/.agents/notes/implemented/architecture/2026-08-17-settings-describe-mirror.md b/.agents/notes/archived/architecture/2026-08-17-settings-describe-mirror.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-17-settings-describe-mirror.md rename to .agents/notes/archived/architecture/2026-08-17-settings-describe-mirror.md index 81be16c83e..f13ebe78f1 100644 --- a/.agents/notes/implemented/architecture/2026-08-17-settings-describe-mirror.md +++ b/.agents/notes/archived/architecture/2026-08-17-settings-describe-mirror.md @@ -1,6 +1,7 @@ # Agent Note: Settings describe mirror Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-17-settings-describe-mirror.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-17-settings-describe-mirror.zh.md b/.agents/notes/archived/architecture/2026-08-17-settings-describe-mirror.zh.md similarity index 98% rename from .agents/notes/implemented/architecture/2026-08-17-settings-describe-mirror.zh.md rename to .agents/notes/archived/architecture/2026-08-17-settings-describe-mirror.zh.md index 6c37992b7d..a307c981f4 100644 --- a/.agents/notes/implemented/architecture/2026-08-17-settings-describe-mirror.zh.md +++ b/.agents/notes/archived/architecture/2026-08-17-settings-describe-mirror.zh.md @@ -1,6 +1,7 @@ -# Agent Note:Settings describe 镜像 +# Agent Note: Settings describe 镜像 Status: implemented +Archived: 2026-09-04 [English](2026-08-17-settings-describe-mirror.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-18-client-build-environment.i18n.yaml b/.agents/notes/archived/architecture/2026-08-18-client-build-environment.i18n.yaml new file mode 100644 index 0000000000..33bc0863fd --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-18-client-build-environment.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-18-client-build-environment.md +2026-08-18-client-build-environment.md: 203d910963e4deda56573a3cb2b0fd1a8940e2e1 +2026-08-18-client-build-environment.zh.md: 849d3094062a45d9a0ec8b0785c491f5d5a5af0b diff --git a/.agents/notes/implemented/architecture/2026-08-18-client-build-environment.md b/.agents/notes/archived/architecture/2026-08-18-client-build-environment.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-18-client-build-environment.md rename to .agents/notes/archived/architecture/2026-08-18-client-build-environment.md index c23a73e952..203d910963 100644 --- a/.agents/notes/implemented/architecture/2026-08-18-client-build-environment.md +++ b/.agents/notes/archived/architecture/2026-08-18-client-build-environment.md @@ -1,6 +1,7 @@ # Agent Note: Build-time public environment variables for client business code Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-18-client-build-environment.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-18-client-build-environment.zh.md b/.agents/notes/archived/architecture/2026-08-18-client-build-environment.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-18-client-build-environment.zh.md rename to .agents/notes/archived/architecture/2026-08-18-client-build-environment.zh.md index 5dbb5deeee..849d309406 100644 --- a/.agents/notes/implemented/architecture/2026-08-18-client-build-environment.zh.md +++ b/.agents/notes/archived/architecture/2026-08-18-client-build-environment.zh.md @@ -1,6 +1,7 @@ # Agent Note: Client 业务代码使用构建期公开环境变量 Status: implemented +Archived: 2026-09-04 [English](2026-08-18-client-build-environment.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-19-experimental-package-name-prefix.i18n.yaml b/.agents/notes/archived/architecture/2026-08-19-experimental-package-name-prefix.i18n.yaml new file mode 100644 index 0000000000..b68729416d --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-19-experimental-package-name-prefix.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-19-experimental-package-name-prefix.md +2026-08-19-experimental-package-name-prefix.md: 44b4e64def44de8eae87e60f1481a99bb5bc29b4 +2026-08-19-experimental-package-name-prefix.zh.md: 6f26b4ddfe7aba8f6f64179d68d3efdd30d92d8b diff --git a/.agents/notes/implemented/architecture/2026-08-19-experimental-package-name-prefix.md b/.agents/notes/archived/architecture/2026-08-19-experimental-package-name-prefix.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-19-experimental-package-name-prefix.md rename to .agents/notes/archived/architecture/2026-08-19-experimental-package-name-prefix.md index 3420fa20a0..44b4e64def 100644 --- a/.agents/notes/implemented/architecture/2026-08-19-experimental-package-name-prefix.md +++ b/.agents/notes/archived/architecture/2026-08-19-experimental-package-name-prefix.md @@ -1,6 +1,7 @@ # Agent Note: Mark experimental packages in npm names Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-19-experimental-package-name-prefix.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-19-experimental-package-name-prefix.zh.md b/.agents/notes/archived/architecture/2026-08-19-experimental-package-name-prefix.zh.md similarity index 98% rename from .agents/notes/implemented/architecture/2026-08-19-experimental-package-name-prefix.zh.md rename to .agents/notes/archived/architecture/2026-08-19-experimental-package-name-prefix.zh.md index b7e7d07315..6f26b4ddfe 100644 --- a/.agents/notes/implemented/architecture/2026-08-19-experimental-package-name-prefix.zh.md +++ b/.agents/notes/archived/architecture/2026-08-19-experimental-package-name-prefix.zh.md @@ -1,6 +1,7 @@ # Agent Note: 在 npm 名中标记实验性包 Status: implemented +Archived: 2026-09-04 [English](2026-08-19-experimental-package-name-prefix.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-19-projection-cache-per-session-files.i18n.yaml b/.agents/notes/archived/architecture/2026-08-19-projection-cache-per-session-files.i18n.yaml new file mode 100644 index 0000000000..c2cb4a9d35 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-19-projection-cache-per-session-files.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-19-projection-cache-per-session-files.md +2026-08-19-projection-cache-per-session-files.md: 367d5bb42fef04dca92ab14ede1837df1436642e +2026-08-19-projection-cache-per-session-files.zh.md: 4d1ac6825f19c88d7db78cad1624b32b6db9cfd6 diff --git a/.agents/notes/implemented/architecture/2026-08-19-projection-cache-per-session-files.md b/.agents/notes/archived/architecture/2026-08-19-projection-cache-per-session-files.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-19-projection-cache-per-session-files.md rename to .agents/notes/archived/architecture/2026-08-19-projection-cache-per-session-files.md index 0792ed6cac..367d5bb42f 100644 --- a/.agents/notes/implemented/architecture/2026-08-19-projection-cache-per-session-files.md +++ b/.agents/notes/archived/architecture/2026-08-19-projection-cache-per-session-files.md @@ -1,6 +1,7 @@ # Agent Note: Projection cache as per-session files Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-19-projection-cache-per-session-files.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-19-projection-cache-per-session-files.zh.md b/.agents/notes/archived/architecture/2026-08-19-projection-cache-per-session-files.zh.md similarity index 98% rename from .agents/notes/implemented/architecture/2026-08-19-projection-cache-per-session-files.zh.md rename to .agents/notes/archived/architecture/2026-08-19-projection-cache-per-session-files.zh.md index 201146ce85..4d1ac6825f 100644 --- a/.agents/notes/implemented/architecture/2026-08-19-projection-cache-per-session-files.zh.md +++ b/.agents/notes/archived/architecture/2026-08-19-projection-cache-per-session-files.zh.md @@ -1,6 +1,7 @@ -# Agent Note:投影缓存改为每会话文件 +# Agent Note: 投影缓存改为每会话文件 Status: implemented +Archived: 2026-09-04 [English](2026-08-19-projection-cache-per-session-files.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-19-session-projection-state-and-client-views.i18n.yaml b/.agents/notes/archived/architecture/2026-08-19-session-projection-state-and-client-views.i18n.yaml new file mode 100644 index 0000000000..b89cf90712 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-19-session-projection-state-and-client-views.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-19-session-projection-state-and-client-views.md +2026-08-19-session-projection-state-and-client-views.md: 76e3c01b1cb09558eabffb032d029ae6bcbe96ea +2026-08-19-session-projection-state-and-client-views.zh.md: 18c55b330ced7cfeb14c28a0f66eeb6e21b767b2 diff --git a/.agents/notes/implemented/architecture/2026-08-19-session-projection-state-and-client-views.md b/.agents/notes/archived/architecture/2026-08-19-session-projection-state-and-client-views.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-19-session-projection-state-and-client-views.md rename to .agents/notes/archived/architecture/2026-08-19-session-projection-state-and-client-views.md index e8b4c3c052..76e3c01b1c 100644 --- a/.agents/notes/implemented/architecture/2026-08-19-session-projection-state-and-client-views.md +++ b/.agents/notes/archived/architecture/2026-08-19-session-projection-state-and-client-views.md @@ -1,6 +1,7 @@ # Agent Note: Separate session projection state from client views Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-19-session-projection-state-and-client-views.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-19-session-projection-state-and-client-views.zh.md b/.agents/notes/archived/architecture/2026-08-19-session-projection-state-and-client-views.zh.md similarity index 97% rename from .agents/notes/implemented/architecture/2026-08-19-session-projection-state-and-client-views.zh.md rename to .agents/notes/archived/architecture/2026-08-19-session-projection-state-and-client-views.zh.md index fb2488aeb6..18c55b330c 100644 --- a/.agents/notes/implemented/architecture/2026-08-19-session-projection-state-and-client-views.zh.md +++ b/.agents/notes/archived/architecture/2026-08-19-session-projection-state-and-client-views.zh.md @@ -1,6 +1,7 @@ -# Agent Note:拆分会话投影状态与客户端视图 +# Agent Note: 拆分会话投影状态与客户端视图 -状态:已实现 +Status: implemented +Archived: 2026-09-04 [English](2026-08-19-session-projection-state-and-client-views.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-19-shared-win32-process-primitives.i18n.yaml b/.agents/notes/archived/architecture/2026-08-19-shared-win32-process-primitives.i18n.yaml new file mode 100644 index 0000000000..35edc1e6f3 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-19-shared-win32-process-primitives.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-19-shared-win32-process-primitives.md +2026-08-19-shared-win32-process-primitives.md: 5c4ef5d1922428ba3ad5a1241e9c318b96c7b571 +2026-08-19-shared-win32-process-primitives.zh.md: 121e5764f1bb7bc2f1a17fcea340f9a88431079c diff --git a/.agents/notes/implemented/architecture/2026-08-19-shared-win32-process-primitives.md b/.agents/notes/archived/architecture/2026-08-19-shared-win32-process-primitives.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-19-shared-win32-process-primitives.md rename to .agents/notes/archived/architecture/2026-08-19-shared-win32-process-primitives.md index 8765e5f735..5c4ef5d192 100644 --- a/.agents/notes/implemented/architecture/2026-08-19-shared-win32-process-primitives.md +++ b/.agents/notes/archived/architecture/2026-08-19-shared-win32-process-primitives.md @@ -1,6 +1,7 @@ # Agent Note: Windows sandbox process primitives have one low-level owner Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-19-shared-win32-process-primitives.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-19-shared-win32-process-primitives.zh.md b/.agents/notes/archived/architecture/2026-08-19-shared-win32-process-primitives.zh.md similarity index 97% rename from .agents/notes/implemented/architecture/2026-08-19-shared-win32-process-primitives.zh.md rename to .agents/notes/archived/architecture/2026-08-19-shared-win32-process-primitives.zh.md index b21ece8445..121e5764f1 100644 --- a/.agents/notes/implemented/architecture/2026-08-19-shared-win32-process-primitives.zh.md +++ b/.agents/notes/archived/architecture/2026-08-19-shared-win32-process-primitives.zh.md @@ -1,6 +1,7 @@ -# Agent Note:Windows sandbox process primitives 只有一个低层 owner +# Agent Note: Windows sandbox process primitives 只有一个低层 owner Status: implemented +Archived: 2026-09-04 [English](2026-08-19-shared-win32-process-primitives.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-19-web-index-injection-table.i18n.yaml b/.agents/notes/archived/architecture/2026-08-19-web-index-injection-table.i18n.yaml new file mode 100644 index 0000000000..f76b5c7597 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-19-web-index-injection-table.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-19-web-index-injection-table.md +2026-08-19-web-index-injection-table.md: 3d3264dea3e70234f2bab71b5f11c946b719508f +2026-08-19-web-index-injection-table.zh.md: 2e55bac523a59a5a54a774fcde926c28e8471237 diff --git a/.agents/notes/implemented/architecture/2026-08-19-web-index-injection-table.md b/.agents/notes/archived/architecture/2026-08-19-web-index-injection-table.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-19-web-index-injection-table.md rename to .agents/notes/archived/architecture/2026-08-19-web-index-injection-table.md index 050690946a..3d3264dea3 100644 --- a/.agents/notes/implemented/architecture/2026-08-19-web-index-injection-table.md +++ b/.agents/notes/archived/architecture/2026-08-19-web-index-injection-table.md @@ -1,6 +1,7 @@ # Agent Note: structured index injection table (webserver/index-inject) Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-19-web-index-injection-table.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-19-web-index-injection-table.zh.md b/.agents/notes/archived/architecture/2026-08-19-web-index-injection-table.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-19-web-index-injection-table.zh.md rename to .agents/notes/archived/architecture/2026-08-19-web-index-injection-table.zh.md index 27d1cbce1d..2e55bac523 100644 --- a/.agents/notes/implemented/architecture/2026-08-19-web-index-injection-table.zh.md +++ b/.agents/notes/archived/architecture/2026-08-19-web-index-injection-table.zh.md @@ -1,6 +1,7 @@ # Agent Note: 结构化 index 注入表(webserver/index-inject 事件) Status: implemented +Archived: 2026-09-04 [English](2026-08-19-web-index-injection-table.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-20-preview-cloudflare-pages-deploy.i18n.yaml b/.agents/notes/archived/architecture/2026-08-20-preview-cloudflare-pages-deploy.i18n.yaml new file mode 100644 index 0000000000..11a93c52e0 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-20-preview-cloudflare-pages-deploy.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-20-preview-cloudflare-pages-deploy.md +2026-08-20-preview-cloudflare-pages-deploy.md: c987ebedc301076e6de0e13ce2f4d0113e8e97f9 +2026-08-20-preview-cloudflare-pages-deploy.zh.md: 333513186e4d271af4fb348bbd06adabe8f98e6c diff --git a/.agents/notes/implemented/architecture/2026-08-20-preview-cloudflare-pages-deploy.md b/.agents/notes/archived/architecture/2026-08-20-preview-cloudflare-pages-deploy.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-20-preview-cloudflare-pages-deploy.md rename to .agents/notes/archived/architecture/2026-08-20-preview-cloudflare-pages-deploy.md index 38b2834d61..c987ebedc3 100644 --- a/.agents/notes/implemented/architecture/2026-08-20-preview-cloudflare-pages-deploy.md +++ b/.agents/notes/archived/architecture/2026-08-20-preview-cloudflare-pages-deploy.md @@ -1,6 +1,7 @@ # Agent Note: per-PR preview deployments on Cloudflare Pages Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-20-preview-cloudflare-pages-deploy.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-20-preview-cloudflare-pages-deploy.zh.md b/.agents/notes/archived/architecture/2026-08-20-preview-cloudflare-pages-deploy.zh.md similarity index 97% rename from .agents/notes/implemented/architecture/2026-08-20-preview-cloudflare-pages-deploy.zh.md rename to .agents/notes/archived/architecture/2026-08-20-preview-cloudflare-pages-deploy.zh.md index 3ebb8eba95..333513186e 100644 --- a/.agents/notes/implemented/architecture/2026-08-20-preview-cloudflare-pages-deploy.zh.md +++ b/.agents/notes/archived/architecture/2026-08-20-preview-cloudflare-pages-deploy.zh.md @@ -1,6 +1,7 @@ -# Agent Note:每 PR 预览部署上 Cloudflare Pages +# Agent Note: 每 PR 预览部署上 Cloudflare Pages -状态:已实现 +Status: implemented +Archived: 2026-09-04 [English](2026-08-20-preview-cloudflare-pages-deploy.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-20-web-composer-lexical-editor.i18n.yaml b/.agents/notes/archived/architecture/2026-08-20-web-composer-lexical-editor.i18n.yaml new file mode 100644 index 0000000000..bdcf12072f --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-20-web-composer-lexical-editor.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-20-web-composer-lexical-editor.md +2026-08-20-web-composer-lexical-editor.md: 434d08af0218abfbd52d7f4a7423e14ae578702f +2026-08-20-web-composer-lexical-editor.zh.md: bf466aa7d641ceb29a29fb3e8a772a2152ffbe83 diff --git a/.agents/notes/implemented/architecture/2026-08-20-web-composer-lexical-editor.md b/.agents/notes/archived/architecture/2026-08-20-web-composer-lexical-editor.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-20-web-composer-lexical-editor.md rename to .agents/notes/archived/architecture/2026-08-20-web-composer-lexical-editor.md index bc1f2f55c8..434d08af02 100644 --- a/.agents/notes/implemented/architecture/2026-08-20-web-composer-lexical-editor.md +++ b/.agents/notes/archived/architecture/2026-08-20-web-composer-lexical-editor.md @@ -1,6 +1,7 @@ # Agent Note: Web composer as a Lexical editor (chips as atomic nodes) Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-20-web-composer-lexical-editor.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-20-web-composer-lexical-editor.zh.md b/.agents/notes/archived/architecture/2026-08-20-web-composer-lexical-editor.zh.md similarity index 98% rename from .agents/notes/implemented/architecture/2026-08-20-web-composer-lexical-editor.zh.md rename to .agents/notes/archived/architecture/2026-08-20-web-composer-lexical-editor.zh.md index 2ba7e495a7..bf466aa7d6 100644 --- a/.agents/notes/implemented/architecture/2026-08-20-web-composer-lexical-editor.zh.md +++ b/.agents/notes/archived/architecture/2026-08-20-web-composer-lexical-editor.zh.md @@ -1,6 +1,7 @@ -# Agent Note:Web 输入框改为 Lexical 编辑器(chip 为原子节点) +# Agent Note: Web 输入框改为 Lexical 编辑器(chip 为原子节点) Status: implemented +Archived: 2026-09-04 [English](2026-08-20-web-composer-lexical-editor.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-20-webworker-node-face.i18n.yaml b/.agents/notes/archived/architecture/2026-08-20-webworker-node-face.i18n.yaml new file mode 100644 index 0000000000..2cd4c0dafd --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-20-webworker-node-face.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-20-webworker-node-face.md +2026-08-20-webworker-node-face.md: 705b55b9518fb0b75644ce33af1a487b4fe4344e +2026-08-20-webworker-node-face.zh.md: d68a3d4d69d4e1ef13ca48ef212693379be96e41 diff --git a/.agents/notes/implemented/architecture/2026-08-20-webworker-node-face.md b/.agents/notes/archived/architecture/2026-08-20-webworker-node-face.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-20-webworker-node-face.md rename to .agents/notes/archived/architecture/2026-08-20-webworker-node-face.md index 05c3bfe7fa..705b55b951 100644 --- a/.agents/notes/implemented/architecture/2026-08-20-webworker-node-face.md +++ b/.agents/notes/archived/architecture/2026-08-20-webworker-node-face.md @@ -1,6 +1,7 @@ # Agent Note: the worker's Node face — builtins, VFS, and the shell process layer Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-20-webworker-node-face.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-20-webworker-node-face.zh.md b/.agents/notes/archived/architecture/2026-08-20-webworker-node-face.zh.md similarity index 97% rename from .agents/notes/implemented/architecture/2026-08-20-webworker-node-face.zh.md rename to .agents/notes/archived/architecture/2026-08-20-webworker-node-face.zh.md index 0a0f4badff..d68a3d4d69 100644 --- a/.agents/notes/implemented/architecture/2026-08-20-webworker-node-face.zh.md +++ b/.agents/notes/archived/architecture/2026-08-20-webworker-node-face.zh.md @@ -1,6 +1,7 @@ -# Agent Note:worker 的 Node 面——builtin、VFS 与 shell 进程层 +# Agent Note: worker 的 Node 面——builtin、VFS 与 shell 进程层 -状态:已实施 +Status: implemented +Archived: 2026-09-04 [English](2026-08-20-webworker-node-face.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-20-webworker-pack-lowering-and-preview.i18n.yaml b/.agents/notes/archived/architecture/2026-08-20-webworker-pack-lowering-and-preview.i18n.yaml new file mode 100644 index 0000000000..6808be3281 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-20-webworker-pack-lowering-and-preview.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-20-webworker-pack-lowering-and-preview.md +2026-08-20-webworker-pack-lowering-and-preview.md: 80693e5b447322bcb13fcff4b96296d882c2a7c0 +2026-08-20-webworker-pack-lowering-and-preview.zh.md: 5295fef87c93c0f5f04f05cd68f649f523928511 diff --git a/.agents/notes/implemented/architecture/2026-08-20-webworker-pack-lowering-and-preview.md b/.agents/notes/archived/architecture/2026-08-20-webworker-pack-lowering-and-preview.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-20-webworker-pack-lowering-and-preview.md rename to .agents/notes/archived/architecture/2026-08-20-webworker-pack-lowering-and-preview.md index 24dd5ba6e3..80693e5b44 100644 --- a/.agents/notes/implemented/architecture/2026-08-20-webworker-pack-lowering-and-preview.md +++ b/.agents/notes/archived/architecture/2026-08-20-webworker-pack-lowering-and-preview.md @@ -1,6 +1,7 @@ # Agent Note: pack-time lowering and the single-build preview Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-20-webworker-pack-lowering-and-preview.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-20-webworker-pack-lowering-and-preview.zh.md b/.agents/notes/archived/architecture/2026-08-20-webworker-pack-lowering-and-preview.zh.md similarity index 98% rename from .agents/notes/implemented/architecture/2026-08-20-webworker-pack-lowering-and-preview.zh.md rename to .agents/notes/archived/architecture/2026-08-20-webworker-pack-lowering-and-preview.zh.md index 5ee59e9a50..5295fef87c 100644 --- a/.agents/notes/implemented/architecture/2026-08-20-webworker-pack-lowering-and-preview.zh.md +++ b/.agents/notes/archived/architecture/2026-08-20-webworker-pack-lowering-and-preview.zh.md @@ -1,6 +1,7 @@ -# Agent Note:pack 期 lowering 与单构建 preview +# Agent Note: pack 期 lowering 与单构建 preview -状态:已实施 +Status: implemented +Archived: 2026-09-04 [English](2026-08-20-webworker-pack-lowering-and-preview.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-21-session-log-read-intent.i18n.yaml b/.agents/notes/archived/architecture/2026-08-21-session-log-read-intent.i18n.yaml new file mode 100644 index 0000000000..6f51393e3d --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-21-session-log-read-intent.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-21-session-log-read-intent.md +2026-08-21-session-log-read-intent.md: dc87a53ff3ccb7f64545014fa4c82469a2faf4b6 +2026-08-21-session-log-read-intent.zh.md: 6c0e601e3a1a92d2db5c164c9355c583a032021c diff --git a/.agents/notes/implemented/architecture/2026-08-21-session-log-read-intent.md b/.agents/notes/archived/architecture/2026-08-21-session-log-read-intent.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-21-session-log-read-intent.md rename to .agents/notes/archived/architecture/2026-08-21-session-log-read-intent.md index 81cdd77088..dc87a53ff3 100644 --- a/.agents/notes/implemented/architecture/2026-08-21-session-log-read-intent.md +++ b/.agents/notes/archived/architecture/2026-08-21-session-log-read-intent.md @@ -1,6 +1,7 @@ # Agent Note: Session log reads state their materialization cost Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-21-session-log-read-intent.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-21-session-log-read-intent.zh.md b/.agents/notes/archived/architecture/2026-08-21-session-log-read-intent.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-21-session-log-read-intent.zh.md rename to .agents/notes/archived/architecture/2026-08-21-session-log-read-intent.zh.md index e5d0425981..6c0e601e3a 100644 --- a/.agents/notes/implemented/architecture/2026-08-21-session-log-read-intent.zh.md +++ b/.agents/notes/archived/architecture/2026-08-21-session-log-read-intent.zh.md @@ -1,6 +1,7 @@ # Agent Note: 会话日志读取显式表达物化成本 Status: implemented +Archived: 2026-09-04 [English](2026-08-21-session-log-read-intent.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-23-cross-realm-cdp-inspector.i18n.yaml b/.agents/notes/archived/architecture/2026-08-23-cross-realm-cdp-inspector.i18n.yaml new file mode 100644 index 0000000000..d40d4bba2d --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-23-cross-realm-cdp-inspector.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-23-cross-realm-cdp-inspector.md +2026-08-23-cross-realm-cdp-inspector.md: 174e9c38349528cebc24b69133e491ad5a34c22b +2026-08-23-cross-realm-cdp-inspector.zh.md: a528136b08e6029f380bfda0ec5f7ba02be0d8ad diff --git a/.agents/notes/implemented/architecture/2026-08-23-cross-realm-cdp-inspector.md b/.agents/notes/archived/architecture/2026-08-23-cross-realm-cdp-inspector.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-23-cross-realm-cdp-inspector.md rename to .agents/notes/archived/architecture/2026-08-23-cross-realm-cdp-inspector.md index e6e1d48da4..174e9c3834 100644 --- a/.agents/notes/implemented/architecture/2026-08-23-cross-realm-cdp-inspector.md +++ b/.agents/notes/archived/architecture/2026-08-23-cross-realm-cdp-inspector.md @@ -1,6 +1,7 @@ # Agent Note: Cross-realm CDP inspector Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-23-cross-realm-cdp-inspector.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-23-cross-realm-cdp-inspector.zh.md b/.agents/notes/archived/architecture/2026-08-23-cross-realm-cdp-inspector.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-23-cross-realm-cdp-inspector.zh.md rename to .agents/notes/archived/architecture/2026-08-23-cross-realm-cdp-inspector.zh.md index 9d67868caf..a528136b08 100644 --- a/.agents/notes/implemented/architecture/2026-08-23-cross-realm-cdp-inspector.zh.md +++ b/.agents/notes/archived/architecture/2026-08-23-cross-realm-cdp-inspector.zh.md @@ -1,6 +1,7 @@ # Agent Note: 跨 realm CDP Inspector Status: implemented +Archived: 2026-09-04 [English](2026-08-23-cross-realm-cdp-inspector.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-23-python-sdk-dsh-profile-runtime.i18n.yaml b/.agents/notes/archived/architecture/2026-08-23-python-sdk-dsh-profile-runtime.i18n.yaml new file mode 100644 index 0000000000..4e2c49d100 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-23-python-sdk-dsh-profile-runtime.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-23-python-sdk-dsh-profile-runtime.md +2026-08-23-python-sdk-dsh-profile-runtime.md: 042f1c88599efb5cba6ab0024fcbb39247d674ab +2026-08-23-python-sdk-dsh-profile-runtime.zh.md: c614e54302dfc12cd343351dc050f02b0d2faec1 diff --git a/.agents/notes/implemented/architecture/2026-08-23-python-sdk-dsh-profile-runtime.md b/.agents/notes/archived/architecture/2026-08-23-python-sdk-dsh-profile-runtime.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-23-python-sdk-dsh-profile-runtime.md rename to .agents/notes/archived/architecture/2026-08-23-python-sdk-dsh-profile-runtime.md index 07e3bd522b..042f1c8859 100644 --- a/.agents/notes/implemented/architecture/2026-08-23-python-sdk-dsh-profile-runtime.md +++ b/.agents/notes/archived/architecture/2026-08-23-python-sdk-dsh-profile-runtime.md @@ -1,6 +1,7 @@ # Agent Note: Python SDK runtime through the dsh profile launcher Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-23-python-sdk-dsh-profile-runtime.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-23-python-sdk-dsh-profile-runtime.zh.md b/.agents/notes/archived/architecture/2026-08-23-python-sdk-dsh-profile-runtime.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-23-python-sdk-dsh-profile-runtime.zh.md rename to .agents/notes/archived/architecture/2026-08-23-python-sdk-dsh-profile-runtime.zh.md index 1b68c50d93..c614e54302 100644 --- a/.agents/notes/implemented/architecture/2026-08-23-python-sdk-dsh-profile-runtime.zh.md +++ b/.agents/notes/archived/architecture/2026-08-23-python-sdk-dsh-profile-runtime.zh.md @@ -1,6 +1,7 @@ # Agent Note: 通过 dsh profile 启动器运行 Python SDK 运行时 Status: implemented +Archived: 2026-09-04 [English](2026-08-23-python-sdk-dsh-profile-runtime.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-23-python-sdk-windows-x64-runtime.i18n.yaml b/.agents/notes/archived/architecture/2026-08-23-python-sdk-windows-x64-runtime.i18n.yaml new file mode 100644 index 0000000000..53a79179f2 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-23-python-sdk-windows-x64-runtime.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-23-python-sdk-windows-x64-runtime.md +2026-08-23-python-sdk-windows-x64-runtime.md: 5da09c133cf2fac8ff09f54ac1ebb84a1293ec67 +2026-08-23-python-sdk-windows-x64-runtime.zh.md: a8874e358a2b10e984caa3cd8ef7cf937de7a534 diff --git a/.agents/notes/implemented/architecture/2026-08-23-python-sdk-windows-x64-runtime.md b/.agents/notes/archived/architecture/2026-08-23-python-sdk-windows-x64-runtime.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-23-python-sdk-windows-x64-runtime.md rename to .agents/notes/archived/architecture/2026-08-23-python-sdk-windows-x64-runtime.md index 1b59dec470..5da09c133c 100644 --- a/.agents/notes/implemented/architecture/2026-08-23-python-sdk-windows-x64-runtime.md +++ b/.agents/notes/archived/architecture/2026-08-23-python-sdk-windows-x64-runtime.md @@ -1,6 +1,7 @@ # Agent Note: Python SDK Windows x64 runtime Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-23-python-sdk-windows-x64-runtime.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-23-python-sdk-windows-x64-runtime.zh.md b/.agents/notes/archived/architecture/2026-08-23-python-sdk-windows-x64-runtime.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-23-python-sdk-windows-x64-runtime.zh.md rename to .agents/notes/archived/architecture/2026-08-23-python-sdk-windows-x64-runtime.zh.md index 75cea660c3..a8874e358a 100644 --- a/.agents/notes/implemented/architecture/2026-08-23-python-sdk-windows-x64-runtime.zh.md +++ b/.agents/notes/archived/architecture/2026-08-23-python-sdk-windows-x64-runtime.zh.md @@ -1,6 +1,7 @@ # Agent Note: Python SDK Windows x64 运行时 Status: implemented +Archived: 2026-09-04 [English](2026-08-23-python-sdk-windows-x64-runtime.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-23-webworker-vfs-watch-and-landlock.i18n.yaml b/.agents/notes/archived/architecture/2026-08-23-webworker-vfs-watch-and-landlock.i18n.yaml new file mode 100644 index 0000000000..db32864a78 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-23-webworker-vfs-watch-and-landlock.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-23-webworker-vfs-watch-and-landlock.md +2026-08-23-webworker-vfs-watch-and-landlock.md: 7786e6765bb781f3c3bfadbda672163b6f345637 +2026-08-23-webworker-vfs-watch-and-landlock.zh.md: b7d7edeacf33f0ab74c90e58f4ad6561add14a34 diff --git a/.agents/notes/implemented/architecture/2026-08-23-webworker-vfs-watch-and-landlock.md b/.agents/notes/archived/architecture/2026-08-23-webworker-vfs-watch-and-landlock.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-23-webworker-vfs-watch-and-landlock.md rename to .agents/notes/archived/architecture/2026-08-23-webworker-vfs-watch-and-landlock.md index 2705c63aa6..7786e6765b 100644 --- a/.agents/notes/implemented/architecture/2026-08-23-webworker-vfs-watch-and-landlock.md +++ b/.agents/notes/archived/architecture/2026-08-23-webworker-vfs-watch-and-landlock.md @@ -1,6 +1,7 @@ # Agent Note: Web Worker VFS watching and CLI-compatible confinement Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-23-webworker-vfs-watch-and-landlock.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-23-webworker-vfs-watch-and-landlock.zh.md b/.agents/notes/archived/architecture/2026-08-23-webworker-vfs-watch-and-landlock.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-23-webworker-vfs-watch-and-landlock.zh.md rename to .agents/notes/archived/architecture/2026-08-23-webworker-vfs-watch-and-landlock.zh.md index 4470720e1f..b7d7edeacf 100644 --- a/.agents/notes/implemented/architecture/2026-08-23-webworker-vfs-watch-and-landlock.zh.md +++ b/.agents/notes/archived/architecture/2026-08-23-webworker-vfs-watch-and-landlock.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web Worker VFS 监听与 CLI 兼容 confinement Status: implemented +Archived: 2026-09-04 [English](2026-08-23-webworker-vfs-watch-and-landlock.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-24-cordis-runtime-tree-inspection.i18n.yaml b/.agents/notes/archived/architecture/2026-08-24-cordis-runtime-tree-inspection.i18n.yaml new file mode 100644 index 0000000000..e471fa3eb0 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-24-cordis-runtime-tree-inspection.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-24-cordis-runtime-tree-inspection.md +2026-08-24-cordis-runtime-tree-inspection.md: 1e0cb2eda641501b5ee6ef92392d5604c1476323 +2026-08-24-cordis-runtime-tree-inspection.zh.md: 17045803f3003daeda4c5086e9ea51f599cc542a diff --git a/.agents/notes/implemented/architecture/2026-08-24-cordis-runtime-tree-inspection.md b/.agents/notes/archived/architecture/2026-08-24-cordis-runtime-tree-inspection.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-24-cordis-runtime-tree-inspection.md rename to .agents/notes/archived/architecture/2026-08-24-cordis-runtime-tree-inspection.md index 2cd63aa415..1e0cb2eda6 100644 --- a/.agents/notes/implemented/architecture/2026-08-24-cordis-runtime-tree-inspection.md +++ b/.agents/notes/archived/architecture/2026-08-24-cordis-runtime-tree-inspection.md @@ -1,6 +1,7 @@ # Agent Note: Cordis runtime tree inspection Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-24-cordis-runtime-tree-inspection.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-24-cordis-runtime-tree-inspection.zh.md b/.agents/notes/archived/architecture/2026-08-24-cordis-runtime-tree-inspection.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-24-cordis-runtime-tree-inspection.zh.md rename to .agents/notes/archived/architecture/2026-08-24-cordis-runtime-tree-inspection.zh.md index 88cf2b344d..17045803f3 100644 --- a/.agents/notes/implemented/architecture/2026-08-24-cordis-runtime-tree-inspection.zh.md +++ b/.agents/notes/archived/architecture/2026-08-24-cordis-runtime-tree-inspection.zh.md @@ -1,6 +1,7 @@ # Agent Note: Cordis 运行时树检查 Status: implemented +Archived: 2026-09-04 [English](2026-08-24-cordis-runtime-tree-inspection.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-24-standalone-sdk-minimal-profile.i18n.yaml b/.agents/notes/archived/architecture/2026-08-24-standalone-sdk-minimal-profile.i18n.yaml new file mode 100644 index 0000000000..f1a0a7e271 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-24-standalone-sdk-minimal-profile.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-24-standalone-sdk-minimal-profile.md +2026-08-24-standalone-sdk-minimal-profile.md: 32bc47fc498b47ba3e8e9cd738c52a4bf1a31b87 +2026-08-24-standalone-sdk-minimal-profile.zh.md: bca63ba2d327234e26827351ccd7a165fd126a3b diff --git a/.agents/notes/implemented/architecture/2026-08-24-standalone-sdk-minimal-profile.md b/.agents/notes/archived/architecture/2026-08-24-standalone-sdk-minimal-profile.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-24-standalone-sdk-minimal-profile.md rename to .agents/notes/archived/architecture/2026-08-24-standalone-sdk-minimal-profile.md index 3c53ea8647..32bc47fc49 100644 --- a/.agents/notes/implemented/architecture/2026-08-24-standalone-sdk-minimal-profile.md +++ b/.agents/notes/archived/architecture/2026-08-24-standalone-sdk-minimal-profile.md @@ -1,6 +1,7 @@ # Agent Note: Standalone sdk-minimal profile under dsh Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-24-standalone-sdk-minimal-profile.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-24-standalone-sdk-minimal-profile.zh.md b/.agents/notes/archived/architecture/2026-08-24-standalone-sdk-minimal-profile.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-24-standalone-sdk-minimal-profile.zh.md rename to .agents/notes/archived/architecture/2026-08-24-standalone-sdk-minimal-profile.zh.md index c6f4d705d9..bca63ba2d3 100644 --- a/.agents/notes/implemented/architecture/2026-08-24-standalone-sdk-minimal-profile.zh.md +++ b/.agents/notes/archived/architecture/2026-08-24-standalone-sdk-minimal-profile.zh.md @@ -1,6 +1,7 @@ # Agent Note: dsh 下的独立 sdk-minimal profile Status: implemented +Archived: 2026-09-04 [English](2026-08-24-standalone-sdk-minimal-profile.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-25-persistence-latency-and-page-size.i18n.yaml b/.agents/notes/archived/architecture/2026-08-25-persistence-latency-and-page-size.i18n.yaml new file mode 100644 index 0000000000..7c4341a9fa --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-25-persistence-latency-and-page-size.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-25-persistence-latency-and-page-size.md +2026-08-25-persistence-latency-and-page-size.md: ccaf7929a4dbe2aac33074aabf4676a144e4e096 +2026-08-25-persistence-latency-and-page-size.zh.md: e44a7f9631f9c4c79d982f39f640cb9800a6c1a9 diff --git a/.agents/notes/implemented/architecture/2026-08-25-persistence-latency-and-page-size.md b/.agents/notes/archived/architecture/2026-08-25-persistence-latency-and-page-size.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-25-persistence-latency-and-page-size.md rename to .agents/notes/archived/architecture/2026-08-25-persistence-latency-and-page-size.md index 3f8147f50f..ccaf7929a4 100644 --- a/.agents/notes/implemented/architecture/2026-08-25-persistence-latency-and-page-size.md +++ b/.agents/notes/archived/architecture/2026-08-25-persistence-latency-and-page-size.md @@ -1,6 +1,7 @@ # Agent Note: JSONL persistence compression latency Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-25-persistence-latency-and-page-size.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-25-persistence-latency-and-page-size.zh.md b/.agents/notes/archived/architecture/2026-08-25-persistence-latency-and-page-size.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-25-persistence-latency-and-page-size.zh.md rename to .agents/notes/archived/architecture/2026-08-25-persistence-latency-and-page-size.zh.md index d50563dcc8..e44a7f9631 100644 --- a/.agents/notes/implemented/architecture/2026-08-25-persistence-latency-and-page-size.zh.md +++ b/.agents/notes/archived/architecture/2026-08-25-persistence-latency-and-page-size.zh.md @@ -1,6 +1,7 @@ # Agent Note: JSONL 持久化压缩延迟 Status: implemented +Archived: 2026-09-04 [English](2026-08-25-persistence-latency-and-page-size.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-25-rename-code-mode-to-ptc.i18n.yaml b/.agents/notes/archived/architecture/2026-08-25-rename-code-mode-to-ptc.i18n.yaml new file mode 100644 index 0000000000..c78495782f --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-25-rename-code-mode-to-ptc.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-25-rename-code-mode-to-ptc.md +2026-08-25-rename-code-mode-to-ptc.md: 9baddc55c7a2c054caad452bd6d370fb0f89ef6a +2026-08-25-rename-code-mode-to-ptc.zh.md: e2a6cdd02a7d5803a74c5a1d6a78fcf66dbb5dbb diff --git a/.agents/notes/implemented/architecture/2026-08-25-rename-code-mode-to-ptc.md b/.agents/notes/archived/architecture/2026-08-25-rename-code-mode-to-ptc.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-25-rename-code-mode-to-ptc.md rename to .agents/notes/archived/architecture/2026-08-25-rename-code-mode-to-ptc.md index 10c81fdca8..9baddc55c7 100644 --- a/.agents/notes/implemented/architecture/2026-08-25-rename-code-mode-to-ptc.md +++ b/.agents/notes/archived/architecture/2026-08-25-rename-code-mode-to-ptc.md @@ -1,6 +1,7 @@ # Agent Note: Rename code-mode to ptc — the transport is named PTC, user-facing copy says PTC mode Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-25-rename-code-mode-to-ptc.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-25-rename-code-mode-to-ptc.zh.md b/.agents/notes/archived/architecture/2026-08-25-rename-code-mode-to-ptc.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-25-rename-code-mode-to-ptc.zh.md rename to .agents/notes/archived/architecture/2026-08-25-rename-code-mode-to-ptc.zh.md index 881ea86030..e2a6cdd02a 100644 --- a/.agents/notes/implemented/architecture/2026-08-25-rename-code-mode-to-ptc.zh.md +++ b/.agents/notes/archived/architecture/2026-08-25-rename-code-mode-to-ptc.zh.md @@ -1,6 +1,7 @@ # Agent Note: 将 code-mode 重命名为 ptc——传输层命名为 PTC,用户文案使用 PTC mode Status: implemented +Archived: 2026-09-04 [English](2026-08-25-rename-code-mode-to-ptc.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-25-sparse-first-party-prompt-section-orders.i18n.yaml b/.agents/notes/archived/architecture/2026-08-25-sparse-first-party-prompt-section-orders.i18n.yaml new file mode 100644 index 0000000000..ef4933cc92 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-25-sparse-first-party-prompt-section-orders.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-25-sparse-first-party-prompt-section-orders.md +2026-08-25-sparse-first-party-prompt-section-orders.md: 9ce71eb832d11e341919bfd64183334d6a97a22e +2026-08-25-sparse-first-party-prompt-section-orders.zh.md: 68f7d4533086302edc945122907ca7463cd11de5 diff --git a/.agents/notes/implemented/architecture/2026-08-25-sparse-first-party-prompt-section-orders.md b/.agents/notes/archived/architecture/2026-08-25-sparse-first-party-prompt-section-orders.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-25-sparse-first-party-prompt-section-orders.md rename to .agents/notes/archived/architecture/2026-08-25-sparse-first-party-prompt-section-orders.md index 3cfdb58af3..9ce71eb832 100644 --- a/.agents/notes/implemented/architecture/2026-08-25-sparse-first-party-prompt-section-orders.md +++ b/.agents/notes/archived/architecture/2026-08-25-sparse-first-party-prompt-section-orders.md @@ -1,6 +1,7 @@ # Agent Note: Centralize sparse first-party prompt-section orders Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-25-sparse-first-party-prompt-section-orders.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-25-sparse-first-party-prompt-section-orders.zh.md b/.agents/notes/archived/architecture/2026-08-25-sparse-first-party-prompt-section-orders.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-25-sparse-first-party-prompt-section-orders.zh.md rename to .agents/notes/archived/architecture/2026-08-25-sparse-first-party-prompt-section-orders.zh.md index 31cbb98eab..68f7d45330 100644 --- a/.agents/notes/implemented/architecture/2026-08-25-sparse-first-party-prompt-section-orders.zh.md +++ b/.agents/notes/archived/architecture/2026-08-25-sparse-first-party-prompt-section-orders.zh.md @@ -1,6 +1,7 @@ # Agent Note: 集中管理稀疏的 first-party 提示词段顺序 Status: implemented +Archived: 2026-09-04 [English](2026-08-25-sparse-first-party-prompt-section-orders.md) | 中文 diff --git a/.agents/notes/implemented/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.i18n.yaml b/.agents/notes/archived/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.i18n.yaml similarity index 51% rename from .agents/notes/implemented/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.i18n.yaml rename to .agents/notes/archived/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.i18n.yaml index 39748610f6..c8787e7998 100644 --- a/.agents/notes/implemented/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.i18n.yaml +++ b/.agents/notes/archived/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.md -2026-08-26-inspector-execution-realms-and-protocol-planes.md: 1c274bda4cb10458ddc9ecec846b6355fb811c2f -2026-08-26-inspector-execution-realms-and-protocol-planes.zh.md: 49fde96a3b0acc5d9621b1ca4cfd1546ca970931 +# pnpm run verify-translation-pairing --write .agents/notes/archived/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.md +2026-08-26-inspector-execution-realms-and-protocol-planes.md: 8d63fe12a73aa8c622ac7e352c8088f690d6f9e9 +2026-08-26-inspector-execution-realms-and-protocol-planes.zh.md: b47ea470ecb997bf2167a9f3742ab4b815fd8355 diff --git a/.agents/notes/implemented/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.md b/.agents/notes/archived/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.md rename to .agents/notes/archived/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.md index 1c274bda4c..8d63fe12a7 100644 --- a/.agents/notes/implemented/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.md +++ b/.agents/notes/archived/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.md @@ -1,6 +1,7 @@ # Agent Note: Inspector execution realms and protocol planes Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-26-inspector-execution-realms-and-protocol-planes.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.zh.md b/.agents/notes/archived/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.zh.md rename to .agents/notes/archived/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.zh.md index 49fde96a3b..b47ea470ec 100644 --- a/.agents/notes/implemented/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.zh.md +++ b/.agents/notes/archived/architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.zh.md @@ -1,6 +1,7 @@ # Agent Note: Inspector 执行环境与协议平面 Status: implemented +Archived: 2026-09-04 [English](2026-08-26-inspector-execution-realms-and-protocol-planes.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-26-local-submission-echoes.i18n.yaml b/.agents/notes/archived/architecture/2026-08-26-local-submission-echoes.i18n.yaml new file mode 100644 index 0000000000..849bcdf68c --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-26-local-submission-echoes.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-26-local-submission-echoes.md +2026-08-26-local-submission-echoes.md: afa97c9cd913104222e6a18c54ef75a3c478b6f6 +2026-08-26-local-submission-echoes.zh.md: ea8d1d62dfa29619a6c245ecf8341fc1e45a8a8e diff --git a/.agents/notes/implemented/architecture/2026-08-26-local-submission-echoes.md b/.agents/notes/archived/architecture/2026-08-26-local-submission-echoes.md similarity index 92% rename from .agents/notes/implemented/architecture/2026-08-26-local-submission-echoes.md rename to .agents/notes/archived/architecture/2026-08-26-local-submission-echoes.md index 258df8f3f4..afa97c9cd9 100644 --- a/.agents/notes/implemented/architecture/2026-08-26-local-submission-echoes.md +++ b/.agents/notes/archived/architecture/2026-08-26-local-submission-echoes.md @@ -1,6 +1,7 @@ # Agent Note: Local submission echoes over the prompt rpcId Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-26-local-submission-echoes.zh.md) @@ -14,6 +15,8 @@ A multi-image prompt spent seconds in client serialization plus host admission b **Retirement is observation-driven with a one-frame delay; display dedupe is render-time and declarative.** The Session marks an echo observed when a durable `user/message` or queue occurrence with its rpcId arrives (append, window install, or control frame) and removes it one animation frame later — after the conversation assembly's frame, which was scheduled first. ChatView independently hides any echo whose rpcId appears among rendered user/steering nodes or queue rows, so within every render exactly one of echo/durable is visible regardless of store update order. An identified prompt failure, `abandon()`, or disposal retires the echo immediately as failed; the first settlement wins. +**Queue actions require the observed Host identity.** Queued echoes display a sending status and disabled edit, remove, and steer buttons in the same positions as admitted rows. The collapsed dock retains that status in its header. Prompt acknowledgement alone carries no queue-item identity, so only the correlated Host row enables its applicable actions. This keeps slow admission visible without treating a local request id as a mutable Host queue item. + **The composer commits optimistically.** Enter clears the draft, occurrence table, and undo history in one machine transaction and keeps phase `plain`; the send runs as a detached attempt (concurrent sends allowed; the single frozen in-flight slot remains command-only). Failed detached sends are restored together in submission order while the composer is empty or still contains the preceding automatic restoration; a user edit ends that restoration sequence. Draft images remain owned by the detached attempt through echo retirement, so Session scope disposal can release them after they have left the rail. An observed echo gives each preview URL to `HistoricalImageCache.seed` under the admitted reference. The cache exposes that preview synchronously, fetches the durable attachment, replaces the preview with the canonical URL, and revokes both URLs with their respective lifetimes. Direct subagent continuations do not register echoes because their transport assigns a different RPC identity and image input is unsupported. Client image encoding switched from the synchronous chunked-`btoa` loop to `FileReader.readAsDataURL` (native encode). The browser→host transport still ships one base64 JSON envelope; that remaining #2885 transport work is out of scope here. diff --git a/.agents/notes/implemented/architecture/2026-08-26-local-submission-echoes.zh.md b/.agents/notes/archived/architecture/2026-08-26-local-submission-echoes.zh.md similarity index 90% rename from .agents/notes/implemented/architecture/2026-08-26-local-submission-echoes.zh.md rename to .agents/notes/archived/architecture/2026-08-26-local-submission-echoes.zh.md index 57a9523a1e..ea8d1d62df 100644 --- a/.agents/notes/implemented/architecture/2026-08-26-local-submission-echoes.zh.md +++ b/.agents/notes/archived/architecture/2026-08-26-local-submission-echoes.zh.md @@ -1,6 +1,7 @@ -# Agent Note:基于 prompt rpcId 的本地提交回显 +# Agent Note: 基于 prompt rpcId 的本地提交回显 -状态:implemented +Status: implemented +Archived: 2026-09-04 [English](2026-08-26-local-submission-echoes.md) | 中文 @@ -14,6 +15,8 @@ **退休由观察驱动并延迟一帧;显示去重是渲染期的声明式规则。**Session 在带其 rpcId 的 durable `user/message` 或 queue occurrence 到达时(append、窗口安装或 control frame)标记回显为已观察,并在一个动画帧之后移除,晚于先注册的会话组装帧。ChatView 独立地隐藏 rpcId 出现在已渲染 user/steering 节点或 queue 行中的回显,因此无论 store 更新顺序如何,每一次渲染中回显与 durable 恰有一个可见。带标识的 prompt 失败、`abandon()` 或销毁使回显立即按 failed 退休;先到的 settlement 生效。 +**队列操作要求观察到 Host 身份。**排队回显显示发送状态,并在正式队列行的相同位置显示禁用的编辑、删除和插话按钮。折叠后的队列在标题栏保留该状态。单独的 prompt 确认不携带队列项身份,因此只有关联的 Host 队列行到达后才启用适用的操作。这使缓慢受理的状态可见,同时避免把本地请求 id 当作可修改的 Host 队列项。 + **Composer 乐观提交。**Enter 在一个 machine 事务里清空草稿、occurrence 表和撤销历史,phase 保持 `plain`;发送作为 detached attempt 运行,允许并发发送,唯一的冻结 in-flight 槽只留给命令。多个 detached 发送失败时,只要 composer 为空或仍是上一次自动还原的内容,就按提交顺序合并还原;用户编辑后停止这一轮自动还原。草稿图片由 detached attempt 持有到回显退休,因此图片离开 rail 后销毁 Session scope 仍能释放它们。回显以 observed 退休时,`HistoricalImageCache.seed` 把每个预览 URL 挂到 admitted 引用名下。缓存同步公开预览 URL,同时读取 durable 附件;读取完成后用规范化 URL 替换预览,并按各自生命周期撤销两个 URL。直接 subagent continuation 不注册回显,因为它的 transport 会分配另一个 RPC id,而且不支持图片输入。 客户端图片编码从同步分块 `btoa` 循环换成 `FileReader.readAsDataURL`(原生编码)。browser→host 传输仍是一个 base64 JSON 整包;#2885 剩余的传输改造不在本决定范围内。 diff --git a/.agents/notes/archived/architecture/2026-08-26-models-page-extension-slots.i18n.yaml b/.agents/notes/archived/architecture/2026-08-26-models-page-extension-slots.i18n.yaml new file mode 100644 index 0000000000..3dd2ed1230 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-26-models-page-extension-slots.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-26-models-page-extension-slots.md +2026-08-26-models-page-extension-slots.md: 644a49d69a1567e418562a2c3e64bf195b2c6734 +2026-08-26-models-page-extension-slots.zh.md: 031d439005574c8f46fba427d0d01e44cb5aab9b diff --git a/.agents/notes/implemented/architecture/2026-08-26-models-page-extension-slots.md b/.agents/notes/archived/architecture/2026-08-26-models-page-extension-slots.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-26-models-page-extension-slots.md rename to .agents/notes/archived/architecture/2026-08-26-models-page-extension-slots.md index 9983c669b7..644a49d69a 100644 --- a/.agents/notes/implemented/architecture/2026-08-26-models-page-extension-slots.md +++ b/.agents/notes/archived/architecture/2026-08-26-models-page-extension-slots.md @@ -1,6 +1,7 @@ # Agent Note: Models-page extension slots Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-26-models-page-extension-slots.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-26-models-page-extension-slots.zh.md b/.agents/notes/archived/architecture/2026-08-26-models-page-extension-slots.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-26-models-page-extension-slots.zh.md rename to .agents/notes/archived/architecture/2026-08-26-models-page-extension-slots.zh.md index 639654ea4b..031d439005 100644 --- a/.agents/notes/implemented/architecture/2026-08-26-models-page-extension-slots.zh.md +++ b/.agents/notes/archived/architecture/2026-08-26-models-page-extension-slots.zh.md @@ -1,6 +1,7 @@ # Agent Note: Models 页扩展插槽 Status: implemented +Archived: 2026-09-04 [English](2026-08-26-models-page-extension-slots.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-26-preset-health-resolves-rows.i18n.yaml b/.agents/notes/archived/architecture/2026-08-26-preset-health-resolves-rows.i18n.yaml new file mode 100644 index 0000000000..f862cdc30d --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-26-preset-health-resolves-rows.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-26-preset-health-resolves-rows.md +2026-08-26-preset-health-resolves-rows.md: fa92cef6bcd680ab2a342cae7318de50c5c19110 +2026-08-26-preset-health-resolves-rows.zh.md: 3b624c2a52c970b1bc1bbd4a483cc33e0c6e82bd diff --git a/.agents/notes/implemented/architecture/2026-08-26-preset-health-resolves-rows.md b/.agents/notes/archived/architecture/2026-08-26-preset-health-resolves-rows.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-26-preset-health-resolves-rows.md rename to .agents/notes/archived/architecture/2026-08-26-preset-health-resolves-rows.md index 909423e373..fa92cef6bc 100644 --- a/.agents/notes/implemented/architecture/2026-08-26-preset-health-resolves-rows.md +++ b/.agents/notes/archived/architecture/2026-08-26-preset-health-resolves-rows.md @@ -1,6 +1,7 @@ # Agent Note: Preset health resolves the rows it can prove will start Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-26-preset-health-resolves-rows.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-26-preset-health-resolves-rows.zh.md b/.agents/notes/archived/architecture/2026-08-26-preset-health-resolves-rows.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-26-preset-health-resolves-rows.zh.md rename to .agents/notes/archived/architecture/2026-08-26-preset-health-resolves-rows.zh.md index d2cffae66f..3b624c2a52 100644 --- a/.agents/notes/implemented/architecture/2026-08-26-preset-health-resolves-rows.zh.md +++ b/.agents/notes/archived/architecture/2026-08-26-preset-health-resolves-rows.zh.md @@ -1,6 +1,7 @@ # Agent Note: Preset health resolves the rows it can prove will start Status: implemented +Archived: 2026-09-04 [English](2026-08-26-preset-health-resolves-rows.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-27-inspector-development-mount.i18n.yaml b/.agents/notes/archived/architecture/2026-08-27-inspector-development-mount.i18n.yaml new file mode 100644 index 0000000000..5106bee6bd --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-27-inspector-development-mount.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-27-inspector-development-mount.md +2026-08-27-inspector-development-mount.md: 7816a80830b7b13f505ce1bcc27a9d8a22b90650 +2026-08-27-inspector-development-mount.zh.md: d50a2e10aed9486128c0304e68e6e8810889576c diff --git a/.agents/notes/implemented/architecture/2026-08-27-inspector-development-mount.md b/.agents/notes/archived/architecture/2026-08-27-inspector-development-mount.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-27-inspector-development-mount.md rename to .agents/notes/archived/architecture/2026-08-27-inspector-development-mount.md index a8660c664f..7816a80830 100644 --- a/.agents/notes/implemented/architecture/2026-08-27-inspector-development-mount.md +++ b/.agents/notes/archived/architecture/2026-08-27-inspector-development-mount.md @@ -1,6 +1,7 @@ # Agent Note: Inspector development mount Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-27-inspector-development-mount.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-27-inspector-development-mount.zh.md b/.agents/notes/archived/architecture/2026-08-27-inspector-development-mount.zh.md similarity index 97% rename from .agents/notes/implemented/architecture/2026-08-27-inspector-development-mount.zh.md rename to .agents/notes/archived/architecture/2026-08-27-inspector-development-mount.zh.md index 3dd82cc89e..d50a2e10ae 100644 --- a/.agents/notes/implemented/architecture/2026-08-27-inspector-development-mount.zh.md +++ b/.agents/notes/archived/architecture/2026-08-27-inspector-development-mount.zh.md @@ -1,6 +1,7 @@ -# Agent Note:Inspector 开发挂载 +# Agent Note: Inspector 开发挂载 Status: implemented +Archived: 2026-09-04 [English](2026-08-27-inspector-development-mount.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-27-process-table-snapshots.i18n.yaml b/.agents/notes/archived/architecture/2026-08-27-process-table-snapshots.i18n.yaml new file mode 100644 index 0000000000..f617de60e7 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-27-process-table-snapshots.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-27-process-table-snapshots.md +2026-08-27-process-table-snapshots.md: 80245c10c628ec04b2c8e6bc9058585d451cc1e7 +2026-08-27-process-table-snapshots.zh.md: 643331b55081faff6f8b5927a1404ef453664ccc diff --git a/.agents/notes/implemented/architecture/2026-08-27-process-table-snapshots.md b/.agents/notes/archived/architecture/2026-08-27-process-table-snapshots.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-27-process-table-snapshots.md rename to .agents/notes/archived/architecture/2026-08-27-process-table-snapshots.md index 27c364607c..80245c10c6 100644 --- a/.agents/notes/implemented/architecture/2026-08-27-process-table-snapshots.md +++ b/.agents/notes/archived/architecture/2026-08-27-process-table-snapshots.md @@ -1,6 +1,7 @@ # Agent Note: Process-table snapshots replace per-question inspector reads Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-27-process-table-snapshots.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-27-process-table-snapshots.zh.md b/.agents/notes/archived/architecture/2026-08-27-process-table-snapshots.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-27-process-table-snapshots.zh.md rename to .agents/notes/archived/architecture/2026-08-27-process-table-snapshots.zh.md index 9c5fe65bb8..643331b550 100644 --- a/.agents/notes/implemented/architecture/2026-08-27-process-table-snapshots.zh.md +++ b/.agents/notes/archived/architecture/2026-08-27-process-table-snapshots.zh.md @@ -1,6 +1,7 @@ # Agent Note: Process-table snapshots replace per-question inspector reads Status: implemented +Archived: 2026-09-04 [English](2026-08-27-process-table-snapshots.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-29-plugin-inventory-agent-preset-scopes.i18n.yaml b/.agents/notes/archived/architecture/2026-08-29-plugin-inventory-agent-preset-scopes.i18n.yaml new file mode 100644 index 0000000000..e0ba981a6a --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-29-plugin-inventory-agent-preset-scopes.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-29-plugin-inventory-agent-preset-scopes.md +2026-08-29-plugin-inventory-agent-preset-scopes.md: 3426af80983e18abaea80cc94d426583f222ef5f +2026-08-29-plugin-inventory-agent-preset-scopes.zh.md: a44ad3d8d808015d9d07a27e1258e970099d622a diff --git a/.agents/notes/implemented/architecture/2026-08-29-plugin-inventory-agent-preset-scopes.md b/.agents/notes/archived/architecture/2026-08-29-plugin-inventory-agent-preset-scopes.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-29-plugin-inventory-agent-preset-scopes.md rename to .agents/notes/archived/architecture/2026-08-29-plugin-inventory-agent-preset-scopes.md index a07f5a14a2..3426af8098 100644 --- a/.agents/notes/implemented/architecture/2026-08-29-plugin-inventory-agent-preset-scopes.md +++ b/.agents/notes/archived/architecture/2026-08-29-plugin-inventory-agent-preset-scopes.md @@ -1,6 +1,7 @@ # Agent Note: The plugin inventory carries every agent preset's composition Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-29-plugin-inventory-agent-preset-scopes.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-29-plugin-inventory-agent-preset-scopes.zh.md b/.agents/notes/archived/architecture/2026-08-29-plugin-inventory-agent-preset-scopes.zh.md similarity index 98% rename from .agents/notes/implemented/architecture/2026-08-29-plugin-inventory-agent-preset-scopes.zh.md rename to .agents/notes/archived/architecture/2026-08-29-plugin-inventory-agent-preset-scopes.zh.md index c7ef215c6c..a44ad3d8d8 100644 --- a/.agents/notes/implemented/architecture/2026-08-29-plugin-inventory-agent-preset-scopes.zh.md +++ b/.agents/notes/archived/architecture/2026-08-29-plugin-inventory-agent-preset-scopes.zh.md @@ -1,6 +1,7 @@ -# Agent Note:插件清单携带每个 Agent 预设的组合 +# Agent Note: 插件清单携带每个 Agent 预设的组合 -状态:已实现 +Status: implemented +Archived: 2026-09-04 [English](2026-08-29-plugin-inventory-agent-preset-scopes.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-31-live-assistant-stream-frames.i18n.yaml b/.agents/notes/archived/architecture/2026-08-31-live-assistant-stream-frames.i18n.yaml new file mode 100644 index 0000000000..0dce9f0de2 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-31-live-assistant-stream-frames.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-31-live-assistant-stream-frames.md +2026-08-31-live-assistant-stream-frames.md: cf74bf0b37c06b02ed31dcb68ae1c9cd4860403c +2026-08-31-live-assistant-stream-frames.zh.md: 5cbe5494e3a7e99a42501e5f8a88a0983d4b4b49 diff --git a/.agents/notes/implemented/architecture/2026-08-31-live-assistant-stream-frames.md b/.agents/notes/archived/architecture/2026-08-31-live-assistant-stream-frames.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-31-live-assistant-stream-frames.md rename to .agents/notes/archived/architecture/2026-08-31-live-assistant-stream-frames.md index 25d86d1527..cf74bf0b37 100644 --- a/.agents/notes/implemented/architecture/2026-08-31-live-assistant-stream-frames.md +++ b/.agents/notes/archived/architecture/2026-08-31-live-assistant-stream-frames.md @@ -1,6 +1,7 @@ # Agent Note: Live assistant stream frames remain separate from the session log Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-31-live-assistant-stream-frames.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-31-live-assistant-stream-frames.zh.md b/.agents/notes/archived/architecture/2026-08-31-live-assistant-stream-frames.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-31-live-assistant-stream-frames.zh.md rename to .agents/notes/archived/architecture/2026-08-31-live-assistant-stream-frames.zh.md index 924649932b..5cbe5494e3 100644 --- a/.agents/notes/implemented/architecture/2026-08-31-live-assistant-stream-frames.zh.md +++ b/.agents/notes/archived/architecture/2026-08-31-live-assistant-stream-frames.zh.md @@ -1,6 +1,7 @@ # Agent Note: 实时 assistant 流帧与 Session log 保持分离 Status: implemented +Archived: 2026-09-04 [English](2026-08-31-live-assistant-stream-frames.md) | 中文 diff --git a/.agents/notes/implemented/feature/2026-08-27-web-at-mention-discovery-and-row-content.i18n.yaml b/.agents/notes/archived/architecture/2026-08-31-session-sequence-and-log-offset-brands.i18n.yaml similarity index 53% rename from .agents/notes/implemented/feature/2026-08-27-web-at-mention-discovery-and-row-content.i18n.yaml rename to .agents/notes/archived/architecture/2026-08-31-session-sequence-and-log-offset-brands.i18n.yaml index 9ffbc53991..548a81d54a 100644 --- a/.agents/notes/implemented/feature/2026-08-27-web-at-mention-discovery-and-row-content.i18n.yaml +++ b/.agents/notes/archived/architecture/2026-08-31-session-sequence-and-log-offset-brands.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/feature/2026-08-27-web-at-mention-discovery-and-row-content.md -2026-08-27-web-at-mention-discovery-and-row-content.md: defe3eaffbfe111b383467354fb21f088c9475c0 -2026-08-27-web-at-mention-discovery-and-row-content.zh.md: 236cefc55f96f7d918e754622ebc7ae3b7759792 +# pnpm run verify-translation-pairing --write .agents/notes/archived/architecture/2026-08-31-session-sequence-and-log-offset-brands.md +2026-08-31-session-sequence-and-log-offset-brands.md: 144146f62a74b662fd46366cc141da57aa35a50b +2026-08-31-session-sequence-and-log-offset-brands.zh.md: ab354fd3e866b9b5b450afc48b1bb7cf04b3c5d0 diff --git a/.agents/notes/implemented/architecture/2026-08-31-session-sequence-and-log-offset-brands.md b/.agents/notes/archived/architecture/2026-08-31-session-sequence-and-log-offset-brands.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-31-session-sequence-and-log-offset-brands.md rename to .agents/notes/archived/architecture/2026-08-31-session-sequence-and-log-offset-brands.md index 0057b2b6c9..144146f62a 100644 --- a/.agents/notes/implemented/architecture/2026-08-31-session-sequence-and-log-offset-brands.md +++ b/.agents/notes/archived/architecture/2026-08-31-session-sequence-and-log-offset-brands.md @@ -1,6 +1,7 @@ # Agent Note: Distinguish Session event identities from log offsets Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-31-session-sequence-and-log-offset-brands.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-31-session-sequence-and-log-offset-brands.zh.md b/.agents/notes/archived/architecture/2026-08-31-session-sequence-and-log-offset-brands.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-31-session-sequence-and-log-offset-brands.zh.md rename to .agents/notes/archived/architecture/2026-08-31-session-sequence-and-log-offset-brands.zh.md index f51ad5953c..ab354fd3e8 100644 --- a/.agents/notes/implemented/architecture/2026-08-31-session-sequence-and-log-offset-brands.zh.md +++ b/.agents/notes/archived/architecture/2026-08-31-session-sequence-and-log-offset-brands.zh.md @@ -1,6 +1,7 @@ # Agent Note: 区分 Session 事件身份与日志偏移 Status: implemented +Archived: 2026-09-04 [English](2026-08-31-session-sequence-and-log-offset-brands.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-08-31-viewport-activated-syntax-highlighting.i18n.yaml b/.agents/notes/archived/architecture/2026-08-31-viewport-activated-syntax-highlighting.i18n.yaml new file mode 100644 index 0000000000..8b799b2c8a --- /dev/null +++ b/.agents/notes/archived/architecture/2026-08-31-viewport-activated-syntax-highlighting.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-08-31-viewport-activated-syntax-highlighting.md +2026-08-31-viewport-activated-syntax-highlighting.md: 1aafa0fa114841a2a18c9726c45a179674550a2b +2026-08-31-viewport-activated-syntax-highlighting.zh.md: 54de4f71c1a044a0ece4c50d84424f74d8181a54 diff --git a/.agents/notes/implemented/architecture/2026-08-31-viewport-activated-syntax-highlighting.md b/.agents/notes/archived/architecture/2026-08-31-viewport-activated-syntax-highlighting.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-31-viewport-activated-syntax-highlighting.md rename to .agents/notes/archived/architecture/2026-08-31-viewport-activated-syntax-highlighting.md index 050c4e5024..1aafa0fa11 100644 --- a/.agents/notes/implemented/architecture/2026-08-31-viewport-activated-syntax-highlighting.md +++ b/.agents/notes/archived/architecture/2026-08-31-viewport-activated-syntax-highlighting.md @@ -1,6 +1,7 @@ # Agent Note: Viewport-activated syntax highlighting Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-31-viewport-activated-syntax-highlighting.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-08-31-viewport-activated-syntax-highlighting.zh.md b/.agents/notes/archived/architecture/2026-08-31-viewport-activated-syntax-highlighting.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-08-31-viewport-activated-syntax-highlighting.zh.md rename to .agents/notes/archived/architecture/2026-08-31-viewport-activated-syntax-highlighting.zh.md index abd02161ae..54de4f71c1 100644 --- a/.agents/notes/implemented/architecture/2026-08-31-viewport-activated-syntax-highlighting.zh.md +++ b/.agents/notes/archived/architecture/2026-08-31-viewport-activated-syntax-highlighting.zh.md @@ -1,6 +1,7 @@ # Agent Note: 视口激活的语法高亮 Status: implemented +Archived: 2026-09-04 [English](2026-08-31-viewport-activated-syntax-highlighting.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-09-01-streamed-tool-call-identity.i18n.yaml b/.agents/notes/archived/architecture/2026-09-01-streamed-tool-call-identity.i18n.yaml new file mode 100644 index 0000000000..ab0e31d3be --- /dev/null +++ b/.agents/notes/archived/architecture/2026-09-01-streamed-tool-call-identity.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-09-01-streamed-tool-call-identity.md +2026-09-01-streamed-tool-call-identity.md: d181580e028ecf721a9e5bddc1e83664e2fca712 +2026-09-01-streamed-tool-call-identity.zh.md: 614d65c4c8d8eecced4e9562d3ea11b79d433d64 diff --git a/.agents/notes/implemented/architecture/2026-09-01-streamed-tool-call-identity.md b/.agents/notes/archived/architecture/2026-09-01-streamed-tool-call-identity.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-09-01-streamed-tool-call-identity.md rename to .agents/notes/archived/architecture/2026-09-01-streamed-tool-call-identity.md index c52f39b735..d181580e02 100644 --- a/.agents/notes/implemented/architecture/2026-09-01-streamed-tool-call-identity.md +++ b/.agents/notes/archived/architecture/2026-09-01-streamed-tool-call-identity.md @@ -1,6 +1,7 @@ # Agent Note: Streamed tool-call identity survives empty continuation deltas Status: implemented +Archived: 2026-09-04 English | [中文](2026-09-01-streamed-tool-call-identity.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-09-01-streamed-tool-call-identity.zh.md b/.agents/notes/archived/architecture/2026-09-01-streamed-tool-call-identity.zh.md similarity index 97% rename from .agents/notes/implemented/architecture/2026-09-01-streamed-tool-call-identity.zh.md rename to .agents/notes/archived/architecture/2026-09-01-streamed-tool-call-identity.zh.md index 9a7ffb6343..614d65c4c8 100644 --- a/.agents/notes/implemented/architecture/2026-09-01-streamed-tool-call-identity.zh.md +++ b/.agents/notes/archived/architecture/2026-09-01-streamed-tool-call-identity.zh.md @@ -1,6 +1,7 @@ -# Agent Note:流式工具调用身份不被空续传分片抹除 +# Agent Note: 流式工具调用身份不被空续传分片抹除 Status: implemented +Archived: 2026-09-04 [English](2026-09-01-streamed-tool-call-identity.md) | 中文 diff --git a/.agents/notes/archived/architecture/2026-09-02-protocol-specific-model-listing-discovery.i18n.yaml b/.agents/notes/archived/architecture/2026-09-02-protocol-specific-model-listing-discovery.i18n.yaml new file mode 100644 index 0000000000..09edf3d299 --- /dev/null +++ b/.agents/notes/archived/architecture/2026-09-02-protocol-specific-model-listing-discovery.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/architecture/2026-09-02-protocol-specific-model-listing-discovery.md +2026-09-02-protocol-specific-model-listing-discovery.md: 8f7d79c8eba6cc8808bb010a050a1d983986bc43 +2026-09-02-protocol-specific-model-listing-discovery.zh.md: 2bc4d77ae1a50843812a2ce42a02090582f4a017 diff --git a/.agents/notes/implemented/architecture/2026-09-02-protocol-specific-model-listing-discovery.md b/.agents/notes/archived/architecture/2026-09-02-protocol-specific-model-listing-discovery.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-09-02-protocol-specific-model-listing-discovery.md rename to .agents/notes/archived/architecture/2026-09-02-protocol-specific-model-listing-discovery.md index 69e684c284..8f7d79c8eb 100644 --- a/.agents/notes/implemented/architecture/2026-09-02-protocol-specific-model-listing-discovery.md +++ b/.agents/notes/archived/architecture/2026-09-02-protocol-specific-model-listing-discovery.md @@ -1,6 +1,7 @@ # Agent Note: Reading protocol-specific model listings Status: implemented +Archived: 2026-09-04 English | [中文](2026-09-02-protocol-specific-model-listing-discovery.zh.md) diff --git a/.agents/notes/implemented/architecture/2026-09-02-protocol-specific-model-listing-discovery.zh.md b/.agents/notes/archived/architecture/2026-09-02-protocol-specific-model-listing-discovery.zh.md similarity index 99% rename from .agents/notes/implemented/architecture/2026-09-02-protocol-specific-model-listing-discovery.zh.md rename to .agents/notes/archived/architecture/2026-09-02-protocol-specific-model-listing-discovery.zh.md index 682806fb72..2bc4d77ae1 100644 --- a/.agents/notes/implemented/architecture/2026-09-02-protocol-specific-model-listing-discovery.zh.md +++ b/.agents/notes/archived/architecture/2026-09-02-protocol-specific-model-listing-discovery.zh.md @@ -1,6 +1,7 @@ # Agent Note: 读取协议特定的模型列表 Status: implemented +Archived: 2026-09-04 [English](2026-09-02-protocol-specific-model-listing-discovery.md) | 中文 diff --git a/.agents/notes/implemented/feature/2026-07-28-cross-workspace-resume.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-19-windows-atomic-write-dacl-preservation.i18n.yaml similarity index 54% rename from .agents/notes/implemented/feature/2026-07-28-cross-workspace-resume.i18n.yaml rename to .agents/notes/archived/bug-fix/2026-07-19-windows-atomic-write-dacl-preservation.i18n.yaml index 62a22d215c..9dc187e5b3 100644 --- a/.agents/notes/implemented/feature/2026-07-28-cross-workspace-resume.i18n.yaml +++ b/.agents/notes/archived/bug-fix/2026-07-19-windows-atomic-write-dacl-preservation.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/feature/2026-07-28-cross-workspace-resume.md -2026-07-28-cross-workspace-resume.md: e8a8636911015a5b300b45a30e268ee1be5d47d1 -2026-07-28-cross-workspace-resume.zh.md: c56641be35bb37fb8aafb7613bdf8b8158e198d9 +# pnpm run verify-translation-pairing --write .agents/notes/archived/bug-fix/2026-07-19-windows-atomic-write-dacl-preservation.md +2026-07-19-windows-atomic-write-dacl-preservation.md: d389f42d804666788e23d16c5db1bc5710284834 +2026-07-19-windows-atomic-write-dacl-preservation.zh.md: a0d5bf81b2abfa19300966724f6a893f26bb6ee7 diff --git a/.agents/notes/implemented/bug-fix/2026-07-19-windows-atomic-write-dacl-preservation.md b/.agents/notes/archived/bug-fix/2026-07-19-windows-atomic-write-dacl-preservation.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-19-windows-atomic-write-dacl-preservation.md rename to .agents/notes/archived/bug-fix/2026-07-19-windows-atomic-write-dacl-preservation.md index be9f821743..d389f42d80 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-19-windows-atomic-write-dacl-preservation.md +++ b/.agents/notes/archived/bug-fix/2026-07-19-windows-atomic-write-dacl-preservation.md @@ -1,6 +1,7 @@ # Agent Note: Preserve Windows DACLs during atomic file replacement Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-19-windows-atomic-write-dacl-preservation.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-19-windows-atomic-write-dacl-preservation.zh.md b/.agents/notes/archived/bug-fix/2026-07-19-windows-atomic-write-dacl-preservation.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-19-windows-atomic-write-dacl-preservation.zh.md rename to .agents/notes/archived/bug-fix/2026-07-19-windows-atomic-write-dacl-preservation.zh.md index ed52773b03..a0d5bf81b2 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-19-windows-atomic-write-dacl-preservation.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-19-windows-atomic-write-dacl-preservation.zh.md @@ -1,6 +1,7 @@ # Agent Note: Windows 原子文件替换期间保留 DACL Status: implemented +Archived: 2026-09-04 [English](2026-07-19-windows-atomic-write-dacl-preservation.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-20-config-hot-reload-resilience.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-20-config-hot-reload-resilience.i18n.yaml new file mode 100644 index 0000000000..bee69827ee --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-20-config-hot-reload-resilience.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-20-config-hot-reload-resilience.md +2026-07-20-config-hot-reload-resilience.md: 0a60a7c217197cbda76aa9bd908b75a6b3b35938 +2026-07-20-config-hot-reload-resilience.zh.md: 6d5349458bcb4936520f02508ad6d81715cfb57c diff --git a/.agents/notes/implemented/bug-fix/2026-07-20-config-hot-reload-resilience.md b/.agents/notes/archived/bug-fix/2026-07-20-config-hot-reload-resilience.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-20-config-hot-reload-resilience.md rename to .agents/notes/archived/bug-fix/2026-07-20-config-hot-reload-resilience.md index 6f8503c93b..0a60a7c217 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-20-config-hot-reload-resilience.md +++ b/.agents/notes/archived/bug-fix/2026-07-20-config-hot-reload-resilience.md @@ -1,6 +1,7 @@ # Agent Note: A config hot-reload must not kill or degrade a live app Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-20-config-hot-reload-resilience.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-20-config-hot-reload-resilience.zh.md b/.agents/notes/archived/bug-fix/2026-07-20-config-hot-reload-resilience.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-20-config-hot-reload-resilience.zh.md rename to .agents/notes/archived/bug-fix/2026-07-20-config-hot-reload-resilience.zh.md index 359a34a225..6d5349458b 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-20-config-hot-reload-resilience.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-20-config-hot-reload-resilience.zh.md @@ -1,6 +1,7 @@ # Agent Note: 配置热重载不得杀死或降级正在运行的应用 Status: implemented +Archived: 2026-09-04 [English](2026-07-20-config-hot-reload-resilience.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-20-error-cause-chain-diagnostics.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-20-error-cause-chain-diagnostics.i18n.yaml new file mode 100644 index 0000000000..c90014feb9 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-20-error-cause-chain-diagnostics.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-20-error-cause-chain-diagnostics.md +2026-07-20-error-cause-chain-diagnostics.md: bec8ba824fd4fb156aa0d74db197496358d553a2 +2026-07-20-error-cause-chain-diagnostics.zh.md: 8fea93cc084787f95ace6b5626d5f537cc14549d diff --git a/.agents/notes/implemented/bug-fix/2026-07-20-error-cause-chain-diagnostics.md b/.agents/notes/archived/bug-fix/2026-07-20-error-cause-chain-diagnostics.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-20-error-cause-chain-diagnostics.md rename to .agents/notes/archived/bug-fix/2026-07-20-error-cause-chain-diagnostics.md index 4fb5eb99f8..bec8ba824f 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-20-error-cause-chain-diagnostics.md +++ b/.agents/notes/archived/bug-fix/2026-07-20-error-cause-chain-diagnostics.md @@ -1,6 +1,7 @@ # Agent Note: Render error cause chains at every diagnostic boundary Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-20-error-cause-chain-diagnostics.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-20-error-cause-chain-diagnostics.zh.md b/.agents/notes/archived/bug-fix/2026-07-20-error-cause-chain-diagnostics.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-20-error-cause-chain-diagnostics.zh.md rename to .agents/notes/archived/bug-fix/2026-07-20-error-cause-chain-diagnostics.zh.md index 690f32419b..8fea93cc08 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-20-error-cause-chain-diagnostics.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-20-error-cause-chain-diagnostics.zh.md @@ -1,6 +1,7 @@ # Agent Note: 在每个诊断边界渲染错误 cause 链 Status: implemented +Archived: 2026-09-04 [English](2026-07-20-error-cause-chain-diagnostics.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-21-compaction-summary-prefix-cache-reuse.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-21-compaction-summary-prefix-cache-reuse.i18n.yaml new file mode 100644 index 0000000000..92fbb25456 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-21-compaction-summary-prefix-cache-reuse.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-21-compaction-summary-prefix-cache-reuse.md +2026-07-21-compaction-summary-prefix-cache-reuse.md: 7a433324f93bca0447d1b775a40742b234df8df3 +2026-07-21-compaction-summary-prefix-cache-reuse.zh.md: db5b2d0507fe107b57def2365d4c82add2fb5c37 diff --git a/.agents/notes/implemented/bug-fix/2026-07-21-compaction-summary-prefix-cache-reuse.md b/.agents/notes/archived/bug-fix/2026-07-21-compaction-summary-prefix-cache-reuse.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-21-compaction-summary-prefix-cache-reuse.md rename to .agents/notes/archived/bug-fix/2026-07-21-compaction-summary-prefix-cache-reuse.md index a1066cd992..7a433324f9 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-21-compaction-summary-prefix-cache-reuse.md +++ b/.agents/notes/archived/bug-fix/2026-07-21-compaction-summary-prefix-cache-reuse.md @@ -1,6 +1,7 @@ # Agent Note: The summarization call replays the conversation prefix for KV-cache reuse Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-21-compaction-summary-prefix-cache-reuse.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-21-compaction-summary-prefix-cache-reuse.zh.md b/.agents/notes/archived/bug-fix/2026-07-21-compaction-summary-prefix-cache-reuse.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-21-compaction-summary-prefix-cache-reuse.zh.md rename to .agents/notes/archived/bug-fix/2026-07-21-compaction-summary-prefix-cache-reuse.zh.md index 3f487f6325..db5b2d0507 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-21-compaction-summary-prefix-cache-reuse.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-21-compaction-summary-prefix-cache-reuse.zh.md @@ -1,6 +1,7 @@ # Agent Note: 摘要调用回放对话前缀以复用 KV Cache Status: implemented +Archived: 2026-09-04 [English](2026-07-21-compaction-summary-prefix-cache-reuse.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-21-semantic-session-checkpoints.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-21-semantic-session-checkpoints.i18n.yaml new file mode 100644 index 0000000000..9843b4208d --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-21-semantic-session-checkpoints.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-21-semantic-session-checkpoints.md +2026-07-21-semantic-session-checkpoints.md: d4438b0d996c702d36d3d5d103ba9a1536136f6b +2026-07-21-semantic-session-checkpoints.zh.md: 6dd9755f9fd4fd7bf2a321f252b1afda93f4421a diff --git a/.agents/notes/implemented/bug-fix/2026-07-21-semantic-session-checkpoints.md b/.agents/notes/archived/bug-fix/2026-07-21-semantic-session-checkpoints.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-21-semantic-session-checkpoints.md rename to .agents/notes/archived/bug-fix/2026-07-21-semantic-session-checkpoints.md index 697d878dcc..d4438b0d99 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-21-semantic-session-checkpoints.md +++ b/.agents/notes/archived/bug-fix/2026-07-21-semantic-session-checkpoints.md @@ -1,6 +1,7 @@ # Agent Note: Semantic session checkpoints Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-21-semantic-session-checkpoints.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-21-semantic-session-checkpoints.zh.md b/.agents/notes/archived/bug-fix/2026-07-21-semantic-session-checkpoints.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-21-semantic-session-checkpoints.zh.md rename to .agents/notes/archived/bug-fix/2026-07-21-semantic-session-checkpoints.zh.md index c72f2bbad3..6dd9755f9f 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-21-semantic-session-checkpoints.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-21-semantic-session-checkpoints.zh.md @@ -1,6 +1,7 @@ # Agent Note: 语义会话检查点 Status: implemented +Archived: 2026-09-04 [English](2026-07-21-semantic-session-checkpoints.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-22-pi-ai-transport-truncation-classification.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-22-pi-ai-transport-truncation-classification.i18n.yaml new file mode 100644 index 0000000000..73936afa3f --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-22-pi-ai-transport-truncation-classification.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-22-pi-ai-transport-truncation-classification.md +2026-07-22-pi-ai-transport-truncation-classification.md: 09bbfe05de4c701f7cfbe24daaf677214ed49828 +2026-07-22-pi-ai-transport-truncation-classification.zh.md: 4183bc76c30c907344db220ac652ae7583d8962c diff --git a/.agents/notes/implemented/bug-fix/2026-07-22-pi-ai-transport-truncation-classification.md b/.agents/notes/archived/bug-fix/2026-07-22-pi-ai-transport-truncation-classification.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-22-pi-ai-transport-truncation-classification.md rename to .agents/notes/archived/bug-fix/2026-07-22-pi-ai-transport-truncation-classification.md index 4f645a2628..09bbfe05de 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-22-pi-ai-transport-truncation-classification.md +++ b/.agents/notes/archived/bug-fix/2026-07-22-pi-ai-transport-truncation-classification.md @@ -1,6 +1,7 @@ # Agent Note: Classify pi-ai transport truncations from flattened message text Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-22-pi-ai-transport-truncation-classification.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-22-pi-ai-transport-truncation-classification.zh.md b/.agents/notes/archived/bug-fix/2026-07-22-pi-ai-transport-truncation-classification.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-22-pi-ai-transport-truncation-classification.zh.md rename to .agents/notes/archived/bug-fix/2026-07-22-pi-ai-transport-truncation-classification.zh.md index 0625d6041c..4183bc76c3 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-22-pi-ai-transport-truncation-classification.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-22-pi-ai-transport-truncation-classification.zh.md @@ -1,6 +1,7 @@ # Agent Note: 从扁平化的消息文本中分类 pi-ai 传输层截断 Status: implemented +Archived: 2026-09-04 [English](2026-07-22-pi-ai-transport-truncation-classification.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-24-empty-model-response-is-retryable.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-24-empty-model-response-is-retryable.i18n.yaml new file mode 100644 index 0000000000..66a2963d7c --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-24-empty-model-response-is-retryable.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-24-empty-model-response-is-retryable.md +2026-07-24-empty-model-response-is-retryable.md: e2dbb0c28912af1a306d162fe47cc9110b52d4d1 +2026-07-24-empty-model-response-is-retryable.zh.md: e67070ee684453f2c210145847e9f7adcd1672dc diff --git a/.agents/notes/implemented/bug-fix/2026-07-24-empty-model-response-is-retryable.md b/.agents/notes/archived/bug-fix/2026-07-24-empty-model-response-is-retryable.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-24-empty-model-response-is-retryable.md rename to .agents/notes/archived/bug-fix/2026-07-24-empty-model-response-is-retryable.md index 62e45385fb..e2dbb0c289 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-24-empty-model-response-is-retryable.md +++ b/.agents/notes/archived/bug-fix/2026-07-24-empty-model-response-is-retryable.md @@ -1,6 +1,7 @@ # Agent Note: Empty model completions are retryable EMPTY_RESPONSE failures Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-24-empty-model-response-is-retryable.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-24-empty-model-response-is-retryable.zh.md b/.agents/notes/archived/bug-fix/2026-07-24-empty-model-response-is-retryable.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-24-empty-model-response-is-retryable.zh.md rename to .agents/notes/archived/bug-fix/2026-07-24-empty-model-response-is-retryable.zh.md index 459a5def0b..e67070ee68 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-24-empty-model-response-is-retryable.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-24-empty-model-response-is-retryable.zh.md @@ -1,6 +1,7 @@ # Agent Note: 空模型补全是可重试的 EMPTY_RESPONSE 失败 Status: implemented +Archived: 2026-09-04 [English](2026-07-24-empty-model-response-is-retryable.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-24-recursive-python-sdk-session-notifications.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-24-recursive-python-sdk-session-notifications.i18n.yaml new file mode 100644 index 0000000000..534aeba1bd --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-24-recursive-python-sdk-session-notifications.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-24-recursive-python-sdk-session-notifications.md +2026-07-24-recursive-python-sdk-session-notifications.md: a60e2ff5d0db97e1073e4bbfb61f7bfdccfd016c +2026-07-24-recursive-python-sdk-session-notifications.zh.md: 81ffb4dfe3140b51b267687f1922f14f8000eecb diff --git a/.agents/notes/implemented/bug-fix/2026-07-24-recursive-python-sdk-session-notifications.md b/.agents/notes/archived/bug-fix/2026-07-24-recursive-python-sdk-session-notifications.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-24-recursive-python-sdk-session-notifications.md rename to .agents/notes/archived/bug-fix/2026-07-24-recursive-python-sdk-session-notifications.md index c902136593..a60e2ff5d0 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-24-recursive-python-sdk-session-notifications.md +++ b/.agents/notes/archived/bug-fix/2026-07-24-recursive-python-sdk-session-notifications.md @@ -1,6 +1,7 @@ # Agent Note: Recursive Python SDK session notifications Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-24-recursive-python-sdk-session-notifications.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-24-recursive-python-sdk-session-notifications.zh.md b/.agents/notes/archived/bug-fix/2026-07-24-recursive-python-sdk-session-notifications.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-24-recursive-python-sdk-session-notifications.zh.md rename to .agents/notes/archived/bug-fix/2026-07-24-recursive-python-sdk-session-notifications.zh.md index f6f0a8c0e3..81ffb4dfe3 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-24-recursive-python-sdk-session-notifications.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-24-recursive-python-sdk-session-notifications.zh.md @@ -1,6 +1,7 @@ # Agent Note: Python SDK 递归会话通知 Status: implemented +Archived: 2026-09-04 [English](2026-07-24-recursive-python-sdk-session-notifications.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-27-glob-sampling.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-27-glob-sampling.i18n.yaml new file mode 100644 index 0000000000..50204a568f --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-27-glob-sampling.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-27-glob-sampling.md +2026-07-27-glob-sampling.md: 99f2e1a20eb5e32fb7ab2842dfb0c1714e12c739 +2026-07-27-glob-sampling.zh.md: 83339a2b8152a1ca14d117b9f6e7a663dbaeb0de diff --git a/.agents/notes/implemented/bug-fix/2026-07-27-glob-sampling.md b/.agents/notes/archived/bug-fix/2026-07-27-glob-sampling.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-27-glob-sampling.md rename to .agents/notes/archived/bug-fix/2026-07-27-glob-sampling.md index 67912cf290..99f2e1a20e 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-27-glob-sampling.md +++ b/.agents/notes/archived/bug-fix/2026-07-27-glob-sampling.md @@ -1,6 +1,7 @@ # Agent Note: Sample over-cap glob results across the tree Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-27-glob-sampling.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-27-glob-sampling.zh.md b/.agents/notes/archived/bug-fix/2026-07-27-glob-sampling.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-27-glob-sampling.zh.md rename to .agents/notes/archived/bug-fix/2026-07-27-glob-sampling.zh.md index b8d7bbe1bc..83339a2b81 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-27-glob-sampling.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-27-glob-sampling.zh.md @@ -1,6 +1,7 @@ # Agent Note: 跨目录树采样超出上限的 glob 结果 Status: implemented +Archived: 2026-09-04 [English](2026-07-27-glob-sampling.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-27-stable-snapshot-refresh-volatiles.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-27-stable-snapshot-refresh-volatiles.i18n.yaml new file mode 100644 index 0000000000..f8ab6a18c8 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-27-stable-snapshot-refresh-volatiles.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-27-stable-snapshot-refresh-volatiles.md +2026-07-27-stable-snapshot-refresh-volatiles.md: c408a383aae4a90832ca220928e2569d6c215b1e +2026-07-27-stable-snapshot-refresh-volatiles.zh.md: bc3093480a5a6a2fe16f671008a12dc6889214a8 diff --git a/.agents/notes/implemented/bug-fix/2026-07-27-stable-snapshot-refresh-volatiles.md b/.agents/notes/archived/bug-fix/2026-07-27-stable-snapshot-refresh-volatiles.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-27-stable-snapshot-refresh-volatiles.md rename to .agents/notes/archived/bug-fix/2026-07-27-stable-snapshot-refresh-volatiles.md index c3eeeca01a..c408a383aa 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-27-stable-snapshot-refresh-volatiles.md +++ b/.agents/notes/archived/bug-fix/2026-07-27-stable-snapshot-refresh-volatiles.md @@ -1,6 +1,7 @@ # Agent Note: Stable snapshot refresh volatiles Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-27-stable-snapshot-refresh-volatiles.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-27-stable-snapshot-refresh-volatiles.zh.md b/.agents/notes/archived/bug-fix/2026-07-27-stable-snapshot-refresh-volatiles.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-27-stable-snapshot-refresh-volatiles.zh.md rename to .agents/notes/archived/bug-fix/2026-07-27-stable-snapshot-refresh-volatiles.zh.md index 79a2758e7a..bc3093480a 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-27-stable-snapshot-refresh-volatiles.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-27-stable-snapshot-refresh-volatiles.zh.md @@ -1,6 +1,7 @@ # Agent Note: 稳定快照刷新中的易变值 Status: implemented +Archived: 2026-09-04 [English](2026-07-27-stable-snapshot-refresh-volatiles.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.i18n.yaml new file mode 100644 index 0000000000..6ec1c6af7b --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.md +2026-07-28-themed-scrollbars-and-reserved-gutter.md: 6f01f6053ec9e243620a58fdd1f76e015b0541a3 +2026-07-28-themed-scrollbars-and-reserved-gutter.zh.md: 5939507e8f5e154c90b2b5322d066a614c2c0854 diff --git a/.agents/notes/implemented/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.md b/.agents/notes/archived/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.md rename to .agents/notes/archived/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.md index 3dbaf73158..6f01f6053e 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.md +++ b/.agents/notes/archived/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.md @@ -1,6 +1,7 @@ # Agent Note: The scrollbar tokens get their consumer, and the workspace list reserves its gutter Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-28-themed-scrollbars-and-reserved-gutter.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.zh.md b/.agents/notes/archived/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.zh.md rename to .agents/notes/archived/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.zh.md index fa90304d54..5939507e8f 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.zh.md @@ -1,6 +1,7 @@ # Agent Note: 滚动条 token 有了消费方,工作区列表预留出滚动条空位 Status: implemented +Archived: 2026-09-04 [English](2026-07-28-themed-scrollbars-and-reserved-gutter.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-28-web-agent-runtime-context.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-28-web-agent-runtime-context.i18n.yaml new file mode 100644 index 0000000000..2dd185f6c3 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-28-web-agent-runtime-context.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-28-web-agent-runtime-context.md +2026-07-28-web-agent-runtime-context.md: ccbb2882c118867b8e2c32372890f47557d84a05 +2026-07-28-web-agent-runtime-context.zh.md: b5f224698398093a72bd033c71fd4ce80c0d406a diff --git a/.agents/notes/implemented/bug-fix/2026-07-28-web-agent-runtime-context.md b/.agents/notes/archived/bug-fix/2026-07-28-web-agent-runtime-context.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-28-web-agent-runtime-context.md rename to .agents/notes/archived/bug-fix/2026-07-28-web-agent-runtime-context.md index 6c2bb8faf0..ccbb2882c1 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-28-web-agent-runtime-context.md +++ b/.agents/notes/archived/bug-fix/2026-07-28-web-agent-runtime-context.md @@ -1,6 +1,7 @@ # Agent Note: Web agents receive explicit runtime context Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-28-web-agent-runtime-context.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-28-web-agent-runtime-context.zh.md b/.agents/notes/archived/bug-fix/2026-07-28-web-agent-runtime-context.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-28-web-agent-runtime-context.zh.md rename to .agents/notes/archived/bug-fix/2026-07-28-web-agent-runtime-context.zh.md index c32be64ba0..b5f2246983 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-28-web-agent-runtime-context.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-28-web-agent-runtime-context.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web agent 获得显式运行时上下文 Status: implemented +Archived: 2026-09-04 [English](2026-07-28-web-agent-runtime-context.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-28-web-gui-feedback-loop.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-28-web-gui-feedback-loop.i18n.yaml new file mode 100644 index 0000000000..6700672c86 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-28-web-gui-feedback-loop.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-28-web-gui-feedback-loop.md +2026-07-28-web-gui-feedback-loop.md: 1410804b20c4d6ea53d7b7da8ae6e47ded6b2969 +2026-07-28-web-gui-feedback-loop.zh.md: 60ab1d61610922525cc908e78131c58a23cc4939 diff --git a/.agents/notes/implemented/bug-fix/2026-07-28-web-gui-feedback-loop.md b/.agents/notes/archived/bug-fix/2026-07-28-web-gui-feedback-loop.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-28-web-gui-feedback-loop.md rename to .agents/notes/archived/bug-fix/2026-07-28-web-gui-feedback-loop.md index dad85c37da..1410804b20 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-28-web-gui-feedback-loop.md +++ b/.agents/notes/archived/bug-fix/2026-07-28-web-gui-feedback-loop.md @@ -1,6 +1,7 @@ # Agent Note: Web GUI changes close the loop on the existing URL Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-28-web-gui-feedback-loop.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-28-web-gui-feedback-loop.zh.md b/.agents/notes/archived/bug-fix/2026-07-28-web-gui-feedback-loop.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-28-web-gui-feedback-loop.zh.md rename to .agents/notes/archived/bug-fix/2026-07-28-web-gui-feedback-loop.zh.md index 196912b8ba..60ab1d6161 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-28-web-gui-feedback-loop.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-28-web-gui-feedback-loop.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web GUI 改动在现有 URL 上闭环 Status: implemented +Archived: 2026-09-04 [English](2026-07-28-web-gui-feedback-loop.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-29-atomic-web-image-admission.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-29-atomic-web-image-admission.i18n.yaml new file mode 100644 index 0000000000..5d5e9d5ea4 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-29-atomic-web-image-admission.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-29-atomic-web-image-admission.md +2026-07-29-atomic-web-image-admission.md: 9e7372d36a8caac22a521a6c415e2c34a457a6a4 +2026-07-29-atomic-web-image-admission.zh.md: 193a4171bd8558e9111b64e5a5f59ee97a0d9476 diff --git a/.agents/notes/implemented/bug-fix/2026-07-29-atomic-web-image-admission.md b/.agents/notes/archived/bug-fix/2026-07-29-atomic-web-image-admission.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-29-atomic-web-image-admission.md rename to .agents/notes/archived/bug-fix/2026-07-29-atomic-web-image-admission.md index dd2faf1e14..9e7372d36a 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-29-atomic-web-image-admission.md +++ b/.agents/notes/archived/bug-fix/2026-07-29-atomic-web-image-admission.md @@ -1,6 +1,7 @@ # Agent Note: Atomic Web image admission Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-29-atomic-web-image-admission.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-29-atomic-web-image-admission.zh.md b/.agents/notes/archived/bug-fix/2026-07-29-atomic-web-image-admission.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-29-atomic-web-image-admission.zh.md rename to .agents/notes/archived/bug-fix/2026-07-29-atomic-web-image-admission.zh.md index 8f15f8848d..193a4171bd 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-29-atomic-web-image-admission.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-29-atomic-web-image-admission.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 图片准入的原子性 Status: implemented +Archived: 2026-09-04 [English](2026-07-29-atomic-web-image-admission.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-29-human-transcript-append-origin.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-29-human-transcript-append-origin.i18n.yaml new file mode 100644 index 0000000000..cff92d2259 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-29-human-transcript-append-origin.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-29-human-transcript-append-origin.md +2026-07-29-human-transcript-append-origin.md: c68865cdc1dfef903d2012ac1809e608a7477e08 +2026-07-29-human-transcript-append-origin.zh.md: 8a927c4855d62df3419263cd6ac56710d88ecfc4 diff --git a/.agents/notes/implemented/bug-fix/2026-07-29-human-transcript-append-origin.md b/.agents/notes/archived/bug-fix/2026-07-29-human-transcript-append-origin.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-29-human-transcript-append-origin.md rename to .agents/notes/archived/bug-fix/2026-07-29-human-transcript-append-origin.md index 00f4cf0913..c68865cdc1 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-29-human-transcript-append-origin.md +++ b/.agents/notes/archived/bug-fix/2026-07-29-human-transcript-append-origin.md @@ -1,6 +1,7 @@ # Agent Note: The human transcript projects append-origin events Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-29-human-transcript-append-origin.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-29-human-transcript-append-origin.zh.md b/.agents/notes/archived/bug-fix/2026-07-29-human-transcript-append-origin.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-29-human-transcript-append-origin.zh.md rename to .agents/notes/archived/bug-fix/2026-07-29-human-transcript-append-origin.zh.md index 631ba71d84..8a927c4855 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-29-human-transcript-append-origin.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-29-human-transcript-append-origin.zh.md @@ -1,6 +1,7 @@ # Agent Note: 人类可读记录投影追加来源的事件 Status: implemented +Archived: 2026-09-04 [English](2026-07-29-human-transcript-append-origin.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-29-pnpm-setup-runner-isolation.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-29-pnpm-setup-runner-isolation.i18n.yaml new file mode 100644 index 0000000000..2176600937 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-29-pnpm-setup-runner-isolation.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-29-pnpm-setup-runner-isolation.md +2026-07-29-pnpm-setup-runner-isolation.md: 74e68ea13136d6bb4b7d055b242e7dbcfb4306db +2026-07-29-pnpm-setup-runner-isolation.zh.md: b6c0ad808e27b168bd72fd9bfcdb97fddcfbcc06 diff --git a/.agents/notes/implemented/bug-fix/2026-07-29-pnpm-setup-runner-isolation.md b/.agents/notes/archived/bug-fix/2026-07-29-pnpm-setup-runner-isolation.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-29-pnpm-setup-runner-isolation.md rename to .agents/notes/archived/bug-fix/2026-07-29-pnpm-setup-runner-isolation.md index d5cd02cceb..74e68ea131 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-29-pnpm-setup-runner-isolation.md +++ b/.agents/notes/archived/bug-fix/2026-07-29-pnpm-setup-runner-isolation.md @@ -1,6 +1,7 @@ # Agent Note: Isolate pnpm setup per GitHub Actions runner Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-29-pnpm-setup-runner-isolation.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-29-pnpm-setup-runner-isolation.zh.md b/.agents/notes/archived/bug-fix/2026-07-29-pnpm-setup-runner-isolation.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-29-pnpm-setup-runner-isolation.zh.md rename to .agents/notes/archived/bug-fix/2026-07-29-pnpm-setup-runner-isolation.zh.md index 5266112224..b6c0ad808e 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-29-pnpm-setup-runner-isolation.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-29-pnpm-setup-runner-isolation.zh.md @@ -1,6 +1,7 @@ # Agent Note: 按 GitHub Actions runner 隔离 pnpm 设置 Status: implemented +Archived: 2026-09-04 [English](2026-07-29-pnpm-setup-runner-isolation.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-29-sticky-composer-conversation-scroll.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-29-sticky-composer-conversation-scroll.i18n.yaml new file mode 100644 index 0000000000..73d7f7ad44 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-29-sticky-composer-conversation-scroll.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-29-sticky-composer-conversation-scroll.md +2026-07-29-sticky-composer-conversation-scroll.md: e861439d249f844f3cb781d23f0392ec5701cf01 +2026-07-29-sticky-composer-conversation-scroll.zh.md: 3cc252d2e937e50dbe9bc47255224fd155c72e53 diff --git a/.agents/notes/implemented/bug-fix/2026-07-29-sticky-composer-conversation-scroll.md b/.agents/notes/archived/bug-fix/2026-07-29-sticky-composer-conversation-scroll.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-29-sticky-composer-conversation-scroll.md rename to .agents/notes/archived/bug-fix/2026-07-29-sticky-composer-conversation-scroll.md index d628e10979..e861439d24 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-29-sticky-composer-conversation-scroll.md +++ b/.agents/notes/archived/bug-fix/2026-07-29-sticky-composer-conversation-scroll.md @@ -1,6 +1,7 @@ # Agent Note: Fixed header, sticky composer inside the transcript scrollport Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-29-sticky-composer-conversation-scroll.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-29-sticky-composer-conversation-scroll.zh.md b/.agents/notes/archived/bug-fix/2026-07-29-sticky-composer-conversation-scroll.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-29-sticky-composer-conversation-scroll.zh.md rename to .agents/notes/archived/bug-fix/2026-07-29-sticky-composer-conversation-scroll.zh.md index 73ff61e7fa..3cc252d2e9 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-29-sticky-composer-conversation-scroll.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-29-sticky-composer-conversation-scroll.zh.md @@ -1,6 +1,7 @@ # Agent Note: 固定标题栏,sticky 编辑器位于 transcript(文本记录)滚动容器内 Status: implemented +Archived: 2026-09-04 [English](2026-07-29-sticky-composer-conversation-scroll.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-29-web-details-session-lifecycle.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-29-web-details-session-lifecycle.i18n.yaml new file mode 100644 index 0000000000..39460efabe --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-29-web-details-session-lifecycle.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-29-web-details-session-lifecycle.md +2026-07-29-web-details-session-lifecycle.md: b749a7e254eefb47d145af3b15064e29c8c242b4 +2026-07-29-web-details-session-lifecycle.zh.md: a7b9c7cf821887759b73d95e765cc2b9c3631514 diff --git a/.agents/notes/implemented/bug-fix/2026-07-29-web-details-session-lifecycle.md b/.agents/notes/archived/bug-fix/2026-07-29-web-details-session-lifecycle.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-29-web-details-session-lifecycle.md rename to .agents/notes/archived/bug-fix/2026-07-29-web-details-session-lifecycle.md index 41b89fc059..b749a7e254 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-29-web-details-session-lifecycle.md +++ b/.agents/notes/archived/bug-fix/2026-07-29-web-details-session-lifecycle.md @@ -1,6 +1,7 @@ # Agent Note: Web details follow the current Session lifecycle Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-29-web-details-session-lifecycle.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-29-web-details-session-lifecycle.zh.md b/.agents/notes/archived/bug-fix/2026-07-29-web-details-session-lifecycle.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-29-web-details-session-lifecycle.zh.md rename to .agents/notes/archived/bug-fix/2026-07-29-web-details-session-lifecycle.zh.md index af0565bf78..a7b9c7cf82 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-29-web-details-session-lifecycle.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-29-web-details-session-lifecycle.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 详情栏遵循当前会话生命周期 Status: implemented +Archived: 2026-09-04 [English](2026-07-29-web-details-session-lifecycle.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-30-approval-panel-command-cap.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-30-approval-panel-command-cap.i18n.yaml new file mode 100644 index 0000000000..7f4cb9dc77 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-30-approval-panel-command-cap.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-30-approval-panel-command-cap.md +2026-07-30-approval-panel-command-cap.md: 98e543790d640c8c1aad270f40def2f4176151b6 +2026-07-30-approval-panel-command-cap.zh.md: 07483899ec459ef12fda98ad80fc7d5a5144c45a diff --git a/.agents/notes/implemented/bug-fix/2026-07-30-approval-panel-command-cap.md b/.agents/notes/archived/bug-fix/2026-07-30-approval-panel-command-cap.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-30-approval-panel-command-cap.md rename to .agents/notes/archived/bug-fix/2026-07-30-approval-panel-command-cap.md index 0bfdc2d00f..98e543790d 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-30-approval-panel-command-cap.md +++ b/.agents/notes/archived/bug-fix/2026-07-30-approval-panel-command-cap.md @@ -1,6 +1,7 @@ # Agent Note: The approval takeover shares the composer's text cap Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-approval-panel-command-cap.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-30-approval-panel-command-cap.zh.md b/.agents/notes/archived/bug-fix/2026-07-30-approval-panel-command-cap.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-30-approval-panel-command-cap.zh.md rename to .agents/notes/archived/bug-fix/2026-07-30-approval-panel-command-cap.zh.md index a086888b12..07483899ec 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-30-approval-panel-command-cap.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-30-approval-panel-command-cap.zh.md @@ -1,6 +1,7 @@ # Agent Note: 审批接管面板与输入框共用同一文本高度上限 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-approval-panel-command-cap.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-30-bounded-overwrite-diff-basis.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-30-bounded-overwrite-diff-basis.i18n.yaml new file mode 100644 index 0000000000..d5a6b62a0f --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-30-bounded-overwrite-diff-basis.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-30-bounded-overwrite-diff-basis.md +2026-07-30-bounded-overwrite-diff-basis.md: d07a592cfb34df02c12e512d77f3659b7199c830 +2026-07-30-bounded-overwrite-diff-basis.zh.md: 3751cc72bfea1fc9ed8c024a1d9dbe0b6bd4f321 diff --git a/.agents/notes/implemented/bug-fix/2026-07-30-bounded-overwrite-diff-basis.md b/.agents/notes/archived/bug-fix/2026-07-30-bounded-overwrite-diff-basis.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-30-bounded-overwrite-diff-basis.md rename to .agents/notes/archived/bug-fix/2026-07-30-bounded-overwrite-diff-basis.md index 7a09934bd1..d07a592cfb 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-30-bounded-overwrite-diff-basis.md +++ b/.agents/notes/archived/bug-fix/2026-07-30-bounded-overwrite-diff-basis.md @@ -1,6 +1,7 @@ # Agent Note: Bound overwrite contextual-diff bases at the provider Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-bounded-overwrite-diff-basis.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-30-bounded-overwrite-diff-basis.zh.md b/.agents/notes/archived/bug-fix/2026-07-30-bounded-overwrite-diff-basis.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-30-bounded-overwrite-diff-basis.zh.md rename to .agents/notes/archived/bug-fix/2026-07-30-bounded-overwrite-diff-basis.zh.md index 761c0e6e55..3751cc72bf 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-30-bounded-overwrite-diff-basis.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-30-bounded-overwrite-diff-basis.zh.md @@ -1,6 +1,7 @@ # Agent Note: 在提供方限制覆写上下文 diff 基础 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-bounded-overwrite-diff-basis.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-30-composer-context-stack-order.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-30-composer-context-stack-order.i18n.yaml new file mode 100644 index 0000000000..0d3127e061 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-30-composer-context-stack-order.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-30-composer-context-stack-order.md +2026-07-30-composer-context-stack-order.md: 7f9aca5e6a0133239ee47d3aa2dcd04fb5690e42 +2026-07-30-composer-context-stack-order.zh.md: 9c5cd6c12e8c8777ac973035561bd3fd89cab273 diff --git a/.agents/notes/implemented/bug-fix/2026-07-30-composer-context-stack-order.md b/.agents/notes/archived/bug-fix/2026-07-30-composer-context-stack-order.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-30-composer-context-stack-order.md rename to .agents/notes/archived/bug-fix/2026-07-30-composer-context-stack-order.md index 150225ce27..7f9aca5e6a 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-30-composer-context-stack-order.md +++ b/.agents/notes/archived/bug-fix/2026-07-30-composer-context-stack-order.md @@ -1,6 +1,7 @@ # Agent Note: Composer context stack order Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-composer-context-stack-order.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-30-composer-context-stack-order.zh.md b/.agents/notes/archived/bug-fix/2026-07-30-composer-context-stack-order.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-30-composer-context-stack-order.zh.md rename to .agents/notes/archived/bug-fix/2026-07-30-composer-context-stack-order.zh.md index 25bdd9a584..9c5cd6c12e 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-30-composer-context-stack-order.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-30-composer-context-stack-order.zh.md @@ -1,6 +1,7 @@ # Agent Note: Composer 上下文堆栈顺序 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-composer-context-stack-order.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-30-hover-popup-pointer-grace.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-30-hover-popup-pointer-grace.i18n.yaml new file mode 100644 index 0000000000..7129d9c149 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-30-hover-popup-pointer-grace.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-30-hover-popup-pointer-grace.md +2026-07-30-hover-popup-pointer-grace.md: b770ac859da264c1b230bd6dd334ce5372466a01 +2026-07-30-hover-popup-pointer-grace.zh.md: 1ebe2d2d5f886c1ab24d90df9af0bb384d414186 diff --git a/.agents/notes/implemented/bug-fix/2026-07-30-hover-popup-pointer-grace.md b/.agents/notes/archived/bug-fix/2026-07-30-hover-popup-pointer-grace.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-30-hover-popup-pointer-grace.md rename to .agents/notes/archived/bug-fix/2026-07-30-hover-popup-pointer-grace.md index 302592a2e9..b770ac859d 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-30-hover-popup-pointer-grace.md +++ b/.agents/notes/archived/bug-fix/2026-07-30-hover-popup-pointer-grace.md @@ -1,6 +1,7 @@ # Agent Note: Hover popup pointer grace Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-hover-popup-pointer-grace.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-30-hover-popup-pointer-grace.zh.md b/.agents/notes/archived/bug-fix/2026-07-30-hover-popup-pointer-grace.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-30-hover-popup-pointer-grace.zh.md rename to .agents/notes/archived/bug-fix/2026-07-30-hover-popup-pointer-grace.zh.md index 4020a6f1f7..1ebe2d2d5f 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-30-hover-popup-pointer-grace.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-30-hover-popup-pointer-grace.zh.md @@ -1,6 +1,7 @@ # Agent Note: 悬浮弹层的指针宽限期 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-hover-popup-pointer-grace.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-30-multi-select-custom-answer-composition.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-30-multi-select-custom-answer-composition.i18n.yaml new file mode 100644 index 0000000000..88363fd558 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-30-multi-select-custom-answer-composition.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-30-multi-select-custom-answer-composition.md +2026-07-30-multi-select-custom-answer-composition.md: 271c554ee43d13625670bc2506914f5ec60ed1c5 +2026-07-30-multi-select-custom-answer-composition.zh.md: 67b67e6c48051713e4fdc588874d568aee801a43 diff --git a/.agents/notes/implemented/bug-fix/2026-07-30-multi-select-custom-answer-composition.md b/.agents/notes/archived/bug-fix/2026-07-30-multi-select-custom-answer-composition.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-30-multi-select-custom-answer-composition.md rename to .agents/notes/archived/bug-fix/2026-07-30-multi-select-custom-answer-composition.md index db5be2dbed..271c554ee4 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-30-multi-select-custom-answer-composition.md +++ b/.agents/notes/archived/bug-fix/2026-07-30-multi-select-custom-answer-composition.md @@ -1,6 +1,7 @@ # Agent Note: Multi-select custom answer composition Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-multi-select-custom-answer-composition.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-30-multi-select-custom-answer-composition.zh.md b/.agents/notes/archived/bug-fix/2026-07-30-multi-select-custom-answer-composition.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-30-multi-select-custom-answer-composition.zh.md rename to .agents/notes/archived/bug-fix/2026-07-30-multi-select-custom-answer-composition.zh.md index 796d379312..67b67e6c48 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-30-multi-select-custom-answer-composition.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-30-multi-select-custom-answer-composition.zh.md @@ -1,6 +1,7 @@ # Agent Note: 多选题自定义答案组合 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-multi-select-custom-answer-composition.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-30-source-checkout-workdir-distinction.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-30-source-checkout-workdir-distinction.i18n.yaml new file mode 100644 index 0000000000..1a074d9d9f --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-30-source-checkout-workdir-distinction.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-30-source-checkout-workdir-distinction.md +2026-07-30-source-checkout-workdir-distinction.md: a6ebd1edac794cafc318e7961263106f162361d3 +2026-07-30-source-checkout-workdir-distinction.zh.md: 570f950223688eef251dd6be95e71f7bebe5d453 diff --git a/.agents/notes/implemented/bug-fix/2026-07-30-source-checkout-workdir-distinction.md b/.agents/notes/archived/bug-fix/2026-07-30-source-checkout-workdir-distinction.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-30-source-checkout-workdir-distinction.md rename to .agents/notes/archived/bug-fix/2026-07-30-source-checkout-workdir-distinction.md index 407d11bd2d..a6ebd1edac 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-30-source-checkout-workdir-distinction.md +++ b/.agents/notes/archived/bug-fix/2026-07-30-source-checkout-workdir-distinction.md @@ -1,6 +1,7 @@ # Agent Note: Source checkout paths do not define working directories Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-source-checkout-workdir-distinction.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-30-source-checkout-workdir-distinction.zh.md b/.agents/notes/archived/bug-fix/2026-07-30-source-checkout-workdir-distinction.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-30-source-checkout-workdir-distinction.zh.md rename to .agents/notes/archived/bug-fix/2026-07-30-source-checkout-workdir-distinction.zh.md index 91251aa040..570f950223 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-30-source-checkout-workdir-distinction.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-30-source-checkout-workdir-distinction.zh.md @@ -1,6 +1,7 @@ # Agent Note: 源码 checkout 路径不定义工作目录 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-source-checkout-workdir-distinction.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-30-web-transcript-log-ordered-projection.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-30-web-transcript-log-ordered-projection.i18n.yaml new file mode 100644 index 0000000000..3dfd6de4ac --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-30-web-transcript-log-ordered-projection.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-30-web-transcript-log-ordered-projection.md +2026-07-30-web-transcript-log-ordered-projection.md: b16a87d5806b3d5d3e08cc436c1eacc92053a629 +2026-07-30-web-transcript-log-ordered-projection.zh.md: 871894f29cfd4461bb80e941c0d7cbb14a7e2dda diff --git a/.agents/notes/implemented/bug-fix/2026-07-30-web-transcript-log-ordered-projection.md b/.agents/notes/archived/bug-fix/2026-07-30-web-transcript-log-ordered-projection.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-30-web-transcript-log-ordered-projection.md rename to .agents/notes/archived/bug-fix/2026-07-30-web-transcript-log-ordered-projection.md index ed6fa4df3a..b16a87d580 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-30-web-transcript-log-ordered-projection.md +++ b/.agents/notes/archived/bug-fix/2026-07-30-web-transcript-log-ordered-projection.md @@ -1,6 +1,7 @@ # Agent Note: The browser conversation is a log-ordered human transcript Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-web-transcript-log-ordered-projection.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-30-web-transcript-log-ordered-projection.zh.md b/.agents/notes/archived/bug-fix/2026-07-30-web-transcript-log-ordered-projection.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-30-web-transcript-log-ordered-projection.zh.md rename to .agents/notes/archived/bug-fix/2026-07-30-web-transcript-log-ordered-projection.zh.md index cf8dc35099..871894f29c 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-30-web-transcript-log-ordered-projection.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-30-web-transcript-log-ordered-projection.zh.md @@ -1,6 +1,7 @@ # Agent Note: 浏览器会话是按日志顺序投影的人类对话记录 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-web-transcript-log-ordered-projection.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-31-code-runtime-python-settlement-fixes.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-31-code-runtime-python-settlement-fixes.i18n.yaml new file mode 100644 index 0000000000..3f9f3875eb --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-31-code-runtime-python-settlement-fixes.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-31-code-runtime-python-settlement-fixes.md +2026-07-31-code-runtime-python-settlement-fixes.md: 6ad9faade3bc64c8555905593f13dc7b1bd2f6ae +2026-07-31-code-runtime-python-settlement-fixes.zh.md: a92288210cd8d774baef37182ad72e4c52ae1f9e diff --git a/.agents/notes/implemented/bug-fix/2026-07-31-code-runtime-python-settlement-fixes.md b/.agents/notes/archived/bug-fix/2026-07-31-code-runtime-python-settlement-fixes.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-31-code-runtime-python-settlement-fixes.md rename to .agents/notes/archived/bug-fix/2026-07-31-code-runtime-python-settlement-fixes.md index 26a5947b66..6ad9faade3 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-31-code-runtime-python-settlement-fixes.md +++ b/.agents/notes/archived/bug-fix/2026-07-31-code-runtime-python-settlement-fixes.md @@ -1,6 +1,7 @@ # Agent Note: Settlement, framing, and lifecycle fixes in the CPython backend Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-code-runtime-python-settlement-fixes.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-31-code-runtime-python-settlement-fixes.zh.md b/.agents/notes/archived/bug-fix/2026-07-31-code-runtime-python-settlement-fixes.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-31-code-runtime-python-settlement-fixes.zh.md rename to .agents/notes/archived/bug-fix/2026-07-31-code-runtime-python-settlement-fixes.zh.md index f2e7955a40..a92288210c 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-31-code-runtime-python-settlement-fixes.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-31-code-runtime-python-settlement-fixes.zh.md @@ -1,6 +1,7 @@ # Agent Note: CPython 后端中的结算、分帧与生命周期修复 Status: implemented +Archived: 2026-09-04 [English](2026-07-31-code-runtime-python-settlement-fixes.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-31-english-compaction-checkpoints.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-31-english-compaction-checkpoints.i18n.yaml new file mode 100644 index 0000000000..be01d369d2 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-31-english-compaction-checkpoints.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-31-english-compaction-checkpoints.md +2026-07-31-english-compaction-checkpoints.md: 62db12bb97bcbd691a33280a9c1a7884e88856d0 +2026-07-31-english-compaction-checkpoints.zh.md: bea53cbf6075143782d12aa58a99f7a3e253d6cb diff --git a/.agents/notes/implemented/bug-fix/2026-07-31-english-compaction-checkpoints.md b/.agents/notes/archived/bug-fix/2026-07-31-english-compaction-checkpoints.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-31-english-compaction-checkpoints.md rename to .agents/notes/archived/bug-fix/2026-07-31-english-compaction-checkpoints.md index a1123b3d67..62db12bb97 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-31-english-compaction-checkpoints.md +++ b/.agents/notes/archived/bug-fix/2026-07-31-english-compaction-checkpoints.md @@ -1,6 +1,7 @@ # Agent Note: Compaction checkpoints use an English engineering register Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-english-compaction-checkpoints.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-31-english-compaction-checkpoints.zh.md b/.agents/notes/archived/bug-fix/2026-07-31-english-compaction-checkpoints.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-31-english-compaction-checkpoints.zh.md rename to .agents/notes/archived/bug-fix/2026-07-31-english-compaction-checkpoints.zh.md index 1543d87493..bea53cbf60 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-31-english-compaction-checkpoints.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-31-english-compaction-checkpoints.zh.md @@ -1,6 +1,7 @@ # Agent Note: 压缩检查点使用英语工程文体 Status: implemented +Archived: 2026-09-04 [English](2026-07-31-english-compaction-checkpoints.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.i18n.yaml new file mode 100644 index 0000000000..293d08b685 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.md +2026-07-31-fork-anchor-floors-to-event-seq.md: 054bda7a74b14727093e2a5f1cf356cb22f2edba +2026-07-31-fork-anchor-floors-to-event-seq.zh.md: 7a7529c7f9055b1b4fefdb3fa8690b54f3ae3546 diff --git a/.agents/notes/implemented/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.md b/.agents/notes/archived/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.md rename to .agents/notes/archived/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.md index 760e732665..054bda7a74 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.md +++ b/.agents/notes/archived/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.md @@ -1,6 +1,7 @@ # Agent Note: Fork anchor floors to an event seq Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-fork-anchor-floors-to-event-seq.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.zh.md b/.agents/notes/archived/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.zh.md rename to .agents/notes/archived/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.zh.md index c25a69462b..7a7529c7f9 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.zh.md @@ -1,6 +1,7 @@ # Agent Note: fork 锚点向下取整到事件 seq Status: implemented +Archived: 2026-09-04 [English](2026-07-31-fork-anchor-floors-to-event-seq.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-31-resume-selector-batch-projection.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-31-resume-selector-batch-projection.i18n.yaml new file mode 100644 index 0000000000..bc98576d46 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-31-resume-selector-batch-projection.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-31-resume-selector-batch-projection.md +2026-07-31-resume-selector-batch-projection.md: c30abf7f236b625d17f4b1be1ca37184a4f13df5 +2026-07-31-resume-selector-batch-projection.zh.md: f0898242b268b9f0cad0e5aac1804cae5bde0539 diff --git a/.agents/notes/implemented/bug-fix/2026-07-31-resume-selector-batch-projection.md b/.agents/notes/archived/bug-fix/2026-07-31-resume-selector-batch-projection.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-31-resume-selector-batch-projection.md rename to .agents/notes/archived/bug-fix/2026-07-31-resume-selector-batch-projection.md index aa99ecf323..c30abf7f23 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-31-resume-selector-batch-projection.md +++ b/.agents/notes/archived/bug-fix/2026-07-31-resume-selector-batch-projection.md @@ -1,6 +1,7 @@ # Agent Note: Resume selector folds titles only Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-resume-selector-batch-projection.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-31-resume-selector-batch-projection.zh.md b/.agents/notes/archived/bug-fix/2026-07-31-resume-selector-batch-projection.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-31-resume-selector-batch-projection.zh.md rename to .agents/notes/archived/bug-fix/2026-07-31-resume-selector-batch-projection.zh.md index ebc9d43677..f0898242b2 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-31-resume-selector-batch-projection.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-31-resume-selector-batch-projection.zh.md @@ -1,6 +1,7 @@ # Agent Note: 恢复选择器只折叠标题 Status: implemented +Archived: 2026-09-04 [English](2026-07-31-resume-selector-batch-projection.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-31-same-basename-workspace-adoption.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-31-same-basename-workspace-adoption.i18n.yaml new file mode 100644 index 0000000000..5bff24dabb --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-31-same-basename-workspace-adoption.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-31-same-basename-workspace-adoption.md +2026-07-31-same-basename-workspace-adoption.md: 2d58900917389c1f60ef2cd65ce751ef3d9326fd +2026-07-31-same-basename-workspace-adoption.zh.md: bfc9e4def2fd76e88e47d7f06c80b864adf301e7 diff --git a/.agents/notes/implemented/bug-fix/2026-07-31-same-basename-workspace-adoption.md b/.agents/notes/archived/bug-fix/2026-07-31-same-basename-workspace-adoption.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-31-same-basename-workspace-adoption.md rename to .agents/notes/archived/bug-fix/2026-07-31-same-basename-workspace-adoption.md index d7c4f7a9d6..2d58900917 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-31-same-basename-workspace-adoption.md +++ b/.agents/notes/archived/bug-fix/2026-07-31-same-basename-workspace-adoption.md @@ -1,6 +1,7 @@ # Agent Note: Same-basename Workspace adoption Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-same-basename-workspace-adoption.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-31-same-basename-workspace-adoption.zh.md b/.agents/notes/archived/bug-fix/2026-07-31-same-basename-workspace-adoption.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-31-same-basename-workspace-adoption.zh.md rename to .agents/notes/archived/bug-fix/2026-07-31-same-basename-workspace-adoption.zh.md index 968863a24c..bfc9e4def2 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-31-same-basename-workspace-adoption.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-31-same-basename-workspace-adoption.zh.md @@ -1,6 +1,7 @@ # Agent Note: 接纳 basename 相同的 Workspace Status: implemented +Archived: 2026-09-04 [English](2026-07-31-same-basename-workspace-adoption.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-07-31-web-stop-preserves-queue.i18n.yaml b/.agents/notes/archived/bug-fix/2026-07-31-web-stop-preserves-queue.i18n.yaml new file mode 100644 index 0000000000..63b678c8bf --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-07-31-web-stop-preserves-queue.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-07-31-web-stop-preserves-queue.md +2026-07-31-web-stop-preserves-queue.md: 8580869a28ce22dbb756bb3f9c4a7c30645212cc +2026-07-31-web-stop-preserves-queue.zh.md: 44aa39a58c75f8046d09f8b273fd12d3d638dc93 diff --git a/.agents/notes/implemented/bug-fix/2026-07-31-web-stop-preserves-queue.md b/.agents/notes/archived/bug-fix/2026-07-31-web-stop-preserves-queue.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-31-web-stop-preserves-queue.md rename to .agents/notes/archived/bug-fix/2026-07-31-web-stop-preserves-queue.md index b8bba45009..8580869a28 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-31-web-stop-preserves-queue.md +++ b/.agents/notes/archived/bug-fix/2026-07-31-web-stop-preserves-queue.md @@ -1,6 +1,7 @@ # Agent Note: Web stop preserves pending Queue Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-web-stop-preserves-queue.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-07-31-web-stop-preserves-queue.zh.md b/.agents/notes/archived/bug-fix/2026-07-31-web-stop-preserves-queue.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-07-31-web-stop-preserves-queue.zh.md rename to .agents/notes/archived/bug-fix/2026-07-31-web-stop-preserves-queue.zh.md index af9c114fd0..44aa39a58c 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-31-web-stop-preserves-queue.zh.md +++ b/.agents/notes/archived/bug-fix/2026-07-31-web-stop-preserves-queue.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 停止操作保留待处理 Queue Status: implemented +Archived: 2026-09-04 [English](2026-07-31-web-stop-preserves-queue.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-01-ask-user-delegated-caller-guard.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-01-ask-user-delegated-caller-guard.i18n.yaml new file mode 100644 index 0000000000..0d9799f99e --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-01-ask-user-delegated-caller-guard.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-01-ask-user-delegated-caller-guard.md +2026-08-01-ask-user-delegated-caller-guard.md: 2382ead2bab8b9a83ddb5f7c9e4480359e30f0f4 +2026-08-01-ask-user-delegated-caller-guard.zh.md: 0aa173b0e2c34d0496a20e9c0f295be66e995cfb diff --git a/.agents/notes/implemented/bug-fix/2026-08-01-ask-user-delegated-caller-guard.md b/.agents/notes/archived/bug-fix/2026-08-01-ask-user-delegated-caller-guard.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-01-ask-user-delegated-caller-guard.md rename to .agents/notes/archived/bug-fix/2026-08-01-ask-user-delegated-caller-guard.md index ed4bfae1b6..2382ead2ba 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-01-ask-user-delegated-caller-guard.md +++ b/.agents/notes/archived/bug-fix/2026-08-01-ask-user-delegated-caller-guard.md @@ -1,6 +1,7 @@ # Agent Note: Reject human interaction from runtime-owned subagents Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-01-ask-user-delegated-caller-guard.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-01-ask-user-delegated-caller-guard.zh.md b/.agents/notes/archived/bug-fix/2026-08-01-ask-user-delegated-caller-guard.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-01-ask-user-delegated-caller-guard.zh.md rename to .agents/notes/archived/bug-fix/2026-08-01-ask-user-delegated-caller-guard.zh.md index 82779d0b31..0aa173b0e2 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-01-ask-user-delegated-caller-guard.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-01-ask-user-delegated-caller-guard.zh.md @@ -1,6 +1,7 @@ # Agent Note: 拒绝运行时中归属于其他 agent 的 subagent 向人类发起交互 Status: implemented +Archived: 2026-09-04 [English](2026-08-01-ask-user-delegated-caller-guard.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-02-goal-round-wrapup-message.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-02-goal-round-wrapup-message.i18n.yaml new file mode 100644 index 0000000000..c471d41913 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-02-goal-round-wrapup-message.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-02-goal-round-wrapup-message.md +2026-08-02-goal-round-wrapup-message.md: c4a62a33e06b3d8a80e1d54fd34d13d868d35b95 +2026-08-02-goal-round-wrapup-message.zh.md: 11c4bbc3a4e8ffb8bf9547962028bfc217871b8d diff --git a/.agents/notes/implemented/bug-fix/2026-08-02-goal-round-wrapup-message.md b/.agents/notes/archived/bug-fix/2026-08-02-goal-round-wrapup-message.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-02-goal-round-wrapup-message.md rename to .agents/notes/archived/bug-fix/2026-08-02-goal-round-wrapup-message.md index 22a7d329d2..c4a62a33e0 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-02-goal-round-wrapup-message.md +++ b/.agents/notes/archived/bug-fix/2026-08-02-goal-round-wrapup-message.md @@ -1,6 +1,7 @@ # Agent Note: Goal-round wrap-up message Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-02-goal-round-wrapup-message.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-02-goal-round-wrapup-message.zh.md b/.agents/notes/archived/bug-fix/2026-08-02-goal-round-wrapup-message.zh.md similarity index 98% rename from .agents/notes/implemented/bug-fix/2026-08-02-goal-round-wrapup-message.zh.md rename to .agents/notes/archived/bug-fix/2026-08-02-goal-round-wrapup-message.zh.md index fb62391655..11c4bbc3a4 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-02-goal-round-wrapup-message.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-02-goal-round-wrapup-message.zh.md @@ -1,6 +1,7 @@ -# Agent Note:Goal Round 收尾消息 +# Agent Note: Goal Round 收尾消息 Status: implemented +Archived: 2026-09-04 [English](2026-08-02-goal-round-wrapup-message.md) | 中文 diff --git a/.agents/notes/implemented/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.i18n.yaml similarity index 61% rename from .agents/notes/implemented/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.i18n.yaml rename to .agents/notes/archived/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.i18n.yaml index f17316e364..efdd58f5fc 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.i18n.yaml +++ b/.agents/notes/archived/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.md -2026-08-02-message-fork-actions-require-completed-turn-tail.md: abdcbc79948c67619bb70a8a87741046f65b8838 -2026-08-02-message-fork-actions-require-completed-turn-tail.zh.md: dc6506bf470443b5de6a7984f983f4cca81452a0 +# pnpm run verify-translation-pairing --write .agents/notes/archived/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.md +2026-08-02-message-fork-actions-require-completed-turn-tail.md: 43462e85a96c5ab8b21c697acca354352bfb260b +2026-08-02-message-fork-actions-require-completed-turn-tail.zh.md: c16c4ad0832ce4ade3c2e359cfd3ac0e2cd350e5 diff --git a/.agents/notes/implemented/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.md b/.agents/notes/archived/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.md rename to .agents/notes/archived/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.md index abdcbc7994..43462e85a9 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.md +++ b/.agents/notes/archived/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.md @@ -1,6 +1,7 @@ # Agent Note: Message fork actions require a completed turn tail Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-02-message-fork-actions-require-completed-turn-tail.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.zh.md b/.agents/notes/archived/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.zh.md rename to .agents/notes/archived/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.zh.md index dc6506bf47..c16c4ad083 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.zh.md @@ -1,6 +1,7 @@ # Agent Note: 消息 fork 操作要求消息位于已完成轮次尾部 Status: implemented +Archived: 2026-09-04 [English](2026-08-02-message-fork-actions-require-completed-turn-tail.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-02-todo-first-composer-context-order.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-02-todo-first-composer-context-order.i18n.yaml new file mode 100644 index 0000000000..ceb83f0066 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-02-todo-first-composer-context-order.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-02-todo-first-composer-context-order.md +2026-08-02-todo-first-composer-context-order.md: 146b5f237d58ed0b9d92791bded2cddc47455431 +2026-08-02-todo-first-composer-context-order.zh.md: 61e989ecd039e0e61196990cbcc7959a5ef929f1 diff --git a/.agents/notes/implemented/bug-fix/2026-08-02-todo-first-composer-context-order.md b/.agents/notes/archived/bug-fix/2026-08-02-todo-first-composer-context-order.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-02-todo-first-composer-context-order.md rename to .agents/notes/archived/bug-fix/2026-08-02-todo-first-composer-context-order.md index 26962426c7..146b5f237d 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-02-todo-first-composer-context-order.md +++ b/.agents/notes/archived/bug-fix/2026-08-02-todo-first-composer-context-order.md @@ -1,6 +1,7 @@ # Agent Note: Todo-first composer context order Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-02-todo-first-composer-context-order.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-02-todo-first-composer-context-order.zh.md b/.agents/notes/archived/bug-fix/2026-08-02-todo-first-composer-context-order.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-02-todo-first-composer-context-order.zh.md rename to .agents/notes/archived/bug-fix/2026-08-02-todo-first-composer-context-order.zh.md index a341dddfb7..61e989ecd0 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-02-todo-first-composer-context-order.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-02-todo-first-composer-context-order.zh.md @@ -1,6 +1,7 @@ # Agent Note: Todo 优先的 composer 上下文顺序 Status: implemented +Archived: 2026-09-04 [English](2026-08-02-todo-first-composer-context-order.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.i18n.yaml new file mode 100644 index 0000000000..ddf0802be4 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.md +2026-08-03-hmr-initial-scan-boot-deadlock.md: 9a3b8b847c14408f082a82b06775b5809bf9e020 +2026-08-03-hmr-initial-scan-boot-deadlock.zh.md: 9f9c34ff5b4b8ed48b55e5b2e3afd3536115f14b diff --git a/.agents/notes/implemented/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.md b/.agents/notes/archived/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.md rename to .agents/notes/archived/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.md index e578b4d5fa..9a3b8b847c 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.md +++ b/.agents/notes/archived/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.md @@ -1,6 +1,7 @@ # Agent Note: HMR's initial scan deadlocked a failing boot into a silent exit 13 Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-03-hmr-initial-scan-boot-deadlock.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.zh.md b/.agents/notes/archived/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.zh.md similarity index 97% rename from .agents/notes/implemented/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.zh.md rename to .agents/notes/archived/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.zh.md index 963193a71c..9f9c34ff5b 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.zh.md @@ -1,6 +1,7 @@ -# Agent Note:HMR 初始扫描使失败的启动死锁为静默的 exit 13 +# Agent Note: HMR 初始扫描使失败的启动死锁为静默的 exit 13 -状态:已实现 +Status: implemented +Archived: 2026-09-04 [English](2026-08-03-hmr-initial-scan-boot-deadlock.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-04-composer-tab-gutter-reservation.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-04-composer-tab-gutter-reservation.i18n.yaml new file mode 100644 index 0000000000..d9170127e4 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-04-composer-tab-gutter-reservation.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-04-composer-tab-gutter-reservation.md +2026-08-04-composer-tab-gutter-reservation.md: b072b683173a25aeb82102c4c9cc2732cd101083 +2026-08-04-composer-tab-gutter-reservation.zh.md: 8533c8796259d326a96c87f7f8c070e398650dd2 diff --git a/.agents/notes/implemented/bug-fix/2026-08-04-composer-tab-gutter-reservation.md b/.agents/notes/archived/bug-fix/2026-08-04-composer-tab-gutter-reservation.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-04-composer-tab-gutter-reservation.md rename to .agents/notes/archived/bug-fix/2026-08-04-composer-tab-gutter-reservation.md index ed8d973c28..b072b68317 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-04-composer-tab-gutter-reservation.md +++ b/.agents/notes/archived/bug-fix/2026-08-04-composer-tab-gutter-reservation.md @@ -1,6 +1,7 @@ # Agent Note: The conversation column reserves one scrollbar gutter for every view Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-04-composer-tab-gutter-reservation.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-04-composer-tab-gutter-reservation.zh.md b/.agents/notes/archived/bug-fix/2026-08-04-composer-tab-gutter-reservation.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-04-composer-tab-gutter-reservation.zh.md rename to .agents/notes/archived/bug-fix/2026-08-04-composer-tab-gutter-reservation.zh.md index 282151ecbf..8533c87962 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-04-composer-tab-gutter-reservation.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-04-composer-tab-gutter-reservation.zh.md @@ -1,6 +1,7 @@ # Agent Note: 会话列为每个视图预留同一条滚动条槽 Status: implemented +Archived: 2026-09-04 [English](2026-08-04-composer-tab-gutter-reservation.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-05-context-meter-blind-to-compaction.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-05-context-meter-blind-to-compaction.i18n.yaml new file mode 100644 index 0000000000..ecb1431382 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-05-context-meter-blind-to-compaction.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-05-context-meter-blind-to-compaction.md +2026-08-05-context-meter-blind-to-compaction.md: 3ce225706badf6aa1b7d34d570653a6fe84c908e +2026-08-05-context-meter-blind-to-compaction.zh.md: 43c5a9d73838347884194ddec1103b336ab84275 diff --git a/.agents/notes/implemented/bug-fix/2026-08-05-context-meter-blind-to-compaction.md b/.agents/notes/archived/bug-fix/2026-08-05-context-meter-blind-to-compaction.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-05-context-meter-blind-to-compaction.md rename to .agents/notes/archived/bug-fix/2026-08-05-context-meter-blind-to-compaction.md index a23e51771c..3ce225706b 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-05-context-meter-blind-to-compaction.md +++ b/.agents/notes/archived/bug-fix/2026-08-05-context-meter-blind-to-compaction.md @@ -1,6 +1,7 @@ # Agent Note: the context meter could not see a compaction Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-05-context-meter-blind-to-compaction.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-05-context-meter-blind-to-compaction.zh.md b/.agents/notes/archived/bug-fix/2026-08-05-context-meter-blind-to-compaction.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-05-context-meter-blind-to-compaction.zh.md rename to .agents/notes/archived/bug-fix/2026-08-05-context-meter-blind-to-compaction.zh.md index 12fd41af0d..43c5a9d738 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-05-context-meter-blind-to-compaction.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-05-context-meter-blind-to-compaction.zh.md @@ -1,6 +1,7 @@ # Agent Note: 上下文仪表看不见压缩 Status: implemented +Archived: 2026-09-04 [English](2026-08-05-context-meter-blind-to-compaction.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-05-turn-tail-actions-require-a-completed-turn.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-05-turn-tail-actions-require-a-completed-turn.i18n.yaml new file mode 100644 index 0000000000..d2f4b56569 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-05-turn-tail-actions-require-a-completed-turn.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-05-turn-tail-actions-require-a-completed-turn.md +2026-08-05-turn-tail-actions-require-a-completed-turn.md: 2c01f52f5a0e0e2eb4a3bbe12368cd48cfa5921e +2026-08-05-turn-tail-actions-require-a-completed-turn.zh.md: b727c8714edf4a43bd6354bc98c0f889b2cbcb27 diff --git a/.agents/notes/implemented/bug-fix/2026-08-05-turn-tail-actions-require-a-completed-turn.md b/.agents/notes/archived/bug-fix/2026-08-05-turn-tail-actions-require-a-completed-turn.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-05-turn-tail-actions-require-a-completed-turn.md rename to .agents/notes/archived/bug-fix/2026-08-05-turn-tail-actions-require-a-completed-turn.md index 44a890c955..2c01f52f5a 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-05-turn-tail-actions-require-a-completed-turn.md +++ b/.agents/notes/archived/bug-fix/2026-08-05-turn-tail-actions-require-a-completed-turn.md @@ -1,6 +1,7 @@ # Agent Note: Turn-tail IconActions require a completed turn Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-05-turn-tail-actions-require-a-completed-turn.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-05-turn-tail-actions-require-a-completed-turn.zh.md b/.agents/notes/archived/bug-fix/2026-08-05-turn-tail-actions-require-a-completed-turn.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-05-turn-tail-actions-require-a-completed-turn.zh.md rename to .agents/notes/archived/bug-fix/2026-08-05-turn-tail-actions-require-a-completed-turn.zh.md index 71eb7acc42..b727c8714e 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-05-turn-tail-actions-require-a-completed-turn.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-05-turn-tail-actions-require-a-completed-turn.zh.md @@ -1,6 +1,7 @@ # Agent Note: 轮次尾部 IconActions 要求轮次已完成 Status: implemented +Archived: 2026-09-04 [English](2026-08-05-turn-tail-actions-require-a-completed-turn.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-05-workspace-blank-session-reuse-membership.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-05-workspace-blank-session-reuse-membership.i18n.yaml new file mode 100644 index 0000000000..06169dd0fa --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-05-workspace-blank-session-reuse-membership.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-05-workspace-blank-session-reuse-membership.md +2026-08-05-workspace-blank-session-reuse-membership.md: bbc362da338056eca0311b2689c0882b1bb803f1 +2026-08-05-workspace-blank-session-reuse-membership.zh.md: b84c892f118cc894a2e23a92c1533a5173a26ea5 diff --git a/.agents/notes/implemented/bug-fix/2026-08-05-workspace-blank-session-reuse-membership.md b/.agents/notes/archived/bug-fix/2026-08-05-workspace-blank-session-reuse-membership.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-05-workspace-blank-session-reuse-membership.md rename to .agents/notes/archived/bug-fix/2026-08-05-workspace-blank-session-reuse-membership.md index df8cc898f5..bbc362da33 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-05-workspace-blank-session-reuse-membership.md +++ b/.agents/notes/archived/bug-fix/2026-08-05-workspace-blank-session-reuse-membership.md @@ -1,6 +1,7 @@ # Agent Note: Workspace New Session reuse hijacked cwd-matching unaccounted blank sessions Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-05-workspace-blank-session-reuse-membership.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-05-workspace-blank-session-reuse-membership.zh.md b/.agents/notes/archived/bug-fix/2026-08-05-workspace-blank-session-reuse-membership.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-05-workspace-blank-session-reuse-membership.zh.md rename to .agents/notes/archived/bug-fix/2026-08-05-workspace-blank-session-reuse-membership.zh.md index 73ccdbbb00..b84c892f11 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-05-workspace-blank-session-reuse-membership.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-05-workspace-blank-session-reuse-membership.zh.md @@ -1,6 +1,7 @@ # Agent Note: 工作区新建会话复用了 cwd 匹配但未入账的空白会话 Status: implemented +Archived: 2026-09-04 [English](2026-08-05-workspace-blank-session-reuse-membership.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-06-api-key-format-validation.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-06-api-key-format-validation.i18n.yaml new file mode 100644 index 0000000000..1c23cff409 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-06-api-key-format-validation.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-06-api-key-format-validation.md +2026-08-06-api-key-format-validation.md: d3524d47934a97c25760b12befef18d6f3935575 +2026-08-06-api-key-format-validation.zh.md: 8844fd083d2f6f978f635c931d384060685423f0 diff --git a/.agents/notes/implemented/bug-fix/2026-08-06-api-key-format-validation.md b/.agents/notes/archived/bug-fix/2026-08-06-api-key-format-validation.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-06-api-key-format-validation.md rename to .agents/notes/archived/bug-fix/2026-08-06-api-key-format-validation.md index 853ae9a4e2..d3524d4793 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-06-api-key-format-validation.md +++ b/.agents/notes/archived/bug-fix/2026-08-06-api-key-format-validation.md @@ -1,6 +1,7 @@ # Agent Note: Validate API key format before it reaches an HTTP header Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-api-key-format-validation.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-06-api-key-format-validation.zh.md b/.agents/notes/archived/bug-fix/2026-08-06-api-key-format-validation.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-06-api-key-format-validation.zh.md rename to .agents/notes/archived/bug-fix/2026-08-06-api-key-format-validation.zh.md index 923798e526..8844fd083d 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-06-api-key-format-validation.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-06-api-key-format-validation.zh.md @@ -1,6 +1,7 @@ # Agent Note: 在 API Key 进入 HTTP header 之前校验其格式 Status: implemented +Archived: 2026-09-04 [English](2026-08-06-api-key-format-validation.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-06-list-agents-residency-vocabulary.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-06-list-agents-residency-vocabulary.i18n.yaml new file mode 100644 index 0000000000..bea81cfcaa --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-06-list-agents-residency-vocabulary.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-06-list-agents-residency-vocabulary.md +2026-08-06-list-agents-residency-vocabulary.md: d174bcbf058487e5470f0fc75fcf0cb965169e0e +2026-08-06-list-agents-residency-vocabulary.zh.md: 37b5b1f3cdf3c559a30028a04f13a3ee6a0b3fbb diff --git a/.agents/notes/implemented/bug-fix/2026-08-06-list-agents-residency-vocabulary.md b/.agents/notes/archived/bug-fix/2026-08-06-list-agents-residency-vocabulary.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-06-list-agents-residency-vocabulary.md rename to .agents/notes/archived/bug-fix/2026-08-06-list-agents-residency-vocabulary.md index 01fff95892..d174bcbf05 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-06-list-agents-residency-vocabulary.md +++ b/.agents/notes/archived/bug-fix/2026-08-06-list-agents-residency-vocabulary.md @@ -1,6 +1,7 @@ # Agent Note: `list_agents` uses `ready` for resumable children Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-list-agents-residency-vocabulary.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-06-list-agents-residency-vocabulary.zh.md b/.agents/notes/archived/bug-fix/2026-08-06-list-agents-residency-vocabulary.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-06-list-agents-residency-vocabulary.zh.md rename to .agents/notes/archived/bug-fix/2026-08-06-list-agents-residency-vocabulary.zh.md index f081962600..37b5b1f3cd 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-06-list-agents-residency-vocabulary.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-06-list-agents-residency-vocabulary.zh.md @@ -1,6 +1,7 @@ # Agent Note: `list_agents` uses `ready` for resumable children Status: implemented +Archived: 2026-09-04 [English](2026-08-06-list-agents-residency-vocabulary.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.i18n.yaml new file mode 100644 index 0000000000..d69760a5d6 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.md +2026-08-06-onboarding-step-owned-takeover-chrome.md: f573f72adee26833432f2429be45eb482e038f5e +2026-08-06-onboarding-step-owned-takeover-chrome.zh.md: 14af4505eaaf2f952f8fdbace049f9b4dffcb636 diff --git a/.agents/notes/implemented/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.md b/.agents/notes/archived/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.md rename to .agents/notes/archived/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.md index 80d2dbbb94..f573f72ade 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.md +++ b/.agents/notes/archived/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.md @@ -1,6 +1,7 @@ # Agent Note: onboarding takeover chrome moves into the step Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-onboarding-step-owned-takeover-chrome.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.zh.md b/.agents/notes/archived/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.zh.md similarity index 97% rename from .agents/notes/implemented/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.zh.md rename to .agents/notes/archived/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.zh.md index f67c396018..14af4505ea 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.zh.md @@ -1,6 +1,7 @@ -# Agent Note:首次使用引导的接管界面框架移入步骤自身 +# Agent Note: 首次使用引导的接管界面框架移入步骤自身 -状态:已实现 +Status: implemented +Archived: 2026-09-04 [English](2026-08-06-onboarding-step-owned-takeover-chrome.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-06-provider-credential-lifecycle.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-06-provider-credential-lifecycle.i18n.yaml new file mode 100644 index 0000000000..32417cb21b --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-06-provider-credential-lifecycle.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-06-provider-credential-lifecycle.md +2026-08-06-provider-credential-lifecycle.md: dfb1f975faaabf02cf6b17fc53728c42f04c5d1f +2026-08-06-provider-credential-lifecycle.zh.md: 9166a914b27236a33d3e6677ecf21a333a852f2c diff --git a/.agents/notes/implemented/bug-fix/2026-08-06-provider-credential-lifecycle.md b/.agents/notes/archived/bug-fix/2026-08-06-provider-credential-lifecycle.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-06-provider-credential-lifecycle.md rename to .agents/notes/archived/bug-fix/2026-08-06-provider-credential-lifecycle.md index c28788921e..dfb1f975fa 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-06-provider-credential-lifecycle.md +++ b/.agents/notes/archived/bug-fix/2026-08-06-provider-credential-lifecycle.md @@ -1,6 +1,7 @@ # Agent Note: Recoverable provider credential lifecycle Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-provider-credential-lifecycle.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-06-provider-credential-lifecycle.zh.md b/.agents/notes/archived/bug-fix/2026-08-06-provider-credential-lifecycle.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-06-provider-credential-lifecycle.zh.md rename to .agents/notes/archived/bug-fix/2026-08-06-provider-credential-lifecycle.zh.md index 9b1c665e0b..9166a914b2 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-06-provider-credential-lifecycle.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-06-provider-credential-lifecycle.zh.md @@ -1,6 +1,7 @@ # Agent Note: 可恢复的提供方凭据生命周期 Status: implemented +Archived: 2026-09-04 [English](2026-08-06-provider-credential-lifecycle.md) | 中文 diff --git a/.agents/notes/implemented/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.i18n.yaml similarity index 51% rename from .agents/notes/implemented/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.i18n.yaml rename to .agents/notes/archived/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.i18n.yaml index 841f1c8442..db360d9f7e 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.i18n.yaml +++ b/.agents/notes/archived/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.md -2026-08-06-reader-scroll-attribution-observed-top-ledger.md: b55bbc39f6e1f24bb7751b7743da23736abbd06b -2026-08-06-reader-scroll-attribution-observed-top-ledger.zh.md: e38ead6c9b80e41b37556172bd6c1f411858b6ed +# pnpm run verify-translation-pairing --write .agents/notes/archived/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.md +2026-08-06-reader-scroll-attribution-observed-top-ledger.md: 8021eecfd07e31dde16672da45cf02b0fe5c44a6 +2026-08-06-reader-scroll-attribution-observed-top-ledger.zh.md: f19190f4f74c37e96967475d0e8fcbac2225a426 diff --git a/.agents/notes/implemented/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.md b/.agents/notes/archived/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.md rename to .agents/notes/archived/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.md index b55bbc39f6..8021eecfd0 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.md +++ b/.agents/notes/archived/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.md @@ -1,6 +1,7 @@ # Agent Note: Reader scroll attribution through the observed-top ledger Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-reader-scroll-attribution-observed-top-ledger.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.zh.md b/.agents/notes/archived/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.zh.md rename to .agents/notes/archived/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.zh.md index e38ead6c9b..f19190f4f7 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.zh.md @@ -1,6 +1,7 @@ # Agent Note: 经由 observed-top ledger 的读者滚动归因 Status: implemented +Archived: 2026-09-04 [English](2026-08-06-reader-scroll-attribution-observed-top-ledger.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.i18n.yaml new file mode 100644 index 0000000000..4e6b1ba0f2 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.md +2026-08-06-token-surface-unpriced-replace-compatibility.md: 9522758c6d9b6cfc68507b5660f61f7b78bde340 +2026-08-06-token-surface-unpriced-replace-compatibility.zh.md: 94d7edb0d4650e55747f5d8d0ce624b1a1a0b030 diff --git a/.agents/notes/implemented/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.md b/.agents/notes/archived/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.md rename to .agents/notes/archived/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.md index a271d3697c..9522758c6d 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.md +++ b/.agents/notes/archived/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.md @@ -1,6 +1,7 @@ # Agent Note: unpriced surface replacements fold neutrally Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-token-surface-unpriced-replace-compatibility.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.zh.md b/.agents/notes/archived/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.zh.md rename to .agents/notes/archived/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.zh.md index 21145723de..94d7edb0d4 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.zh.md @@ -1,6 +1,7 @@ # Agent Note: 未计价的表层替换以中性方式折叠 Status: implemented +Archived: 2026-09-04 [English](2026-08-06-token-surface-unpriced-replace-compatibility.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-09-broken-preset-roster-rows.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-09-broken-preset-roster-rows.i18n.yaml new file mode 100644 index 0000000000..4bdc7ff8cc --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-09-broken-preset-roster-rows.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-09-broken-preset-roster-rows.md +2026-08-09-broken-preset-roster-rows.md: ba69a5106ae37a1aabc52cd52f70d5d09dfcab0b +2026-08-09-broken-preset-roster-rows.zh.md: 48b73437b8f54a0cb75eaebbfddc3e5a1020a3c0 diff --git a/.agents/notes/implemented/bug-fix/2026-08-09-broken-preset-roster-rows.md b/.agents/notes/archived/bug-fix/2026-08-09-broken-preset-roster-rows.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-09-broken-preset-roster-rows.md rename to .agents/notes/archived/bug-fix/2026-08-09-broken-preset-roster-rows.md index 4ae92f0b12..ba69a5106a 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-09-broken-preset-roster-rows.md +++ b/.agents/notes/archived/bug-fix/2026-08-09-broken-preset-roster-rows.md @@ -1,6 +1,7 @@ # Agent Note: Broken presets are roster rows, not gaps Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-09-broken-preset-roster-rows.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-09-broken-preset-roster-rows.zh.md b/.agents/notes/archived/bug-fix/2026-08-09-broken-preset-roster-rows.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-09-broken-preset-roster-rows.zh.md rename to .agents/notes/archived/bug-fix/2026-08-09-broken-preset-roster-rows.zh.md index 60d1ff533e..48b73437b8 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-09-broken-preset-roster-rows.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-09-broken-preset-roster-rows.zh.md @@ -1,6 +1,7 @@ # Agent Note: 损坏的 preset 是名单行,不是空缺 Status: implemented +Archived: 2026-09-04 [English](2026-08-09-broken-preset-roster-rows.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-09-filesystem-absence-observation.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-09-filesystem-absence-observation.i18n.yaml new file mode 100644 index 0000000000..310a789b50 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-09-filesystem-absence-observation.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-09-filesystem-absence-observation.md +2026-08-09-filesystem-absence-observation.md: 6fb2ec19f00d045c4642957a5fb448a0ba4d0024 +2026-08-09-filesystem-absence-observation.zh.md: 3a0f2f481cc8fd277467e2883dac6225c07dd638 diff --git a/.agents/notes/implemented/bug-fix/2026-08-09-filesystem-absence-observation.md b/.agents/notes/archived/bug-fix/2026-08-09-filesystem-absence-observation.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-09-filesystem-absence-observation.md rename to .agents/notes/archived/bug-fix/2026-08-09-filesystem-absence-observation.md index 40338c4806..6fb2ec19f0 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-09-filesystem-absence-observation.md +++ b/.agents/notes/archived/bug-fix/2026-08-09-filesystem-absence-observation.md @@ -1,6 +1,7 @@ # Agent Note: Filesystem absence is an observation and guarded creation never replaces Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-09-filesystem-absence-observation.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-09-filesystem-absence-observation.zh.md b/.agents/notes/archived/bug-fix/2026-08-09-filesystem-absence-observation.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-09-filesystem-absence-observation.zh.md rename to .agents/notes/archived/bug-fix/2026-08-09-filesystem-absence-observation.zh.md index 4544424800..3a0f2f481c 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-09-filesystem-absence-observation.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-09-filesystem-absence-observation.zh.md @@ -1,6 +1,7 @@ # Agent Note: 文件系统中的缺失是一种观测,带防护的创建绝不执行替换 Status: implemented +Archived: 2026-09-04 [English](2026-08-09-filesystem-absence-observation.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-10-minimal-preset-owns-rl-composition.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-10-minimal-preset-owns-rl-composition.i18n.yaml new file mode 100644 index 0000000000..f50fa9ade4 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-10-minimal-preset-owns-rl-composition.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-10-minimal-preset-owns-rl-composition.md +2026-08-10-minimal-preset-owns-rl-composition.md: fd901f37795efdf8df8df097e186d22ac9c69700 +2026-08-10-minimal-preset-owns-rl-composition.zh.md: 7e725428983ce7491869589f4e85d5aca507d22f diff --git a/.agents/notes/implemented/bug-fix/2026-08-10-minimal-preset-owns-rl-composition.md b/.agents/notes/archived/bug-fix/2026-08-10-minimal-preset-owns-rl-composition.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-10-minimal-preset-owns-rl-composition.md rename to .agents/notes/archived/bug-fix/2026-08-10-minimal-preset-owns-rl-composition.md index 4c296ed4af..fd901f3779 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-10-minimal-preset-owns-rl-composition.md +++ b/.agents/notes/archived/bug-fix/2026-08-10-minimal-preset-owns-rl-composition.md @@ -1,6 +1,7 @@ # Agent Note: The minimal preset owns the complete RL agent composition Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-10-minimal-preset-owns-rl-composition.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-10-minimal-preset-owns-rl-composition.zh.md b/.agents/notes/archived/bug-fix/2026-08-10-minimal-preset-owns-rl-composition.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-10-minimal-preset-owns-rl-composition.zh.md rename to .agents/notes/archived/bug-fix/2026-08-10-minimal-preset-owns-rl-composition.zh.md index 545f0a32fe..7e72542898 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-10-minimal-preset-owns-rl-composition.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-10-minimal-preset-owns-rl-composition.zh.md @@ -1,6 +1,7 @@ # Agent Note: minimal preset 拥有完整的 RL agent 组合 Status: implemented +Archived: 2026-09-04 [English](2026-08-10-minimal-preset-owns-rl-composition.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-10-pre-plugin-theme-bootstrap.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-10-pre-plugin-theme-bootstrap.i18n.yaml new file mode 100644 index 0000000000..773eb19b36 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-10-pre-plugin-theme-bootstrap.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-10-pre-plugin-theme-bootstrap.md +2026-08-10-pre-plugin-theme-bootstrap.md: f3b09ed733c81852998276f191319a2662ff7e6c +2026-08-10-pre-plugin-theme-bootstrap.zh.md: 76ae6812d154609cd945a2b101af5680be07c693 diff --git a/.agents/notes/implemented/bug-fix/2026-08-10-pre-plugin-theme-bootstrap.md b/.agents/notes/archived/bug-fix/2026-08-10-pre-plugin-theme-bootstrap.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-10-pre-plugin-theme-bootstrap.md rename to .agents/notes/archived/bug-fix/2026-08-10-pre-plugin-theme-bootstrap.md index cf3b2d5b6c..f3b09ed733 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-10-pre-plugin-theme-bootstrap.md +++ b/.agents/notes/archived/bug-fix/2026-08-10-pre-plugin-theme-bootstrap.md @@ -1,6 +1,7 @@ # Agent Note: Pre-Plugin Theme Bootstrap Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-10-pre-plugin-theme-bootstrap.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-10-pre-plugin-theme-bootstrap.zh.md b/.agents/notes/archived/bug-fix/2026-08-10-pre-plugin-theme-bootstrap.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-10-pre-plugin-theme-bootstrap.zh.md rename to .agents/notes/archived/bug-fix/2026-08-10-pre-plugin-theme-bootstrap.zh.md index fcf4c4daac..76ae6812d1 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-10-pre-plugin-theme-bootstrap.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-10-pre-plugin-theme-bootstrap.zh.md @@ -1,6 +1,7 @@ # Agent Note: 插件激活前的主题引导 Status: implemented +Archived: 2026-09-04 [English](2026-08-10-pre-plugin-theme-bootstrap.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-10-session-row-identity-covers-the-preset.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-10-session-row-identity-covers-the-preset.i18n.yaml new file mode 100644 index 0000000000..91573d8997 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-10-session-row-identity-covers-the-preset.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-10-session-row-identity-covers-the-preset.md +2026-08-10-session-row-identity-covers-the-preset.md: 7d9fc5e5b200cc0ea0592a3ecaedfe6a14becd5a +2026-08-10-session-row-identity-covers-the-preset.zh.md: 4e707f8b25fcc38e2cf8cd5eb76c5c5e51f88a2e diff --git a/.agents/notes/implemented/bug-fix/2026-08-10-session-row-identity-covers-the-preset.md b/.agents/notes/archived/bug-fix/2026-08-10-session-row-identity-covers-the-preset.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-10-session-row-identity-covers-the-preset.md rename to .agents/notes/archived/bug-fix/2026-08-10-session-row-identity-covers-the-preset.md index 7a89dcb4e4..7d9fc5e5b2 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-10-session-row-identity-covers-the-preset.md +++ b/.agents/notes/archived/bug-fix/2026-08-10-session-row-identity-covers-the-preset.md @@ -1,6 +1,7 @@ # Agent Note: The session-row identity guard covers the preset Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-10-session-row-identity-covers-the-preset.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-10-session-row-identity-covers-the-preset.zh.md b/.agents/notes/archived/bug-fix/2026-08-10-session-row-identity-covers-the-preset.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-10-session-row-identity-covers-the-preset.zh.md rename to .agents/notes/archived/bug-fix/2026-08-10-session-row-identity-covers-the-preset.zh.md index 2143134eb2..4e707f8b25 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-10-session-row-identity-covers-the-preset.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-10-session-row-identity-covers-the-preset.zh.md @@ -1,6 +1,7 @@ # Agent Note: 会话行的标识判定纳入 preset Status: implemented +Archived: 2026-09-04 [English](2026-08-10-session-row-identity-covers-the-preset.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-10-slash-catalog-follows-preset-switch.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-10-slash-catalog-follows-preset-switch.i18n.yaml new file mode 100644 index 0000000000..c8f95b573f --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-10-slash-catalog-follows-preset-switch.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-10-slash-catalog-follows-preset-switch.md +2026-08-10-slash-catalog-follows-preset-switch.md: e5e4a670e3b8e0431e31cda46bc1e246fc9197ee +2026-08-10-slash-catalog-follows-preset-switch.zh.md: f2d4b10a8f1698840627cdd9edbbd7e296e49978 diff --git a/.agents/notes/implemented/bug-fix/2026-08-10-slash-catalog-follows-preset-switch.md b/.agents/notes/archived/bug-fix/2026-08-10-slash-catalog-follows-preset-switch.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-10-slash-catalog-follows-preset-switch.md rename to .agents/notes/archived/bug-fix/2026-08-10-slash-catalog-follows-preset-switch.md index 4015b2659f..e5e4a670e3 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-10-slash-catalog-follows-preset-switch.md +++ b/.agents/notes/archived/bug-fix/2026-08-10-slash-catalog-follows-preset-switch.md @@ -1,6 +1,7 @@ # Agent Note: The slash catalog follows a blank session's preset switch Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-10-slash-catalog-follows-preset-switch.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-10-slash-catalog-follows-preset-switch.zh.md b/.agents/notes/archived/bug-fix/2026-08-10-slash-catalog-follows-preset-switch.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-10-slash-catalog-follows-preset-switch.zh.md rename to .agents/notes/archived/bug-fix/2026-08-10-slash-catalog-follows-preset-switch.zh.md index b77564f00b..f2d4b10a8f 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-10-slash-catalog-follows-preset-switch.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-10-slash-catalog-follows-preset-switch.zh.md @@ -1,6 +1,7 @@ # Agent Note: 斜杠目录跟随空会话的 preset 切换 Status: implemented +Archived: 2026-09-04 [English](2026-08-10-slash-catalog-follows-preset-switch.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-10-subagent-empty-terminal-message-output.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-10-subagent-empty-terminal-message-output.i18n.yaml new file mode 100644 index 0000000000..65e74832e6 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-10-subagent-empty-terminal-message-output.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-10-subagent-empty-terminal-message-output.md +2026-08-10-subagent-empty-terminal-message-output.md: 83e4fa58667b7cf525d4afab0d9c4469e2d9523a +2026-08-10-subagent-empty-terminal-message-output.zh.md: a413632187027f9d59a796ce7511b64d70b2bc2a diff --git a/.agents/notes/implemented/bug-fix/2026-08-10-subagent-empty-terminal-message-output.md b/.agents/notes/archived/bug-fix/2026-08-10-subagent-empty-terminal-message-output.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-10-subagent-empty-terminal-message-output.md rename to .agents/notes/archived/bug-fix/2026-08-10-subagent-empty-terminal-message-output.md index 6ecb0ef254..83e4fa5866 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-10-subagent-empty-terminal-message-output.md +++ b/.agents/notes/archived/bug-fix/2026-08-10-subagent-empty-terminal-message-output.md @@ -1,6 +1,7 @@ # Agent Note: One selection rule keeps subagent output past an empty terminal message Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-10-subagent-empty-terminal-message-output.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-10-subagent-empty-terminal-message-output.zh.md b/.agents/notes/archived/bug-fix/2026-08-10-subagent-empty-terminal-message-output.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-10-subagent-empty-terminal-message-output.zh.md rename to .agents/notes/archived/bug-fix/2026-08-10-subagent-empty-terminal-message-output.zh.md index bcc6cad60f..a413632187 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-10-subagent-empty-terminal-message-output.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-10-subagent-empty-terminal-message-output.zh.md @@ -1,6 +1,7 @@ # Agent Note: 用同一条选取规则在空终止消息后保留子代理输出 Status: implemented +Archived: 2026-09-04 [English](2026-08-10-subagent-empty-terminal-message-output.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-11-bounded-background-job-admission.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-11-bounded-background-job-admission.i18n.yaml new file mode 100644 index 0000000000..9caf8ef7c0 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-11-bounded-background-job-admission.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-11-bounded-background-job-admission.md +2026-08-11-bounded-background-job-admission.md: 8eee8834523910a9f345cd9f11e325f1ca8d65ce +2026-08-11-bounded-background-job-admission.zh.md: 1c08bbfc3c9ae4df81f1961dc6eb34b76e2ddf15 diff --git a/.agents/notes/implemented/bug-fix/2026-08-11-bounded-background-job-admission.md b/.agents/notes/archived/bug-fix/2026-08-11-bounded-background-job-admission.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-11-bounded-background-job-admission.md rename to .agents/notes/archived/bug-fix/2026-08-11-bounded-background-job-admission.md index c9c27ef6e3..8eee883452 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-11-bounded-background-job-admission.md +++ b/.agents/notes/archived/bug-fix/2026-08-11-bounded-background-job-admission.md @@ -1,6 +1,7 @@ # Agent Note: Bounded background job admission Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-11-bounded-background-job-admission.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-11-bounded-background-job-admission.zh.md b/.agents/notes/archived/bug-fix/2026-08-11-bounded-background-job-admission.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-11-bounded-background-job-admission.zh.md rename to .agents/notes/archived/bug-fix/2026-08-11-bounded-background-job-admission.zh.md index cdeb80a649..1c08bbfc3c 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-11-bounded-background-job-admission.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-11-bounded-background-job-admission.zh.md @@ -1,6 +1,7 @@ # Agent Note: 有界后台任务准入 Status: implemented +Archived: 2026-09-04 [English](2026-08-11-bounded-background-job-admission.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-11-owned-run-finish-reason.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-11-owned-run-finish-reason.i18n.yaml new file mode 100644 index 0000000000..59c832e99e --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-11-owned-run-finish-reason.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-11-owned-run-finish-reason.md +2026-08-11-owned-run-finish-reason.md: cfa1ec02b65f8eca7720ae242a030122833dc66f +2026-08-11-owned-run-finish-reason.zh.md: cc169caa1e3b1944a0fa9bff67f4e81b840c3ee2 diff --git a/.agents/notes/implemented/bug-fix/2026-08-11-owned-run-finish-reason.md b/.agents/notes/archived/bug-fix/2026-08-11-owned-run-finish-reason.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-11-owned-run-finish-reason.md rename to .agents/notes/archived/bug-fix/2026-08-11-owned-run-finish-reason.md index 87a158c7fe..cfa1ec02b6 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-11-owned-run-finish-reason.md +++ b/.agents/notes/archived/bug-fix/2026-08-11-owned-run-finish-reason.md @@ -1,6 +1,7 @@ # Agent Note: Owned-run finish reason reporting Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-11-owned-run-finish-reason.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-11-owned-run-finish-reason.zh.md b/.agents/notes/archived/bug-fix/2026-08-11-owned-run-finish-reason.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-11-owned-run-finish-reason.zh.md rename to .agents/notes/archived/bug-fix/2026-08-11-owned-run-finish-reason.zh.md index 926a0d14c4..cc169caa1e 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-11-owned-run-finish-reason.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-11-owned-run-finish-reason.zh.md @@ -1,6 +1,7 @@ # Agent Note: 自有运行的结束原因报告 Status: implemented +Archived: 2026-09-04 [English](2026-08-11-owned-run-finish-reason.md) | 中文 diff --git a/.agents/notes/implemented/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.i18n.yaml similarity index 60% rename from .agents/notes/implemented/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.i18n.yaml rename to .agents/notes/archived/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.i18n.yaml index 9b6f88cebc..ed3ef0ea74 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.i18n.yaml +++ b/.agents/notes/archived/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.md -2026-08-11-preset-authoring-agent-validates-its-own-composition.md: 8fefb3e0fc95ac4d1d2b7c2035f312e25cf107a0 -2026-08-11-preset-authoring-agent-validates-its-own-composition.zh.md: b8af8afe12d2731645c7a4830996b5c10bb50582 +# pnpm run verify-translation-pairing --write .agents/notes/archived/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.md +2026-08-11-preset-authoring-agent-validates-its-own-composition.md: 0246fb72c067febb8d7f779c82b3f12ac15ad068 +2026-08-11-preset-authoring-agent-validates-its-own-composition.zh.md: 2e47aa49247941179a8e184bb0b9d9c2ab09f9f5 diff --git a/.agents/notes/implemented/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.md b/.agents/notes/archived/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.md rename to .agents/notes/archived/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.md index 8fefb3e0fc..0246fb72c0 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.md +++ b/.agents/notes/archived/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.md @@ -1,6 +1,7 @@ # Agent Note: The preset-authoring agent mount-validates its own composition Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-11-preset-authoring-agent-validates-its-own-composition.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.zh.md b/.agents/notes/archived/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.zh.md rename to .agents/notes/archived/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.zh.md index b8af8afe12..2e47aa4924 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.zh.md @@ -1,6 +1,7 @@ # Agent Note: 创作 preset 的 agent 自行挂载校验其组装 Status: implemented +Archived: 2026-09-04 [English](2026-08-11-preset-authoring-agent-validates-its-own-composition.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-11-synchronous-subprocess-exit-cleanup.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-11-synchronous-subprocess-exit-cleanup.i18n.yaml new file mode 100644 index 0000000000..1a71eca53f --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-11-synchronous-subprocess-exit-cleanup.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-11-synchronous-subprocess-exit-cleanup.md +2026-08-11-synchronous-subprocess-exit-cleanup.md: b312ec63833d4550fb2c51cca53484e3005308d6 +2026-08-11-synchronous-subprocess-exit-cleanup.zh.md: 2881bee9e6171813cda45ff1b199f798547730dc diff --git a/.agents/notes/implemented/bug-fix/2026-08-11-synchronous-subprocess-exit-cleanup.md b/.agents/notes/archived/bug-fix/2026-08-11-synchronous-subprocess-exit-cleanup.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-11-synchronous-subprocess-exit-cleanup.md rename to .agents/notes/archived/bug-fix/2026-08-11-synchronous-subprocess-exit-cleanup.md index 70b2a95dda..b312ec6383 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-11-synchronous-subprocess-exit-cleanup.md +++ b/.agents/notes/archived/bug-fix/2026-08-11-synchronous-subprocess-exit-cleanup.md @@ -1,6 +1,7 @@ # Agent Note: Synchronous cleanup of managed subprocesses on host exit Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-11-synchronous-subprocess-exit-cleanup.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-11-synchronous-subprocess-exit-cleanup.zh.md b/.agents/notes/archived/bug-fix/2026-08-11-synchronous-subprocess-exit-cleanup.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-11-synchronous-subprocess-exit-cleanup.zh.md rename to .agents/notes/archived/bug-fix/2026-08-11-synchronous-subprocess-exit-cleanup.zh.md index 3325c81c09..2881bee9e6 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-11-synchronous-subprocess-exit-cleanup.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-11-synchronous-subprocess-exit-cleanup.zh.md @@ -1,6 +1,7 @@ # Agent Note: 宿主退出时同步清理受管子进程 Status: implemented +Archived: 2026-09-04 [English](2026-08-11-synchronous-subprocess-exit-cleanup.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-12-composer-overlay-seat-width-compensation.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-12-composer-overlay-seat-width-compensation.i18n.yaml new file mode 100644 index 0000000000..3f0d29e250 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-12-composer-overlay-seat-width-compensation.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-12-composer-overlay-seat-width-compensation.md +2026-08-12-composer-overlay-seat-width-compensation.md: 6e3406170d3a1c49deb8ffd6dd33dd00ef8d8b1d +2026-08-12-composer-overlay-seat-width-compensation.zh.md: a8707103db77901494f32b879ac20ffb466eedb0 diff --git a/.agents/notes/implemented/bug-fix/2026-08-12-composer-overlay-seat-width-compensation.md b/.agents/notes/archived/bug-fix/2026-08-12-composer-overlay-seat-width-compensation.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-12-composer-overlay-seat-width-compensation.md rename to .agents/notes/archived/bug-fix/2026-08-12-composer-overlay-seat-width-compensation.md index 35f1e25c28..6e3406170d 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-12-composer-overlay-seat-width-compensation.md +++ b/.agents/notes/archived/bug-fix/2026-08-12-composer-overlay-seat-width-compensation.md @@ -1,6 +1,7 @@ # Agent Note: The overlay composer seat compensates for the bar instead of reserving a gutter Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-12-composer-overlay-seat-width-compensation.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-12-composer-overlay-seat-width-compensation.zh.md b/.agents/notes/archived/bug-fix/2026-08-12-composer-overlay-seat-width-compensation.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-12-composer-overlay-seat-width-compensation.zh.md rename to .agents/notes/archived/bug-fix/2026-08-12-composer-overlay-seat-width-compensation.zh.md index 7979f25f2f..a8707103db 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-12-composer-overlay-seat-width-compensation.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-12-composer-overlay-seat-width-compensation.zh.md @@ -1,6 +1,7 @@ # Agent Note: 覆盖视图的 composer 座位改为补偿滚动条宽度,不再预留滚动条槽 Status: implemented +Archived: 2026-09-04 [English](2026-08-12-composer-overlay-seat-width-compensation.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-12-fix-pwsh-terminal-overlay-dup.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-12-fix-pwsh-terminal-overlay-dup.i18n.yaml new file mode 100644 index 0000000000..c0d8e44363 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-12-fix-pwsh-terminal-overlay-dup.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-12-fix-pwsh-terminal-overlay-dup.md +2026-08-12-fix-pwsh-terminal-overlay-dup.md: 5056f19c46cc732042b19e22405854fa87c89c2e +2026-08-12-fix-pwsh-terminal-overlay-dup.zh.md: dee96818a10b480d97fdc87bf55f0e63af43dc61 diff --git a/.agents/notes/implemented/bug-fix/2026-08-12-fix-pwsh-terminal-overlay-dup.md b/.agents/notes/archived/bug-fix/2026-08-12-fix-pwsh-terminal-overlay-dup.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-12-fix-pwsh-terminal-overlay-dup.md rename to .agents/notes/archived/bug-fix/2026-08-12-fix-pwsh-terminal-overlay-dup.md index 7a214ea093..5056f19c46 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-12-fix-pwsh-terminal-overlay-dup.md +++ b/.agents/notes/archived/bug-fix/2026-08-12-fix-pwsh-terminal-overlay-dup.md @@ -1,6 +1,7 @@ # Agent Note: fix the pwsh terminal overlay duplicate-loader collision Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-12-fix-pwsh-terminal-overlay-dup.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-12-fix-pwsh-terminal-overlay-dup.zh.md b/.agents/notes/archived/bug-fix/2026-08-12-fix-pwsh-terminal-overlay-dup.zh.md similarity index 98% rename from .agents/notes/implemented/bug-fix/2026-08-12-fix-pwsh-terminal-overlay-dup.zh.md rename to .agents/notes/archived/bug-fix/2026-08-12-fix-pwsh-terminal-overlay-dup.zh.md index 6d38ca58ad..dee96818a1 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-12-fix-pwsh-terminal-overlay-dup.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-12-fix-pwsh-terminal-overlay-dup.zh.md @@ -1,6 +1,7 @@ -# Agent Note:修复 pwsh 终端 overlay 的重复 loader 冲突 +# Agent Note: 修复 pwsh 终端 overlay 的重复 loader 冲突 Status: implemented +Archived: 2026-09-04 [English](2026-08-12-fix-pwsh-terminal-overlay-dup.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-12-full-session-turn-step-counts.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-12-full-session-turn-step-counts.i18n.yaml new file mode 100644 index 0000000000..e83edb5249 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-12-full-session-turn-step-counts.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-12-full-session-turn-step-counts.md +2026-08-12-full-session-turn-step-counts.md: 752c6558ecb530009befe8e3a784ec17da110d22 +2026-08-12-full-session-turn-step-counts.zh.md: d1388e5183312a9a5f5cdfe66e8ad193d6281435 diff --git a/.agents/notes/implemented/bug-fix/2026-08-12-full-session-turn-step-counts.md b/.agents/notes/archived/bug-fix/2026-08-12-full-session-turn-step-counts.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-12-full-session-turn-step-counts.md rename to .agents/notes/archived/bug-fix/2026-08-12-full-session-turn-step-counts.md index ecfa00dc3e..752c6558ec 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-12-full-session-turn-step-counts.md +++ b/.agents/notes/archived/bug-fix/2026-08-12-full-session-turn-step-counts.md @@ -1,6 +1,7 @@ # Agent Note: Full-session stats-strip figures through a sessionStats projection Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-12-full-session-turn-step-counts.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-12-full-session-turn-step-counts.zh.md b/.agents/notes/archived/bug-fix/2026-08-12-full-session-turn-step-counts.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-12-full-session-turn-step-counts.zh.md rename to .agents/notes/archived/bug-fix/2026-08-12-full-session-turn-step-counts.zh.md index 85e2a26b5a..d1388e5183 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-12-full-session-turn-step-counts.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-12-full-session-turn-step-counts.zh.md @@ -1,6 +1,7 @@ # Agent Note: 通过 sessionStats 投影提供全会话统计条数字 Status: implemented +Archived: 2026-09-04 [English](2026-08-12-full-session-turn-step-counts.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-12-max-tokens-turn-end-notice.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-12-max-tokens-turn-end-notice.i18n.yaml new file mode 100644 index 0000000000..275781f8b1 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-12-max-tokens-turn-end-notice.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-12-max-tokens-turn-end-notice.md +2026-08-12-max-tokens-turn-end-notice.md: 927c6486079009e7262f53d378177a7c588699de +2026-08-12-max-tokens-turn-end-notice.zh.md: 210ca6b5c3aad1c1c7fa9f85a4b99a43fcc2e7c5 diff --git a/.agents/notes/implemented/bug-fix/2026-08-12-max-tokens-turn-end-notice.md b/.agents/notes/archived/bug-fix/2026-08-12-max-tokens-turn-end-notice.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-12-max-tokens-turn-end-notice.md rename to .agents/notes/archived/bug-fix/2026-08-12-max-tokens-turn-end-notice.md index bdb34d67a6..927c648607 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-12-max-tokens-turn-end-notice.md +++ b/.agents/notes/archived/bug-fix/2026-08-12-max-tokens-turn-end-notice.md @@ -1,6 +1,7 @@ # Agent Note: The chat flow surfaces a max-tokens turn end Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-12-max-tokens-turn-end-notice.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-12-max-tokens-turn-end-notice.zh.md b/.agents/notes/archived/bug-fix/2026-08-12-max-tokens-turn-end-notice.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-12-max-tokens-turn-end-notice.zh.md rename to .agents/notes/archived/bug-fix/2026-08-12-max-tokens-turn-end-notice.zh.md index 9b9c679972..210ca6b5c3 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-12-max-tokens-turn-end-notice.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-12-max-tokens-turn-end-notice.zh.md @@ -1,6 +1,7 @@ # Agent Note: 聊天流展示 max-tokens 结束的轮次 Status: implemented +Archived: 2026-09-04 [English](2026-08-12-max-tokens-turn-end-notice.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-12-onboarding-reads-every-provider.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-12-onboarding-reads-every-provider.i18n.yaml new file mode 100644 index 0000000000..85c73ade48 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-12-onboarding-reads-every-provider.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-12-onboarding-reads-every-provider.md +2026-08-12-onboarding-reads-every-provider.md: 866cb40c2cfe5b451024fb7b42cfebea645a7b20 +2026-08-12-onboarding-reads-every-provider.zh.md: 41359739f4037b7c2608c3d44e1ea28f7b06b84c diff --git a/.agents/notes/implemented/bug-fix/2026-08-12-onboarding-reads-every-provider.md b/.agents/notes/archived/bug-fix/2026-08-12-onboarding-reads-every-provider.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-12-onboarding-reads-every-provider.md rename to .agents/notes/archived/bug-fix/2026-08-12-onboarding-reads-every-provider.md index 43895d6bc3..866cb40c2c 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-12-onboarding-reads-every-provider.md +++ b/.agents/notes/archived/bug-fix/2026-08-12-onboarding-reads-every-provider.md @@ -1,6 +1,7 @@ # Agent Note: First-run readiness reads every provider, and the setup card closes Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-12-onboarding-reads-every-provider.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-12-onboarding-reads-every-provider.zh.md b/.agents/notes/archived/bug-fix/2026-08-12-onboarding-reads-every-provider.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-12-onboarding-reads-every-provider.zh.md rename to .agents/notes/archived/bug-fix/2026-08-12-onboarding-reads-every-provider.zh.md index 67f12dd9e9..41359739f4 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-12-onboarding-reads-every-provider.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-12-onboarding-reads-every-provider.zh.md @@ -1,6 +1,7 @@ # Agent Note: First-run readiness reads every provider, and the setup card closes Status: implemented +Archived: 2026-09-04 [English](2026-08-12-onboarding-reads-every-provider.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-12-resolve-store-pwsh-aliases.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-12-resolve-store-pwsh-aliases.i18n.yaml new file mode 100644 index 0000000000..b541da0848 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-12-resolve-store-pwsh-aliases.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-12-resolve-store-pwsh-aliases.md +2026-08-12-resolve-store-pwsh-aliases.md: 28426801cb42af78e4ce5abc2e58b7ce2ecdbded +2026-08-12-resolve-store-pwsh-aliases.zh.md: 822c800e435e889cd1840c1a830fa29ff9821b7d diff --git a/.agents/notes/implemented/bug-fix/2026-08-12-resolve-store-pwsh-aliases.md b/.agents/notes/archived/bug-fix/2026-08-12-resolve-store-pwsh-aliases.md similarity index 98% rename from .agents/notes/implemented/bug-fix/2026-08-12-resolve-store-pwsh-aliases.md rename to .agents/notes/archived/bug-fix/2026-08-12-resolve-store-pwsh-aliases.md index 20fe58e15e..28426801cb 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-12-resolve-store-pwsh-aliases.md +++ b/.agents/notes/archived/bug-fix/2026-08-12-resolve-store-pwsh-aliases.md @@ -1,6 +1,7 @@ # Agent Note: Resolve Microsoft Store pwsh aliases Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-12-resolve-store-pwsh-aliases.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-12-resolve-store-pwsh-aliases.zh.md b/.agents/notes/archived/bug-fix/2026-08-12-resolve-store-pwsh-aliases.zh.md similarity index 98% rename from .agents/notes/implemented/bug-fix/2026-08-12-resolve-store-pwsh-aliases.zh.md rename to .agents/notes/archived/bug-fix/2026-08-12-resolve-store-pwsh-aliases.zh.md index bbfa461612..822c800e43 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-12-resolve-store-pwsh-aliases.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-12-resolve-store-pwsh-aliases.zh.md @@ -1,6 +1,7 @@ # Agent Note: 解析 Microsoft Store 的 pwsh 别名 Status: implemented +Archived: 2026-09-04 [English](2026-08-12-resolve-store-pwsh-aliases.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-12-unlink-fixture-junctions-before-delete.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-12-unlink-fixture-junctions-before-delete.i18n.yaml new file mode 100644 index 0000000000..ff640bdc75 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-12-unlink-fixture-junctions-before-delete.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-12-unlink-fixture-junctions-before-delete.md +2026-08-12-unlink-fixture-junctions-before-delete.md: 524b6bd0d0ec5be0992a2aaf7fdf07242de7b49f +2026-08-12-unlink-fixture-junctions-before-delete.zh.md: 9f3a76f3ae0429b86bede80709a882fa5e99e550 diff --git a/.agents/notes/implemented/bug-fix/2026-08-12-unlink-fixture-junctions-before-delete.md b/.agents/notes/archived/bug-fix/2026-08-12-unlink-fixture-junctions-before-delete.md similarity index 98% rename from .agents/notes/implemented/bug-fix/2026-08-12-unlink-fixture-junctions-before-delete.md rename to .agents/notes/archived/bug-fix/2026-08-12-unlink-fixture-junctions-before-delete.md index 4514a33d72..524b6bd0d0 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-12-unlink-fixture-junctions-before-delete.md +++ b/.agents/notes/archived/bug-fix/2026-08-12-unlink-fixture-junctions-before-delete.md @@ -1,6 +1,7 @@ # Agent Note: Unlink fixture junctions before recursive deletion Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-12-unlink-fixture-junctions-before-delete.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-12-unlink-fixture-junctions-before-delete.zh.md b/.agents/notes/archived/bug-fix/2026-08-12-unlink-fixture-junctions-before-delete.zh.md similarity index 98% rename from .agents/notes/implemented/bug-fix/2026-08-12-unlink-fixture-junctions-before-delete.zh.md rename to .agents/notes/archived/bug-fix/2026-08-12-unlink-fixture-junctions-before-delete.zh.md index 3c212c052a..9f3a76f3ae 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-12-unlink-fixture-junctions-before-delete.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-12-unlink-fixture-junctions-before-delete.zh.md @@ -1,6 +1,7 @@ # Agent Note: 递归删除前先解链 fixture junction Status: implemented +Archived: 2026-09-04 [English](2026-08-12-unlink-fixture-junctions-before-delete.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-12-unlink-stale-profile-fallback-links.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-12-unlink-stale-profile-fallback-links.i18n.yaml new file mode 100644 index 0000000000..150f5108c3 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-12-unlink-stale-profile-fallback-links.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-12-unlink-stale-profile-fallback-links.md +2026-08-12-unlink-stale-profile-fallback-links.md: 862030eb7019a31aa89681962254621ffe4d2c5a +2026-08-12-unlink-stale-profile-fallback-links.zh.md: 59f0f1827a7c1c3425f9bc7937b4942890e77e75 diff --git a/.agents/notes/implemented/bug-fix/2026-08-12-unlink-stale-profile-fallback-links.md b/.agents/notes/archived/bug-fix/2026-08-12-unlink-stale-profile-fallback-links.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-12-unlink-stale-profile-fallback-links.md rename to .agents/notes/archived/bug-fix/2026-08-12-unlink-stale-profile-fallback-links.md index 32959eb1b8..862030eb70 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-12-unlink-stale-profile-fallback-links.md +++ b/.agents/notes/archived/bug-fix/2026-08-12-unlink-stale-profile-fallback-links.md @@ -1,6 +1,7 @@ # Agent Note: Unlink stale profile fallback links instead of rmSync Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-12-unlink-stale-profile-fallback-links.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-12-unlink-stale-profile-fallback-links.zh.md b/.agents/notes/archived/bug-fix/2026-08-12-unlink-stale-profile-fallback-links.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-12-unlink-stale-profile-fallback-links.zh.md rename to .agents/notes/archived/bug-fix/2026-08-12-unlink-stale-profile-fallback-links.zh.md index 18176f8c98..59f0f1827a 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-12-unlink-stale-profile-fallback-links.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-12-unlink-stale-profile-fallback-links.zh.md @@ -1,6 +1,7 @@ # Agent Note: 用 unlink 删除过期的 profile 回退链接而非 rmSync Status: implemented +Archived: 2026-09-04 [English](2026-08-12-unlink-stale-profile-fallback-links.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-13-bounded-cold-blank-verification.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-13-bounded-cold-blank-verification.i18n.yaml new file mode 100644 index 0000000000..0b97c0e8ed --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-13-bounded-cold-blank-verification.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-13-bounded-cold-blank-verification.md +2026-08-13-bounded-cold-blank-verification.md: 68ca39cae8cb01f395aa97695a416b014248ee95 +2026-08-13-bounded-cold-blank-verification.zh.md: 16152dafe29604df2d6521b9bbddf48daa0cc53c diff --git a/.agents/notes/implemented/bug-fix/2026-08-13-bounded-cold-blank-verification.md b/.agents/notes/archived/bug-fix/2026-08-13-bounded-cold-blank-verification.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-13-bounded-cold-blank-verification.md rename to .agents/notes/archived/bug-fix/2026-08-13-bounded-cold-blank-verification.md index 9aec2a2b7d..68ca39cae8 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-13-bounded-cold-blank-verification.md +++ b/.agents/notes/archived/bug-fix/2026-08-13-bounded-cold-blank-verification.md @@ -1,6 +1,7 @@ # Agent Note: Bound cold blank-session verification Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-13-bounded-cold-blank-verification.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-13-bounded-cold-blank-verification.zh.md b/.agents/notes/archived/bug-fix/2026-08-13-bounded-cold-blank-verification.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-13-bounded-cold-blank-verification.zh.md rename to .agents/notes/archived/bug-fix/2026-08-13-bounded-cold-blank-verification.zh.md index a8ffe326ef..16152dafe2 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-13-bounded-cold-blank-verification.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-13-bounded-cold-blank-verification.zh.md @@ -1,6 +1,7 @@ # Agent Note: 有界验证冷空白会话 Status: implemented +Archived: 2026-09-04 [English](2026-08-13-bounded-cold-blank-verification.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-13-feedback-note-editor-popover.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-13-feedback-note-editor-popover.i18n.yaml new file mode 100644 index 0000000000..45e16fdfdb --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-13-feedback-note-editor-popover.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-13-feedback-note-editor-popover.md +2026-08-13-feedback-note-editor-popover.md: 30da32d7d9ed683a8be8f0de44f9ca2611d8db98 +2026-08-13-feedback-note-editor-popover.zh.md: 2713c544f3e404c752e6861a476808f45f667a23 diff --git a/.agents/notes/implemented/bug-fix/2026-08-13-feedback-note-editor-popover.md b/.agents/notes/archived/bug-fix/2026-08-13-feedback-note-editor-popover.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-13-feedback-note-editor-popover.md rename to .agents/notes/archived/bug-fix/2026-08-13-feedback-note-editor-popover.md index 8f51f090cc..30da32d7d9 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-13-feedback-note-editor-popover.md +++ b/.agents/notes/archived/bug-fix/2026-08-13-feedback-note-editor-popover.md @@ -1,6 +1,7 @@ # Agent Note: The feedback note editor floats above the transcript in a popover Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-13-feedback-note-editor-popover.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-13-feedback-note-editor-popover.zh.md b/.agents/notes/archived/bug-fix/2026-08-13-feedback-note-editor-popover.zh.md similarity index 98% rename from .agents/notes/implemented/bug-fix/2026-08-13-feedback-note-editor-popover.zh.md rename to .agents/notes/archived/bug-fix/2026-08-13-feedback-note-editor-popover.zh.md index e64e95ac65..2713c544f3 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-13-feedback-note-editor-popover.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-13-feedback-note-editor-popover.zh.md @@ -1,6 +1,7 @@ -# Agent Note:反馈备注编辑器以浮层悬浮在对话记录上方 +# Agent Note: 反馈备注编辑器以浮层悬浮在对话记录上方 Status: implemented +Archived: 2026-09-04 [English](2026-08-13-feedback-note-editor-popover.md) | 中文 diff --git a/.agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-13-oauth-only-providers-withheld.i18n.yaml similarity index 55% rename from .agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.i18n.yaml rename to .agents/notes/archived/bug-fix/2026-08-13-oauth-only-providers-withheld.i18n.yaml index 3f61c0bb86..c48b4a4868 100644 --- a/.agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.i18n.yaml +++ b/.agents/notes/archived/bug-fix/2026-08-13-oauth-only-providers-withheld.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.md -2026-07-23-portable-required-pull-request-ci.md: 00a58136b8e6d5a2f282bede9876d2f96e6ddf52 -2026-07-23-portable-required-pull-request-ci.zh.md: e367408850efe97457f4921150d39a1cfe34aed3 +# pnpm run verify-translation-pairing --write .agents/notes/archived/bug-fix/2026-08-13-oauth-only-providers-withheld.md +2026-08-13-oauth-only-providers-withheld.md: db5eb76ff13c51e1514a70130041696db0a3dbaf +2026-08-13-oauth-only-providers-withheld.zh.md: df81738d950805bef0996bd23abf443e43b0038a diff --git a/.agents/notes/implemented/bug-fix/2026-08-13-oauth-only-providers-withheld.md b/.agents/notes/archived/bug-fix/2026-08-13-oauth-only-providers-withheld.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-13-oauth-only-providers-withheld.md rename to .agents/notes/archived/bug-fix/2026-08-13-oauth-only-providers-withheld.md index 138cae6f56..db5eb76ff1 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-13-oauth-only-providers-withheld.md +++ b/.agents/notes/archived/bug-fix/2026-08-13-oauth-only-providers-withheld.md @@ -1,6 +1,7 @@ # Agent Note: The configurable-provider directory withholds OAuth-only providers Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-13-oauth-only-providers-withheld.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-13-oauth-only-providers-withheld.zh.md b/.agents/notes/archived/bug-fix/2026-08-13-oauth-only-providers-withheld.zh.md similarity index 98% rename from .agents/notes/implemented/bug-fix/2026-08-13-oauth-only-providers-withheld.zh.md rename to .agents/notes/archived/bug-fix/2026-08-13-oauth-only-providers-withheld.zh.md index c572661fa1..df81738d95 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-13-oauth-only-providers-withheld.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-13-oauth-only-providers-withheld.zh.md @@ -1,6 +1,7 @@ -# Agent Note:可配置提供方目录不再提供仅以 OAuth 认证的提供方 +# Agent Note: 可配置提供方目录不再提供仅以 OAuth 认证的提供方 Status: implemented +Archived: 2026-09-04 [English](2026-08-13-oauth-only-providers-withheld.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-15-max-token-replay-state-alignment.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-15-max-token-replay-state-alignment.i18n.yaml new file mode 100644 index 0000000000..66ae81ccdb --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-15-max-token-replay-state-alignment.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-15-max-token-replay-state-alignment.md +2026-08-15-max-token-replay-state-alignment.md: 066c1f19d251c064ffd99ffed8b07c0df238ee5f +2026-08-15-max-token-replay-state-alignment.zh.md: 36c9b7cba1523fab8506dfc554cf7cba9de8a2ca diff --git a/.agents/notes/implemented/bug-fix/2026-08-15-max-token-replay-state-alignment.md b/.agents/notes/archived/bug-fix/2026-08-15-max-token-replay-state-alignment.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-15-max-token-replay-state-alignment.md rename to .agents/notes/archived/bug-fix/2026-08-15-max-token-replay-state-alignment.md index 0d8c9f2e55..066c1f19d2 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-15-max-token-replay-state-alignment.md +++ b/.agents/notes/archived/bug-fix/2026-08-15-max-token-replay-state-alignment.md @@ -1,6 +1,7 @@ # Agent Note: Replay state aligns with assembled content by construction Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-15-max-token-replay-state-alignment.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-15-max-token-replay-state-alignment.zh.md b/.agents/notes/archived/bug-fix/2026-08-15-max-token-replay-state-alignment.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-15-max-token-replay-state-alignment.zh.md rename to .agents/notes/archived/bug-fix/2026-08-15-max-token-replay-state-alignment.zh.md index 30f11b990a..36c9b7cba1 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-15-max-token-replay-state-alignment.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-15-max-token-replay-state-alignment.zh.md @@ -1,6 +1,7 @@ # Agent Note: 回放状态与组装内容按构造对齐 Status: implemented +Archived: 2026-09-04 [English](2026-08-15-max-token-replay-state-alignment.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-15-persistent-bash-keeps-controlled-prompt.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-15-persistent-bash-keeps-controlled-prompt.i18n.yaml new file mode 100644 index 0000000000..c29f84ff37 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-15-persistent-bash-keeps-controlled-prompt.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-15-persistent-bash-keeps-controlled-prompt.md +2026-08-15-persistent-bash-keeps-controlled-prompt.md: 01ffc6ce270f18e3cab5ed72d2290b819f00bbd2 +2026-08-15-persistent-bash-keeps-controlled-prompt.zh.md: 70c1986fe7327a463f93744ab50c022ce8912e58 diff --git a/.agents/notes/implemented/bug-fix/2026-08-15-persistent-bash-keeps-controlled-prompt.md b/.agents/notes/archived/bug-fix/2026-08-15-persistent-bash-keeps-controlled-prompt.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-15-persistent-bash-keeps-controlled-prompt.md rename to .agents/notes/archived/bug-fix/2026-08-15-persistent-bash-keeps-controlled-prompt.md index 9ee71f2adc..01ffc6ce27 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-15-persistent-bash-keeps-controlled-prompt.md +++ b/.agents/notes/archived/bug-fix/2026-08-15-persistent-bash-keeps-controlled-prompt.md @@ -1,6 +1,7 @@ # Agent Note: Persistent bash keeps the backend's controlled prompt Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-15-persistent-bash-keeps-controlled-prompt.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-15-persistent-bash-keeps-controlled-prompt.zh.md b/.agents/notes/archived/bug-fix/2026-08-15-persistent-bash-keeps-controlled-prompt.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-15-persistent-bash-keeps-controlled-prompt.zh.md rename to .agents/notes/archived/bug-fix/2026-08-15-persistent-bash-keeps-controlled-prompt.zh.md index 035d5b59b2..70c1986fe7 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-15-persistent-bash-keeps-controlled-prompt.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-15-persistent-bash-keeps-controlled-prompt.zh.md @@ -1,6 +1,7 @@ # Agent Note: 持久 bash 保留后端的受控提示符 Status: implemented +Archived: 2026-09-04 [English](2026-08-15-persistent-bash-keeps-controlled-prompt.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-18-rail-search-outside-click-self-dismissal.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-18-rail-search-outside-click-self-dismissal.i18n.yaml new file mode 100644 index 0000000000..1a347d57a5 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-18-rail-search-outside-click-self-dismissal.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-18-rail-search-outside-click-self-dismissal.md +2026-08-18-rail-search-outside-click-self-dismissal.md: 3cc35214cfe727b2d143fa30e8e6bcf14591c443 +2026-08-18-rail-search-outside-click-self-dismissal.zh.md: 8cc8ed28be871dab5b766335d4e1636d4c708011 diff --git a/.agents/notes/implemented/bug-fix/2026-08-18-rail-search-outside-click-self-dismissal.md b/.agents/notes/archived/bug-fix/2026-08-18-rail-search-outside-click-self-dismissal.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-18-rail-search-outside-click-self-dismissal.md rename to .agents/notes/archived/bug-fix/2026-08-18-rail-search-outside-click-self-dismissal.md index b9f3aa3365..3cc35214cf 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-18-rail-search-outside-click-self-dismissal.md +++ b/.agents/notes/archived/bug-fix/2026-08-18-rail-search-outside-click-self-dismissal.md @@ -1,6 +1,7 @@ # Agent Note: Rail search keeps its expansion when the opening click reaches document Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-18-rail-search-outside-click-self-dismissal.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-18-rail-search-outside-click-self-dismissal.zh.md b/.agents/notes/archived/bug-fix/2026-08-18-rail-search-outside-click-self-dismissal.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-18-rail-search-outside-click-self-dismissal.zh.md rename to .agents/notes/archived/bug-fix/2026-08-18-rail-search-outside-click-self-dismissal.zh.md index 72f19157db..8cc8ed28be 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-18-rail-search-outside-click-self-dismissal.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-18-rail-search-outside-click-self-dismissal.zh.md @@ -1,6 +1,7 @@ # Agent Note: 轨道搜索在展开点击到达 document 时保持展开 Status: implemented +Archived: 2026-09-04 [English](2026-08-18-rail-search-outside-click-self-dismissal.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-18-tool-row-file-open-failure.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-18-tool-row-file-open-failure.i18n.yaml new file mode 100644 index 0000000000..701110c682 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-18-tool-row-file-open-failure.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-18-tool-row-file-open-failure.md +2026-08-18-tool-row-file-open-failure.md: 985a6110f9e7f1fefeeec66468922c906a1db8ee +2026-08-18-tool-row-file-open-failure.zh.md: aed970e021db0739e43daac2331ff32cd64d50d7 diff --git a/.agents/notes/implemented/bug-fix/2026-08-18-tool-row-file-open-failure.md b/.agents/notes/archived/bug-fix/2026-08-18-tool-row-file-open-failure.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-18-tool-row-file-open-failure.md rename to .agents/notes/archived/bug-fix/2026-08-18-tool-row-file-open-failure.md index c1887c8349..985a6110f9 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-18-tool-row-file-open-failure.md +++ b/.agents/notes/archived/bug-fix/2026-08-18-tool-row-file-open-failure.md @@ -1,6 +1,7 @@ # Agent Note: Tool-row file-open failures stay visible Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-18-tool-row-file-open-failure.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-18-tool-row-file-open-failure.zh.md b/.agents/notes/archived/bug-fix/2026-08-18-tool-row-file-open-failure.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-18-tool-row-file-open-failure.zh.md rename to .agents/notes/archived/bug-fix/2026-08-18-tool-row-file-open-failure.zh.md index 8a851b4b1b..aed970e021 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-18-tool-row-file-open-failure.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-18-tool-row-file-open-failure.zh.md @@ -1,6 +1,7 @@ # Agent Note: Tool-row file-open failures stay visible Status: implemented +Archived: 2026-09-04 [English](2026-08-18-tool-row-file-open-failure.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-19-deepseek-reasoning-passback-every-turn.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-19-deepseek-reasoning-passback-every-turn.i18n.yaml new file mode 100644 index 0000000000..ca0ccab2f2 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-19-deepseek-reasoning-passback-every-turn.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-19-deepseek-reasoning-passback-every-turn.md +2026-08-19-deepseek-reasoning-passback-every-turn.md: 704bcea773b86ca5c1ce0dd4a91f5f4a87ef571c +2026-08-19-deepseek-reasoning-passback-every-turn.zh.md: 2cc70d2921aae36b2f1f4e0a8ab18a724752833f diff --git a/.agents/notes/implemented/bug-fix/2026-08-19-deepseek-reasoning-passback-every-turn.md b/.agents/notes/archived/bug-fix/2026-08-19-deepseek-reasoning-passback-every-turn.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-19-deepseek-reasoning-passback-every-turn.md rename to .agents/notes/archived/bug-fix/2026-08-19-deepseek-reasoning-passback-every-turn.md index 0fb9ff3cc0..704bcea773 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-19-deepseek-reasoning-passback-every-turn.md +++ b/.agents/notes/archived/bug-fix/2026-08-19-deepseek-reasoning-passback-every-turn.md @@ -1,6 +1,7 @@ # Agent Note: DeepSeek reasoning passback on every reasoned turn Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-19-deepseek-reasoning-passback-every-turn.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-19-deepseek-reasoning-passback-every-turn.zh.md b/.agents/notes/archived/bug-fix/2026-08-19-deepseek-reasoning-passback-every-turn.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-19-deepseek-reasoning-passback-every-turn.zh.md rename to .agents/notes/archived/bug-fix/2026-08-19-deepseek-reasoning-passback-every-turn.zh.md index d01c0c415c..2cc70d2921 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-19-deepseek-reasoning-passback-every-turn.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-19-deepseek-reasoning-passback-every-turn.zh.md @@ -1,6 +1,7 @@ # Agent Note: DeepSeek reasoning passback on every reasoned turn Status: implemented +Archived: 2026-09-04 [English](2026-08-19-deepseek-reasoning-passback-every-turn.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-20-explicit-web-index-paths.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-20-explicit-web-index-paths.i18n.yaml new file mode 100644 index 0000000000..cd7707a934 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-20-explicit-web-index-paths.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-20-explicit-web-index-paths.md +2026-08-20-explicit-web-index-paths.md: 9f3b19cdc8a0d16165f8644024929dc938985b7b +2026-08-20-explicit-web-index-paths.zh.md: 0d8676d037cc5295d4aeb3251588e4e71707909a diff --git a/.agents/notes/implemented/bug-fix/2026-08-20-explicit-web-index-paths.md b/.agents/notes/archived/bug-fix/2026-08-20-explicit-web-index-paths.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-20-explicit-web-index-paths.md rename to .agents/notes/archived/bug-fix/2026-08-20-explicit-web-index-paths.md index 815cdd81d4..9f3b19cdc8 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-20-explicit-web-index-paths.md +++ b/.agents/notes/archived/bug-fix/2026-08-20-explicit-web-index-paths.md @@ -1,6 +1,7 @@ # Agent Note: Explicit Web index paths and 404 static misses Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-20-explicit-web-index-paths.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-20-explicit-web-index-paths.zh.md b/.agents/notes/archived/bug-fix/2026-08-20-explicit-web-index-paths.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-20-explicit-web-index-paths.zh.md rename to .agents/notes/archived/bug-fix/2026-08-20-explicit-web-index-paths.zh.md index 4cbbac8413..0d8676d037 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-20-explicit-web-index-paths.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-20-explicit-web-index-paths.zh.md @@ -1,6 +1,7 @@ # Agent Note: 显式 Web index 路径与静态资源未命中的 404 Status: implemented +Archived: 2026-09-04 [English](2026-08-20-explicit-web-index-paths.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-20-plugin-owned-shipped-preset-root.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-20-plugin-owned-shipped-preset-root.i18n.yaml new file mode 100644 index 0000000000..f42f648340 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-20-plugin-owned-shipped-preset-root.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-20-plugin-owned-shipped-preset-root.md +2026-08-20-plugin-owned-shipped-preset-root.md: fecab0dd81e2b143a5fbdeffbb5f801d52906fc5 +2026-08-20-plugin-owned-shipped-preset-root.zh.md: 6bace382a214b32e97d847405c158ca2058bd7d4 diff --git a/.agents/notes/implemented/bug-fix/2026-08-20-plugin-owned-shipped-preset-root.md b/.agents/notes/archived/bug-fix/2026-08-20-plugin-owned-shipped-preset-root.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-20-plugin-owned-shipped-preset-root.md rename to .agents/notes/archived/bug-fix/2026-08-20-plugin-owned-shipped-preset-root.md index 5af1d213f6..fecab0dd81 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-20-plugin-owned-shipped-preset-root.md +++ b/.agents/notes/archived/bug-fix/2026-08-20-plugin-owned-shipped-preset-root.md @@ -1,6 +1,7 @@ # Agent Note: The shipped preset root is the plugin's own Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-20-plugin-owned-shipped-preset-root.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-20-plugin-owned-shipped-preset-root.zh.md b/.agents/notes/archived/bug-fix/2026-08-20-plugin-owned-shipped-preset-root.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-20-plugin-owned-shipped-preset-root.zh.md rename to .agents/notes/archived/bug-fix/2026-08-20-plugin-owned-shipped-preset-root.zh.md index e5f2e08e22..6bace382a2 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-20-plugin-owned-shipped-preset-root.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-20-plugin-owned-shipped-preset-root.zh.md @@ -1,6 +1,7 @@ # Agent Note: The shipped preset root is the plugin's own Status: implemented +Archived: 2026-09-04 [English](2026-08-20-plugin-owned-shipped-preset-root.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-20-running-draft-primary-send.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-20-running-draft-primary-send.i18n.yaml new file mode 100644 index 0000000000..9032671886 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-20-running-draft-primary-send.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-20-running-draft-primary-send.md +2026-08-20-running-draft-primary-send.md: 8b7ef4c9b45a5ec414ff22e443a71f8494b901d6 +2026-08-20-running-draft-primary-send.zh.md: e565b68d14cc6abcff3d6956da9ebd1dd4b6d200 diff --git a/.agents/notes/implemented/bug-fix/2026-08-20-running-draft-primary-send.md b/.agents/notes/archived/bug-fix/2026-08-20-running-draft-primary-send.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-20-running-draft-primary-send.md rename to .agents/notes/archived/bug-fix/2026-08-20-running-draft-primary-send.md index 79c8c3a74f..8b7ef4c9b4 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-20-running-draft-primary-send.md +++ b/.agents/notes/archived/bug-fix/2026-08-20-running-draft-primary-send.md @@ -1,6 +1,7 @@ # Agent Note: Running drafts take the primary Send action Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-20-running-draft-primary-send.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-20-running-draft-primary-send.zh.md b/.agents/notes/archived/bug-fix/2026-08-20-running-draft-primary-send.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-20-running-draft-primary-send.zh.md rename to .agents/notes/archived/bug-fix/2026-08-20-running-draft-primary-send.zh.md index 180352810f..e565b68d14 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-20-running-draft-primary-send.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-20-running-draft-primary-send.zh.md @@ -1,6 +1,7 @@ # Agent Note: 运行中草稿取得主 Send 操作 Status: implemented +Archived: 2026-09-04 [English](2026-08-20-running-draft-primary-send.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.i18n.yaml new file mode 100644 index 0000000000..2dd0861b91 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.md +2026-08-20-turn-error-survives-same-turn-retry-history.md: 4d329728740e6ee8366a4c121430fff778b0e4ff +2026-08-20-turn-error-survives-same-turn-retry-history.zh.md: 48af846c18009a718e94d463f2a5a50bf55fae01 diff --git a/.agents/notes/implemented/bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.md b/.agents/notes/archived/bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.md rename to .agents/notes/archived/bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.md index 9280d59d02..4d32972874 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.md +++ b/.agents/notes/archived/bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.md @@ -1,6 +1,7 @@ # Agent Note: Terminal turn errors survive same-turn retry history Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-20-turn-error-survives-same-turn-retry-history.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.zh.md b/.agents/notes/archived/bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.zh.md rename to .agents/notes/archived/bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.zh.md index 1856d72e05..48af846c18 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.zh.md @@ -1,6 +1,7 @@ # Agent Note: Terminal turn errors survive same-turn retry history Status: implemented +Archived: 2026-09-04 [English](2026-08-20-turn-error-survives-same-turn-retry-history.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-21-deepseek-files-inline-fallback.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-21-deepseek-files-inline-fallback.i18n.yaml new file mode 100644 index 0000000000..11beb3d3fb --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-21-deepseek-files-inline-fallback.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-21-deepseek-files-inline-fallback.md +2026-08-21-deepseek-files-inline-fallback.md: 159dd8f98df8cf684f0cd1d89378fb70b200b804 +2026-08-21-deepseek-files-inline-fallback.zh.md: ba39c1019c35c76379ff5615df5caddfef68c9e0 diff --git a/.agents/notes/implemented/bug-fix/2026-08-21-deepseek-files-inline-fallback.md b/.agents/notes/archived/bug-fix/2026-08-21-deepseek-files-inline-fallback.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-21-deepseek-files-inline-fallback.md rename to .agents/notes/archived/bug-fix/2026-08-21-deepseek-files-inline-fallback.md index 7442089038..159dd8f98d 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-21-deepseek-files-inline-fallback.md +++ b/.agents/notes/archived/bug-fix/2026-08-21-deepseek-files-inline-fallback.md @@ -1,6 +1,7 @@ # Agent Note: Recover DeepSeek image requests from Files resolution failures Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-21-deepseek-files-inline-fallback.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-21-deepseek-files-inline-fallback.zh.md b/.agents/notes/archived/bug-fix/2026-08-21-deepseek-files-inline-fallback.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-21-deepseek-files-inline-fallback.zh.md rename to .agents/notes/archived/bug-fix/2026-08-21-deepseek-files-inline-fallback.zh.md index 0534514f9b..ba39c1019c 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-21-deepseek-files-inline-fallback.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-21-deepseek-files-inline-fallback.zh.md @@ -1,6 +1,7 @@ # Agent Note: DeepSeek Files 解析失败时恢复图片请求 Status: implemented +Archived: 2026-09-04 [English](2026-08-21-deepseek-files-inline-fallback.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-21-inline-user-text-projection.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-21-inline-user-text-projection.i18n.yaml new file mode 100644 index 0000000000..d22f49eb21 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-21-inline-user-text-projection.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-21-inline-user-text-projection.md +2026-08-21-inline-user-text-projection.md: 5b8735c31cdd6ff95970034a09b5abce4ab03e20 +2026-08-21-inline-user-text-projection.zh.md: 35f5f970eec9700e437a508caa045f9de72e4788 diff --git a/.agents/notes/implemented/bug-fix/2026-08-21-inline-user-text-projection.md b/.agents/notes/archived/bug-fix/2026-08-21-inline-user-text-projection.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-21-inline-user-text-projection.md rename to .agents/notes/archived/bug-fix/2026-08-21-inline-user-text-projection.md index deb0c54f41..5b8735c31c 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-21-inline-user-text-projection.md +++ b/.agents/notes/archived/bug-fix/2026-08-21-inline-user-text-projection.md @@ -1,6 +1,7 @@ # Agent Note: Sent user text projects inline, and queue rows fold wire references Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-21-inline-user-text-projection.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-21-inline-user-text-projection.zh.md b/.agents/notes/archived/bug-fix/2026-08-21-inline-user-text-projection.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-21-inline-user-text-projection.zh.md rename to .agents/notes/archived/bug-fix/2026-08-21-inline-user-text-projection.zh.md index f7b8dd1d82..35f5f970ee 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-21-inline-user-text-projection.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-21-inline-user-text-projection.zh.md @@ -1,6 +1,7 @@ # Agent Note: 已发送用户文本行内投影,Queue 行折叠 wire 引用 Status: implemented +Archived: 2026-09-04 [English](2026-08-21-inline-user-text-projection.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-23-win32-utf16-nul-truncation.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-23-win32-utf16-nul-truncation.i18n.yaml new file mode 100644 index 0000000000..14b29fc842 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-23-win32-utf16-nul-truncation.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-23-win32-utf16-nul-truncation.md +2026-08-23-win32-utf16-nul-truncation.md: 1d23b5edaf523f7a901b5ff0497e6852b9b49f0c +2026-08-23-win32-utf16-nul-truncation.zh.md: 2cbe9fecc6129d52545125d9f295833e2213c0a5 diff --git a/.agents/notes/implemented/bug-fix/2026-08-23-win32-utf16-nul-truncation.md b/.agents/notes/archived/bug-fix/2026-08-23-win32-utf16-nul-truncation.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-23-win32-utf16-nul-truncation.md rename to .agents/notes/archived/bug-fix/2026-08-23-win32-utf16-nul-truncation.md index 3962730c66..1d23b5edaf 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-23-win32-utf16-nul-truncation.md +++ b/.agents/notes/archived/bug-fix/2026-08-23-win32-utf16-nul-truncation.md @@ -1,6 +1,7 @@ # Agent Note: Win32 folder-picker paths stop truncating at U+XX00 code units Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-23-win32-utf16-nul-truncation.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-23-win32-utf16-nul-truncation.zh.md b/.agents/notes/archived/bug-fix/2026-08-23-win32-utf16-nul-truncation.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-23-win32-utf16-nul-truncation.zh.md rename to .agents/notes/archived/bug-fix/2026-08-23-win32-utf16-nul-truncation.zh.md index 23df80053b..2cbe9fecc6 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-23-win32-utf16-nul-truncation.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-23-win32-utf16-nul-truncation.zh.md @@ -1,6 +1,7 @@ # Agent Note: Win32 目录选择器路径不再在 U+XX00 码元处截断 Status: implemented +Archived: 2026-09-04 [English](2026-08-23-win32-utf16-nul-truncation.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-24-token-meter-surface-fold-plan-commit.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-24-token-meter-surface-fold-plan-commit.i18n.yaml new file mode 100644 index 0000000000..684493a698 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-24-token-meter-surface-fold-plan-commit.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-24-token-meter-surface-fold-plan-commit.md +2026-08-24-token-meter-surface-fold-plan-commit.md: c6be9843c65ddb3ca8d26f3fbfa07789df268ffd +2026-08-24-token-meter-surface-fold-plan-commit.zh.md: 370477b78648222f8115d729880ba5aff4c6dd89 diff --git a/.agents/notes/implemented/bug-fix/2026-08-24-token-meter-surface-fold-plan-commit.md b/.agents/notes/archived/bug-fix/2026-08-24-token-meter-surface-fold-plan-commit.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-24-token-meter-surface-fold-plan-commit.md rename to .agents/notes/archived/bug-fix/2026-08-24-token-meter-surface-fold-plan-commit.md index 878b2634c1..c6be9843c6 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-24-token-meter-surface-fold-plan-commit.md +++ b/.agents/notes/archived/bug-fix/2026-08-24-token-meter-surface-fold-plan-commit.md @@ -1,6 +1,7 @@ # Agent Note: Token-meter surface fold commits in place through a plan/commit pair Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-24-token-meter-surface-fold-plan-commit.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-24-token-meter-surface-fold-plan-commit.zh.md b/.agents/notes/archived/bug-fix/2026-08-24-token-meter-surface-fold-plan-commit.zh.md similarity index 96% rename from .agents/notes/implemented/bug-fix/2026-08-24-token-meter-surface-fold-plan-commit.zh.md rename to .agents/notes/archived/bug-fix/2026-08-24-token-meter-surface-fold-plan-commit.zh.md index 7707bf645e..370477b786 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-24-token-meter-surface-fold-plan-commit.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-24-token-meter-surface-fold-plan-commit.zh.md @@ -1,6 +1,7 @@ -# Agent Note:token-meter surface fold 改为 plan/commit 两段式原地提交 +# Agent Note: token-meter surface fold 改为 plan/commit 两段式原地提交 -状态:已实现 +Status: implemented +Archived: 2026-09-04 [English](2026-08-24-token-meter-surface-fold-plan-commit.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-26-composer-gesture-editable-gate.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-26-composer-gesture-editable-gate.i18n.yaml new file mode 100644 index 0000000000..c2072344d0 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-26-composer-gesture-editable-gate.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-26-composer-gesture-editable-gate.md +2026-08-26-composer-gesture-editable-gate.md: 28254f6ada383756aa1674ae2a5eaf2a2ca64564 +2026-08-26-composer-gesture-editable-gate.zh.md: 2a5024c53665675b7e7ea69554deaeef65381abf diff --git a/.agents/notes/implemented/bug-fix/2026-08-26-composer-gesture-editable-gate.md b/.agents/notes/archived/bug-fix/2026-08-26-composer-gesture-editable-gate.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-26-composer-gesture-editable-gate.md rename to .agents/notes/archived/bug-fix/2026-08-26-composer-gesture-editable-gate.md index 9b01a79d8d..28254f6ada 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-26-composer-gesture-editable-gate.md +++ b/.agents/notes/archived/bug-fix/2026-08-26-composer-gesture-editable-gate.md @@ -1,6 +1,7 @@ # Agent Note: Composer e2e gestures gate on the contenteditable attribute Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-26-composer-gesture-editable-gate.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-26-composer-gesture-editable-gate.zh.md b/.agents/notes/archived/bug-fix/2026-08-26-composer-gesture-editable-gate.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-26-composer-gesture-editable-gate.zh.md rename to .agents/notes/archived/bug-fix/2026-08-26-composer-gesture-editable-gate.zh.md index b5dc8d36c7..2a5024c536 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-26-composer-gesture-editable-gate.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-26-composer-gesture-editable-gate.zh.md @@ -1,6 +1,7 @@ # Agent Note: Composer e2e 手势以 contenteditable 属性为门 Status: implemented +Archived: 2026-09-04 [English](2026-08-26-composer-gesture-editable-gate.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-26-pi-ai-grant-payload-json-image.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-26-pi-ai-grant-payload-json-image.i18n.yaml new file mode 100644 index 0000000000..d91d90dec6 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-26-pi-ai-grant-payload-json-image.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-26-pi-ai-grant-payload-json-image.md +2026-08-26-pi-ai-grant-payload-json-image.md: ae4ca621843837df02bfefd7c40eb3634612682d +2026-08-26-pi-ai-grant-payload-json-image.zh.md: 0275fe4a41156bf17fe9008bbb84bd5b6aa0e583 diff --git a/.agents/notes/implemented/bug-fix/2026-08-26-pi-ai-grant-payload-json-image.md b/.agents/notes/archived/bug-fix/2026-08-26-pi-ai-grant-payload-json-image.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-26-pi-ai-grant-payload-json-image.md rename to .agents/notes/archived/bug-fix/2026-08-26-pi-ai-grant-payload-json-image.md index 9eb5e5ffd9..ae4ca62184 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-26-pi-ai-grant-payload-json-image.md +++ b/.agents/notes/archived/bug-fix/2026-08-26-pi-ai-grant-payload-json-image.md @@ -1,6 +1,7 @@ # Agent Note: pi-ai grant payloads store their JSON image Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-26-pi-ai-grant-payload-json-image.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-26-pi-ai-grant-payload-json-image.zh.md b/.agents/notes/archived/bug-fix/2026-08-26-pi-ai-grant-payload-json-image.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-26-pi-ai-grant-payload-json-image.zh.md rename to .agents/notes/archived/bug-fix/2026-08-26-pi-ai-grant-payload-json-image.zh.md index 8329b4acf0..0275fe4a41 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-26-pi-ai-grant-payload-json-image.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-26-pi-ai-grant-payload-json-image.zh.md @@ -1,6 +1,7 @@ # Agent Note: pi-ai grant payload 落盘其 JSON 像 Status: implemented +Archived: 2026-09-04 [English](2026-08-26-pi-ai-grant-payload-json-image.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-26-question-drafts-survive-session-switch.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-26-question-drafts-survive-session-switch.i18n.yaml new file mode 100644 index 0000000000..1cbd7aaaf1 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-26-question-drafts-survive-session-switch.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-26-question-drafts-survive-session-switch.md +2026-08-26-question-drafts-survive-session-switch.md: d2178cb5cba805b9c2238974f137a8a612b1b03f +2026-08-26-question-drafts-survive-session-switch.zh.md: c9e8167733e432f5f705f7b4384dffcbe8f233c7 diff --git a/.agents/notes/implemented/bug-fix/2026-08-26-question-drafts-survive-session-switch.md b/.agents/notes/archived/bug-fix/2026-08-26-question-drafts-survive-session-switch.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-26-question-drafts-survive-session-switch.md rename to .agents/notes/archived/bug-fix/2026-08-26-question-drafts-survive-session-switch.md index 2279c4efd5..d2178cb5cb 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-26-question-drafts-survive-session-switch.md +++ b/.agents/notes/archived/bug-fix/2026-08-26-question-drafts-survive-session-switch.md @@ -1,6 +1,7 @@ # Agent Note: Question drafts survive Session switches Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-26-question-drafts-survive-session-switch.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-26-question-drafts-survive-session-switch.zh.md b/.agents/notes/archived/bug-fix/2026-08-26-question-drafts-survive-session-switch.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-26-question-drafts-survive-session-switch.zh.md rename to .agents/notes/archived/bug-fix/2026-08-26-question-drafts-survive-session-switch.zh.md index af275a704b..c9e8167733 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-26-question-drafts-survive-session-switch.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-26-question-drafts-survive-session-switch.zh.md @@ -1,6 +1,7 @@ # Agent Note: 提问草稿在 Session 切换后保留 Status: implemented +Archived: 2026-09-04 [English](2026-08-26-question-drafts-survive-session-switch.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-26-stable-turn-process-order.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-26-stable-turn-process-order.i18n.yaml new file mode 100644 index 0000000000..02cfb2cdea --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-26-stable-turn-process-order.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-26-stable-turn-process-order.md +2026-08-26-stable-turn-process-order.md: e7de4aac5244fd7b4d76e89d8a02d19579b077bb +2026-08-26-stable-turn-process-order.zh.md: 28e16bc2840d96febe2fa9bf786748d25b43fb23 diff --git a/.agents/notes/implemented/bug-fix/2026-08-26-stable-turn-process-order.md b/.agents/notes/archived/bug-fix/2026-08-26-stable-turn-process-order.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-26-stable-turn-process-order.md rename to .agents/notes/archived/bug-fix/2026-08-26-stable-turn-process-order.md index 7122b901c8..e7de4aac52 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-26-stable-turn-process-order.md +++ b/.agents/notes/archived/bug-fix/2026-08-26-stable-turn-process-order.md @@ -1,6 +1,7 @@ # Agent Note: Stable Turn-process ordering Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-26-stable-turn-process-order.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-26-stable-turn-process-order.zh.md b/.agents/notes/archived/bug-fix/2026-08-26-stable-turn-process-order.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-26-stable-turn-process-order.zh.md rename to .agents/notes/archived/bug-fix/2026-08-26-stable-turn-process-order.zh.md index 574855fd4c..28e16bc284 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-26-stable-turn-process-order.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-26-stable-turn-process-order.zh.md @@ -1,6 +1,7 @@ # Agent Note: 稳定的轮次过程排序 Status: implemented +Archived: 2026-09-04 [English](2026-08-26-stable-turn-process-order.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-27-steer-followup-image-delivery.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-27-steer-followup-image-delivery.i18n.yaml new file mode 100644 index 0000000000..3fcecdb52c --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-27-steer-followup-image-delivery.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-27-steer-followup-image-delivery.md +2026-08-27-steer-followup-image-delivery.md: 86652521e82ca0b829446f08d03ab2e65e235f3e +2026-08-27-steer-followup-image-delivery.zh.md: 9e0441e59cc83b8827fe877717f376804839a2e3 diff --git a/.agents/notes/implemented/bug-fix/2026-08-27-steer-followup-image-delivery.md b/.agents/notes/archived/bug-fix/2026-08-27-steer-followup-image-delivery.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-27-steer-followup-image-delivery.md rename to .agents/notes/archived/bug-fix/2026-08-27-steer-followup-image-delivery.md index 3a3d985e1d..86652521e8 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-27-steer-followup-image-delivery.md +++ b/.agents/notes/archived/bug-fix/2026-08-27-steer-followup-image-delivery.md @@ -1,6 +1,7 @@ # Agent Note: Steer and follow-up image delivery Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-27-steer-followup-image-delivery.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-27-steer-followup-image-delivery.zh.md b/.agents/notes/archived/bug-fix/2026-08-27-steer-followup-image-delivery.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-27-steer-followup-image-delivery.zh.md rename to .agents/notes/archived/bug-fix/2026-08-27-steer-followup-image-delivery.zh.md index 8015960eb8..9e0441e59c 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-27-steer-followup-image-delivery.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-27-steer-followup-image-delivery.zh.md @@ -1,6 +1,7 @@ # Agent Note: steer 与 follow-up 的图片投递 Status: implemented +Archived: 2026-09-04 [English](2026-08-27-steer-followup-image-delivery.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-28-linear-stream-queue-drain.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-28-linear-stream-queue-drain.i18n.yaml new file mode 100644 index 0000000000..08c59e259e --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-28-linear-stream-queue-drain.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-28-linear-stream-queue-drain.md +2026-08-28-linear-stream-queue-drain.md: 4fc5d097064d24489f9f103b132d2e51dbf6c24d +2026-08-28-linear-stream-queue-drain.zh.md: 38723633eacdf695536324837d06f83a08d4a723 diff --git a/.agents/notes/implemented/bug-fix/2026-08-28-linear-stream-queue-drain.md b/.agents/notes/archived/bug-fix/2026-08-28-linear-stream-queue-drain.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-28-linear-stream-queue-drain.md rename to .agents/notes/archived/bug-fix/2026-08-28-linear-stream-queue-drain.md index 3ec9ff3ae0..4fc5d09706 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-28-linear-stream-queue-drain.md +++ b/.agents/notes/archived/bug-fix/2026-08-28-linear-stream-queue-drain.md @@ -1,6 +1,7 @@ # Agent Note: Linear drain for long-lived stream queues Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-28-linear-stream-queue-drain.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-28-linear-stream-queue-drain.zh.md b/.agents/notes/archived/bug-fix/2026-08-28-linear-stream-queue-drain.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-28-linear-stream-queue-drain.zh.md rename to .agents/notes/archived/bug-fix/2026-08-28-linear-stream-queue-drain.zh.md index c71b1da074..38723633ea 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-28-linear-stream-queue-drain.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-28-linear-stream-queue-drain.zh.md @@ -1,6 +1,7 @@ # Agent Note: 长期流队列的线性排空 Status: implemented +Archived: 2026-09-04 [English](2026-08-28-linear-stream-queue-drain.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-28-read-image-extensionless-paths.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-28-read-image-extensionless-paths.i18n.yaml new file mode 100644 index 0000000000..7b732db7bf --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-28-read-image-extensionless-paths.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-28-read-image-extensionless-paths.md +2026-08-28-read-image-extensionless-paths.md: 81d412be3e548e36039b967ca3efb52b632c6fcd +2026-08-28-read-image-extensionless-paths.zh.md: f2bc39ced125eb8dbdde081def3114e72d431c51 diff --git a/.agents/notes/implemented/bug-fix/2026-08-28-read-image-extensionless-paths.md b/.agents/notes/archived/bug-fix/2026-08-28-read-image-extensionless-paths.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-28-read-image-extensionless-paths.md rename to .agents/notes/archived/bug-fix/2026-08-28-read-image-extensionless-paths.md index cf7d82b2ed..81d412be3e 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-28-read-image-extensionless-paths.md +++ b/.agents/notes/archived/bug-fix/2026-08-28-read-image-extensionless-paths.md @@ -1,6 +1,7 @@ # Agent Note: read_image accepts extension-less image paths Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-28-read-image-extensionless-paths.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-28-read-image-extensionless-paths.zh.md b/.agents/notes/archived/bug-fix/2026-08-28-read-image-extensionless-paths.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-28-read-image-extensionless-paths.zh.md rename to .agents/notes/archived/bug-fix/2026-08-28-read-image-extensionless-paths.zh.md index 8d4cd15f6c..f2bc39ced1 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-28-read-image-extensionless-paths.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-28-read-image-extensionless-paths.zh.md @@ -1,6 +1,7 @@ # Agent Note: read_image 接受无扩展名图片路径 Status: implemented +Archived: 2026-09-04 [English](2026-08-28-read-image-extensionless-paths.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-28-trigger-menu-stale-while-revalidate.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-28-trigger-menu-stale-while-revalidate.i18n.yaml new file mode 100644 index 0000000000..4b292c2f2e --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-28-trigger-menu-stale-while-revalidate.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-28-trigger-menu-stale-while-revalidate.md +2026-08-28-trigger-menu-stale-while-revalidate.md: 170d7fb69e4cad05efdd1159711b9dd374caf578 +2026-08-28-trigger-menu-stale-while-revalidate.zh.md: 742c451097925f49dba3dbff5739210f1362a818 diff --git a/.agents/notes/implemented/bug-fix/2026-08-28-trigger-menu-stale-while-revalidate.md b/.agents/notes/archived/bug-fix/2026-08-28-trigger-menu-stale-while-revalidate.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-28-trigger-menu-stale-while-revalidate.md rename to .agents/notes/archived/bug-fix/2026-08-28-trigger-menu-stale-while-revalidate.md index 12541ba3ec..170d7fb69e 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-28-trigger-menu-stale-while-revalidate.md +++ b/.agents/notes/archived/bug-fix/2026-08-28-trigger-menu-stale-while-revalidate.md @@ -1,6 +1,7 @@ # Agent Note: The trigger menu keeps previous rows through refinement Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-28-trigger-menu-stale-while-revalidate.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-28-trigger-menu-stale-while-revalidate.zh.md b/.agents/notes/archived/bug-fix/2026-08-28-trigger-menu-stale-while-revalidate.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-28-trigger-menu-stale-while-revalidate.zh.md rename to .agents/notes/archived/bug-fix/2026-08-28-trigger-menu-stale-while-revalidate.zh.md index 69b3d1b6a3..742c451097 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-28-trigger-menu-stale-while-revalidate.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-28-trigger-menu-stale-while-revalidate.zh.md @@ -1,6 +1,7 @@ # Agent Note: The trigger menu keeps previous rows through refinement Status: implemented +Archived: 2026-09-04 [English](2026-08-28-trigger-menu-stale-while-revalidate.md) | 中文 diff --git a/.agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.i18n.yaml similarity index 57% rename from .agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.i18n.yaml rename to .agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.i18n.yaml index cf4c994853..2c1e75f0b4 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.i18n.yaml +++ b/.agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.md -2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.md: afdad301a4853754184b75668d167e71420c2480 -2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.zh.md: 48d6e0748979b09053aa51a94788fdd95d997179 +# pnpm run verify-translation-pairing --write .agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.md +2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.md: b1b9f286680583c083c241e497eec2fc34843b56 +2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.zh.md: 7f9608527e3a6a49ed9ff41945e0264a8e260923 diff --git a/.agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.md b/.agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.md rename to .agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.md index afdad301a4..b1b9f28668 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.md +++ b/.agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.md @@ -1,6 +1,7 @@ # Agent Note: Bound in-flight binding calls, snapshot binding metadata, compact the reply queue, and meter wide completions with cursors in the CPython backend Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.zh.md b/.agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.zh.md rename to .agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.zh.md index 48d6e07489..7f9608527e 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.zh.md @@ -1,6 +1,7 @@ # Agent Note: 在 CPython 后端限制在途 binding 调用、快照 binding 元数据、压缩回复队列并用游标计量宽完成值 Status: implemented +Archived: 2026-09-04 [English](2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.md) | 中文 diff --git a/.agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.i18n.yaml similarity index 51% rename from .agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.i18n.yaml rename to .agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.i18n.yaml index cc95841077..8cb4682f33 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.i18n.yaml +++ b/.agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.md -2026-08-29-code-runtime-python-load-and-dispatch-hardening.md: 3d64f96420cd337fc8c7bb44e02f912e1868deed -2026-08-29-code-runtime-python-load-and-dispatch-hardening.zh.md: 64772eb14a09585b1ee0ab10ffcf1298b77b0a35 +# pnpm run verify-translation-pairing --write .agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.md +2026-08-29-code-runtime-python-load-and-dispatch-hardening.md: 43f864b8407f77f5faa9db7a9043bcca8910391b +2026-08-29-code-runtime-python-load-and-dispatch-hardening.zh.md: bca888c06e8f93482d2ef8c8c4f383d92ccbe738 diff --git a/.agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.md b/.agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.md rename to .agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.md index 3d64f96420..43f864b840 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.md +++ b/.agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.md @@ -1,6 +1,7 @@ # Agent Note: Load-time pythonBin validation, binding snapshot, and reply-drain settle in the CPython backend Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-29-code-runtime-python-load-and-dispatch-hardening.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.zh.md b/.agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.zh.md rename to .agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.zh.md index 64772eb14a..bca888c06e 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.zh.md @@ -1,6 +1,7 @@ # Agent Note: CPython 后端的加载期 pythonBin 校验、binding 快照与回复排空结算 Status: implemented +Archived: 2026-09-04 [English](2026-08-29-code-runtime-python-load-and-dispatch-hardening.md) | 中文 diff --git a/.agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.i18n.yaml similarity index 60% rename from .agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.i18n.yaml rename to .agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.i18n.yaml index 0e084349e7..4fd5487c05 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.i18n.yaml +++ b/.agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.md -2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.md: 5ae31f669e2e207bc2f496d11ca3464f032783f1 -2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.zh.md: 799178dd54ceddd9b80b11e94d723282a037d398 +# pnpm run verify-translation-pairing --write .agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.md +2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.md: f329e3c0ee9669bc1009b38ca3a198727b157dcc +2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.zh.md: be0cdafcf85fe2c2bb627730eb4ae61f65dfd44f diff --git a/.agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.md b/.agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.md rename to .agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.md index 5ae31f669e..f329e3c0ee 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.md +++ b/.agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.md @@ -1,6 +1,7 @@ # Agent Note: Bound the reply backlog and count lone surrogates without a match list in the CPython backend Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.zh.md b/.agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.zh.md rename to .agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.zh.md index 799178dd54..be0cdafcf8 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.zh.md @@ -1,6 +1,7 @@ # Agent Note: 在 CPython 后端限制回复积压并改用长度差计数孤立代理项 Status: implemented +Archived: 2026-09-04 [English](2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-29-drill-claim-precedes-the-drill-edit.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-29-drill-claim-precedes-the-drill-edit.i18n.yaml new file mode 100644 index 0000000000..37a2583c9f --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-29-drill-claim-precedes-the-drill-edit.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-29-drill-claim-precedes-the-drill-edit.md +2026-08-29-drill-claim-precedes-the-drill-edit.md: 0b9585e339bb1d5e7b5960e12696b4497da9e7d9 +2026-08-29-drill-claim-precedes-the-drill-edit.zh.md: a8a94c34f2fe58335cdff5b37965ff094f6d7505 diff --git a/.agents/notes/implemented/bug-fix/2026-08-29-drill-claim-precedes-the-drill-edit.md b/.agents/notes/archived/bug-fix/2026-08-29-drill-claim-precedes-the-drill-edit.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-29-drill-claim-precedes-the-drill-edit.md rename to .agents/notes/archived/bug-fix/2026-08-29-drill-claim-precedes-the-drill-edit.md index 35ca60360c..0b9585e339 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-29-drill-claim-precedes-the-drill-edit.md +++ b/.agents/notes/archived/bug-fix/2026-08-29-drill-claim-precedes-the-drill-edit.md @@ -1,6 +1,7 @@ # Agent Note: The drill claim is published before the edit that re-enters tracking Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-29-drill-claim-precedes-the-drill-edit.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-29-drill-claim-precedes-the-drill-edit.zh.md b/.agents/notes/archived/bug-fix/2026-08-29-drill-claim-precedes-the-drill-edit.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-29-drill-claim-precedes-the-drill-edit.zh.md rename to .agents/notes/archived/bug-fix/2026-08-29-drill-claim-precedes-the-drill-edit.zh.md index 58f7ca84d2..a8a94c34f2 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-29-drill-claim-precedes-the-drill-edit.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-29-drill-claim-precedes-the-drill-edit.zh.md @@ -1,6 +1,7 @@ # Agent Note: The drill claim is published before the edit that re-enters tracking Status: implemented +Archived: 2026-09-04 [English](2026-08-29-drill-claim-precedes-the-drill-edit.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-08-29-windows-atomic-replace-retry.i18n.yaml b/.agents/notes/archived/bug-fix/2026-08-29-windows-atomic-replace-retry.i18n.yaml new file mode 100644 index 0000000000..f74c61c6e5 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-08-29-windows-atomic-replace-retry.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-08-29-windows-atomic-replace-retry.md +2026-08-29-windows-atomic-replace-retry.md: bad59309451b19e7e17e0600e382df9001cc57f9 +2026-08-29-windows-atomic-replace-retry.zh.md: 28f66669083f5e53d9cc4fe7a7e75dffa9813481 diff --git a/.agents/notes/implemented/bug-fix/2026-08-29-windows-atomic-replace-retry.md b/.agents/notes/archived/bug-fix/2026-08-29-windows-atomic-replace-retry.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-29-windows-atomic-replace-retry.md rename to .agents/notes/archived/bug-fix/2026-08-29-windows-atomic-replace-retry.md index 4db5de6403..bad5930945 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-29-windows-atomic-replace-retry.md +++ b/.agents/notes/archived/bug-fix/2026-08-29-windows-atomic-replace-retry.md @@ -1,6 +1,7 @@ # Agent Note: Retry transient Windows atomic replacements Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-29-windows-atomic-replace-retry.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-08-29-windows-atomic-replace-retry.zh.md b/.agents/notes/archived/bug-fix/2026-08-29-windows-atomic-replace-retry.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-08-29-windows-atomic-replace-retry.zh.md rename to .agents/notes/archived/bug-fix/2026-08-29-windows-atomic-replace-retry.zh.md index 0138727ac0..28f6666908 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-29-windows-atomic-replace-retry.zh.md +++ b/.agents/notes/archived/bug-fix/2026-08-29-windows-atomic-replace-retry.zh.md @@ -1,6 +1,7 @@ # Agent Note: 重试 Windows 上的瞬时原子替换失败 Status: implemented +Archived: 2026-09-04 [English](2026-08-29-windows-atomic-replace-retry.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-09-01-host-goal-pause-aborts-turn.i18n.yaml b/.agents/notes/archived/bug-fix/2026-09-01-host-goal-pause-aborts-turn.i18n.yaml new file mode 100644 index 0000000000..71379ff19a --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-09-01-host-goal-pause-aborts-turn.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-09-01-host-goal-pause-aborts-turn.md +2026-09-01-host-goal-pause-aborts-turn.md: 3a0246f4cc119097498d840682b29c1c5eb3bb56 +2026-09-01-host-goal-pause-aborts-turn.zh.md: 0c88bb736d85979618040f4fedf8febd44e1fdf5 diff --git a/.agents/notes/implemented/bug-fix/2026-09-01-host-goal-pause-aborts-turn.md b/.agents/notes/archived/bug-fix/2026-09-01-host-goal-pause-aborts-turn.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-09-01-host-goal-pause-aborts-turn.md rename to .agents/notes/archived/bug-fix/2026-09-01-host-goal-pause-aborts-turn.md index 8a6acc1403..3a0246f4cc 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-01-host-goal-pause-aborts-turn.md +++ b/.agents/notes/archived/bug-fix/2026-09-01-host-goal-pause-aborts-turn.md @@ -1,6 +1,7 @@ # Agent Note: Host-initiated goal pause aborts the live turn Status: implemented +Archived: 2026-09-04 English | [中文](2026-09-01-host-goal-pause-aborts-turn.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-09-01-host-goal-pause-aborts-turn.zh.md b/.agents/notes/archived/bug-fix/2026-09-01-host-goal-pause-aborts-turn.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-09-01-host-goal-pause-aborts-turn.zh.md rename to .agents/notes/archived/bug-fix/2026-09-01-host-goal-pause-aborts-turn.zh.md index 60170cd102..0c88bb736d 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-01-host-goal-pause-aborts-turn.zh.md +++ b/.agents/notes/archived/bug-fix/2026-09-01-host-goal-pause-aborts-turn.zh.md @@ -1,6 +1,7 @@ # Agent Note: 宿主发起的 goal 暂停中止当前轮次 Status: implemented +Archived: 2026-09-04 [English](2026-09-01-host-goal-pause-aborts-turn.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-09-03-fully-qualified-workspace-paths.i18n.yaml b/.agents/notes/archived/bug-fix/2026-09-03-fully-qualified-workspace-paths.i18n.yaml new file mode 100644 index 0000000000..c8da366972 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-09-03-fully-qualified-workspace-paths.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-09-03-fully-qualified-workspace-paths.md +2026-09-03-fully-qualified-workspace-paths.md: 9cf589383e98185b083112a3f958488473f0b1e2 +2026-09-03-fully-qualified-workspace-paths.zh.md: 33d5ec0a7373bce3f347c9740422bdd75da351df diff --git a/.agents/notes/implemented/bug-fix/2026-09-03-fully-qualified-workspace-paths.md b/.agents/notes/archived/bug-fix/2026-09-03-fully-qualified-workspace-paths.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-09-03-fully-qualified-workspace-paths.md rename to .agents/notes/archived/bug-fix/2026-09-03-fully-qualified-workspace-paths.md index 0bc6215ec5..9cf589383e 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-03-fully-qualified-workspace-paths.md +++ b/.agents/notes/archived/bug-fix/2026-09-03-fully-qualified-workspace-paths.md @@ -1,6 +1,7 @@ # Agent Note: Fully qualified Workspace paths Status: implemented +Archived: 2026-09-04 English | [中文](2026-09-03-fully-qualified-workspace-paths.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-09-03-fully-qualified-workspace-paths.zh.md b/.agents/notes/archived/bug-fix/2026-09-03-fully-qualified-workspace-paths.zh.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-09-03-fully-qualified-workspace-paths.zh.md rename to .agents/notes/archived/bug-fix/2026-09-03-fully-qualified-workspace-paths.zh.md index b8e67f9d34..33d5ec0a73 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-03-fully-qualified-workspace-paths.zh.md +++ b/.agents/notes/archived/bug-fix/2026-09-03-fully-qualified-workspace-paths.zh.md @@ -1,6 +1,7 @@ # Agent Note: Workspace 完全限定路径 Status: implemented +Archived: 2026-09-04 [English](2026-09-03-fully-qualified-workspace-paths.md) | 中文 diff --git a/.agents/notes/archived/bug-fix/2026-09-03-hidden-windows-subprocess-windows.i18n.yaml b/.agents/notes/archived/bug-fix/2026-09-03-hidden-windows-subprocess-windows.i18n.yaml new file mode 100644 index 0000000000..0e472d7495 --- /dev/null +++ b/.agents/notes/archived/bug-fix/2026-09-03-hidden-windows-subprocess-windows.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/bug-fix/2026-09-03-hidden-windows-subprocess-windows.md +2026-09-03-hidden-windows-subprocess-windows.md: 3f449bf10ad8465b473d36ca13aee64f2a68bedb +2026-09-03-hidden-windows-subprocess-windows.zh.md: 0e3b3f5b1ff03bdf2a43af7ae658bc8a5be679ea diff --git a/.agents/notes/implemented/bug-fix/2026-09-03-hidden-windows-subprocess-windows.md b/.agents/notes/archived/bug-fix/2026-09-03-hidden-windows-subprocess-windows.md similarity index 99% rename from .agents/notes/implemented/bug-fix/2026-09-03-hidden-windows-subprocess-windows.md rename to .agents/notes/archived/bug-fix/2026-09-03-hidden-windows-subprocess-windows.md index 97af84ddc0..3f449bf10a 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-03-hidden-windows-subprocess-windows.md +++ b/.agents/notes/archived/bug-fix/2026-09-03-hidden-windows-subprocess-windows.md @@ -1,6 +1,7 @@ # Agent Note: Suppressing Windows subprocess windows Status: implemented +Archived: 2026-09-04 English | [中文](2026-09-03-hidden-windows-subprocess-windows.zh.md) diff --git a/.agents/notes/implemented/bug-fix/2026-09-03-hidden-windows-subprocess-windows.zh.md b/.agents/notes/archived/bug-fix/2026-09-03-hidden-windows-subprocess-windows.zh.md similarity index 98% rename from .agents/notes/implemented/bug-fix/2026-09-03-hidden-windows-subprocess-windows.zh.md rename to .agents/notes/archived/bug-fix/2026-09-03-hidden-windows-subprocess-windows.zh.md index d8f986278e..0e3b3f5b1f 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-03-hidden-windows-subprocess-windows.zh.md +++ b/.agents/notes/archived/bug-fix/2026-09-03-hidden-windows-subprocess-windows.zh.md @@ -1,6 +1,7 @@ # Agent Note: 隐藏 Windows 子进程窗口 Status: implemented +Archived: 2026-09-04 [English](2026-09-03-hidden-windows-subprocess-windows.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-06-14-acp-multi-session.i18n.yaml b/.agents/notes/archived/feature/2026-06-14-acp-multi-session.i18n.yaml new file mode 100644 index 0000000000..410ca23543 --- /dev/null +++ b/.agents/notes/archived/feature/2026-06-14-acp-multi-session.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-06-14-acp-multi-session.md +2026-06-14-acp-multi-session.md: 6a0cb25ce5b2f75907696e984adb4d659cfba9bd +2026-06-14-acp-multi-session.zh.md: f7a1f01c8cad85549fcc69eb8486120dd39b14cc diff --git a/.agents/notes/implemented/feature/2026-06-14-acp-multi-session.md b/.agents/notes/archived/feature/2026-06-14-acp-multi-session.md similarity index 99% rename from .agents/notes/implemented/feature/2026-06-14-acp-multi-session.md rename to .agents/notes/archived/feature/2026-06-14-acp-multi-session.md index 540bc0ee79..6a0cb25ce5 100644 --- a/.agents/notes/implemented/feature/2026-06-14-acp-multi-session.md +++ b/.agents/notes/archived/feature/2026-06-14-acp-multi-session.md @@ -1,6 +1,7 @@ # Agent Note: Multiplex concurrent ACP sessions over one connection Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-14-acp-multi-session.zh.md) diff --git a/.agents/notes/implemented/feature/2026-06-14-acp-multi-session.zh.md b/.agents/notes/archived/feature/2026-06-14-acp-multi-session.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-06-14-acp-multi-session.zh.md rename to .agents/notes/archived/feature/2026-06-14-acp-multi-session.zh.md index 814f28bb67..f7a1f01c8c 100644 --- a/.agents/notes/implemented/feature/2026-06-14-acp-multi-session.zh.md +++ b/.agents/notes/archived/feature/2026-06-14-acp-multi-session.zh.md @@ -1,6 +1,7 @@ # Agent Note: 在单个连接上多路复用并发 ACP 会话 Status: implemented +Archived: 2026-09-04 [English](2026-06-14-acp-multi-session.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-06-17-filesystem-tool-schemas.i18n.yaml b/.agents/notes/archived/feature/2026-06-17-filesystem-tool-schemas.i18n.yaml new file mode 100644 index 0000000000..bfd58bc7b4 --- /dev/null +++ b/.agents/notes/archived/feature/2026-06-17-filesystem-tool-schemas.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-06-17-filesystem-tool-schemas.md +2026-06-17-filesystem-tool-schemas.md: 3f60e4c996b61838a8d53e99e7f13de3a1559d4c +2026-06-17-filesystem-tool-schemas.zh.md: 68f1f59e572cab8709e0e137c0d7fdc939d61ef6 diff --git a/.agents/notes/implemented/feature/2026-06-17-filesystem-tool-schemas.md b/.agents/notes/archived/feature/2026-06-17-filesystem-tool-schemas.md similarity index 99% rename from .agents/notes/implemented/feature/2026-06-17-filesystem-tool-schemas.md rename to .agents/notes/archived/feature/2026-06-17-filesystem-tool-schemas.md index 889129682f..3f60e4c996 100644 --- a/.agents/notes/implemented/feature/2026-06-17-filesystem-tool-schemas.md +++ b/.agents/notes/archived/feature/2026-06-17-filesystem-tool-schemas.md @@ -1,6 +1,7 @@ # Agent Note: Filesystem tool schemas — model-facing read/write/edit shapes Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-17-filesystem-tool-schemas.zh.md) diff --git a/.agents/notes/implemented/feature/2026-06-17-filesystem-tool-schemas.zh.md b/.agents/notes/archived/feature/2026-06-17-filesystem-tool-schemas.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-06-17-filesystem-tool-schemas.zh.md rename to .agents/notes/archived/feature/2026-06-17-filesystem-tool-schemas.zh.md index 704bd4692b..68f1f59e57 100644 --- a/.agents/notes/implemented/feature/2026-06-17-filesystem-tool-schemas.zh.md +++ b/.agents/notes/archived/feature/2026-06-17-filesystem-tool-schemas.zh.md @@ -1,6 +1,7 @@ # Agent Note: 文件系统工具 schema——面向模型的读/写/编辑接口形状 Status: implemented +Archived: 2026-09-04 [English](2026-06-17-filesystem-tool-schemas.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-06-22-acp-subagent-backend.i18n.yaml b/.agents/notes/archived/feature/2026-06-22-acp-subagent-backend.i18n.yaml new file mode 100644 index 0000000000..1351ce2f74 --- /dev/null +++ b/.agents/notes/archived/feature/2026-06-22-acp-subagent-backend.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-06-22-acp-subagent-backend.md +2026-06-22-acp-subagent-backend.md: 7ed2b9c7462f0f0b88f51ddde93999894215d9b5 +2026-06-22-acp-subagent-backend.zh.md: 1aeecceb9b88ff3da9883c108f9f9b7475262fa5 diff --git a/.agents/notes/implemented/feature/2026-06-22-acp-subagent-backend.md b/.agents/notes/archived/feature/2026-06-22-acp-subagent-backend.md similarity index 99% rename from .agents/notes/implemented/feature/2026-06-22-acp-subagent-backend.md rename to .agents/notes/archived/feature/2026-06-22-acp-subagent-backend.md index 85129ec6a5..7ed2b9c746 100644 --- a/.agents/notes/implemented/feature/2026-06-22-acp-subagent-backend.md +++ b/.agents/notes/archived/feature/2026-06-22-acp-subagent-backend.md @@ -1,6 +1,7 @@ # Agent Note: ACP subagent backend (out-of-process delegation) Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-22-acp-subagent-backend.zh.md) diff --git a/.agents/notes/implemented/feature/2026-06-22-acp-subagent-backend.zh.md b/.agents/notes/archived/feature/2026-06-22-acp-subagent-backend.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-06-22-acp-subagent-backend.zh.md rename to .agents/notes/archived/feature/2026-06-22-acp-subagent-backend.zh.md index ed0b3488a9..1aeecceb9b 100644 --- a/.agents/notes/implemented/feature/2026-06-22-acp-subagent-backend.zh.md +++ b/.agents/notes/archived/feature/2026-06-22-acp-subagent-backend.zh.md @@ -1,6 +1,7 @@ # Agent Note: ACP subagent 后端(进程外委派) Status: implemented +Archived: 2026-09-04 [English](2026-06-22-acp-subagent-backend.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-06-24-workspace-context.i18n.yaml b/.agents/notes/archived/feature/2026-06-24-workspace-context.i18n.yaml new file mode 100644 index 0000000000..bb387c6f68 --- /dev/null +++ b/.agents/notes/archived/feature/2026-06-24-workspace-context.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-06-24-workspace-context.md +2026-06-24-workspace-context.md: 96bc4cc443cd480dd3e38e6162097aedd58f11f0 +2026-06-24-workspace-context.zh.md: a56d45bd23c5606b8dfee315c43e81abace2f3f9 diff --git a/.agents/notes/implemented/feature/2026-06-24-workspace-context.md b/.agents/notes/archived/feature/2026-06-24-workspace-context.md similarity index 99% rename from .agents/notes/implemented/feature/2026-06-24-workspace-context.md rename to .agents/notes/archived/feature/2026-06-24-workspace-context.md index b676ab146b..96bc4cc443 100644 --- a/.agents/notes/implemented/feature/2026-06-24-workspace-context.md +++ b/.agents/notes/archived/feature/2026-06-24-workspace-context.md @@ -1,6 +1,7 @@ # Agent Note: Workspace context instruction files Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-24-workspace-context.zh.md) diff --git a/.agents/notes/implemented/feature/2026-06-24-workspace-context.zh.md b/.agents/notes/archived/feature/2026-06-24-workspace-context.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-06-24-workspace-context.zh.md rename to .agents/notes/archived/feature/2026-06-24-workspace-context.zh.md index e75adf39f3..a56d45bd23 100644 --- a/.agents/notes/implemented/feature/2026-06-24-workspace-context.zh.md +++ b/.agents/notes/archived/feature/2026-06-24-workspace-context.zh.md @@ -1,6 +1,7 @@ # Agent Note: 工作区上下文指令文件 Status: implemented +Archived: 2026-09-04 [English](2026-06-24-workspace-context.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-06-29-todo-write-tool.i18n.yaml b/.agents/notes/archived/feature/2026-06-29-todo-write-tool.i18n.yaml new file mode 100644 index 0000000000..995c0a1029 --- /dev/null +++ b/.agents/notes/archived/feature/2026-06-29-todo-write-tool.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-06-29-todo-write-tool.md +2026-06-29-todo-write-tool.md: 8accda2b7069554326f3b7ed1ddc7ffe842500b5 +2026-06-29-todo-write-tool.zh.md: ff356debaece11d413414496a9b14c7d727bbed9 diff --git a/.agents/notes/implemented/feature/2026-06-29-todo-write-tool.md b/.agents/notes/archived/feature/2026-06-29-todo-write-tool.md similarity index 99% rename from .agents/notes/implemented/feature/2026-06-29-todo-write-tool.md rename to .agents/notes/archived/feature/2026-06-29-todo-write-tool.md index 4fe6cd5ce9..8accda2b70 100644 --- a/.agents/notes/implemented/feature/2026-06-29-todo-write-tool.md +++ b/.agents/notes/archived/feature/2026-06-29-todo-write-tool.md @@ -1,6 +1,7 @@ # Agent Note: The `todo_write` tool — model task list as event-sourced session state Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-29-todo-write-tool.zh.md) diff --git a/.agents/notes/implemented/feature/2026-06-29-todo-write-tool.zh.md b/.agents/notes/archived/feature/2026-06-29-todo-write-tool.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-06-29-todo-write-tool.zh.md rename to .agents/notes/archived/feature/2026-06-29-todo-write-tool.zh.md index eaeb70b02c..ff356debae 100644 --- a/.agents/notes/implemented/feature/2026-06-29-todo-write-tool.zh.md +++ b/.agents/notes/archived/feature/2026-06-29-todo-write-tool.zh.md @@ -1,6 +1,7 @@ # Agent Note: `todo_write` 工具——将模型任务列表作为事件溯源的会话状态 Status: implemented +Archived: 2026-09-04 [English](2026-06-29-todo-write-tool.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-06-30-hook-bridges.i18n.yaml b/.agents/notes/archived/feature/2026-06-30-hook-bridges.i18n.yaml new file mode 100644 index 0000000000..7c8b789887 --- /dev/null +++ b/.agents/notes/archived/feature/2026-06-30-hook-bridges.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-06-30-hook-bridges.md +2026-06-30-hook-bridges.md: c3f8dc53ea91d4cb5546385ba0ff595b6dbb36bc +2026-06-30-hook-bridges.zh.md: c2ce08607e01f6cd0bae87a2822b674e610da1cc diff --git a/.agents/notes/implemented/feature/2026-06-30-hook-bridges.md b/.agents/notes/archived/feature/2026-06-30-hook-bridges.md similarity index 99% rename from .agents/notes/implemented/feature/2026-06-30-hook-bridges.md rename to .agents/notes/archived/feature/2026-06-30-hook-bridges.md index 30d481f8bd..c3f8dc53ea 100644 --- a/.agents/notes/implemented/feature/2026-06-30-hook-bridges.md +++ b/.agents/notes/archived/feature/2026-06-30-hook-bridges.md @@ -1,6 +1,7 @@ # Agent Note: dsh-hooks-claude-code + dsh-hooks-codex — the Claude Code / Codex hook bridges Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-30-hook-bridges.zh.md) diff --git a/.agents/notes/implemented/feature/2026-06-30-hook-bridges.zh.md b/.agents/notes/archived/feature/2026-06-30-hook-bridges.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-06-30-hook-bridges.zh.md rename to .agents/notes/archived/feature/2026-06-30-hook-bridges.zh.md index 5d994bb063..c2ce08607e 100644 --- a/.agents/notes/implemented/feature/2026-06-30-hook-bridges.zh.md +++ b/.agents/notes/archived/feature/2026-06-30-hook-bridges.zh.md @@ -1,6 +1,7 @@ # Agent Note: dsh-hooks-claude-code + dsh-hooks-codex —— Claude Code / Codex 钩子桥接插件 Status: implemented +Archived: 2026-09-04 [English](2026-06-30-hook-bridges.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-06-30-hook-protocol-lib.i18n.yaml b/.agents/notes/archived/feature/2026-06-30-hook-protocol-lib.i18n.yaml new file mode 100644 index 0000000000..86d2211506 --- /dev/null +++ b/.agents/notes/archived/feature/2026-06-30-hook-protocol-lib.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-06-30-hook-protocol-lib.md +2026-06-30-hook-protocol-lib.md: a8cfdfa85d35fa09de73cf30a84e079df2f14be5 +2026-06-30-hook-protocol-lib.zh.md: 2b080465311677be14d209b36fc972c8bc7b58f0 diff --git a/.agents/notes/implemented/feature/2026-06-30-hook-protocol-lib.md b/.agents/notes/archived/feature/2026-06-30-hook-protocol-lib.md similarity index 99% rename from .agents/notes/implemented/feature/2026-06-30-hook-protocol-lib.md rename to .agents/notes/archived/feature/2026-06-30-hook-protocol-lib.md index db00d0f880..a8cfdfa85d 100644 --- a/.agents/notes/implemented/feature/2026-06-30-hook-protocol-lib.md +++ b/.agents/notes/archived/feature/2026-06-30-hook-protocol-lib.md @@ -1,6 +1,7 @@ # Agent Note: dsh-hook-protocol — the shared Claude Code / Codex hook wire-protocol core Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-30-hook-protocol-lib.zh.md) diff --git a/.agents/notes/implemented/feature/2026-06-30-hook-protocol-lib.zh.md b/.agents/notes/archived/feature/2026-06-30-hook-protocol-lib.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-06-30-hook-protocol-lib.zh.md rename to .agents/notes/archived/feature/2026-06-30-hook-protocol-lib.zh.md index 7b0208ec95..2b08046531 100644 --- a/.agents/notes/implemented/feature/2026-06-30-hook-protocol-lib.zh.md +++ b/.agents/notes/archived/feature/2026-06-30-hook-protocol-lib.zh.md @@ -1,6 +1,7 @@ # Agent Note: dsh-hook-protocol——Claude Code / Codex 钩子协议格式共享核心库 Status: implemented +Archived: 2026-09-04 [English](2026-06-30-hook-protocol-lib.md) | 中文 diff --git a/.agents/notes/implemented/feature/2026-07-24-web-session-model-selector.i18n.yaml b/.agents/notes/archived/feature/2026-06-30-session-store-fork-api.i18n.yaml similarity index 57% rename from .agents/notes/implemented/feature/2026-07-24-web-session-model-selector.i18n.yaml rename to .agents/notes/archived/feature/2026-06-30-session-store-fork-api.i18n.yaml index 77043c364c..8c8adcf525 100644 --- a/.agents/notes/implemented/feature/2026-07-24-web-session-model-selector.i18n.yaml +++ b/.agents/notes/archived/feature/2026-06-30-session-store-fork-api.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/feature/2026-07-24-web-session-model-selector.md -2026-07-24-web-session-model-selector.md: b001bb0f6cb9ec13a353b808bd46de9cfe054107 -2026-07-24-web-session-model-selector.zh.md: a339a367dbe00368b909ddd775409c730b9519ad +# pnpm run verify-translation-pairing --write .agents/notes/archived/feature/2026-06-30-session-store-fork-api.md +2026-06-30-session-store-fork-api.md: ea80da2d948f5f7abfdf442fba1999c926aaa093 +2026-06-30-session-store-fork-api.zh.md: 7b14ed5a462d9ae5fcb14774ccee4cffea50b208 diff --git a/.agents/notes/implemented/feature/2026-06-30-session-store-fork-api.md b/.agents/notes/archived/feature/2026-06-30-session-store-fork-api.md similarity index 99% rename from .agents/notes/implemented/feature/2026-06-30-session-store-fork-api.md rename to .agents/notes/archived/feature/2026-06-30-session-store-fork-api.md index a2d169a36a..ea80da2d94 100644 --- a/.agents/notes/implemented/feature/2026-06-30-session-store-fork-api.md +++ b/.agents/notes/archived/feature/2026-06-30-session-store-fork-api.md @@ -1,6 +1,7 @@ # Agent Note: SessionStore fork API Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-30-session-store-fork-api.zh.md) diff --git a/.agents/notes/implemented/feature/2026-06-30-session-store-fork-api.zh.md b/.agents/notes/archived/feature/2026-06-30-session-store-fork-api.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-06-30-session-store-fork-api.zh.md rename to .agents/notes/archived/feature/2026-06-30-session-store-fork-api.zh.md index 5ebf05e677..7b14ed5a46 100644 --- a/.agents/notes/implemented/feature/2026-06-30-session-store-fork-api.zh.md +++ b/.agents/notes/archived/feature/2026-06-30-session-store-fork-api.zh.md @@ -1,6 +1,7 @@ # Agent Note: SessionStore fork API Status: implemented +Archived: 2026-09-04 [English](2026-06-30-session-store-fork-api.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-05-skill-system.i18n.yaml b/.agents/notes/archived/feature/2026-07-05-skill-system.i18n.yaml new file mode 100644 index 0000000000..459ee2be56 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-05-skill-system.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-05-skill-system.md +2026-07-05-skill-system.md: 697612a1bfe46ad8e6066a77690b8b1ac7a15a73 +2026-07-05-skill-system.zh.md: 26756f20eaf5e1ee0b0b207df3b3299340fb3dc9 diff --git a/.agents/notes/implemented/feature/2026-07-05-skill-system.md b/.agents/notes/archived/feature/2026-07-05-skill-system.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-05-skill-system.md rename to .agents/notes/archived/feature/2026-07-05-skill-system.md index 21ad2c899e..697612a1bf 100644 --- a/.agents/notes/implemented/feature/2026-07-05-skill-system.md +++ b/.agents/notes/archived/feature/2026-07-05-skill-system.md @@ -1,6 +1,7 @@ # Agent Note: Skill system — progressive disclosure instructions for agents Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-05-skill-system.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-05-skill-system.zh.md b/.agents/notes/archived/feature/2026-07-05-skill-system.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-05-skill-system.zh.md rename to .agents/notes/archived/feature/2026-07-05-skill-system.zh.md index 44dbce33b5..26756f20ea 100644 --- a/.agents/notes/implemented/feature/2026-07-05-skill-system.zh.md +++ b/.agents/notes/archived/feature/2026-07-05-skill-system.zh.md @@ -1,6 +1,7 @@ # Agent Note: Skill 系统——面向 agent 的渐进式指令披露 Status: implemented +Archived: 2026-09-04 [English](2026-07-05-skill-system.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-06-explicit-tool-order.i18n.yaml b/.agents/notes/archived/feature/2026-07-06-explicit-tool-order.i18n.yaml new file mode 100644 index 0000000000..bf355f0c06 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-06-explicit-tool-order.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-06-explicit-tool-order.md +2026-07-06-explicit-tool-order.md: 46cf0f921f5e84e18560ffd8447eb44293e9ac33 +2026-07-06-explicit-tool-order.zh.md: 42cc45fda31a83eeca8db58132ec9f947a420d89 diff --git a/.agents/notes/implemented/feature/2026-07-06-explicit-tool-order.md b/.agents/notes/archived/feature/2026-07-06-explicit-tool-order.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-06-explicit-tool-order.md rename to .agents/notes/archived/feature/2026-07-06-explicit-tool-order.md index 735818ba5b..46cf0f921f 100644 --- a/.agents/notes/implemented/feature/2026-07-06-explicit-tool-order.md +++ b/.agents/notes/archived/feature/2026-07-06-explicit-tool-order.md @@ -1,6 +1,7 @@ # Agent Note: Explicit model-facing tool order Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-06-explicit-tool-order.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-06-explicit-tool-order.zh.md b/.agents/notes/archived/feature/2026-07-06-explicit-tool-order.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-06-explicit-tool-order.zh.md rename to .agents/notes/archived/feature/2026-07-06-explicit-tool-order.zh.md index cb5fa1f7fb..42cc45fda3 100644 --- a/.agents/notes/implemented/feature/2026-07-06-explicit-tool-order.zh.md +++ b/.agents/notes/archived/feature/2026-07-06-explicit-tool-order.zh.md @@ -1,6 +1,7 @@ # Agent Note: 显式的模型侧工具顺序 Status: implemented +Archived: 2026-09-04 [English](2026-07-06-explicit-tool-order.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-08-background-subagent-tasks.i18n.yaml b/.agents/notes/archived/feature/2026-07-08-background-subagent-tasks.i18n.yaml new file mode 100644 index 0000000000..0c58041f95 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-08-background-subagent-tasks.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-08-background-subagent-tasks.md +2026-07-08-background-subagent-tasks.md: ce5858297e72661e462e2fd200ce8e3c1e20b547 +2026-07-08-background-subagent-tasks.zh.md: a1bd8bcb58314e0326af63d998d495409ff7e0b6 diff --git a/.agents/notes/implemented/feature/2026-07-08-background-subagent-tasks.md b/.agents/notes/archived/feature/2026-07-08-background-subagent-tasks.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-08-background-subagent-tasks.md rename to .agents/notes/archived/feature/2026-07-08-background-subagent-tasks.md index 4dcd961ee5..ce5858297e 100644 --- a/.agents/notes/implemented/feature/2026-07-08-background-subagent-tasks.md +++ b/.agents/notes/archived/feature/2026-07-08-background-subagent-tasks.md @@ -1,6 +1,7 @@ # Agent Note: Background subagent tasks Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-08-background-subagent-tasks.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-08-background-subagent-tasks.zh.md b/.agents/notes/archived/feature/2026-07-08-background-subagent-tasks.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-08-background-subagent-tasks.zh.md rename to .agents/notes/archived/feature/2026-07-08-background-subagent-tasks.zh.md index f35ac9e040..a1bd8bcb58 100644 --- a/.agents/notes/implemented/feature/2026-07-08-background-subagent-tasks.zh.md +++ b/.agents/notes/archived/feature/2026-07-08-background-subagent-tasks.zh.md @@ -1,6 +1,7 @@ # Agent Note: 后台 subagent 任务 Status: implemented +Archived: 2026-09-04 [English](2026-07-08-background-subagent-tasks.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-10-agent-session-identity-and-log-location.i18n.yaml b/.agents/notes/archived/feature/2026-07-10-agent-session-identity-and-log-location.i18n.yaml new file mode 100644 index 0000000000..26272c5fde --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-10-agent-session-identity-and-log-location.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-10-agent-session-identity-and-log-location.md +2026-07-10-agent-session-identity-and-log-location.md: f1dbc82f19b13f5466a07cf3d73e55415b96ff7f +2026-07-10-agent-session-identity-and-log-location.zh.md: cfa659ce6335d91aa667d85abf4ddcbfb40d3846 diff --git a/.agents/notes/implemented/feature/2026-07-10-agent-session-identity-and-log-location.md b/.agents/notes/archived/feature/2026-07-10-agent-session-identity-and-log-location.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-10-agent-session-identity-and-log-location.md rename to .agents/notes/archived/feature/2026-07-10-agent-session-identity-and-log-location.md index c849ffb882..f1dbc82f19 100644 --- a/.agents/notes/implemented/feature/2026-07-10-agent-session-identity-and-log-location.md +++ b/.agents/notes/archived/feature/2026-07-10-agent-session-identity-and-log-location.md @@ -1,6 +1,7 @@ # Agent Note: Expose agent session identity to tools and hooks Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-10-agent-session-identity-and-log-location.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-10-agent-session-identity-and-log-location.zh.md b/.agents/notes/archived/feature/2026-07-10-agent-session-identity-and-log-location.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-10-agent-session-identity-and-log-location.zh.md rename to .agents/notes/archived/feature/2026-07-10-agent-session-identity-and-log-location.zh.md index 0782699383..cfa659ce63 100644 --- a/.agents/notes/implemented/feature/2026-07-10-agent-session-identity-and-log-location.zh.md +++ b/.agents/notes/archived/feature/2026-07-10-agent-session-identity-and-log-location.zh.md @@ -1,6 +1,7 @@ # Agent Note: 向工具与钩子公开 agent 会话标识 Status: implemented +Archived: 2026-09-04 [English](2026-07-10-agent-session-identity-and-log-location.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-10-sqlite-session-query-provider.i18n.yaml b/.agents/notes/archived/feature/2026-07-10-sqlite-session-query-provider.i18n.yaml new file mode 100644 index 0000000000..6a5d34d6d6 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-10-sqlite-session-query-provider.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-10-sqlite-session-query-provider.md +2026-07-10-sqlite-session-query-provider.md: b5700150af72321f4befdff1baf67d16192454df +2026-07-10-sqlite-session-query-provider.zh.md: cb8151084aaa6dc8524fcc138d4ae3b3d9aa694f diff --git a/.agents/notes/implemented/feature/2026-07-10-sqlite-session-query-provider.md b/.agents/notes/archived/feature/2026-07-10-sqlite-session-query-provider.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-10-sqlite-session-query-provider.md rename to .agents/notes/archived/feature/2026-07-10-sqlite-session-query-provider.md index 46af02d39e..b5700150af 100644 --- a/.agents/notes/implemented/feature/2026-07-10-sqlite-session-query-provider.md +++ b/.agents/notes/archived/feature/2026-07-10-sqlite-session-query-provider.md @@ -1,6 +1,7 @@ # Agent Note: SQLite FTS5 session search Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-10-sqlite-session-query-provider.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-10-sqlite-session-query-provider.zh.md b/.agents/notes/archived/feature/2026-07-10-sqlite-session-query-provider.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-10-sqlite-session-query-provider.zh.md rename to .agents/notes/archived/feature/2026-07-10-sqlite-session-query-provider.zh.md index ccb833886a..cb8151084a 100644 --- a/.agents/notes/implemented/feature/2026-07-10-sqlite-session-query-provider.zh.md +++ b/.agents/notes/archived/feature/2026-07-10-sqlite-session-query-provider.zh.md @@ -1,6 +1,7 @@ # Agent Note: SQLite FTS5 会话搜索 Status: implemented +Archived: 2026-09-04 [English](2026-07-10-sqlite-session-query-provider.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-13-session-query-tracing.i18n.yaml b/.agents/notes/archived/feature/2026-07-13-session-query-tracing.i18n.yaml new file mode 100644 index 0000000000..34dbdf0e96 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-13-session-query-tracing.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-13-session-query-tracing.md +2026-07-13-session-query-tracing.md: 82a88644711d12d06e9bb86441572946679e7809 +2026-07-13-session-query-tracing.zh.md: 55fd8247c458a299378019fd59ce16ee6951943d diff --git a/.agents/notes/implemented/feature/2026-07-13-session-query-tracing.md b/.agents/notes/archived/feature/2026-07-13-session-query-tracing.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-13-session-query-tracing.md rename to .agents/notes/archived/feature/2026-07-13-session-query-tracing.md index 66ec68cff1..82a8864471 100644 --- a/.agents/notes/implemented/feature/2026-07-13-session-query-tracing.md +++ b/.agents/notes/archived/feature/2026-07-13-session-query-tracing.md @@ -1,6 +1,7 @@ # Agent Note: Session query relationship tracing Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-13-session-query-tracing.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-13-session-query-tracing.zh.md b/.agents/notes/archived/feature/2026-07-13-session-query-tracing.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-13-session-query-tracing.zh.md rename to .agents/notes/archived/feature/2026-07-13-session-query-tracing.zh.md index 315fc8d1b6..55fd8247c4 100644 --- a/.agents/notes/implemented/feature/2026-07-13-session-query-tracing.zh.md +++ b/.agents/notes/archived/feature/2026-07-13-session-query-tracing.zh.md @@ -1,6 +1,7 @@ # Agent Note: 会话查询关系追踪 Status: implemented +Archived: 2026-09-04 [English](2026-07-13-session-query-tracing.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-16-durable-per-step-time-context.i18n.yaml b/.agents/notes/archived/feature/2026-07-16-durable-per-step-time-context.i18n.yaml new file mode 100644 index 0000000000..a56e76242c --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-16-durable-per-step-time-context.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-16-durable-per-step-time-context.md +2026-07-16-durable-per-step-time-context.md: 55ff50cd628315d3bd4c98b41d8f495a7881ab61 +2026-07-16-durable-per-step-time-context.zh.md: f599e25c19a40692814bb2e7879fc9e03edbb899 diff --git a/.agents/notes/implemented/feature/2026-07-16-durable-per-step-time-context.md b/.agents/notes/archived/feature/2026-07-16-durable-per-step-time-context.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-16-durable-per-step-time-context.md rename to .agents/notes/archived/feature/2026-07-16-durable-per-step-time-context.md index 9ebc16a054..55ff50cd62 100644 --- a/.agents/notes/implemented/feature/2026-07-16-durable-per-step-time-context.md +++ b/.agents/notes/archived/feature/2026-07-16-durable-per-step-time-context.md @@ -1,6 +1,7 @@ # Agent Note: Durable per-step time context Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-16-durable-per-step-time-context.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-16-durable-per-step-time-context.zh.md b/.agents/notes/archived/feature/2026-07-16-durable-per-step-time-context.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-16-durable-per-step-time-context.zh.md rename to .agents/notes/archived/feature/2026-07-16-durable-per-step-time-context.zh.md index e470b13e62..f599e25c19 100644 --- a/.agents/notes/implemented/feature/2026-07-16-durable-per-step-time-context.zh.md +++ b/.agents/notes/archived/feature/2026-07-16-durable-per-step-time-context.zh.md @@ -1,6 +1,7 @@ # Agent Note: 持久的逐步骤时间上下文 Status: implemented +Archived: 2026-09-04 [English](2026-07-16-durable-per-step-time-context.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-19-fresh-agent-ralph-workflow-tool.i18n.yaml b/.agents/notes/archived/feature/2026-07-19-fresh-agent-ralph-workflow-tool.i18n.yaml new file mode 100644 index 0000000000..865edae531 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-19-fresh-agent-ralph-workflow-tool.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-19-fresh-agent-ralph-workflow-tool.md +2026-07-19-fresh-agent-ralph-workflow-tool.md: 3f6fa8b86ed0f2588af5b485d683203e11db55eb +2026-07-19-fresh-agent-ralph-workflow-tool.zh.md: c265048898f62da1e7da1668a637b8dfb7202825 diff --git a/.agents/notes/implemented/feature/2026-07-19-fresh-agent-ralph-workflow-tool.md b/.agents/notes/archived/feature/2026-07-19-fresh-agent-ralph-workflow-tool.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-19-fresh-agent-ralph-workflow-tool.md rename to .agents/notes/archived/feature/2026-07-19-fresh-agent-ralph-workflow-tool.md index 9eedc022f0..3f6fa8b86e 100644 --- a/.agents/notes/implemented/feature/2026-07-19-fresh-agent-ralph-workflow-tool.md +++ b/.agents/notes/archived/feature/2026-07-19-fresh-agent-ralph-workflow-tool.md @@ -1,6 +1,7 @@ # Agent Note: Fresh-agent Ralph workflow tool Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-19-fresh-agent-ralph-workflow-tool.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-19-fresh-agent-ralph-workflow-tool.zh.md b/.agents/notes/archived/feature/2026-07-19-fresh-agent-ralph-workflow-tool.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-19-fresh-agent-ralph-workflow-tool.zh.md rename to .agents/notes/archived/feature/2026-07-19-fresh-agent-ralph-workflow-tool.zh.md index 23c614d5b5..c265048898 100644 --- a/.agents/notes/implemented/feature/2026-07-19-fresh-agent-ralph-workflow-tool.zh.md +++ b/.agents/notes/archived/feature/2026-07-19-fresh-agent-ralph-workflow-tool.zh.md @@ -1,6 +1,7 @@ # Agent Note: 全新 agent Ralph 工作流工具 Status: implemented +Archived: 2026-09-04 [English](2026-07-19-fresh-agent-ralph-workflow-tool.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-19-human-goal-command.i18n.yaml b/.agents/notes/archived/feature/2026-07-19-human-goal-command.i18n.yaml new file mode 100644 index 0000000000..cb5268cdfb --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-19-human-goal-command.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-19-human-goal-command.md +2026-07-19-human-goal-command.md: c5d8ad30fd4b99755995dbaf3f0e599e5206cf5f +2026-07-19-human-goal-command.zh.md: ea91d6dcf4900bb20baab50acd56e946bc504311 diff --git a/.agents/notes/implemented/feature/2026-07-19-human-goal-command.md b/.agents/notes/archived/feature/2026-07-19-human-goal-command.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-19-human-goal-command.md rename to .agents/notes/archived/feature/2026-07-19-human-goal-command.md index b87d52f2aa..c5d8ad30fd 100644 --- a/.agents/notes/implemented/feature/2026-07-19-human-goal-command.md +++ b/.agents/notes/archived/feature/2026-07-19-human-goal-command.md @@ -1,6 +1,7 @@ # Agent Note: Human `/goal` command Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-19-human-goal-command.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-19-human-goal-command.zh.md b/.agents/notes/archived/feature/2026-07-19-human-goal-command.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-19-human-goal-command.zh.md rename to .agents/notes/archived/feature/2026-07-19-human-goal-command.zh.md index 18d5829daf..ea91d6dcf4 100644 --- a/.agents/notes/implemented/feature/2026-07-19-human-goal-command.zh.md +++ b/.agents/notes/archived/feature/2026-07-19-human-goal-command.zh.md @@ -1,6 +1,7 @@ # Agent Note: 面向人类的 `/goal` 命令 Status: implemented +Archived: 2026-09-04 [English](2026-07-19-human-goal-command.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-19-same-session-goal-round-driver.i18n.yaml b/.agents/notes/archived/feature/2026-07-19-same-session-goal-round-driver.i18n.yaml new file mode 100644 index 0000000000..4f38b2331a --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-19-same-session-goal-round-driver.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-19-same-session-goal-round-driver.md +2026-07-19-same-session-goal-round-driver.md: 388532ee82064d4c19607079845760e08a331c4f +2026-07-19-same-session-goal-round-driver.zh.md: d7ad122e66ff2f8ae15dc5872ecb1436a171685c diff --git a/.agents/notes/implemented/feature/2026-07-19-same-session-goal-round-driver.md b/.agents/notes/archived/feature/2026-07-19-same-session-goal-round-driver.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-19-same-session-goal-round-driver.md rename to .agents/notes/archived/feature/2026-07-19-same-session-goal-round-driver.md index 9a2bbf40e8..388532ee82 100644 --- a/.agents/notes/implemented/feature/2026-07-19-same-session-goal-round-driver.md +++ b/.agents/notes/archived/feature/2026-07-19-same-session-goal-round-driver.md @@ -1,6 +1,7 @@ # Agent Note: Same-session goal-round driver Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-19-same-session-goal-round-driver.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-19-same-session-goal-round-driver.zh.md b/.agents/notes/archived/feature/2026-07-19-same-session-goal-round-driver.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-19-same-session-goal-round-driver.zh.md rename to .agents/notes/archived/feature/2026-07-19-same-session-goal-round-driver.zh.md index a094b1289c..d7ad122e66 100644 --- a/.agents/notes/implemented/feature/2026-07-19-same-session-goal-round-driver.zh.md +++ b/.agents/notes/archived/feature/2026-07-19-same-session-goal-round-driver.zh.md @@ -1,6 +1,7 @@ # Agent Note: 同会话 Goal Round 驱动器 Status: implemented +Archived: 2026-09-04 [English](2026-07-19-same-session-goal-round-driver.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-20-dsh-cli-personal-config.i18n.yaml b/.agents/notes/archived/feature/2026-07-20-dsh-cli-personal-config.i18n.yaml new file mode 100644 index 0000000000..0a5bdefe0e --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-20-dsh-cli-personal-config.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-20-dsh-cli-personal-config.md +2026-07-20-dsh-cli-personal-config.md: 61f766622fbf8e5d2d62b17fec037e2844307a45 +2026-07-20-dsh-cli-personal-config.zh.md: 2e4e926c70feff397e41640b54464ad89bf4f5c9 diff --git a/.agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.md b/.agents/notes/archived/feature/2026-07-20-dsh-cli-personal-config.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.md rename to .agents/notes/archived/feature/2026-07-20-dsh-cli-personal-config.md index db1e5638f0..61f766622f 100644 --- a/.agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.md +++ b/.agents/notes/archived/feature/2026-07-20-dsh-cli-personal-config.md @@ -1,6 +1,7 @@ # Agent Note: The dsh CLI and personal config overlays from the Harness home Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-20-dsh-cli-personal-config.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.zh.md b/.agents/notes/archived/feature/2026-07-20-dsh-cli-personal-config.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.zh.md rename to .agents/notes/archived/feature/2026-07-20-dsh-cli-personal-config.zh.md index d796d98874..2e4e926c70 100644 --- a/.agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.zh.md +++ b/.agents/notes/archived/feature/2026-07-20-dsh-cli-personal-config.zh.md @@ -1,6 +1,7 @@ # Agent Note: dsh CLI 与来自 Harness home 的个人配置 overlay Status: implemented +Archived: 2026-09-04 [English](2026-07-20-dsh-cli-personal-config.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-21-continuable-background-subagents.i18n.yaml b/.agents/notes/archived/feature/2026-07-21-continuable-background-subagents.i18n.yaml new file mode 100644 index 0000000000..efed041631 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-21-continuable-background-subagents.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-21-continuable-background-subagents.md +2026-07-21-continuable-background-subagents.md: 12f4bc6fc98114b6f25dbae8dbc4da6b658def10 +2026-07-21-continuable-background-subagents.zh.md: ee6db8dacdc331cd15ed9f59e54119f5cf3924df diff --git a/.agents/notes/implemented/feature/2026-07-21-continuable-background-subagents.md b/.agents/notes/archived/feature/2026-07-21-continuable-background-subagents.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-21-continuable-background-subagents.md rename to .agents/notes/archived/feature/2026-07-21-continuable-background-subagents.md index 24ab64879f..12f4bc6fc9 100644 --- a/.agents/notes/implemented/feature/2026-07-21-continuable-background-subagents.md +++ b/.agents/notes/archived/feature/2026-07-21-continuable-background-subagents.md @@ -1,6 +1,7 @@ # Agent Note: Continuable background subagents Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-21-continuable-background-subagents.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-21-continuable-background-subagents.zh.md b/.agents/notes/archived/feature/2026-07-21-continuable-background-subagents.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-21-continuable-background-subagents.zh.md rename to .agents/notes/archived/feature/2026-07-21-continuable-background-subagents.zh.md index 0cf06f7fe3..ee6db8dacd 100644 --- a/.agents/notes/implemented/feature/2026-07-21-continuable-background-subagents.zh.md +++ b/.agents/notes/archived/feature/2026-07-21-continuable-background-subagents.zh.md @@ -1,6 +1,7 @@ # Agent Note: 可继续的后台 subagent Status: implemented +Archived: 2026-09-04 [English](2026-07-21-continuable-background-subagents.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-21-cross-session-references.i18n.yaml b/.agents/notes/archived/feature/2026-07-21-cross-session-references.i18n.yaml new file mode 100644 index 0000000000..243a068ce5 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-21-cross-session-references.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-21-cross-session-references.md +2026-07-21-cross-session-references.md: 933f4b920f2f450488923970a146df4c2552c820 +2026-07-21-cross-session-references.zh.md: d4792dda8bff83852c7bae1dfcc9c916fa1407a5 diff --git a/.agents/notes/implemented/feature/2026-07-21-cross-session-references.md b/.agents/notes/archived/feature/2026-07-21-cross-session-references.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-21-cross-session-references.md rename to .agents/notes/archived/feature/2026-07-21-cross-session-references.md index 48a3241871..933f4b920f 100644 --- a/.agents/notes/implemented/feature/2026-07-21-cross-session-references.md +++ b/.agents/notes/archived/feature/2026-07-21-cross-session-references.md @@ -1,6 +1,7 @@ # Agent Note: Cross-session references Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-21-cross-session-references.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-21-cross-session-references.zh.md b/.agents/notes/archived/feature/2026-07-21-cross-session-references.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-21-cross-session-references.zh.md rename to .agents/notes/archived/feature/2026-07-21-cross-session-references.zh.md index 0daeec7836..d4792dda8b 100644 --- a/.agents/notes/implemented/feature/2026-07-21-cross-session-references.zh.md +++ b/.agents/notes/archived/feature/2026-07-21-cross-session-references.zh.md @@ -1,6 +1,7 @@ # Agent Note: 跨会话引用 Status: implemented +Archived: 2026-09-04 [English](2026-07-21-cross-session-references.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-21-instruction-load-all-dedup.i18n.yaml b/.agents/notes/archived/feature/2026-07-21-instruction-load-all-dedup.i18n.yaml new file mode 100644 index 0000000000..90c6944cdb --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-21-instruction-load-all-dedup.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-21-instruction-load-all-dedup.md +2026-07-21-instruction-load-all-dedup.md: d8b1c79af06743afc01fb03d9a717361ec34a852 +2026-07-21-instruction-load-all-dedup.zh.md: ca6844ca67bb78ed769e1629bf97fd3a12182abb diff --git a/.agents/notes/implemented/feature/2026-07-21-instruction-load-all-dedup.md b/.agents/notes/archived/feature/2026-07-21-instruction-load-all-dedup.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-21-instruction-load-all-dedup.md rename to .agents/notes/archived/feature/2026-07-21-instruction-load-all-dedup.md index fc88b4ea6f..d8b1c79af0 100644 --- a/.agents/notes/implemented/feature/2026-07-21-instruction-load-all-dedup.md +++ b/.agents/notes/archived/feature/2026-07-21-instruction-load-all-dedup.md @@ -1,6 +1,7 @@ # Agent Note: Load all instruction candidates with per-directory dedup Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-21-instruction-load-all-dedup.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-21-instruction-load-all-dedup.zh.md b/.agents/notes/archived/feature/2026-07-21-instruction-load-all-dedup.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-21-instruction-load-all-dedup.zh.md rename to .agents/notes/archived/feature/2026-07-21-instruction-load-all-dedup.zh.md index f74585850d..ca6844ca67 100644 --- a/.agents/notes/implemented/feature/2026-07-21-instruction-load-all-dedup.zh.md +++ b/.agents/notes/archived/feature/2026-07-21-instruction-load-all-dedup.zh.md @@ -1,6 +1,7 @@ # Agent Note: 加载全部指令候选并按目录去重 Status: implemented +Archived: 2026-09-04 [English](2026-07-21-instruction-load-all-dedup.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-21-local-instruction-overlay.i18n.yaml b/.agents/notes/archived/feature/2026-07-21-local-instruction-overlay.i18n.yaml new file mode 100644 index 0000000000..6bc847b873 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-21-local-instruction-overlay.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-21-local-instruction-overlay.md +2026-07-21-local-instruction-overlay.md: 0124904e55dcdc34c393919232ac2a3ab6fb8d1e +2026-07-21-local-instruction-overlay.zh.md: 41c184cd25318225391d8e13bf9c48a0a943d2e6 diff --git a/.agents/notes/implemented/feature/2026-07-21-local-instruction-overlay.md b/.agents/notes/archived/feature/2026-07-21-local-instruction-overlay.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-21-local-instruction-overlay.md rename to .agents/notes/archived/feature/2026-07-21-local-instruction-overlay.md index 0574cb3568..0124904e55 100644 --- a/.agents/notes/implemented/feature/2026-07-21-local-instruction-overlay.md +++ b/.agents/notes/archived/feature/2026-07-21-local-instruction-overlay.md @@ -1,6 +1,7 @@ # Agent Note: Default local instruction overlay Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-21-local-instruction-overlay.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-21-local-instruction-overlay.zh.md b/.agents/notes/archived/feature/2026-07-21-local-instruction-overlay.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-21-local-instruction-overlay.zh.md rename to .agents/notes/archived/feature/2026-07-21-local-instruction-overlay.zh.md index cd7406374c..41c184cd25 100644 --- a/.agents/notes/implemented/feature/2026-07-21-local-instruction-overlay.zh.md +++ b/.agents/notes/archived/feature/2026-07-21-local-instruction-overlay.zh.md @@ -1,6 +1,7 @@ # Agent Note: 默认的本地指令覆盖层 Status: implemented +Archived: 2026-09-04 [English](2026-07-21-local-instruction-overlay.md) | 中文 diff --git a/.agents/notes/implemented/architecture/2026-08-09-layered-skill-registry.i18n.yaml b/.agents/notes/archived/feature/2026-07-21-log-backed-session-titles.i18n.yaml similarity index 58% rename from .agents/notes/implemented/architecture/2026-08-09-layered-skill-registry.i18n.yaml rename to .agents/notes/archived/feature/2026-07-21-log-backed-session-titles.i18n.yaml index bf18db3a99..4c333017a6 100644 --- a/.agents/notes/implemented/architecture/2026-08-09-layered-skill-registry.i18n.yaml +++ b/.agents/notes/archived/feature/2026-07-21-log-backed-session-titles.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/architecture/2026-08-09-layered-skill-registry.md -2026-08-09-layered-skill-registry.md: bf49dda62f7ce9bfb594828cca80c797522b3b04 -2026-08-09-layered-skill-registry.zh.md: 2f3f9c207b8766bd31a840b5c319dc8c73dbcb36 +# pnpm run verify-translation-pairing --write .agents/notes/archived/feature/2026-07-21-log-backed-session-titles.md +2026-07-21-log-backed-session-titles.md: 716d9962b4f6d9c32b2b52de5c72d66b8603dad5 +2026-07-21-log-backed-session-titles.zh.md: 091eaa78d7cb80ef3633a84ef581d28861b9b5d8 diff --git a/.agents/notes/implemented/feature/2026-07-21-log-backed-session-titles.md b/.agents/notes/archived/feature/2026-07-21-log-backed-session-titles.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-21-log-backed-session-titles.md rename to .agents/notes/archived/feature/2026-07-21-log-backed-session-titles.md index 7bf9257813..716d9962b4 100644 --- a/.agents/notes/implemented/feature/2026-07-21-log-backed-session-titles.md +++ b/.agents/notes/archived/feature/2026-07-21-log-backed-session-titles.md @@ -1,6 +1,7 @@ # Agent Note: Log-backed session titles Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-21-log-backed-session-titles.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-21-log-backed-session-titles.zh.md b/.agents/notes/archived/feature/2026-07-21-log-backed-session-titles.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-21-log-backed-session-titles.zh.md rename to .agents/notes/archived/feature/2026-07-21-log-backed-session-titles.zh.md index e09317b1c0..091eaa78d7 100644 --- a/.agents/notes/implemented/feature/2026-07-21-log-backed-session-titles.zh.md +++ b/.agents/notes/archived/feature/2026-07-21-log-backed-session-titles.zh.md @@ -1,6 +1,7 @@ # Agent Note: 基于日志的会话标题 Status: implemented +Archived: 2026-09-04 [English](2026-07-21-log-backed-session-titles.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-22-durable-subagent-catalog-and-list-agents.i18n.yaml b/.agents/notes/archived/feature/2026-07-22-durable-subagent-catalog-and-list-agents.i18n.yaml new file mode 100644 index 0000000000..aebac9f4b1 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-22-durable-subagent-catalog-and-list-agents.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-22-durable-subagent-catalog-and-list-agents.md +2026-07-22-durable-subagent-catalog-and-list-agents.md: 8b516b941d502e4f4e8b1f2cb7ee8e828bb3df15 +2026-07-22-durable-subagent-catalog-and-list-agents.zh.md: cf5581bcd7b155592a16ff43cbccfdcc173720c8 diff --git a/.agents/notes/implemented/feature/2026-07-22-durable-subagent-catalog-and-list-agents.md b/.agents/notes/archived/feature/2026-07-22-durable-subagent-catalog-and-list-agents.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-22-durable-subagent-catalog-and-list-agents.md rename to .agents/notes/archived/feature/2026-07-22-durable-subagent-catalog-and-list-agents.md index df7298b542..8b516b941d 100644 --- a/.agents/notes/implemented/feature/2026-07-22-durable-subagent-catalog-and-list-agents.md +++ b/.agents/notes/archived/feature/2026-07-22-durable-subagent-catalog-and-list-agents.md @@ -1,6 +1,7 @@ # Agent Note: Durable subagent catalog and list_agents Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-22-durable-subagent-catalog-and-list-agents.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-22-durable-subagent-catalog-and-list-agents.zh.md b/.agents/notes/archived/feature/2026-07-22-durable-subagent-catalog-and-list-agents.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-22-durable-subagent-catalog-and-list-agents.zh.md rename to .agents/notes/archived/feature/2026-07-22-durable-subagent-catalog-and-list-agents.zh.md index 93fe9a7d5b..cf5581bcd7 100644 --- a/.agents/notes/implemented/feature/2026-07-22-durable-subagent-catalog-and-list-agents.zh.md +++ b/.agents/notes/archived/feature/2026-07-22-durable-subagent-catalog-and-list-agents.zh.md @@ -1,6 +1,7 @@ -# Agent Note(agent 决策记录):持久化 subagent 目录与 list_agents +# Agent Note: 持久化 subagent 目录与 list_agents Status: implemented +Archived: 2026-09-04 [English](2026-07-22-durable-subagent-catalog-and-list-agents.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-22-web-bind-address.i18n.yaml b/.agents/notes/archived/feature/2026-07-22-web-bind-address.i18n.yaml new file mode 100644 index 0000000000..00b53f8cf4 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-22-web-bind-address.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-22-web-bind-address.md +2026-07-22-web-bind-address.md: be1cdfb8ca510eab6e7deb7517e427a880cca663 +2026-07-22-web-bind-address.zh.md: 80a68a0d0c09cc40be02ce6f408cb04e74625284 diff --git a/.agents/notes/implemented/feature/2026-07-22-web-bind-address.md b/.agents/notes/archived/feature/2026-07-22-web-bind-address.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-22-web-bind-address.md rename to .agents/notes/archived/feature/2026-07-22-web-bind-address.md index 68275d220f..be1cdfb8ca 100644 --- a/.agents/notes/implemented/feature/2026-07-22-web-bind-address.md +++ b/.agents/notes/archived/feature/2026-07-22-web-bind-address.md @@ -1,6 +1,7 @@ # Agent Note: Explicit web bind address Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-22-web-bind-address.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-22-web-bind-address.zh.md b/.agents/notes/archived/feature/2026-07-22-web-bind-address.zh.md similarity index 98% rename from .agents/notes/implemented/feature/2026-07-22-web-bind-address.zh.md rename to .agents/notes/archived/feature/2026-07-22-web-bind-address.zh.md index 5bb4fdbbc3..80a68a0d0c 100644 --- a/.agents/notes/implemented/feature/2026-07-22-web-bind-address.zh.md +++ b/.agents/notes/archived/feature/2026-07-22-web-bind-address.zh.md @@ -1,6 +1,7 @@ # Agent Note: 显式指定 Web 绑定地址 Status: implemented +Archived: 2026-09-04 [English](2026-07-22-web-bind-address.md) | 中文 diff --git a/.agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.i18n.yaml b/.agents/notes/archived/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.i18n.yaml similarity index 61% rename from .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.i18n.yaml rename to .agents/notes/archived/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.i18n.yaml index bbdf2836d7..e79b3af7a7 100644 --- a/.agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.i18n.yaml +++ b/.agents/notes/archived/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.md -2026-07-22-web-multimodal-image-input-and-durable-attachments.md: 135939b536e39db10fe1011501b7a7ce2b0956b2 -2026-07-22-web-multimodal-image-input-and-durable-attachments.zh.md: 3207e1f6a7fc5db65f4f4c7a51c2ae765f634cb7 +# pnpm run verify-translation-pairing --write .agents/notes/archived/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.md +2026-07-22-web-multimodal-image-input-and-durable-attachments.md: 0158bc605d70048a1435b7005ac49bd46d27ed11 +2026-07-22-web-multimodal-image-input-and-durable-attachments.zh.md: 04c17d76287c478e3cc9bcdb08c15fe997157290 diff --git a/.agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.md b/.agents/notes/archived/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.md rename to .agents/notes/archived/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.md index 135939b536..0158bc605d 100644 --- a/.agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.md +++ b/.agents/notes/archived/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.md @@ -1,6 +1,7 @@ # Agent Note: Web multimodal image input and durable attachments Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-22-web-multimodal-image-input-and-durable-attachments.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.zh.md b/.agents/notes/archived/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.zh.md rename to .agents/notes/archived/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.zh.md index 3207e1f6a7..04c17d7628 100644 --- a/.agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.zh.md +++ b/.agents/notes/archived/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 多模态图片输入与持久附件 Status: implemented +Archived: 2026-09-04 [English](2026-07-22-web-multimodal-image-input-and-durable-attachments.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-23-web-assistant-markdown.i18n.yaml b/.agents/notes/archived/feature/2026-07-23-web-assistant-markdown.i18n.yaml new file mode 100644 index 0000000000..00f25fc92a --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-23-web-assistant-markdown.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-23-web-assistant-markdown.md +2026-07-23-web-assistant-markdown.md: 566fa0c2800f20c88a9f02cd71052cbf34095530 +2026-07-23-web-assistant-markdown.zh.md: cf22afadae0f26c2cadc9b3eae8afb2205257cf4 diff --git a/.agents/notes/implemented/feature/2026-07-23-web-assistant-markdown.md b/.agents/notes/archived/feature/2026-07-23-web-assistant-markdown.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-23-web-assistant-markdown.md rename to .agents/notes/archived/feature/2026-07-23-web-assistant-markdown.md index 4063ad647c..566fa0c280 100644 --- a/.agents/notes/implemented/feature/2026-07-23-web-assistant-markdown.md +++ b/.agents/notes/archived/feature/2026-07-23-web-assistant-markdown.md @@ -1,6 +1,7 @@ # Agent Note: Safe assistant Markdown in the Web conversation Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-23-web-assistant-markdown.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-23-web-assistant-markdown.zh.md b/.agents/notes/archived/feature/2026-07-23-web-assistant-markdown.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-23-web-assistant-markdown.zh.md rename to .agents/notes/archived/feature/2026-07-23-web-assistant-markdown.zh.md index 6b062e155c..cf22afadae 100644 --- a/.agents/notes/implemented/feature/2026-07-23-web-assistant-markdown.zh.md +++ b/.agents/notes/archived/feature/2026-07-23-web-assistant-markdown.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 对话中安全的 assistant Markdown Status: implemented +Archived: 2026-09-04 [English](2026-07-23-web-assistant-markdown.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-23-web-permission-and-approval.i18n.yaml b/.agents/notes/archived/feature/2026-07-23-web-permission-and-approval.i18n.yaml new file mode 100644 index 0000000000..d5329f8c73 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-23-web-permission-and-approval.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-23-web-permission-and-approval.md +2026-07-23-web-permission-and-approval.md: a7afdecc679454c9734b0e1a65914ca63c02e7d4 +2026-07-23-web-permission-and-approval.zh.md: 8d50e98946703bec6dfac5803092f107ee673876 diff --git a/.agents/notes/implemented/feature/2026-07-23-web-permission-and-approval.md b/.agents/notes/archived/feature/2026-07-23-web-permission-and-approval.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-23-web-permission-and-approval.md rename to .agents/notes/archived/feature/2026-07-23-web-permission-and-approval.md index f533adc43e..a7afdecc67 100644 --- a/.agents/notes/implemented/feature/2026-07-23-web-permission-and-approval.md +++ b/.agents/notes/archived/feature/2026-07-23-web-permission-and-approval.md @@ -1,6 +1,7 @@ # Agent Note: Web UI permission presets and approval answering Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-23-web-permission-and-approval.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-23-web-permission-and-approval.zh.md b/.agents/notes/archived/feature/2026-07-23-web-permission-and-approval.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-23-web-permission-and-approval.zh.md rename to .agents/notes/archived/feature/2026-07-23-web-permission-and-approval.zh.md index 85e70bac15..8d50e98946 100644 --- a/.agents/notes/implemented/feature/2026-07-23-web-permission-and-approval.zh.md +++ b/.agents/notes/archived/feature/2026-07-23-web-permission-and-approval.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web UI 权限预设与审批应答 Status: implemented +Archived: 2026-09-04 [English](2026-07-23-web-permission-and-approval.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-23-web-todo-display.i18n.yaml b/.agents/notes/archived/feature/2026-07-23-web-todo-display.i18n.yaml new file mode 100644 index 0000000000..5113605f8a --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-23-web-todo-display.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-23-web-todo-display.md +2026-07-23-web-todo-display.md: 19b1a766cf4803f2537442a1aca3a23236692c84 +2026-07-23-web-todo-display.zh.md: 50722c7b2756fbab82221b8a7ac555019ef86d38 diff --git a/.agents/notes/implemented/feature/2026-07-23-web-todo-display.md b/.agents/notes/archived/feature/2026-07-23-web-todo-display.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-23-web-todo-display.md rename to .agents/notes/archived/feature/2026-07-23-web-todo-display.md index e97301160f..19b1a766cf 100644 --- a/.agents/notes/implemented/feature/2026-07-23-web-todo-display.md +++ b/.agents/notes/archived/feature/2026-07-23-web-todo-display.md @@ -1,6 +1,7 @@ # Agent Note: Web todo display — snapshot side-effect channel + two render surfaces Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-23-web-todo-display.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-23-web-todo-display.zh.md b/.agents/notes/archived/feature/2026-07-23-web-todo-display.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-23-web-todo-display.zh.md rename to .agents/notes/archived/feature/2026-07-23-web-todo-display.zh.md index 84e4801d90..50722c7b27 100644 --- a/.agents/notes/implemented/feature/2026-07-23-web-todo-display.zh.md +++ b/.agents/notes/archived/feature/2026-07-23-web-todo-display.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web todo 展示——快照副作用通道 + 两个渲染面 Status: implemented +Archived: 2026-09-04 [English](2026-07-23-web-todo-display.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-24-model-facing-session-query-tools.i18n.yaml b/.agents/notes/archived/feature/2026-07-24-model-facing-session-query-tools.i18n.yaml new file mode 100644 index 0000000000..16d01364b9 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-24-model-facing-session-query-tools.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-24-model-facing-session-query-tools.md +2026-07-24-model-facing-session-query-tools.md: 31218776e5876fa34378f4a9406b7090ebc10246 +2026-07-24-model-facing-session-query-tools.zh.md: 4d6821868e9d1d68e20b96606759bf5856f49309 diff --git a/.agents/notes/implemented/feature/2026-07-24-model-facing-session-query-tools.md b/.agents/notes/archived/feature/2026-07-24-model-facing-session-query-tools.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-24-model-facing-session-query-tools.md rename to .agents/notes/archived/feature/2026-07-24-model-facing-session-query-tools.md index 7dcb25fc42..31218776e5 100644 --- a/.agents/notes/implemented/feature/2026-07-24-model-facing-session-query-tools.md +++ b/.agents/notes/archived/feature/2026-07-24-model-facing-session-query-tools.md @@ -1,6 +1,7 @@ # Agent Note: Model-facing session query tools Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-24-model-facing-session-query-tools.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-24-model-facing-session-query-tools.zh.md b/.agents/notes/archived/feature/2026-07-24-model-facing-session-query-tools.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-24-model-facing-session-query-tools.zh.md rename to .agents/notes/archived/feature/2026-07-24-model-facing-session-query-tools.zh.md index cb2fa76417..4d6821868e 100644 --- a/.agents/notes/implemented/feature/2026-07-24-model-facing-session-query-tools.zh.md +++ b/.agents/notes/archived/feature/2026-07-24-model-facing-session-query-tools.zh.md @@ -1,6 +1,7 @@ # Agent Note: 面向模型的会话查询工具 Status: implemented +Archived: 2026-09-04 [English](2026-07-24-model-facing-session-query-tools.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-24-provider-retry-policies.i18n.yaml b/.agents/notes/archived/feature/2026-07-24-provider-retry-policies.i18n.yaml new file mode 100644 index 0000000000..2d8c39f7d3 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-24-provider-retry-policies.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-24-provider-retry-policies.md +2026-07-24-provider-retry-policies.md: ca35559b454ef0638618a36100ee470b4e1ccece +2026-07-24-provider-retry-policies.zh.md: 2138f9f0502351ca47ab3c3c3cf9e41a8b708620 diff --git a/.agents/notes/implemented/feature/2026-07-24-provider-retry-policies.md b/.agents/notes/archived/feature/2026-07-24-provider-retry-policies.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-24-provider-retry-policies.md rename to .agents/notes/archived/feature/2026-07-24-provider-retry-policies.md index 996e7fcef2..ca35559b45 100644 --- a/.agents/notes/implemented/feature/2026-07-24-provider-retry-policies.md +++ b/.agents/notes/archived/feature/2026-07-24-provider-retry-policies.md @@ -1,6 +1,7 @@ # Agent Note: Per-provider request retry policies Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-24-provider-retry-policies.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-24-provider-retry-policies.zh.md b/.agents/notes/archived/feature/2026-07-24-provider-retry-policies.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-24-provider-retry-policies.zh.md rename to .agents/notes/archived/feature/2026-07-24-provider-retry-policies.zh.md index 8b3cb96ddb..2138f9f050 100644 --- a/.agents/notes/implemented/feature/2026-07-24-provider-retry-policies.zh.md +++ b/.agents/notes/archived/feature/2026-07-24-provider-retry-policies.zh.md @@ -1,6 +1,7 @@ # Agent Note: 逐提供方请求重试策略 Status: implemented +Archived: 2026-09-04 [English](2026-07-24-provider-retry-policies.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-24-web-session-model-selector.i18n.yaml b/.agents/notes/archived/feature/2026-07-24-web-session-model-selector.i18n.yaml new file mode 100644 index 0000000000..f4b0774903 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-24-web-session-model-selector.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-24-web-session-model-selector.md +2026-07-24-web-session-model-selector.md: ddce59e1a89111029db38a8c7793772937be911e +2026-07-24-web-session-model-selector.zh.md: 738f0984dcbc3997db65defe30ba9df33cfa53f7 diff --git a/.agents/notes/implemented/feature/2026-07-24-web-session-model-selector.md b/.agents/notes/archived/feature/2026-07-24-web-session-model-selector.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-24-web-session-model-selector.md rename to .agents/notes/archived/feature/2026-07-24-web-session-model-selector.md index b001bb0f6c..ddce59e1a8 100644 --- a/.agents/notes/implemented/feature/2026-07-24-web-session-model-selector.md +++ b/.agents/notes/archived/feature/2026-07-24-web-session-model-selector.md @@ -1,6 +1,7 @@ # Agent Note: Session model selection in the Web composer Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-24-web-session-model-selector.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-24-web-session-model-selector.zh.md b/.agents/notes/archived/feature/2026-07-24-web-session-model-selector.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-24-web-session-model-selector.zh.md rename to .agents/notes/archived/feature/2026-07-24-web-session-model-selector.zh.md index a339a367db..738f0984dc 100644 --- a/.agents/notes/implemented/feature/2026-07-24-web-session-model-selector.zh.md +++ b/.agents/notes/archived/feature/2026-07-24-web-session-model-selector.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 对话输入区的会话模型选择 Status: implemented +Archived: 2026-09-04 [English](2026-07-24-web-session-model-selector.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-25-session-list-browsing-and-manual-order.i18n.yaml b/.agents/notes/archived/feature/2026-07-25-session-list-browsing-and-manual-order.i18n.yaml new file mode 100644 index 0000000000..4386b7e006 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-25-session-list-browsing-and-manual-order.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-25-session-list-browsing-and-manual-order.md +2026-07-25-session-list-browsing-and-manual-order.md: 7a3389b3998cd80895a4a0a4541dd3f2f5c595f4 +2026-07-25-session-list-browsing-and-manual-order.zh.md: 5fce4726bb7f448d9b8ad13a0297a6ecb3f15859 diff --git a/.agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.md b/.agents/notes/archived/feature/2026-07-25-session-list-browsing-and-manual-order.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.md rename to .agents/notes/archived/feature/2026-07-25-session-list-browsing-and-manual-order.md index 52a0fe0c94..7a3389b399 100644 --- a/.agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.md +++ b/.agents/notes/archived/feature/2026-07-25-session-list-browsing-and-manual-order.md @@ -1,6 +1,7 @@ # Agent Note: Session List Browsing and Manual Workspace Order Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-25-session-list-browsing-and-manual-order.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.zh.md b/.agents/notes/archived/feature/2026-07-25-session-list-browsing-and-manual-order.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.zh.md rename to .agents/notes/archived/feature/2026-07-25-session-list-browsing-and-manual-order.zh.md index d2e24ef5d4..5fce4726bb 100644 --- a/.agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.zh.md +++ b/.agents/notes/archived/feature/2026-07-25-session-list-browsing-and-manual-order.zh.md @@ -1,6 +1,7 @@ # Agent Note: Session 列表浏览与 Workspace 手动排序 Status: implemented +Archived: 2026-09-04 [English](2026-07-25-session-list-browsing-and-manual-order.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-25-workspace-ui-product-flow.i18n.yaml b/.agents/notes/archived/feature/2026-07-25-workspace-ui-product-flow.i18n.yaml new file mode 100644 index 0000000000..e268dca396 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-25-workspace-ui-product-flow.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-25-workspace-ui-product-flow.md +2026-07-25-workspace-ui-product-flow.md: 280971a7f43a42a5640bf5b642089785e68b21e6 +2026-07-25-workspace-ui-product-flow.zh.md: 6c4f2d4e254ffa78ebd1879bdb3c3c7632d448b0 diff --git a/.agents/notes/implemented/feature/2026-07-25-workspace-ui-product-flow.md b/.agents/notes/archived/feature/2026-07-25-workspace-ui-product-flow.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-25-workspace-ui-product-flow.md rename to .agents/notes/archived/feature/2026-07-25-workspace-ui-product-flow.md index 0dd58905c9..280971a7f4 100644 --- a/.agents/notes/implemented/feature/2026-07-25-workspace-ui-product-flow.md +++ b/.agents/notes/archived/feature/2026-07-25-workspace-ui-product-flow.md @@ -1,6 +1,7 @@ # Agent Note: Workspace UI Complete Product Flow Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-25-workspace-ui-product-flow.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-25-workspace-ui-product-flow.zh.md b/.agents/notes/archived/feature/2026-07-25-workspace-ui-product-flow.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-25-workspace-ui-product-flow.zh.md rename to .agents/notes/archived/feature/2026-07-25-workspace-ui-product-flow.zh.md index ab73e631d9..6c4f2d4e25 100644 --- a/.agents/notes/implemented/feature/2026-07-25-workspace-ui-product-flow.zh.md +++ b/.agents/notes/archived/feature/2026-07-25-workspace-ui-product-flow.zh.md @@ -1,6 +1,7 @@ # Agent Note: Workspace UI 完整产品动线 Status: implemented +Archived: 2026-09-04 [English](2026-07-25-workspace-ui-product-flow.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-26-ptc-chat-subcall-rows.i18n.yaml b/.agents/notes/archived/feature/2026-07-26-ptc-chat-subcall-rows.i18n.yaml new file mode 100644 index 0000000000..571e1e5ae1 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-26-ptc-chat-subcall-rows.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-26-ptc-chat-subcall-rows.md +2026-07-26-ptc-chat-subcall-rows.md: ae536577c5bb6706874618c240f1601eba278738 +2026-07-26-ptc-chat-subcall-rows.zh.md: 9f4206e77f0479433193574a49670df9c0892f8b diff --git a/.agents/notes/implemented/feature/2026-07-26-ptc-chat-subcall-rows.md b/.agents/notes/archived/feature/2026-07-26-ptc-chat-subcall-rows.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-26-ptc-chat-subcall-rows.md rename to .agents/notes/archived/feature/2026-07-26-ptc-chat-subcall-rows.md index 5ddbd56f75..ae536577c5 100644 --- a/.agents/notes/implemented/feature/2026-07-26-ptc-chat-subcall-rows.md +++ b/.agents/notes/archived/feature/2026-07-26-ptc-chat-subcall-rows.md @@ -1,6 +1,7 @@ # Agent Note: PTC mode chat rendering — sub-calls as native rows under the parent Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-26-ptc-chat-subcall-rows.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-26-ptc-chat-subcall-rows.zh.md b/.agents/notes/archived/feature/2026-07-26-ptc-chat-subcall-rows.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-26-ptc-chat-subcall-rows.zh.md rename to .agents/notes/archived/feature/2026-07-26-ptc-chat-subcall-rows.zh.md index 499742d488..9f4206e77f 100644 --- a/.agents/notes/implemented/feature/2026-07-26-ptc-chat-subcall-rows.zh.md +++ b/.agents/notes/archived/feature/2026-07-26-ptc-chat-subcall-rows.zh.md @@ -1,6 +1,7 @@ # Agent Note: PTC mode 的 chat 渲染——子调用作为父行之下的原生行 Status: implemented +Archived: 2026-09-04 [English](2026-07-26-ptc-chat-subcall-rows.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-26-ptc-dispatch-log-spill.i18n.yaml b/.agents/notes/archived/feature/2026-07-26-ptc-dispatch-log-spill.i18n.yaml new file mode 100644 index 0000000000..d6e2759f81 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-26-ptc-dispatch-log-spill.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-26-ptc-dispatch-log-spill.md +2026-07-26-ptc-dispatch-log-spill.md: 9c54dcbf2ad73efd76ef8670d662bbae469f7559 +2026-07-26-ptc-dispatch-log-spill.zh.md: b2f96ad94a280e23426a3139ebeca7dfa686b001 diff --git a/.agents/notes/implemented/feature/2026-07-26-ptc-dispatch-log-spill.md b/.agents/notes/archived/feature/2026-07-26-ptc-dispatch-log-spill.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-26-ptc-dispatch-log-spill.md rename to .agents/notes/archived/feature/2026-07-26-ptc-dispatch-log-spill.md index fa99ceb0b0..9c54dcbf2a 100644 --- a/.agents/notes/implemented/feature/2026-07-26-ptc-dispatch-log-spill.md +++ b/.agents/notes/archived/feature/2026-07-26-ptc-dispatch-log-spill.md @@ -1,6 +1,7 @@ # Agent Note: Spilling the durable copy of PTC mode sub-dispatch results Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-26-ptc-dispatch-log-spill.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-26-ptc-dispatch-log-spill.zh.md b/.agents/notes/archived/feature/2026-07-26-ptc-dispatch-log-spill.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-26-ptc-dispatch-log-spill.zh.md rename to .agents/notes/archived/feature/2026-07-26-ptc-dispatch-log-spill.zh.md index ab115ba092..b2f96ad94a 100644 --- a/.agents/notes/implemented/feature/2026-07-26-ptc-dispatch-log-spill.zh.md +++ b/.agents/notes/archived/feature/2026-07-26-ptc-dispatch-log-spill.zh.md @@ -1,6 +1,7 @@ # Agent Note: 将 PTC mode 子分发结果的持久化副本纳入 spill 机制 Status: implemented +Archived: 2026-09-04 [English](2026-07-26-ptc-dispatch-log-spill.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-26-ptc-dispatch-ui-foundation.i18n.yaml b/.agents/notes/archived/feature/2026-07-26-ptc-dispatch-ui-foundation.i18n.yaml new file mode 100644 index 0000000000..4945d02b6f --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-26-ptc-dispatch-ui-foundation.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-26-ptc-dispatch-ui-foundation.md +2026-07-26-ptc-dispatch-ui-foundation.md: ff792a0b6c1ef644470e08dc41b89c9efc874abf +2026-07-26-ptc-dispatch-ui-foundation.zh.md: efa8d532a55563c84b6a785b1db6c86b1e361599 diff --git a/.agents/notes/implemented/feature/2026-07-26-ptc-dispatch-ui-foundation.md b/.agents/notes/archived/feature/2026-07-26-ptc-dispatch-ui-foundation.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-26-ptc-dispatch-ui-foundation.md rename to .agents/notes/archived/feature/2026-07-26-ptc-dispatch-ui-foundation.md index e44b67294a..ff792a0b6c 100644 --- a/.agents/notes/implemented/feature/2026-07-26-ptc-dispatch-ui-foundation.md +++ b/.agents/notes/archived/feature/2026-07-26-ptc-dispatch-ui-foundation.md @@ -1,6 +1,7 @@ # Agent Note: PTC mode UI foundation — run_code description and native-parity dispatch logging Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-26-ptc-dispatch-ui-foundation.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-26-ptc-dispatch-ui-foundation.zh.md b/.agents/notes/archived/feature/2026-07-26-ptc-dispatch-ui-foundation.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-26-ptc-dispatch-ui-foundation.zh.md rename to .agents/notes/archived/feature/2026-07-26-ptc-dispatch-ui-foundation.zh.md index 4b1ae0b3eb..efa8d532a5 100644 --- a/.agents/notes/implemented/feature/2026-07-26-ptc-dispatch-ui-foundation.zh.md +++ b/.agents/notes/archived/feature/2026-07-26-ptc-dispatch-ui-foundation.zh.md @@ -1,6 +1,7 @@ # Agent Note: PTC mode 的 UI 基础——run_code 的 description 参数,以及与原生同等保真的分发日志 Status: implemented +Archived: 2026-09-04 [English](2026-07-26-ptc-dispatch-ui-foundation.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-26-todo-parallel-in-progress.i18n.yaml b/.agents/notes/archived/feature/2026-07-26-todo-parallel-in-progress.i18n.yaml new file mode 100644 index 0000000000..154450569c --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-26-todo-parallel-in-progress.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-26-todo-parallel-in-progress.md +2026-07-26-todo-parallel-in-progress.md: 0e53af9a52f6e0a78d2babe5cafd9e1aa71e4ff0 +2026-07-26-todo-parallel-in-progress.zh.md: a8e76d653112d2081474c5428367a0714c5f598b diff --git a/.agents/notes/implemented/feature/2026-07-26-todo-parallel-in-progress.md b/.agents/notes/archived/feature/2026-07-26-todo-parallel-in-progress.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-26-todo-parallel-in-progress.md rename to .agents/notes/archived/feature/2026-07-26-todo-parallel-in-progress.md index 244b75b389..0e53af9a52 100644 --- a/.agents/notes/implemented/feature/2026-07-26-todo-parallel-in-progress.md +++ b/.agents/notes/archived/feature/2026-07-26-todo-parallel-in-progress.md @@ -1,6 +1,7 @@ # Agent Note: Allow several `in_progress` todos at once Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-26-todo-parallel-in-progress.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-26-todo-parallel-in-progress.zh.md b/.agents/notes/archived/feature/2026-07-26-todo-parallel-in-progress.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-26-todo-parallel-in-progress.zh.md rename to .agents/notes/archived/feature/2026-07-26-todo-parallel-in-progress.zh.md index c8d1c246ba..a8e76d6531 100644 --- a/.agents/notes/implemented/feature/2026-07-26-todo-parallel-in-progress.zh.md +++ b/.agents/notes/archived/feature/2026-07-26-todo-parallel-in-progress.zh.md @@ -1,6 +1,7 @@ # Agent Note: 允许同时存在多个 `in_progress` todo Status: implemented +Archived: 2026-09-04 [English](2026-07-26-todo-parallel-in-progress.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-27-native-workspace-directory-picker.i18n.yaml b/.agents/notes/archived/feature/2026-07-27-native-workspace-directory-picker.i18n.yaml new file mode 100644 index 0000000000..61c8865603 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-27-native-workspace-directory-picker.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-27-native-workspace-directory-picker.md +2026-07-27-native-workspace-directory-picker.md: 6f5a9c4fef8fd129dafb0977e92e79e133aeeae9 +2026-07-27-native-workspace-directory-picker.zh.md: d70cde164d501756fb61c0aa7364294825a21719 diff --git a/.agents/notes/implemented/feature/2026-07-27-native-workspace-directory-picker.md b/.agents/notes/archived/feature/2026-07-27-native-workspace-directory-picker.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-27-native-workspace-directory-picker.md rename to .agents/notes/archived/feature/2026-07-27-native-workspace-directory-picker.md index d63ab0b4b5..6f5a9c4fef 100644 --- a/.agents/notes/implemented/feature/2026-07-27-native-workspace-directory-picker.md +++ b/.agents/notes/archived/feature/2026-07-27-native-workspace-directory-picker.md @@ -1,6 +1,7 @@ # Agent Note: Native workspace directory picker Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-27-native-workspace-directory-picker.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-27-native-workspace-directory-picker.zh.md b/.agents/notes/archived/feature/2026-07-27-native-workspace-directory-picker.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-27-native-workspace-directory-picker.zh.md rename to .agents/notes/archived/feature/2026-07-27-native-workspace-directory-picker.zh.md index eef4948b1f..d70cde164d 100644 --- a/.agents/notes/implemented/feature/2026-07-27-native-workspace-directory-picker.zh.md +++ b/.agents/notes/archived/feature/2026-07-27-native-workspace-directory-picker.zh.md @@ -1,6 +1,7 @@ # Agent Note: 原生工作区目录选择器 Status: implemented +Archived: 2026-09-04 [English](2026-07-27-native-workspace-directory-picker.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-27-skill-catalog-hot-refresh.i18n.yaml b/.agents/notes/archived/feature/2026-07-27-skill-catalog-hot-refresh.i18n.yaml new file mode 100644 index 0000000000..96d324f724 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-27-skill-catalog-hot-refresh.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-27-skill-catalog-hot-refresh.md +2026-07-27-skill-catalog-hot-refresh.md: 51f7f604ffcdbefc68af7cdd590137f17d755eb7 +2026-07-27-skill-catalog-hot-refresh.zh.md: 8e91a4c2d2031f629c4606eacca32c5161a7277e diff --git a/.agents/notes/implemented/feature/2026-07-27-skill-catalog-hot-refresh.md b/.agents/notes/archived/feature/2026-07-27-skill-catalog-hot-refresh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-27-skill-catalog-hot-refresh.md rename to .agents/notes/archived/feature/2026-07-27-skill-catalog-hot-refresh.md index 2122176138..51f7f604ff 100644 --- a/.agents/notes/implemented/feature/2026-07-27-skill-catalog-hot-refresh.md +++ b/.agents/notes/archived/feature/2026-07-27-skill-catalog-hot-refresh.md @@ -1,6 +1,7 @@ # Agent Note: Skill catalog hot refresh Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-27-skill-catalog-hot-refresh.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-27-skill-catalog-hot-refresh.zh.md b/.agents/notes/archived/feature/2026-07-27-skill-catalog-hot-refresh.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-27-skill-catalog-hot-refresh.zh.md rename to .agents/notes/archived/feature/2026-07-27-skill-catalog-hot-refresh.zh.md index 89a5ea446f..8e91a4c2d2 100644 --- a/.agents/notes/implemented/feature/2026-07-27-skill-catalog-hot-refresh.zh.md +++ b/.agents/notes/archived/feature/2026-07-27-skill-catalog-hot-refresh.zh.md @@ -1,6 +1,7 @@ # Agent Note: Skill 目录热刷新 Status: implemented +Archived: 2026-09-04 [English](2026-07-27-skill-catalog-hot-refresh.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-27-tmux-location-context.i18n.yaml b/.agents/notes/archived/feature/2026-07-27-tmux-location-context.i18n.yaml new file mode 100644 index 0000000000..da2fbfd78f --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-27-tmux-location-context.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-27-tmux-location-context.md +2026-07-27-tmux-location-context.md: ab51bb8b79a2d770f3b92ee8cc6e28c0370702dd +2026-07-27-tmux-location-context.zh.md: 7d002739f26e9e14e8d2643b6aced55b9c76b08b diff --git a/.agents/notes/implemented/feature/2026-07-27-tmux-location-context.md b/.agents/notes/archived/feature/2026-07-27-tmux-location-context.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-27-tmux-location-context.md rename to .agents/notes/archived/feature/2026-07-27-tmux-location-context.md index fa7ec8a76d..ab51bb8b79 100644 --- a/.agents/notes/implemented/feature/2026-07-27-tmux-location-context.md +++ b/.agents/notes/archived/feature/2026-07-27-tmux-location-context.md @@ -1,6 +1,7 @@ # Agent Note: tmux-location context Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-27-tmux-location-context.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-27-tmux-location-context.zh.md b/.agents/notes/archived/feature/2026-07-27-tmux-location-context.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-27-tmux-location-context.zh.md rename to .agents/notes/archived/feature/2026-07-27-tmux-location-context.zh.md index 63ae1328cd..7d002739f2 100644 --- a/.agents/notes/implemented/feature/2026-07-27-tmux-location-context.zh.md +++ b/.agents/notes/archived/feature/2026-07-27-tmux-location-context.zh.md @@ -1,6 +1,7 @@ # Agent Note: tmux 位置上下文 Status: implemented +Archived: 2026-09-04 [English](2026-07-27-tmux-location-context.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-27-trajectory-inspection-ledger.i18n.yaml b/.agents/notes/archived/feature/2026-07-27-trajectory-inspection-ledger.i18n.yaml new file mode 100644 index 0000000000..1d032934d6 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-27-trajectory-inspection-ledger.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-27-trajectory-inspection-ledger.md +2026-07-27-trajectory-inspection-ledger.md: e76dce38ffa607e46818b356b54544382fe4be96 +2026-07-27-trajectory-inspection-ledger.zh.md: 99a7babeecc368729245ad311684754ef716904a diff --git a/.agents/notes/implemented/feature/2026-07-27-trajectory-inspection-ledger.md b/.agents/notes/archived/feature/2026-07-27-trajectory-inspection-ledger.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-27-trajectory-inspection-ledger.md rename to .agents/notes/archived/feature/2026-07-27-trajectory-inspection-ledger.md index 75f8480d3e..e76dce38ff 100644 --- a/.agents/notes/implemented/feature/2026-07-27-trajectory-inspection-ledger.md +++ b/.agents/notes/archived/feature/2026-07-27-trajectory-inspection-ledger.md @@ -1,6 +1,7 @@ # Agent Note: Trajectory inspection ledger Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-27-trajectory-inspection-ledger.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-27-trajectory-inspection-ledger.zh.md b/.agents/notes/archived/feature/2026-07-27-trajectory-inspection-ledger.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-27-trajectory-inspection-ledger.zh.md rename to .agents/notes/archived/feature/2026-07-27-trajectory-inspection-ledger.zh.md index 82af4904d9..99a7babeec 100644 --- a/.agents/notes/implemented/feature/2026-07-27-trajectory-inspection-ledger.zh.md +++ b/.agents/notes/archived/feature/2026-07-27-trajectory-inspection-ledger.zh.md @@ -1,6 +1,7 @@ # Agent Note: 轨迹检查记录表 Status: implemented +Archived: 2026-09-04 [English](2026-07-27-trajectory-inspection-ledger.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.i18n.yaml b/.agents/notes/archived/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.i18n.yaml new file mode 100644 index 0000000000..538024ed77 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.md +2026-07-27-typescript-sdk-and-sdk-subagent-backend.md: f3a99cb4990d11a5a5971bf2288953cd9b749825 +2026-07-27-typescript-sdk-and-sdk-subagent-backend.zh.md: 46802074bb9847ecbf9b4ee410cc4bc75590524f diff --git a/.agents/notes/implemented/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.md b/.agents/notes/archived/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.md rename to .agents/notes/archived/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.md index c410e7ffad..f3a99cb499 100644 --- a/.agents/notes/implemented/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.md +++ b/.agents/notes/archived/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.md @@ -1,6 +1,7 @@ # Agent Note: TypeScript SDK client and the SDK subagent backend Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-27-typescript-sdk-and-sdk-subagent-backend.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.zh.md b/.agents/notes/archived/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.zh.md rename to .agents/notes/archived/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.zh.md index 13b7a49857..46802074bb 100644 --- a/.agents/notes/implemented/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.zh.md +++ b/.agents/notes/archived/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.zh.md @@ -1,6 +1,7 @@ # Agent Note: TypeScript SDK 客户端与 SDK subagent 后端 Status: implemented +Archived: 2026-09-04 [English](2026-07-27-typescript-sdk-and-sdk-subagent-backend.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-27-web-file-and-session-references.i18n.yaml b/.agents/notes/archived/feature/2026-07-27-web-file-and-session-references.i18n.yaml new file mode 100644 index 0000000000..8c37f4caf7 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-27-web-file-and-session-references.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-27-web-file-and-session-references.md +2026-07-27-web-file-and-session-references.md: ea68e278082a097e05abfc72c5a1c778b603c2d5 +2026-07-27-web-file-and-session-references.zh.md: 7d3532e29311303c84a6e55a1abf669aad81d90c diff --git a/.agents/notes/implemented/feature/2026-07-27-web-file-and-session-references.md b/.agents/notes/archived/feature/2026-07-27-web-file-and-session-references.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-27-web-file-and-session-references.md rename to .agents/notes/archived/feature/2026-07-27-web-file-and-session-references.md index 51447d0c22..ea68e27808 100644 --- a/.agents/notes/implemented/feature/2026-07-27-web-file-and-session-references.md +++ b/.agents/notes/archived/feature/2026-07-27-web-file-and-session-references.md @@ -1,6 +1,7 @@ # Agent Note: Web file and session references Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-27-web-file-and-session-references.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-27-web-file-and-session-references.zh.md b/.agents/notes/archived/feature/2026-07-27-web-file-and-session-references.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-27-web-file-and-session-references.zh.md rename to .agents/notes/archived/feature/2026-07-27-web-file-and-session-references.zh.md index f2f87aabaa..7d3532e293 100644 --- a/.agents/notes/implemented/feature/2026-07-27-web-file-and-session-references.zh.md +++ b/.agents/notes/archived/feature/2026-07-27-web-file-and-session-references.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 文件与会话引用 Status: implemented +Archived: 2026-09-04 [English](2026-07-27-web-file-and-session-references.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-27-web-session-fork-actions.i18n.yaml b/.agents/notes/archived/feature/2026-07-27-web-session-fork-actions.i18n.yaml new file mode 100644 index 0000000000..7e989b3c68 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-27-web-session-fork-actions.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-27-web-session-fork-actions.md +2026-07-27-web-session-fork-actions.md: 8a6023ddb69abe92ea55d40c0e1f7db41f5badc8 +2026-07-27-web-session-fork-actions.zh.md: ce5e4924ffdb79b5313bc68365866c09a451220c diff --git a/.agents/notes/implemented/feature/2026-07-27-web-session-fork-actions.md b/.agents/notes/archived/feature/2026-07-27-web-session-fork-actions.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-27-web-session-fork-actions.md rename to .agents/notes/archived/feature/2026-07-27-web-session-fork-actions.md index 578e59ec92..8a6023ddb6 100644 --- a/.agents/notes/implemented/feature/2026-07-27-web-session-fork-actions.md +++ b/.agents/notes/archived/feature/2026-07-27-web-session-fork-actions.md @@ -1,6 +1,7 @@ # Agent Note: Web session fork actions Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-27-web-session-fork-actions.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-27-web-session-fork-actions.zh.md b/.agents/notes/archived/feature/2026-07-27-web-session-fork-actions.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-27-web-session-fork-actions.zh.md rename to .agents/notes/archived/feature/2026-07-27-web-session-fork-actions.zh.md index 8995b4c89b..ce5e4924ff 100644 --- a/.agents/notes/implemented/feature/2026-07-27-web-session-fork-actions.zh.md +++ b/.agents/notes/archived/feature/2026-07-27-web-session-fork-actions.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web session fork 操作 Status: implemented +Archived: 2026-09-04 [English](2026-07-27-web-session-fork-actions.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-27-web-session-search.i18n.yaml b/.agents/notes/archived/feature/2026-07-27-web-session-search.i18n.yaml new file mode 100644 index 0000000000..5bc65dd8fe --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-27-web-session-search.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-27-web-session-search.md +2026-07-27-web-session-search.md: 53827f39ec26fcf0f6113643f9846423fae18a6c +2026-07-27-web-session-search.zh.md: 6615c8916bc6163ece0c2ab285f9231d55f8bfec diff --git a/.agents/notes/implemented/feature/2026-07-27-web-session-search.md b/.agents/notes/archived/feature/2026-07-27-web-session-search.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-27-web-session-search.md rename to .agents/notes/archived/feature/2026-07-27-web-session-search.md index d7a979a278..53827f39ec 100644 --- a/.agents/notes/implemented/feature/2026-07-27-web-session-search.md +++ b/.agents/notes/archived/feature/2026-07-27-web-session-search.md @@ -1,6 +1,7 @@ # Agent Note: Web past-session search Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-27-web-session-search.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-27-web-session-search.zh.md b/.agents/notes/archived/feature/2026-07-27-web-session-search.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-27-web-session-search.zh.md rename to .agents/notes/archived/feature/2026-07-27-web-session-search.zh.md index ba125ba884..6615c8916b 100644 --- a/.agents/notes/implemented/feature/2026-07-27-web-session-search.zh.md +++ b/.agents/notes/archived/feature/2026-07-27-web-session-search.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 历史会话搜索 Status: implemented +Archived: 2026-09-04 [English](2026-07-27-web-session-search.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-28-cross-workspace-resume.i18n.yaml b/.agents/notes/archived/feature/2026-07-28-cross-workspace-resume.i18n.yaml new file mode 100644 index 0000000000..02ab0a9968 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-28-cross-workspace-resume.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-28-cross-workspace-resume.md +2026-07-28-cross-workspace-resume.md: 4bc5b3df2ea5d08d8465842a74a5d350fd5786e0 +2026-07-28-cross-workspace-resume.zh.md: 7059b800a36fa87da3f7c6a91d767eecde838393 diff --git a/.agents/notes/implemented/feature/2026-07-28-cross-workspace-resume.md b/.agents/notes/archived/feature/2026-07-28-cross-workspace-resume.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-28-cross-workspace-resume.md rename to .agents/notes/archived/feature/2026-07-28-cross-workspace-resume.md index e8a8636911..4bc5b3df2e 100644 --- a/.agents/notes/implemented/feature/2026-07-28-cross-workspace-resume.md +++ b/.agents/notes/archived/feature/2026-07-28-cross-workspace-resume.md @@ -1,6 +1,7 @@ # Agent Note: Cross-workspace session resume Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-28-cross-workspace-resume.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-28-cross-workspace-resume.zh.md b/.agents/notes/archived/feature/2026-07-28-cross-workspace-resume.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-28-cross-workspace-resume.zh.md rename to .agents/notes/archived/feature/2026-07-28-cross-workspace-resume.zh.md index c56641be35..7059b800a3 100644 --- a/.agents/notes/implemented/feature/2026-07-28-cross-workspace-resume.zh.md +++ b/.agents/notes/archived/feature/2026-07-28-cross-workspace-resume.zh.md @@ -1,6 +1,7 @@ # Agent Note: 跨 workspace 会话恢复 Status: implemented +Archived: 2026-09-04 [English](2026-07-28-cross-workspace-resume.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-28-feedback-command.i18n.yaml b/.agents/notes/archived/feature/2026-07-28-feedback-command.i18n.yaml new file mode 100644 index 0000000000..f4bf833323 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-28-feedback-command.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-28-feedback-command.md +2026-07-28-feedback-command.md: 56eae10af77f9699b1309e80ed6a17d23064bbdd +2026-07-28-feedback-command.zh.md: 49b04fd2cec51166dc09eda57c820260aa696584 diff --git a/.agents/notes/implemented/feature/2026-07-28-feedback-command.md b/.agents/notes/archived/feature/2026-07-28-feedback-command.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-28-feedback-command.md rename to .agents/notes/archived/feature/2026-07-28-feedback-command.md index dec169b010..56eae10af7 100644 --- a/.agents/notes/implemented/feature/2026-07-28-feedback-command.md +++ b/.agents/notes/archived/feature/2026-07-28-feedback-command.md @@ -1,6 +1,7 @@ # Agent Note: `/feedback` command Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-28-feedback-command.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-28-feedback-command.zh.md b/.agents/notes/archived/feature/2026-07-28-feedback-command.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-28-feedback-command.zh.md rename to .agents/notes/archived/feature/2026-07-28-feedback-command.zh.md index 67e9c2ce56..49b04fd2ce 100644 --- a/.agents/notes/implemented/feature/2026-07-28-feedback-command.zh.md +++ b/.agents/notes/archived/feature/2026-07-28-feedback-command.zh.md @@ -1,6 +1,7 @@ # Agent Note: `/feedback` 命令 Status: implemented +Archived: 2026-09-04 [English](2026-07-28-feedback-command.md) | 中文 diff --git a/.agents/notes/implemented/bug-fix/2026-08-09-broken-preset-roster-rows.i18n.yaml b/.agents/notes/archived/feature/2026-07-28-sdk-max-output-tokens.i18n.yaml similarity index 55% rename from .agents/notes/implemented/bug-fix/2026-08-09-broken-preset-roster-rows.i18n.yaml rename to .agents/notes/archived/feature/2026-07-28-sdk-max-output-tokens.i18n.yaml index 1cefa7b32d..0c860017d4 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-09-broken-preset-roster-rows.i18n.yaml +++ b/.agents/notes/archived/feature/2026-07-28-sdk-max-output-tokens.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/bug-fix/2026-08-09-broken-preset-roster-rows.md -2026-08-09-broken-preset-roster-rows.md: 4ae92f0b12f2ebede925d6047b358b8cafb10149 -2026-08-09-broken-preset-roster-rows.zh.md: 60d1ff533e3e968e04dad8526042fe4579752569 +# pnpm run verify-translation-pairing --write .agents/notes/archived/feature/2026-07-28-sdk-max-output-tokens.md +2026-07-28-sdk-max-output-tokens.md: 8038081f1e93c5f2a31ca63b1faa75b78b40c801 +2026-07-28-sdk-max-output-tokens.zh.md: ffbac3d32eb62e7d3b38e6ac4ef4ebe9bb807788 diff --git a/.agents/notes/implemented/feature/2026-07-28-sdk-max-output-tokens.md b/.agents/notes/archived/feature/2026-07-28-sdk-max-output-tokens.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-28-sdk-max-output-tokens.md rename to .agents/notes/archived/feature/2026-07-28-sdk-max-output-tokens.md index 1d2915b7f7..8038081f1e 100644 --- a/.agents/notes/implemented/feature/2026-07-28-sdk-max-output-tokens.md +++ b/.agents/notes/archived/feature/2026-07-28-sdk-max-output-tokens.md @@ -1,6 +1,7 @@ # Agent Note: SDK max output tokens Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-28-sdk-max-output-tokens.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-28-sdk-max-output-tokens.zh.md b/.agents/notes/archived/feature/2026-07-28-sdk-max-output-tokens.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-28-sdk-max-output-tokens.zh.md rename to .agents/notes/archived/feature/2026-07-28-sdk-max-output-tokens.zh.md index ba59f745bc..ffbac3d32e 100644 --- a/.agents/notes/implemented/feature/2026-07-28-sdk-max-output-tokens.zh.md +++ b/.agents/notes/archived/feature/2026-07-28-sdk-max-output-tokens.zh.md @@ -1,6 +1,7 @@ # Agent Note: SDK 最大输出 token 数 Status: implemented +Archived: 2026-09-04 [English](2026-07-28-sdk-max-output-tokens.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-28-todo-plan-clears-on-next-turn.i18n.yaml b/.agents/notes/archived/feature/2026-07-28-todo-plan-clears-on-next-turn.i18n.yaml new file mode 100644 index 0000000000..27b1e4088a --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-28-todo-plan-clears-on-next-turn.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-28-todo-plan-clears-on-next-turn.md +2026-07-28-todo-plan-clears-on-next-turn.md: 84653953d6e9cadc004eac0e5f4af589952e464a +2026-07-28-todo-plan-clears-on-next-turn.zh.md: 889f5532e360cf3b6e37ebdab6f79d4d493d5f00 diff --git a/.agents/notes/implemented/feature/2026-07-28-todo-plan-clears-on-next-turn.md b/.agents/notes/archived/feature/2026-07-28-todo-plan-clears-on-next-turn.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-28-todo-plan-clears-on-next-turn.md rename to .agents/notes/archived/feature/2026-07-28-todo-plan-clears-on-next-turn.md index b8a199840c..84653953d6 100644 --- a/.agents/notes/implemented/feature/2026-07-28-todo-plan-clears-on-next-turn.md +++ b/.agents/notes/archived/feature/2026-07-28-todo-plan-clears-on-next-turn.md @@ -1,6 +1,7 @@ # Agent Note: Todo plan strip clears on the next turn Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-28-todo-plan-clears-on-next-turn.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-28-todo-plan-clears-on-next-turn.zh.md b/.agents/notes/archived/feature/2026-07-28-todo-plan-clears-on-next-turn.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-28-todo-plan-clears-on-next-turn.zh.md rename to .agents/notes/archived/feature/2026-07-28-todo-plan-clears-on-next-turn.zh.md index bbe6fd35b5..889f5532e3 100644 --- a/.agents/notes/implemented/feature/2026-07-28-todo-plan-clears-on-next-turn.zh.md +++ b/.agents/notes/archived/feature/2026-07-28-todo-plan-clears-on-next-turn.zh.md @@ -1,6 +1,7 @@ # Agent Note: 下一轮次开始时清空 todo 计划条 Status: implemented +Archived: 2026-09-04 [English](2026-07-28-todo-plan-clears-on-next-turn.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-28-tool-call-file-open-in-os.i18n.yaml b/.agents/notes/archived/feature/2026-07-28-tool-call-file-open-in-os.i18n.yaml new file mode 100644 index 0000000000..06002ae4b4 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-28-tool-call-file-open-in-os.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-28-tool-call-file-open-in-os.md +2026-07-28-tool-call-file-open-in-os.md: 690f28be4a6fec78a8fcfb4998e19cecaec70530 +2026-07-28-tool-call-file-open-in-os.zh.md: eeed20266047a2e6d0cccceb7f053be76de69c68 diff --git a/.agents/notes/implemented/feature/2026-07-28-tool-call-file-open-in-os.md b/.agents/notes/archived/feature/2026-07-28-tool-call-file-open-in-os.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-28-tool-call-file-open-in-os.md rename to .agents/notes/archived/feature/2026-07-28-tool-call-file-open-in-os.md index 4655af0424..690f28be4a 100644 --- a/.agents/notes/implemented/feature/2026-07-28-tool-call-file-open-in-os.md +++ b/.agents/notes/archived/feature/2026-07-28-tool-call-file-open-in-os.md @@ -1,6 +1,7 @@ # Agent Note: Tool-call file open in OS Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-28-tool-call-file-open-in-os.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-28-tool-call-file-open-in-os.zh.md b/.agents/notes/archived/feature/2026-07-28-tool-call-file-open-in-os.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-28-tool-call-file-open-in-os.zh.md rename to .agents/notes/archived/feature/2026-07-28-tool-call-file-open-in-os.zh.md index 769aeaeaa7..eeed202660 100644 --- a/.agents/notes/implemented/feature/2026-07-28-tool-call-file-open-in-os.zh.md +++ b/.agents/notes/archived/feature/2026-07-28-tool-call-file-open-in-os.zh.md @@ -1,6 +1,7 @@ # Agent Note: 在工具调用中用系统应用打开文件 Status: implemented +Archived: 2026-09-04 [English](2026-07-28-tool-call-file-open-in-os.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-28-web-terminal-card.i18n.yaml b/.agents/notes/archived/feature/2026-07-28-web-terminal-card.i18n.yaml new file mode 100644 index 0000000000..3ab07a29db --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-28-web-terminal-card.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-28-web-terminal-card.md +2026-07-28-web-terminal-card.md: 0efda55d03d70b01ce133a1d629e5390e2527542 +2026-07-28-web-terminal-card.zh.md: 23ea6267864d4385904057719bd012c1228c2296 diff --git a/.agents/notes/implemented/feature/2026-07-28-web-terminal-card.md b/.agents/notes/archived/feature/2026-07-28-web-terminal-card.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-28-web-terminal-card.md rename to .agents/notes/archived/feature/2026-07-28-web-terminal-card.md index 2fd2b429c0..0efda55d03 100644 --- a/.agents/notes/implemented/feature/2026-07-28-web-terminal-card.md +++ b/.agents/notes/archived/feature/2026-07-28-web-terminal-card.md @@ -1,6 +1,7 @@ # Agent Note: Web terminal card — the bash render intent reaches the browser Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-28-web-terminal-card.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-28-web-terminal-card.zh.md b/.agents/notes/archived/feature/2026-07-28-web-terminal-card.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-28-web-terminal-card.zh.md rename to .agents/notes/archived/feature/2026-07-28-web-terminal-card.zh.md index 1405c03766..23ea626786 100644 --- a/.agents/notes/implemented/feature/2026-07-28-web-terminal-card.zh.md +++ b/.agents/notes/archived/feature/2026-07-28-web-terminal-card.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 终端卡片:bash 渲染意图抵达浏览器 Status: implemented +Archived: 2026-09-04 [English](2026-07-28-web-terminal-card.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-29-ask-question-web-presentation.i18n.yaml b/.agents/notes/archived/feature/2026-07-29-ask-question-web-presentation.i18n.yaml new file mode 100644 index 0000000000..2f4d98e447 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-29-ask-question-web-presentation.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-29-ask-question-web-presentation.md +2026-07-29-ask-question-web-presentation.md: 499c070f3af73341be8ff6aa5877015974d78328 +2026-07-29-ask-question-web-presentation.zh.md: dc62a0041d1618d1db58219bdd271fc803499ff0 diff --git a/.agents/notes/implemented/feature/2026-07-29-ask-question-web-presentation.md b/.agents/notes/archived/feature/2026-07-29-ask-question-web-presentation.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-29-ask-question-web-presentation.md rename to .agents/notes/archived/feature/2026-07-29-ask-question-web-presentation.md index 280671570c..499c070f3a 100644 --- a/.agents/notes/implemented/feature/2026-07-29-ask-question-web-presentation.md +++ b/.agents/notes/archived/feature/2026-07-29-ask-question-web-presentation.md @@ -1,6 +1,7 @@ # Agent Note: Ask-question Web presentation Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-29-ask-question-web-presentation.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-29-ask-question-web-presentation.zh.md b/.agents/notes/archived/feature/2026-07-29-ask-question-web-presentation.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-29-ask-question-web-presentation.zh.md rename to .agents/notes/archived/feature/2026-07-29-ask-question-web-presentation.zh.md index 9ad687d655..dc62a0041d 100644 --- a/.agents/notes/implemented/feature/2026-07-29-ask-question-web-presentation.zh.md +++ b/.agents/notes/archived/feature/2026-07-29-ask-question-web-presentation.zh.md @@ -1,6 +1,7 @@ # Agent Note: Ask-question Web 呈现 Status: implemented +Archived: 2026-09-04 [English](2026-07-29-ask-question-web-presentation.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-29-directory-picker-adaptive-default.i18n.yaml b/.agents/notes/archived/feature/2026-07-29-directory-picker-adaptive-default.i18n.yaml new file mode 100644 index 0000000000..07dc33dbdb --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-29-directory-picker-adaptive-default.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-29-directory-picker-adaptive-default.md +2026-07-29-directory-picker-adaptive-default.md: 1e7c7b08aed24752855e553d720d6fdc52e5ff3e +2026-07-29-directory-picker-adaptive-default.zh.md: ebed058c454b94fc3882be2f7b85ba7ae9b4b536 diff --git a/.agents/notes/implemented/feature/2026-07-29-directory-picker-adaptive-default.md b/.agents/notes/archived/feature/2026-07-29-directory-picker-adaptive-default.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-29-directory-picker-adaptive-default.md rename to .agents/notes/archived/feature/2026-07-29-directory-picker-adaptive-default.md index 92eb2b5ab4..1e7c7b08ae 100644 --- a/.agents/notes/implemented/feature/2026-07-29-directory-picker-adaptive-default.md +++ b/.agents/notes/archived/feature/2026-07-29-directory-picker-adaptive-default.md @@ -1,6 +1,7 @@ # Agent Note: Adaptive default for the directory-picker interaction Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-29-directory-picker-adaptive-default.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-29-directory-picker-adaptive-default.zh.md b/.agents/notes/archived/feature/2026-07-29-directory-picker-adaptive-default.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-29-directory-picker-adaptive-default.zh.md rename to .agents/notes/archived/feature/2026-07-29-directory-picker-adaptive-default.zh.md index a3d0c4b799..ebed058c45 100644 --- a/.agents/notes/implemented/feature/2026-07-29-directory-picker-adaptive-default.zh.md +++ b/.agents/notes/archived/feature/2026-07-29-directory-picker-adaptive-default.zh.md @@ -1,6 +1,7 @@ # Agent Note: 目录选择交互的自适应默认值 Status: implemented +Archived: 2026-09-04 [English](2026-07-29-directory-picker-adaptive-default.md) | 中文 diff --git a/.agents/notes/implemented/process/2026-07-28-per-subsystem-cordis-surface-regions.i18n.yaml b/.agents/notes/archived/feature/2026-07-29-persistent-bash-str-replace-editor.i18n.yaml similarity index 54% rename from .agents/notes/implemented/process/2026-07-28-per-subsystem-cordis-surface-regions.i18n.yaml rename to .agents/notes/archived/feature/2026-07-29-persistent-bash-str-replace-editor.i18n.yaml index a69f51c47e..ef0d8c2291 100644 --- a/.agents/notes/implemented/process/2026-07-28-per-subsystem-cordis-surface-regions.i18n.yaml +++ b/.agents/notes/archived/feature/2026-07-29-persistent-bash-str-replace-editor.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/process/2026-07-28-per-subsystem-cordis-surface-regions.md -2026-07-28-per-subsystem-cordis-surface-regions.md: 66973223ec443fdd2a150fdd32d722ae3cad261b -2026-07-28-per-subsystem-cordis-surface-regions.zh.md: de000402bd20018c423a391dfefca4a3a9d65bdf +# pnpm run verify-translation-pairing --write .agents/notes/archived/feature/2026-07-29-persistent-bash-str-replace-editor.md +2026-07-29-persistent-bash-str-replace-editor.md: 84d195d07d8039227b5f530d4a04ddd49a210545 +2026-07-29-persistent-bash-str-replace-editor.zh.md: 31548903b3c3f59ccccdebb4416a5afd21e1b4ee diff --git a/.agents/notes/implemented/feature/2026-07-29-persistent-bash-str-replace-editor.md b/.agents/notes/archived/feature/2026-07-29-persistent-bash-str-replace-editor.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-29-persistent-bash-str-replace-editor.md rename to .agents/notes/archived/feature/2026-07-29-persistent-bash-str-replace-editor.md index e6265ca0f8..84d195d07d 100644 --- a/.agents/notes/implemented/feature/2026-07-29-persistent-bash-str-replace-editor.md +++ b/.agents/notes/archived/feature/2026-07-29-persistent-bash-str-replace-editor.md @@ -1,6 +1,7 @@ # Agent Note: Persistent Bash and string-replacement editor tools Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-29-persistent-bash-str-replace-editor.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-29-persistent-bash-str-replace-editor.zh.md b/.agents/notes/archived/feature/2026-07-29-persistent-bash-str-replace-editor.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-29-persistent-bash-str-replace-editor.zh.md rename to .agents/notes/archived/feature/2026-07-29-persistent-bash-str-replace-editor.zh.md index 2fb8a3b3ca..31548903b3 100644 --- a/.agents/notes/implemented/feature/2026-07-29-persistent-bash-str-replace-editor.zh.md +++ b/.agents/notes/archived/feature/2026-07-29-persistent-bash-str-replace-editor.zh.md @@ -1,6 +1,7 @@ # Agent Note: 持久 Bash 与字符串替换编辑器工具 Status: implemented +Archived: 2026-09-04 [English](2026-07-29-persistent-bash-str-replace-editor.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-30-current-sandbox-policy-context.i18n.yaml b/.agents/notes/archived/feature/2026-07-30-current-sandbox-policy-context.i18n.yaml new file mode 100644 index 0000000000..02bf0fbb3d --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-30-current-sandbox-policy-context.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-30-current-sandbox-policy-context.md +2026-07-30-current-sandbox-policy-context.md: adaf7f7cc1e0ed97c0136f53c539b34b98a32d45 +2026-07-30-current-sandbox-policy-context.zh.md: 67abad4bba3b966d8cb99634667b4493e951a264 diff --git a/.agents/notes/implemented/feature/2026-07-30-current-sandbox-policy-context.md b/.agents/notes/archived/feature/2026-07-30-current-sandbox-policy-context.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-current-sandbox-policy-context.md rename to .agents/notes/archived/feature/2026-07-30-current-sandbox-policy-context.md index b4c657ba52..adaf7f7cc1 100644 --- a/.agents/notes/implemented/feature/2026-07-30-current-sandbox-policy-context.md +++ b/.agents/notes/archived/feature/2026-07-30-current-sandbox-policy-context.md @@ -1,6 +1,7 @@ # Agent Note: Current sandbox policy context Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-current-sandbox-policy-context.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-30-current-sandbox-policy-context.zh.md b/.agents/notes/archived/feature/2026-07-30-current-sandbox-policy-context.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-current-sandbox-policy-context.zh.md rename to .agents/notes/archived/feature/2026-07-30-current-sandbox-policy-context.zh.md index 6ded323020..67abad4bba 100644 --- a/.agents/notes/implemented/feature/2026-07-30-current-sandbox-policy-context.zh.md +++ b/.agents/notes/archived/feature/2026-07-30-current-sandbox-policy-context.zh.md @@ -1,6 +1,7 @@ # Agent Note: 当前沙箱策略上下文 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-current-sandbox-policy-context.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-30-deepseek-onboarding-credential-setup.i18n.yaml b/.agents/notes/archived/feature/2026-07-30-deepseek-onboarding-credential-setup.i18n.yaml new file mode 100644 index 0000000000..c9f8f56862 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-30-deepseek-onboarding-credential-setup.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-30-deepseek-onboarding-credential-setup.md +2026-07-30-deepseek-onboarding-credential-setup.md: b4deba8f5da5dfaa98a83fa71096683c2843d9b0 +2026-07-30-deepseek-onboarding-credential-setup.zh.md: 0862a95e96f7c41f3a9a36440d4029f9edf8c19c diff --git a/.agents/notes/implemented/feature/2026-07-30-deepseek-onboarding-credential-setup.md b/.agents/notes/archived/feature/2026-07-30-deepseek-onboarding-credential-setup.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-deepseek-onboarding-credential-setup.md rename to .agents/notes/archived/feature/2026-07-30-deepseek-onboarding-credential-setup.md index c2e9a1251a..b4deba8f5d 100644 --- a/.agents/notes/implemented/feature/2026-07-30-deepseek-onboarding-credential-setup.md +++ b/.agents/notes/archived/feature/2026-07-30-deepseek-onboarding-credential-setup.md @@ -1,6 +1,7 @@ # Agent Note: official DeepSeek first-run credential setup Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-deepseek-onboarding-credential-setup.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-30-deepseek-onboarding-credential-setup.zh.md b/.agents/notes/archived/feature/2026-07-30-deepseek-onboarding-credential-setup.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-deepseek-onboarding-credential-setup.zh.md rename to .agents/notes/archived/feature/2026-07-30-deepseek-onboarding-credential-setup.zh.md index e94f55949e..0862a95e96 100644 --- a/.agents/notes/implemented/feature/2026-07-30-deepseek-onboarding-credential-setup.zh.md +++ b/.agents/notes/archived/feature/2026-07-30-deepseek-onboarding-credential-setup.zh.md @@ -1,6 +1,7 @@ # Agent Note: DeepSeek 官方首次使用凭据配置 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-deepseek-onboarding-credential-setup.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-30-plan-review-presentation-intent.i18n.yaml b/.agents/notes/archived/feature/2026-07-30-plan-review-presentation-intent.i18n.yaml new file mode 100644 index 0000000000..bdd7214849 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-30-plan-review-presentation-intent.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-30-plan-review-presentation-intent.md +2026-07-30-plan-review-presentation-intent.md: 71e80eb99166e78cca496691c726562339313ef5 +2026-07-30-plan-review-presentation-intent.zh.md: efb6b24361e811a15a0d7c18deeff3dee97f0e22 diff --git a/.agents/notes/implemented/feature/2026-07-30-plan-review-presentation-intent.md b/.agents/notes/archived/feature/2026-07-30-plan-review-presentation-intent.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-plan-review-presentation-intent.md rename to .agents/notes/archived/feature/2026-07-30-plan-review-presentation-intent.md index 5bbd1ffc97..71e80eb991 100644 --- a/.agents/notes/implemented/feature/2026-07-30-plan-review-presentation-intent.md +++ b/.agents/notes/archived/feature/2026-07-30-plan-review-presentation-intent.md @@ -1,6 +1,7 @@ # Agent Note: Plan review as a decision, not a question Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-plan-review-presentation-intent.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-30-plan-review-presentation-intent.zh.md b/.agents/notes/archived/feature/2026-07-30-plan-review-presentation-intent.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-plan-review-presentation-intent.zh.md rename to .agents/notes/archived/feature/2026-07-30-plan-review-presentation-intent.zh.md index cd0b8c4075..efb6b24361 100644 --- a/.agents/notes/implemented/feature/2026-07-30-plan-review-presentation-intent.zh.md +++ b/.agents/notes/archived/feature/2026-07-30-plan-review-presentation-intent.zh.md @@ -1,6 +1,7 @@ # Agent Note: 计划审阅是一次决定,不是一道题 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-plan-review-presentation-intent.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-30-search-render-card.i18n.yaml b/.agents/notes/archived/feature/2026-07-30-search-render-card.i18n.yaml new file mode 100644 index 0000000000..593315f8c1 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-30-search-render-card.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-30-search-render-card.md +2026-07-30-search-render-card.md: 106a38d28157027e4312f4d48ddcb6ce3b710b3d +2026-07-30-search-render-card.zh.md: 2f2a84ead3327979c0d38b2336cac0c6a621c1f1 diff --git a/.agents/notes/implemented/feature/2026-07-30-search-render-card.md b/.agents/notes/archived/feature/2026-07-30-search-render-card.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-search-render-card.md rename to .agents/notes/archived/feature/2026-07-30-search-render-card.md index 585609bd05..106a38d281 100644 --- a/.agents/notes/implemented/feature/2026-07-30-search-render-card.md +++ b/.agents/notes/archived/feature/2026-07-30-search-render-card.md @@ -1,6 +1,7 @@ # Agent Note: Search render intent — grep and glob emit a structured search card Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-search-render-card.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-30-search-render-card.zh.md b/.agents/notes/archived/feature/2026-07-30-search-render-card.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-search-render-card.zh.md rename to .agents/notes/archived/feature/2026-07-30-search-render-card.zh.md index 4ffaa1ae16..2f2a84ead3 100644 --- a/.agents/notes/implemented/feature/2026-07-30-search-render-card.zh.md +++ b/.agents/notes/archived/feature/2026-07-30-search-render-card.zh.md @@ -1,6 +1,7 @@ # Agent Note: 搜索渲染意图——grep 与 glob 产出结构化搜索卡片 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-search-render-card.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-30-web-diff-card.i18n.yaml b/.agents/notes/archived/feature/2026-07-30-web-diff-card.i18n.yaml new file mode 100644 index 0000000000..9d171d8c5a --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-30-web-diff-card.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-30-web-diff-card.md +2026-07-30-web-diff-card.md: 3d7081c1bd558f16a8e0b2df728aa0f7d26ba4fb +2026-07-30-web-diff-card.zh.md: 5dc9e4835cdc08ecee9a15cbbcce083242636ab8 diff --git a/.agents/notes/implemented/feature/2026-07-30-web-diff-card.md b/.agents/notes/archived/feature/2026-07-30-web-diff-card.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-web-diff-card.md rename to .agents/notes/archived/feature/2026-07-30-web-diff-card.md index 8497038d6f..3d7081c1bd 100644 --- a/.agents/notes/implemented/feature/2026-07-30-web-diff-card.md +++ b/.agents/notes/archived/feature/2026-07-30-web-diff-card.md @@ -1,6 +1,7 @@ # Agent Note: Web diff card — the write/edit render intent reaches the browser Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-web-diff-card.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-30-web-diff-card.zh.md b/.agents/notes/archived/feature/2026-07-30-web-diff-card.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-web-diff-card.zh.md rename to .agents/notes/archived/feature/2026-07-30-web-diff-card.zh.md index 40fc079f36..5dc9e4835c 100644 --- a/.agents/notes/implemented/feature/2026-07-30-web-diff-card.zh.md +++ b/.agents/notes/archived/feature/2026-07-30-web-diff-card.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web diff 卡片 —— write/edit 渲染意图抵达浏览器 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-web-diff-card.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-30-web-queue-steer-action.i18n.yaml b/.agents/notes/archived/feature/2026-07-30-web-queue-steer-action.i18n.yaml new file mode 100644 index 0000000000..b9f5b285b3 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-30-web-queue-steer-action.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-30-web-queue-steer-action.md +2026-07-30-web-queue-steer-action.md: 3df1d84aeb528cec9ebcf709ae766b81340b36ce +2026-07-30-web-queue-steer-action.zh.md: e5ffad2df8850df67135edd2c1337be44b8d5f28 diff --git a/.agents/notes/implemented/feature/2026-07-30-web-queue-steer-action.md b/.agents/notes/archived/feature/2026-07-30-web-queue-steer-action.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-web-queue-steer-action.md rename to .agents/notes/archived/feature/2026-07-30-web-queue-steer-action.md index 2718c5b3cc..3df1d84aeb 100644 --- a/.agents/notes/implemented/feature/2026-07-30-web-queue-steer-action.md +++ b/.agents/notes/archived/feature/2026-07-30-web-queue-steer-action.md @@ -1,6 +1,7 @@ # Agent Note: Steer a queued Web message into the active turn Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-web-queue-steer-action.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-30-web-queue-steer-action.zh.md b/.agents/notes/archived/feature/2026-07-30-web-queue-steer-action.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-web-queue-steer-action.zh.md rename to .agents/notes/archived/feature/2026-07-30-web-queue-steer-action.zh.md index 377117e2aa..e5ffad2df8 100644 --- a/.agents/notes/implemented/feature/2026-07-30-web-queue-steer-action.zh.md +++ b/.agents/notes/archived/feature/2026-07-30-web-queue-steer-action.zh.md @@ -1,6 +1,7 @@ # Agent Note: 将 Web 已排队消息转为活动轮次的 steering(中途引导) Status: implemented +Archived: 2026-09-04 [English](2026-07-30-web-queue-steer-action.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-30-web-read-card-frontend.i18n.yaml b/.agents/notes/archived/feature/2026-07-30-web-read-card-frontend.i18n.yaml new file mode 100644 index 0000000000..7698ee4421 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-30-web-read-card-frontend.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-30-web-read-card-frontend.md +2026-07-30-web-read-card-frontend.md: ee725117822f1f366b1c30a0bece696bea951b80 +2026-07-30-web-read-card-frontend.zh.md: 9d60b4a1c285491c848a3ca7531b60d2aa542df8 diff --git a/.agents/notes/implemented/feature/2026-07-30-web-read-card-frontend.md b/.agents/notes/archived/feature/2026-07-30-web-read-card-frontend.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-web-read-card-frontend.md rename to .agents/notes/archived/feature/2026-07-30-web-read-card-frontend.md index 98e31d4192..ee72511782 100644 --- a/.agents/notes/implemented/feature/2026-07-30-web-read-card-frontend.md +++ b/.agents/notes/archived/feature/2026-07-30-web-read-card-frontend.md @@ -1,6 +1,7 @@ # Agent Note: Web read card frontend — the read tool's line window renders line-numbered and highlighted Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-web-read-card-frontend.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-30-web-read-card-frontend.zh.md b/.agents/notes/archived/feature/2026-07-30-web-read-card-frontend.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-web-read-card-frontend.zh.md rename to .agents/notes/archived/feature/2026-07-30-web-read-card-frontend.zh.md index 50e1ca8d05..9d60b4a1c2 100644 --- a/.agents/notes/implemented/feature/2026-07-30-web-read-card-frontend.zh.md +++ b/.agents/notes/archived/feature/2026-07-30-web-read-card-frontend.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 读取卡片前端 —— 读取工具的行窗口以带行号、语法高亮的形式渲染 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-web-read-card-frontend.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-30-web-read-card.i18n.yaml b/.agents/notes/archived/feature/2026-07-30-web-read-card.i18n.yaml new file mode 100644 index 0000000000..7db1c0d464 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-30-web-read-card.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-30-web-read-card.md +2026-07-30-web-read-card.md: 68a816f98bf4b6c605a1d077edc284f0660ddcd1 +2026-07-30-web-read-card.zh.md: b835b3aceceb399fb919a096f3c49a1f67452ff3 diff --git a/.agents/notes/implemented/feature/2026-07-30-web-read-card.md b/.agents/notes/archived/feature/2026-07-30-web-read-card.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-web-read-card.md rename to .agents/notes/archived/feature/2026-07-30-web-read-card.md index 2023b93f44..68a816f98b 100644 --- a/.agents/notes/implemented/feature/2026-07-30-web-read-card.md +++ b/.agents/notes/archived/feature/2026-07-30-web-read-card.md @@ -1,6 +1,7 @@ # Agent Note: Read card — the read tool's structured line window reaches the client Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-web-read-card.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-30-web-read-card.zh.md b/.agents/notes/archived/feature/2026-07-30-web-read-card.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-web-read-card.zh.md rename to .agents/notes/archived/feature/2026-07-30-web-read-card.zh.md index 426b5cc1eb..b835b3acec 100644 --- a/.agents/notes/implemented/feature/2026-07-30-web-read-card.zh.md +++ b/.agents/notes/archived/feature/2026-07-30-web-read-card.zh.md @@ -1,6 +1,7 @@ # Agent Note: Read card — the read tool's structured line window reaches the client Status: implemented +Archived: 2026-09-04 [English](2026-07-30-web-read-card.md) | 中文 diff --git a/.agents/notes/implemented/architecture/2026-08-20-preview-cloudflare-pages-deploy.i18n.yaml b/.agents/notes/archived/feature/2026-07-30-web-result-card-frontend.i18n.yaml similarity index 53% rename from .agents/notes/implemented/architecture/2026-08-20-preview-cloudflare-pages-deploy.i18n.yaml rename to .agents/notes/archived/feature/2026-07-30-web-result-card-frontend.i18n.yaml index 83f673d68e..ee0c341e59 100644 --- a/.agents/notes/implemented/architecture/2026-08-20-preview-cloudflare-pages-deploy.i18n.yaml +++ b/.agents/notes/archived/feature/2026-07-30-web-result-card-frontend.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/architecture/2026-08-20-preview-cloudflare-pages-deploy.md -2026-08-20-preview-cloudflare-pages-deploy.md: 38b2834d612153d235d3b0aaffead3bd2b33eec7 -2026-08-20-preview-cloudflare-pages-deploy.zh.md: 3ebb8eba95666729ee1021ffe2c958dad40aed1c +# pnpm run verify-translation-pairing --write .agents/notes/archived/feature/2026-07-30-web-result-card-frontend.md +2026-07-30-web-result-card-frontend.md: 1615c59bb1d7abd05c1f11ef0abdf8096034d95b +2026-07-30-web-result-card-frontend.zh.md: e99ea2dc9457300853581421055dbf3f6e12ef77 diff --git a/.agents/notes/implemented/feature/2026-07-30-web-result-card-frontend.md b/.agents/notes/archived/feature/2026-07-30-web-result-card-frontend.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-web-result-card-frontend.md rename to .agents/notes/archived/feature/2026-07-30-web-result-card-frontend.md index 6a00e0820a..1615c59bb1 100644 --- a/.agents/notes/implemented/feature/2026-07-30-web-result-card-frontend.md +++ b/.agents/notes/archived/feature/2026-07-30-web-result-card-frontend.md @@ -1,6 +1,7 @@ # Agent Note: Web result card frontend — rendering the web render intent in the browser Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-web-result-card-frontend.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-30-web-result-card-frontend.zh.md b/.agents/notes/archived/feature/2026-07-30-web-result-card-frontend.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-web-result-card-frontend.zh.md rename to .agents/notes/archived/feature/2026-07-30-web-result-card-frontend.zh.md index 42543e2dcd..e99ea2dc94 100644 --- a/.agents/notes/implemented/feature/2026-07-30-web-result-card-frontend.zh.md +++ b/.agents/notes/archived/feature/2026-07-30-web-result-card-frontend.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web result 卡片前端 —— 在浏览器渲染 web 渲染意图 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-web-result-card-frontend.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-30-web-result-card.i18n.yaml b/.agents/notes/archived/feature/2026-07-30-web-result-card.i18n.yaml new file mode 100644 index 0000000000..ac0135c2ac --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-30-web-result-card.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-30-web-result-card.md +2026-07-30-web-result-card.md: c87f1d74ae89fc5e007134c35c86ec2fed986ae7 +2026-07-30-web-result-card.zh.md: 98d20f4c5b79f6a8654261c31b40de88370de57d diff --git a/.agents/notes/implemented/feature/2026-07-30-web-result-card.md b/.agents/notes/archived/feature/2026-07-30-web-result-card.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-web-result-card.md rename to .agents/notes/archived/feature/2026-07-30-web-result-card.md index 35ad069981..c87f1d74ae 100644 --- a/.agents/notes/implemented/feature/2026-07-30-web-result-card.md +++ b/.agents/notes/archived/feature/2026-07-30-web-result-card.md @@ -1,6 +1,7 @@ # Agent Note: Web result card — a structured render intent for web_search and web_fetch Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-web-result-card.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-30-web-result-card.zh.md b/.agents/notes/archived/feature/2026-07-30-web-result-card.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-web-result-card.zh.md rename to .agents/notes/archived/feature/2026-07-30-web-result-card.zh.md index 81656b5f65..98d20f4c5b 100644 --- a/.agents/notes/implemented/feature/2026-07-30-web-result-card.zh.md +++ b/.agents/notes/archived/feature/2026-07-30-web-result-card.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web result card — a structured render intent for web_search and web_fetch Status: implemented +Archived: 2026-09-04 [English](2026-07-30-web-result-card.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-30-web-search-card.i18n.yaml b/.agents/notes/archived/feature/2026-07-30-web-search-card.i18n.yaml new file mode 100644 index 0000000000..982df1cc9c --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-30-web-search-card.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-30-web-search-card.md +2026-07-30-web-search-card.md: eae868c31ec6b74a5a9db21b3ec08a1ac04052d2 +2026-07-30-web-search-card.zh.md: b493016479bcc47164ca6fb571fff52d1a5828b0 diff --git a/.agents/notes/implemented/feature/2026-07-30-web-search-card.md b/.agents/notes/archived/feature/2026-07-30-web-search-card.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-web-search-card.md rename to .agents/notes/archived/feature/2026-07-30-web-search-card.md index 55a91e2d2a..eae868c31e 100644 --- a/.agents/notes/implemented/feature/2026-07-30-web-search-card.md +++ b/.agents/notes/archived/feature/2026-07-30-web-search-card.md @@ -1,6 +1,7 @@ # Agent Note: Web search card — the grep and glob render intent reaches the browser Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-web-search-card.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-30-web-search-card.zh.md b/.agents/notes/archived/feature/2026-07-30-web-search-card.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-web-search-card.zh.md rename to .agents/notes/archived/feature/2026-07-30-web-search-card.zh.md index eda7332848..b493016479 100644 --- a/.agents/notes/implemented/feature/2026-07-30-web-search-card.zh.md +++ b/.agents/notes/archived/feature/2026-07-30-web-search-card.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 搜索卡片 —— grep 与 glob 的 render intent 到达浏览器 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-web-search-card.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-30-web-tool-row-unified-expand-and-inspect.i18n.yaml b/.agents/notes/archived/feature/2026-07-30-web-tool-row-unified-expand-and-inspect.i18n.yaml new file mode 100644 index 0000000000..efb47f59f4 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-30-web-tool-row-unified-expand-and-inspect.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-30-web-tool-row-unified-expand-and-inspect.md +2026-07-30-web-tool-row-unified-expand-and-inspect.md: bf0eab938b446e220502ec9435a31af23144ec9d +2026-07-30-web-tool-row-unified-expand-and-inspect.zh.md: d23ada8accc9655cb3c552d249c869f365dffb43 diff --git a/.agents/notes/implemented/feature/2026-07-30-web-tool-row-unified-expand-and-inspect.md b/.agents/notes/archived/feature/2026-07-30-web-tool-row-unified-expand-and-inspect.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-web-tool-row-unified-expand-and-inspect.md rename to .agents/notes/archived/feature/2026-07-30-web-tool-row-unified-expand-and-inspect.md index 4fcf1e9a56..bf0eab938b 100644 --- a/.agents/notes/implemented/feature/2026-07-30-web-tool-row-unified-expand-and-inspect.md +++ b/.agents/notes/archived/feature/2026-07-30-web-tool-row-unified-expand-and-inspect.md @@ -1,6 +1,7 @@ # Agent Note: Web tool-row unified expand and trajectory Inspect Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-web-tool-row-unified-expand-and-inspect.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-30-web-tool-row-unified-expand-and-inspect.zh.md b/.agents/notes/archived/feature/2026-07-30-web-tool-row-unified-expand-and-inspect.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-30-web-tool-row-unified-expand-and-inspect.zh.md rename to .agents/notes/archived/feature/2026-07-30-web-tool-row-unified-expand-and-inspect.zh.md index 765cd058c9..d23ada8acc 100644 --- a/.agents/notes/implemented/feature/2026-07-30-web-tool-row-unified-expand-and-inspect.zh.md +++ b/.agents/notes/archived/feature/2026-07-30-web-tool-row-unified-expand-and-inspect.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 工具行统一展开交互与 trajectory Inspect Status: implemented +Archived: 2026-09-04 [English](2026-07-30-web-tool-row-unified-expand-and-inspect.md) | 中文 diff --git a/.agents/notes/implemented/feature/2026-07-27-web-session-fork-actions.i18n.yaml b/.agents/notes/archived/feature/2026-07-31-browser-derived-initial-locale.i18n.yaml similarity index 56% rename from .agents/notes/implemented/feature/2026-07-27-web-session-fork-actions.i18n.yaml rename to .agents/notes/archived/feature/2026-07-31-browser-derived-initial-locale.i18n.yaml index 4f394eb2b3..dab49efd36 100644 --- a/.agents/notes/implemented/feature/2026-07-27-web-session-fork-actions.i18n.yaml +++ b/.agents/notes/archived/feature/2026-07-31-browser-derived-initial-locale.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/feature/2026-07-27-web-session-fork-actions.md -2026-07-27-web-session-fork-actions.md: 578e59ec92e003fe5c8cdfe951a595f3a7371ecf -2026-07-27-web-session-fork-actions.zh.md: 8995b4c89b5abc87693da1c6a63e00e1fa303d57 +# pnpm run verify-translation-pairing --write .agents/notes/archived/feature/2026-07-31-browser-derived-initial-locale.md +2026-07-31-browser-derived-initial-locale.md: 9077a0a670465c2267e45bf68568bcf39bb358cf +2026-07-31-browser-derived-initial-locale.zh.md: ae5276e36f984dd2dd580a764225beb687ff1817 diff --git a/.agents/notes/implemented/feature/2026-07-31-browser-derived-initial-locale.md b/.agents/notes/archived/feature/2026-07-31-browser-derived-initial-locale.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-31-browser-derived-initial-locale.md rename to .agents/notes/archived/feature/2026-07-31-browser-derived-initial-locale.md index 28b5c98d51..9077a0a670 100644 --- a/.agents/notes/implemented/feature/2026-07-31-browser-derived-initial-locale.md +++ b/.agents/notes/archived/feature/2026-07-31-browser-derived-initial-locale.md @@ -1,6 +1,7 @@ # Agent Note: The Settings language a fresh browser opens in comes from the browser Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-browser-derived-initial-locale.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-31-browser-derived-initial-locale.zh.md b/.agents/notes/archived/feature/2026-07-31-browser-derived-initial-locale.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-31-browser-derived-initial-locale.zh.md rename to .agents/notes/archived/feature/2026-07-31-browser-derived-initial-locale.zh.md index 34741af01a..ae5276e36f 100644 --- a/.agents/notes/implemented/feature/2026-07-31-browser-derived-initial-locale.zh.md +++ b/.agents/notes/archived/feature/2026-07-31-browser-derived-initial-locale.zh.md @@ -1,6 +1,7 @@ # Agent Note: 全新浏览器打开的设置语言由浏览器决定 Status: implemented +Archived: 2026-09-04 [English](2026-07-31-browser-derived-initial-locale.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-31-gui-full-access-confirmation.i18n.yaml b/.agents/notes/archived/feature/2026-07-31-gui-full-access-confirmation.i18n.yaml new file mode 100644 index 0000000000..e5b9bfbb7f --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-31-gui-full-access-confirmation.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-31-gui-full-access-confirmation.md +2026-07-31-gui-full-access-confirmation.md: 8bcc6bfbc7f27defd3fd09ceb95f6b17f946bc08 +2026-07-31-gui-full-access-confirmation.zh.md: a4b229244cd9d3fce4a177581db511ab7d0cf670 diff --git a/.agents/notes/implemented/feature/2026-07-31-gui-full-access-confirmation.md b/.agents/notes/archived/feature/2026-07-31-gui-full-access-confirmation.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-31-gui-full-access-confirmation.md rename to .agents/notes/archived/feature/2026-07-31-gui-full-access-confirmation.md index c0ae295c31..8bcc6bfbc7 100644 --- a/.agents/notes/implemented/feature/2026-07-31-gui-full-access-confirmation.md +++ b/.agents/notes/archived/feature/2026-07-31-gui-full-access-confirmation.md @@ -1,6 +1,7 @@ # Agent Note: GUI Full access risk confirmation Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-gui-full-access-confirmation.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-31-gui-full-access-confirmation.zh.md b/.agents/notes/archived/feature/2026-07-31-gui-full-access-confirmation.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-31-gui-full-access-confirmation.zh.md rename to .agents/notes/archived/feature/2026-07-31-gui-full-access-confirmation.zh.md index 1679fc5060..a4b229244c 100644 --- a/.agents/notes/implemented/feature/2026-07-31-gui-full-access-confirmation.zh.md +++ b/.agents/notes/archived/feature/2026-07-31-gui-full-access-confirmation.zh.md @@ -1,6 +1,7 @@ # Agent Note: GUI Full access 风险确认 Status: implemented +Archived: 2026-09-04 [English](2026-07-31-gui-full-access-confirmation.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-31-permission-default-for-new-sessions.i18n.yaml b/.agents/notes/archived/feature/2026-07-31-permission-default-for-new-sessions.i18n.yaml new file mode 100644 index 0000000000..3196576a6a --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-31-permission-default-for-new-sessions.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-31-permission-default-for-new-sessions.md +2026-07-31-permission-default-for-new-sessions.md: e50446c5efcfd78a009941da381e7b73b2461d08 +2026-07-31-permission-default-for-new-sessions.zh.md: 38193db234a64d3abafd8f7d0daccce8d386b3de diff --git a/.agents/notes/implemented/feature/2026-07-31-permission-default-for-new-sessions.md b/.agents/notes/archived/feature/2026-07-31-permission-default-for-new-sessions.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-31-permission-default-for-new-sessions.md rename to .agents/notes/archived/feature/2026-07-31-permission-default-for-new-sessions.md index 5f62effa8d..e50446c5ef 100644 --- a/.agents/notes/implemented/feature/2026-07-31-permission-default-for-new-sessions.md +++ b/.agents/notes/archived/feature/2026-07-31-permission-default-for-new-sessions.md @@ -1,6 +1,7 @@ # Agent Note: Permission Settings default for new sessions Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-permission-default-for-new-sessions.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-31-permission-default-for-new-sessions.zh.md b/.agents/notes/archived/feature/2026-07-31-permission-default-for-new-sessions.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-31-permission-default-for-new-sessions.zh.md rename to .agents/notes/archived/feature/2026-07-31-permission-default-for-new-sessions.zh.md index f8810d9ff5..38193db234 100644 --- a/.agents/notes/implemented/feature/2026-07-31-permission-default-for-new-sessions.zh.md +++ b/.agents/notes/archived/feature/2026-07-31-permission-default-for-new-sessions.zh.md @@ -1,6 +1,7 @@ # Agent Note: 新会话的权限 Settings 默认值 Status: implemented +Archived: 2026-09-04 [English](2026-07-31-permission-default-for-new-sessions.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-31-ptc-language-dispatch.i18n.yaml b/.agents/notes/archived/feature/2026-07-31-ptc-language-dispatch.i18n.yaml new file mode 100644 index 0000000000..1f4e96e85a --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-31-ptc-language-dispatch.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-31-ptc-language-dispatch.md +2026-07-31-ptc-language-dispatch.md: f7a0b64b06b5eeae41af1ecbba71676a1cec18fc +2026-07-31-ptc-language-dispatch.zh.md: b2c2a16cc16afbc0901159954dcdd748bb1ab724 diff --git a/.agents/notes/implemented/feature/2026-07-31-ptc-language-dispatch.md b/.agents/notes/archived/feature/2026-07-31-ptc-language-dispatch.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-31-ptc-language-dispatch.md rename to .agents/notes/archived/feature/2026-07-31-ptc-language-dispatch.md index c23e7b7ee1..f7a0b64b06 100644 --- a/.agents/notes/implemented/feature/2026-07-31-ptc-language-dispatch.md +++ b/.agents/notes/archived/feature/2026-07-31-ptc-language-dispatch.md @@ -1,6 +1,7 @@ # Agent Note: PTC mode language dispatch and the Python SDK renderer Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-ptc-language-dispatch.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-31-ptc-language-dispatch.zh.md b/.agents/notes/archived/feature/2026-07-31-ptc-language-dispatch.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-31-ptc-language-dispatch.zh.md rename to .agents/notes/archived/feature/2026-07-31-ptc-language-dispatch.zh.md index 2b01106317..b2c2a16cc1 100644 --- a/.agents/notes/implemented/feature/2026-07-31-ptc-language-dispatch.zh.md +++ b/.agents/notes/archived/feature/2026-07-31-ptc-language-dispatch.zh.md @@ -1,6 +1,7 @@ # Agent Note: PTC mode 语言分发与 Python SDK 渲染器 Status: implemented +Archived: 2026-09-04 [English](2026-07-31-ptc-language-dispatch.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-31-session-archive-global-set.i18n.yaml b/.agents/notes/archived/feature/2026-07-31-session-archive-global-set.i18n.yaml new file mode 100644 index 0000000000..f6e63a5e1a --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-31-session-archive-global-set.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-31-session-archive-global-set.md +2026-07-31-session-archive-global-set.md: dbf860ce2d8db6ddd5582cc0f12cb0c5cb1a8d00 +2026-07-31-session-archive-global-set.zh.md: d196e14065fb75e5ae20003a055fded8cb67b81b diff --git a/.agents/notes/implemented/feature/2026-07-31-session-archive-global-set.md b/.agents/notes/archived/feature/2026-07-31-session-archive-global-set.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-31-session-archive-global-set.md rename to .agents/notes/archived/feature/2026-07-31-session-archive-global-set.md index 6117b9f7df..dbf860ce2d 100644 --- a/.agents/notes/implemented/feature/2026-07-31-session-archive-global-set.md +++ b/.agents/notes/archived/feature/2026-07-31-session-archive-global-set.md @@ -1,6 +1,7 @@ # Agent Note: Session archive (registry-global set) Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-session-archive-global-set.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-31-session-archive-global-set.zh.md b/.agents/notes/archived/feature/2026-07-31-session-archive-global-set.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-31-session-archive-global-set.zh.md rename to .agents/notes/archived/feature/2026-07-31-session-archive-global-set.zh.md index bb57cbb8b9..d196e14065 100644 --- a/.agents/notes/implemented/feature/2026-07-31-session-archive-global-set.zh.md +++ b/.agents/notes/archived/feature/2026-07-31-session-archive-global-set.zh.md @@ -1,6 +1,7 @@ # Agent Note: 会话归档(注册表级全局集合) Status: implemented +Archived: 2026-09-04 [English](2026-07-31-session-archive-global-set.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-31-telemetry-anonymous-user-id.i18n.yaml b/.agents/notes/archived/feature/2026-07-31-telemetry-anonymous-user-id.i18n.yaml new file mode 100644 index 0000000000..dac676bcb5 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-31-telemetry-anonymous-user-id.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-31-telemetry-anonymous-user-id.md +2026-07-31-telemetry-anonymous-user-id.md: 2621ef77a1eddcfe88c2866a53ddff4ae9560e13 +2026-07-31-telemetry-anonymous-user-id.zh.md: ac64c980370e3f3d40518b408f749bf8605e7b5d diff --git a/.agents/notes/implemented/feature/2026-07-31-telemetry-anonymous-user-id.md b/.agents/notes/archived/feature/2026-07-31-telemetry-anonymous-user-id.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-31-telemetry-anonymous-user-id.md rename to .agents/notes/archived/feature/2026-07-31-telemetry-anonymous-user-id.md index 1fb65b4c58..2621ef77a1 100644 --- a/.agents/notes/implemented/feature/2026-07-31-telemetry-anonymous-user-id.md +++ b/.agents/notes/archived/feature/2026-07-31-telemetry-anonymous-user-id.md @@ -1,6 +1,7 @@ # Agent Note: SessionTelemetryBackend anonymous user id ($DSH_HOME/.anonymous-user-id) and the OTel Resource user.id Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-telemetry-anonymous-user-id.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-31-telemetry-anonymous-user-id.zh.md b/.agents/notes/archived/feature/2026-07-31-telemetry-anonymous-user-id.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-31-telemetry-anonymous-user-id.zh.md rename to .agents/notes/archived/feature/2026-07-31-telemetry-anonymous-user-id.zh.md index a7d90b382f..ac64c98037 100644 --- a/.agents/notes/implemented/feature/2026-07-31-telemetry-anonymous-user-id.zh.md +++ b/.agents/notes/archived/feature/2026-07-31-telemetry-anonymous-user-id.zh.md @@ -1,6 +1,7 @@ # Agent Note: 遥测匿名用户 id($DSH_HOME/.anonymous-user-id)与 OTel Resource 的 user.id Status: implemented +Archived: 2026-09-04 [English](2026-07-31-telemetry-anonymous-user-id.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-31-third-party-memory-mcp-examples.i18n.yaml b/.agents/notes/archived/feature/2026-07-31-third-party-memory-mcp-examples.i18n.yaml new file mode 100644 index 0000000000..5ed33661ae --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-31-third-party-memory-mcp-examples.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-31-third-party-memory-mcp-examples.md +2026-07-31-third-party-memory-mcp-examples.md: 8ba6f36e659f62f92c476c62ced02cff9eede677 +2026-07-31-third-party-memory-mcp-examples.zh.md: da89cdff069dd35c0504d50def78d6194cc966d3 diff --git a/.agents/notes/implemented/feature/2026-07-31-third-party-memory-mcp-examples.md b/.agents/notes/archived/feature/2026-07-31-third-party-memory-mcp-examples.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-31-third-party-memory-mcp-examples.md rename to .agents/notes/archived/feature/2026-07-31-third-party-memory-mcp-examples.md index 49cf6b5a3e..8ba6f36e65 100644 --- a/.agents/notes/implemented/feature/2026-07-31-third-party-memory-mcp-examples.md +++ b/.agents/notes/archived/feature/2026-07-31-third-party-memory-mcp-examples.md @@ -1,6 +1,7 @@ # Agent Note: Third-party memory MCP examples Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-third-party-memory-mcp-examples.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-31-third-party-memory-mcp-examples.zh.md b/.agents/notes/archived/feature/2026-07-31-third-party-memory-mcp-examples.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-31-third-party-memory-mcp-examples.zh.md rename to .agents/notes/archived/feature/2026-07-31-third-party-memory-mcp-examples.zh.md index eab7a7b9e9..da89cdff06 100644 --- a/.agents/notes/implemented/feature/2026-07-31-third-party-memory-mcp-examples.zh.md +++ b/.agents/notes/archived/feature/2026-07-31-third-party-memory-mcp-examples.zh.md @@ -1,6 +1,7 @@ # Agent Note: 第三方记忆 MCP 示例 Status: implemented +Archived: 2026-09-04 [English](2026-07-31-third-party-memory-mcp-examples.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-31-web-telemetry-default-mount.i18n.yaml b/.agents/notes/archived/feature/2026-07-31-web-telemetry-default-mount.i18n.yaml new file mode 100644 index 0000000000..1e06ec9351 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-31-web-telemetry-default-mount.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-31-web-telemetry-default-mount.md +2026-07-31-web-telemetry-default-mount.md: b39d7d502417111369b1bfde9c8f0cc3ef27613e +2026-07-31-web-telemetry-default-mount.zh.md: c001cdd61d202180e51f4030d75de96c19ef1401 diff --git a/.agents/notes/implemented/feature/2026-07-31-web-telemetry-default-mount.md b/.agents/notes/archived/feature/2026-07-31-web-telemetry-default-mount.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-31-web-telemetry-default-mount.md rename to .agents/notes/archived/feature/2026-07-31-web-telemetry-default-mount.md index aea90ef928..b39d7d5024 100644 --- a/.agents/notes/implemented/feature/2026-07-31-web-telemetry-default-mount.md +++ b/.agents/notes/archived/feature/2026-07-31-web-telemetry-default-mount.md @@ -1,6 +1,7 @@ # Agent Note: Default session-telemetry mount (OTel reporting) in the dsh web composition Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-web-telemetry-default-mount.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-31-web-telemetry-default-mount.zh.md b/.agents/notes/archived/feature/2026-07-31-web-telemetry-default-mount.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-31-web-telemetry-default-mount.zh.md rename to .agents/notes/archived/feature/2026-07-31-web-telemetry-default-mount.zh.md index 122b7ad593..c001cdd61d 100644 --- a/.agents/notes/implemented/feature/2026-07-31-web-telemetry-default-mount.zh.md +++ b/.agents/notes/archived/feature/2026-07-31-web-telemetry-default-mount.zh.md @@ -1,6 +1,7 @@ # Agent Note: dsh web 组合默认挂载会话遥测(OTel 上报) Status: implemented +Archived: 2026-09-04 [English](2026-07-31-web-telemetry-default-mount.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-07-31-workspace-write-surface-default.i18n.yaml b/.agents/notes/archived/feature/2026-07-31-workspace-write-surface-default.i18n.yaml new file mode 100644 index 0000000000..9b36af0591 --- /dev/null +++ b/.agents/notes/archived/feature/2026-07-31-workspace-write-surface-default.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-07-31-workspace-write-surface-default.md +2026-07-31-workspace-write-surface-default.md: 7e0a8be25ffa36621b3489e425f035fb9db2a25f +2026-07-31-workspace-write-surface-default.zh.md: 8ac63b81884a48c73eaec17d9cd3f4307738c788 diff --git a/.agents/notes/implemented/feature/2026-07-31-workspace-write-surface-default.md b/.agents/notes/archived/feature/2026-07-31-workspace-write-surface-default.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-31-workspace-write-surface-default.md rename to .agents/notes/archived/feature/2026-07-31-workspace-write-surface-default.md index 2ce4d7b45a..7e0a8be25f 100644 --- a/.agents/notes/implemented/feature/2026-07-31-workspace-write-surface-default.md +++ b/.agents/notes/archived/feature/2026-07-31-workspace-write-surface-default.md @@ -1,6 +1,7 @@ # Agent Note: Workspace-write defaults for shipped surfaces Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-workspace-write-surface-default.zh.md) diff --git a/.agents/notes/implemented/feature/2026-07-31-workspace-write-surface-default.zh.md b/.agents/notes/archived/feature/2026-07-31-workspace-write-surface-default.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-07-31-workspace-write-surface-default.zh.md rename to .agents/notes/archived/feature/2026-07-31-workspace-write-surface-default.zh.md index 40b97812eb..8ac63b8188 100644 --- a/.agents/notes/implemented/feature/2026-07-31-workspace-write-surface-default.zh.md +++ b/.agents/notes/archived/feature/2026-07-31-workspace-write-surface-default.zh.md @@ -1,6 +1,7 @@ # Agent Note: 已交付界面的 workspace-write 默认值 Status: implemented +Archived: 2026-09-04 [English](2026-07-31-workspace-write-surface-default.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-01-goal-command-input-projection.i18n.yaml b/.agents/notes/archived/feature/2026-08-01-goal-command-input-projection.i18n.yaml new file mode 100644 index 0000000000..a61e6842cd --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-01-goal-command-input-projection.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-01-goal-command-input-projection.md +2026-08-01-goal-command-input-projection.md: b5bf10095dc6429edb9b2aadca9944f10ec65935 +2026-08-01-goal-command-input-projection.zh.md: dac3c96f0b26fa55e628a7d086d0b8cbccf4c282 diff --git a/.agents/notes/implemented/feature/2026-08-01-goal-command-input-projection.md b/.agents/notes/archived/feature/2026-08-01-goal-command-input-projection.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-01-goal-command-input-projection.md rename to .agents/notes/archived/feature/2026-08-01-goal-command-input-projection.md index 02836de7ea..b5bf10095d 100644 --- a/.agents/notes/implemented/feature/2026-08-01-goal-command-input-projection.md +++ b/.agents/notes/archived/feature/2026-08-01-goal-command-input-projection.md @@ -1,6 +1,7 @@ # Agent Note: Goal command input projection Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-01-goal-command-input-projection.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-01-goal-command-input-projection.zh.md b/.agents/notes/archived/feature/2026-08-01-goal-command-input-projection.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-01-goal-command-input-projection.zh.md rename to .agents/notes/archived/feature/2026-08-01-goal-command-input-projection.zh.md index 8c28ba1c90..dac3c96f0b 100644 --- a/.agents/notes/implemented/feature/2026-08-01-goal-command-input-projection.zh.md +++ b/.agents/notes/archived/feature/2026-08-01-goal-command-input-projection.zh.md @@ -1,6 +1,7 @@ # Agent Note: Goal 命令输入投影 Status: implemented +Archived: 2026-09-04 [English](2026-08-01-goal-command-input-projection.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-01-pwsh-tool-and-executor.i18n.yaml b/.agents/notes/archived/feature/2026-08-01-pwsh-tool-and-executor.i18n.yaml new file mode 100644 index 0000000000..6d1544c585 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-01-pwsh-tool-and-executor.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-01-pwsh-tool-and-executor.md +2026-08-01-pwsh-tool-and-executor.md: c5f92830c1e2ed336cb9ed1a0d5dfb2c2e8bf2ae +2026-08-01-pwsh-tool-and-executor.zh.md: d0af36ac2c2ff4dfe07d83a65016135db87f944f diff --git a/.agents/notes/implemented/feature/2026-08-01-pwsh-tool-and-executor.md b/.agents/notes/archived/feature/2026-08-01-pwsh-tool-and-executor.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-01-pwsh-tool-and-executor.md rename to .agents/notes/archived/feature/2026-08-01-pwsh-tool-and-executor.md index 2b7265f9d3..c5f92830c1 100644 --- a/.agents/notes/implemented/feature/2026-08-01-pwsh-tool-and-executor.md +++ b/.agents/notes/archived/feature/2026-08-01-pwsh-tool-and-executor.md @@ -1,6 +1,7 @@ # Agent Note: PowerShell executor and pwsh tool Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-01-pwsh-tool-and-executor.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-01-pwsh-tool-and-executor.zh.md b/.agents/notes/archived/feature/2026-08-01-pwsh-tool-and-executor.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-01-pwsh-tool-and-executor.zh.md rename to .agents/notes/archived/feature/2026-08-01-pwsh-tool-and-executor.zh.md index 21ab2d3261..d0af36ac2c 100644 --- a/.agents/notes/implemented/feature/2026-08-01-pwsh-tool-and-executor.zh.md +++ b/.agents/notes/archived/feature/2026-08-01-pwsh-tool-and-executor.zh.md @@ -1,6 +1,7 @@ # Agent Note: PowerShell 执行器与 pwsh 工具 Status: implemented +Archived: 2026-09-04 [English](2026-08-01-pwsh-tool-and-executor.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-01-windows-pwsh-default.i18n.yaml b/.agents/notes/archived/feature/2026-08-01-windows-pwsh-default.i18n.yaml new file mode 100644 index 0000000000..d06b197f00 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-01-windows-pwsh-default.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-01-windows-pwsh-default.md +2026-08-01-windows-pwsh-default.md: 5248041b5c34c03659a87919b356e831553148b0 +2026-08-01-windows-pwsh-default.zh.md: 46bf182b092ac339a65ece597772a055094713ec diff --git a/.agents/notes/implemented/feature/2026-08-01-windows-pwsh-default.md b/.agents/notes/archived/feature/2026-08-01-windows-pwsh-default.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-01-windows-pwsh-default.md rename to .agents/notes/archived/feature/2026-08-01-windows-pwsh-default.md index e4be14ad16..5248041b5c 100644 --- a/.agents/notes/implemented/feature/2026-08-01-windows-pwsh-default.md +++ b/.agents/notes/archived/feature/2026-08-01-windows-pwsh-default.md @@ -1,6 +1,7 @@ # Agent Note: Windows defaults to pwsh Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-01-windows-pwsh-default.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-01-windows-pwsh-default.zh.md b/.agents/notes/archived/feature/2026-08-01-windows-pwsh-default.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-01-windows-pwsh-default.zh.md rename to .agents/notes/archived/feature/2026-08-01-windows-pwsh-default.zh.md index f952c56fb2..46bf182b09 100644 --- a/.agents/notes/implemented/feature/2026-08-01-windows-pwsh-default.zh.md +++ b/.agents/notes/archived/feature/2026-08-01-windows-pwsh-default.zh.md @@ -1,6 +1,7 @@ # Agent Note: Windows 默认改用 pwsh Status: implemented +Archived: 2026-09-04 [English](2026-08-01-windows-pwsh-default.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-02-session-search-not-shipped-default.i18n.yaml b/.agents/notes/archived/feature/2026-08-02-session-search-not-shipped-default.i18n.yaml new file mode 100644 index 0000000000..b43cc25d0d --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-02-session-search-not-shipped-default.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-02-session-search-not-shipped-default.md +2026-08-02-session-search-not-shipped-default.md: 83b21018c8d6c94a600cfdc96ca9051b2504c040 +2026-08-02-session-search-not-shipped-default.zh.md: bf34a8a4275a6b93e04a8d025ed7046f2a01ce21 diff --git a/.agents/notes/implemented/feature/2026-08-02-session-search-not-shipped-default.md b/.agents/notes/archived/feature/2026-08-02-session-search-not-shipped-default.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-02-session-search-not-shipped-default.md rename to .agents/notes/archived/feature/2026-08-02-session-search-not-shipped-default.md index 6a324f190f..83b21018c8 100644 --- a/.agents/notes/implemented/feature/2026-08-02-session-search-not-shipped-default.md +++ b/.agents/notes/archived/feature/2026-08-02-session-search-not-shipped-default.md @@ -1,6 +1,7 @@ # Agent Note: Session search tools are not a shipped default Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-02-session-search-not-shipped-default.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-02-session-search-not-shipped-default.zh.md b/.agents/notes/archived/feature/2026-08-02-session-search-not-shipped-default.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-02-session-search-not-shipped-default.zh.md rename to .agents/notes/archived/feature/2026-08-02-session-search-not-shipped-default.zh.md index 6ecfb22c96..bf34a8a427 100644 --- a/.agents/notes/implemented/feature/2026-08-02-session-search-not-shipped-default.zh.md +++ b/.agents/notes/archived/feature/2026-08-02-session-search-not-shipped-default.zh.md @@ -1,6 +1,7 @@ # Agent Note: 会话搜索工具不是交付默认项 Status: implemented +Archived: 2026-09-04 [English](2026-08-02-session-search-not-shipped-default.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-02-web-thinking-tail-scroll.i18n.yaml b/.agents/notes/archived/feature/2026-08-02-web-thinking-tail-scroll.i18n.yaml new file mode 100644 index 0000000000..35c4ced9ac --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-02-web-thinking-tail-scroll.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-02-web-thinking-tail-scroll.md +2026-08-02-web-thinking-tail-scroll.md: 14cde9b10de15a26833c20794dd54f1b3897a72e +2026-08-02-web-thinking-tail-scroll.zh.md: 738a3149a49478fc550b449dbeb4c6fdd2cdb1a2 diff --git a/.agents/notes/implemented/feature/2026-08-02-web-thinking-tail-scroll.md b/.agents/notes/archived/feature/2026-08-02-web-thinking-tail-scroll.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-02-web-thinking-tail-scroll.md rename to .agents/notes/archived/feature/2026-08-02-web-thinking-tail-scroll.md index 38c27274b2..14cde9b10d 100644 --- a/.agents/notes/implemented/feature/2026-08-02-web-thinking-tail-scroll.md +++ b/.agents/notes/archived/feature/2026-08-02-web-thinking-tail-scroll.md @@ -1,6 +1,7 @@ # Agent Note: Web thinking tail scroll — collapsed reasoning follows live output Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-02-web-thinking-tail-scroll.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-02-web-thinking-tail-scroll.zh.md b/.agents/notes/archived/feature/2026-08-02-web-thinking-tail-scroll.zh.md similarity index 96% rename from .agents/notes/implemented/feature/2026-08-02-web-thinking-tail-scroll.zh.md rename to .agents/notes/archived/feature/2026-08-02-web-thinking-tail-scroll.zh.md index bf637228b3..738a3149a4 100644 --- a/.agents/notes/implemented/feature/2026-08-02-web-thinking-tail-scroll.zh.md +++ b/.agents/notes/archived/feature/2026-08-02-web-thinking-tail-scroll.zh.md @@ -1,6 +1,7 @@ -# Agent Note:Web 思考尾部滚动 —— 折叠态 reasoning 跟随实时输出 +# Agent Note: Web 思考尾部滚动 —— 折叠态 reasoning 跟随实时输出 Status: implemented +Archived: 2026-09-04 [English](2026-08-02-web-thinking-tail-scroll.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-02-win32-in-process-folder-dialog.i18n.yaml b/.agents/notes/archived/feature/2026-08-02-win32-in-process-folder-dialog.i18n.yaml new file mode 100644 index 0000000000..431961d892 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-02-win32-in-process-folder-dialog.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-02-win32-in-process-folder-dialog.md +2026-08-02-win32-in-process-folder-dialog.md: 62b18288ad6f232fcab76189e507e2990b2630f2 +2026-08-02-win32-in-process-folder-dialog.zh.md: 6d537c0a020f2638d59b6ee16c0a58aaa33ddba4 diff --git a/.agents/notes/implemented/feature/2026-08-02-win32-in-process-folder-dialog.md b/.agents/notes/archived/feature/2026-08-02-win32-in-process-folder-dialog.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-02-win32-in-process-folder-dialog.md rename to .agents/notes/archived/feature/2026-08-02-win32-in-process-folder-dialog.md index 52eab80499..62b18288ad 100644 --- a/.agents/notes/implemented/feature/2026-08-02-win32-in-process-folder-dialog.md +++ b/.agents/notes/archived/feature/2026-08-02-win32-in-process-folder-dialog.md @@ -1,6 +1,7 @@ # Agent Note: Win32 folder picker moves to koffi in a child process Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-02-win32-in-process-folder-dialog.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-02-win32-in-process-folder-dialog.zh.md b/.agents/notes/archived/feature/2026-08-02-win32-in-process-folder-dialog.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-02-win32-in-process-folder-dialog.zh.md rename to .agents/notes/archived/feature/2026-08-02-win32-in-process-folder-dialog.zh.md index af45bc18d6..6d537c0a02 100644 --- a/.agents/notes/implemented/feature/2026-08-02-win32-in-process-folder-dialog.zh.md +++ b/.agents/notes/archived/feature/2026-08-02-win32-in-process-folder-dialog.zh.md @@ -1,6 +1,7 @@ # Agent Note: Win32 文件夹选择器迁至 koffi 子进程 Status: implemented +Archived: 2026-09-04 [English](2026-08-02-win32-in-process-folder-dialog.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-03-fs-tool-error-remedy.i18n.yaml b/.agents/notes/archived/feature/2026-08-03-fs-tool-error-remedy.i18n.yaml new file mode 100644 index 0000000000..6ef864191a --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-03-fs-tool-error-remedy.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-03-fs-tool-error-remedy.md +2026-08-03-fs-tool-error-remedy.md: c7be3e51a6e29218c95444b6a01fd3f098a8e8d0 +2026-08-03-fs-tool-error-remedy.zh.md: 1064c2782711806dfea2036772633ba6f0d7f94e diff --git a/.agents/notes/implemented/feature/2026-08-03-fs-tool-error-remedy.md b/.agents/notes/archived/feature/2026-08-03-fs-tool-error-remedy.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-03-fs-tool-error-remedy.md rename to .agents/notes/archived/feature/2026-08-03-fs-tool-error-remedy.md index ae72e04b5b..c7be3e51a6 100644 --- a/.agents/notes/implemented/feature/2026-08-03-fs-tool-error-remedy.md +++ b/.agents/notes/archived/feature/2026-08-03-fs-tool-error-remedy.md @@ -1,6 +1,7 @@ # Agent Note: Stale-version errors append the recovery instruction at the model boundary Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-03-fs-tool-error-remedy.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-03-fs-tool-error-remedy.zh.md b/.agents/notes/archived/feature/2026-08-03-fs-tool-error-remedy.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-03-fs-tool-error-remedy.zh.md rename to .agents/notes/archived/feature/2026-08-03-fs-tool-error-remedy.zh.md index 3c65ca0658..1064c27827 100644 --- a/.agents/notes/implemented/feature/2026-08-03-fs-tool-error-remedy.zh.md +++ b/.agents/notes/archived/feature/2026-08-03-fs-tool-error-remedy.zh.md @@ -1,6 +1,7 @@ # Agent Note: 陈旧版本错误在模型边界追加恢复指令 Status: implemented +Archived: 2026-09-04 [English](2026-08-03-fs-tool-error-remedy.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-03-web-search-source-scroll.i18n.yaml b/.agents/notes/archived/feature/2026-08-03-web-search-source-scroll.i18n.yaml new file mode 100644 index 0000000000..cc290cd9ad --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-03-web-search-source-scroll.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-03-web-search-source-scroll.md +2026-08-03-web-search-source-scroll.md: b9b4c2a6cc5089591812bc072380bfababa375fc +2026-08-03-web-search-source-scroll.zh.md: 78bc6bffd73137ded41d0378e700700f2e05b006 diff --git a/.agents/notes/implemented/feature/2026-08-03-web-search-source-scroll.md b/.agents/notes/archived/feature/2026-08-03-web-search-source-scroll.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-03-web-search-source-scroll.md rename to .agents/notes/archived/feature/2026-08-03-web-search-source-scroll.md index 0609f45a19..b9b4c2a6cc 100644 --- a/.agents/notes/implemented/feature/2026-08-03-web-search-source-scroll.md +++ b/.agents/notes/archived/feature/2026-08-03-web-search-source-scroll.md @@ -1,6 +1,7 @@ # Agent Note: Web search source card scrolls instead of collapsing Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-03-web-search-source-scroll.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-03-web-search-source-scroll.zh.md b/.agents/notes/archived/feature/2026-08-03-web-search-source-scroll.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-03-web-search-source-scroll.zh.md rename to .agents/notes/archived/feature/2026-08-03-web-search-source-scroll.zh.md index 1649598dfc..78bc6bffd7 100644 --- a/.agents/notes/implemented/feature/2026-08-03-web-search-source-scroll.zh.md +++ b/.agents/notes/archived/feature/2026-08-03-web-search-source-scroll.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web search 来源卡片改为滚动而非折叠 Status: implemented +Archived: 2026-09-04 [English](2026-08-03-web-search-source-scroll.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-03-web-turn-run-time.i18n.yaml b/.agents/notes/archived/feature/2026-08-03-web-turn-run-time.i18n.yaml new file mode 100644 index 0000000000..237338630e --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-03-web-turn-run-time.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-03-web-turn-run-time.md +2026-08-03-web-turn-run-time.md: de086128315e245c78bad51e21d24dd4680a6dcd +2026-08-03-web-turn-run-time.zh.md: bcac062803b21c4662ac632a51f46eb8090f3192 diff --git a/.agents/notes/implemented/feature/2026-08-03-web-turn-run-time.md b/.agents/notes/archived/feature/2026-08-03-web-turn-run-time.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-03-web-turn-run-time.md rename to .agents/notes/archived/feature/2026-08-03-web-turn-run-time.md index c77a365d66..de08612831 100644 --- a/.agents/notes/implemented/feature/2026-08-03-web-turn-run-time.md +++ b/.agents/notes/archived/feature/2026-08-03-web-turn-run-time.md @@ -1,6 +1,7 @@ # Agent Note: Web turn run time and hover-revealed time chrome Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-03-web-turn-run-time.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-03-web-turn-run-time.zh.md b/.agents/notes/archived/feature/2026-08-03-web-turn-run-time.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-03-web-turn-run-time.zh.md rename to .agents/notes/archived/feature/2026-08-03-web-turn-run-time.zh.md index ca7fdc6ef1..bcac062803 100644 --- a/.agents/notes/implemented/feature/2026-08-03-web-turn-run-time.zh.md +++ b/.agents/notes/archived/feature/2026-08-03-web-turn-run-time.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 轮次运行时长与悬停显示的时间附属元素 Status: implemented +Archived: 2026-09-04 [English](2026-08-03-web-turn-run-time.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-04-pointer-revealed-sidebar-scrollbars.i18n.yaml b/.agents/notes/archived/feature/2026-08-04-pointer-revealed-sidebar-scrollbars.i18n.yaml new file mode 100644 index 0000000000..492dd0c074 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-04-pointer-revealed-sidebar-scrollbars.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-04-pointer-revealed-sidebar-scrollbars.md +2026-08-04-pointer-revealed-sidebar-scrollbars.md: d04dd095937a1b3cc0e8c158898defad1983e600 +2026-08-04-pointer-revealed-sidebar-scrollbars.zh.md: 36e8114c02b74181e16cfebe84bed7eb0a787e6a diff --git a/.agents/notes/implemented/feature/2026-08-04-pointer-revealed-sidebar-scrollbars.md b/.agents/notes/archived/feature/2026-08-04-pointer-revealed-sidebar-scrollbars.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-04-pointer-revealed-sidebar-scrollbars.md rename to .agents/notes/archived/feature/2026-08-04-pointer-revealed-sidebar-scrollbars.md index 5a9a0b948e..d04dd09593 100644 --- a/.agents/notes/implemented/feature/2026-08-04-pointer-revealed-sidebar-scrollbars.md +++ b/.agents/notes/archived/feature/2026-08-04-pointer-revealed-sidebar-scrollbars.md @@ -1,6 +1,7 @@ # Agent Note: The sidebar's scrollbars follow the pointer Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-04-pointer-revealed-sidebar-scrollbars.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-04-pointer-revealed-sidebar-scrollbars.zh.md b/.agents/notes/archived/feature/2026-08-04-pointer-revealed-sidebar-scrollbars.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-04-pointer-revealed-sidebar-scrollbars.zh.md rename to .agents/notes/archived/feature/2026-08-04-pointer-revealed-sidebar-scrollbars.zh.md index 35350e1811..36e8114c02 100644 --- a/.agents/notes/implemented/feature/2026-08-04-pointer-revealed-sidebar-scrollbars.zh.md +++ b/.agents/notes/archived/feature/2026-08-04-pointer-revealed-sidebar-scrollbars.zh.md @@ -1,6 +1,7 @@ # Agent Note: 侧边栏的滚动条跟随指针 Status: implemented +Archived: 2026-09-04 [English](2026-08-04-pointer-revealed-sidebar-scrollbars.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-04-web-composer-shared-width-axis.i18n.yaml b/.agents/notes/archived/feature/2026-08-04-web-composer-shared-width-axis.i18n.yaml new file mode 100644 index 0000000000..ef079b09ac --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-04-web-composer-shared-width-axis.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-04-web-composer-shared-width-axis.md +2026-08-04-web-composer-shared-width-axis.md: a67729ba979dd3225d3979f3202adac1aa447dde +2026-08-04-web-composer-shared-width-axis.zh.md: ff566d3be6e613a2cc6dc2042c711ac7d2ba430a diff --git a/.agents/notes/implemented/feature/2026-08-04-web-composer-shared-width-axis.md b/.agents/notes/archived/feature/2026-08-04-web-composer-shared-width-axis.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-04-web-composer-shared-width-axis.md rename to .agents/notes/archived/feature/2026-08-04-web-composer-shared-width-axis.md index f667363fb2..a67729ba97 100644 --- a/.agents/notes/implemented/feature/2026-08-04-web-composer-shared-width-axis.md +++ b/.agents/notes/archived/feature/2026-08-04-web-composer-shared-width-axis.md @@ -1,6 +1,7 @@ # Agent Note: Web composer shared width axis and control-row polish Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-04-web-composer-shared-width-axis.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-04-web-composer-shared-width-axis.zh.md b/.agents/notes/archived/feature/2026-08-04-web-composer-shared-width-axis.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-04-web-composer-shared-width-axis.zh.md rename to .agents/notes/archived/feature/2026-08-04-web-composer-shared-width-axis.zh.md index 6268cfb198..ff566d3be6 100644 --- a/.agents/notes/implemented/feature/2026-08-04-web-composer-shared-width-axis.zh.md +++ b/.agents/notes/archived/feature/2026-08-04-web-composer-shared-width-axis.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 输入区共享宽度轴与控制行打磨 Status: implemented +Archived: 2026-09-04 [English](2026-08-04-web-composer-shared-width-axis.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-04-web-context-source-and-steer-marks.i18n.yaml b/.agents/notes/archived/feature/2026-08-04-web-context-source-and-steer-marks.i18n.yaml new file mode 100644 index 0000000000..553e969c29 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-04-web-context-source-and-steer-marks.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-04-web-context-source-and-steer-marks.md +2026-08-04-web-context-source-and-steer-marks.md: 65972e4e508e6048bdaf6f11c07422e686df3a8f +2026-08-04-web-context-source-and-steer-marks.zh.md: f93677034bf5a9f1e7997d0d750d950df5f639dd diff --git a/.agents/notes/implemented/feature/2026-08-04-web-context-source-and-steer-marks.md b/.agents/notes/archived/feature/2026-08-04-web-context-source-and-steer-marks.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-04-web-context-source-and-steer-marks.md rename to .agents/notes/archived/feature/2026-08-04-web-context-source-and-steer-marks.md index 0a9d6a4ebd..65972e4e50 100644 --- a/.agents/notes/implemented/feature/2026-08-04-web-context-source-and-steer-marks.md +++ b/.agents/notes/archived/feature/2026-08-04-web-context-source-and-steer-marks.md @@ -1,6 +1,7 @@ # Agent Note: Web transcript marks context source, recall, and steering Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-04-web-context-source-and-steer-marks.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-04-web-context-source-and-steer-marks.zh.md b/.agents/notes/archived/feature/2026-08-04-web-context-source-and-steer-marks.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-04-web-context-source-and-steer-marks.zh.md rename to .agents/notes/archived/feature/2026-08-04-web-context-source-and-steer-marks.zh.md index 3e3f80cc54..f93677034b 100644 --- a/.agents/notes/implemented/feature/2026-08-04-web-context-source-and-steer-marks.zh.md +++ b/.agents/notes/archived/feature/2026-08-04-web-context-source-and-steer-marks.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web transcript 标出上下文来源、召回与 steering Status: implemented +Archived: 2026-09-04 [English](2026-08-04-web-context-source-and-steer-marks.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-04-web-latency-throughput-metrics.i18n.yaml b/.agents/notes/archived/feature/2026-08-04-web-latency-throughput-metrics.i18n.yaml new file mode 100644 index 0000000000..3e1923bd00 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-04-web-latency-throughput-metrics.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-04-web-latency-throughput-metrics.md +2026-08-04-web-latency-throughput-metrics.md: 7ddc2f74cf963f3289f9965f25aadcc76f290ced +2026-08-04-web-latency-throughput-metrics.zh.md: d9dcc02e8c12f20a2fc6264abdca72772cad037a diff --git a/.agents/notes/implemented/feature/2026-08-04-web-latency-throughput-metrics.md b/.agents/notes/archived/feature/2026-08-04-web-latency-throughput-metrics.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-04-web-latency-throughput-metrics.md rename to .agents/notes/archived/feature/2026-08-04-web-latency-throughput-metrics.md index 14ec765a7a..7ddc2f74cf 100644 --- a/.agents/notes/implemented/feature/2026-08-04-web-latency-throughput-metrics.md +++ b/.agents/notes/archived/feature/2026-08-04-web-latency-throughput-metrics.md @@ -1,6 +1,7 @@ # Agent Note: Web turn and window latency/throughput metrics Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-04-web-latency-throughput-metrics.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-04-web-latency-throughput-metrics.zh.md b/.agents/notes/archived/feature/2026-08-04-web-latency-throughput-metrics.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-04-web-latency-throughput-metrics.zh.md rename to .agents/notes/archived/feature/2026-08-04-web-latency-throughput-metrics.zh.md index 52e6c33c52..d9dcc02e8c 100644 --- a/.agents/notes/implemented/feature/2026-08-04-web-latency-throughput-metrics.zh.md +++ b/.agents/notes/archived/feature/2026-08-04-web-latency-throughput-metrics.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 轮次与窗口级延迟/吞吐指标 Status: implemented +Archived: 2026-09-04 [English](2026-08-04-web-latency-throughput-metrics.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-04-web-slash-command-fuzzy-discovery.i18n.yaml b/.agents/notes/archived/feature/2026-08-04-web-slash-command-fuzzy-discovery.i18n.yaml new file mode 100644 index 0000000000..32138066b2 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-04-web-slash-command-fuzzy-discovery.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-04-web-slash-command-fuzzy-discovery.md +2026-08-04-web-slash-command-fuzzy-discovery.md: 24275dbcd063cc35d524d8f786fb3d243fc141b8 +2026-08-04-web-slash-command-fuzzy-discovery.zh.md: bf0c368114e9d38ace536b8497ae2cf34920a771 diff --git a/.agents/notes/implemented/feature/2026-08-04-web-slash-command-fuzzy-discovery.md b/.agents/notes/archived/feature/2026-08-04-web-slash-command-fuzzy-discovery.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-04-web-slash-command-fuzzy-discovery.md rename to .agents/notes/archived/feature/2026-08-04-web-slash-command-fuzzy-discovery.md index 17ba1a1cba..24275dbcd0 100644 --- a/.agents/notes/implemented/feature/2026-08-04-web-slash-command-fuzzy-discovery.md +++ b/.agents/notes/archived/feature/2026-08-04-web-slash-command-fuzzy-discovery.md @@ -1,6 +1,7 @@ # Agent Note: Web slash-command fuzzy discovery Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-04-web-slash-command-fuzzy-discovery.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-04-web-slash-command-fuzzy-discovery.zh.md b/.agents/notes/archived/feature/2026-08-04-web-slash-command-fuzzy-discovery.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-04-web-slash-command-fuzzy-discovery.zh.md rename to .agents/notes/archived/feature/2026-08-04-web-slash-command-fuzzy-discovery.zh.md index fe23dcb5d3..bf0c368114 100644 --- a/.agents/notes/implemented/feature/2026-08-04-web-slash-command-fuzzy-discovery.zh.md +++ b/.agents/notes/archived/feature/2026-08-04-web-slash-command-fuzzy-discovery.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 斜杠命令模糊发现 Status: implemented +Archived: 2026-09-04 [English](2026-08-04-web-slash-command-fuzzy-discovery.md) | 中文 diff --git a/.agents/notes/implemented/feature/2026-07-24-provider-retry-policies.i18n.yaml b/.agents/notes/archived/feature/2026-08-05-composer-context-meter-breakdown.i18n.yaml similarity index 55% rename from .agents/notes/implemented/feature/2026-07-24-provider-retry-policies.i18n.yaml rename to .agents/notes/archived/feature/2026-08-05-composer-context-meter-breakdown.i18n.yaml index 2291fbad05..7b8bbd1b53 100644 --- a/.agents/notes/implemented/feature/2026-07-24-provider-retry-policies.i18n.yaml +++ b/.agents/notes/archived/feature/2026-08-05-composer-context-meter-breakdown.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/feature/2026-07-24-provider-retry-policies.md -2026-07-24-provider-retry-policies.md: 996e7fcef2f323044761126d82dc53f73d3dde88 -2026-07-24-provider-retry-policies.zh.md: 8b3cb96ddb78f5bf0d680f8e9762622f1383286b +# pnpm run verify-translation-pairing --write .agents/notes/archived/feature/2026-08-05-composer-context-meter-breakdown.md +2026-08-05-composer-context-meter-breakdown.md: f9934c09784f0cc0ef0f07025f5bfad20e82d596 +2026-08-05-composer-context-meter-breakdown.zh.md: 356733f2952f97e5eafb97d294f25f51a058d7c8 diff --git a/.agents/notes/implemented/feature/2026-08-05-composer-context-meter-breakdown.md b/.agents/notes/archived/feature/2026-08-05-composer-context-meter-breakdown.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-05-composer-context-meter-breakdown.md rename to .agents/notes/archived/feature/2026-08-05-composer-context-meter-breakdown.md index 318a1caf7d..f9934c0978 100644 --- a/.agents/notes/implemented/feature/2026-08-05-composer-context-meter-breakdown.md +++ b/.agents/notes/archived/feature/2026-08-05-composer-context-meter-breakdown.md @@ -1,6 +1,7 @@ # Agent Note: Composer context meter with heuristic composition breakdown Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-05-composer-context-meter-breakdown.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-05-composer-context-meter-breakdown.zh.md b/.agents/notes/archived/feature/2026-08-05-composer-context-meter-breakdown.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-05-composer-context-meter-breakdown.zh.md rename to .agents/notes/archived/feature/2026-08-05-composer-context-meter-breakdown.zh.md index 886108dd9c..356733f295 100644 --- a/.agents/notes/implemented/feature/2026-08-05-composer-context-meter-breakdown.zh.md +++ b/.agents/notes/archived/feature/2026-08-05-composer-context-meter-breakdown.zh.md @@ -1,6 +1,7 @@ # Agent Note: composer 上下文占用圆环与启发式组成明细 Status: implemented +Archived: 2026-09-04 [English](2026-08-05-composer-context-meter-breakdown.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-05-feedback-gated-session-telemetry.i18n.yaml b/.agents/notes/archived/feature/2026-08-05-feedback-gated-session-telemetry.i18n.yaml new file mode 100644 index 0000000000..c2328631e0 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-05-feedback-gated-session-telemetry.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-05-feedback-gated-session-telemetry.md +2026-08-05-feedback-gated-session-telemetry.md: 0298fc7ea865a83381c0129a6fac78a05c8994fe +2026-08-05-feedback-gated-session-telemetry.zh.md: 301b212a8af2d8cd481ce3ea934af2054fa28826 diff --git a/.agents/notes/implemented/feature/2026-08-05-feedback-gated-session-telemetry.md b/.agents/notes/archived/feature/2026-08-05-feedback-gated-session-telemetry.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-05-feedback-gated-session-telemetry.md rename to .agents/notes/archived/feature/2026-08-05-feedback-gated-session-telemetry.md index 1ca8a9d3c5..0298fc7ea8 100644 --- a/.agents/notes/implemented/feature/2026-08-05-feedback-gated-session-telemetry.md +++ b/.agents/notes/archived/feature/2026-08-05-feedback-gated-session-telemetry.md @@ -1,6 +1,7 @@ # Agent Note: Feedback-gated session telemetry Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-05-feedback-gated-session-telemetry.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-05-feedback-gated-session-telemetry.zh.md b/.agents/notes/archived/feature/2026-08-05-feedback-gated-session-telemetry.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-05-feedback-gated-session-telemetry.zh.md rename to .agents/notes/archived/feature/2026-08-05-feedback-gated-session-telemetry.zh.md index 4be80fba3f..301b212a8a 100644 --- a/.agents/notes/implemented/feature/2026-08-05-feedback-gated-session-telemetry.zh.md +++ b/.agents/notes/archived/feature/2026-08-05-feedback-gated-session-telemetry.zh.md @@ -1,6 +1,7 @@ # Agent Note: 反馈门控的会话遥测 Status: implemented +Archived: 2026-09-04 [English](2026-08-05-feedback-gated-session-telemetry.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-05-per-agent-tool-presentation.i18n.yaml b/.agents/notes/archived/feature/2026-08-05-per-agent-tool-presentation.i18n.yaml new file mode 100644 index 0000000000..265e0c4e05 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-05-per-agent-tool-presentation.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-05-per-agent-tool-presentation.md +2026-08-05-per-agent-tool-presentation.md: 4b4080f722149c0e79490cdcbaaa16d97b27204b +2026-08-05-per-agent-tool-presentation.zh.md: 15cd0602a17a14dbe3c3422aafd047c612aab87c diff --git a/.agents/notes/implemented/feature/2026-08-05-per-agent-tool-presentation.md b/.agents/notes/archived/feature/2026-08-05-per-agent-tool-presentation.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-05-per-agent-tool-presentation.md rename to .agents/notes/archived/feature/2026-08-05-per-agent-tool-presentation.md index b85af65604..4b4080f722 100644 --- a/.agents/notes/implemented/feature/2026-08-05-per-agent-tool-presentation.md +++ b/.agents/notes/archived/feature/2026-08-05-per-agent-tool-presentation.md @@ -1,6 +1,7 @@ # Agent Note: Per-agent tool presentation, and the `ptc` preset Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-05-per-agent-tool-presentation.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-05-per-agent-tool-presentation.zh.md b/.agents/notes/archived/feature/2026-08-05-per-agent-tool-presentation.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-05-per-agent-tool-presentation.zh.md rename to .agents/notes/archived/feature/2026-08-05-per-agent-tool-presentation.zh.md index e6d81ae072..15cd0602a1 100644 --- a/.agents/notes/implemented/feature/2026-08-05-per-agent-tool-presentation.zh.md +++ b/.agents/notes/archived/feature/2026-08-05-per-agent-tool-presentation.zh.md @@ -1,6 +1,7 @@ # Agent Note: 按 agent 的工具呈现方式,以及 `ptc` 预设 Status: implemented +Archived: 2026-09-04 [English](2026-08-05-per-agent-tool-presentation.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-05-pwsh-ui-bash-parity.i18n.yaml b/.agents/notes/archived/feature/2026-08-05-pwsh-ui-bash-parity.i18n.yaml new file mode 100644 index 0000000000..a8a996e246 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-05-pwsh-ui-bash-parity.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-05-pwsh-ui-bash-parity.md +2026-08-05-pwsh-ui-bash-parity.md: a41541a8ef7b2a5c59b536ba1cce224a9459df91 +2026-08-05-pwsh-ui-bash-parity.zh.md: c0e4fe0df31a5e069564006aca58ed555b20b8e1 diff --git a/.agents/notes/implemented/feature/2026-08-05-pwsh-ui-bash-parity.md b/.agents/notes/archived/feature/2026-08-05-pwsh-ui-bash-parity.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-05-pwsh-ui-bash-parity.md rename to .agents/notes/archived/feature/2026-08-05-pwsh-ui-bash-parity.md index ee7a6146fc..a41541a8ef 100644 --- a/.agents/notes/implemented/feature/2026-08-05-pwsh-ui-bash-parity.md +++ b/.agents/notes/archived/feature/2026-08-05-pwsh-ui-bash-parity.md @@ -1,6 +1,7 @@ # Agent Note: pwsh UI presentation matches bash Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-05-pwsh-ui-bash-parity.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-05-pwsh-ui-bash-parity.zh.md b/.agents/notes/archived/feature/2026-08-05-pwsh-ui-bash-parity.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-05-pwsh-ui-bash-parity.zh.md rename to .agents/notes/archived/feature/2026-08-05-pwsh-ui-bash-parity.zh.md index cc6e7fb8c3..c0e4fe0df3 100644 --- a/.agents/notes/implemented/feature/2026-08-05-pwsh-ui-bash-parity.zh.md +++ b/.agents/notes/archived/feature/2026-08-05-pwsh-ui-bash-parity.zh.md @@ -1,6 +1,7 @@ # Agent Note: pwsh UI presentation matches bash Status: implemented +Archived: 2026-09-04 [English](2026-08-05-pwsh-ui-bash-parity.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-05-web-preview-product-badge.i18n.yaml b/.agents/notes/archived/feature/2026-08-05-web-preview-product-badge.i18n.yaml new file mode 100644 index 0000000000..94e408742e --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-05-web-preview-product-badge.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-05-web-preview-product-badge.md +2026-08-05-web-preview-product-badge.md: 784b80cc72aea66bf9669c72eb346f45a83c1721 +2026-08-05-web-preview-product-badge.zh.md: 49ab20a956d0f6d1ee735bf91440cb78538ad8c8 diff --git a/.agents/notes/implemented/feature/2026-08-05-web-preview-product-badge.md b/.agents/notes/archived/feature/2026-08-05-web-preview-product-badge.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-05-web-preview-product-badge.md rename to .agents/notes/archived/feature/2026-08-05-web-preview-product-badge.md index c20dedf8ca..784b80cc72 100644 --- a/.agents/notes/implemented/feature/2026-08-05-web-preview-product-badge.md +++ b/.agents/notes/archived/feature/2026-08-05-web-preview-product-badge.md @@ -1,6 +1,7 @@ # Agent Note: Web preview product badge Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-05-web-preview-product-badge.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-05-web-preview-product-badge.zh.md b/.agents/notes/archived/feature/2026-08-05-web-preview-product-badge.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-05-web-preview-product-badge.zh.md rename to .agents/notes/archived/feature/2026-08-05-web-preview-product-badge.zh.md index 415a7cb3eb..49ab20a956 100644 --- a/.agents/notes/implemented/feature/2026-08-05-web-preview-product-badge.zh.md +++ b/.agents/notes/archived/feature/2026-08-05-web-preview-product-badge.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 预览版产品徽标 Status: implemented +Archived: 2026-09-04 [English](2026-08-05-web-preview-product-badge.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-06-agent-teams-web.i18n.yaml b/.agents/notes/archived/feature/2026-08-06-agent-teams-web.i18n.yaml new file mode 100644 index 0000000000..f59d5f9e79 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-06-agent-teams-web.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-06-agent-teams-web.md +2026-08-06-agent-teams-web.md: 3984c2842d7f78152465b8d0792bddda10f61a03 +2026-08-06-agent-teams-web.zh.md: 5154e2f918c611266cc95480807c1f08427d155f diff --git a/.agents/notes/implemented/feature/2026-08-06-agent-teams-web.md b/.agents/notes/archived/feature/2026-08-06-agent-teams-web.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-06-agent-teams-web.md rename to .agents/notes/archived/feature/2026-08-06-agent-teams-web.md index 5002146f7d..3984c2842d 100644 --- a/.agents/notes/implemented/feature/2026-08-06-agent-teams-web.md +++ b/.agents/notes/archived/feature/2026-08-06-agent-teams-web.md @@ -1,6 +1,7 @@ # Agent Note: Experimental Agent Teams Web controls Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-agent-teams-web.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-06-agent-teams-web.zh.md b/.agents/notes/archived/feature/2026-08-06-agent-teams-web.zh.md similarity index 98% rename from .agents/notes/implemented/feature/2026-08-06-agent-teams-web.zh.md rename to .agents/notes/archived/feature/2026-08-06-agent-teams-web.zh.md index d05f221418..5154e2f918 100644 --- a/.agents/notes/implemented/feature/2026-08-06-agent-teams-web.zh.md +++ b/.agents/notes/archived/feature/2026-08-06-agent-teams-web.zh.md @@ -1,6 +1,7 @@ -# Agent Note:实验性 Agent Teams Web 控件 +# Agent Note: 实验性 Agent Teams Web 控件 -状态:已实现 +Status: implemented +Archived: 2026-09-04 [English](2026-08-06-agent-teams-web.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-06-mcp-client-auto-reconnect.i18n.yaml b/.agents/notes/archived/feature/2026-08-06-mcp-client-auto-reconnect.i18n.yaml new file mode 100644 index 0000000000..dd1c72b503 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-06-mcp-client-auto-reconnect.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-06-mcp-client-auto-reconnect.md +2026-08-06-mcp-client-auto-reconnect.md: 3843d727db4d582b6a2fd884720ef2e17d9c1ebb +2026-08-06-mcp-client-auto-reconnect.zh.md: fe030c069a6f1db41ab53dc84bd637dc6e577d55 diff --git a/.agents/notes/implemented/feature/2026-08-06-mcp-client-auto-reconnect.md b/.agents/notes/archived/feature/2026-08-06-mcp-client-auto-reconnect.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-06-mcp-client-auto-reconnect.md rename to .agents/notes/archived/feature/2026-08-06-mcp-client-auto-reconnect.md index 0f9119c620..3843d727db 100644 --- a/.agents/notes/implemented/feature/2026-08-06-mcp-client-auto-reconnect.md +++ b/.agents/notes/archived/feature/2026-08-06-mcp-client-auto-reconnect.md @@ -1,6 +1,7 @@ # Agent Note: MCP client auto-reconnect with bounded backoff Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-mcp-client-auto-reconnect.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-06-mcp-client-auto-reconnect.zh.md b/.agents/notes/archived/feature/2026-08-06-mcp-client-auto-reconnect.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-06-mcp-client-auto-reconnect.zh.md rename to .agents/notes/archived/feature/2026-08-06-mcp-client-auto-reconnect.zh.md index 62be78821d..fe030c069a 100644 --- a/.agents/notes/implemented/feature/2026-08-06-mcp-client-auto-reconnect.zh.md +++ b/.agents/notes/archived/feature/2026-08-06-mcp-client-auto-reconnect.zh.md @@ -1,6 +1,7 @@ # Agent Note: MCP client auto-reconnect with bounded backoff Status: implemented +Archived: 2026-09-04 [English](2026-08-06-mcp-client-auto-reconnect.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-06-resolved-theme-color-metadata.i18n.yaml b/.agents/notes/archived/feature/2026-08-06-resolved-theme-color-metadata.i18n.yaml new file mode 100644 index 0000000000..36fc861dc4 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-06-resolved-theme-color-metadata.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-06-resolved-theme-color-metadata.md +2026-08-06-resolved-theme-color-metadata.md: 35b3fa2eea5ef117921fc35833c0ab4f7244129f +2026-08-06-resolved-theme-color-metadata.zh.md: 5617be708721d30cdb0cf0bab36ae0225f57a47b diff --git a/.agents/notes/implemented/feature/2026-08-06-resolved-theme-color-metadata.md b/.agents/notes/archived/feature/2026-08-06-resolved-theme-color-metadata.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-06-resolved-theme-color-metadata.md rename to .agents/notes/archived/feature/2026-08-06-resolved-theme-color-metadata.md index 2f7a6f0bde..35b3fa2eea 100644 --- a/.agents/notes/implemented/feature/2026-08-06-resolved-theme-color-metadata.md +++ b/.agents/notes/archived/feature/2026-08-06-resolved-theme-color-metadata.md @@ -1,6 +1,7 @@ # Agent Note: Resolved theme color metadata Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-resolved-theme-color-metadata.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-06-resolved-theme-color-metadata.zh.md b/.agents/notes/archived/feature/2026-08-06-resolved-theme-color-metadata.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-06-resolved-theme-color-metadata.zh.md rename to .agents/notes/archived/feature/2026-08-06-resolved-theme-color-metadata.zh.md index 0312794c60..5617be7087 100644 --- a/.agents/notes/implemented/feature/2026-08-06-resolved-theme-color-metadata.zh.md +++ b/.agents/notes/archived/feature/2026-08-06-resolved-theme-color-metadata.zh.md @@ -1,6 +1,7 @@ # Agent Note: 基于解析后主题的颜色元数据 Status: implemented +Archived: 2026-09-04 [English](2026-08-06-resolved-theme-color-metadata.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-06-session-completed-done-dot.i18n.yaml b/.agents/notes/archived/feature/2026-08-06-session-completed-done-dot.i18n.yaml new file mode 100644 index 0000000000..2946e7078c --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-06-session-completed-done-dot.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-06-session-completed-done-dot.md +2026-08-06-session-completed-done-dot.md: 3fa09b4ec6d57986977da84d1c0de9697d27c11d +2026-08-06-session-completed-done-dot.zh.md: 42e2d9ca24485379944f44d089f85d5c3cd08151 diff --git a/.agents/notes/implemented/feature/2026-08-06-session-completed-done-dot.md b/.agents/notes/archived/feature/2026-08-06-session-completed-done-dot.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-06-session-completed-done-dot.md rename to .agents/notes/archived/feature/2026-08-06-session-completed-done-dot.md index bd6911ce13..3fa09b4ec6 100644 --- a/.agents/notes/implemented/feature/2026-08-06-session-completed-done-dot.md +++ b/.agents/notes/archived/feature/2026-08-06-session-completed-done-dot.md @@ -1,6 +1,7 @@ # Agent Note: Session completion dot in the sidebar Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-session-completed-done-dot.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-06-session-completed-done-dot.zh.md b/.agents/notes/archived/feature/2026-08-06-session-completed-done-dot.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-06-session-completed-done-dot.zh.md rename to .agents/notes/archived/feature/2026-08-06-session-completed-done-dot.zh.md index 41da7d126a..42e2d9ca24 100644 --- a/.agents/notes/implemented/feature/2026-08-06-session-completed-done-dot.zh.md +++ b/.agents/notes/archived/feature/2026-08-06-session-completed-done-dot.zh.md @@ -1,6 +1,7 @@ # Agent Note: 侧边栏会话完成提醒点 Status: implemented +Archived: 2026-09-04 [English](2026-08-06-session-completed-done-dot.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-06-web-install-manifest.i18n.yaml b/.agents/notes/archived/feature/2026-08-06-web-install-manifest.i18n.yaml new file mode 100644 index 0000000000..e46d1b30d4 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-06-web-install-manifest.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-06-web-install-manifest.md +2026-08-06-web-install-manifest.md: dea7dcafb16948abe23f873da2a9a4417b7e7f1c +2026-08-06-web-install-manifest.zh.md: 0052b399aa1fd01ac1f7119bf848976e03c35efa diff --git a/.agents/notes/implemented/feature/2026-08-06-web-install-manifest.md b/.agents/notes/archived/feature/2026-08-06-web-install-manifest.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-06-web-install-manifest.md rename to .agents/notes/archived/feature/2026-08-06-web-install-manifest.md index 9efddc03af..dea7dcafb1 100644 --- a/.agents/notes/implemented/feature/2026-08-06-web-install-manifest.md +++ b/.agents/notes/archived/feature/2026-08-06-web-install-manifest.md @@ -1,6 +1,7 @@ # Agent Note: Web install manifest metadata Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-web-install-manifest.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-06-web-install-manifest.zh.md b/.agents/notes/archived/feature/2026-08-06-web-install-manifest.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-06-web-install-manifest.zh.md rename to .agents/notes/archived/feature/2026-08-06-web-install-manifest.zh.md index a27bd46a05..0052b399aa 100644 --- a/.agents/notes/implemented/feature/2026-08-06-web-install-manifest.zh.md +++ b/.agents/notes/archived/feature/2026-08-06-web-install-manifest.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 安装 manifest 元数据 Status: implemented +Archived: 2026-09-04 [English](2026-08-06-web-install-manifest.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-06-web-queue-steer-all-gesture.i18n.yaml b/.agents/notes/archived/feature/2026-08-06-web-queue-steer-all-gesture.i18n.yaml new file mode 100644 index 0000000000..94e801f1fb --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-06-web-queue-steer-all-gesture.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-06-web-queue-steer-all-gesture.md +2026-08-06-web-queue-steer-all-gesture.md: 3589c01edaa28e0a07fabeb685a0771e4cbdef7a +2026-08-06-web-queue-steer-all-gesture.zh.md: 65d62b69e15dfa37cbb2a1fa2c86118c80b5a863 diff --git a/.agents/notes/implemented/feature/2026-08-06-web-queue-steer-all-gesture.md b/.agents/notes/archived/feature/2026-08-06-web-queue-steer-all-gesture.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-06-web-queue-steer-all-gesture.md rename to .agents/notes/archived/feature/2026-08-06-web-queue-steer-all-gesture.md index c51e837d37..3589c01eda 100644 --- a/.agents/notes/implemented/feature/2026-08-06-web-queue-steer-all-gesture.md +++ b/.agents/notes/archived/feature/2026-08-06-web-queue-steer-all-gesture.md @@ -1,6 +1,7 @@ # Agent Note: Steer the whole Web queue with an empty-draft Cmd/Ctrl+Enter Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-web-queue-steer-all-gesture.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-06-web-queue-steer-all-gesture.zh.md b/.agents/notes/archived/feature/2026-08-06-web-queue-steer-all-gesture.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-06-web-queue-steer-all-gesture.zh.md rename to .agents/notes/archived/feature/2026-08-06-web-queue-steer-all-gesture.zh.md index b0009a7a51..65d62b69e1 100644 --- a/.agents/notes/implemented/feature/2026-08-06-web-queue-steer-all-gesture.zh.md +++ b/.agents/notes/archived/feature/2026-08-06-web-queue-steer-all-gesture.zh.md @@ -1,6 +1,7 @@ # Agent Note: 空输入时 Cmd/Ctrl+Enter 将 Web 排队消息全部插话 Status: implemented +Archived: 2026-09-04 [English](2026-08-06-web-queue-steer-all-gesture.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-06-web-skill-tool-row.i18n.yaml b/.agents/notes/archived/feature/2026-08-06-web-skill-tool-row.i18n.yaml new file mode 100644 index 0000000000..911ae9fc82 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-06-web-skill-tool-row.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-06-web-skill-tool-row.md +2026-08-06-web-skill-tool-row.md: 69550d5afda67696bb55924b4db7a7a49c04ad17 +2026-08-06-web-skill-tool-row.zh.md: c0e9c3ab1ccd6c737cf797f26410ff370b18d399 diff --git a/.agents/notes/implemented/feature/2026-08-06-web-skill-tool-row.md b/.agents/notes/archived/feature/2026-08-06-web-skill-tool-row.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-06-web-skill-tool-row.md rename to .agents/notes/archived/feature/2026-08-06-web-skill-tool-row.md index a78afd5d37..69550d5afd 100644 --- a/.agents/notes/implemented/feature/2026-08-06-web-skill-tool-row.md +++ b/.agents/notes/archived/feature/2026-08-06-web-skill-tool-row.md @@ -1,6 +1,7 @@ # Agent Note: Web skill tool row Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-web-skill-tool-row.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-06-web-skill-tool-row.zh.md b/.agents/notes/archived/feature/2026-08-06-web-skill-tool-row.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-06-web-skill-tool-row.zh.md rename to .agents/notes/archived/feature/2026-08-06-web-skill-tool-row.zh.md index 469f9510ea..c0e9c3ab1c 100644 --- a/.agents/notes/implemented/feature/2026-08-06-web-skill-tool-row.zh.md +++ b/.agents/notes/archived/feature/2026-08-06-web-skill-tool-row.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web skill 工具行 Status: implemented +Archived: 2026-09-04 [English](2026-08-06-web-skill-tool-row.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-07-default-model-follows-the-picker.i18n.yaml b/.agents/notes/archived/feature/2026-08-07-default-model-follows-the-picker.i18n.yaml new file mode 100644 index 0000000000..b48e708cae --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-07-default-model-follows-the-picker.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-07-default-model-follows-the-picker.md +2026-08-07-default-model-follows-the-picker.md: 5fa14b8eb9c354586ef9b953fc13e7df931544e6 +2026-08-07-default-model-follows-the-picker.zh.md: ea5f8d936a2f649e128fea8f2d173ea55b1b605c diff --git a/.agents/notes/implemented/feature/2026-08-07-default-model-follows-the-picker.md b/.agents/notes/archived/feature/2026-08-07-default-model-follows-the-picker.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-07-default-model-follows-the-picker.md rename to .agents/notes/archived/feature/2026-08-07-default-model-follows-the-picker.md index b2d9c0fe58..5fa14b8eb9 100644 --- a/.agents/notes/implemented/feature/2026-08-07-default-model-follows-the-picker.md +++ b/.agents/notes/archived/feature/2026-08-07-default-model-follows-the-picker.md @@ -1,6 +1,7 @@ # Agent Note: the default model follows the picker Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-07-default-model-follows-the-picker.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-07-default-model-follows-the-picker.zh.md b/.agents/notes/archived/feature/2026-08-07-default-model-follows-the-picker.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-07-default-model-follows-the-picker.zh.md rename to .agents/notes/archived/feature/2026-08-07-default-model-follows-the-picker.zh.md index 7d3e5bc924..ea5f8d936a 100644 --- a/.agents/notes/implemented/feature/2026-08-07-default-model-follows-the-picker.zh.md +++ b/.agents/notes/archived/feature/2026-08-07-default-model-follows-the-picker.zh.md @@ -1,6 +1,7 @@ # Agent Note: 默认模型跟随选择器 Status: implemented +Archived: 2026-09-04 [English](2026-08-07-default-model-follows-the-picker.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-07-feedback-acknowledgement-sharing-disclosure.i18n.yaml b/.agents/notes/archived/feature/2026-08-07-feedback-acknowledgement-sharing-disclosure.i18n.yaml new file mode 100644 index 0000000000..59023a8821 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-07-feedback-acknowledgement-sharing-disclosure.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-07-feedback-acknowledgement-sharing-disclosure.md +2026-08-07-feedback-acknowledgement-sharing-disclosure.md: 82cc77275520bb713361f9a687d8962347af63f8 +2026-08-07-feedback-acknowledgement-sharing-disclosure.zh.md: 266a87c8a036081cdf4caf9fe8e430d214b1e29a diff --git a/.agents/notes/implemented/feature/2026-08-07-feedback-acknowledgement-sharing-disclosure.md b/.agents/notes/archived/feature/2026-08-07-feedback-acknowledgement-sharing-disclosure.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-07-feedback-acknowledgement-sharing-disclosure.md rename to .agents/notes/archived/feature/2026-08-07-feedback-acknowledgement-sharing-disclosure.md index daba82708b..82cc772755 100644 --- a/.agents/notes/implemented/feature/2026-08-07-feedback-acknowledgement-sharing-disclosure.md +++ b/.agents/notes/archived/feature/2026-08-07-feedback-acknowledgement-sharing-disclosure.md @@ -1,6 +1,7 @@ # Agent Note: Feedback acknowledgement sharing disclosure Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-07-feedback-acknowledgement-sharing-disclosure.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-07-feedback-acknowledgement-sharing-disclosure.zh.md b/.agents/notes/archived/feature/2026-08-07-feedback-acknowledgement-sharing-disclosure.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-07-feedback-acknowledgement-sharing-disclosure.zh.md rename to .agents/notes/archived/feature/2026-08-07-feedback-acknowledgement-sharing-disclosure.zh.md index 2be6c95dd5..266a87c8a0 100644 --- a/.agents/notes/implemented/feature/2026-08-07-feedback-acknowledgement-sharing-disclosure.zh.md +++ b/.agents/notes/archived/feature/2026-08-07-feedback-acknowledgement-sharing-disclosure.zh.md @@ -1,6 +1,7 @@ # Agent Note: 反馈确认中的会话共享披露 Status: implemented +Archived: 2026-09-04 [English](2026-08-07-feedback-acknowledgement-sharing-disclosure.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-07-web-inline-file-mentions.i18n.yaml b/.agents/notes/archived/feature/2026-08-07-web-inline-file-mentions.i18n.yaml new file mode 100644 index 0000000000..6cce34d778 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-07-web-inline-file-mentions.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-07-web-inline-file-mentions.md +2026-08-07-web-inline-file-mentions.md: a742d7eb0e420cdf4fa22b89b7ec45fc368a3268 +2026-08-07-web-inline-file-mentions.zh.md: 8c6ac4744c9172e0d2a4aece906eb5a8661a010a diff --git a/.agents/notes/implemented/feature/2026-08-07-web-inline-file-mentions.md b/.agents/notes/archived/feature/2026-08-07-web-inline-file-mentions.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-07-web-inline-file-mentions.md rename to .agents/notes/archived/feature/2026-08-07-web-inline-file-mentions.md index 0c7341e9ae..a742d7eb0e 100644 --- a/.agents/notes/implemented/feature/2026-08-07-web-inline-file-mentions.md +++ b/.agents/notes/archived/feature/2026-08-07-web-inline-file-mentions.md @@ -1,6 +1,7 @@ # Agent Note: inline-code file mentions open the file they name Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-07-web-inline-file-mentions.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-07-web-inline-file-mentions.zh.md b/.agents/notes/archived/feature/2026-08-07-web-inline-file-mentions.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-07-web-inline-file-mentions.zh.md rename to .agents/notes/archived/feature/2026-08-07-web-inline-file-mentions.zh.md index 3483672b42..8c6ac4744c 100644 --- a/.agents/notes/implemented/feature/2026-08-07-web-inline-file-mentions.zh.md +++ b/.agents/notes/archived/feature/2026-08-07-web-inline-file-mentions.zh.md @@ -1,6 +1,7 @@ # Agent Note: 行内代码文件提及可打开其命名的文件 Status: implemented +Archived: 2026-09-04 [English](2026-08-07-web-inline-file-mentions.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-08-pi-ai-per-model-reasoning-declarations.i18n.yaml b/.agents/notes/archived/feature/2026-08-08-pi-ai-per-model-reasoning-declarations.i18n.yaml new file mode 100644 index 0000000000..2ef32755f3 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-08-pi-ai-per-model-reasoning-declarations.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-08-pi-ai-per-model-reasoning-declarations.md +2026-08-08-pi-ai-per-model-reasoning-declarations.md: 8cd6b91832dc71cb7eda10f3faa9791f3d301730 +2026-08-08-pi-ai-per-model-reasoning-declarations.zh.md: fd8ff9965e382f7e2728caf0ae1eb2978a25aaf5 diff --git a/.agents/notes/implemented/feature/2026-08-08-pi-ai-per-model-reasoning-declarations.md b/.agents/notes/archived/feature/2026-08-08-pi-ai-per-model-reasoning-declarations.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-08-pi-ai-per-model-reasoning-declarations.md rename to .agents/notes/archived/feature/2026-08-08-pi-ai-per-model-reasoning-declarations.md index 0e8d5c3ca4..8cd6b91832 100644 --- a/.agents/notes/implemented/feature/2026-08-08-pi-ai-per-model-reasoning-declarations.md +++ b/.agents/notes/archived/feature/2026-08-08-pi-ai-per-model-reasoning-declarations.md @@ -1,6 +1,7 @@ # Agent Note: Per-Model Reasoning Declarations in llm-pi-ai Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-08-pi-ai-per-model-reasoning-declarations.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-08-pi-ai-per-model-reasoning-declarations.zh.md b/.agents/notes/archived/feature/2026-08-08-pi-ai-per-model-reasoning-declarations.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-08-pi-ai-per-model-reasoning-declarations.zh.md rename to .agents/notes/archived/feature/2026-08-08-pi-ai-per-model-reasoning-declarations.zh.md index c4c060b21c..fd8ff9965e 100644 --- a/.agents/notes/implemented/feature/2026-08-08-pi-ai-per-model-reasoning-declarations.zh.md +++ b/.agents/notes/archived/feature/2026-08-08-pi-ai-per-model-reasoning-declarations.zh.md @@ -1,6 +1,7 @@ # Agent Note: llm-pi-ai 的按模型推理声明 Status: implemented +Archived: 2026-09-04 [English](2026-08-08-pi-ai-per-model-reasoning-declarations.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-08-user-explicit-skill-invocation.i18n.yaml b/.agents/notes/archived/feature/2026-08-08-user-explicit-skill-invocation.i18n.yaml new file mode 100644 index 0000000000..1fa0b46adf --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-08-user-explicit-skill-invocation.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-08-user-explicit-skill-invocation.md +2026-08-08-user-explicit-skill-invocation.md: 65ef9a2ddfa4d83d56c2e10ea4377b05e3c83182 +2026-08-08-user-explicit-skill-invocation.zh.md: 2b86d590bf788fb60e220e98085a18eb5d76040f diff --git a/.agents/notes/implemented/feature/2026-08-08-user-explicit-skill-invocation.md b/.agents/notes/archived/feature/2026-08-08-user-explicit-skill-invocation.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-08-user-explicit-skill-invocation.md rename to .agents/notes/archived/feature/2026-08-08-user-explicit-skill-invocation.md index 87f4d04fb4..65ef9a2ddf 100644 --- a/.agents/notes/implemented/feature/2026-08-08-user-explicit-skill-invocation.md +++ b/.agents/notes/archived/feature/2026-08-08-user-explicit-skill-invocation.md @@ -1,6 +1,7 @@ # Agent Note: User-explicit skill invocation at the pre-step gesture boundary Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-08-user-explicit-skill-invocation.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-08-user-explicit-skill-invocation.zh.md b/.agents/notes/archived/feature/2026-08-08-user-explicit-skill-invocation.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-08-user-explicit-skill-invocation.zh.md rename to .agents/notes/archived/feature/2026-08-08-user-explicit-skill-invocation.zh.md index 7b1aa18808..2b86d590bf 100644 --- a/.agents/notes/implemented/feature/2026-08-08-user-explicit-skill-invocation.zh.md +++ b/.agents/notes/archived/feature/2026-08-08-user-explicit-skill-invocation.zh.md @@ -1,6 +1,7 @@ # Agent Note: pre-step 手势边界上的用户显式 skill 调用 Status: implemented +Archived: 2026-09-04 [English](2026-08-08-user-explicit-skill-invocation.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-09-parallel-subagent-delegations.i18n.yaml b/.agents/notes/archived/feature/2026-08-09-parallel-subagent-delegations.i18n.yaml new file mode 100644 index 0000000000..9d60baa801 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-09-parallel-subagent-delegations.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-09-parallel-subagent-delegations.md +2026-08-09-parallel-subagent-delegations.md: c252f9395014a889b66f5b70ee5ebbc9782827a6 +2026-08-09-parallel-subagent-delegations.zh.md: 575d5babb53d9524caed43cd1dbe3e91417e9f16 diff --git a/.agents/notes/implemented/feature/2026-08-09-parallel-subagent-delegations.md b/.agents/notes/archived/feature/2026-08-09-parallel-subagent-delegations.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-09-parallel-subagent-delegations.md rename to .agents/notes/archived/feature/2026-08-09-parallel-subagent-delegations.md index 7e6f933749..c252f93950 100644 --- a/.agents/notes/implemented/feature/2026-08-09-parallel-subagent-delegations.md +++ b/.agents/notes/archived/feature/2026-08-09-parallel-subagent-delegations.md @@ -1,6 +1,7 @@ # Agent Note: Parallel subagent delegations Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-09-parallel-subagent-delegations.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-09-parallel-subagent-delegations.zh.md b/.agents/notes/archived/feature/2026-08-09-parallel-subagent-delegations.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-09-parallel-subagent-delegations.zh.md rename to .agents/notes/archived/feature/2026-08-09-parallel-subagent-delegations.zh.md index 1072697355..575d5babb5 100644 --- a/.agents/notes/implemented/feature/2026-08-09-parallel-subagent-delegations.zh.md +++ b/.agents/notes/archived/feature/2026-08-09-parallel-subagent-delegations.zh.md @@ -1,6 +1,7 @@ # Agent Note: 并行 subagent 委派 Status: implemented +Archived: 2026-09-04 [English](2026-08-09-parallel-subagent-delegations.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-10-continuable-subagent-policy-inheritance.i18n.yaml b/.agents/notes/archived/feature/2026-08-10-continuable-subagent-policy-inheritance.i18n.yaml new file mode 100644 index 0000000000..b72a971de1 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-10-continuable-subagent-policy-inheritance.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-10-continuable-subagent-policy-inheritance.md +2026-08-10-continuable-subagent-policy-inheritance.md: c54222cc96a1fc6b8ca615212bb6a47e93ae4f56 +2026-08-10-continuable-subagent-policy-inheritance.zh.md: 4ca38a37276d3014dd6f3ee1cebac0e57a449579 diff --git a/.agents/notes/implemented/feature/2026-08-10-continuable-subagent-policy-inheritance.md b/.agents/notes/archived/feature/2026-08-10-continuable-subagent-policy-inheritance.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-10-continuable-subagent-policy-inheritance.md rename to .agents/notes/archived/feature/2026-08-10-continuable-subagent-policy-inheritance.md index e567c0557b..c54222cc96 100644 --- a/.agents/notes/implemented/feature/2026-08-10-continuable-subagent-policy-inheritance.md +++ b/.agents/notes/archived/feature/2026-08-10-continuable-subagent-policy-inheritance.md @@ -1,6 +1,7 @@ # Agent Note: Continuable subagent policy inheritance — the durable child log owns the delegation-time snapshot Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-10-continuable-subagent-policy-inheritance.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-10-continuable-subagent-policy-inheritance.zh.md b/.agents/notes/archived/feature/2026-08-10-continuable-subagent-policy-inheritance.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-10-continuable-subagent-policy-inheritance.zh.md rename to .agents/notes/archived/feature/2026-08-10-continuable-subagent-policy-inheritance.zh.md index 5c9cc677e9..4ca38a3727 100644 --- a/.agents/notes/implemented/feature/2026-08-10-continuable-subagent-policy-inheritance.zh.md +++ b/.agents/notes/archived/feature/2026-08-10-continuable-subagent-policy-inheritance.zh.md @@ -1,6 +1,7 @@ # Agent Note: 可继续 subagent 策略继承——持久化子日志拥有委派时快照 Status: implemented +Archived: 2026-09-04 [English](2026-08-10-continuable-subagent-policy-inheritance.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-10-durable-workflow-runs-in-chat.i18n.yaml b/.agents/notes/archived/feature/2026-08-10-durable-workflow-runs-in-chat.i18n.yaml new file mode 100644 index 0000000000..284f43658a --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-10-durable-workflow-runs-in-chat.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-10-durable-workflow-runs-in-chat.md +2026-08-10-durable-workflow-runs-in-chat.md: 01c59ef25996d6349ab2904f148bf4e72fdd5f09 +2026-08-10-durable-workflow-runs-in-chat.zh.md: 5f6b39b59beca5e2363261605ec58fbdcf71ea6f diff --git a/.agents/notes/implemented/feature/2026-08-10-durable-workflow-runs-in-chat.md b/.agents/notes/archived/feature/2026-08-10-durable-workflow-runs-in-chat.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-10-durable-workflow-runs-in-chat.md rename to .agents/notes/archived/feature/2026-08-10-durable-workflow-runs-in-chat.md index 817fd4debd..01c59ef259 100644 --- a/.agents/notes/implemented/feature/2026-08-10-durable-workflow-runs-in-chat.md +++ b/.agents/notes/archived/feature/2026-08-10-durable-workflow-runs-in-chat.md @@ -1,6 +1,7 @@ # Agent Note: Durable workflow runs in Chat Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-10-durable-workflow-runs-in-chat.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-10-durable-workflow-runs-in-chat.zh.md b/.agents/notes/archived/feature/2026-08-10-durable-workflow-runs-in-chat.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-10-durable-workflow-runs-in-chat.zh.md rename to .agents/notes/archived/feature/2026-08-10-durable-workflow-runs-in-chat.zh.md index 1a31e54dc9..5f6b39b59b 100644 --- a/.agents/notes/implemented/feature/2026-08-10-durable-workflow-runs-in-chat.zh.md +++ b/.agents/notes/archived/feature/2026-08-10-durable-workflow-runs-in-chat.zh.md @@ -1,6 +1,7 @@ # Agent Note: Chat 中的持久工作流运行 Status: implemented +Archived: 2026-09-04 [English](2026-08-10-durable-workflow-runs-in-chat.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-10-minimal-read-image-tool.i18n.yaml b/.agents/notes/archived/feature/2026-08-10-minimal-read-image-tool.i18n.yaml new file mode 100644 index 0000000000..a0bde204a4 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-10-minimal-read-image-tool.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-10-minimal-read-image-tool.md +2026-08-10-minimal-read-image-tool.md: 52476b9d050c0c06cd81460c4160aba010b50797 +2026-08-10-minimal-read-image-tool.zh.md: 936197b8bdde498b5cdc4d84a41bbb1d96850361 diff --git a/.agents/notes/implemented/feature/2026-08-10-minimal-read-image-tool.md b/.agents/notes/archived/feature/2026-08-10-minimal-read-image-tool.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-10-minimal-read-image-tool.md rename to .agents/notes/archived/feature/2026-08-10-minimal-read-image-tool.md index fa6cbca90e..52476b9d05 100644 --- a/.agents/notes/implemented/feature/2026-08-10-minimal-read-image-tool.md +++ b/.agents/notes/archived/feature/2026-08-10-minimal-read-image-tool.md @@ -1,6 +1,7 @@ # Agent Note: A minimal read_image tool over existing seams Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-10-minimal-read-image-tool.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-10-minimal-read-image-tool.zh.md b/.agents/notes/archived/feature/2026-08-10-minimal-read-image-tool.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-10-minimal-read-image-tool.zh.md rename to .agents/notes/archived/feature/2026-08-10-minimal-read-image-tool.zh.md index 0629bac744..936197b8bd 100644 --- a/.agents/notes/implemented/feature/2026-08-10-minimal-read-image-tool.zh.md +++ b/.agents/notes/archived/feature/2026-08-10-minimal-read-image-tool.zh.md @@ -1,6 +1,7 @@ # Agent Note: 基于既有 seam 的最小 read_image 工具 Status: implemented +Archived: 2026-09-04 [English](2026-08-10-minimal-read-image-tool.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-10-telemetry-default-off.i18n.yaml b/.agents/notes/archived/feature/2026-08-10-telemetry-default-off.i18n.yaml new file mode 100644 index 0000000000..9dcd23f8c2 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-10-telemetry-default-off.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-10-telemetry-default-off.md +2026-08-10-telemetry-default-off.md: 56d356f66ea0cb05397a571606c1768da6c08aec +2026-08-10-telemetry-default-off.zh.md: 1033758a7b15db2f6d8ea387553dba2699e7d44b diff --git a/.agents/notes/implemented/feature/2026-08-10-telemetry-default-off.md b/.agents/notes/archived/feature/2026-08-10-telemetry-default-off.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-10-telemetry-default-off.md rename to .agents/notes/archived/feature/2026-08-10-telemetry-default-off.md index 1bc9719f70..56d356f66e 100644 --- a/.agents/notes/implemented/feature/2026-08-10-telemetry-default-off.md +++ b/.agents/notes/archived/feature/2026-08-10-telemetry-default-off.md @@ -1,6 +1,7 @@ # Agent Note: SessionTelemetryBackend requires explicit opt-in Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-10-telemetry-default-off.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-10-telemetry-default-off.zh.md b/.agents/notes/archived/feature/2026-08-10-telemetry-default-off.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-10-telemetry-default-off.zh.md rename to .agents/notes/archived/feature/2026-08-10-telemetry-default-off.zh.md index 8f8bbb5781..1033758a7b 100644 --- a/.agents/notes/implemented/feature/2026-08-10-telemetry-default-off.zh.md +++ b/.agents/notes/archived/feature/2026-08-10-telemetry-default-off.zh.md @@ -1,6 +1,7 @@ # Agent Note: 遥测必须显式启用 Status: implemented +Archived: 2026-09-04 [English](2026-08-10-telemetry-default-off.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-10-web-plugin-configuration.i18n.yaml b/.agents/notes/archived/feature/2026-08-10-web-plugin-configuration.i18n.yaml new file mode 100644 index 0000000000..d6688c1454 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-10-web-plugin-configuration.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-10-web-plugin-configuration.md +2026-08-10-web-plugin-configuration.md: 38d682cfc766733cf886e0170cb59438c821e3cd +2026-08-10-web-plugin-configuration.zh.md: 7bb406ce16c0e9fa4c3d9c0700b846b6917e79da diff --git a/.agents/notes/implemented/feature/2026-08-10-web-plugin-configuration.md b/.agents/notes/archived/feature/2026-08-10-web-plugin-configuration.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-10-web-plugin-configuration.md rename to .agents/notes/archived/feature/2026-08-10-web-plugin-configuration.md index 8b8d231fd2..38d682cfc7 100644 --- a/.agents/notes/implemented/feature/2026-08-10-web-plugin-configuration.md +++ b/.agents/notes/archived/feature/2026-08-10-web-plugin-configuration.md @@ -1,6 +1,7 @@ # Agent Note: Plugin configuration in the web settings page Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-10-web-plugin-configuration.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-10-web-plugin-configuration.zh.md b/.agents/notes/archived/feature/2026-08-10-web-plugin-configuration.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-10-web-plugin-configuration.zh.md rename to .agents/notes/archived/feature/2026-08-10-web-plugin-configuration.zh.md index 70a3b68730..7bb406ce16 100644 --- a/.agents/notes/implemented/feature/2026-08-10-web-plugin-configuration.zh.md +++ b/.agents/notes/archived/feature/2026-08-10-web-plugin-configuration.zh.md @@ -1,6 +1,7 @@ # Agent Note: Plugin configuration in the web settings page Status: implemented +Archived: 2026-09-04 [English](2026-08-10-web-plugin-configuration.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-10-web-session-log-export.i18n.yaml b/.agents/notes/archived/feature/2026-08-10-web-session-log-export.i18n.yaml new file mode 100644 index 0000000000..5e11283162 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-10-web-session-log-export.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-10-web-session-log-export.md +2026-08-10-web-session-log-export.md: 40b23fe277fb205a61078f450dbe0c1205d6e390 +2026-08-10-web-session-log-export.zh.md: d0937ba4344fc89e0ca48f587183be1c3db388d7 diff --git a/.agents/notes/implemented/feature/2026-08-10-web-session-log-export.md b/.agents/notes/archived/feature/2026-08-10-web-session-log-export.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-10-web-session-log-export.md rename to .agents/notes/archived/feature/2026-08-10-web-session-log-export.md index dceee66d0a..40b23fe277 100644 --- a/.agents/notes/implemented/feature/2026-08-10-web-session-log-export.md +++ b/.agents/notes/archived/feature/2026-08-10-web-session-log-export.md @@ -1,6 +1,7 @@ # Agent Note: Web session-log export as a host-streamed ZIP download Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-10-web-session-log-export.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-10-web-session-log-export.zh.md b/.agents/notes/archived/feature/2026-08-10-web-session-log-export.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-10-web-session-log-export.zh.md rename to .agents/notes/archived/feature/2026-08-10-web-session-log-export.zh.md index bfd2145a2b..d0937ba434 100644 --- a/.agents/notes/implemented/feature/2026-08-10-web-session-log-export.zh.md +++ b/.agents/notes/archived/feature/2026-08-10-web-session-log-export.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 会话日志导出——宿主流式 ZIP 下载 -状态:implemented +Status: implemented +Archived: 2026-09-04 [English](2026-08-10-web-session-log-export.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-11-background-first-continuable-delegation.i18n.yaml b/.agents/notes/archived/feature/2026-08-11-background-first-continuable-delegation.i18n.yaml new file mode 100644 index 0000000000..b1eee89e50 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-11-background-first-continuable-delegation.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-11-background-first-continuable-delegation.md +2026-08-11-background-first-continuable-delegation.md: b71fe00af0f5b35bb2749f5fe71d069f2810dc0f +2026-08-11-background-first-continuable-delegation.zh.md: d1aa651fce59b97aafd226944d9ebc95badc8dd3 diff --git a/.agents/notes/implemented/feature/2026-08-11-background-first-continuable-delegation.md b/.agents/notes/archived/feature/2026-08-11-background-first-continuable-delegation.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-11-background-first-continuable-delegation.md rename to .agents/notes/archived/feature/2026-08-11-background-first-continuable-delegation.md index a3dcd75c82..b71fe00af0 100644 --- a/.agents/notes/implemented/feature/2026-08-11-background-first-continuable-delegation.md +++ b/.agents/notes/archived/feature/2026-08-11-background-first-continuable-delegation.md @@ -1,6 +1,7 @@ # Agent Note: Continuable delegation is background-first Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-11-background-first-continuable-delegation.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-11-background-first-continuable-delegation.zh.md b/.agents/notes/archived/feature/2026-08-11-background-first-continuable-delegation.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-11-background-first-continuable-delegation.zh.md rename to .agents/notes/archived/feature/2026-08-11-background-first-continuable-delegation.zh.md index f0cbdca1c1..d1aa651fce 100644 --- a/.agents/notes/implemented/feature/2026-08-11-background-first-continuable-delegation.zh.md +++ b/.agents/notes/archived/feature/2026-08-11-background-first-continuable-delegation.zh.md @@ -1,6 +1,7 @@ # Agent Note: 可继续委派采用后台优先 Status: implemented +Archived: 2026-09-04 [English](2026-08-11-background-first-continuable-delegation.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-11-message-feedback-web-surface.i18n.yaml b/.agents/notes/archived/feature/2026-08-11-message-feedback-web-surface.i18n.yaml new file mode 100644 index 0000000000..378617f04e --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-11-message-feedback-web-surface.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-11-message-feedback-web-surface.md +2026-08-11-message-feedback-web-surface.md: d82256d002008d5e2088a5e2a3af59ac9af99119 +2026-08-11-message-feedback-web-surface.zh.md: 794e5768c7e211162368b4ae7d8b2e40107f5c9b diff --git a/.agents/notes/implemented/feature/2026-08-11-message-feedback-web-surface.md b/.agents/notes/archived/feature/2026-08-11-message-feedback-web-surface.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-11-message-feedback-web-surface.md rename to .agents/notes/archived/feature/2026-08-11-message-feedback-web-surface.md index a1fbce695f..d82256d002 100644 --- a/.agents/notes/implemented/feature/2026-08-11-message-feedback-web-surface.md +++ b/.agents/notes/archived/feature/2026-08-11-message-feedback-web-surface.md @@ -1,6 +1,7 @@ # Agent Note: Web surface for message feedback Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-11-message-feedback-web-surface.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-11-message-feedback-web-surface.zh.md b/.agents/notes/archived/feature/2026-08-11-message-feedback-web-surface.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-11-message-feedback-web-surface.zh.md rename to .agents/notes/archived/feature/2026-08-11-message-feedback-web-surface.zh.md index 3551cc3b4a..794e5768c7 100644 --- a/.agents/notes/implemented/feature/2026-08-11-message-feedback-web-surface.zh.md +++ b/.agents/notes/archived/feature/2026-08-11-message-feedback-web-surface.zh.md @@ -1,6 +1,7 @@ -# Agent Note:消息反馈的 Web 界面 +# Agent Note: 消息反馈的 Web 界面 Status: implemented +Archived: 2026-09-04 [English](2026-08-11-message-feedback-web-surface.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-11-web-attachment-display-alignment.i18n.yaml b/.agents/notes/archived/feature/2026-08-11-web-attachment-display-alignment.i18n.yaml new file mode 100644 index 0000000000..d1e53b3cea --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-11-web-attachment-display-alignment.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-11-web-attachment-display-alignment.md +2026-08-11-web-attachment-display-alignment.md: a9fd9436bc5fd132c18baa9b393bf1759feda7ea +2026-08-11-web-attachment-display-alignment.zh.md: f2d550f633ab5e9411bc174b0b932be9e95fc4a9 diff --git a/.agents/notes/implemented/feature/2026-08-11-web-attachment-display-alignment.md b/.agents/notes/archived/feature/2026-08-11-web-attachment-display-alignment.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-11-web-attachment-display-alignment.md rename to .agents/notes/archived/feature/2026-08-11-web-attachment-display-alignment.md index dd38166617..a9fd9436bc 100644 --- a/.agents/notes/implemented/feature/2026-08-11-web-attachment-display-alignment.md +++ b/.agents/notes/archived/feature/2026-08-11-web-attachment-display-alignment.md @@ -1,6 +1,7 @@ # Agent Note: Web attachment display aligns with DeepSeek Chat via attachment atoms Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-11-web-attachment-display-alignment.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-11-web-attachment-display-alignment.zh.md b/.agents/notes/archived/feature/2026-08-11-web-attachment-display-alignment.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-11-web-attachment-display-alignment.zh.md rename to .agents/notes/archived/feature/2026-08-11-web-attachment-display-alignment.zh.md index 522527a446..f2d550f633 100644 --- a/.agents/notes/implemented/feature/2026-08-11-web-attachment-display-alignment.zh.md +++ b/.agents/notes/archived/feature/2026-08-11-web-attachment-display-alignment.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 附件展示经附件原子组件对齐 DeepSeek Chat Status: implemented +Archived: 2026-09-04 [English](2026-08-11-web-attachment-display-alignment.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-11-workflow-run-status-driven-disclosure.i18n.yaml b/.agents/notes/archived/feature/2026-08-11-workflow-run-status-driven-disclosure.i18n.yaml new file mode 100644 index 0000000000..5e317c9329 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-11-workflow-run-status-driven-disclosure.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-11-workflow-run-status-driven-disclosure.md +2026-08-11-workflow-run-status-driven-disclosure.md: 725fd95483265b410646d99c744006eeb3dde75a +2026-08-11-workflow-run-status-driven-disclosure.zh.md: 4e2256abe970888de58720c2a6e7b0c262df6274 diff --git a/.agents/notes/implemented/feature/2026-08-11-workflow-run-status-driven-disclosure.md b/.agents/notes/archived/feature/2026-08-11-workflow-run-status-driven-disclosure.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-11-workflow-run-status-driven-disclosure.md rename to .agents/notes/archived/feature/2026-08-11-workflow-run-status-driven-disclosure.md index e97ead9046..725fd95483 100644 --- a/.agents/notes/implemented/feature/2026-08-11-workflow-run-status-driven-disclosure.md +++ b/.agents/notes/archived/feature/2026-08-11-workflow-run-status-driven-disclosure.md @@ -1,6 +1,7 @@ # Agent Note: Status-driven disclosure for workflow runs Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-11-workflow-run-status-driven-disclosure.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-11-workflow-run-status-driven-disclosure.zh.md b/.agents/notes/archived/feature/2026-08-11-workflow-run-status-driven-disclosure.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-11-workflow-run-status-driven-disclosure.zh.md rename to .agents/notes/archived/feature/2026-08-11-workflow-run-status-driven-disclosure.zh.md index ef3da3ee7c..4e2256abe9 100644 --- a/.agents/notes/implemented/feature/2026-08-11-workflow-run-status-driven-disclosure.zh.md +++ b/.agents/notes/archived/feature/2026-08-11-workflow-run-status-driven-disclosure.zh.md @@ -1,6 +1,7 @@ # Agent Note: 工作流运行的状态驱动 disclosure Status: implemented +Archived: 2026-09-04 [English](2026-08-11-workflow-run-status-driven-disclosure.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-11-workspace-sidebar-order-and-folding.i18n.yaml b/.agents/notes/archived/feature/2026-08-11-workspace-sidebar-order-and-folding.i18n.yaml new file mode 100644 index 0000000000..2af140c119 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-11-workspace-sidebar-order-and-folding.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-11-workspace-sidebar-order-and-folding.md +2026-08-11-workspace-sidebar-order-and-folding.md: c83f839ff7f9abf1a12aaba036380329f01707d0 +2026-08-11-workspace-sidebar-order-and-folding.zh.md: f0798445b8baa07e7141e5281c6ef731403d7b62 diff --git a/.agents/notes/implemented/feature/2026-08-11-workspace-sidebar-order-and-folding.md b/.agents/notes/archived/feature/2026-08-11-workspace-sidebar-order-and-folding.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-11-workspace-sidebar-order-and-folding.md rename to .agents/notes/archived/feature/2026-08-11-workspace-sidebar-order-and-folding.md index a802693690..c83f839ff7 100644 --- a/.agents/notes/implemented/feature/2026-08-11-workspace-sidebar-order-and-folding.md +++ b/.agents/notes/archived/feature/2026-08-11-workspace-sidebar-order-and-folding.md @@ -1,6 +1,7 @@ # Agent Note: Workspace Sidebar Order and Folding Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-11-workspace-sidebar-order-and-folding.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-11-workspace-sidebar-order-and-folding.zh.md b/.agents/notes/archived/feature/2026-08-11-workspace-sidebar-order-and-folding.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-11-workspace-sidebar-order-and-folding.zh.md rename to .agents/notes/archived/feature/2026-08-11-workspace-sidebar-order-and-folding.zh.md index 83a66c9b4a..f0798445b8 100644 --- a/.agents/notes/implemented/feature/2026-08-11-workspace-sidebar-order-and-folding.zh.md +++ b/.agents/notes/archived/feature/2026-08-11-workspace-sidebar-order-and-folding.zh.md @@ -1,6 +1,7 @@ # Agent Note: Workspace 侧边栏顺序与折叠 Status: implemented +Archived: 2026-09-04 [English](2026-08-11-workspace-sidebar-order-and-folding.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-12-hero-fish-hover-swim-morph.i18n.yaml b/.agents/notes/archived/feature/2026-08-12-hero-fish-hover-swim-morph.i18n.yaml new file mode 100644 index 0000000000..a99124fe8f --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-12-hero-fish-hover-swim-morph.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-12-hero-fish-hover-swim-morph.md +2026-08-12-hero-fish-hover-swim-morph.md: 60bcb082f0d7a251161d7727392eebb63a354711 +2026-08-12-hero-fish-hover-swim-morph.zh.md: d051bae8d156aeee02beb94c8895ffecd328e2fc diff --git a/.agents/notes/implemented/feature/2026-08-12-hero-fish-hover-swim-morph.md b/.agents/notes/archived/feature/2026-08-12-hero-fish-hover-swim-morph.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-12-hero-fish-hover-swim-morph.md rename to .agents/notes/archived/feature/2026-08-12-hero-fish-hover-swim-morph.md index c485f94e24..60bcb082f0 100644 --- a/.agents/notes/implemented/feature/2026-08-12-hero-fish-hover-swim-morph.md +++ b/.agents/notes/archived/feature/2026-08-12-hero-fish-hover-swim-morph.md @@ -1,6 +1,7 @@ # Agent Note: Hero fish hover swim morph Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-12-hero-fish-hover-swim-morph.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-12-hero-fish-hover-swim-morph.zh.md b/.agents/notes/archived/feature/2026-08-12-hero-fish-hover-swim-morph.zh.md similarity index 97% rename from .agents/notes/implemented/feature/2026-08-12-hero-fish-hover-swim-morph.zh.md rename to .agents/notes/archived/feature/2026-08-12-hero-fish-hover-swim-morph.zh.md index 46fa50732b..d051bae8d1 100644 --- a/.agents/notes/implemented/feature/2026-08-12-hero-fish-hover-swim-morph.zh.md +++ b/.agents/notes/archived/feature/2026-08-12-hero-fish-hover-swim-morph.zh.md @@ -1,6 +1,7 @@ -# Agent Note:主页鲸鱼 hover 游动变形 +# Agent Note: 主页鲸鱼 hover 游动变形 Status: implemented +Archived: 2026-09-04 [English](2026-08-12-hero-fish-hover-swim-morph.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-12-open-ready-web-ui.i18n.yaml b/.agents/notes/archived/feature/2026-08-12-open-ready-web-ui.i18n.yaml new file mode 100644 index 0000000000..10c244ad26 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-12-open-ready-web-ui.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-12-open-ready-web-ui.md +2026-08-12-open-ready-web-ui.md: 869b0deb44dcc31a9fdcfd4a6026b3b34cea9a43 +2026-08-12-open-ready-web-ui.zh.md: 64997cd0f9cf93ea607ff3524e89a55cfc909a09 diff --git a/.agents/notes/implemented/feature/2026-08-12-open-ready-web-ui.md b/.agents/notes/archived/feature/2026-08-12-open-ready-web-ui.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-12-open-ready-web-ui.md rename to .agents/notes/archived/feature/2026-08-12-open-ready-web-ui.md index 075082aff6..869b0deb44 100644 --- a/.agents/notes/implemented/feature/2026-08-12-open-ready-web-ui.md +++ b/.agents/notes/archived/feature/2026-08-12-open-ready-web-ui.md @@ -1,6 +1,7 @@ # Agent Note: `dsh web` opens its ready page Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-12-open-ready-web-ui.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-12-open-ready-web-ui.zh.md b/.agents/notes/archived/feature/2026-08-12-open-ready-web-ui.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-12-open-ready-web-ui.zh.md rename to .agents/notes/archived/feature/2026-08-12-open-ready-web-ui.zh.md index de73ab0c85..64997cd0f9 100644 --- a/.agents/notes/implemented/feature/2026-08-12-open-ready-web-ui.zh.md +++ b/.agents/notes/archived/feature/2026-08-12-open-ready-web-ui.zh.md @@ -1,6 +1,7 @@ # Agent Note: `dsh web` 打开已就绪页面 Status: implemented +Archived: 2026-09-04 [English](2026-08-12-open-ready-web-ui.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-12-product-subagent-one-shot-background-tasks.i18n.yaml b/.agents/notes/archived/feature/2026-08-12-product-subagent-one-shot-background-tasks.i18n.yaml new file mode 100644 index 0000000000..3d13132e88 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-12-product-subagent-one-shot-background-tasks.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-12-product-subagent-one-shot-background-tasks.md +2026-08-12-product-subagent-one-shot-background-tasks.md: 4138d50ccd8760373e79221f1d122e40f432f4ca +2026-08-12-product-subagent-one-shot-background-tasks.zh.md: 4984be826a1048f519cde048f25f038a067d58f6 diff --git a/.agents/notes/implemented/feature/2026-08-12-product-subagent-one-shot-background-tasks.md b/.agents/notes/archived/feature/2026-08-12-product-subagent-one-shot-background-tasks.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-12-product-subagent-one-shot-background-tasks.md rename to .agents/notes/archived/feature/2026-08-12-product-subagent-one-shot-background-tasks.md index 5e9522f6fa..4138d50ccd 100644 --- a/.agents/notes/implemented/feature/2026-08-12-product-subagent-one-shot-background-tasks.md +++ b/.agents/notes/archived/feature/2026-08-12-product-subagent-one-shot-background-tasks.md @@ -1,6 +1,7 @@ # Agent Note: Product one-shot subagents use generic background Jobs Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-12-product-subagent-one-shot-background-tasks.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-12-product-subagent-one-shot-background-tasks.zh.md b/.agents/notes/archived/feature/2026-08-12-product-subagent-one-shot-background-tasks.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-12-product-subagent-one-shot-background-tasks.zh.md rename to .agents/notes/archived/feature/2026-08-12-product-subagent-one-shot-background-tasks.zh.md index fdf7fa58e4..4984be826a 100644 --- a/.agents/notes/implemented/feature/2026-08-12-product-subagent-one-shot-background-tasks.zh.md +++ b/.agents/notes/archived/feature/2026-08-12-product-subagent-one-shot-background-tasks.zh.md @@ -1,6 +1,7 @@ # Agent Note: 产品 one-shot subagent 使用通用后台 Job Status: implemented +Archived: 2026-09-04 [English](2026-08-12-product-subagent-one-shot-background-tasks.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-12-web-image-intake-and-limits-alignment.i18n.yaml b/.agents/notes/archived/feature/2026-08-12-web-image-intake-and-limits-alignment.i18n.yaml new file mode 100644 index 0000000000..2720455f8c --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-12-web-image-intake-and-limits-alignment.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-12-web-image-intake-and-limits-alignment.md +2026-08-12-web-image-intake-and-limits-alignment.md: 516a4922a43907a465716920d40a6490b1b36d66 +2026-08-12-web-image-intake-and-limits-alignment.zh.md: db3485fd6a5c50337d38b342c38e89169aa615da diff --git a/.agents/notes/implemented/feature/2026-08-12-web-image-intake-and-limits-alignment.md b/.agents/notes/archived/feature/2026-08-12-web-image-intake-and-limits-alignment.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-12-web-image-intake-and-limits-alignment.md rename to .agents/notes/archived/feature/2026-08-12-web-image-intake-and-limits-alignment.md index 0bb8cadc8d..516a4922a4 100644 --- a/.agents/notes/implemented/feature/2026-08-12-web-image-intake-and-limits-alignment.md +++ b/.agents/notes/archived/feature/2026-08-12-web-image-intake-and-limits-alignment.md @@ -1,6 +1,7 @@ # Agent Note: Whole-page image drop, projected intake limits, and thumbnail tiling Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-12-web-image-intake-and-limits-alignment.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-12-web-image-intake-and-limits-alignment.zh.md b/.agents/notes/archived/feature/2026-08-12-web-image-intake-and-limits-alignment.zh.md similarity index 98% rename from .agents/notes/implemented/feature/2026-08-12-web-image-intake-and-limits-alignment.zh.md rename to .agents/notes/archived/feature/2026-08-12-web-image-intake-and-limits-alignment.zh.md index fafa765275..db3485fd6a 100644 --- a/.agents/notes/implemented/feature/2026-08-12-web-image-intake-and-limits-alignment.zh.md +++ b/.agents/notes/archived/feature/2026-08-12-web-image-intake-and-limits-alignment.zh.md @@ -1,6 +1,7 @@ -# Agent Note:整页图片拖放、上限投影预检与缩略图平铺 +# Agent Note: 整页图片拖放、上限投影预检与缩略图平铺 -状态:implemented +Status: implemented +Archived: 2026-09-04 [English](2026-08-12-web-image-intake-and-limits-alignment.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-13-shared-modal-product-onboarding.i18n.yaml b/.agents/notes/archived/feature/2026-08-13-shared-modal-product-onboarding.i18n.yaml new file mode 100644 index 0000000000..a5f1dbafe3 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-13-shared-modal-product-onboarding.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-13-shared-modal-product-onboarding.md +2026-08-13-shared-modal-product-onboarding.md: 33f4d9149e87d1453ae8a0951d9f4a5e3ce70bea +2026-08-13-shared-modal-product-onboarding.zh.md: 9baaec3ee86635635448ddbd5ebfbe26a273a793 diff --git a/.agents/notes/implemented/feature/2026-08-13-shared-modal-product-onboarding.md b/.agents/notes/archived/feature/2026-08-13-shared-modal-product-onboarding.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-13-shared-modal-product-onboarding.md rename to .agents/notes/archived/feature/2026-08-13-shared-modal-product-onboarding.md index 9f72ee5b4e..33f4d9149e 100644 --- a/.agents/notes/implemented/feature/2026-08-13-shared-modal-product-onboarding.md +++ b/.agents/notes/archived/feature/2026-08-13-shared-modal-product-onboarding.md @@ -1,6 +1,7 @@ # Agent Note: Shared-modal product onboarding Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-13-shared-modal-product-onboarding.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-13-shared-modal-product-onboarding.zh.md b/.agents/notes/archived/feature/2026-08-13-shared-modal-product-onboarding.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-13-shared-modal-product-onboarding.zh.md rename to .agents/notes/archived/feature/2026-08-13-shared-modal-product-onboarding.zh.md index 867b23202f..9baaec3ee8 100644 --- a/.agents/notes/implemented/feature/2026-08-13-shared-modal-product-onboarding.zh.md +++ b/.agents/notes/archived/feature/2026-08-13-shared-modal-product-onboarding.zh.md @@ -1,6 +1,7 @@ # Agent Note: 共用弹窗的产品引导 Status: implemented +Archived: 2026-09-04 [English](2026-08-13-shared-modal-product-onboarding.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-14-web-turn-process-folding.i18n.yaml b/.agents/notes/archived/feature/2026-08-14-web-turn-process-folding.i18n.yaml new file mode 100644 index 0000000000..dbcbe86092 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-14-web-turn-process-folding.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-14-web-turn-process-folding.md +2026-08-14-web-turn-process-folding.md: 6cd139dde26a84c02e74e9ca785f20c5919d6260 +2026-08-14-web-turn-process-folding.zh.md: aae20eaff67c4fc2064c1eb611e7ac57a70dd32a diff --git a/.agents/notes/implemented/feature/2026-08-14-web-turn-process-folding.md b/.agents/notes/archived/feature/2026-08-14-web-turn-process-folding.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-14-web-turn-process-folding.md rename to .agents/notes/archived/feature/2026-08-14-web-turn-process-folding.md index e0d666a0e5..6cd139dde2 100644 --- a/.agents/notes/implemented/feature/2026-08-14-web-turn-process-folding.md +++ b/.agents/notes/archived/feature/2026-08-14-web-turn-process-folding.md @@ -1,6 +1,7 @@ # Agent Note: Web Turn process folding Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-14-web-turn-process-folding.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-14-web-turn-process-folding.zh.md b/.agents/notes/archived/feature/2026-08-14-web-turn-process-folding.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-14-web-turn-process-folding.zh.md rename to .agents/notes/archived/feature/2026-08-14-web-turn-process-folding.zh.md index cacf7ecfdc..aae20eaff6 100644 --- a/.agents/notes/implemented/feature/2026-08-14-web-turn-process-folding.zh.md +++ b/.agents/notes/archived/feature/2026-08-14-web-turn-process-folding.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 轮次过程折叠 Status: implemented +Archived: 2026-09-04 [English](2026-08-14-web-turn-process-folding.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-17-web-search-multiple-queries.i18n.yaml b/.agents/notes/archived/feature/2026-08-17-web-search-multiple-queries.i18n.yaml new file mode 100644 index 0000000000..ff8003ae59 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-17-web-search-multiple-queries.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-17-web-search-multiple-queries.md +2026-08-17-web-search-multiple-queries.md: fd7553b332f3906f678ab337cfed4c60a072cc6c +2026-08-17-web-search-multiple-queries.zh.md: a16b407418be80c4f002eb931d799aff919fc802 diff --git a/.agents/notes/implemented/feature/2026-08-17-web-search-multiple-queries.md b/.agents/notes/archived/feature/2026-08-17-web-search-multiple-queries.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-17-web-search-multiple-queries.md rename to .agents/notes/archived/feature/2026-08-17-web-search-multiple-queries.md index f0a8bf3d69..fd7553b332 100644 --- a/.agents/notes/implemented/feature/2026-08-17-web-search-multiple-queries.md +++ b/.agents/notes/archived/feature/2026-08-17-web-search-multiple-queries.md @@ -1,6 +1,7 @@ # Agent Note: web_search accepts multiple queries in one call Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-17-web-search-multiple-queries.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-17-web-search-multiple-queries.zh.md b/.agents/notes/archived/feature/2026-08-17-web-search-multiple-queries.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-17-web-search-multiple-queries.zh.md rename to .agents/notes/archived/feature/2026-08-17-web-search-multiple-queries.zh.md index 5c6be5e20f..a16b407418 100644 --- a/.agents/notes/implemented/feature/2026-08-17-web-search-multiple-queries.zh.md +++ b/.agents/notes/archived/feature/2026-08-17-web-search-multiple-queries.zh.md @@ -1,6 +1,7 @@ # Agent Note: web_search 支持一次传入多个查询 Status: implemented +Archived: 2026-09-04 [English](2026-08-17-web-search-multiple-queries.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-17-web-system-prompt-opaque-body.i18n.yaml b/.agents/notes/archived/feature/2026-08-17-web-system-prompt-opaque-body.i18n.yaml new file mode 100644 index 0000000000..78cb189dba --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-17-web-system-prompt-opaque-body.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-17-web-system-prompt-opaque-body.md +2026-08-17-web-system-prompt-opaque-body.md: 89a3b83311372d85c751b7d8132350f64676986c +2026-08-17-web-system-prompt-opaque-body.zh.md: 31c298ad8b850f4c1763d646658bd7bd007fa35f diff --git a/.agents/notes/implemented/feature/2026-08-17-web-system-prompt-opaque-body.md b/.agents/notes/archived/feature/2026-08-17-web-system-prompt-opaque-body.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-17-web-system-prompt-opaque-body.md rename to .agents/notes/archived/feature/2026-08-17-web-system-prompt-opaque-body.md index 9b1992dd8e..89a3b83311 100644 --- a/.agents/notes/implemented/feature/2026-08-17-web-system-prompt-opaque-body.md +++ b/.agents/notes/archived/feature/2026-08-17-web-system-prompt-opaque-body.md @@ -1,6 +1,7 @@ # Agent Note: System prompt expands into the opaque context body Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-17-web-system-prompt-opaque-body.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-17-web-system-prompt-opaque-body.zh.md b/.agents/notes/archived/feature/2026-08-17-web-system-prompt-opaque-body.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-17-web-system-prompt-opaque-body.zh.md rename to .agents/notes/archived/feature/2026-08-17-web-system-prompt-opaque-body.zh.md index 6f2fbba9d3..31c298ad8b 100644 --- a/.agents/notes/implemented/feature/2026-08-17-web-system-prompt-opaque-body.zh.md +++ b/.agents/notes/archived/feature/2026-08-17-web-system-prompt-opaque-body.zh.md @@ -1,6 +1,7 @@ # Agent Note: System prompt expands into the opaque context body Status: implemented +Archived: 2026-09-04 [English](2026-08-17-web-system-prompt-opaque-body.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-18-conversation-adaptive-content-width.i18n.yaml b/.agents/notes/archived/feature/2026-08-18-conversation-adaptive-content-width.i18n.yaml new file mode 100644 index 0000000000..12eb1724b7 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-18-conversation-adaptive-content-width.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-18-conversation-adaptive-content-width.md +2026-08-18-conversation-adaptive-content-width.md: 17964f7c79496f451adfa5822def3a2dc1f2e941 +2026-08-18-conversation-adaptive-content-width.zh.md: d2f89cb18db04be75a1d1ae21df69a898e1fe1c0 diff --git a/.agents/notes/implemented/feature/2026-08-18-conversation-adaptive-content-width.md b/.agents/notes/archived/feature/2026-08-18-conversation-adaptive-content-width.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-18-conversation-adaptive-content-width.md rename to .agents/notes/archived/feature/2026-08-18-conversation-adaptive-content-width.md index 9b0e7afbde..17964f7c79 100644 --- a/.agents/notes/implemented/feature/2026-08-18-conversation-adaptive-content-width.md +++ b/.agents/notes/archived/feature/2026-08-18-conversation-adaptive-content-width.md @@ -1,6 +1,7 @@ # Agent Note: Adaptive and drag-resizable conversation content width Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-18-conversation-adaptive-content-width.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-18-conversation-adaptive-content-width.zh.md b/.agents/notes/archived/feature/2026-08-18-conversation-adaptive-content-width.zh.md similarity index 98% rename from .agents/notes/implemented/feature/2026-08-18-conversation-adaptive-content-width.zh.md rename to .agents/notes/archived/feature/2026-08-18-conversation-adaptive-content-width.zh.md index f1f424cf9d..d2f89cb18d 100644 --- a/.agents/notes/implemented/feature/2026-08-18-conversation-adaptive-content-width.zh.md +++ b/.agents/notes/archived/feature/2026-08-18-conversation-adaptive-content-width.zh.md @@ -1,6 +1,7 @@ -# Agent Note:会话正文宽度自适应与拖拽调宽 +# Agent Note: 会话正文宽度自适应与拖拽调宽 Status: implemented +Archived: 2026-09-04 [English](2026-08-18-conversation-adaptive-content-width.md) | 中文 diff --git a/.agents/notes/implemented/feature/2026-07-31-web-telemetry-default-mount.i18n.yaml b/.agents/notes/archived/feature/2026-08-18-pi-ai-wire-compat-surface.i18n.yaml similarity index 57% rename from .agents/notes/implemented/feature/2026-07-31-web-telemetry-default-mount.i18n.yaml rename to .agents/notes/archived/feature/2026-08-18-pi-ai-wire-compat-surface.i18n.yaml index dd8a8cdb84..301b91ae11 100644 --- a/.agents/notes/implemented/feature/2026-07-31-web-telemetry-default-mount.i18n.yaml +++ b/.agents/notes/archived/feature/2026-08-18-pi-ai-wire-compat-surface.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/feature/2026-07-31-web-telemetry-default-mount.md -2026-07-31-web-telemetry-default-mount.md: aea90ef928afaa7669df8046fa98f16c575618f0 -2026-07-31-web-telemetry-default-mount.zh.md: 122b7ad593c18cd547ade835827e8903d34da441 +# pnpm run verify-translation-pairing --write .agents/notes/archived/feature/2026-08-18-pi-ai-wire-compat-surface.md +2026-08-18-pi-ai-wire-compat-surface.md: bc8bee409caa0c90edd609140b6ce09ef4c84a59 +2026-08-18-pi-ai-wire-compat-surface.zh.md: edf114fd09b59e202dd195d4338b1c59e1312d45 diff --git a/.agents/notes/implemented/feature/2026-08-18-pi-ai-wire-compat-surface.md b/.agents/notes/archived/feature/2026-08-18-pi-ai-wire-compat-surface.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-18-pi-ai-wire-compat-surface.md rename to .agents/notes/archived/feature/2026-08-18-pi-ai-wire-compat-surface.md index 280ce2dd16..bc8bee409c 100644 --- a/.agents/notes/implemented/feature/2026-08-18-pi-ai-wire-compat-surface.md +++ b/.agents/notes/archived/feature/2026-08-18-pi-ai-wire-compat-surface.md @@ -1,6 +1,7 @@ # Agent Note: pi-ai Wire-Compatibility Surface in llm-pi-ai Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-18-pi-ai-wire-compat-surface.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-18-pi-ai-wire-compat-surface.zh.md b/.agents/notes/archived/feature/2026-08-18-pi-ai-wire-compat-surface.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-18-pi-ai-wire-compat-surface.zh.md rename to .agents/notes/archived/feature/2026-08-18-pi-ai-wire-compat-surface.zh.md index 1a5704dc8c..edf114fd09 100644 --- a/.agents/notes/implemented/feature/2026-08-18-pi-ai-wire-compat-surface.zh.md +++ b/.agents/notes/archived/feature/2026-08-18-pi-ai-wire-compat-surface.zh.md @@ -1,6 +1,7 @@ # Agent Note: pi-ai Wire-Compatibility Surface in llm-pi-ai Status: implemented +Archived: 2026-09-04 [English](2026-08-18-pi-ai-wire-compat-surface.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-18-product-subagent-named-instances.i18n.yaml b/.agents/notes/archived/feature/2026-08-18-product-subagent-named-instances.i18n.yaml new file mode 100644 index 0000000000..3c9444ef91 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-18-product-subagent-named-instances.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-18-product-subagent-named-instances.md +2026-08-18-product-subagent-named-instances.md: bc1c3e9515b13c9d6ff22ebe6689709a254e9d03 +2026-08-18-product-subagent-named-instances.zh.md: 3bd2bfe48c66f7be21ea6b860b7178f1950f3cbe diff --git a/.agents/notes/implemented/feature/2026-08-18-product-subagent-named-instances.md b/.agents/notes/archived/feature/2026-08-18-product-subagent-named-instances.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-18-product-subagent-named-instances.md rename to .agents/notes/archived/feature/2026-08-18-product-subagent-named-instances.md index 749267e311..bc1c3e9515 100644 --- a/.agents/notes/implemented/feature/2026-08-18-product-subagent-named-instances.md +++ b/.agents/notes/archived/feature/2026-08-18-product-subagent-named-instances.md @@ -1,6 +1,7 @@ # Agent Note: Product subagent named instances Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-18-product-subagent-named-instances.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-18-product-subagent-named-instances.zh.md b/.agents/notes/archived/feature/2026-08-18-product-subagent-named-instances.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-18-product-subagent-named-instances.zh.md rename to .agents/notes/archived/feature/2026-08-18-product-subagent-named-instances.zh.md index d39fdd46a3..3bd2bfe48c 100644 --- a/.agents/notes/implemented/feature/2026-08-18-product-subagent-named-instances.zh.md +++ b/.agents/notes/archived/feature/2026-08-18-product-subagent-named-instances.zh.md @@ -1,6 +1,7 @@ # Agent Note: 产品 subagent 命名实例 Status: implemented +Archived: 2026-09-04 [English](2026-08-18-product-subagent-named-instances.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-18-settings-font-size-control.i18n.yaml b/.agents/notes/archived/feature/2026-08-18-settings-font-size-control.i18n.yaml new file mode 100644 index 0000000000..5660dc1942 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-18-settings-font-size-control.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-18-settings-font-size-control.md +2026-08-18-settings-font-size-control.md: d0b2ae847aeea8ed249ad452342b5d3e3c5a6766 +2026-08-18-settings-font-size-control.zh.md: 11624f5317053c333491d4808ba5f497cf6a579a diff --git a/.agents/notes/implemented/feature/2026-08-18-settings-font-size-control.md b/.agents/notes/archived/feature/2026-08-18-settings-font-size-control.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-18-settings-font-size-control.md rename to .agents/notes/archived/feature/2026-08-18-settings-font-size-control.md index 778893a2c0..d0b2ae847a 100644 --- a/.agents/notes/implemented/feature/2026-08-18-settings-font-size-control.md +++ b/.agents/notes/archived/feature/2026-08-18-settings-font-size-control.md @@ -1,6 +1,7 @@ # Agent Note: Settings-backed conversation content font size Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-18-settings-font-size-control.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-18-settings-font-size-control.zh.md b/.agents/notes/archived/feature/2026-08-18-settings-font-size-control.zh.md similarity index 98% rename from .agents/notes/implemented/feature/2026-08-18-settings-font-size-control.zh.md rename to .agents/notes/archived/feature/2026-08-18-settings-font-size-control.zh.md index 71ff3b5566..11624f5317 100644 --- a/.agents/notes/implemented/feature/2026-08-18-settings-font-size-control.zh.md +++ b/.agents/notes/archived/feature/2026-08-18-settings-font-size-control.zh.md @@ -1,6 +1,7 @@ -# Agent Note:Settings 支撑的会话正文字号 +# Agent Note: Settings 支撑的会话正文字号 -状态:已实现 +Status: implemented +Archived: 2026-09-04 [English](2026-08-18-settings-font-size-control.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-19-web-markdown-wide-table-view.i18n.yaml b/.agents/notes/archived/feature/2026-08-19-web-markdown-wide-table-view.i18n.yaml new file mode 100644 index 0000000000..39b0f1c65c --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-19-web-markdown-wide-table-view.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-19-web-markdown-wide-table-view.md +2026-08-19-web-markdown-wide-table-view.md: df89f8f2024321c1aef8cc175f251e91a6a4a014 +2026-08-19-web-markdown-wide-table-view.zh.md: 047e30d310f6179c48970ddc1588785524ff613c diff --git a/.agents/notes/implemented/feature/2026-08-19-web-markdown-wide-table-view.md b/.agents/notes/archived/feature/2026-08-19-web-markdown-wide-table-view.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-19-web-markdown-wide-table-view.md rename to .agents/notes/archived/feature/2026-08-19-web-markdown-wide-table-view.md index fc025f6755..df89f8f202 100644 --- a/.agents/notes/implemented/feature/2026-08-19-web-markdown-wide-table-view.md +++ b/.agents/notes/archived/feature/2026-08-19-web-markdown-wide-table-view.md @@ -1,6 +1,7 @@ # Agent Note: Web markdown tables fill the column by count, wide ones break out Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-19-web-markdown-wide-table-view.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-19-web-markdown-wide-table-view.zh.md b/.agents/notes/archived/feature/2026-08-19-web-markdown-wide-table-view.zh.md similarity index 98% rename from .agents/notes/implemented/feature/2026-08-19-web-markdown-wide-table-view.zh.md rename to .agents/notes/archived/feature/2026-08-19-web-markdown-wide-table-view.zh.md index a9e3f66468..047e30d310 100644 --- a/.agents/notes/implemented/feature/2026-08-19-web-markdown-wide-table-view.zh.md +++ b/.agents/notes/archived/feature/2026-08-19-web-markdown-wide-table-view.zh.md @@ -1,6 +1,7 @@ -# Agent Note:Web markdown 表格按列数填充消息列,宽表突破列宽 +# Agent Note: Web markdown 表格按列数填充消息列,宽表突破列宽 Status: implemented +Archived: 2026-09-04 [English](2026-08-19-web-markdown-wide-table-view.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-20-multiline-question-answer-field.i18n.yaml b/.agents/notes/archived/feature/2026-08-20-multiline-question-answer-field.i18n.yaml new file mode 100644 index 0000000000..e23a53479b --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-20-multiline-question-answer-field.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-20-multiline-question-answer-field.md +2026-08-20-multiline-question-answer-field.md: 2445c48ad08b9a8d9feefe0ccf24f187f51cdd4f +2026-08-20-multiline-question-answer-field.zh.md: bd141a6239f0c777ccae98ca6593a9860fb57f85 diff --git a/.agents/notes/implemented/feature/2026-08-20-multiline-question-answer-field.md b/.agents/notes/archived/feature/2026-08-20-multiline-question-answer-field.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-20-multiline-question-answer-field.md rename to .agents/notes/archived/feature/2026-08-20-multiline-question-answer-field.md index 207a7e5303..2445c48ad0 100644 --- a/.agents/notes/implemented/feature/2026-08-20-multiline-question-answer-field.md +++ b/.agents/notes/archived/feature/2026-08-20-multiline-question-answer-field.md @@ -1,6 +1,7 @@ # Agent Note: Multi-line answers in the question composer Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-20-multiline-question-answer-field.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-20-multiline-question-answer-field.zh.md b/.agents/notes/archived/feature/2026-08-20-multiline-question-answer-field.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-20-multiline-question-answer-field.zh.md rename to .agents/notes/archived/feature/2026-08-20-multiline-question-answer-field.zh.md index 3c7644675a..bd141a6239 100644 --- a/.agents/notes/implemented/feature/2026-08-20-multiline-question-answer-field.zh.md +++ b/.agents/notes/archived/feature/2026-08-20-multiline-question-answer-field.zh.md @@ -1,6 +1,7 @@ # Agent Note: Multi-line answers in the question composer Status: implemented +Archived: 2026-09-04 [English](2026-08-20-multiline-question-answer-field.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-20-tool-card-image-results.i18n.yaml b/.agents/notes/archived/feature/2026-08-20-tool-card-image-results.i18n.yaml new file mode 100644 index 0000000000..9e46252573 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-20-tool-card-image-results.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-20-tool-card-image-results.md +2026-08-20-tool-card-image-results.md: 49168f741ce5d4f31ca08ad17eb2f8410a72d45c +2026-08-20-tool-card-image-results.zh.md: 957fa4fbfdecfdc0b1d8152511566041d6862b4f diff --git a/.agents/notes/implemented/feature/2026-08-20-tool-card-image-results.md b/.agents/notes/archived/feature/2026-08-20-tool-card-image-results.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-20-tool-card-image-results.md rename to .agents/notes/archived/feature/2026-08-20-tool-card-image-results.md index 7659bc4685..49168f741c 100644 --- a/.agents/notes/implemented/feature/2026-08-20-tool-card-image-results.md +++ b/.agents/notes/archived/feature/2026-08-20-tool-card-image-results.md @@ -1,6 +1,7 @@ # Agent Note: Tool-card image results Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-20-tool-card-image-results.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-20-tool-card-image-results.zh.md b/.agents/notes/archived/feature/2026-08-20-tool-card-image-results.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-20-tool-card-image-results.zh.md rename to .agents/notes/archived/feature/2026-08-20-tool-card-image-results.zh.md index 10f4b3182d..957fa4fbfd 100644 --- a/.agents/notes/implemented/feature/2026-08-20-tool-card-image-results.zh.md +++ b/.agents/notes/archived/feature/2026-08-20-tool-card-image-results.zh.md @@ -1,6 +1,7 @@ -# Agent Note:工具卡片的图像结果 +# Agent Note: 工具卡片的图像结果 Status: implemented +Archived: 2026-09-04 [English](2026-08-20-tool-card-image-results.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-20-web-streaming-fence-highlight.i18n.yaml b/.agents/notes/archived/feature/2026-08-20-web-streaming-fence-highlight.i18n.yaml new file mode 100644 index 0000000000..42109d2137 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-20-web-streaming-fence-highlight.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-20-web-streaming-fence-highlight.md +2026-08-20-web-streaming-fence-highlight.md: 096e319c1573ec6f382a08772a181c74b37d14f5 +2026-08-20-web-streaming-fence-highlight.zh.md: fd113afbb8e73778e42286b097d0861afd33649e diff --git a/.agents/notes/implemented/feature/2026-08-20-web-streaming-fence-highlight.md b/.agents/notes/archived/feature/2026-08-20-web-streaming-fence-highlight.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-20-web-streaming-fence-highlight.md rename to .agents/notes/archived/feature/2026-08-20-web-streaming-fence-highlight.md index aa44a8c7ea..096e319c15 100644 --- a/.agents/notes/implemented/feature/2026-08-20-web-streaming-fence-highlight.md +++ b/.agents/notes/archived/feature/2026-08-20-web-streaming-fence-highlight.md @@ -1,6 +1,7 @@ # Agent Note: Streaming fences highlight incrementally Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-20-web-streaming-fence-highlight.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-20-web-streaming-fence-highlight.zh.md b/.agents/notes/archived/feature/2026-08-20-web-streaming-fence-highlight.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-20-web-streaming-fence-highlight.zh.md rename to .agents/notes/archived/feature/2026-08-20-web-streaming-fence-highlight.zh.md index 88bae36928..fd113afbb8 100644 --- a/.agents/notes/implemented/feature/2026-08-20-web-streaming-fence-highlight.zh.md +++ b/.agents/notes/archived/feature/2026-08-20-web-streaming-fence-highlight.zh.md @@ -1,6 +1,7 @@ # Agent Note: 流式围栏代码增量高亮 Status: implemented +Archived: 2026-09-04 [English](2026-08-20-web-streaming-fence-highlight.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-21-headless-reasoning-progress.i18n.yaml b/.agents/notes/archived/feature/2026-08-21-headless-reasoning-progress.i18n.yaml new file mode 100644 index 0000000000..ff6da150da --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-21-headless-reasoning-progress.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-21-headless-reasoning-progress.md +2026-08-21-headless-reasoning-progress.md: 499a6c4f583a7ed16eac52a1539bebcd5c6938f4 +2026-08-21-headless-reasoning-progress.zh.md: a679f2d68db900e704b9b757a386accf85429ef7 diff --git a/.agents/notes/implemented/feature/2026-08-21-headless-reasoning-progress.md b/.agents/notes/archived/feature/2026-08-21-headless-reasoning-progress.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-21-headless-reasoning-progress.md rename to .agents/notes/archived/feature/2026-08-21-headless-reasoning-progress.md index 7486841083..499a6c4f58 100644 --- a/.agents/notes/implemented/feature/2026-08-21-headless-reasoning-progress.md +++ b/.agents/notes/archived/feature/2026-08-21-headless-reasoning-progress.md @@ -1,6 +1,7 @@ # Agent Note: headless streams provider reasoning to stderr Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-21-headless-reasoning-progress.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-21-headless-reasoning-progress.zh.md b/.agents/notes/archived/feature/2026-08-21-headless-reasoning-progress.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-21-headless-reasoning-progress.zh.md rename to .agents/notes/archived/feature/2026-08-21-headless-reasoning-progress.zh.md index a03a380b7d..a679f2d68d 100644 --- a/.agents/notes/implemented/feature/2026-08-21-headless-reasoning-progress.zh.md +++ b/.agents/notes/archived/feature/2026-08-21-headless-reasoning-progress.zh.md @@ -1,6 +1,7 @@ # Agent Note: headless 将提供方推理流式写入 stderr Status: implemented +Archived: 2026-09-04 [English](2026-08-21-headless-reasoning-progress.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-21-model-readable-image-paths.i18n.yaml b/.agents/notes/archived/feature/2026-08-21-model-readable-image-paths.i18n.yaml new file mode 100644 index 0000000000..a21ace0355 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-21-model-readable-image-paths.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-21-model-readable-image-paths.md +2026-08-21-model-readable-image-paths.md: 123ac91021051afb0cba55ddbe5302b49698c666 +2026-08-21-model-readable-image-paths.zh.md: be34bf3e56ecaae1ef1994abf9ee3176dedb9510 diff --git a/.agents/notes/implemented/feature/2026-08-21-model-readable-image-paths.md b/.agents/notes/archived/feature/2026-08-21-model-readable-image-paths.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-21-model-readable-image-paths.md rename to .agents/notes/archived/feature/2026-08-21-model-readable-image-paths.md index 728d25ee84..123ac91021 100644 --- a/.agents/notes/implemented/feature/2026-08-21-model-readable-image-paths.md +++ b/.agents/notes/archived/feature/2026-08-21-model-readable-image-paths.md @@ -1,6 +1,7 @@ # Agent Note: Execution-world image paths in model requests Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-21-model-readable-image-paths.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-21-model-readable-image-paths.zh.md b/.agents/notes/archived/feature/2026-08-21-model-readable-image-paths.zh.md similarity index 98% rename from .agents/notes/implemented/feature/2026-08-21-model-readable-image-paths.zh.md rename to .agents/notes/archived/feature/2026-08-21-model-readable-image-paths.zh.md index 2596dec5a2..be34bf3e56 100644 --- a/.agents/notes/implemented/feature/2026-08-21-model-readable-image-paths.zh.md +++ b/.agents/notes/archived/feature/2026-08-21-model-readable-image-paths.zh.md @@ -1,6 +1,7 @@ -# Agent Note:在模型请求中提供执行环境图片路径 +# Agent Note: 在模型请求中提供执行环境图片路径 -状态:已实现 +Status: implemented +Archived: 2026-09-04 [English](2026-08-21-model-readable-image-paths.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-21-out-of-process-subagent-minimal-diagnostics.i18n.yaml b/.agents/notes/archived/feature/2026-08-21-out-of-process-subagent-minimal-diagnostics.i18n.yaml new file mode 100644 index 0000000000..340a830f65 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-21-out-of-process-subagent-minimal-diagnostics.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-21-out-of-process-subagent-minimal-diagnostics.md +2026-08-21-out-of-process-subagent-minimal-diagnostics.md: 24fc06064f24fe0ff6a88d5da590f2ca7f90af02 +2026-08-21-out-of-process-subagent-minimal-diagnostics.zh.md: 29bdbd00cb47f06310e5ee90b6867e69bfbd1038 diff --git a/.agents/notes/implemented/feature/2026-08-21-out-of-process-subagent-minimal-diagnostics.md b/.agents/notes/archived/feature/2026-08-21-out-of-process-subagent-minimal-diagnostics.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-21-out-of-process-subagent-minimal-diagnostics.md rename to .agents/notes/archived/feature/2026-08-21-out-of-process-subagent-minimal-diagnostics.md index 82f2d2b131..24fc06064f 100644 --- a/.agents/notes/implemented/feature/2026-08-21-out-of-process-subagent-minimal-diagnostics.md +++ b/.agents/notes/archived/feature/2026-08-21-out-of-process-subagent-minimal-diagnostics.md @@ -1,6 +1,7 @@ # Agent Note: Out-of-process subagents expose minimal actionable diagnostics Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-21-out-of-process-subagent-minimal-diagnostics.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-21-out-of-process-subagent-minimal-diagnostics.zh.md b/.agents/notes/archived/feature/2026-08-21-out-of-process-subagent-minimal-diagnostics.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-21-out-of-process-subagent-minimal-diagnostics.zh.md rename to .agents/notes/archived/feature/2026-08-21-out-of-process-subagent-minimal-diagnostics.zh.md index 4cf5a1ebef..29bdbd00cb 100644 --- a/.agents/notes/implemented/feature/2026-08-21-out-of-process-subagent-minimal-diagnostics.zh.md +++ b/.agents/notes/archived/feature/2026-08-21-out-of-process-subagent-minimal-diagnostics.zh.md @@ -1,6 +1,7 @@ # Agent Note: 进程外 subagent 公开最小可行动诊断 Status: implemented +Archived: 2026-09-04 [English](2026-08-21-out-of-process-subagent-minimal-diagnostics.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-24-folder-reference-pick-vs-drill.i18n.yaml b/.agents/notes/archived/feature/2026-08-24-folder-reference-pick-vs-drill.i18n.yaml new file mode 100644 index 0000000000..c8327b99b1 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-24-folder-reference-pick-vs-drill.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-24-folder-reference-pick-vs-drill.md +2026-08-24-folder-reference-pick-vs-drill.md: 18e994784f4148e306a98bfb457c43a67565a60e +2026-08-24-folder-reference-pick-vs-drill.zh.md: c752db974b93011f89f1c3778b77b6ccb4186b8b diff --git a/.agents/notes/implemented/feature/2026-08-24-folder-reference-pick-vs-drill.md b/.agents/notes/archived/feature/2026-08-24-folder-reference-pick-vs-drill.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-24-folder-reference-pick-vs-drill.md rename to .agents/notes/archived/feature/2026-08-24-folder-reference-pick-vs-drill.md index de5d4930eb..18e994784f 100644 --- a/.agents/notes/implemented/feature/2026-08-24-folder-reference-pick-vs-drill.md +++ b/.agents/notes/archived/feature/2026-08-24-folder-reference-pick-vs-drill.md @@ -1,6 +1,7 @@ # Agent Note: Folder references settle on pick; descent moves to an explicit drill verb Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-24-folder-reference-pick-vs-drill.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-24-folder-reference-pick-vs-drill.zh.md b/.agents/notes/archived/feature/2026-08-24-folder-reference-pick-vs-drill.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-24-folder-reference-pick-vs-drill.zh.md rename to .agents/notes/archived/feature/2026-08-24-folder-reference-pick-vs-drill.zh.md index 773e5b2b7c..c752db974b 100644 --- a/.agents/notes/implemented/feature/2026-08-24-folder-reference-pick-vs-drill.zh.md +++ b/.agents/notes/archived/feature/2026-08-24-folder-reference-pick-vs-drill.zh.md @@ -1,6 +1,7 @@ # Agent Note: 文件夹引用 pick 即选定;下钻移交给显式 drill 动词 Status: implemented +Archived: 2026-09-04 [English](2026-08-24-folder-reference-pick-vs-drill.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-24-route-priced-image-request-pressure.i18n.yaml b/.agents/notes/archived/feature/2026-08-24-route-priced-image-request-pressure.i18n.yaml new file mode 100644 index 0000000000..ba7d92e3de --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-24-route-priced-image-request-pressure.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-24-route-priced-image-request-pressure.md +2026-08-24-route-priced-image-request-pressure.md: 691349467651c7bc7686eb47bb28abd771f37b6c +2026-08-24-route-priced-image-request-pressure.zh.md: d6e9689942f6eb378ca05bef0f7cbc0bd18af712 diff --git a/.agents/notes/implemented/feature/2026-08-24-route-priced-image-request-pressure.md b/.agents/notes/archived/feature/2026-08-24-route-priced-image-request-pressure.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-24-route-priced-image-request-pressure.md rename to .agents/notes/archived/feature/2026-08-24-route-priced-image-request-pressure.md index 45a2921173..6913494676 100644 --- a/.agents/notes/implemented/feature/2026-08-24-route-priced-image-request-pressure.md +++ b/.agents/notes/archived/feature/2026-08-24-route-priced-image-request-pressure.md @@ -1,6 +1,7 @@ # Agent Note: Route-priced image request pressure Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-24-route-priced-image-request-pressure.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-24-route-priced-image-request-pressure.zh.md b/.agents/notes/archived/feature/2026-08-24-route-priced-image-request-pressure.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-24-route-priced-image-request-pressure.zh.md rename to .agents/notes/archived/feature/2026-08-24-route-priced-image-request-pressure.zh.md index cf005a3ee3..d6e9689942 100644 --- a/.agents/notes/implemented/feature/2026-08-24-route-priced-image-request-pressure.zh.md +++ b/.agents/notes/archived/feature/2026-08-24-route-priced-image-request-pressure.zh.md @@ -1,6 +1,7 @@ # Agent Note: 按路由定价的图片请求压力 Status: implemented +Archived: 2026-09-04 [English](2026-08-24-route-priced-image-request-pressure.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-24-trajectory-image-attachments.i18n.yaml b/.agents/notes/archived/feature/2026-08-24-trajectory-image-attachments.i18n.yaml new file mode 100644 index 0000000000..0e644d5fed --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-24-trajectory-image-attachments.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-24-trajectory-image-attachments.md +2026-08-24-trajectory-image-attachments.md: be35b762dba6ed35ada83dc0d24e9c6e46c84ecc +2026-08-24-trajectory-image-attachments.zh.md: 5e28d0de4b20ce4fcb6599d6b8202c8998faf7c1 diff --git a/.agents/notes/implemented/feature/2026-08-24-trajectory-image-attachments.md b/.agents/notes/archived/feature/2026-08-24-trajectory-image-attachments.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-24-trajectory-image-attachments.md rename to .agents/notes/archived/feature/2026-08-24-trajectory-image-attachments.md index 6f89840a7d..be35b762db 100644 --- a/.agents/notes/implemented/feature/2026-08-24-trajectory-image-attachments.md +++ b/.agents/notes/archived/feature/2026-08-24-trajectory-image-attachments.md @@ -1,6 +1,7 @@ # Agent Note: Trajectory durable image attachments Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-24-trajectory-image-attachments.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-24-trajectory-image-attachments.zh.md b/.agents/notes/archived/feature/2026-08-24-trajectory-image-attachments.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-24-trajectory-image-attachments.zh.md rename to .agents/notes/archived/feature/2026-08-24-trajectory-image-attachments.zh.md index f1e8634639..5e28d0de4b 100644 --- a/.agents/notes/implemented/feature/2026-08-24-trajectory-image-attachments.zh.md +++ b/.agents/notes/archived/feature/2026-08-24-trajectory-image-attachments.zh.md @@ -1,6 +1,7 @@ # Agent Note: Trajectory 持久化图片附件 Status: implemented +Archived: 2026-09-04 [English](2026-08-24-trajectory-image-attachments.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-24-web-per-turn-token-usage.i18n.yaml b/.agents/notes/archived/feature/2026-08-24-web-per-turn-token-usage.i18n.yaml new file mode 100644 index 0000000000..f0e41eb8ff --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-24-web-per-turn-token-usage.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-24-web-per-turn-token-usage.md +2026-08-24-web-per-turn-token-usage.md: eb3c82e5c0fe188566cbccbdb8c0ed1c361ed73e +2026-08-24-web-per-turn-token-usage.zh.md: ea8b57a50dc9c77055c5ecd25e62c125c42a9a7a diff --git a/.agents/notes/implemented/feature/2026-08-24-web-per-turn-token-usage.md b/.agents/notes/archived/feature/2026-08-24-web-per-turn-token-usage.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-24-web-per-turn-token-usage.md rename to .agents/notes/archived/feature/2026-08-24-web-per-turn-token-usage.md index 91aab0f2c2..eb3c82e5c0 100644 --- a/.agents/notes/implemented/feature/2026-08-24-web-per-turn-token-usage.md +++ b/.agents/notes/archived/feature/2026-08-24-web-per-turn-token-usage.md @@ -1,6 +1,7 @@ # Agent Note: Exact Web per-Turn token usage Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-24-web-per-turn-token-usage.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-24-web-per-turn-token-usage.zh.md b/.agents/notes/archived/feature/2026-08-24-web-per-turn-token-usage.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-24-web-per-turn-token-usage.zh.md rename to .agents/notes/archived/feature/2026-08-24-web-per-turn-token-usage.zh.md index f9c424fa0f..ea8b57a50d 100644 --- a/.agents/notes/implemented/feature/2026-08-24-web-per-turn-token-usage.zh.md +++ b/.agents/notes/archived/feature/2026-08-24-web-per-turn-token-usage.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 单轮次精确 token 用量 Status: implemented +Archived: 2026-09-04 [English](2026-08-24-web-per-turn-token-usage.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-25-loaded-turn-chat-navigation.i18n.yaml b/.agents/notes/archived/feature/2026-08-25-loaded-turn-chat-navigation.i18n.yaml new file mode 100644 index 0000000000..7f6312ded3 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-25-loaded-turn-chat-navigation.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-25-loaded-turn-chat-navigation.md +2026-08-25-loaded-turn-chat-navigation.md: 514456c13e97596c6b818846a91d4a040d0844f6 +2026-08-25-loaded-turn-chat-navigation.zh.md: 9344a9dba599baf99ae2115be3a55d9f2526388a diff --git a/.agents/notes/implemented/feature/2026-08-25-loaded-turn-chat-navigation.md b/.agents/notes/archived/feature/2026-08-25-loaded-turn-chat-navigation.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-25-loaded-turn-chat-navigation.md rename to .agents/notes/archived/feature/2026-08-25-loaded-turn-chat-navigation.md index b01e64d23f..514456c13e 100644 --- a/.agents/notes/implemented/feature/2026-08-25-loaded-turn-chat-navigation.md +++ b/.agents/notes/archived/feature/2026-08-25-loaded-turn-chat-navigation.md @@ -1,6 +1,7 @@ # Agent Note: Loaded-Turn chat navigation Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-25-loaded-turn-chat-navigation.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-25-loaded-turn-chat-navigation.zh.md b/.agents/notes/archived/feature/2026-08-25-loaded-turn-chat-navigation.zh.md similarity index 98% rename from .agents/notes/implemented/feature/2026-08-25-loaded-turn-chat-navigation.zh.md rename to .agents/notes/archived/feature/2026-08-25-loaded-turn-chat-navigation.zh.md index 85397c4a33..9344a9dba5 100644 --- a/.agents/notes/implemented/feature/2026-08-25-loaded-turn-chat-navigation.zh.md +++ b/.agents/notes/archived/feature/2026-08-25-loaded-turn-chat-navigation.zh.md @@ -1,6 +1,7 @@ -# Agent Note:已加载 Turn 的聊天导航 +# Agent Note: 已加载 Turn 的聊天导航 Status: implemented +Archived: 2026-09-04 [English](2026-08-25-loaded-turn-chat-navigation.md) | 中文 diff --git a/.agents/notes/implemented/simplification/2026-06-19-drop-mutable-session-summary.i18n.yaml b/.agents/notes/archived/feature/2026-08-26-web-trigger-menu-presentation-polish.i18n.yaml similarity index 54% rename from .agents/notes/implemented/simplification/2026-06-19-drop-mutable-session-summary.i18n.yaml rename to .agents/notes/archived/feature/2026-08-26-web-trigger-menu-presentation-polish.i18n.yaml index fbde7aa853..7f8a0a9e4c 100644 --- a/.agents/notes/implemented/simplification/2026-06-19-drop-mutable-session-summary.i18n.yaml +++ b/.agents/notes/archived/feature/2026-08-26-web-trigger-menu-presentation-polish.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/simplification/2026-06-19-drop-mutable-session-summary.md -2026-06-19-drop-mutable-session-summary.md: b93566914a490b5054b865e51a8fda21925be1b5 -2026-06-19-drop-mutable-session-summary.zh.md: 9a36ba6f20e38a571099372c47588024cfea4853 +# pnpm run verify-translation-pairing --write .agents/notes/archived/feature/2026-08-26-web-trigger-menu-presentation-polish.md +2026-08-26-web-trigger-menu-presentation-polish.md: ff5903f3118b9ea8a4b1fe8c0fae063c275212d5 +2026-08-26-web-trigger-menu-presentation-polish.zh.md: e735fa1d8185741dec810972ef5431e7ef9edbde diff --git a/.agents/notes/implemented/feature/2026-08-26-web-trigger-menu-presentation-polish.md b/.agents/notes/archived/feature/2026-08-26-web-trigger-menu-presentation-polish.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-26-web-trigger-menu-presentation-polish.md rename to .agents/notes/archived/feature/2026-08-26-web-trigger-menu-presentation-polish.md index 07417b29e3..ff5903f311 100644 --- a/.agents/notes/implemented/feature/2026-08-26-web-trigger-menu-presentation-polish.md +++ b/.agents/notes/archived/feature/2026-08-26-web-trigger-menu-presentation-polish.md @@ -1,6 +1,7 @@ # Agent Note: Web trigger menu presentation polish Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-26-web-trigger-menu-presentation-polish.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-26-web-trigger-menu-presentation-polish.zh.md b/.agents/notes/archived/feature/2026-08-26-web-trigger-menu-presentation-polish.zh.md similarity index 98% rename from .agents/notes/implemented/feature/2026-08-26-web-trigger-menu-presentation-polish.zh.md rename to .agents/notes/archived/feature/2026-08-26-web-trigger-menu-presentation-polish.zh.md index dc84c53964..e735fa1d81 100644 --- a/.agents/notes/implemented/feature/2026-08-26-web-trigger-menu-presentation-polish.zh.md +++ b/.agents/notes/archived/feature/2026-08-26-web-trigger-menu-presentation-polish.zh.md @@ -1,6 +1,7 @@ -# Agent Note:Web 触发菜单呈现打磨 +# Agent Note: Web 触发菜单呈现打磨 Status: implemented +Archived: 2026-09-04 [English](2026-08-26-web-trigger-menu-presentation-polish.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-27-web-at-mention-discovery-and-row-content.i18n.yaml b/.agents/notes/archived/feature/2026-08-27-web-at-mention-discovery-and-row-content.i18n.yaml new file mode 100644 index 0000000000..9bc5ccda35 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-27-web-at-mention-discovery-and-row-content.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-27-web-at-mention-discovery-and-row-content.md +2026-08-27-web-at-mention-discovery-and-row-content.md: b668105c8bdca4df829e07fb702f8ab401c8a3ae +2026-08-27-web-at-mention-discovery-and-row-content.zh.md: f2c5bb02719fd82a4f03e67b793cf1d72f68364e diff --git a/.agents/notes/implemented/feature/2026-08-27-web-at-mention-discovery-and-row-content.md b/.agents/notes/archived/feature/2026-08-27-web-at-mention-discovery-and-row-content.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-27-web-at-mention-discovery-and-row-content.md rename to .agents/notes/archived/feature/2026-08-27-web-at-mention-discovery-and-row-content.md index defe3eaffb..b668105c8b 100644 --- a/.agents/notes/implemented/feature/2026-08-27-web-at-mention-discovery-and-row-content.md +++ b/.agents/notes/archived/feature/2026-08-27-web-at-mention-discovery-and-row-content.md @@ -1,6 +1,7 @@ # Agent Note: Web @ mention discovery cost and row content Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-27-web-at-mention-discovery-and-row-content.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-27-web-at-mention-discovery-and-row-content.zh.md b/.agents/notes/archived/feature/2026-08-27-web-at-mention-discovery-and-row-content.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-27-web-at-mention-discovery-and-row-content.zh.md rename to .agents/notes/archived/feature/2026-08-27-web-at-mention-discovery-and-row-content.zh.md index 236cefc55f..f2c5bb0271 100644 --- a/.agents/notes/implemented/feature/2026-08-27-web-at-mention-discovery-and-row-content.zh.md +++ b/.agents/notes/archived/feature/2026-08-27-web-at-mention-discovery-and-row-content.zh.md @@ -1,6 +1,7 @@ -# Agent Note:Web @ mention 的发现成本与行内容 +# Agent Note: Web @ mention 的发现成本与行内容 Status: implemented +Archived: 2026-09-04 [English](2026-08-27-web-at-mention-discovery-and-row-content.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-28-web-connection-recovery-control.i18n.yaml b/.agents/notes/archived/feature/2026-08-28-web-connection-recovery-control.i18n.yaml new file mode 100644 index 0000000000..eb076623f6 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-28-web-connection-recovery-control.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-28-web-connection-recovery-control.md +2026-08-28-web-connection-recovery-control.md: 22baf100f4cdc12054b8f1b06150abf6e5a43a29 +2026-08-28-web-connection-recovery-control.zh.md: 748c8325d5da15299517c54cce72a18639da3f86 diff --git a/.agents/notes/implemented/feature/2026-08-28-web-connection-recovery-control.md b/.agents/notes/archived/feature/2026-08-28-web-connection-recovery-control.md similarity index 69% rename from .agents/notes/implemented/feature/2026-08-28-web-connection-recovery-control.md rename to .agents/notes/archived/feature/2026-08-28-web-connection-recovery-control.md index 6fec265c8e..22baf100f4 100644 --- a/.agents/notes/implemented/feature/2026-08-28-web-connection-recovery-control.md +++ b/.agents/notes/archived/feature/2026-08-28-web-connection-recovery-control.md @@ -1,6 +1,7 @@ # Agent Note: Web connection recovery control Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-28-web-connection-recovery-control.zh.md) @@ -10,17 +11,17 @@ The Web Client automatically rebuilt its Remote event generation and physical We ## Decision -The Host sends WebSocket Ping control frames every two seconds by default through the existing validated `websocketHeartbeatIntervalMs` configuration. Before each Ping it marks the socket as awaiting Pong; a socket still awaiting Pong at the next interval is terminated. `ConnectionController` is the sole retry scheduler. Online transport failures enter jittered exponential backoff whose cap starts at 500ms, doubles through 1s, 2s, 4s, and 8s, and stops growing at 10s; the actual delay is 50–100% of the cap. The failed retry in the 10s tier ends automatic recovery and publishes `disconnected`. Each physical retry publishes `connecting`, writes one `retry #N` warning, asks Gateway mux to replace any candidate or active socket exactly once, and reopens the internal `$events` stream. +The Host sends WebSocket Ping control frames every two seconds by default through the existing validated `websocketHeartbeatIntervalMs` configuration. Before each Ping it marks the socket as awaiting Pong; a socket still awaiting Pong at the next interval is terminated. `ConnectionController` is the sole retry scheduler. Online transport failures enter jittered exponential backoff whose cap starts at 500ms, doubles through 1s, 2s, 4s, and 8s, and stops growing at 10s; the actual delay is 50–100% of the cap. The [continuous recovery decision](../bug-fix/2026-09-05-continuous-client-recovery.md) supersedes this note's finite retry policy: attempts continue at the capped interval, and handshake readiness has a hard deadline. Each physical retry publishes `connecting`, writes one `retry #N` warning, asks Gateway mux to replace any candidate or active socket exactly once, and reopens the internal `$events` stream. The Client Connection service exposes the identity-stable `ctx.connection.state` observable and `ctx.connection.reconnect()`. Its snapshot is undefined until the first connection outcome, then carries `disconnected`, `connecting`, or `connected`; equivalent states do not notify. Manual reconnect interrupts the current generation or retry delay, resets the attempt number, and starts retry 1 immediately through the same physical and logical path as automatic recovery. The browser's `offline` event immediately aborts active connection work, publishes `disconnected`, and suspends automatic retries. The next `online` transition publishes `connecting`, resets the attempt number, and starts again at the 500ms backoff tier; duplicate events do not create another loop. A fresh `$events` ready frame, rather than `navigator.onLine`, proves Host connectivity. Logical streams continue to own their baseline, cursor, and replay semantics after the replacement generation. The [Web Client architecture](../architecture/2026-07-19-gui-web-client-architecture.md), [Remote event delivery](../architecture/2026-08-10-remote-event-delivery.md), and [Session event transport](../architecture/2026-08-18-session-history-and-event-transport.md) retain their broader ownership decisions; this note supersedes only their former retry timing. -The Settings shell is a recovery-specific consumer and therefore injects Connection directly; ordinary feature code continues to use `ctx.remote`. Its private hooks compartment binds the state observable and reconnect command. The expanded sidebar renders `ConnectionIndicator` immediately to the right of Settings: `disconnected` is a pale-yellow **Disconnected** action, `connecting` stays yellow while one to three dots advance every 500ms independently of retry timing, and a recovered connection displays pale-green **Connected** for two seconds. Hover or keyboard focus on either yellow state changes only the text to **Reconnect now**; press feedback uses a small warning-color transition, and no native title tooltip is present. Every visible state reserves the widest localized label and uses fixed icon and left-aligned text columns, so state changes do not move or resize the control. Initial startup and uninterrupted healthy operation render nothing. +The Settings shell is a recovery-specific consumer and therefore injects Connection directly; ordinary feature code continues to use `ctx.remote`. Its private hooks compartment binds the state observable and reconnect command. The expanded sidebar renders `ConnectionIndicator` immediately to the right of Settings: `disconnected` is a pale-yellow **Disconnected** action, `connecting` displays **Reconnecting** in yellow while one to three dots advance every 500ms independently of retry timing, and a recovered connection displays pale-green **Connected** for two seconds. Hover or keyboard focus on either yellow state changes only the text to **Reconnect now**; press feedback uses a small warning-color transition, and no native title tooltip is present. Every visible state reserves the widest localized label and uses fixed icon and left-aligned text columns, so state changes do not move or resize the control. Initial startup and uninterrupted healthy operation render nothing. ## Alternatives considered -**Retry every two seconds without a terminal state.** Rejected because a long outage would create continuous connection traffic. The retained exponential policy retries quickly at first, becomes progressively quieter, and leaves a stable recovery action after the 10s tier fails. +**Retry every two seconds without a terminal state.** Rejected because a long outage would create continuous connection traffic. The retained exponential policy retries quickly at first, becomes progressively quieter, and retains the recovery action during retries. The continuous recovery decision governs retries after the cap is reached. **Render a full-width `ConnectionBanner` at the top of the viewport.** Rejected because the status belongs beside the recovery action the user named, and a global overlay consumes unrelated page chrome. The primitive is the inline `ConnectionIndicator`; no `ConnectionBanner` compatibility export exists before the first tagged release. @@ -30,7 +31,7 @@ The Settings shell is a recovery-specific consumer and therefore injects Connect ## Consequences -Idle browser connections generate more frequent heartbeat traffic than the former default, while long outages stop generating connection attempts after the capped retry fails. Deployments may override the Host Ping interval. Gateway mux owns no second retry timer, so every `retry #N` warning corresponds to one Controller-requested physical attempt. +Idle browser connections generate more frequent heartbeat traffic than the former default, while long outages retain capped connection attempts under the continuous recovery decision. Deployments may override the Host Ping interval. Gateway mux owns no second retry timer, so every `retry #N` warning corresponds to one Controller-requested physical attempt. A manual reconnect intentionally disrupts every logical Remote stream sharing the physical socket. Their existing generation supervisors restore state through fresh baselines or cursors, and one-way notifications remain non-replayed. @@ -38,4 +39,4 @@ The connection state and browser-network input stay in the React-free transport ## Testing -Connection and Gateway tests pin the two-second heartbeat and Pong deadline, exponential retry limits and logs, browser offline suspension and online reset, manual sequence reset, one socket replacement per requested attempt, state deduplication, listener isolation, and disposal. Component tests pin healthy-state absence, hover/action copy, the independent dot animation, click behavior, and the two-second success state. The assembled Web test drives browser offline/online transitions, failed WebSocket attempts, stable indicator geometry, manual recovery, and the success confirmation through the shipped application. +Connection and Gateway tests pin the two-second heartbeat and Pong deadline, exponential retry caps and logs, browser offline suspension and online reset, manual sequence reset, one socket replacement per requested attempt, state deduplication, listener isolation, and disposal. Component tests pin healthy-state absence, hover/action copy, the independent dot animation, click behavior, and the two-second success state. The assembled Web test drives browser offline/online transitions, failed WebSocket attempts, stable indicator geometry, manual recovery, and the success confirmation through the shipped application. diff --git a/.agents/notes/implemented/feature/2026-08-28-web-connection-recovery-control.zh.md b/.agents/notes/archived/feature/2026-08-28-web-connection-recovery-control.zh.md similarity index 68% rename from .agents/notes/implemented/feature/2026-08-28-web-connection-recovery-control.zh.md rename to .agents/notes/archived/feature/2026-08-28-web-connection-recovery-control.zh.md index e45119b272..748c8325d5 100644 --- a/.agents/notes/implemented/feature/2026-08-28-web-connection-recovery-control.zh.md +++ b/.agents/notes/archived/feature/2026-08-28-web-connection-recovery-control.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web 连接恢复控件 Status: implemented +Archived: 2026-09-04 [English](2026-08-28-web-connection-recovery-control.md) | 中文 @@ -10,17 +11,17 @@ Web Client 会在故障后自动重建 Remote event generation 与物理 WebSock ## Decision -Host 默认通过既有且经过校验的 `websocketHeartbeatIntervalMs` 配置,每 2 秒发送一次 WebSocket Ping 控制帧。每次 Ping 前,它把 socket 标记为等待 Pong;到下一间隔仍未收到 Pong 的 socket 会被终止。`ConnectionController` 是唯一的 retry 调度器。在线状态下的传输失败进入带抖动的指数退避:上限从 500ms 开始,依次翻倍为 1s、2s、4s、8s,最终封顶 10s;实际延迟是上限的 50%–100%。10s 档的 retry 仍失败后,自动恢复结束并发布 `disconnected`。每次物理 retry 都发布 `connecting`、写一条 `retry #N` warning、要求 Gateway mux 恰好一次替换候选或活动 socket,再重开内部 `$events` stream。 +Host 默认通过既有且经过校验的 `websocketHeartbeatIntervalMs` 配置,每 2 秒发送一次 WebSocket Ping 控制帧。每次 Ping 前,它把 socket 标记为等待 Pong;到下一间隔仍未收到 Pong 的 socket 会被终止。`ConnectionController` 是唯一的 retry 调度器。在线状态下的传输失败进入带抖动的指数退避:上限从 500ms 开始,依次翻倍为 1s、2s、4s、8s,最终封顶 10s;实际延迟是上限的 50%–100%。[持续恢复决策](../bug-fix/2026-09-05-continuous-client-recovery.zh.md)取代本笔记的有限重试策略:达到间隔上限后仍继续尝试,握手就绪设有硬期限。每次物理 retry 都发布 `connecting`、写一条 `retry #N` warning、要求 Gateway mux 恰好一次替换候选或活动 socket,再重开内部 `$events` stream。 Client Connection 服务暴露 identity 稳定的 `ctx.connection.state` observable 与 `ctx.connection.reconnect()`。snapshot 在首次连接结果前为 undefined,此后为 `disconnected`、`connecting` 或 `connected`;等价状态不触发通知。手动重连会中断当前 generation 或重试等待、重置 attempt 序号,并通过与自动恢复相同的物理和逻辑路径立即开始 retry 1。浏览器的 `offline` 事件会立即中断活动连接工作、发布 `disconnected` 并暂停自动 retry;下一次 `online` 转换会发布 `connecting`、重置 attempt 序号,并从 500ms 退避档重新开始;重复事件不会创建另一条循环。Host 是否可达由新的 `$events` ready 帧证明,而不是由 `navigator.onLine` 证明。替换 generation 建立后,各 logical stream 仍自行持有 baseline、cursor 与 replay 语义。 [Web Client 架构](../architecture/2026-07-19-gui-web-client-architecture.zh.md)、[Remote 事件投递](../architecture/2026-08-10-remote-event-delivery.zh.md)和[会话事件传输](../architecture/2026-08-18-session-history-and-event-transport.zh.md)继续持有各自更宽的所有权决策;本笔记只取代其中原有的重试时序。 -Settings 外壳是恢复功能专用消费方,因此直接注入 Connection;普通功能代码仍使用 `ctx.remote`。它的私有 hooks compartment 绑定状态 observable 与重连命令。展开的侧边栏在 Settings 右侧渲染 `ConnectionIndicator`:`disconnected` 是浅黄色的**连接异常**操作;`connecting` 保持黄色,其中一至三个点每 500ms 前进一次,与 retry 时序无关;恢复后则以浅绿色显示**连接成功**并驻留 2 秒。鼠标悬浮或键盘聚焦任一黄色状态时只把文字改为**立即重连**;按压反馈采用轻微的警告色过渡,不使用原生 title tooltip。所有可见状态都为最宽的本地化文字预留空间,并使用固定的图标列和左对齐文字列,因此状态变化不会移动控件或改变其宽度。首次启动和未曾中断的健康连接都不渲染。 +Settings 外壳是恢复功能专用消费方,因此直接注入 Connection;普通功能代码仍使用 `ctx.remote`。它的私有 hooks compartment 绑定状态 observable 与重连命令。展开的侧边栏在 Settings 右侧渲染 `ConnectionIndicator`:`disconnected` 是浅黄色的**连接异常**操作;`connecting` 以黄色显示**自动重连中**,其中一至三个点每 500ms 前进一次,与 retry 时序无关;恢复后则以浅绿色显示**连接成功**并驻留 2 秒。鼠标悬浮或键盘聚焦任一黄色状态时只把文字改为**立即重连**;按压反馈采用轻微的警告色过渡,不使用原生 title tooltip。所有可见状态都为最宽的本地化文字预留空间,并使用固定的图标列和左对齐文字列,因此状态变化不会移动控件或改变其宽度。首次启动和未曾中断的健康连接都不渲染。 ## Alternatives considered -**固定每 2 秒重试且不进入终态。**不采用,因为长时间故障会持续产生连接流量。保留的指数策略先快速重试,再逐步降低频率,并在 10s 档失败后留下稳定的恢复操作。 +**固定每 2 秒重试且不进入终态。**不采用,因为长时间故障会持续产生连接流量。保留的指数策略先快速重试,再逐步降低频率,并在重试期间保留恢复操作。达到间隔上限后的重试由持续恢复决策规定。 **在视口顶部渲染全宽 `ConnectionBanner`。**不采用,因为状态应放在用户指定的恢复操作旁,全局覆盖层还会占用无关页面界面框架。该原语是内联 `ConnectionIndicator`;首次标签发布前不存在 `ConnectionBanner` 兼容导出。 @@ -30,7 +31,7 @@ Settings 外壳是恢复功能专用消费方,因此直接注入 Connection; ## Consequences -空闲浏览器连接的心跳流量会高于原默认值;长时间故障则在封顶档 retry 失败后停止产生连接尝试。部署仍可覆盖 Host Ping 间隔。Gateway mux 不拥有第二个 retry timer,因此每条 `retry #N` warning 都对应一次由 Controller 请求的物理尝试。 +空闲浏览器连接的心跳流量会高于原默认值;长时间故障则按持续恢复决策保留间隔封顶的连接尝试。部署仍可覆盖 Host Ping 间隔。Gateway mux 不拥有第二个 retry timer,因此每条 `retry #N` warning 都对应一次由 Controller 请求的物理尝试。 手动重连会刻意中断共享物理 socket 的全部 logical Remote stream。它们既有的 generation supervisor 会通过新 baseline 或 cursor 恢复状态;单向通知仍不重放。 @@ -38,4 +39,4 @@ Settings 外壳是恢复功能专用消费方,因此直接注入 Connection; ## Testing -Connection 与 Gateway 测试固定 2 秒心跳及 Pong deadline、指数 retry 上限与日志、浏览器离线暂停和在线重置、手动重置序列、每次请求只替换一个 socket、状态去重、listener 隔离与 dispose。组件测试固定健康状态下不显示、悬浮与操作文案、独立点动画、点击行为与 2 秒成功状态。组装 Web 测试通过随附浏览器应用驱动浏览器 offline/online 转换、失败的 WebSocket 尝试、稳定的指示器几何、手动恢复与成功确认。 +Connection 与 Gateway 测试固定 2 秒心跳及 Pong deadline、指数 retry 间隔上限与日志、浏览器离线暂停和在线重置、手动重置序列、每次请求只替换一个 socket、状态去重、listener 隔离与 dispose。组件测试固定健康状态下不显示、悬浮与操作文案、独立点动画、点击行为与 2 秒成功状态。组装 Web 测试通过随附浏览器应用驱动浏览器 offline/online 转换、失败的 WebSocket 尝试、稳定的指示器几何、手动恢复与成功确认。 diff --git a/.agents/notes/archived/feature/2026-08-28-web-turn-stat-pills.i18n.yaml b/.agents/notes/archived/feature/2026-08-28-web-turn-stat-pills.i18n.yaml new file mode 100644 index 0000000000..19b0217c5e --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-28-web-turn-stat-pills.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-28-web-turn-stat-pills.md +2026-08-28-web-turn-stat-pills.md: 9d4642f14ce8214167a038b43b5cc9c17ea16558 +2026-08-28-web-turn-stat-pills.zh.md: 7010048cb9e2603c2a08977d076ae4069f9a1bd4 diff --git a/.agents/notes/implemented/feature/2026-08-28-web-turn-stat-pills.md b/.agents/notes/archived/feature/2026-08-28-web-turn-stat-pills.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-28-web-turn-stat-pills.md rename to .agents/notes/archived/feature/2026-08-28-web-turn-stat-pills.md index 2661c228b9..9d4642f14c 100644 --- a/.agents/notes/implemented/feature/2026-08-28-web-turn-stat-pills.md +++ b/.agents/notes/archived/feature/2026-08-28-web-turn-stat-pills.md @@ -1,6 +1,7 @@ # Agent Note: Turn-tail stat pills with anchored dialogs Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-28-web-turn-stat-pills.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-28-web-turn-stat-pills.zh.md b/.agents/notes/archived/feature/2026-08-28-web-turn-stat-pills.zh.md similarity index 97% rename from .agents/notes/implemented/feature/2026-08-28-web-turn-stat-pills.zh.md rename to .agents/notes/archived/feature/2026-08-28-web-turn-stat-pills.zh.md index 5cc889b9f7..7010048cb9 100644 --- a/.agents/notes/implemented/feature/2026-08-28-web-turn-stat-pills.zh.md +++ b/.agents/notes/archived/feature/2026-08-28-web-turn-stat-pills.zh.md @@ -1,6 +1,7 @@ -# Agent Note:Turn 尾部统计 pill 与锚定弹层 +# Agent Note: Turn 尾部统计 pill 与锚定弹层 -状态:已实现 +Status: implemented +Archived: 2026-09-04 [English](2026-08-28-web-turn-stat-pills.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-08-30-web-turn-rail-outline-jump.i18n.yaml b/.agents/notes/archived/feature/2026-08-30-web-turn-rail-outline-jump.i18n.yaml new file mode 100644 index 0000000000..528c10e790 --- /dev/null +++ b/.agents/notes/archived/feature/2026-08-30-web-turn-rail-outline-jump.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-08-30-web-turn-rail-outline-jump.md +2026-08-30-web-turn-rail-outline-jump.md: 2e5042903ec4d9bad37c351737959d6d0d14f3b8 +2026-08-30-web-turn-rail-outline-jump.zh.md: 5be9d5828d487832bf7c7d56cef89e127621bd7e diff --git a/.agents/notes/implemented/feature/2026-08-30-web-turn-rail-outline-jump.md b/.agents/notes/archived/feature/2026-08-30-web-turn-rail-outline-jump.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-30-web-turn-rail-outline-jump.md rename to .agents/notes/archived/feature/2026-08-30-web-turn-rail-outline-jump.md index af2a464513..2e5042903e 100644 --- a/.agents/notes/implemented/feature/2026-08-30-web-turn-rail-outline-jump.md +++ b/.agents/notes/archived/feature/2026-08-30-web-turn-rail-outline-jump.md @@ -1,6 +1,7 @@ # Agent Note: Full-session turn rail with outline projection and jump paging Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-30-web-turn-rail-outline-jump.zh.md) diff --git a/.agents/notes/implemented/feature/2026-08-30-web-turn-rail-outline-jump.zh.md b/.agents/notes/archived/feature/2026-08-30-web-turn-rail-outline-jump.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-08-30-web-turn-rail-outline-jump.zh.md rename to .agents/notes/archived/feature/2026-08-30-web-turn-rail-outline-jump.zh.md index b63b1c1f65..5be9d5828d 100644 --- a/.agents/notes/implemented/feature/2026-08-30-web-turn-rail-outline-jump.zh.md +++ b/.agents/notes/archived/feature/2026-08-30-web-turn-rail-outline-jump.zh.md @@ -1,6 +1,7 @@ # Agent Note: 基于大纲投影与跳转分页的整会话轮次导航栏 Status: implemented +Archived: 2026-09-04 [English](2026-08-30-web-turn-rail-outline-jump.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-09-01-shared-base-web-fetch-default.i18n.yaml b/.agents/notes/archived/feature/2026-09-01-shared-base-web-fetch-default.i18n.yaml new file mode 100644 index 0000000000..4d18995242 --- /dev/null +++ b/.agents/notes/archived/feature/2026-09-01-shared-base-web-fetch-default.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-09-01-shared-base-web-fetch-default.md +2026-09-01-shared-base-web-fetch-default.md: b07121fb864969da0547793be3fda30a6ee45d78 +2026-09-01-shared-base-web-fetch-default.zh.md: 6a5b94744d0ca59047c411f6a34d2e98d7bf7593 diff --git a/.agents/notes/implemented/feature/2026-09-01-shared-base-web-fetch-default.md b/.agents/notes/archived/feature/2026-09-01-shared-base-web-fetch-default.md similarity index 99% rename from .agents/notes/implemented/feature/2026-09-01-shared-base-web-fetch-default.md rename to .agents/notes/archived/feature/2026-09-01-shared-base-web-fetch-default.md index eceb2009d8..b07121fb86 100644 --- a/.agents/notes/implemented/feature/2026-09-01-shared-base-web-fetch-default.md +++ b/.agents/notes/archived/feature/2026-09-01-shared-base-web-fetch-default.md @@ -1,6 +1,7 @@ # Agent Note: Shared-base Web fetch default Status: implemented +Archived: 2026-09-04 English | [中文](2026-09-01-shared-base-web-fetch-default.zh.md) diff --git a/.agents/notes/implemented/feature/2026-09-01-shared-base-web-fetch-default.zh.md b/.agents/notes/archived/feature/2026-09-01-shared-base-web-fetch-default.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-09-01-shared-base-web-fetch-default.zh.md rename to .agents/notes/archived/feature/2026-09-01-shared-base-web-fetch-default.zh.md index 9be9c6350b..6a5b94744d 100644 --- a/.agents/notes/implemented/feature/2026-09-01-shared-base-web-fetch-default.zh.md +++ b/.agents/notes/archived/feature/2026-09-01-shared-base-web-fetch-default.zh.md @@ -1,6 +1,7 @@ # Agent Note: 共享 base 的 Web 抓取默认值 Status: implemented +Archived: 2026-09-04 [English](2026-09-01-shared-base-web-fetch-default.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-09-01-web-elevation-stroke-shadows.i18n.yaml b/.agents/notes/archived/feature/2026-09-01-web-elevation-stroke-shadows.i18n.yaml new file mode 100644 index 0000000000..d1ec3ae568 --- /dev/null +++ b/.agents/notes/archived/feature/2026-09-01-web-elevation-stroke-shadows.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-09-01-web-elevation-stroke-shadows.md +2026-09-01-web-elevation-stroke-shadows.md: 53c0e5a84d487697f9560d3052a0da790b7d002d +2026-09-01-web-elevation-stroke-shadows.zh.md: f32fa2a02bac12bcd37974977b1fbcd3e36930f4 diff --git a/.agents/notes/implemented/feature/2026-09-01-web-elevation-stroke-shadows.md b/.agents/notes/archived/feature/2026-09-01-web-elevation-stroke-shadows.md similarity index 99% rename from .agents/notes/implemented/feature/2026-09-01-web-elevation-stroke-shadows.md rename to .agents/notes/archived/feature/2026-09-01-web-elevation-stroke-shadows.md index 2bc3105203..53c0e5a84d 100644 --- a/.agents/notes/implemented/feature/2026-09-01-web-elevation-stroke-shadows.md +++ b/.agents/notes/archived/feature/2026-09-01-web-elevation-stroke-shadows.md @@ -1,6 +1,7 @@ # Agent Note: Web elevation — hairline stroke drawn in shadow Status: implemented +Archived: 2026-09-04 English | [中文](2026-09-01-web-elevation-stroke-shadows.zh.md) diff --git a/.agents/notes/implemented/feature/2026-09-01-web-elevation-stroke-shadows.zh.md b/.agents/notes/archived/feature/2026-09-01-web-elevation-stroke-shadows.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-09-01-web-elevation-stroke-shadows.zh.md rename to .agents/notes/archived/feature/2026-09-01-web-elevation-stroke-shadows.zh.md index bda3ee27af..f32fa2a02b 100644 --- a/.agents/notes/implemented/feature/2026-09-01-web-elevation-stroke-shadows.zh.md +++ b/.agents/notes/archived/feature/2026-09-01-web-elevation-stroke-shadows.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web elevation — hairline stroke drawn in shadow Status: implemented +Archived: 2026-09-04 [English](2026-09-01-web-elevation-stroke-shadows.md) | 中文 diff --git a/.agents/notes/archived/feature/2026-09-01-web-superellipse-corner-smoothing.i18n.yaml b/.agents/notes/archived/feature/2026-09-01-web-superellipse-corner-smoothing.i18n.yaml new file mode 100644 index 0000000000..56a95d70ca --- /dev/null +++ b/.agents/notes/archived/feature/2026-09-01-web-superellipse-corner-smoothing.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/feature/2026-09-01-web-superellipse-corner-smoothing.md +2026-09-01-web-superellipse-corner-smoothing.md: 6817c6640532251a72cfbff51af62555d95da6d1 +2026-09-01-web-superellipse-corner-smoothing.zh.md: bc784ad44a66215ed125abe3809af7693abed752 diff --git a/.agents/notes/implemented/feature/2026-09-01-web-superellipse-corner-smoothing.md b/.agents/notes/archived/feature/2026-09-01-web-superellipse-corner-smoothing.md similarity index 99% rename from .agents/notes/implemented/feature/2026-09-01-web-superellipse-corner-smoothing.md rename to .agents/notes/archived/feature/2026-09-01-web-superellipse-corner-smoothing.md index 7088438a80..6817c66405 100644 --- a/.agents/notes/implemented/feature/2026-09-01-web-superellipse-corner-smoothing.md +++ b/.agents/notes/archived/feature/2026-09-01-web-superellipse-corner-smoothing.md @@ -1,6 +1,7 @@ # Agent Note: Web superellipse corner smoothing Status: implemented +Archived: 2026-09-04 English | [中文](2026-09-01-web-superellipse-corner-smoothing.zh.md) diff --git a/.agents/notes/implemented/feature/2026-09-01-web-superellipse-corner-smoothing.zh.md b/.agents/notes/archived/feature/2026-09-01-web-superellipse-corner-smoothing.zh.md similarity index 99% rename from .agents/notes/implemented/feature/2026-09-01-web-superellipse-corner-smoothing.zh.md rename to .agents/notes/archived/feature/2026-09-01-web-superellipse-corner-smoothing.zh.md index 26aa64fda9..bc784ad44a 100644 --- a/.agents/notes/implemented/feature/2026-09-01-web-superellipse-corner-smoothing.zh.md +++ b/.agents/notes/archived/feature/2026-09-01-web-superellipse-corner-smoothing.zh.md @@ -1,6 +1,7 @@ # Agent Note: Web superellipse corner smoothing Status: implemented +Archived: 2026-09-04 [English](2026-09-01-web-superellipse-corner-smoothing.md) | 中文 diff --git a/.agents/notes/archived/manifest.json b/.agents/notes/archived/manifest.json index 88606a0992..f540320056 100644 --- a/.agents/notes/archived/manifest.json +++ b/.agents/notes/archived/manifest.json @@ -4,72 +4,387 @@ "architecture/2026-06-11-custom-schema-dsl.i18n.yaml": "sha256:f05d94c11762e506183044ddb1494a2b200ca16999ef3cef51c7b3a324eec945", "architecture/2026-06-11-custom-schema-dsl.md": "sha256:71286f2676f8b47d0bd56c6cc43cf8102946e6d195942860a5810b9c534d2b2b", "architecture/2026-06-11-custom-schema-dsl.zh.md": "sha256:999ff59565a4459184a644c4de6ef98c1bb1a174712e529f5c8417342abdd437", + "architecture/2026-06-11-runtime-arg-validation.i18n.yaml": "sha256:2298b757376b5be2d15c9431f484344bbd9a2dbf5786ff27464ec079d6f1ff36", + "architecture/2026-06-11-runtime-arg-validation.md": "sha256:19b8cc0fb42371aae27fb942a6d1ea31dacd59f46afb7eef1f2f2984487d5ec6", + "architecture/2026-06-11-runtime-arg-validation.zh.md": "sha256:690b7a109a719bd416bf41ffe35029c8c9101df3c52f9896b9adf7d2f0b8d194", + "architecture/2026-06-11-structured-error-taxonomy.i18n.yaml": "sha256:ff5b92f533dea20d2029899adfa101bf03bbc927fa4e3910df33633c762798ea", + "architecture/2026-06-11-structured-error-taxonomy.md": "sha256:f8890925e4cccb167201282c0195d808a20ebe8f60672eb92511149ecfdb2523", + "architecture/2026-06-11-structured-error-taxonomy.zh.md": "sha256:b836fb7d72e4e7a913e1b8575a23c4c84be5da970c7ed1b5d8b486c0971a0d3d", "architecture/2026-06-11-tool-schemas-in-prompt-assembly.i18n.yaml": "sha256:37230a2f5b9dbe160b4f36b6906065637846261cbef380c3e2b777cf0d8e9013", "architecture/2026-06-11-tool-schemas-in-prompt-assembly.md": "sha256:6f7b7f15f53f857ccb8477b3fdf65bf2de3a6f96acd93049c03ce4aff1629538", "architecture/2026-06-11-tool-schemas-in-prompt-assembly.zh.md": "sha256:fd5ddfc53f8a1c4afa86599c858c2ad27858166e676754ee6e2ce0881f55cef7", "architecture/2026-06-15-turn-enclosure-invariant.i18n.yaml": "sha256:7eb471a53b7bef104c57e9343b80d672763f062ecb086b01b318b65b488d3c02", "architecture/2026-06-15-turn-enclosure-invariant.md": "sha256:afefa3a268c84f26cf5461e08933245352a9e63cff688d3c398c8064a4ac6e85", "architecture/2026-06-15-turn-enclosure-invariant.zh.md": "sha256:c54fdac980abc922cdc252a8fef59e4bdd7567316c7fbb6f7dbc035e470d95fa", + "architecture/2026-06-17-filesystem-capability-seam.i18n.yaml": "sha256:5e69d31c437cabe7c369b34f2d8dd3210f401abb6a36a544d0883f32183a3c11", + "architecture/2026-06-17-filesystem-capability-seam.md": "sha256:c6b1da21bddf8f328ed2bb8b548e684e112a70f560885f8940a4f5002f9e3d1d", + "architecture/2026-06-17-filesystem-capability-seam.zh.md": "sha256:182745b6deef85b8764ddeca1aeee423a70383832fcdcbf9f4e7730dd7eee6bb", + "architecture/2026-06-18-agent-lifecycle-and-ownership-contracts.i18n.yaml": "sha256:bb7cb77f28f39a1d7a9cafa650a34670231c266dc59b1d14e1d04e33856820ee", + "architecture/2026-06-18-agent-lifecycle-and-ownership-contracts.md": "sha256:3b0f6199911c416b5c2abbcffbefc65945a54ddaefdc246c96d2d572a18c3e95", + "architecture/2026-06-18-agent-lifecycle-and-ownership-contracts.zh.md": "sha256:7ba760d8d0702b046035d65d1f1a973bba4017b49ce475b7a89f8cc504e75fee", "architecture/2026-06-18-shared-persistence-write-coordinator.i18n.yaml": "sha256:3c5c22e9e6a63598ba648cad46d783af322cf3afd6021426a2d738f4b026bf65", "architecture/2026-06-18-shared-persistence-write-coordinator.md": "sha256:d5242c770101086b6f0a0c40eab500d405ef4a98cae07e28d9ec21e89d94f90e", "architecture/2026-06-18-shared-persistence-write-coordinator.zh.md": "sha256:3dce52e302600a0eea29b4821a2718b6bbc1ebe4c6c2ae372cd0cbe66cb05519", + "architecture/2026-06-20-branded-ids.i18n.yaml": "sha256:ca0e6043d6459b781493737e4410f6773cad3085e1586b9a993b3ad5f2d19c56", + "architecture/2026-06-20-branded-ids.md": "sha256:7f304dc81d57d9a8db598dfb4f55dcf64e56d97cb5be646e317f57838237ee87", + "architecture/2026-06-20-branded-ids.zh.md": "sha256:6720d64717b685dacd707e68d0d62f4010bf513aa66c5bcc6e5133c0e3718c90", "architecture/2026-06-20-extract-example-app-packages.i18n.yaml": "sha256:d99b612cc1051c86d883d74737c72e921735e7a28e0b5e6351d3870c664bdcc4", "architecture/2026-06-20-extract-example-app-packages.md": "sha256:9c7aca3a1e9a1ccc3729961663bc649b90076e671cae23e3db8203305983ccce", "architecture/2026-06-20-extract-example-app-packages.zh.md": "sha256:19bd50232d9f25d35aa3f9dc72d9af0df457dd0eaca8b982d5aa625e5b95bcff", "architecture/2026-06-20-package-hierarchy.i18n.yaml": "sha256:02b9c383c0fc4e9d6cdd2d28b70b73d02ed913861834db8e2a3111ad82e05dee", "architecture/2026-06-20-package-hierarchy.md": "sha256:a0c6b3022e27f6106996b7aaf5d087b3e3f66f24f7b5fd7b7c12f172ab5dc2f4", "architecture/2026-06-20-package-hierarchy.zh.md": "sha256:40eec478cc5ff8ae76996e567d1f58309ed71b3bf0068ee06b088deae283512a", + "architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.i18n.yaml": "sha256:32605633787a782818314707569f45e9c90d2ca21b707c46567d845fb641bb11", + "architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.md": "sha256:7433ba1518acb9f2fd0645ddca46c376b8b1b1ba7828ff2f7af9555c576aac9a", + "architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.zh.md": "sha256:7f4090e5764f9545671ce86be5eac7cae30a86aaf95e089aea16b1427c87b6d8", + "architecture/2026-07-02-fs-per-session-cwd.i18n.yaml": "sha256:8558c35353aac33f33a4e41e032de8c253403603654516fed522a8d949ca5d96", + "architecture/2026-07-02-fs-per-session-cwd.md": "sha256:5eb7a57a84ce430f6eda3259b8733173d37a8ca6c9489d9f9ba118b57e6e2f5f", + "architecture/2026-07-02-fs-per-session-cwd.zh.md": "sha256:5b94169db27342f96d3d90a5af7841bc548035ce2711d5afce25e9f2d05d1e39", "architecture/2026-07-02-result-time-applied-hunk-diffs.i18n.yaml": "sha256:e26441a73c76fb4217d7458c2772d0cefc09eaef638ea9d302ebcf5d65c42c18", "architecture/2026-07-02-result-time-applied-hunk-diffs.md": "sha256:537f57877cc2e86b2d3a8a482043db8d7a51880159b1077c5a45b89cd5d0114c", "architecture/2026-07-02-result-time-applied-hunk-diffs.zh.md": "sha256:7661634cb816caea859287327e37c5536381ee7ad9c77e320ff9b8bb7a7e62ce", "architecture/2026-07-03-filesystem-directory-listing-seam.i18n.yaml": "sha256:636a822f3240e0401cdddad6a21f3454af1c1593fff14d4c9ce6613495f7dac1", "architecture/2026-07-03-filesystem-directory-listing-seam.md": "sha256:809a3c79f4d602607e8fa93aafd1ebccf4fae50c31f1fb1b1e386bb7ad089153", "architecture/2026-07-03-filesystem-directory-listing-seam.zh.md": "sha256:13735cd4c9fe990e6df3b028d6da01da89e94fde454dc0e968e517151cbd4281", + "architecture/2026-07-05-subagent-provider-lifecycle-events.i18n.yaml": "sha256:b27eae75c335503265777bac251ab1f42492fd1c29c050494aa5b951264d0dc3", + "architecture/2026-07-05-subagent-provider-lifecycle-events.md": "sha256:8d5aac912c51a3e9e12a9037c13d79c0fa9bb1c8901f31b33e91bb07624a1b85", + "architecture/2026-07-05-subagent-provider-lifecycle-events.zh.md": "sha256:13e2dff78fba11f62210a33f6ed1db088a19c6d6cf1495259dfe736f9ec13781", "architecture/2026-07-05-windows-fs-permissions.i18n.yaml": "sha256:7e61ee9bbd9de4bf3285a6f250d9625bd062e5fb90279dbffd64c820f1f7fe6b", "architecture/2026-07-05-windows-fs-permissions.md": "sha256:03734da511eae3b0736f7cad73d9da76ae2f69f9d5ed09089b0121ccb135a861", "architecture/2026-07-05-windows-fs-permissions.zh.md": "sha256:454848057ea905fe76c88d17264e71e71fb685f08f82088de6976878372865c3", + "architecture/2026-07-06-tool-result-retention-library.i18n.yaml": "sha256:3d658500765ece3eb305fed4775e36a9846d922bcd0bc8e9c057e8746dde910e", + "architecture/2026-07-06-tool-result-retention-library.md": "sha256:2d2877fd52d32f027a6974c3e887282cd5f8b2050bf2533adf12a2b9ad4e4cb5", + "architecture/2026-07-06-tool-result-retention-library.zh.md": "sha256:b1c3f980ddf6a299902d5dd7f211cd384b89c2ea26afc0d642c167b07d965dc8", + "architecture/2026-07-12-scoped-layers-store.i18n.yaml": "sha256:c2a1251102215d60bf06e2de7f3f497d162f52210485524df1f512462afc0f03", + "architecture/2026-07-12-scoped-layers-store.md": "sha256:0db4c96247ccd15f37edd2d00fea1bd11df6aa9d505ec710e8a606797deedf11", + "architecture/2026-07-12-scoped-layers-store.zh.md": "sha256:dd20c33a397898901931579b7a01339d1997327f64dc561e87f3bafcd3ec8e9b", + "architecture/2026-07-15-llm-model-catalog-and-acp-selection.i18n.yaml": "sha256:2e2976fcb4b6a401206dd5b3bee009e3400b063b4df99b9e320a1d59be14e45f", + "architecture/2026-07-15-llm-model-catalog-and-acp-selection.md": "sha256:83bd3406c18bba4c290935fba984f8d69623c5155c04daa18d28c9240140f0e3", + "architecture/2026-07-15-llm-model-catalog-and-acp-selection.zh.md": "sha256:c9919384ec0eee646a882a2be849c18198b9610a75edb80e4401593051abba78", + "architecture/2026-07-15-lsp-capability-seam.i18n.yaml": "sha256:499a01e0dbb337a621398a8bb951ac0dd715adbb58ed763a94f693b21f7131b3", + "architecture/2026-07-15-lsp-capability-seam.md": "sha256:2cfc24374f03a384f358f6044e78fa4bd106897af52344da6623367b487e0029", + "architecture/2026-07-15-lsp-capability-seam.zh.md": "sha256:db1ca9e08a618650ce6bccdf4b3fb6532d75cea46ba49fc886f7fddcc55e93c4", + "architecture/2026-07-15-replay-token-meter-service.i18n.yaml": "sha256:cb2356e0771b0c06da8c3cf494d1e36f09b4034d015cf213bd2413202c34a6fb", + "architecture/2026-07-15-replay-token-meter-service.md": "sha256:dab85a043b5a71b49aed3b0cba810e95bedfb4f318033b50664337fe4bb69f25", + "architecture/2026-07-15-replay-token-meter-service.zh.md": "sha256:725f5773e52b2f580aa217be43c26acfada21570d266d407a995ed9a9f7b99c0", + "architecture/2026-07-17-local-spill-startup-cleanup.i18n.yaml": "sha256:8aac3691a971964dfb7df662c11930119832f8f4a207906b49c2dc7824fdf987", + "architecture/2026-07-17-local-spill-startup-cleanup.md": "sha256:5abf50a2bec99734477a7c885c0c44d57ad12f3c59621ea1502927193364917d", + "architecture/2026-07-17-local-spill-startup-cleanup.zh.md": "sha256:17f574516921abd0c84915822d08699fdbaadb00447c15e6b4c1410783b61478", "architecture/2026-07-19-gui-layering-and-rpc-protocol.i18n.yaml": "sha256:855477999c84236430dc9308e16797eb21658a67a72b8537315c6964ff0c0c0a", "architecture/2026-07-19-gui-layering-and-rpc-protocol.md": "sha256:3517f37e98e74865dced37d5e1559d443e8fa827031c8335e99a1e910586e9ac", "architecture/2026-07-19-gui-layering-and-rpc-protocol.zh.md": "sha256:8181386d957fa6d6b3eb9b05d29adb10804b5a926853425415d368cc7fceaefa", + "architecture/2026-07-19-package-owned-invariant-service.i18n.yaml": "sha256:9ea696b84c3af215eb3640e8acfe75a73b0f16109cbdffd4ce18cbf616221231", + "architecture/2026-07-19-package-owned-invariant-service.md": "sha256:514f93f2261fecab9eb7efa8613340b1f01b729b411ac4adce903c50935fa95e", + "architecture/2026-07-19-package-owned-invariant-service.zh.md": "sha256:cbcc5550b68bc6699ac7411c46c5da67db3fc4fe8330873f1d190ef8141f1280", + "architecture/2026-07-20-todo-event-ownership.i18n.yaml": "sha256:d8c7537ec3110834eef3f5ec934842acc23315e6cd235ed92baea967244c78b4", + "architecture/2026-07-20-todo-event-ownership.md": "sha256:4c92c6dd9a5879437224f57616d1e106bf5a6afc1dd6229b033a01a51a035470", + "architecture/2026-07-20-todo-event-ownership.zh.md": "sha256:9218336958487145fbb7bdf2a47259f2d43646db3233800364c234fb061be2e4", "architecture/2026-07-22-tui-interactive-extension-service.i18n.yaml": "sha256:1b4822af5c8d642b73e3a0b04fb0a1dea9f50d0147046fbef53f5e49c030fb91", "architecture/2026-07-22-tui-interactive-extension-service.md": "sha256:ca6b2774f4821e66f7c8397f20fcd34926728ded853fa48cbe451db7a8d2f883", "architecture/2026-07-22-tui-interactive-extension-service.zh.md": "sha256:5b060c7626ee796c27108be7467a5e4be0677d7525d383336e7ec31ddce5c303", + "architecture/2026-07-22-unified-send-and-coalesced-user-messages.i18n.yaml": "sha256:f790cca0af2f4cf634651471effc09fc6e8be295bbc24ad6f55fbf41a49982d7", + "architecture/2026-07-22-unified-send-and-coalesced-user-messages.md": "sha256:67d34ee546cbc9461b78e93462f75ff4a8ce4c2a29c6ac13b6df79cf9ca83e7b", + "architecture/2026-07-22-unified-send-and-coalesced-user-messages.zh.md": "sha256:d9e70ad7c032a2410f8b379bedcbdad2e5d07d761c766666e832737944799eca", + "architecture/2026-07-23-toolview-dissolution.i18n.yaml": "sha256:289d378c759e9108f879c153fa3cd4223329deb4d3ae71c140bec3d86d5f3beb", + "architecture/2026-07-23-toolview-dissolution.md": "sha256:783dba9d82c126e1c909f1717531bdbc68fdd58f17006bb3051f7400ce6ca8a6", + "architecture/2026-07-23-toolview-dissolution.zh.md": "sha256:21ed1f0841c18260c5698bbbb4d53c4b460f8048d92ac351a791ccc77f17d632", "architecture/2026-07-23-unified-session-query-service.i18n.yaml": "sha256:e8733b6543d9602ec206a087d9e89815f041f60fb57e93bee80e1309b9f03067", "architecture/2026-07-23-unified-session-query-service.md": "sha256:28d003686f29ec5e072e51e73da353575bcdcba5af20fefdfad88340e1ddd32c", "architecture/2026-07-23-unified-session-query-service.zh.md": "sha256:cfbe6525bc3b072fbc6db6bdca7a4d8cb4fc5507b1655bebc6af0589ed29ed31", + "architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.i18n.yaml": "sha256:8f114ca4860fe298020778780cc98192c14625f1c565998e5bb77294b4f01cfe", + "architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.md": "sha256:08090290a25b9f067b56e9bf3b07a1dd1d652c49ab45aeb8bcae0ec09b79ba8f", + "architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.zh.md": "sha256:b309560bb8f3b9720ed3bde2709ca6cbb54b8aeb23c2d7ba098f2eee08f55133", "architecture/2026-07-24-dsh-commander-argument-adapter.i18n.yaml": "sha256:cf99eda0e58b49630d5f95792459d7095666fafbef61f614165d5cdd031b7118", "architecture/2026-07-24-dsh-commander-argument-adapter.md": "sha256:705654c8a43bcd199f72c21a77d24ca8bfa02447aff1c7f3e4e820be61dcd562", "architecture/2026-07-24-dsh-commander-argument-adapter.zh.md": "sha256:3844f02d7659d18caf5d39e1131ed775c789cbf92dc44b4a446c7d6468aa5d00", + "architecture/2026-07-25-web-command-surfaces-and-assembly.i18n.yaml": "sha256:726092004674738dfaf8a6cace26d9d39d567b9710a147fbc56b0bfa6bd780d0", + "architecture/2026-07-25-web-command-surfaces-and-assembly.md": "sha256:8415f54cc7b2c1ed06d55863c8c2f9800c32caaf10f62e7ad0c9593c49e2f7ec", + "architecture/2026-07-25-web-command-surfaces-and-assembly.zh.md": "sha256:acd5de934fcf43d87334feded440d4109f1fab6735e6480cabc847a27f8a75ad", + "architecture/2026-07-25-web-input-machine-and-slash-pipeline.i18n.yaml": "sha256:0f9883ac1287f97a0d3ed6a52a811a47e50a22b295cbc2fbcdef2d1713911bf0", + "architecture/2026-07-25-web-input-machine-and-slash-pipeline.md": "sha256:69370df04d91df2978bce18ac53d32476ea0e6ca50827a3fa32062b468d974e6", + "architecture/2026-07-25-web-input-machine-and-slash-pipeline.zh.md": "sha256:ba54a9e9fcc8a13fac3a7fe5f434a0e799cad910241655d820e219c7066d22de", + "architecture/2026-07-26-job-registry-seam.i18n.yaml": "sha256:54caa099acc6943f46c986ab15587674eafd784eaa614bae46844f3ae31da21a", + "architecture/2026-07-26-job-registry-seam.md": "sha256:ed66f845310c85e967bb7c2388ebbd125bb54b1adb1da1400f559aa27d310b25", + "architecture/2026-07-26-job-registry-seam.zh.md": "sha256:1e7683f8d7b095003fee5973ce52f831dd6bc3fef3d7e4512000574e48d35c2e", "architecture/2026-07-26-packed-chunk-rows-by-default.i18n.yaml": "sha256:41aa86c65f78e125ca2178295d02d5994d5e0f2e9359b1465777db1aba4a105b", "architecture/2026-07-26-packed-chunk-rows-by-default.md": "sha256:2b4e14675d12a1fc07eb373ab8566c3e63c7c15e2b5a0b391e6acbc896c7359d", "architecture/2026-07-26-packed-chunk-rows-by-default.zh.md": "sha256:e0b0e8a4ab529a3461c22f434cbbe1e7b0ea381592871caf7e3fe5157ef844ba", + "architecture/2026-07-26-subprocess-seam.i18n.yaml": "sha256:cfa13513cd540378a99c3ef3c09b0bd5e1cc0e4d9f5501546ee7dbfb3042afe8", + "architecture/2026-07-26-subprocess-seam.md": "sha256:8e9151948293bb1b07a56953e4f6430abfde3f007d79f629de4eabbdaa8ff766", + "architecture/2026-07-26-subprocess-seam.zh.md": "sha256:bc801335257edde72c3beff0a2c207df9dea6fbbd7f5d1fd514f9e500809854d", + "architecture/2026-07-27-dispose-ladder-to-consumer.i18n.yaml": "sha256:1f17131dd62dae9498376d10110a07510dc5c7a3c62949f844438fb842e30063", + "architecture/2026-07-27-dispose-ladder-to-consumer.md": "sha256:6efe5e5f421b18c53d9b7beda1326a74d3b9318291f969e4a583d0051166e41c", + "architecture/2026-07-27-dispose-ladder-to-consumer.zh.md": "sha256:66aa115bddbceff3fc636cdb49447b00b71ad99989c51a4dbb9d0f8ec723ccbc", "architecture/2026-07-27-tui-chat-channel-module-split.i18n.yaml": "sha256:7b9dbe8b4a340640610abe7e54fb29492d77a187c176996a53d0e1fc7c8e1945", "architecture/2026-07-27-tui-chat-channel-module-split.md": "sha256:3e2cd43f306a18b3eaf9bac23e6bdc3a5dbdc7388b7c399ce71e4f71b8f71d2a", "architecture/2026-07-27-tui-chat-channel-module-split.zh.md": "sha256:d6b84fdcd91a2693b72cf6884b3a0c39e56e571b2b694f630805d894a6ba292f", "architecture/2026-07-28-consolidated-tui-presentation.i18n.yaml": "sha256:1eb43c420a21b7a3adf0aa5274d9aa597187630a29d7e535c5e266f82e803665", "architecture/2026-07-28-consolidated-tui-presentation.md": "sha256:e6fa4ea0c9d1d94942ab98de47c554f4e8aa3b639a1cce52113107b1dbb0f4b0", "architecture/2026-07-28-consolidated-tui-presentation.zh.md": "sha256:01814434482a84ebd7f672eb5c26fc468b568e773452563bf39ba52ad25d054a", + "architecture/2026-07-28-directory-picker-capability-seam.i18n.yaml": "sha256:a951218d4a98a0e4fb03bb0b1c4a976b3576a0c8f326f7471a78b03b2cb0878d", + "architecture/2026-07-28-directory-picker-capability-seam.md": "sha256:d2ed57ea031637debe9d0d652fc9183484ecbac796f586c84a4e06ca73638a9b", + "architecture/2026-07-28-directory-picker-capability-seam.zh.md": "sha256:36abb6a702c8f67a99d7b9fee3b0e31cfe0f92f43c80a911968740c6ba89e52d", "architecture/2026-07-28-dsh-native-typescript-source-launch.i18n.yaml": "sha256:af071e07bce5d9bc8f3df65fed9dcd9b3779a98c5864badbd530363bda021b55", "architecture/2026-07-28-dsh-native-typescript-source-launch.md": "sha256:1b56e3454277ace713e2a01c4da538c756c45bf633fd24d7b16443d584afac5d", "architecture/2026-07-28-dsh-native-typescript-source-launch.zh.md": "sha256:8c0f97472c2c89d2c19ae5cfa68c6e67f32b50960b08b60b46496f78ea6ffad1", + "architecture/2026-07-28-user-settings-seam.i18n.yaml": "sha256:ff21413c1b4a580a3fbba34207c75cb1b2682ac81eea220a143cd11d67072308", + "architecture/2026-07-28-user-settings-seam.md": "sha256:fef7066e83abc23d57489df2f01bb21d12e3b211d59181c31b953d77eb1a6190", + "architecture/2026-07-28-user-settings-seam.zh.md": "sha256:3c42ff79a93c0ed3d8b82c928f06f9198e520d1075d81771fd538485f6c4c1b8", + "architecture/2026-07-29-package-regrouping.i18n.yaml": "sha256:ae20969e74c84e81e9171b62af28753d99b83a1f9469e675c83080312b74c5cd", + "architecture/2026-07-29-package-regrouping.md": "sha256:85670ac62fe173cc37bd7cb9a73647d82c51a96946723e78dcbe7cfe9f81de70", + "architecture/2026-07-29-package-regrouping.zh.md": "sha256:0099c78f71a6e84421c8bf747e409268b790be391a4c8172d17b5fc0e5b190f2", + "architecture/2026-07-29-request-level-llm-config-credentials.i18n.yaml": "sha256:e03ef58f4e6134a9a5ad56a6c9b6b58d7c7facb9ceed2d9b8067a73fdd00516e", + "architecture/2026-07-29-request-level-llm-config-credentials.md": "sha256:7ce96be6664e9529000e3436eab6844ccd757a5ca0d8205e2891c1078b58f8ea", + "architecture/2026-07-29-request-level-llm-config-credentials.zh.md": "sha256:06ae7966f9699721cb89f95188b0e8c42561c0427dafcd7394103641db33594d", + "architecture/2026-07-30-adapter-owned-max-token-defaults.i18n.yaml": "sha256:b3e7cfea1a1afe8ed81e98d059c0c762f11103810a2839bace5dd2a700576b76", + "architecture/2026-07-30-adapter-owned-max-token-defaults.md": "sha256:bf06ad9aa2f83aae069dd47430c7d44bb60310db1edef4c2bc7e151d68792ee8", + "architecture/2026-07-30-adapter-owned-max-token-defaults.zh.md": "sha256:54d0558acdd0e58d1e59e95df1d16c7ba8e72e221ca3a4baaac1ba1f1a55c03e", + "architecture/2026-07-30-client-locale-full-rollout.i18n.yaml": "sha256:ae3eb4b266395dfea107705441ada7e2c3d3bc208371521403aa80691c9a5324", + "architecture/2026-07-30-client-locale-full-rollout.md": "sha256:a9ea3b3f18dc74bea670e18921df9598cdce1d4f033b825b089362f6d3908dee", + "architecture/2026-07-30-client-locale-full-rollout.zh.md": "sha256:f486b788e0803bc8d30082a38cf66ee205f0ece3bcc534740dc4f0727b48573e", + "architecture/2026-07-30-command-row-copy-contract.i18n.yaml": "sha256:f59ce4158d6d263e996f45c2daf38400448c2e7e46dcd9b352d0ad030db596c6", + "architecture/2026-07-30-command-row-copy-contract.md": "sha256:10c20ace91ca6122952c60b747866e4359ad93c3866ecd1bfd14fdf9c968f567", + "architecture/2026-07-30-command-row-copy-contract.zh.md": "sha256:8839bbd70a75d0933d9e1f327834891a97454a75eefa7a9733410592e1d7ab81", + "architecture/2026-07-30-config-plane-boundaries.i18n.yaml": "sha256:af908b31293de6da141ed4e7a61422174ededda06c99d01f900fe96509910f39", + "architecture/2026-07-30-config-plane-boundaries.md": "sha256:7d628e144fd9d872f0f7bcf7c5e29e0a75069aba7aef4d3be8f9ac8091495701", + "architecture/2026-07-30-config-plane-boundaries.zh.md": "sha256:8cc0c48a73aae63201e1225980c675c72b9277ea6056acf104e8073468b8bef9", + "architecture/2026-07-30-settings-write-path-integrity.i18n.yaml": "sha256:729e669c522107d5029db8a61a239f225587130e769f0a806a60a045e834983f", + "architecture/2026-07-30-settings-write-path-integrity.md": "sha256:648c2302ccd60835d94ee94a3516d534541a37bfd4d3a2902509995e3429c43f", + "architecture/2026-07-30-settings-write-path-integrity.zh.md": "sha256:c2de9383504ea00ef940df5f6174606893b4665bd196bb7c5f1db19e515ee038", + "architecture/2026-07-30-web-config-plane.i18n.yaml": "sha256:81f973a05eed7ed6845b37e5c3e28db6141abd7d133c27fef9bb0e0ac0eb4486", + "architecture/2026-07-30-web-config-plane.md": "sha256:80ec41d4cc43c9f6096d0269700f6ea2d26f06aee3a4b12afeddce1e51916944", + "architecture/2026-07-30-web-config-plane.zh.md": "sha256:b7821469eb9fe37fe1bc178be4ac803fdb19d55c9d36e7c69048a51b9bfe52f6", + "architecture/2026-07-31-code-runtime-portable-identifier-seam.i18n.yaml": "sha256:e243a62d3b468b6a65c80b284fe934fad09099a42d33c1dca47f435427a851b7", + "architecture/2026-07-31-code-runtime-portable-identifier-seam.md": "sha256:d7a050d3a654b7b0445b8dbe6e87331bbd91ce0bf6ad23c6d83ee32ada85fc2f", + "architecture/2026-07-31-code-runtime-portable-identifier-seam.zh.md": "sha256:286c53e0000bd0a109b67bf3ce5f190197fa674f103075461168768d78ea6770", + "architecture/2026-08-01-packaged-ripgrep-search.i18n.yaml": "sha256:43c9128079955e974fe1da3ce1a10779b4f5a25ac3629f92e3b1de847ad45050", + "architecture/2026-08-01-packaged-ripgrep-search.md": "sha256:36cf2d6daa654abced690965338aec4628069dc77be3a1da6368a9b097a59ff4", + "architecture/2026-08-01-packaged-ripgrep-search.zh.md": "sha256:45b2fe8e0d492eeff313d2ef3c98fd69761b3257eee3476b8bf53312e8b6095f", + "architecture/2026-08-03-pi-ai-declared-provider-catalog.i18n.yaml": "sha256:c1a59c3c04afada633740c808b98e765ccad09220c4c79d8f4207313c9e9aab6", + "architecture/2026-08-03-pi-ai-declared-provider-catalog.md": "sha256:fae0c59ece887f7d9344b6254d20cc671894074d53eefffb85dbf45b9104d2b6", + "architecture/2026-08-03-pi-ai-declared-provider-catalog.zh.md": "sha256:8032cefedd51b292d810051ff32e8825958e6d90b2e523a374294ef2f859ca1e", + "architecture/2026-08-04-credentials-yaml-and-user-environment-layer.i18n.yaml": "sha256:3ed6d54ad340a33eba5eaaaba60862deb39bfb71c7bbe23a45dda1e1a557b00c", + "architecture/2026-08-04-credentials-yaml-and-user-environment-layer.md": "sha256:943dc33ac6cc47c9e6e273787fa4187bea3a5268cefc9b5fca31df417e2e8c7f", + "architecture/2026-08-04-credentials-yaml-and-user-environment-layer.zh.md": "sha256:940e37f93a8949be46e2275cfed1624d0305b70e1099a69f614f8e488ee0aeba", + "architecture/2026-08-04-declaring-a-provider-from-the-models-page.i18n.yaml": "sha256:0d8bce49724dddba6fb8aa5d4beedadebce36f38838111c59a18ee418c9b61c9", + "architecture/2026-08-04-declaring-a-provider-from-the-models-page.md": "sha256:99c4faf487b177a8231803ed68551c93f2f8f4902ad02ebdd6cd09d273c79603", + "architecture/2026-08-04-declaring-a-provider-from-the-models-page.zh.md": "sha256:1443455cf5da2963612285b8852d8663def596f86e79066456a48e933c66825f", "architecture/2026-08-04-websocket-downlink-carrier.i18n.yaml": "sha256:b9d742d068a0e36df2f3030f6a04a3638f3461f7e10b50ed0cd6bd5e85de5019", "architecture/2026-08-04-websocket-downlink-carrier.md": "sha256:b9be27a4cda8abd410c6e8b728c571f96b4891eb003c5200e9a0ffbbc9145b42", "architecture/2026-08-04-websocket-downlink-carrier.zh.md": "sha256:118b71b33710a7a3d28375c48b42c1ec19993ca7e13f286dd6ea64f934456f46", + "architecture/2026-08-05-large-session-jsonl-restore-pipeline.i18n.yaml": "sha256:3dd516d460c3a352f1c40037e7659ab5d1bb858367c788a8b05a842612a70dbe", + "architecture/2026-08-05-large-session-jsonl-restore-pipeline.md": "sha256:469632c911525744141216c5b9117439fa98670ce74ab9fbc27fb9af27ce0705", + "architecture/2026-08-05-large-session-jsonl-restore-pipeline.zh.md": "sha256:7869fc66241c9ff6d27057a8b674eeb51c2ee5dc051a8f6c927deb8dc3611e57", + "architecture/2026-08-05-session-preparation.i18n.yaml": "sha256:34f9a0c816b2e9614b66d1403dca250c379f67e75a526a882c0e8feda21efd4e", + "architecture/2026-08-05-session-preparation.md": "sha256:2421e1ec398bd7c13dc1fc3d767fdb6c21f93e90412a613f8adc5954cee6804d", + "architecture/2026-08-05-session-preparation.zh.md": "sha256:2004cd68576cf9a29a66430a4a32c48f8218690bca67d3d1ce5da128e02b55de", + "architecture/2026-08-05-slot-declaration-injection.i18n.yaml": "sha256:98524dd1e4f92f0fd88ede1232e83d39e481cc61ffc381d8147099cc99167385", + "architecture/2026-08-05-slot-declaration-injection.md": "sha256:3cfd96c66d174ff821aef433224d52acc0dedff3b88e7b7f7cf11513393edc68", + "architecture/2026-08-05-slot-declaration-injection.zh.md": "sha256:847cc249429605c97b4d6910e25da3ddef162353f73c84b41a0652bf9688de1f", + "architecture/2026-08-06-agent-event-payload-objects.i18n.yaml": "sha256:2ad73590b94e8b10240fd9310bc3e22f226552e7fbed43f2c3ce3f04d7616575", + "architecture/2026-08-06-agent-event-payload-objects.md": "sha256:cf929674e8e5767537c5461e12ad20b41b04cc303475f7909e39ecf978bc4ab6", + "architecture/2026-08-06-agent-event-payload-objects.zh.md": "sha256:a73fc1703bb3ccc4d8d17271b19786e50a337abdf93b28e132ec21036782e2ee", + "architecture/2026-08-06-app-owned-command-line.i18n.yaml": "sha256:232d7c86216865664d3e8c0cfd5feecc7ebc3c20ef3314d2855920761676351b", + "architecture/2026-08-06-app-owned-command-line.md": "sha256:b6597137e149f8881d77007560b8af9af14098290ed22196dbb867ebcfb13167", + "architecture/2026-08-06-app-owned-command-line.zh.md": "sha256:900c8a3770ac76998e1f34a0c7e6a4d40fe744b4a1d57fa79f3690bde76544f8", + "architecture/2026-08-06-subagent-list-identity-projection.i18n.yaml": "sha256:1cc91b065102b6deca5a4c9382754ca1984870df264b976ea13c56810a70aa32", + "architecture/2026-08-06-subagent-list-identity-projection.md": "sha256:32689a48e9856efe993b5e0f87a0f65d60d00a962e59491f53b2597fee87f2a2", + "architecture/2026-08-06-subagent-list-identity-projection.zh.md": "sha256:23f067d9bc31469df0f4445592678df075fb1d24efb22fda5965335f623cd307", + "architecture/2026-08-06-web-markdown-incremental-ast-renderer.i18n.yaml": "sha256:26ce2ae77eda2f1fe4c50fed7f66fb5b4a507ba7c025c73ec56a2cac540c6442", + "architecture/2026-08-06-web-markdown-incremental-ast-renderer.md": "sha256:99f201a2a824a1f26edf8bae273ff4e940be1fd3b89d43db2358eeb7b751b361", + "architecture/2026-08-06-web-markdown-incremental-ast-renderer.zh.md": "sha256:5b3de0a59c849eb6ffc7e9eb84e41cd414f6871bc787e9975e1c3c3fd6597f61", + "architecture/2026-08-06-web-shell-dist-chunk-layout.i18n.yaml": "sha256:040d6acdcac82d5a1bc955f5834a9fbc95463c3b1cdaf7ffc32fdb5b0e7945fa", + "architecture/2026-08-06-web-shell-dist-chunk-layout.md": "sha256:8e21f8a1e9f9ab5bae7b84e833716c0b9ea7dd4b84f48fa5b02b8b097da4054b", + "architecture/2026-08-06-web-shell-dist-chunk-layout.zh.md": "sha256:33d1f1f3959b4df97969fa8f05810f5a3cf606f125ca69e3565f26d977c6229c", + "architecture/2026-08-07-shared-feedback-telemetry-user-id.i18n.yaml": "sha256:d65b8a5eb3636c3b45aa856e594905799df3b46803c60b8c4e50f8c92e871d68", + "architecture/2026-08-07-shared-feedback-telemetry-user-id.md": "sha256:a9e4d2d5e75d2d52dbebca58d4719ec4d6472390b29253aa98f2d3ca9d5b9de1", + "architecture/2026-08-07-shared-feedback-telemetry-user-id.zh.md": "sha256:48aa77c1f55196a8cc46f2007e1ea661ba5b5217187a1bdbff92b10b4b7be016", + "architecture/2026-08-08-bounded-session-persistence-write-batching.i18n.yaml": "sha256:4f0580b0cbb25deeb91c34a5d89271b458d456ef60578b2ea5116edcf387da87", + "architecture/2026-08-08-bounded-session-persistence-write-batching.md": "sha256:3e025aeb1831fe00cf36594823c5d2e54814ba04cc0bdbdb29c9c3d83ae24042", + "architecture/2026-08-08-bounded-session-persistence-write-batching.zh.md": "sha256:308d30e0786bd250e4982faca1eb1287c7298aade2223dd84c9550e5929d0b3b", + "architecture/2026-08-08-client-tool-presentation-ownership.i18n.yaml": "sha256:5bc3b20139c811737eb337d597f253e315e40f2903a13b7583b63f86ca1c8ed4", + "architecture/2026-08-08-client-tool-presentation-ownership.md": "sha256:a8b9e8963e278d7b74222b38b5f2d96baaeb57aa74c9a982c98411f911e68361", + "architecture/2026-08-08-client-tool-presentation-ownership.zh.md": "sha256:03253dfe627c6bf4a71cc1ebbde03a2c970bff7f891bcee623cc92d6e964ccb6", + "architecture/2026-08-08-per-preset-standing-mounts.i18n.yaml": "sha256:4f044984e952190ff33df2218d4036a4c8026d8d5181c4c0e136f8154403d496", + "architecture/2026-08-08-per-preset-standing-mounts.md": "sha256:78e4e735c7c33d188bd9be3259ece4db0549c067062f8aa9dd25c29587a090c7", + "architecture/2026-08-08-per-preset-standing-mounts.zh.md": "sha256:9e51b93cbe1a3ae41e6cdae6858ecf880c54d8ccabf9855ace707927562e6cf3", + "architecture/2026-08-09-cordis-event-walk-backstop.i18n.yaml": "sha256:420628f7bcfdc1be7fd898f3c1c7d85a25a4d18c27aa3d365e8144b352d36585", + "architecture/2026-08-09-cordis-event-walk-backstop.md": "sha256:8931659dfd03383660f09e10e1e7cefcb3729b6e5cd4e97f2832af4aa0313618", + "architecture/2026-08-09-cordis-event-walk-backstop.zh.md": "sha256:ef1b92c56eb770a5c8a5546f7e80790dbc23f2302bd6a45c4105222c97a48c3c", + "architecture/2026-08-09-headless-direct-core-entry-point.i18n.yaml": "sha256:4e4a59f14b7dea10f745c6ba88b1ef9e5aec7f752399235d0af8f64310fdda3f", + "architecture/2026-08-09-headless-direct-core-entry-point.md": "sha256:ce32a3cf4e1bdd3e2f5b6c8a2be2e084763f4745cf6b575ef29a405f4230a87e", + "architecture/2026-08-09-headless-direct-core-entry-point.zh.md": "sha256:cfb72dec612092c0543cf4ba7b628b96c6bacb6af87a575931073c524f666d24", + "architecture/2026-08-09-layered-skill-registry.i18n.yaml": "sha256:686bf0ac3616451b1dadf8148a1c8206646ee313f8bd55ecd89b3e7efc5a1e9f", + "architecture/2026-08-09-layered-skill-registry.md": "sha256:1c977286e51ddf4b65286c33caddac45731e5bfabdcfc03d94240dddd5025851", + "architecture/2026-08-09-layered-skill-registry.zh.md": "sha256:89c807fad4508225148119b918ed25207fdccd89c7406640c1628e0bb3883c0d", + "architecture/2026-08-10-message-feedback-sidecar.i18n.yaml": "sha256:1c00fa5535952d8d68bfb6f5f1485214f6cfd72d9aff40ba68b48f394e04d755", + "architecture/2026-08-10-message-feedback-sidecar.md": "sha256:9e708da316232cf0dbdd7e9bfce4893787bbb9d515537f618565601586e4b3f8", + "architecture/2026-08-10-message-feedback-sidecar.zh.md": "sha256:d2c409206a18b56194a36ee26a7194466316bc8af3ead5963ed70b851cabde9e", + "architecture/2026-08-10-product-subagent-providers-in-shared-host.i18n.yaml": "sha256:09fa68844f08eca349a49cb82a3b949a4a57856334679fb43cb95a12243669e3", + "architecture/2026-08-10-product-subagent-providers-in-shared-host.md": "sha256:d7918f9ef4164035f29bb9f3f7851efdc42f6f7a5f12dc77af0c6f865c4580e0", + "architecture/2026-08-10-product-subagent-providers-in-shared-host.zh.md": "sha256:f9ec3b3e6fb3173c4eed84b09956b923cf7a7a8a00fc495e36e306712795a97d", + "architecture/2026-08-10-unary-apiproxy-remote-migration.i18n.yaml": "sha256:53a0193dca8f4164b59210df550a3c17436c28c7a78c75d9e3c2c9d3dd0ff8d2", + "architecture/2026-08-10-unary-apiproxy-remote-migration.md": "sha256:a95a1a85baefecd74dec1641692a6990c0b935869210409f01c9c1757876dd0f", + "architecture/2026-08-10-unary-apiproxy-remote-migration.zh.md": "sha256:8118a06af8672aa87ffb3733a36cbf7d142b2c6fcfedf5db3e545c0ca7ace52e", + "architecture/2026-08-11-cmdline-seam-trim.i18n.yaml": "sha256:31fb4b11b477b9dd3fed95a5a9d4a51eaa8aab225d43c9b6becb6f8458aebb48", + "architecture/2026-08-11-cmdline-seam-trim.md": "sha256:47101cfc0d972103603f99f1cdc66181bf8dac0ded84e4a17592f48708c03d8b", + "architecture/2026-08-11-cmdline-seam-trim.zh.md": "sha256:ecb51317c41f5383ff7d2ae3eb80e4f33adcf853de5e941a28415d005867c726", + "architecture/2026-08-11-loader-entry-disabled-interpolation.i18n.yaml": "sha256:c6fecf4e37f42765ab8c2c1f9a1a0091b69e93cc42dc823907ad96ca08268da3", + "architecture/2026-08-11-loader-entry-disabled-interpolation.md": "sha256:39a725c1b243adce309dde65797f3be0665ee938bb0d4f01d32fc58497e8de47", + "architecture/2026-08-11-loader-entry-disabled-interpolation.zh.md": "sha256:4a0b431c2263464268bd2a85906e41fd0037cb870c78004b001a7bc5d53c139f", "architecture/2026-08-11-plugin-settings-tabs.i18n.yaml": "sha256:0365da2b317fc5f94dd190064198565f4c624afc91d2e62161ab9170f79d11bc", "architecture/2026-08-11-plugin-settings-tabs.md": "sha256:fdd92cfe55b6c4cd31b3f768dd46a2ecf129a04c9818249cbdd33857cf722bbf", "architecture/2026-08-11-plugin-settings-tabs.zh.md": "sha256:8993df1a0178aba1ea35c460ee67c522900344a4b386287bba9dfac2bfb87efa", + "architecture/2026-08-11-pwsh-persistent-pty.i18n.yaml": "sha256:9cb1fe403066c6e7831da7d2769af4211738076caa42571499481f4b4d362037", + "architecture/2026-08-11-pwsh-persistent-pty.md": "sha256:4dc789e83cbee17d143a5f40f129fa6ab96be8b9b6c4aee089550aa2da9aba95", + "architecture/2026-08-11-pwsh-persistent-pty.zh.md": "sha256:a39f3b1a75d27c119711cf172ee52b7167f1e165a3f5378a87ef511e101453b4", + "architecture/2026-08-11-repository-naming-contract-and-rename-ledger.i18n.yaml": "sha256:28870f058d9bfa084015ccd3031fc86aa60db3b638e33bde70328e4d741584ab", + "architecture/2026-08-11-repository-naming-contract-and-rename-ledger.md": "sha256:651117ea494c8e2735d1cc6499c31302c22f8a03e267ef108825f5d500663950", + "architecture/2026-08-11-repository-naming-contract-and-rename-ledger.zh.md": "sha256:d3018806ef388df153722a0ffeeddb2139884de3099e3ee9bfe7a1c3263cbb1d", + "architecture/2026-08-11-trajectory-conversation-context-assembly.i18n.yaml": "sha256:4f4ab2e649deb89bee5f4822560b492495c0270c8fd5e4b6b54898491b550c7d", + "architecture/2026-08-11-trajectory-conversation-context-assembly.md": "sha256:f74e0e8c75948cc5cc7c181e5240ed10466752a74617bbb1591c08b12e45d579", + "architecture/2026-08-11-trajectory-conversation-context-assembly.zh.md": "sha256:93b455846c863ddabc1dd86b646cdfd9cc4d8aa0bf64875dca93dce1b6abbaca", + "architecture/2026-08-12-pi-ai-route-default-input-modalities.i18n.yaml": "sha256:a31ea309d5f27a59135854a09d0547358feedf561fcf73eaf463209a1373aad0", + "architecture/2026-08-12-pi-ai-route-default-input-modalities.md": "sha256:89606e939a229fa1760d85869d47603b7a23701ede7418807c4917ae994893bf", + "architecture/2026-08-12-pi-ai-route-default-input-modalities.zh.md": "sha256:e74d132eaffd4349b20c19122aac7750e9660d36fd09a24f4037974fbb3a6335", + "architecture/2026-08-12-plugin-owned-settings-surface.i18n.yaml": "sha256:4d2184d8bf1b1028706643a035e8e536a8a3fd5d7908754cf5d0cb46fcc0f5e8", + "architecture/2026-08-12-plugin-owned-settings-surface.md": "sha256:c4ee54ecd28c4949c6e4d800767077eed6c0ff1e150f44913d21521ad1f49975", + "architecture/2026-08-12-plugin-owned-settings-surface.zh.md": "sha256:57a1cde4261d1b7205e86553f58f554dd71e3edc83bcacf3e226549218374b2b", + "architecture/2026-08-13-session-content-search-opt-in.i18n.yaml": "sha256:dac256352307fc5ae6cafd0deac83d6af46c62002d4a26524063bed865e0543a", + "architecture/2026-08-13-session-content-search-opt-in.md": "sha256:e3f1048c8a590791420e46ce238ebeccb0579f299d164f991732515af06e810f", + "architecture/2026-08-13-session-content-search-opt-in.zh.md": "sha256:67b245a0cae448d9dac4b3a59f1904dbca996b92961a2cc2e2dfa43322b3c9b9", "architecture/2026-08-15-packed-session-history-transport.i18n.yaml": "sha256:547b89497b009593db5acfae2a3b989f17b8392f5df73ef631b38f8f68f629f1", "architecture/2026-08-15-packed-session-history-transport.md": "sha256:ec7f84d59eea95668a8cb6c92ae433a2b7e7b76446a27e57dd5dba05856f563f", "architecture/2026-08-15-packed-session-history-transport.zh.md": "sha256:0d8eb5444557a18f76c68ce5ae9f0779c580eaddb921ee8651464baea34e0e53", + "architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.i18n.yaml": "sha256:863c11d0a376f3f261e23928a363a955f2031b503bac70fd695e3d1645b395e2", + "architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.md": "sha256:062e5392c2c2ddecaa36bf0b71316e889d1dc72a90bf519ad4048cb5846673c7", + "architecture/2026-08-17-dynamic-client-render-and-attachment-ownership.zh.md": "sha256:53312abcbe706c90ac274a691486d2902a26e51aa2f138db45c90b524529be34", + "architecture/2026-08-17-settings-describe-mirror.i18n.yaml": "sha256:88d0abce8c6ede268b0983414030fbe5d34fc0ccf77ec6c26109734cf82e6785", + "architecture/2026-08-17-settings-describe-mirror.md": "sha256:50507755803f459fb101d7b0dafd21672918436e0b4f09ef6879cc72cf147133", + "architecture/2026-08-17-settings-describe-mirror.zh.md": "sha256:5756f3ad11443b5ae2c492168fa06623c51efe0c1cc330d2de72deaca9156928", + "architecture/2026-08-18-client-build-environment.i18n.yaml": "sha256:a5c953aa89b9084c76ff6fad64d93e5cb53814787c088875ef53b3c3730997e0", + "architecture/2026-08-18-client-build-environment.md": "sha256:a962d301170e54d1f82b68868f9717c2aaaf110bf397ca64366cb67216292fa0", + "architecture/2026-08-18-client-build-environment.zh.md": "sha256:08982b9ae233596e04bc485d5b67176ece0767f9671cd15aa928f8774c4d86dc", "architecture/2026-08-18-sqlite-physical-chunk-row-compression.i18n.yaml": "sha256:42bce930799cb511e9fb245dec5e26efd78bdab4c9b75f7393e37b40fbee4d10", "architecture/2026-08-18-sqlite-physical-chunk-row-compression.md": "sha256:4fe241f1b272278d9f3ca1a4431971220e1fa54411df043826ef6f59225bf949", "architecture/2026-08-18-sqlite-physical-chunk-row-compression.zh.md": "sha256:73178c9ec5abf571680d8facfb145cbadc1efbb2e67e3f039747c2f9cf4bb730", + "architecture/2026-08-19-experimental-package-name-prefix.i18n.yaml": "sha256:b0f8de50a4bdcc96baf0af9ae3dde8087e41d8200fa228233d0f44ddf770131b", + "architecture/2026-08-19-experimental-package-name-prefix.md": "sha256:d95ab61cd38321d40ac137d80d05f430ce6d38917f4cb24d4a16a39030e9df3e", + "architecture/2026-08-19-experimental-package-name-prefix.zh.md": "sha256:4fc5c9b90cc13e6e2a033a4eeed5920907dcdf414f31bc87da8a658bd220351f", + "architecture/2026-08-19-projection-cache-per-session-files.i18n.yaml": "sha256:f72f7a98413778d627e35002cc609b9b81130e0783fc53840da2343a96cf4ac2", + "architecture/2026-08-19-projection-cache-per-session-files.md": "sha256:4197117af4d4a022b28ab84a79b93e4e9d3f3d856e7f164e4e0b3f6c818406f2", + "architecture/2026-08-19-projection-cache-per-session-files.zh.md": "sha256:cc32ae3fb829b0e4afbe2dbcfd55e0fa57cc1d769f60d4c7d0f8c489876b45af", + "architecture/2026-08-19-session-projection-state-and-client-views.i18n.yaml": "sha256:ad6d63838b3211fb1486566900b410fc30ac6e380f570647452469b764943af4", + "architecture/2026-08-19-session-projection-state-and-client-views.md": "sha256:db09c07fc7fcaf5ef6930a0ad7905ec0c5daf90e50794c4d89b62d526ac30798", + "architecture/2026-08-19-session-projection-state-and-client-views.zh.md": "sha256:ce3d9aecf9ba4d5eeb00a0d3878354513591f5fdeef781224063261c5728c170", + "architecture/2026-08-19-shared-win32-process-primitives.i18n.yaml": "sha256:5e898133da722e05ccc0b04a876955a3f660c39b9a62615770ab6b39df70091b", + "architecture/2026-08-19-shared-win32-process-primitives.md": "sha256:1bd644527c49fb6053f64b7c86655e0d1e3856c4486be75f50a35332c556629e", + "architecture/2026-08-19-shared-win32-process-primitives.zh.md": "sha256:5bc9e6b6785e29ac708825239681067a5b45b6a636602f24502704aa619710bb", + "architecture/2026-08-19-web-index-injection-table.i18n.yaml": "sha256:02ee03899871133a170f2a028874cd1676d9911a6ecbe93e3a583e393bee2063", + "architecture/2026-08-19-web-index-injection-table.md": "sha256:0ff38f7dc6581fbf39693b4e83dcd024991803fb8adcd414f41b064411d3ad16", + "architecture/2026-08-19-web-index-injection-table.zh.md": "sha256:6509ffe8c65a45c2cecdea4140fddd98f7e1299997fc26656d2e4af5485a4bcc", + "architecture/2026-08-20-preview-cloudflare-pages-deploy.i18n.yaml": "sha256:4793d8ae04f417123e4afb197f186b61cdf024c506b7da1f2fb9df58db4cf302", + "architecture/2026-08-20-preview-cloudflare-pages-deploy.md": "sha256:b910d7d79b164e41a0642c2f32c27db042117d2e513857d4c903079489e7ded9", + "architecture/2026-08-20-preview-cloudflare-pages-deploy.zh.md": "sha256:d43d0a9458f0226419477ab01fc9c78862161a26e98e3f2cb4f446cd376a40ed", + "architecture/2026-08-20-web-composer-lexical-editor.i18n.yaml": "sha256:3fb9c84e2c149818560762d2aa2b278385423db678bd2b26ee2e0a1f608ddcd5", + "architecture/2026-08-20-web-composer-lexical-editor.md": "sha256:3b37575bb74ad865e49533bd9d7a4ef5d89c559c56d664e37b84cdf4eaa9fbc7", + "architecture/2026-08-20-web-composer-lexical-editor.zh.md": "sha256:3a62fce7d8ba7c341d126aeaf6b16e05d80ff542341a0e27e5ff811c30c44631", + "architecture/2026-08-20-webworker-node-face.i18n.yaml": "sha256:2d3aad249ed89a3ab25017d450f3450b1641d794a491a291b508e3c2a4880b80", + "architecture/2026-08-20-webworker-node-face.md": "sha256:963c228f52a66cfbc199169fd6b44ee5530c6bbef758cb86648ac7c6672352bc", + "architecture/2026-08-20-webworker-node-face.zh.md": "sha256:a5a093dcb93ff20b2ad4c6437c78d4db42ef3923f6d9ed874c2f28a882bbb7ce", + "architecture/2026-08-20-webworker-pack-lowering-and-preview.i18n.yaml": "sha256:49cd82c0ea4ae27f39c15b4de2a9216fca95306aeed06df37f572c8d97fdf89b", + "architecture/2026-08-20-webworker-pack-lowering-and-preview.md": "sha256:1693b19ab246a08076a01b3e58757be8b06a4e2c01034c4f100cb9083830f907", + "architecture/2026-08-20-webworker-pack-lowering-and-preview.zh.md": "sha256:0a6251659d813abde21bc1f95af568e20cc07e80a505513cb958f2ac5f0a073f", + "architecture/2026-08-21-session-log-read-intent.i18n.yaml": "sha256:49dbc5aebd2348b1f107f3871746be13b20f264fdb7ef1a2df11f36386c2d04f", + "architecture/2026-08-21-session-log-read-intent.md": "sha256:318fe7b743693d9492bb3ba4d0e8b2fbcdc1fdacadceab02d51f7282127d084e", + "architecture/2026-08-21-session-log-read-intent.zh.md": "sha256:5b1ba57f063ac1adff350020530ab59d38135217e17442393129aa2fb1405360", + "architecture/2026-08-23-cross-realm-cdp-inspector.i18n.yaml": "sha256:64d585467bb1fbc6e91c90b7f3e879c2b9ac89c50899f257f22072fd5ce0ce1f", + "architecture/2026-08-23-cross-realm-cdp-inspector.md": "sha256:376474632de3e75e10ce597b10295280b87b91aac88011231409aaa534484962", + "architecture/2026-08-23-cross-realm-cdp-inspector.zh.md": "sha256:60d5a7c192fc07920fb9435af3c2ba671b27324bc37a9dedf996dc4253de58d2", + "architecture/2026-08-23-python-sdk-dsh-profile-runtime.i18n.yaml": "sha256:f6ac53e8c869d276f56257357b83caab619ab42f426e92eb6f9d726e7fe0c8b7", + "architecture/2026-08-23-python-sdk-dsh-profile-runtime.md": "sha256:f5f7cb2dc91dd6ec7462e78cc49a5a03d8cc11976106e21e84512547e4823f98", + "architecture/2026-08-23-python-sdk-dsh-profile-runtime.zh.md": "sha256:cc4e3efe3fedcf9853fc52b6faf72efa9db9e5ee5dfdc11cca2a81a36ccef131", + "architecture/2026-08-23-python-sdk-windows-x64-runtime.i18n.yaml": "sha256:0a5dde5f111ac390192744b6f6caa6d15c4041d87d37751ffdb24d3611edaf16", + "architecture/2026-08-23-python-sdk-windows-x64-runtime.md": "sha256:2ba8d49c07e70dde5c86005bc44641f85edd8232bfb84ca1ccd79ba252dbaec7", + "architecture/2026-08-23-python-sdk-windows-x64-runtime.zh.md": "sha256:f8f924ac91b0b8dd681199ef389801d8f264800c914cd481a3179d9243935dcb", + "architecture/2026-08-23-webworker-vfs-watch-and-landlock.i18n.yaml": "sha256:0dba84fd1bec0cf024a69f14924909346947358d8da5d9ce890bdb499a10d2e1", + "architecture/2026-08-23-webworker-vfs-watch-and-landlock.md": "sha256:f5e9b71162d817ddfa39f0a085e2e2e5468e8420fad2150479b96bb22de601f7", + "architecture/2026-08-23-webworker-vfs-watch-and-landlock.zh.md": "sha256:b06ac34ba6e8b99c4812e98fea77c9f76f142d6113c54c1993ac30fa3c004554", + "architecture/2026-08-24-cordis-runtime-tree-inspection.i18n.yaml": "sha256:80b6620618c7ed8e8414fe064b3188455de2c1de774d7102fb00b96692e66874", + "architecture/2026-08-24-cordis-runtime-tree-inspection.md": "sha256:40fdfea38bd90d48d0ea810155ee011ddd24253e1e04c4a8ffa5f8ec288bc9f3", + "architecture/2026-08-24-cordis-runtime-tree-inspection.zh.md": "sha256:97a53359df1ab731f67a56385485543d8e14f370409a022fee9fd045a27a226c", + "architecture/2026-08-24-standalone-sdk-minimal-profile.i18n.yaml": "sha256:cc8dbb773065a3b0fbf50ae718aa778f04c2b32acc841e5cbf2261cd69686ec0", + "architecture/2026-08-24-standalone-sdk-minimal-profile.md": "sha256:56d209b1c5391ae4ddb43c4eb6af2c10331b78b2319470c48461e895885fb95e", + "architecture/2026-08-24-standalone-sdk-minimal-profile.zh.md": "sha256:1c7a1f002953f1a6b7a97bfc39589941251e51f5cd3823c8032149aa0cdf195e", + "architecture/2026-08-25-persistence-latency-and-page-size.i18n.yaml": "sha256:5bc991a94ff903fa32858709e0520357192807550a2dca614be272dcf9f19125", + "architecture/2026-08-25-persistence-latency-and-page-size.md": "sha256:e2ad056d2651512cf2ea4894438dc7581fe422182d88a13df028451f310b8757", + "architecture/2026-08-25-persistence-latency-and-page-size.zh.md": "sha256:2afe0ec635b6b1fb676962d493ae09eb807d60d6a67192c40ab20b002dcbd806", + "architecture/2026-08-25-rename-code-mode-to-ptc.i18n.yaml": "sha256:0c382f5446066fbbe2fa0f770358e42cf9dca679a7c2ba545e76eb7429e2badf", + "architecture/2026-08-25-rename-code-mode-to-ptc.md": "sha256:aac4329fd0adfde02ef2c53e96ace1a24619f353afdc6d298ce607827dbb60bc", + "architecture/2026-08-25-rename-code-mode-to-ptc.zh.md": "sha256:4579f85004248233aa3af5a445306201b31b7411a3e429f69eae6e40196be29c", + "architecture/2026-08-25-sparse-first-party-prompt-section-orders.i18n.yaml": "sha256:ecd0321328720ecf4eaafd2abbd9a35fa03a25a7a8bf3c9be27980f8eef4763e", + "architecture/2026-08-25-sparse-first-party-prompt-section-orders.md": "sha256:b70159d112dbd5955d91dff367fa39259e78fe747389124a15b44af26124ea5d", + "architecture/2026-08-25-sparse-first-party-prompt-section-orders.zh.md": "sha256:50cc55babd7db5322554fe58c85b1425cadde72bab207fa0812f72826117d50f", + "architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.i18n.yaml": "sha256:ca99ab3937f3659b2fb8f0c60ac965852977506be49e126d37bb2b924c659a4a", + "architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.md": "sha256:ed24c3876541a890605c6314c6b355c20751c0920652a45bcb649201c609a680", + "architecture/2026-08-26-inspector-execution-realms-and-protocol-planes.zh.md": "sha256:20d3545ebfa0f49e52c78da2f28e455e11a7786cffddbbe73cd5adc5839c07f7", + "architecture/2026-08-26-local-submission-echoes.i18n.yaml": "sha256:7cbcd7440ed1db7511d847db96b63a8be79901a0884b044bba3fc71646d41337", + "architecture/2026-08-26-local-submission-echoes.md": "sha256:826188a8714b7545c86c0ce1826210e64d5b7a75a4576ede033b3228ea18b045", + "architecture/2026-08-26-local-submission-echoes.zh.md": "sha256:f16c4d29dc226a06b1ed26d907595696aad5b72b9f213d7a705495a8c792e578", + "architecture/2026-08-26-models-page-extension-slots.i18n.yaml": "sha256:a9e9b4d850d25fd2adf50b4410a85b895abd69f8f689e3e608d6b3858fe4e499", + "architecture/2026-08-26-models-page-extension-slots.md": "sha256:856b6846b28f204e9579cb39bb2bf7b3e81d7be2c7e3f5128bed5bfdc507b6af", + "architecture/2026-08-26-models-page-extension-slots.zh.md": "sha256:f7b81a2d3bb086a66cd4cbea2985b235b6bdd4b7f788358ff4005550420679e5", + "architecture/2026-08-26-preset-health-resolves-rows.i18n.yaml": "sha256:39b7e672b585e13ed1ce2ae6d14001002635a35b089b19c348ff722e9e9e378f", + "architecture/2026-08-26-preset-health-resolves-rows.md": "sha256:009130fd869a5432ddf2b92142f94a6f637113a90861a0d973de11f0c5fd6c43", + "architecture/2026-08-26-preset-health-resolves-rows.zh.md": "sha256:750fcec1735664da2ee8eaab1f8f5121ae6398302b8e1fb3c3fc2863f8a72a3e", + "architecture/2026-08-27-inspector-development-mount.i18n.yaml": "sha256:2757d3417458499e7dbc8c340847ee52ccc9163d084700cbd8ff1ae4405b0934", + "architecture/2026-08-27-inspector-development-mount.md": "sha256:78c822537be2460be42888a94f0fac373066b44d98a8c9e035ac71f283a88fda", + "architecture/2026-08-27-inspector-development-mount.zh.md": "sha256:074a1c87b725c2a0ffd31dd9e0ab0eb683129e2dde92cf9d69d3c477eef7502b", + "architecture/2026-08-27-process-table-snapshots.i18n.yaml": "sha256:d43fc5cd1d2439a2a9d20b1ab85b78c2007e635770b99fa8e8f36ca2476075ef", + "architecture/2026-08-27-process-table-snapshots.md": "sha256:583a5aa1ee3949ace886237b151e94092cd7abd1f6d0c775bd7a2d132f8fa1e5", + "architecture/2026-08-27-process-table-snapshots.zh.md": "sha256:0dfe98b3220a790bf2d67b5b791d7fc288e9960f813afe55275215ea4f930c3d", + "architecture/2026-08-29-plugin-inventory-agent-preset-scopes.i18n.yaml": "sha256:0ead49a8471f0f2db56c114b89825d7c3a913db24d3c69e9b89aac717cf4338d", + "architecture/2026-08-29-plugin-inventory-agent-preset-scopes.md": "sha256:cf111d4863a2b64a7ecfd1abd12768755e311c9a229fa6f7adc1885298c806af", + "architecture/2026-08-29-plugin-inventory-agent-preset-scopes.zh.md": "sha256:6688736349c677c7698f4417e795167b84cc5e368e247424080b746fdaf9fcbf", + "architecture/2026-08-31-live-assistant-stream-frames.i18n.yaml": "sha256:43324945c7e89643ccbd1478571867fa20ed61ad0046181ebb2afd0738dd7f9d", + "architecture/2026-08-31-live-assistant-stream-frames.md": "sha256:6f3fd47ceb06896d2d84dad6bb44d4564416217e196ca12a2aca2224319663d5", + "architecture/2026-08-31-live-assistant-stream-frames.zh.md": "sha256:402a0d3a07697c3550e6e10a27e41f5a4f3111d62b641244db3b420e63766b22", + "architecture/2026-08-31-session-sequence-and-log-offset-brands.i18n.yaml": "sha256:457ebbaafbc2dc2c838b283619c2f9c2481e20587876b5e3dcd8ccbbc2608881", + "architecture/2026-08-31-session-sequence-and-log-offset-brands.md": "sha256:bdf92ff7e36fd2ea8bd47e4f8237ac663171eca362eebcb6feeec433312dea06", + "architecture/2026-08-31-session-sequence-and-log-offset-brands.zh.md": "sha256:b272c9cea73ed54df2677c69317ca6c6fc381e15d23d71f65d5eb865c8ce5f42", + "architecture/2026-08-31-viewport-activated-syntax-highlighting.i18n.yaml": "sha256:f45afe590c67c8874480b8a2e1739b918c69c709d53e5e1ab673797eb6619bd2", + "architecture/2026-08-31-viewport-activated-syntax-highlighting.md": "sha256:df1c5883c13611104fd41e4df920513724a1daee3f5cf06db8d1da97627bdec5", + "architecture/2026-08-31-viewport-activated-syntax-highlighting.zh.md": "sha256:da3fd4b4d22b20f204e4418b8249f719fd9d8860f5e148af8f960d8983b379b7", + "architecture/2026-09-01-streamed-tool-call-identity.i18n.yaml": "sha256:5193bf7429a0300f743ea7e6087c3175a7d28c2c468ca1cfd1f77702b68b6399", + "architecture/2026-09-01-streamed-tool-call-identity.md": "sha256:303433b95c22571bf6a801da604b42a4c7231f5f6d07daeb518354f0d7019141", + "architecture/2026-09-01-streamed-tool-call-identity.zh.md": "sha256:53728d3ee06b29d6023e28024fb3ab6fa4a7473ae5e55368cd19690719d120f3", + "architecture/2026-09-02-protocol-specific-model-listing-discovery.i18n.yaml": "sha256:ba8a62a9fa3263de4162709cb1aaf81f6ad4feee5011d7a5d8b24eb92ad81d30", + "architecture/2026-09-02-protocol-specific-model-listing-discovery.md": "sha256:9db9c47559c17f0e2931b9e646f1d2d17b590df4d5699d4e779ed6d7f65fc371", + "architecture/2026-09-02-protocol-specific-model-listing-discovery.zh.md": "sha256:9a266590d49093a097bcdb5d09865757cdd07625cfaaddce1303046d580551f1", + "bug-fix/2026-07-19-windows-atomic-write-dacl-preservation.i18n.yaml": "sha256:8be5b0afd8820c593e2ec254d35fb8c384267814104f6234bb9af824c5f974ba", + "bug-fix/2026-07-19-windows-atomic-write-dacl-preservation.md": "sha256:861e6130e893489271478def5f54f212a106a1580b744e6e40f56356f73c7e10", + "bug-fix/2026-07-19-windows-atomic-write-dacl-preservation.zh.md": "sha256:3549257e06f074591de580ebfaa71284c7c384fb0ffb1963c30258d7a7c26db7", "bug-fix/2026-07-20-code-mode-result-card-completeness.i18n.yaml": "sha256:1035dae11d049d32ab09fd7d4f950eceae44bf46ba498b3cfaf3c75102b9fb64", "bug-fix/2026-07-20-code-mode-result-card-completeness.md": "sha256:6ca2c9d4df98be18813ef38b7462db880900b5bcd6944fbcd1b8f2258006b93e", "bug-fix/2026-07-20-code-mode-result-card-completeness.zh.md": "sha256:ed85fa7f935e5f525d566bc37a92014614983e649c75de9a9f244939097a7991", + "bug-fix/2026-07-20-config-hot-reload-resilience.i18n.yaml": "sha256:aaabf14319df79bc0929c97d114e079b2b8a4acea32079fa5d7dca33f5542da1", + "bug-fix/2026-07-20-config-hot-reload-resilience.md": "sha256:5bd240f3f6107e6b8c97c7609c19ee9e99a94ee3664c7122f57b5fc469f952bf", + "bug-fix/2026-07-20-config-hot-reload-resilience.zh.md": "sha256:a39c0fdd0324d5ef158a6e02ed30349ed260547c877215b6ad9838c7aae9d4b3", + "bug-fix/2026-07-20-error-cause-chain-diagnostics.i18n.yaml": "sha256:5a7634080e9921149565827e1cc3f5bea39b04ea171b57ba45c259a201f204be", + "bug-fix/2026-07-20-error-cause-chain-diagnostics.md": "sha256:82d231e5632d0e582e26b54a9f65d0ce05afb7d6bb9bfc3d324737fd43c45c1b", + "bug-fix/2026-07-20-error-cause-chain-diagnostics.zh.md": "sha256:b8c0669a5d0475a5ddffa644a17bd1009f525cf69edb36b7fade90014b97daca", + "bug-fix/2026-07-21-compaction-summary-prefix-cache-reuse.i18n.yaml": "sha256:3093deb3286c628da23f738a6169044da63e04def5167319db25db5346eb3d17", + "bug-fix/2026-07-21-compaction-summary-prefix-cache-reuse.md": "sha256:eb981a14d178470e9861df0d9f14ed0575d452485e5dd11b80f56578375ee4ef", + "bug-fix/2026-07-21-compaction-summary-prefix-cache-reuse.zh.md": "sha256:e3105954814e83a52ef483b4b24ac260dd5c13d79861ebd218f8b7aa0e54b2bb", + "bug-fix/2026-07-21-semantic-session-checkpoints.i18n.yaml": "sha256:3ead9389060e7ad26d933514b02e27671becd405ef37bef3dccae63f6752ebc9", + "bug-fix/2026-07-21-semantic-session-checkpoints.md": "sha256:beda6fa01308f0ca381ca76136a917acff3d8da91f09dafd354363fcf86f1375", + "bug-fix/2026-07-21-semantic-session-checkpoints.zh.md": "sha256:449e5399b6f93a8379a9498c3d2dad5de3c0aa980caa4bfbab055dacb24f361d", "bug-fix/2026-07-22-collapsed-sidebar-control-rail.i18n.yaml": "sha256:98de4a1ae016608b88010d413a204c2d33695f4b1d7217e5d1b705be09c1b669", "bug-fix/2026-07-22-collapsed-sidebar-control-rail.md": "sha256:b58620a3cf203507a5d651b90554bb7897e9d271613dc7c32d0f3bec992475bb", "bug-fix/2026-07-22-collapsed-sidebar-control-rail.zh.md": "sha256:f36ef24f26ead60b01169c8e4a2a01b396c3f4284f14979e4d52b47c9589075c", + "bug-fix/2026-07-22-pi-ai-transport-truncation-classification.i18n.yaml": "sha256:196321fd1be24635a5d5c19564ad6ec358831dc05291aa8fb1871b739d99289e", + "bug-fix/2026-07-22-pi-ai-transport-truncation-classification.md": "sha256:fcf0b5259c094395e9fb157f6d0c0aa2703717558a5acf0111826970851c3fd1", + "bug-fix/2026-07-22-pi-ai-transport-truncation-classification.zh.md": "sha256:80feea3d4ef39b5601c4bb69478795324d7ed085e00e5ca24f313bfea2de257e", "bug-fix/2026-07-23-demo-web-builds-client-bundles.i18n.yaml": "sha256:f657e2166a05d6164c1ca65560bdd168ed969f7354217d8ec7a00274fd6c4307", "bug-fix/2026-07-23-demo-web-builds-client-bundles.md": "sha256:a9d8dfcd153b1d10479e9d42848f07adf89398cb685e1a09afafcecff14e36d9", "bug-fix/2026-07-23-demo-web-builds-client-bundles.zh.md": "sha256:dd06828964980798f343b8aafdeded2580b5b2e4c794305221fe73dab0a7eba2", @@ -79,15 +394,27 @@ "bug-fix/2026-07-23-tui-generic-card-markdown.i18n.yaml": "sha256:51fec8e6d7a998fd6189e70d32a6be293500abc8435b23257449e6f6d15a0053", "bug-fix/2026-07-23-tui-generic-card-markdown.md": "sha256:7dda1114a392737465837e014059c1049da37330e3069b74f6e2ea34eccbce6e", "bug-fix/2026-07-23-tui-generic-card-markdown.zh.md": "sha256:5040a1aaa8ff9dddeeb572a628410a79d870a90f84be00bf421e4b63e1974a4b", + "bug-fix/2026-07-24-empty-model-response-is-retryable.i18n.yaml": "sha256:f3ba95cc44c5b7df57dfb130696c49e90a5735ee581aa067b4f38b5a95ddbdf0", + "bug-fix/2026-07-24-empty-model-response-is-retryable.md": "sha256:843ce9a3126ad4b5f6cd70181cb0654a0dfe0c256b951fa5bcd48f4f726a7459", + "bug-fix/2026-07-24-empty-model-response-is-retryable.zh.md": "sha256:d2aef2659116d4ebd751be2b69e740bf35c1a82c5acf241b934a8c091efa0d6d", + "bug-fix/2026-07-24-recursive-python-sdk-session-notifications.i18n.yaml": "sha256:e1e8f31bff8b8ef03944f52ccdfb85d40ab5ffdfc57cf59859819bde11abc317", + "bug-fix/2026-07-24-recursive-python-sdk-session-notifications.md": "sha256:9cbe61d21e2d1696f5db5f92f6538974643091c44cb5f076f74c3d33ef0c2fb4", + "bug-fix/2026-07-24-recursive-python-sdk-session-notifications.zh.md": "sha256:db0ff4835d159e34763ca988559bb67d2222bc6dac2aa256dca33b6c8a9648c2", "bug-fix/2026-07-24-tui-turn-end-stop-reason-notices.i18n.yaml": "sha256:8ac9e40a4a7ac1f526b5a23656579414322bd947d991cfc02c0be0e1aacf2d68", "bug-fix/2026-07-24-tui-turn-end-stop-reason-notices.md": "sha256:5a1f6ba4baf25ad412eda3601ee074aeb607388da0375979797797a81eeba9da", "bug-fix/2026-07-24-tui-turn-end-stop-reason-notices.zh.md": "sha256:a7bbc530b9fc5e31ceb0f72d87edc720a0bd04ce7613b2ca9f9704cd5e7f682e", "bug-fix/2026-07-26-intent-draft-same-tick-echo.i18n.yaml": "sha256:c623947c4fa00e6d4b51792c7972ba09582bbcb7605beb373725c0dd666f2c81", "bug-fix/2026-07-26-intent-draft-same-tick-echo.md": "sha256:fa8b1417b2cdd3deecbf8e55bdddd73dd3a8c6e3486fd399b0b8bdf317e56373", "bug-fix/2026-07-26-intent-draft-same-tick-echo.zh.md": "sha256:00ce72552dbaa11562fbc541343a5d33f9449edabbe6dd354eb879a7d4d530f8", + "bug-fix/2026-07-27-glob-sampling.i18n.yaml": "sha256:79237365f4ba19661edd78d70126a3a3ffb036a9c3e24a2ac2db2206c4983099", + "bug-fix/2026-07-27-glob-sampling.md": "sha256:f78ac78db8235d8df4a88d90243a2cf321505751eed305a06a14e1c481154b1d", + "bug-fix/2026-07-27-glob-sampling.zh.md": "sha256:9669a6f06fd603834090accf22d12e60dd79741a6a1a8a5823abff9d497841be", "bug-fix/2026-07-27-question-composer-rows-do-not-shrink.i18n.yaml": "sha256:9b8fd6c3fc5f6527890d74a70372de90ade6db5fa957246d4bbdc06ee06e072c", "bug-fix/2026-07-27-question-composer-rows-do-not-shrink.md": "sha256:0411033becc2835ce53cd268c9fa149830274c9f61016514087bea89562cfbb8", "bug-fix/2026-07-27-question-composer-rows-do-not-shrink.zh.md": "sha256:41f024f8b7a4587a92026b4d36d77879086bc86716b0b28bf2131b85db35ee75", + "bug-fix/2026-07-27-stable-snapshot-refresh-volatiles.i18n.yaml": "sha256:436fc7cff97426aa752ec402bc860722c082f86372b2ab2460d2dacd68ef3f44", + "bug-fix/2026-07-27-stable-snapshot-refresh-volatiles.md": "sha256:55a37e236ee99307dbdf3649ff4a1a218be4e6bff01d93a0778de198e0a77dff", + "bug-fix/2026-07-27-stable-snapshot-refresh-volatiles.zh.md": "sha256:a27be8de90d47603187a76defae12259e5e9a201ffa32bf9a6cf2020b4d26c84", "bug-fix/2026-07-27-tool-card-single-row-fields-inline.i18n.yaml": "sha256:4b94aded16c60628d22414dce524e8a98a8af4fff298805ee7efc63cae02c90d", "bug-fix/2026-07-27-tool-card-single-row-fields-inline.md": "sha256:40adcd522a9a2eeacc6f2b0196d1f24888a4f57830b7490a3be3d78c86c4e968", "bug-fix/2026-07-27-tool-card-single-row-fields-inline.zh.md": "sha256:a79d56c9b781442ee596b47707d1a8c80abcd6466094b01802189c8e55f16da7", @@ -97,99 +424,432 @@ "bug-fix/2026-07-27-tui-step-timing-trails-tool-cards.i18n.yaml": "sha256:280b93ece72662501f65edd58a00cdafb5b5941e4ef1314d7198fab18950cb03", "bug-fix/2026-07-27-tui-step-timing-trails-tool-cards.md": "sha256:112bdbde16b6023eeb5b8a79cd2a711385e7198d51bbfc0520e9612acaa95c8a", "bug-fix/2026-07-27-tui-step-timing-trails-tool-cards.zh.md": "sha256:fc4e7f778ea63c4583cf81132c264cf6c4b9cc3e1818778061b0497ff16b8ef6", + "bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.i18n.yaml": "sha256:d353a7bfae9299513c35f3f73bcaed7ea3430ad116d6ad633b7c412c01774133", + "bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.md": "sha256:671108fbcd2979661f9680c05fd5d710b492bb1ebf81183051f1b54b89d8ad6b", + "bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.zh.md": "sha256:82d89db786326ffe38f25369c10ac0ed4c3b413d2c15c61277d013105a3d83a4", + "bug-fix/2026-07-28-web-agent-runtime-context.i18n.yaml": "sha256:53659a2156aad033026b7469af5c6064c4b35f2fdf553881605217385d596cc0", + "bug-fix/2026-07-28-web-agent-runtime-context.md": "sha256:ccf8851718c6c07acec11b7394db930abac28a0909c8ba275076ae3cb3728524", + "bug-fix/2026-07-28-web-agent-runtime-context.zh.md": "sha256:5d7af25e4f69e8852d946f6186ff15e0dd79e14b1a0ef7826fad283392335015", "bug-fix/2026-07-28-web-conversation-polish-sweep.i18n.yaml": "sha256:27e60a7d822b201dee65eebc8335da8edd416ee19b9b89c056302bae69c830fd", "bug-fix/2026-07-28-web-conversation-polish-sweep.md": "sha256:92647f06202f8711107918da9d9947767385a8b6307e772b1e868b0b1cb07412", "bug-fix/2026-07-28-web-conversation-polish-sweep.zh.md": "sha256:95ccc18f4b35396bdcabee8b8745e75008f6c07f829fd8719bbb35d77ac0fd95", + "bug-fix/2026-07-28-web-gui-feedback-loop.i18n.yaml": "sha256:0641e02c68148db0dbba9c2ffce68a509625fdae34f698ef0ae01772aac29a8e", + "bug-fix/2026-07-28-web-gui-feedback-loop.md": "sha256:e177aa63e1b7b7038628d3476b174f671b71bf4bd06f1228f738f700d85a088d", + "bug-fix/2026-07-28-web-gui-feedback-loop.zh.md": "sha256:4f04d6f08cf32185c37ff31e4fdd785feb6318688f931747f9505cd9b8234d85", + "bug-fix/2026-07-29-atomic-web-image-admission.i18n.yaml": "sha256:9c34b0cc78f9607e08ed780436771e805b67fc51328b6b3b29557ad7db6e950a", + "bug-fix/2026-07-29-atomic-web-image-admission.md": "sha256:6aba3f878eb4ab7fbcb2c85c493b42e75b9d51671dea953edcb32adda7783724", + "bug-fix/2026-07-29-atomic-web-image-admission.zh.md": "sha256:9eab22e2a95f5297699885199230cd27078e49ea597816584f5a2f1b3780bb1e", + "bug-fix/2026-07-29-human-transcript-append-origin.i18n.yaml": "sha256:7954d1a6fdd7205cb0dd8290fa1dc7a9686cd0538d5d9ad52eee3874dc7cc0b1", + "bug-fix/2026-07-29-human-transcript-append-origin.md": "sha256:1a025201fbf751e830a9150551bbaa7991287acd948cb2daf6f1799a0b9c05dd", + "bug-fix/2026-07-29-human-transcript-append-origin.zh.md": "sha256:3fafc4e32a0403240dadaa028f8fd914b176e0708eb28126c6cc5dbe95dcfe86", + "bug-fix/2026-07-29-pnpm-setup-runner-isolation.i18n.yaml": "sha256:7a0cbb6e2ad598c6bad4277dade7acaae7264659654fc413ac872b76cc6b4dce", + "bug-fix/2026-07-29-pnpm-setup-runner-isolation.md": "sha256:e3f5fb291dc57089422487792266df1e08671f9037c3c99d094c8ce1c46d3687", + "bug-fix/2026-07-29-pnpm-setup-runner-isolation.zh.md": "sha256:c96b1f307dc1d3a5baeebdfd4edadd12024934c395c9167afe828944757a3b7d", + "bug-fix/2026-07-29-sticky-composer-conversation-scroll.i18n.yaml": "sha256:d95819864a2285de5a1f0121f012527caae28097df5fcb4b254c84a6732b886a", + "bug-fix/2026-07-29-sticky-composer-conversation-scroll.md": "sha256:393c6624ad50c2c7172103f3f279afe1179a6aa20da2b8d84ae1cfca2ee13fbb", + "bug-fix/2026-07-29-sticky-composer-conversation-scroll.zh.md": "sha256:4da0f25ffe6fd7d4d52fe101e71fee03cd34cf89423966e174655697b076fa2c", + "bug-fix/2026-07-29-web-details-session-lifecycle.i18n.yaml": "sha256:6ec0f3fa1900a808088a3a2f9e1f8e68d5c8a85fca293afa28fc84d56418c99d", + "bug-fix/2026-07-29-web-details-session-lifecycle.md": "sha256:ece5177396252736d509acbdae20e469f25e5858370a0be4754d4fcac21e118d", + "bug-fix/2026-07-29-web-details-session-lifecycle.zh.md": "sha256:61e302a7f0b97406050bea11413463825e8876c95038f6e136ca1cfb146b7704", + "bug-fix/2026-07-30-approval-panel-command-cap.i18n.yaml": "sha256:b39b6289a18ee3c0bce1c81eac6daab8d348c5696404b8ba11ba6d5c0d76a253", + "bug-fix/2026-07-30-approval-panel-command-cap.md": "sha256:cd9b396cb775c6c380c4c1a6ec0d6407d182af930b98be3e541195b77cc24b9a", + "bug-fix/2026-07-30-approval-panel-command-cap.zh.md": "sha256:ff82dcc976d98bb34ed2ebc48107c1369873c58f3464fd0346c8d641aa890304", + "bug-fix/2026-07-30-bounded-overwrite-diff-basis.i18n.yaml": "sha256:e961273c8ef34743397ae076bedbebc7e577d09f6e4e06dfaa472935d9d95bcb", + "bug-fix/2026-07-30-bounded-overwrite-diff-basis.md": "sha256:68f228fd91930a99b660fba5338daa7745a6f96c3e796f3b7b6a1d8e91e850aa", + "bug-fix/2026-07-30-bounded-overwrite-diff-basis.zh.md": "sha256:8c12df7093870ab9a70639bf7512315faf079f052a1ddf80041097e4bf2acb34", + "bug-fix/2026-07-30-composer-context-stack-order.i18n.yaml": "sha256:c7d2132eb3c6d43437c13e9097af01a10e5182dc24c4c5b40279447a301b5c13", + "bug-fix/2026-07-30-composer-context-stack-order.md": "sha256:838fc5a7214653159778a24225236646f8c9d249c26bbe97699f86fe719fb1ba", + "bug-fix/2026-07-30-composer-context-stack-order.zh.md": "sha256:24bec19b5280ee2590cfba65aac521f03c10394c7a248f434a1f10d31cad98af", + "bug-fix/2026-07-30-hover-popup-pointer-grace.i18n.yaml": "sha256:bc23163743fcf317893dd33bf7288b793d01d3f036d35636fb92fd8d3910ffaf", + "bug-fix/2026-07-30-hover-popup-pointer-grace.md": "sha256:4ff7b5b93d2003bdac56f3635ab8e067920327456e5daf383862062b17b4e1f7", + "bug-fix/2026-07-30-hover-popup-pointer-grace.zh.md": "sha256:f277fdcc69e9da55c3eba5d1aeeff11f68ec990d7a5ab6eee2bc8bca316c454e", + "bug-fix/2026-07-30-multi-select-custom-answer-composition.i18n.yaml": "sha256:cd1385c005ed2dcf902fa0b4246c7153ad206c0e0ab599b4544ec7703d38791f", + "bug-fix/2026-07-30-multi-select-custom-answer-composition.md": "sha256:53608255289abc55fd0857baf7a0b8a91897a270522e75e657c35f413d17fefc", + "bug-fix/2026-07-30-multi-select-custom-answer-composition.zh.md": "sha256:fd0f9992fa1e7d31d604078bfaf4392c00d58e910624e337f5626c9cbbcd489d", + "bug-fix/2026-07-30-source-checkout-workdir-distinction.i18n.yaml": "sha256:a44c3743c44f6000779aa5b4bccc66057076337480dcff9e35fea2d74c143a82", + "bug-fix/2026-07-30-source-checkout-workdir-distinction.md": "sha256:e05169d4ee99d3d41e7808256bdd97a596036073e94fbb3ca257fd28315cfc37", + "bug-fix/2026-07-30-source-checkout-workdir-distinction.zh.md": "sha256:ceac75ec7d974e31dbddb28dfff42cab15d76736ba8cc0c2ae2d807cde14beb4", "bug-fix/2026-07-30-tui-adapter-registration-race.i18n.yaml": "sha256:50b7a32e11591719c249258ecc2ec0f45e58f1a04050d2e53f6e2650f58ba137", "bug-fix/2026-07-30-tui-adapter-registration-race.md": "sha256:7e17eb1dd8f92e1efb7a18477df277b13580840b473ffe8a5309fc70ec3cfa3e", "bug-fix/2026-07-30-tui-adapter-registration-race.zh.md": "sha256:efcbd3d82af6a58677efe1a0580edd715945b6a93418fde47badac9c01a29866", "bug-fix/2026-07-30-web-details-default-closed.i18n.yaml": "sha256:2af5559d727f3e4afdd4946eaf89ac212c81db611db78dbd9bfabb1c4661db17", "bug-fix/2026-07-30-web-details-default-closed.md": "sha256:27a280a817c8048718bb22927e7d9572cf99ffd0c044631e99e0fd6ea236876f", "bug-fix/2026-07-30-web-details-default-closed.zh.md": "sha256:e047c7d02cf4b95b0c7f78f4b79af254091294b05cc75e98a8bb860ae2074189", + "bug-fix/2026-07-30-web-transcript-log-ordered-projection.i18n.yaml": "sha256:741b95ad6f296758c6c3dff0236d473c2d7dca5112ef36968677c3155a5372a9", + "bug-fix/2026-07-30-web-transcript-log-ordered-projection.md": "sha256:2a4969298747cf80d6e2052e438434e9919005bd6d867373fbeb0153f3cdfd36", + "bug-fix/2026-07-30-web-transcript-log-ordered-projection.zh.md": "sha256:68c3ad521c671f64d909b0cd7d5c4e87ca06d251b7bb32a9b22b58a3dfde135a", + "bug-fix/2026-07-31-code-runtime-python-settlement-fixes.i18n.yaml": "sha256:94d761854a365327913087879e2d12384c39ab37814301aa58d12ee9079852f1", + "bug-fix/2026-07-31-code-runtime-python-settlement-fixes.md": "sha256:c728533d06835a851704357d997d736b4f31ae75c314af5343c209ee0429e9a6", + "bug-fix/2026-07-31-code-runtime-python-settlement-fixes.zh.md": "sha256:1710e99d570eac525c0a22930d85796c11485de254830cee4c1b86ca13e4725d", "bug-fix/2026-07-31-composer-text-layers-share-one-scrollport.i18n.yaml": "sha256:36fc626dcbf1e276a36713e85860752cef0b36a5881f2493bdeb6d9654621b02", "bug-fix/2026-07-31-composer-text-layers-share-one-scrollport.md": "sha256:3ece47f91ee5f7354ef73ca0562aafeec19f89a19d9a64c9e0a565fe6d8c2049", "bug-fix/2026-07-31-composer-text-layers-share-one-scrollport.zh.md": "sha256:578e772ecbc1a4a39bddbb0a9f3fdbf67c70ff8c8952cc80d2caa3d8b76e9b36", + "bug-fix/2026-07-31-english-compaction-checkpoints.i18n.yaml": "sha256:d2727c1a67a615afbc4b21ad2a26936a298302a9cef9e666c17dfed4d31391a6", + "bug-fix/2026-07-31-english-compaction-checkpoints.md": "sha256:54922365cebb173ea5bb0691a162e4d9743a146ca1eab8355ae6379cc6f5aa5c", + "bug-fix/2026-07-31-english-compaction-checkpoints.zh.md": "sha256:d0ec253b79e3d698df2bbc37967bb49d35b4e553ce8f427cb502eea3bbc0e997", + "bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.i18n.yaml": "sha256:8fc15495a7450ff24740919496764aec978aed0c3014c59d5ff8033a01f5bca6", + "bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.md": "sha256:e36d3c6af393d02e872ba9e0f99ab64dd64246bf6e91ad9e5ae8c9619b206840", + "bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.zh.md": "sha256:790b8bb755b9b5919eb200036e45fd133987399299b95d6a1bf20ace30a676da", "bug-fix/2026-07-31-hero-visible-while-blank-session-opens.i18n.yaml": "sha256:42218a762ce0141d3cb43deb6c688d3705cdc4405e03851d486c78f3d25b70ef", "bug-fix/2026-07-31-hero-visible-while-blank-session-opens.md": "sha256:a40992e89736131f5c487e5357848f14accd06e135dbec9ce242c968a5b11d43", "bug-fix/2026-07-31-hero-visible-while-blank-session-opens.zh.md": "sha256:e0cc576bc1c196affc9220ddabf15d735c347029c530c56454f0e585979101e1", + "bug-fix/2026-07-31-resume-selector-batch-projection.i18n.yaml": "sha256:68736dd4414a2d2b591d8733d0a909b4a5043b0ebf01c3d53ba28abfc755470d", + "bug-fix/2026-07-31-resume-selector-batch-projection.md": "sha256:c449e99ae3c5d221fc9c06da32faa1052204a24fa5dc57b37bfd0cddfb8e6d10", + "bug-fix/2026-07-31-resume-selector-batch-projection.zh.md": "sha256:fb261b802bd5171f0a096d91221c12da03c97032df4ebd3c5a2b59da8f362d0a", + "bug-fix/2026-07-31-same-basename-workspace-adoption.i18n.yaml": "sha256:0ffce3c562285c09373b298a72940e33e3608fb6800a0165a910a71081fedbff", + "bug-fix/2026-07-31-same-basename-workspace-adoption.md": "sha256:9387805f6493a341239295ba9ac73ce0a03365721ec5621a75a342b2dcaea0a2", + "bug-fix/2026-07-31-same-basename-workspace-adoption.zh.md": "sha256:40c9f1a9c68c50e0f16b15c1333130f3f53106187cbb007409e9261dad32cd34", "bug-fix/2026-07-31-tui-diff-context-line-accounting.i18n.yaml": "sha256:cd39ae2646fdc6827bf29a63953b5463faa37d5b404ae8cc3c0913c47bc92d0c", "bug-fix/2026-07-31-tui-diff-context-line-accounting.md": "sha256:57066bccd22c2dc2c3546b363de73d13b55ff8683ee12b17a81ed2bcf536645b", "bug-fix/2026-07-31-tui-diff-context-line-accounting.zh.md": "sha256:a658d886c5eb203f5f30a6fac70ad18e4a24cf756746254723d8f1d144653c04", + "bug-fix/2026-07-31-web-stop-preserves-queue.i18n.yaml": "sha256:2570be350f8c9ea551dbc53e8f7fd845aa89757d3eeca8069415a9769f46e490", + "bug-fix/2026-07-31-web-stop-preserves-queue.md": "sha256:96a45b45d65cf03617bad8380bfe628fde41282cc0c193aedc272c4d7e48f02c", + "bug-fix/2026-07-31-web-stop-preserves-queue.zh.md": "sha256:c7e565c6d9fb1362f958c70fce0eff12b33fab0a05a7d864dd8b0954f70ba57d", + "bug-fix/2026-08-01-ask-user-delegated-caller-guard.i18n.yaml": "sha256:b5bbc8f3da9281f1e4e642d2da76c580a654227322a8aa93bfaab26cf1990f25", + "bug-fix/2026-08-01-ask-user-delegated-caller-guard.md": "sha256:e8b52a235fd83fed94953dcdc9f6e0fd074e767268d870962d064b950f03da59", + "bug-fix/2026-08-01-ask-user-delegated-caller-guard.zh.md": "sha256:612238eab2193b69b934876ec89d3b40edae034c54c3edfffea2dac99ca9ad1d", + "bug-fix/2026-08-02-goal-round-wrapup-message.i18n.yaml": "sha256:086bd56b582d279cd1173ec507958ff7b3354c2f298dae30ce75190bf95f545f", + "bug-fix/2026-08-02-goal-round-wrapup-message.md": "sha256:c9e441cffc800ebf7eed52e916118ac56ad02bd0a3a304a1421d79ed4f452a2e", + "bug-fix/2026-08-02-goal-round-wrapup-message.zh.md": "sha256:743832ad2d7486afa2173bbe3dc5ab3b8df18287512dc4583f8db0ed6d86cd77", + "bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.i18n.yaml": "sha256:a923376234038ea8d70210c22a445b4fd933dc7537108b5efaea305c35aae817", + "bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.md": "sha256:232dbd25767c70b398b21303b09f3e03981148a106f08fefbf73e607ac26506b", + "bug-fix/2026-08-02-message-fork-actions-require-completed-turn-tail.zh.md": "sha256:e343f392c9a49ab93006a71f0ceab91d20f3994cbb6a0f220dafe4c88fbd2246", + "bug-fix/2026-08-02-todo-first-composer-context-order.i18n.yaml": "sha256:130fad68ea68a0d2dbef704288f4fd4b9ba6bae6ef7e376021631b62d249956a", + "bug-fix/2026-08-02-todo-first-composer-context-order.md": "sha256:0d8c29d7e67990f85d07ebde9c44a3247188e9910c47376a772e8ae951fd7bbe", + "bug-fix/2026-08-02-todo-first-composer-context-order.zh.md": "sha256:ac1d1b9bdd18aedd847d59624716e5ffd4aa0fc966ed93d69e8899ccdcedca88", + "bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.i18n.yaml": "sha256:80114779ec809c23251be5acea561ff3c5959336471d3241414c59dfaadbf746", + "bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.md": "sha256:4e4c4e0e512c1bd14bb30ab5749f2bb7b8ef8986781b157f1a6dea0641ed2c91", + "bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.zh.md": "sha256:b0f7708f29d078e511d03dbffc6ad5e16de1fad4e9ed36faf6fdeee08ddfc32d", "bug-fix/2026-08-03-tui-long-session-render-costs.i18n.yaml": "sha256:f65f7bf8fc84c7a1f022ee393c8d969c06d9bde8bed3a0206de86fb35b246ac6", "bug-fix/2026-08-03-tui-long-session-render-costs.md": "sha256:6ecf2ef831f527f361ade18a882d79bc6eccf15cc676d05728e7753f41cde051", "bug-fix/2026-08-03-tui-long-session-render-costs.zh.md": "sha256:5f44e707b332e13fa06d625212173ea055c1c3c0aee60888435a0ff099ec6037", + "bug-fix/2026-08-04-composer-tab-gutter-reservation.i18n.yaml": "sha256:5b72e7887b79b2131ee5ce3c31b4a617e3fc94a11f966d219c7df224f9c2b8e8", + "bug-fix/2026-08-04-composer-tab-gutter-reservation.md": "sha256:932b30e959b96d7ac5074972021fd9b139842724273658658bc0a1cc37f6aec9", + "bug-fix/2026-08-04-composer-tab-gutter-reservation.zh.md": "sha256:a64dd06c0e8846df978bcf5341aab22cba6fb9f2aa11ef204bfa3695e21baf64", "bug-fix/2026-08-04-large-history-pagination-call-stack.i18n.yaml": "sha256:9bb1ceec013521116ee73eb9ec28c5708ae9520d6e53dcd4a3621fd2283b215c", "bug-fix/2026-08-04-large-history-pagination-call-stack.md": "sha256:38c5afd347b131abd6b73634d25210d593bcb1fd72c7ba501bad0b33fb639810", "bug-fix/2026-08-04-large-history-pagination-call-stack.zh.md": "sha256:2a2790b3b3400c747e20b998edfa96788b4035ccfa5fd4100dbc9a0e694ed30e", + "bug-fix/2026-08-05-context-meter-blind-to-compaction.i18n.yaml": "sha256:5bcff74782b608cc7826212be2b4e51fab298a6373400f6b35af57c727687495", + "bug-fix/2026-08-05-context-meter-blind-to-compaction.md": "sha256:285a1b5dd1e899408adf8675a876f0ec1a3a78b440c42446b338070120699289", + "bug-fix/2026-08-05-context-meter-blind-to-compaction.zh.md": "sha256:ab912621eafb8ced6e2b9ad7e31c61b80e23a087649f51eb6b1b3782470e3d77", + "bug-fix/2026-08-05-turn-tail-actions-require-a-completed-turn.i18n.yaml": "sha256:edc5eb2eae409be322dc18697d1730f07bc19ee2f9ae1bbfad4a76f242a932d7", + "bug-fix/2026-08-05-turn-tail-actions-require-a-completed-turn.md": "sha256:3b0a4fb7511f18a504bd3c45f111ecd0eb3705cee42c54deb6fd571db3116a16", + "bug-fix/2026-08-05-turn-tail-actions-require-a-completed-turn.zh.md": "sha256:7d854e56bffcab0c99d61b90f6e77ccc926aec35467fa2341d335ab1bffdd886", + "bug-fix/2026-08-05-workspace-blank-session-reuse-membership.i18n.yaml": "sha256:30217d332aab2a1136919534de5eaeee310f3a7aa0aaceb48a72b3f44750665f", + "bug-fix/2026-08-05-workspace-blank-session-reuse-membership.md": "sha256:a95e599d2f035bfda28b7fec8b346364aad28ccb825fd69f0952b62907c8c62a", + "bug-fix/2026-08-05-workspace-blank-session-reuse-membership.zh.md": "sha256:e862a75b6f290713deaa221b9d46153e0156f35463a55fb32171f9487f18bc6b", + "bug-fix/2026-08-06-api-key-format-validation.i18n.yaml": "sha256:83c9f4aca0f65020f0a456733512b77fb324d694d6c32b2f92efb8ef0542872b", + "bug-fix/2026-08-06-api-key-format-validation.md": "sha256:0a18b8dccc5a67f8b6dbbc8f596e73cc95b797dc6280fb48455c2a0cb9229b76", + "bug-fix/2026-08-06-api-key-format-validation.zh.md": "sha256:fa8ddc9b35d2f1b25407881797f4b407d906528a0c0ab3a99f11a16ea8e7512f", + "bug-fix/2026-08-06-list-agents-residency-vocabulary.i18n.yaml": "sha256:816a582c4a71304b0499c18aadea56a180d876dd81c4b22f6c1798e2e37d21f3", + "bug-fix/2026-08-06-list-agents-residency-vocabulary.md": "sha256:f8ccd05c93bf7b5ee389c50c0ec248c29b04bbed9cca0354354032bb9099cc33", + "bug-fix/2026-08-06-list-agents-residency-vocabulary.zh.md": "sha256:5dbdc24587823be669a727104780dbbe59ef9a510dd89893b79a93d0ba8289ed", + "bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.i18n.yaml": "sha256:232aa90d4d0cf2cc331e07a7ff5268b63efa8ba7c45913a015ca8cabc2185d3f", + "bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.md": "sha256:ac16c2027de6f9cb1e7f38e2c1aa8b6fc260d4beb4207b9df0a62e2a4e395ef5", + "bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.zh.md": "sha256:8ecc9300d608e8968d12621b354ab32c119648950f5b604ec3883b617075e60f", "bug-fix/2026-08-06-plan-narrow-viewport-regression.i18n.yaml": "sha256:fe0539da9ce4015c6deaf585350e586e99d86e0073a36e131b6f1f62cc13382b", "bug-fix/2026-08-06-plan-narrow-viewport-regression.md": "sha256:ccecdf52213dd1f6ab9935db31906520b83a7d9166f612376877d612230d1331", "bug-fix/2026-08-06-plan-narrow-viewport-regression.zh.md": "sha256:be10805f0cd5a4f0812c883ab7f3e1e9396b579be455696d5cd726434a26b3e1", + "bug-fix/2026-08-06-provider-credential-lifecycle.i18n.yaml": "sha256:2639d3b97e0f781f6a951e82466b03364e0ad41d7d980fb0ed684848ef5b996c", + "bug-fix/2026-08-06-provider-credential-lifecycle.md": "sha256:da4c09b04f3e93283897b57a3b25ed1641e36bc248d622444f0baffd074acc6a", + "bug-fix/2026-08-06-provider-credential-lifecycle.zh.md": "sha256:70ada2d1cebc59e5aee9fc23b9b5d8b1ad6a74723b3313569d6f83e2beb638e2", + "bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.i18n.yaml": "sha256:e7100c54f67df5ef93af36b5af54018995674fd734bd5b8936c8671c1250d37d", + "bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.md": "sha256:51699701171414ef83c88921242539602685ac9b5de654860f17691bfdb6dda8", + "bug-fix/2026-08-06-reader-scroll-attribution-observed-top-ledger.zh.md": "sha256:91b6b3742075f4a586a804ac4add8de3c4b57ff578e6d6f76dd296e89e1b760f", + "bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.i18n.yaml": "sha256:dd13d2717a8555e8dbfd6c33938c1eea714ac57ed50e3db792381237b7d676dd", + "bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.md": "sha256:b1b034bfd8dcf4d1181cf5848a41ecc3c66e9b55b576d5973bfee749af0b242a", + "bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.zh.md": "sha256:df7994d75351aea633642bca2fde5e41d78ff6e090637c253cc5755d664f8bf3", + "bug-fix/2026-08-09-broken-preset-roster-rows.i18n.yaml": "sha256:945ca2ed436331d7b4f69a6eda26d7a0eff9ae03512842384f65ad433ad5f4d4", + "bug-fix/2026-08-09-broken-preset-roster-rows.md": "sha256:4abc2668d328de3b7194fa76441acc79619cfa0653f0f985b1649f7b1f116320", + "bug-fix/2026-08-09-broken-preset-roster-rows.zh.md": "sha256:7918e051c4a18bfef9905cf5cbacb9f761314673771fc9ac975a6a67a6856228", + "bug-fix/2026-08-09-filesystem-absence-observation.i18n.yaml": "sha256:b0e7440c6527bdb4bec5f69073858f755f7a7ac1f6cfcb4d3bb8bc7f40cbdb3d", + "bug-fix/2026-08-09-filesystem-absence-observation.md": "sha256:524b6d965587dc2a4c2c27440a20b189714f9112714df0984e6753553af061e6", + "bug-fix/2026-08-09-filesystem-absence-observation.zh.md": "sha256:51a52dd1534c2db42ca07cd292e57eb46e18b1d1a8f458e6adc3efab926bf5ff", + "bug-fix/2026-08-10-minimal-preset-owns-rl-composition.i18n.yaml": "sha256:97df20c38d7794cdf3d0d8dbad23e72417953ab6444cf2ad4cf40e91d1c36b84", + "bug-fix/2026-08-10-minimal-preset-owns-rl-composition.md": "sha256:5c35a0b892d47f637aec94dde869d2b3f1c22b238ae7c6dd9d3a59104d48827e", + "bug-fix/2026-08-10-minimal-preset-owns-rl-composition.zh.md": "sha256:b69dd72ab2ae5bf3118e3bd14dd7cf351ce00a1bdc5f119c25c8b56435503bc1", + "bug-fix/2026-08-10-pre-plugin-theme-bootstrap.i18n.yaml": "sha256:36d6f4bd2f7abbb1ae3445fa994a378f338386d3937ccd92ec14c7c1de9f6687", + "bug-fix/2026-08-10-pre-plugin-theme-bootstrap.md": "sha256:8b051324f4906081490889f7c4f07942f8c445ea3618844a8bab09f5652d688c", + "bug-fix/2026-08-10-pre-plugin-theme-bootstrap.zh.md": "sha256:fccf87f851881ba55466a02ef19cd7e4bb21efa1b15d963d3971011d651788b7", + "bug-fix/2026-08-10-session-row-identity-covers-the-preset.i18n.yaml": "sha256:509177adf55f65d3a95441f36a9e5162bd4d136f6feab99b5106e4817c2ac251", + "bug-fix/2026-08-10-session-row-identity-covers-the-preset.md": "sha256:cc9d9dab67b10c7bcf887e3994b065c9b3934bf8411c78dc29f5de0be97c8670", + "bug-fix/2026-08-10-session-row-identity-covers-the-preset.zh.md": "sha256:070e9812ff59ae8275c9b80a2315551f383aef88397821d0af9d3342ca54c2ff", + "bug-fix/2026-08-10-slash-catalog-follows-preset-switch.i18n.yaml": "sha256:0aa612625c4e63616431f816d0b83d8d64633f8b80a00bf7a1161e82513ed6fe", + "bug-fix/2026-08-10-slash-catalog-follows-preset-switch.md": "sha256:868fbe20dd7fa3f5c5aedfd02b7a3b6b06b3aefbcb18c3034ece7a7eb844e27b", + "bug-fix/2026-08-10-slash-catalog-follows-preset-switch.zh.md": "sha256:a2b5f18d97342fecf6fc564c63a6402835f944d906daf5bbd51efb3973bd8321", + "bug-fix/2026-08-10-subagent-empty-terminal-message-output.i18n.yaml": "sha256:286523f5dbe8c3af34837a6f6dbb5d3f2b91631201eb676be7ec57594e8d4d43", + "bug-fix/2026-08-10-subagent-empty-terminal-message-output.md": "sha256:7ad6b28a0e7ffe967394539d9f8e62aa816bf6c683092942394d334aad533ed6", + "bug-fix/2026-08-10-subagent-empty-terminal-message-output.zh.md": "sha256:f265027ec3318fb59b460ece17513436ba627c92145a75fb2f7098d7df05c4c6", "bug-fix/2026-08-10-web-favicon-dark-mode.i18n.yaml": "sha256:859c4399f9a017a68ba89552fdafa05e73c0599d94cee9551c84ea5b749a14f3", "bug-fix/2026-08-10-web-favicon-dark-mode.md": "sha256:4d17e247abd76ae3aed5fb4e075fd66a2838292f89f7021c82a79fe37ed905e6", "bug-fix/2026-08-10-web-favicon-dark-mode.zh.md": "sha256:7bbff8a3b7061c127afcc75cd2a8043b02a999b78c0180edd8f7e4807fcfe71d", + "bug-fix/2026-08-11-bounded-background-job-admission.i18n.yaml": "sha256:056a521c98dd8a9b6adc77e10d69eedc853d6445ebcffb77b5076a920a7eba6e", + "bug-fix/2026-08-11-bounded-background-job-admission.md": "sha256:062815ecdff86fec2bbf7d09f23613c76f8e927ed3f7dff524615320c646244c", + "bug-fix/2026-08-11-bounded-background-job-admission.zh.md": "sha256:121ac57f536a0dd30f4e8ba67b14d16a663322dc383813b94bed7e934af0fcad", + "bug-fix/2026-08-11-owned-run-finish-reason.i18n.yaml": "sha256:8be8b5c88dd12e9ef2a8966415940db86ab5bc95ce3e1c86f7b67b729c521a80", + "bug-fix/2026-08-11-owned-run-finish-reason.md": "sha256:0c938976de495ca828d7bba2c9b9aefbb193387ed95f2d87e7fa0081f7771705", + "bug-fix/2026-08-11-owned-run-finish-reason.zh.md": "sha256:168388201eb7d7518966c0a02da43e337376f53fb7f72b7b40ecf07cae16fbd7", + "bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.i18n.yaml": "sha256:54b949b351a31a3bc4628320b6e3eb71bf6d72fff85f3f85e4d20569aa933845", + "bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.md": "sha256:1c4902ad59b216e7f8d44b7250d4a1c1512e52ccc045a71a0dd333119dee3d52", + "bug-fix/2026-08-11-preset-authoring-agent-validates-its-own-composition.zh.md": "sha256:485364d0152b8e9270958a0dd7d2b3449cc71f154984feb562ae81b1c9634edf", "bug-fix/2026-08-11-preset-card-description-clamp.i18n.yaml": "sha256:d50452503b59aa22c81617888f9391f31f12a779c4b18efb2b4b6de1bd9702a6", "bug-fix/2026-08-11-preset-card-description-clamp.md": "sha256:7eb8db697f3ad3dea8c0a6045331c05730a010404a89e2b08348cb7b0fad26c8", "bug-fix/2026-08-11-preset-card-description-clamp.zh.md": "sha256:6d2f7b55ce02275a45adfdd853805e7daf2d6534929b77beb86685a54fc34f85", + "bug-fix/2026-08-11-synchronous-subprocess-exit-cleanup.i18n.yaml": "sha256:5a7d91500fe9b89c33660e2be4a82a9a4febead77d58abb1842df2cbae5c53a2", + "bug-fix/2026-08-11-synchronous-subprocess-exit-cleanup.md": "sha256:d2eb41db32c2b03c225ee744f3019603825cf2393e2e6c4c72bfdfcf906a4255", + "bug-fix/2026-08-11-synchronous-subprocess-exit-cleanup.zh.md": "sha256:56f5ae9ce8014deb1c66fca64fd5503d9c2ae5368d4739bce4653424e2efd0cd", "bug-fix/2026-08-12-collapsed-sidebar-shared-entry-motion.i18n.yaml": "sha256:3ce4f6e39e173fc304bf64deca9c95bcddc1dbb492e065ca8c267a7a40788588", "bug-fix/2026-08-12-collapsed-sidebar-shared-entry-motion.md": "sha256:7b169aa4543edfc965de5a8b7b9e60aa9d9d5218693cd0b57908e2d482280723", "bug-fix/2026-08-12-collapsed-sidebar-shared-entry-motion.zh.md": "sha256:88db36c698800bf55c3c7531d6f92665576d978c29c15ff7d74215fb93376cb1", + "bug-fix/2026-08-12-composer-overlay-seat-width-compensation.i18n.yaml": "sha256:f239efd11a5000d6f6727d15ed233e4962b1642c14ccdd627d9afad651a51988", + "bug-fix/2026-08-12-composer-overlay-seat-width-compensation.md": "sha256:8174a70d74182cc1c899417223b63faad0cca25e02071286ccd3d06a111f98e5", + "bug-fix/2026-08-12-composer-overlay-seat-width-compensation.zh.md": "sha256:b9a6bb903b6c34ba8a01e640c00d0338dff42368dbf4fb08d54933af83a467a1", + "bug-fix/2026-08-12-fix-pwsh-terminal-overlay-dup.i18n.yaml": "sha256:73129b72d00ec40a804ba4c2dd48201a0b7c4c81d72bf408067c136a7ac81c40", + "bug-fix/2026-08-12-fix-pwsh-terminal-overlay-dup.md": "sha256:fe3f0acea5b93baa5047cc0ed01a3ce6a609e0ed133baba121fe045965719a69", + "bug-fix/2026-08-12-fix-pwsh-terminal-overlay-dup.zh.md": "sha256:5b062f63c8a1949f1d623d05de89dd06c5734d1899c6fabe241b73647a92e4a2", + "bug-fix/2026-08-12-full-session-turn-step-counts.i18n.yaml": "sha256:6e5ac7ecc036d0c8675306c74e215d2e97ca9db896a693c0f5787c8a986e96cb", + "bug-fix/2026-08-12-full-session-turn-step-counts.md": "sha256:4dd626bf4434062859a806c7858f0d3d6b338fbde7ad1bff606a8d490fa0e242", + "bug-fix/2026-08-12-full-session-turn-step-counts.zh.md": "sha256:23a0f047bb204f704d7fefed04705f1a4703552733cbcdaac5563634dcf0512f", + "bug-fix/2026-08-12-max-tokens-turn-end-notice.i18n.yaml": "sha256:2f5af3f613ef61799bdc16517cf0c4d38cfcaf33564bd3f6d73d07009697d7e9", + "bug-fix/2026-08-12-max-tokens-turn-end-notice.md": "sha256:25ce16e2f7da42e16e9894d0d1bed05131e44d41518c2c3fafdbd5c39b0c3c95", + "bug-fix/2026-08-12-max-tokens-turn-end-notice.zh.md": "sha256:07fc3319895a40e1561a36c01f8f5a4bb8b6a516b446fe90d538899bf2b6beb5", + "bug-fix/2026-08-12-onboarding-reads-every-provider.i18n.yaml": "sha256:fd49ff25fc4555e46802de9c8221a049881780bf11efb5c85a1a0bc3fbd43c5c", + "bug-fix/2026-08-12-onboarding-reads-every-provider.md": "sha256:52e1e05a01e78ba50f24a99acd7daf2e8258e98e8845e5cf6d9eed19a38033e5", + "bug-fix/2026-08-12-onboarding-reads-every-provider.zh.md": "sha256:0c1cf0ea06fc96c35f84fb8027b145efa4ff4712db51d2f9cc6fa660f1c0f3b0", + "bug-fix/2026-08-12-resolve-store-pwsh-aliases.i18n.yaml": "sha256:08f83395fc336bed1cbba31988a3a6e5121d28f6566fcde0819e7d09fb9f4aa5", + "bug-fix/2026-08-12-resolve-store-pwsh-aliases.md": "sha256:146b9e5d1c844b585183b364de74ad0f339d6933a22e965401e93e6d68195801", + "bug-fix/2026-08-12-resolve-store-pwsh-aliases.zh.md": "sha256:d13f429f786fb5bf48198a0123f87db28f68545b1a1d68065e38914bbf5799ef", + "bug-fix/2026-08-12-unlink-fixture-junctions-before-delete.i18n.yaml": "sha256:314eda26fa4168bcf6c34a81c63d4162518cf4114082d49f101b0ab2558b5d13", + "bug-fix/2026-08-12-unlink-fixture-junctions-before-delete.md": "sha256:fc22c87cbfcfeee454cd4ca45c7370b7a10a2afb0670294d97422443c06149ea", + "bug-fix/2026-08-12-unlink-fixture-junctions-before-delete.zh.md": "sha256:12536d8ed04280f3a14d682d9d43a538ddb795d7a600110de875ea090a1816b5", + "bug-fix/2026-08-12-unlink-stale-profile-fallback-links.i18n.yaml": "sha256:4c891e7ae749596ef4f06740b250832756b31f2ff2763b0684bf612d23aafe61", + "bug-fix/2026-08-12-unlink-stale-profile-fallback-links.md": "sha256:153237035456f7878f2b143493e8507c46fa551ab01ee60807c8d123d9bed16f", + "bug-fix/2026-08-12-unlink-stale-profile-fallback-links.zh.md": "sha256:cf0280fd69f4b6cda7e549fa405fde9c702fadc9bb75dc7abce72a57ab01b3dc", + "bug-fix/2026-08-13-bounded-cold-blank-verification.i18n.yaml": "sha256:798322e92995a76b175196d3093e831d5d4547e8c48943218baa59a5ae613e8d", + "bug-fix/2026-08-13-bounded-cold-blank-verification.md": "sha256:0f3595c91affa420dab6f6032bc39fdc6ed2ef5a0d284ed44e3cdfc0072a28b9", + "bug-fix/2026-08-13-bounded-cold-blank-verification.zh.md": "sha256:97657d28806da556d76647abf7a6734643b97c6a13817b9b3f9ff6f5d504d1e2", + "bug-fix/2026-08-13-feedback-note-editor-popover.i18n.yaml": "sha256:2609175133fd7de7b3a948914d8043a66302f7bc27bb90590e031a7162ba740a", + "bug-fix/2026-08-13-feedback-note-editor-popover.md": "sha256:b802ea4b077f12ad6ae262159308518656d610774ae4d6fd2015f864f6f4cc94", + "bug-fix/2026-08-13-feedback-note-editor-popover.zh.md": "sha256:d0be45150ae20e4f73fc28bf882ab5c1932fb27eb345e656bd4c5ae9f8b48543", + "bug-fix/2026-08-13-oauth-only-providers-withheld.i18n.yaml": "sha256:cb34a8477755612cba7f80bb8e0f5364bedbc17b96b577e6e27f39dba7c74bf7", + "bug-fix/2026-08-13-oauth-only-providers-withheld.md": "sha256:d9e06120239e90eafae17a8df4c87db09752c62fe2c16b97ac03c0bedd00144a", + "bug-fix/2026-08-13-oauth-only-providers-withheld.zh.md": "sha256:2ca47aad833b7c791ccc8090af0cf20b5a7220d3764f6a53abd2cad0f0a8d7cf", "bug-fix/2026-08-13-safari-textarea-soft-wrap-reflow.i18n.yaml": "sha256:23c26323f92a2172fd30fd724177b84d012cf4e18f1eff79ab092d4e0687ad4e", "bug-fix/2026-08-13-safari-textarea-soft-wrap-reflow.md": "sha256:f9edea8501df36d444d84790ef9b0ae5bed4283a9cc5a5403800b80908f3db39", "bug-fix/2026-08-13-safari-textarea-soft-wrap-reflow.zh.md": "sha256:ddcf6bb67823d19dc98964fcb9d663a10bcf663573394cfd7b235d9801d6525a", + "bug-fix/2026-08-15-max-token-replay-state-alignment.i18n.yaml": "sha256:de552d3ecfc021004a58fc1913c5eeb001ecef2777c82dc9720714be85dee229", + "bug-fix/2026-08-15-max-token-replay-state-alignment.md": "sha256:a9a519d8fdcd4d9fcc57adc0039d4d7bca8fd3f4d6e65910f2a280aa1494a785", + "bug-fix/2026-08-15-max-token-replay-state-alignment.zh.md": "sha256:a1d0229cc36a76d4b8b7defceefada0e00be5ba3a0e33295067b7403ef985572", + "bug-fix/2026-08-15-persistent-bash-keeps-controlled-prompt.i18n.yaml": "sha256:9fb062cdd41c23ca2137de9954f962acea2c0286356ce8bdb6f9275840db41c6", + "bug-fix/2026-08-15-persistent-bash-keeps-controlled-prompt.md": "sha256:099fd51594b18c256477908b834dfeb0adefae37951aad5d578f88194d3621a7", + "bug-fix/2026-08-15-persistent-bash-keeps-controlled-prompt.zh.md": "sha256:d5e207828e95097bead324ca0df7b2c1d815e0afaf52d8d46e46e626206e7b27", + "bug-fix/2026-08-18-rail-search-outside-click-self-dismissal.i18n.yaml": "sha256:23e9e6028f95c1dd6543875e80debf49b11b780b0fa1bdb5988c4f204f2a67d3", + "bug-fix/2026-08-18-rail-search-outside-click-self-dismissal.md": "sha256:76f43ad63a0a8f93ed56239f5687025533fcbe012b44a726305f6b59fbbb1396", + "bug-fix/2026-08-18-rail-search-outside-click-self-dismissal.zh.md": "sha256:d481e3378c57bb0465221a3c1922d606a3e04dd42c191db32ddc8119629709e3", + "bug-fix/2026-08-18-tool-row-file-open-failure.i18n.yaml": "sha256:0bbdde71531a22c54ed773ca8a35c8fa9bc315ecf08a9f650ea1275fb2419af9", + "bug-fix/2026-08-18-tool-row-file-open-failure.md": "sha256:d2bb45deb00fe0225754af56371acbf73625a644c47b3ffaa9e56a6bd881283b", + "bug-fix/2026-08-18-tool-row-file-open-failure.zh.md": "sha256:36889f811fe8f74efd7f0f7b776eb8bcfe09b6e566b5d33eb08bc20b191c5682", + "bug-fix/2026-08-19-deepseek-reasoning-passback-every-turn.i18n.yaml": "sha256:57ce04a3990a73a8e2eb7fdad23acdc52a10de40396a469cfe23edf00647c5cb", + "bug-fix/2026-08-19-deepseek-reasoning-passback-every-turn.md": "sha256:56e44e0fbd99ac191977cd0f2807c8ac075befe1e5aef779dbb6f08592fad9e8", + "bug-fix/2026-08-19-deepseek-reasoning-passback-every-turn.zh.md": "sha256:1797247f8cb725607df9139d8355a84151f141dba34f6071b670851214b2d659", "bug-fix/2026-08-20-composer-edit-range-from-selection.i18n.yaml": "sha256:c91ed2d9cb2a9891011fcbbe46885bc1808e36831279d56bc5cea0b9b1515b55", "bug-fix/2026-08-20-composer-edit-range-from-selection.md": "sha256:e36920dee0318a35eaf49bff8c574698902f3be51d6115d40a3f97fa1436bd47", "bug-fix/2026-08-20-composer-edit-range-from-selection.zh.md": "sha256:41f44adc93797cf9073f19f954b6ac87147a2e6806f1ad051c80c3423f0175ae", "bug-fix/2026-08-20-composer-reference-decoration-keys.i18n.yaml": "sha256:cadf1de336aa2756d1bc1c20c7679449390b0a7a4217fe9602996801b6bc1958", "bug-fix/2026-08-20-composer-reference-decoration-keys.md": "sha256:0093eabd710f10ae1faca53be01c9404a9d63cf6a2cf4dbf226e458e6315e201", "bug-fix/2026-08-20-composer-reference-decoration-keys.zh.md": "sha256:a5fb2a748cf6ff8353d536448a5469e731157ccc2d0bb43210ea5dc44dd8ed31", + "bug-fix/2026-08-20-explicit-web-index-paths.i18n.yaml": "sha256:5568882d66cce46924ba9c3a3dbadcf8aa7c8f2f47d781f2634cfbbd47c0cd01", + "bug-fix/2026-08-20-explicit-web-index-paths.md": "sha256:a4e7ce37c340b4546fd3e65c360bf02ed416483655349dbb1a4df2db108c6714", + "bug-fix/2026-08-20-explicit-web-index-paths.zh.md": "sha256:32a98dc42d30c70ce7b0d65ac2cad3189b5ec060649d1223138a4359d4248d5d", + "bug-fix/2026-08-20-plugin-owned-shipped-preset-root.i18n.yaml": "sha256:46530d1dd908a70d4116ebc561faaccb3a5707ecacebaa88e9dbfe3ab68c278d", + "bug-fix/2026-08-20-plugin-owned-shipped-preset-root.md": "sha256:f6bc872eb5d6e6063329e99b13ae3131a8ddac2e88c5f516fa12001ceb11ab2a", + "bug-fix/2026-08-20-plugin-owned-shipped-preset-root.zh.md": "sha256:2a1e3184fbf3014d6bd6d610b6bb7cc9e9e27ec2b6c3bf62a9b2c34e15ab4026", + "bug-fix/2026-08-20-running-draft-primary-send.i18n.yaml": "sha256:cd9ee0b8cfe1940ad128264b0b6052f73cfbb7a54009a961dd7cdd9580fc1fd9", + "bug-fix/2026-08-20-running-draft-primary-send.md": "sha256:5edf5531471a4f4c763a5ed5d5f69795048b727f91b1df062ada7c51f18e4e78", + "bug-fix/2026-08-20-running-draft-primary-send.zh.md": "sha256:140082c1996876bfe1fb0bef15ad1cb1a64a4874f009f1460096b830d346c2f3", + "bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.i18n.yaml": "sha256:237403e3d4dbaadbb570fc338cf27d4a56ea44aa17b0ffec727bc4e408c4417a", + "bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.md": "sha256:f591b7c016dd6cf4ba44386c2db0a6342bd5f61245b86e9ebc9d6abba9c15399", + "bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.zh.md": "sha256:944eaa0745673c0e19ef06a38de305e3a7bdf9962d1b86cb3b074ad2cf107fca", + "bug-fix/2026-08-21-deepseek-files-inline-fallback.i18n.yaml": "sha256:2731213aa2e4d831c2912713dedff8f14245853bbe6c155107aff5c2383c4020", + "bug-fix/2026-08-21-deepseek-files-inline-fallback.md": "sha256:abca9728f1dbeb12adfc004104190f58b26cac66da9dd26d23738f649cc2a635", + "bug-fix/2026-08-21-deepseek-files-inline-fallback.zh.md": "sha256:dc0a4ad13533846baf9ab77c0cec3b4a2f7b61731a432e52bf2d727f9a94019d", + "bug-fix/2026-08-21-inline-user-text-projection.i18n.yaml": "sha256:54239dd46a45fb2d94bb11600f1835a56f7c2402205c3185533602c5c19e029c", + "bug-fix/2026-08-21-inline-user-text-projection.md": "sha256:79095aa36402ff97fe103eefce374263604c782c2edcb66073ee4a42b14853f0", + "bug-fix/2026-08-21-inline-user-text-projection.zh.md": "sha256:c03855414a55d6ced07f6ca0d0a3db5bc368967d5141e25546178619cd077411", + "bug-fix/2026-08-23-win32-utf16-nul-truncation.i18n.yaml": "sha256:fd27aaf586f7dc7c25a20d8edafe9865f1e39b4f35a0a94719e07799bc06a8f9", + "bug-fix/2026-08-23-win32-utf16-nul-truncation.md": "sha256:18802f9953bb420f71fc564e3669ad48341259eaf00af753915e090c9172b5d2", + "bug-fix/2026-08-23-win32-utf16-nul-truncation.zh.md": "sha256:cedc8ef2040e63e1a98e5a5a3b8e25cc726bc3c7a2bba4d5a0199d39bd046d6c", "bug-fix/2026-08-24-system-prompt-section-order-ties.i18n.yaml": "sha256:f7a20bddd4544738ec0dbbfc52ea931f42317defa1674beb9a3c0daebd52fc2d", "bug-fix/2026-08-24-system-prompt-section-order-ties.md": "sha256:108a97346eb7a62f1ab01f48dbb9fdd965e8991f53e382b0f501b916af0e9e23", "bug-fix/2026-08-24-system-prompt-section-order-ties.zh.md": "sha256:3deaddfcf9736b3ff8d61b51093d7e46fdcc86103705033e4aa4c9d043794b16", + "bug-fix/2026-08-24-token-meter-surface-fold-plan-commit.i18n.yaml": "sha256:a2263932769ee7b9b118c4d695c8792f6418525cc9d94302643d12bf0dcdbee7", + "bug-fix/2026-08-24-token-meter-surface-fold-plan-commit.md": "sha256:4e5f7e369710ccffeff737c9496a7d06731c58977c6712f13465ac77a0693e47", + "bug-fix/2026-08-24-token-meter-surface-fold-plan-commit.zh.md": "sha256:df7814c9a8909b1fd3b30606cc559c0bbac3f12e9a167eca6891bc646a6a1c7a", + "bug-fix/2026-08-26-composer-gesture-editable-gate.i18n.yaml": "sha256:65064b8862f0d9e6b5da86d9b48ae934235660734c572093aa6df6a26fc85c15", + "bug-fix/2026-08-26-composer-gesture-editable-gate.md": "sha256:8d65d5a89a4304054533b6548c13e42c84a6b6e03547ce8012718d088acfbada", + "bug-fix/2026-08-26-composer-gesture-editable-gate.zh.md": "sha256:d096078b8b11ad4d5e0644acfced123404aa2f6659fb32b34b231cb3bb9fdcff", + "bug-fix/2026-08-26-pi-ai-grant-payload-json-image.i18n.yaml": "sha256:be2a6df8219a561d5d5283aa1b99a9d8ebb9e01a5768ecda15ef0065a5566cb9", + "bug-fix/2026-08-26-pi-ai-grant-payload-json-image.md": "sha256:c54ccfdc8ab9cbe1f4d9f64de2bf181f534ca749f0f3a1b3162cf1bb001b8c0e", + "bug-fix/2026-08-26-pi-ai-grant-payload-json-image.zh.md": "sha256:40107801f491bead9a65084f0b7b548a9e403e7cac7b9ceb5ba0dcf4a888b0d2", + "bug-fix/2026-08-26-question-drafts-survive-session-switch.i18n.yaml": "sha256:5f4db840d5ef74b60375992c3b73b91b524e769ef96af54ff5e2fd2091a48616", + "bug-fix/2026-08-26-question-drafts-survive-session-switch.md": "sha256:3447840e36786c72198d8213ea6fff2879c5c9d8ba582f36ddf2140eb70a1ce3", + "bug-fix/2026-08-26-question-drafts-survive-session-switch.zh.md": "sha256:13818ec1d18950dc6439719f58f9339a81c4e1a05f42ac30738e1bb5071fcc0e", + "bug-fix/2026-08-26-stable-turn-process-order.i18n.yaml": "sha256:ef6622b15c633abd4b0da49d2d17cd7416ae738c6eb2d6793d56c4df9a607188", + "bug-fix/2026-08-26-stable-turn-process-order.md": "sha256:936553b220e553776a872e6957f59f0ef6839ce0f9f99c5b7cc11424d4310038", + "bug-fix/2026-08-26-stable-turn-process-order.zh.md": "sha256:213ac73fc8e056fc1f17f504aee6b99eb9d82c786467f2101d7f1658848adaaf", + "bug-fix/2026-08-27-steer-followup-image-delivery.i18n.yaml": "sha256:de204c21e9ce8c53c07d6ec0af6504a1e275b38e2fe6212bcd0700634bf8d07f", + "bug-fix/2026-08-27-steer-followup-image-delivery.md": "sha256:fd8f65782d4acbab3a3a8579caed0fa69870322b78a51ab2d06829d27d7ef9ce", + "bug-fix/2026-08-27-steer-followup-image-delivery.zh.md": "sha256:38e45b0ef15f655b42c585727f59fd11ea6f1bb42f51543b3e2cfa04cff1b0de", + "bug-fix/2026-08-28-linear-stream-queue-drain.i18n.yaml": "sha256:9e1afc54af3142492a229821a35dbff6e5c13721c079e6d5ddd07375c9eb9c18", + "bug-fix/2026-08-28-linear-stream-queue-drain.md": "sha256:d1bb9620a796987e80f028b6833d7c1e537f1a4f93f261a27a4a338c19dc0641", + "bug-fix/2026-08-28-linear-stream-queue-drain.zh.md": "sha256:8c42b56759869c6e6d73c92962808608ac0f5a73cbeaf222ae899bbb6789298d", + "bug-fix/2026-08-28-read-image-extensionless-paths.i18n.yaml": "sha256:444421405f39e17064686efe66275bf3105ebf3ceda19ceea2f40c5fe049d2b6", + "bug-fix/2026-08-28-read-image-extensionless-paths.md": "sha256:db889ca9f6a90c95188131d82fd6a280e09183683b942a272debc467f264ef3a", + "bug-fix/2026-08-28-read-image-extensionless-paths.zh.md": "sha256:88d215dac5dc017339a71790fb832da37c24fae81cdea8508cb3ae59a66d4f77", + "bug-fix/2026-08-28-trigger-menu-stale-while-revalidate.i18n.yaml": "sha256:272ef47b778303cf556da4bc58fbfc4ece39660de73563ef9a1543948b680598", + "bug-fix/2026-08-28-trigger-menu-stale-while-revalidate.md": "sha256:f21bc1c8a6eac3d917a1cf748622090ed97993bd06669738a0a3acf024d01064", + "bug-fix/2026-08-28-trigger-menu-stale-while-revalidate.zh.md": "sha256:c5915178c672599f19b9e89567a29ac9ee9e7eec2b82fd946037ea992df55b37", + "bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.i18n.yaml": "sha256:5891245c5f93f4fac1bf352a27335ba9ef91bf3d530e9f166978959638773bf8", + "bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.md": "sha256:98b0f11aa71641eec4596169f70e9557755eef70430f39b9e6aa2ed8adad5828", + "bug-fix/2026-08-29-code-runtime-python-call-backlog-and-binding-metadata-snapshot.zh.md": "sha256:ab85357bf44a04d7c2f67845b5a1cd7c53cc431f4068a3238939ffad08470a3c", + "bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.i18n.yaml": "sha256:bd834d1952e009b88fc2b8bb6c44b8f83bf16e7d4966ade62dfd50e90df39fd1", + "bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.md": "sha256:0c6fbf707912f66bbfee80ab235bcfd26b4337b8bcbc6a06898587e114e65a18", + "bug-fix/2026-08-29-code-runtime-python-load-and-dispatch-hardening.zh.md": "sha256:938283229ae4eca3c86deed05f570f9521623513e6af5476b0e315abfbae102a", + "bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.i18n.yaml": "sha256:13b61776b25a9532296f2d7637e5446648c6c9e1fd471fdfa29a5b3b2db43b94", + "bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.md": "sha256:a19c66218381d3b3639d51d61c33bf1d92d3d52a04fd9929f20f7899f5cf3b0e", + "bug-fix/2026-08-29-code-runtime-python-reply-backlog-and-surrogate-count.zh.md": "sha256:0b2e6d9e107a21b21107faa1c112139a35a449718e680b1ae0129b19b5d6c93b", + "bug-fix/2026-08-29-drill-claim-precedes-the-drill-edit.i18n.yaml": "sha256:c496bec9d8fc2fa172d258c4eb786b1ef445cabd925c21207409d5e35525d2de", + "bug-fix/2026-08-29-drill-claim-precedes-the-drill-edit.md": "sha256:900796819da7e27a683cdfc5038fd4e74e228e4d0f42cf32a12170167e619fdb", + "bug-fix/2026-08-29-drill-claim-precedes-the-drill-edit.zh.md": "sha256:9c1fba0a84dab324495d62dd1dfbd928b2a608bcc644558923cee4404436754a", + "bug-fix/2026-08-29-windows-atomic-replace-retry.i18n.yaml": "sha256:0a0c0f6b9e679bfc35cfa87a0103c6115c89545bab52243d83aca6de4bdcf654", + "bug-fix/2026-08-29-windows-atomic-replace-retry.md": "sha256:7706103c846a6d349a3b22025afe68e68e34f74ad74ad806bf171135577cee55", + "bug-fix/2026-08-29-windows-atomic-replace-retry.zh.md": "sha256:f888c6a0a69483957372b0511ddd13c659400d8629a231a50bd8f5aa5f89b3e6", + "bug-fix/2026-09-01-host-goal-pause-aborts-turn.i18n.yaml": "sha256:670caaf2216ee3f7ba7b86b6e7e475a258f7cfff83b675fede8b12f6bb147c7c", + "bug-fix/2026-09-01-host-goal-pause-aborts-turn.md": "sha256:e4301ce3a7de253cf6088a035e34fb0bf5888a06552219e28afaa19a042673ef", + "bug-fix/2026-09-01-host-goal-pause-aborts-turn.zh.md": "sha256:ec922ecc0b99907fcedd1c092a74382f8f295fb7f39aefc2e1155b79b250b4ea", + "bug-fix/2026-09-03-fully-qualified-workspace-paths.i18n.yaml": "sha256:edd2935fb843bec2cd5cf4b5916a732da257a796f484afe5ee24478d93048af8", + "bug-fix/2026-09-03-fully-qualified-workspace-paths.md": "sha256:3545b29554509f4c8854a9557a34ede4320066ac075f5dcec20e4abdcb275c15", + "bug-fix/2026-09-03-fully-qualified-workspace-paths.zh.md": "sha256:0d6cc7d24ed732bc59af8175b28a10d6e9d14cb2b92359279bf89a9435c90236", + "bug-fix/2026-09-03-hidden-windows-subprocess-windows.i18n.yaml": "sha256:2e5bcbd321006c22d6dc8e5de237f35b86839b48762c4d68a45334badf167b2f", + "bug-fix/2026-09-03-hidden-windows-subprocess-windows.md": "sha256:2e26223d6b6cb7ffd098f4eb761bb44b669a1119b80d4ddff7d0ad03fb8ebff7", + "bug-fix/2026-09-03-hidden-windows-subprocess-windows.zh.md": "sha256:30b64a935e3adce7b9114c580c427d058876928a10e97deb3981c58d517c768c", "bug-fix/2026-09-03-session-search-result-reveal.i18n.yaml": "sha256:ad9dcedeb25ab3eddbc51660935abaf6e6e92eefb66fd14f8852ba5f30e725b5", "bug-fix/2026-09-03-session-search-result-reveal.md": "sha256:ce8983a9ffa3d1b59946aeecf0e10177c8316c3621d5d0718a03e8eedcd05fd9", "bug-fix/2026-09-03-session-search-result-reveal.zh.md": "sha256:cd3ca0290f259a252e0b19fd0f15ac62232847be6f186e16f72652044a034bbe", "feature/2026-06-14-acp-agent-client-protocol.i18n.yaml": "sha256:006795baa43ae962a8d125cc0f1e9f134bc2ee9fb758b6e7669e3fa0126e1918", "feature/2026-06-14-acp-agent-client-protocol.md": "sha256:6828c0af74bb3fb96206ca6b21c0e56a000b50e4744aad4bc2c05092f3a5a31b", "feature/2026-06-14-acp-agent-client-protocol.zh.md": "sha256:ba104e841a1fb84edbd3b6c8119d50445b7785255a7a8d13bb9ac8a2cb4d2e69", + "feature/2026-06-14-acp-multi-session.i18n.yaml": "sha256:f788bb94325480844bd47d90d393c594070e96d7aa018342ada1bc438b6c7cb0", + "feature/2026-06-14-acp-multi-session.md": "sha256:13fec933bac65ff296f8e72b3acfe5627c11fada42adc715f1fcfcb9266865f6", + "feature/2026-06-14-acp-multi-session.zh.md": "sha256:94b398fde7dbce9c37cffeab4529c3eb698d5a75c4152bd9b4f13d5d1aec998b", + "feature/2026-06-17-filesystem-tool-schemas.i18n.yaml": "sha256:f96db43f37c7ec2254b46eecfb4e3a36a4c6f257ad3b47f36fabf263d7902b30", + "feature/2026-06-17-filesystem-tool-schemas.md": "sha256:063068decd8610c0fe6fa0cc56d1bb31e0256e3a9ec08c7454f8d97eae279037", + "feature/2026-06-17-filesystem-tool-schemas.zh.md": "sha256:4542bd2a09d9c4fca9b592e41a9752298aa03f5724e23e91c9e9ecd76ff28544", "feature/2026-06-18-acp-terminal-and-tool-rendering.i18n.yaml": "sha256:79592f96bb25713d01865f37972a6919b2bfb3b66368df0f275bbd59d09ebcf6", "feature/2026-06-18-acp-terminal-and-tool-rendering.md": "sha256:946d0c580705ef2e7c7ac1897ada074e72f2ec4209c1e7531b6eccf116e9aecc", "feature/2026-06-18-acp-terminal-and-tool-rendering.zh.md": "sha256:fd815817925a038f79b52b6fab43abdb2d655db3ec07974ce1320ea3674f2afc", + "feature/2026-06-22-acp-subagent-backend.i18n.yaml": "sha256:cdcf46b80055bac08245d5b0ae52752339cb751eda65becbbceb17eb7d980d62", + "feature/2026-06-22-acp-subagent-backend.md": "sha256:abd48c09c7c909c8dd3f6861cdc076a56d6b19ad870fcaba5a27ed7db433cf5b", + "feature/2026-06-22-acp-subagent-backend.zh.md": "sha256:7e702480d60bb261d7e01e807de42a1f81a62c85f8aa59c87774471eb00530ec", + "feature/2026-06-24-workspace-context.i18n.yaml": "sha256:12f5f4296febd7ab4decc83215f75f8cfb17dffe4a3d68a6318cc05875b42358", + "feature/2026-06-24-workspace-context.md": "sha256:4321ae1f1eafa4d9c865dcecf4eabce431f5e114a808b1365108e6c68e9e094d", + "feature/2026-06-24-workspace-context.zh.md": "sha256:2c96fd3386cf09e7e18a78bf828e21b6a8647eb875214c30883394ba03bb10ee", "feature/2026-06-25-ask-user-question.i18n.yaml": "sha256:8ed9d420908e79650a427c82970407c0b8fd49e00e129d2bd0bf3ff3e0c63ed4", "feature/2026-06-25-ask-user-question.md": "sha256:d9ecff7baec5ca59c61822f7a41e719c17558044b8d23a30a8573e794ed828b7", "feature/2026-06-25-ask-user-question.zh.md": "sha256:bdeb4869f880d6083563b4e6aefaa601d2fd1de7d46f3a7fa6e0bed376bc34ee", + "feature/2026-06-29-todo-write-tool.i18n.yaml": "sha256:bad7407408235ac0ab28627b910d3fde159d380eb46fee8ed1dda965e2b79cef", + "feature/2026-06-29-todo-write-tool.md": "sha256:21f0b9febc07e70deadf52ea7abb63c2a61194eb7004d9fa433b02281487fde1", + "feature/2026-06-29-todo-write-tool.zh.md": "sha256:e6e38b7aad78dafcef90fd30526b0d29e4617d7fa1b44327e5adf82cc5969b38", + "feature/2026-06-30-hook-bridges.i18n.yaml": "sha256:ce79fb902403bd8790b524c046dd7460b7f52969c6b30f8067b5826b1e037790", + "feature/2026-06-30-hook-bridges.md": "sha256:753421efb1d91de7adc573fa9717ee9eac0c88c0702067a4149b753aa109e68e", + "feature/2026-06-30-hook-bridges.zh.md": "sha256:87c75e47ffa1d2c2b3cc6038fe718a952fcf3ebb485ca1ec637f3d6d8479cd3b", + "feature/2026-06-30-hook-protocol-lib.i18n.yaml": "sha256:3545b0e36ac0a8ccd02ff4b355747a7431530ae8c12d2efe1d516687dc4185b1", + "feature/2026-06-30-hook-protocol-lib.md": "sha256:76fd45e8eec8faab06afb5393dfbc54555942f32e4939546d40fbf23622acf1f", + "feature/2026-06-30-hook-protocol-lib.zh.md": "sha256:217ad562326adfb90129c2c87437bbd0aafada9c976d053bf142f616203f0d1f", + "feature/2026-06-30-session-store-fork-api.i18n.yaml": "sha256:874b1f53eff4003028210c3f598cfe77bee7fcd69b950b69aea3a4059fa0faef", + "feature/2026-06-30-session-store-fork-api.md": "sha256:38508b6689e3cd253e968c0257f60f12b62544498ecc863631488f4a957a3eec", + "feature/2026-06-30-session-store-fork-api.zh.md": "sha256:2cb9dfdcb304b5f73588fd74895c63a0a02c2c9ac23da967ebff608543222b57", "feature/2026-06-30-subagent-observe-enrich.i18n.yaml": "sha256:08c2478ba394429f46c1e87a9f055e88704a9000e5d250d5600c0c85124cb17f", "feature/2026-06-30-subagent-observe-enrich.md": "sha256:0630975c3e325975a932f58a65a178b79c624dc56ebd29e288e96f5a189cfbfa", "feature/2026-06-30-subagent-observe-enrich.zh.md": "sha256:b9fbb44a7d81f4063faf3baaf97c382a2f5106be533feb4de792ee57b766c1a4", + "feature/2026-07-05-skill-system.i18n.yaml": "sha256:ed37e752eeb327fc436f910f96f9ad0fd429e0c9271e2c9268ede1304f9ac2ea", + "feature/2026-07-05-skill-system.md": "sha256:abee9fe973b9603f0a60e7efc034ab90910e3807d87862f8e7023b76624e09b1", + "feature/2026-07-05-skill-system.zh.md": "sha256:92cc3776bb24b29cec24f80a40a5939ed407c9240b97c93bb1bcac445682c571", + "feature/2026-07-06-explicit-tool-order.i18n.yaml": "sha256:126fefb60b6439a7bf962d9b4b028c269663855e72e56a204ef811e4f7a5fbb1", + "feature/2026-07-06-explicit-tool-order.md": "sha256:3fda289680337fcd07067ff2461469dfb1649ac9610c4cd46f1fe0fc1795f9c2", + "feature/2026-07-06-explicit-tool-order.zh.md": "sha256:37a1e54e9bfb21cafa7f664d0769d0c72c435ab4dda522c0cbff9c22be21f15c", "feature/2026-07-07-plan-mode.i18n.yaml": "sha256:c59b6a6c218d741cdef8edf625f1d015e409a39411fa64e65200fdebb1c49394", "feature/2026-07-07-plan-mode.md": "sha256:7bf1bb8e826edf68f0ec919dfd4f66955b935b46b4400d7de85fac3e4663edbc", "feature/2026-07-07-plan-mode.zh.md": "sha256:5b08cbcd8023f26744e481386177dd0e82423e8b0032829d0dbc22a92cced0cd", "feature/2026-07-07-session-prefix.i18n.yaml": "sha256:943c50f778521f1800009cebed56d9ec192fda23b5ee9025a4f2b0e4dd8bd729", "feature/2026-07-07-session-prefix.md": "sha256:1cfd8e46467111b671b0bd9c2370ef07316ff9b2846fecc0cd29389686c6bbf8", "feature/2026-07-07-session-prefix.zh.md": "sha256:9a15bbed3a53db84ac12e3dfb93b00bf93dabe6b9e39bebfdfc04e00ba8ff135", + "feature/2026-07-08-background-subagent-tasks.i18n.yaml": "sha256:a7f70d1c3a7164488f920716a8a47dbd93be25504a5240a19c9e48df64e48444", + "feature/2026-07-08-background-subagent-tasks.md": "sha256:8e6620ee8f53999b8236042496b5f8bf424eccde8551c3cb1096eca7cef5929b", + "feature/2026-07-08-background-subagent-tasks.zh.md": "sha256:7eb45fcaf7c647fd1687ad2ea632301040250b32ffbc0a8aca3538c910272b76", "feature/2026-07-08-repeat-tool-guard.i18n.yaml": "sha256:e4382e8d25f23d728f1869c5195723698842dfe5422443a22f21fa8ae9b2c63c", "feature/2026-07-08-repeat-tool-guard.md": "sha256:95df2c423624c5c56e0b3bb76ced49e91878c7e5096cfef0faf4b20203d8a2aa", "feature/2026-07-08-repeat-tool-guard.zh.md": "sha256:cbe63d163aa19fc5a63233b05c8f6ed9a8a0ca215cf6f337a3c1e8e48af11b28", "feature/2026-07-09-bash-backed-grep-glob-discovery.i18n.yaml": "sha256:8eb6ec1312c55b93c2d51c6e54585d6f4d5bf6db444fb9c336681848676e3638", "feature/2026-07-09-bash-backed-grep-glob-discovery.md": "sha256:908521563012a17d312de664f380444aeafffd401d2200ec97e7bf004bac9ee7", "feature/2026-07-09-bash-backed-grep-glob-discovery.zh.md": "sha256:52eec49e454357a7e0c3f27c8aaa63840b5822b5d103f49ed48a5c4f25081b00", + "feature/2026-07-10-agent-session-identity-and-log-location.i18n.yaml": "sha256:feda972852a0f58975a963ddb3fd597dd956bb845f639e7780f81531f9fae8a3", + "feature/2026-07-10-agent-session-identity-and-log-location.md": "sha256:3c15686ab8041aaf4ba89ddfa0e44fa6311d66af478e9dd349a772c3716d8fd9", + "feature/2026-07-10-agent-session-identity-and-log-location.zh.md": "sha256:c4d001f71690fccb31d86d0b837ebe950cf1c2361af5a37c425fbd35af059f77", "feature/2026-07-10-session-query-service.i18n.yaml": "sha256:5c3f2ce6db1add66b9cdb82d3d115dde0f68762810bdbf7558070b9ff98c371e", "feature/2026-07-10-session-query-service.md": "sha256:2d7cdb2629856eb16679c576c3d54b9f0468456ddc5be1cbaa4008d4f353033d", "feature/2026-07-10-session-query-service.zh.md": "sha256:48d5a2d5f679bad90124c19a2b7a563f5d6551274c2bef9b3ce3eb9612ba0649", + "feature/2026-07-10-sqlite-session-query-provider.i18n.yaml": "sha256:2960811a515908772c14f138551f479212a3ab0c0b6c0e853c0a0d4d9c04c9f5", + "feature/2026-07-10-sqlite-session-query-provider.md": "sha256:f350a0d1dcf0f0ce9e0fec208d554100874ff5b93947ddf15fbd08ad7f3d0c3d", + "feature/2026-07-10-sqlite-session-query-provider.zh.md": "sha256:733e1c0d3a52edb64400c8b80cc00b1ea9a67c55910f77562a5cd601301019a0", + "feature/2026-07-13-session-query-tracing.i18n.yaml": "sha256:8dfcc41c31d13474e0f8e00bd2983354f860f2d8e8b3a255f5448bbac13ee368", + "feature/2026-07-13-session-query-tracing.md": "sha256:76af305255f569b86a4c4fc00cd6c8a058926d507a8f5a56ca60b8211ebbf853", + "feature/2026-07-13-session-query-tracing.zh.md": "sha256:3681be5241766179ca1a01754a0314c9f8481f6f91c60fc95eac9d3a18398c0b", "feature/2026-07-14-time-context-plugin.i18n.yaml": "sha256:670c093817c77e093562e02f43984d42ed44ebcced7c91d09366839e412d05e1", "feature/2026-07-14-time-context-plugin.md": "sha256:618b121da38a8b610bcadaecf121ca823b2c8c13598c012b350c214b82fd238f", "feature/2026-07-14-time-context-plugin.zh.md": "sha256:1e9eee8ba427a6f2ee08c79e2fcb33c0948e67a80758fdf9f8c9f7dff9aea361", + "feature/2026-07-16-durable-per-step-time-context.i18n.yaml": "sha256:7521670265eacbdb875dadd45ad806ce2ae9529634998ce902c275ab18142052", + "feature/2026-07-16-durable-per-step-time-context.md": "sha256:2fd420bec9a40f7e2e4c7399176a243d193ec5e8e25328da1204361eecb1d1ec", + "feature/2026-07-16-durable-per-step-time-context.zh.md": "sha256:2c383c738f42e786a3d97398dc44dad91596a317eb44078243f1e5ac372ad512", "feature/2026-07-17-dedicated-full-screen-tui-front-door.i18n.yaml": "sha256:c04ec462f846887f349ffeb48aef8febf50f06903e7177ffd7679a694f6c1a57", "feature/2026-07-17-dedicated-full-screen-tui-front-door.md": "sha256:feb70faaad016965e8cc1bd7339947e48937fb3e8ea1425dada581073396f50c", "feature/2026-07-17-dedicated-full-screen-tui-front-door.zh.md": "sha256:71e4a4abf01e5fc46f7da60e0a66bca659c1ee3c4ea2c4bc20587844f33920fe", + "feature/2026-07-19-fresh-agent-ralph-workflow-tool.i18n.yaml": "sha256:e69fd6ea76f935fb364f18b828f0684045be629a3b5fbe630369d5f93b85a567", + "feature/2026-07-19-fresh-agent-ralph-workflow-tool.md": "sha256:943eeee9d14dcd3087f747506be03e1035a2d87509990905429ab23e22e7851d", + "feature/2026-07-19-fresh-agent-ralph-workflow-tool.zh.md": "sha256:1ea4026e56c6e13109f47b570f9ce81c59f04bcbb38db5abd3b2d318bdc3977b", + "feature/2026-07-19-human-goal-command.i18n.yaml": "sha256:29ee3554aa2335a3d85ff4743a1b427ae192ab428070ad4378615ac85877baff", + "feature/2026-07-19-human-goal-command.md": "sha256:9cfe4bc4c3bd05e59dabb3344139e29237fe9ca9804b3cac776043bd0c2943eb", + "feature/2026-07-19-human-goal-command.zh.md": "sha256:b29b38fd6536dd1578ef441cf587d5467b9a03eaba335d9cbe17a5e32f6a24fd", + "feature/2026-07-19-same-session-goal-round-driver.i18n.yaml": "sha256:cb7e2c23199366aab1c2399abd050d94ae5eab5b0430d0e96d9de4c522331a49", + "feature/2026-07-19-same-session-goal-round-driver.md": "sha256:fce94c819f720a972564afe7a1dfef1905c5f088154e5e13bfe5507e613265cc", + "feature/2026-07-19-same-session-goal-round-driver.zh.md": "sha256:cc32045a7f60f1d0c56a6b5c61f7b57f5651dbb3394dfa9d810462740f748867", + "feature/2026-07-20-dsh-cli-personal-config.i18n.yaml": "sha256:25a3c88118af6d6b56d538399aa181e7764289216a66ea51a9f3733aefdcc4dd", + "feature/2026-07-20-dsh-cli-personal-config.md": "sha256:0d6348018e34649721519025af1386b30c07762b90dcac85e56a7c05b36a99d2", + "feature/2026-07-20-dsh-cli-personal-config.zh.md": "sha256:baacd4114849530d2225f031752c3910ebdb87f2cac9d5960552daec4d3b793f", "feature/2026-07-20-tui-startup-slogans.i18n.yaml": "sha256:265d1fd79dae6c785201c81ffe2de3baa9fe9e3b6c0f84aac79c90f4040ced15", "feature/2026-07-20-tui-startup-slogans.md": "sha256:aaaab4b419d35ce24317b7730f15af0029878bf3d17c6f184b05138c2cd44930", "feature/2026-07-20-tui-startup-slogans.zh.md": "sha256:01fba568cd92e9c54857f6dba1a3a5a6a4d0e906f36915d7e64682e67d456708", "feature/2026-07-20-windows-tui-support.i18n.yaml": "sha256:fa7253a8e20308b216c21d201720a4b7d6b74ccc9a650c0d30081c9e5b6bf04c", "feature/2026-07-20-windows-tui-support.md": "sha256:abf80ade38ec4d9e558c0fa9b0ecc8877acc18442f4ed945ebc2f4b153d85087", "feature/2026-07-20-windows-tui-support.zh.md": "sha256:6690a7693b8a4c8ce495c13ae84d9dc81f41c691d217db3152ea0d926dffa0f8", + "feature/2026-07-21-continuable-background-subagents.i18n.yaml": "sha256:2d8f79ae76898217e927e037f337f65b7e1d49c553c0c719a5710688fbe39ff9", + "feature/2026-07-21-continuable-background-subagents.md": "sha256:ef300b8a9705149aa0e16b6540c5878e505333c80fbebc18360288111b347227", + "feature/2026-07-21-continuable-background-subagents.zh.md": "sha256:6fcc5b89c624b860ebc12afc5c04efdf147a1e6aacf3bbc6f8d513c363f63bef", + "feature/2026-07-21-cross-session-references.i18n.yaml": "sha256:6b0ec2f2d61a6807a733e5a97512b6f36eb1067d500aa30c69c0a964e29039a2", + "feature/2026-07-21-cross-session-references.md": "sha256:798908eb038391d239cef5b4a8c549a4f6fe2f4e692443514f0f0b1ddd7c59de", + "feature/2026-07-21-cross-session-references.zh.md": "sha256:5847ad6d3d19a5f71154cb6d4086a36a72695ff6f2d97f73ccfb041a0dc9e3bf", "feature/2026-07-21-dsh-system-prompt-source-path.i18n.yaml": "sha256:22efaf3237425fecbac1b40a444454e0fc244a3c85c2f6a14535de22ea777719", "feature/2026-07-21-dsh-system-prompt-source-path.md": "sha256:5fa554932c62a8bbd5a619581710d7f8b6b65d79ec1e340129cda96d279c5ae3", "feature/2026-07-21-dsh-system-prompt-source-path.zh.md": "sha256:995cd593074881c72510a6af3ba80108bbf986d49508cce9f698c2fcb493fd23", + "feature/2026-07-21-instruction-load-all-dedup.i18n.yaml": "sha256:8355cb3e30dab043df91579c9f9300f684bcc70ea36b211b6879acc6d6faba41", + "feature/2026-07-21-instruction-load-all-dedup.md": "sha256:ccc4db9687273ed12a9bc6ae5a35abc05051ac33fc3ddbdbd2ec0fccddb35e19", + "feature/2026-07-21-instruction-load-all-dedup.zh.md": "sha256:b55d85db8e7409360e0751c643ca444a871d6142e804f9dd30d39d8218ef5578", + "feature/2026-07-21-local-instruction-overlay.i18n.yaml": "sha256:747924cd629b624c864cce511138c97e975bdda2b3e587cd0df87174aa260b02", + "feature/2026-07-21-local-instruction-overlay.md": "sha256:111f56c7762e9b8435c2c6092338cc4b295f128c3cea0e2cc6d1f323489be5c5", + "feature/2026-07-21-local-instruction-overlay.zh.md": "sha256:2234465431d9eebe2fa9420a1f1c67b12932431faefc94e19a9feb6ca9c11421", + "feature/2026-07-21-log-backed-session-titles.i18n.yaml": "sha256:fa15734cd1b4599d96c754c0cf26157fd879b54f80fa47a8f6f6b5ae4916330c", + "feature/2026-07-21-log-backed-session-titles.md": "sha256:306b941927fb25e98a7ef33234fde0620fb83fd2c6b171b1a257a33a34f4a131", + "feature/2026-07-21-log-backed-session-titles.zh.md": "sha256:4b7167e8d75113be0e9a0e4d71e6ff4591ce5a0549f1c38003b3f520b2a91c89", "feature/2026-07-21-tui-auto-pane-title.i18n.yaml": "sha256:0e9ad2adf0810811b2981435e761fd57b1e2cd89e5aa084522150c41e3cf3876", "feature/2026-07-21-tui-auto-pane-title.md": "sha256:0dd4572eacefc5fba508df8d1ff3f28b55e10b4b178e1f9773db3434a337c527", "feature/2026-07-21-tui-auto-pane-title.zh.md": "sha256:3ac195bf3fc63d40c2d36e6a38d6a41c73d8b21daa5e668412fd28b8a2630aa1", @@ -229,6 +889,15 @@ "feature/2026-07-22-docked-web-goal-bar.i18n.yaml": "sha256:4fae22f5b921ae37feda632addace14bab8d1578c861228dd1df89a7b579f057", "feature/2026-07-22-docked-web-goal-bar.md": "sha256:94a4b00afc231eddd0fdcf6a494157d12a12b3ae40e8d732c3c05c6811b1c1f8", "feature/2026-07-22-docked-web-goal-bar.zh.md": "sha256:90dfa4f855a810bce6d57157049eacd6b0d9aa45e99fc296d9024adae4ebac7a", + "feature/2026-07-22-durable-subagent-catalog-and-list-agents.i18n.yaml": "sha256:dcc5403127e7b79d904e21cda6a218843ffc86d0098a1e2edf7925f63658323d", + "feature/2026-07-22-durable-subagent-catalog-and-list-agents.md": "sha256:2b006e7946aabc1887d0b4104b2fb471f7e0eda67003acd36c0469fe48c2f751", + "feature/2026-07-22-durable-subagent-catalog-and-list-agents.zh.md": "sha256:88ece4d9975f950c023915bf2ab2cce2d1db5b88b230dfd12d30b7fc219e1075", + "feature/2026-07-22-web-bind-address.i18n.yaml": "sha256:0d0dd89c08276dcc098e228fe95d660881bea88d43b57526c45e76d850f7e827", + "feature/2026-07-22-web-bind-address.md": "sha256:2bcbcf3b048c20f0d0c4c27a0aa2df30ea810690e1f6ad07db2a872d286d7877", + "feature/2026-07-22-web-bind-address.zh.md": "sha256:edabacef9543f1f024f75992417f19ad5509059d3da8e8f87c4460b65aac1d96", + "feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.i18n.yaml": "sha256:d046fe7d735bf6bfc0e6cb8eaf8961db5b7368e2d21519c1257c648eb9060a5e", + "feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.md": "sha256:88f400ae4eeaee44aea8ac45bf574f8346ea473fffe86885fdcce4ca4166c010", + "feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.zh.md": "sha256:32f7e6302b19ae25a2d04cc9c02eebf95ae4592ecc9321a7168a6a8a627d7be2", "feature/2026-07-23-trajectory-step-cell.i18n.yaml": "sha256:fe2e935a0affdef877902a40d9861ef5f55b30f40650469f6a52a4d45a92793f", "feature/2026-07-23-trajectory-step-cell.md": "sha256:185e3b87174cb6d2f2d2271fd2a74b1517d03e8570be602570d027bf6002d106", "feature/2026-07-23-trajectory-step-cell.zh.md": "sha256:51f46be43d2f5c4f78a05ed9aeec92d1f33ac988f45cf24d35528e9c43828ef3", @@ -238,42 +907,129 @@ "feature/2026-07-23-tui-status-prompt-tools.i18n.yaml": "sha256:e8072d6661c91b43d13ef88b69fc49b9a312a7b5cb0b6f0171c0fdafc36b0435", "feature/2026-07-23-tui-status-prompt-tools.md": "sha256:0dd669c70ac34024b389d76c81dcf4f1d5b747f56b7d6d82587c8c15a421c0a2", "feature/2026-07-23-tui-status-prompt-tools.zh.md": "sha256:6a488b18e1516887d6073375651fba59c3a266b888f9ca2d4804f6681838059b", + "feature/2026-07-23-web-assistant-markdown.i18n.yaml": "sha256:02acfd00cfa3a1c45b5573b1da0bd1e78d6592ddd83ee60dc1b957830b4e2d69", + "feature/2026-07-23-web-assistant-markdown.md": "sha256:a83354cda2ef869bea65fea12e350ad0ee623476373b4d88bdb904778a38c9b1", + "feature/2026-07-23-web-assistant-markdown.zh.md": "sha256:d1c1792747a7cfd18949eeb5e1d325e574f83cfb6359cb106a6cea2bc382751c", + "feature/2026-07-23-web-permission-and-approval.i18n.yaml": "sha256:feddb8c4604125e1f5cb038e8faebb14bdd550b33e9c17c0ff76d4c61afa58f3", + "feature/2026-07-23-web-permission-and-approval.md": "sha256:7be3b5a0f30160c37b177721c0c0b6bb6f3d44e9e5255e676d12ffba9de1f848", + "feature/2026-07-23-web-permission-and-approval.zh.md": "sha256:a8a0a07f3bdc7aaeb6df689430c948ca26529e2424ef5839ccc4cee86d8b819a", + "feature/2026-07-23-web-todo-display.i18n.yaml": "sha256:a92a7f3d27d8b27cddf598f5c24292db1ae015e5a4ba05349ac02225d5f8cc91", + "feature/2026-07-23-web-todo-display.md": "sha256:30e1c989eec6d52232c75a52c4ea38cf8515e685168bc5bf74f0d317f33baa36", + "feature/2026-07-23-web-todo-display.zh.md": "sha256:a190fcd3aabb419fb7f06674c848bbbb07c10a70585e626bcb1a5e4a67c4527d", "feature/2026-07-24-configurable-tui-prompt-theme.i18n.yaml": "sha256:694de3851ca1e3de76c4f4fb7f3581ad0df568a99046c905f56d24a54407a5ba", "feature/2026-07-24-configurable-tui-prompt-theme.md": "sha256:694136b6d9bf7de25c240c373cb268cf798f8617c206d53c1d0ef7443e75adeb", "feature/2026-07-24-configurable-tui-prompt-theme.zh.md": "sha256:ee083f864bf6915a887b7883d14a6662ff6ecb4e702f4ac0f583d0c8f823bf50", + "feature/2026-07-24-model-facing-session-query-tools.i18n.yaml": "sha256:798bc2159abd5bd6fa3d7eb37a0b0999b839f9e87ced4804d8cc5a1454419187", + "feature/2026-07-24-model-facing-session-query-tools.md": "sha256:94a5dda88c2de1fc9f101a85d43e1479ea2fb5a55232f223f0058134574d4141", + "feature/2026-07-24-model-facing-session-query-tools.zh.md": "sha256:4aca426c68f85b4014a5ff697f41fbffaf53c2289c0fea38cfeac8ae29eab69b", "feature/2026-07-24-new-session-clears-to-empty-state.i18n.yaml": "sha256:978638cbf18bc6dce9fea0817654f41cc307f99004a637b85a63ae2208fe9095", "feature/2026-07-24-new-session-clears-to-empty-state.md": "sha256:b6b71d3883a167056070713e3dffb5046de953bdd218074d17c88e7690e03d83", "feature/2026-07-24-new-session-clears-to-empty-state.zh.md": "sha256:82a80b48337487029acd05a0137d268f0850f46801fa44a0e62733cacd00d5e9", + "feature/2026-07-24-provider-retry-policies.i18n.yaml": "sha256:c7663ffb5b1af8c14f63ae3bb6c3afd9602479923cac2ac9ab321d274bb2ad99", + "feature/2026-07-24-provider-retry-policies.md": "sha256:c1bc71e72a34323188e1f1b75878af806aee58376281117de7fb170575915898", + "feature/2026-07-24-provider-retry-policies.zh.md": "sha256:0bd7e5f44076340344f2d95f399859acf8cd5d6e06ac9ab5633617e35a09fe60", "feature/2026-07-24-tui-question-dialog-multiline.i18n.yaml": "sha256:b8a90f13f579c17476e94740079ac2e058f2a97ec4d723fe2841398426129858", "feature/2026-07-24-tui-question-dialog-multiline.md": "sha256:0bf07eb8731cf6928db275f160ba36b07ce93d53873eec2fb6dcaabaa0c57f76", "feature/2026-07-24-tui-question-dialog-multiline.zh.md": "sha256:85f5dedc794014152792557158b826650b147fe6d439e71ea23c115d2c2c84de", "feature/2026-07-24-tui-shell-prompt-editor.i18n.yaml": "sha256:f40b5ba2d22e3a52fea2d3d0f3f481ef710764c3ec4379e7c859f52c61434b1b", "feature/2026-07-24-tui-shell-prompt-editor.md": "sha256:7bbb99108a7dfe219c031f77cafa5bbcfacd1dd05080822fe11e0ca58da4b3f5", "feature/2026-07-24-tui-shell-prompt-editor.zh.md": "sha256:6e20225724941290bbdc9af86d4f91e1beb93bde5c2d67144f0a32c4abb30e7b", + "feature/2026-07-24-web-session-model-selector.i18n.yaml": "sha256:424caa09b584930f5b715d070817f60112540f00c779e25fdbaa8accb8c6c8bd", + "feature/2026-07-24-web-session-model-selector.md": "sha256:b3257e96205990cb78ef7ebfe64e0e98bac571869b1c257cb161894f745ca7d5", + "feature/2026-07-24-web-session-model-selector.zh.md": "sha256:21b2494e2609df254f3a99451421a4350764918b3a27effa1dff000c5cbe933a", + "feature/2026-07-25-session-list-browsing-and-manual-order.i18n.yaml": "sha256:3430aba7bc6d8cebe158ecf292ffb6384b9d8c66553f41843e91da199030fbaf", + "feature/2026-07-25-session-list-browsing-and-manual-order.md": "sha256:1f2e78f24617844ef5b8f2906c4d6f14ef9b2d5a52223baec3493888676e9f0a", + "feature/2026-07-25-session-list-browsing-and-manual-order.zh.md": "sha256:04052b9ac92da61a941959f148af5ba91ee7b15fa5205ff4103f25f8bd431e48", + "feature/2026-07-25-workspace-ui-product-flow.i18n.yaml": "sha256:8a51ba028c2568471ded13a7eba9e1d41393e0f4194b754b84e398d92bc76edf", + "feature/2026-07-25-workspace-ui-product-flow.md": "sha256:3799f3ecbba9cdc44a2df420c41f291ad1220f1cddc84ab27bde518823c74095", + "feature/2026-07-25-workspace-ui-product-flow.zh.md": "sha256:0f2db4d277cc0eb000d190d3dc35ac99b946a6eed602b7a081b85714ae5a8318", "feature/2026-07-26-code-mode-trajectory-waterfall-spans.i18n.yaml": "sha256:916525fdc3a12061928380fd8f7b81cd9763a7873663aad564843fccab0ccedc", "feature/2026-07-26-code-mode-trajectory-waterfall-spans.md": "sha256:a822963e4c34c9737681d6d70d8167731d4350e66ef7f356684ad096c04fa7ab", "feature/2026-07-26-code-mode-trajectory-waterfall-spans.zh.md": "sha256:ef01163adf1245f75cc8291db70d389314dee43b6bff958a9da49b097531218d", + "feature/2026-07-26-ptc-chat-subcall-rows.i18n.yaml": "sha256:2a4145bcc3cdefce3c592d08c63a9377a12d2c53be67e77b554c0e73472e6a5d", + "feature/2026-07-26-ptc-chat-subcall-rows.md": "sha256:f61a20aecfc5532f8333749e72fc0ac5694fced5b557142490dced2a71282447", + "feature/2026-07-26-ptc-chat-subcall-rows.zh.md": "sha256:76d01a0153c6b414d6e8fb498d18459bc9394e29ad790ec3d63327a3a896e77a", + "feature/2026-07-26-ptc-dispatch-log-spill.i18n.yaml": "sha256:535ce5ddd3344b1f7c90f2af018ca3531e173ffa99da1f42b672892586b5eb3d", + "feature/2026-07-26-ptc-dispatch-log-spill.md": "sha256:d467bc74726e0ee1d48433f08bce67710712caca1928f09720bd7c3229a902c1", + "feature/2026-07-26-ptc-dispatch-log-spill.zh.md": "sha256:ce3208e9380d2aa58433509eb09de3d5c644af20b293b5c62722999ff81e1097", + "feature/2026-07-26-ptc-dispatch-ui-foundation.i18n.yaml": "sha256:06ff1aa77e9ac138f343341fb5e5defa87dbec037be06680bfe7ad70c6ddebe9", + "feature/2026-07-26-ptc-dispatch-ui-foundation.md": "sha256:d06ab3a41c4ac57bb651f709fee6abf1e443dfe88c1ad1c09ccb8fa73a217014", + "feature/2026-07-26-ptc-dispatch-ui-foundation.zh.md": "sha256:ef1b781407e6e0bf4a3e0eefe00ce8fd9bd93ed9cafbb886401d5c99d7e23980", + "feature/2026-07-26-todo-parallel-in-progress.i18n.yaml": "sha256:2a6b9075e538fa158189ec725e75cf1e39fbf4e800f04a6dc95612a40d1e7582", + "feature/2026-07-26-todo-parallel-in-progress.md": "sha256:73e630a7a3d689bc01c2f77d74ed6929e6b50d20780931a90452cd0dd9b5c11c", + "feature/2026-07-26-todo-parallel-in-progress.zh.md": "sha256:3f95dd6d3b3fb7c934a9be48336df829871a818374e7c63329e934c91836547c", "feature/2026-07-27-assistant-timing-header-trailing.i18n.yaml": "sha256:e5a8aa9e5194dae6f4369299a64acae2c751d7f85e457e8dec1c14e1dbcee3e9", "feature/2026-07-27-assistant-timing-header-trailing.md": "sha256:85fac4a712ac5b4d61c224eddede08edb27db2e3718321c094a55034c75ce984", "feature/2026-07-27-assistant-timing-header-trailing.zh.md": "sha256:260d115d2da429eeac73b7256944e60cb03a93714f5d13b5e219dff316f5a958", + "feature/2026-07-27-native-workspace-directory-picker.i18n.yaml": "sha256:e904d389b50fc017db73a138d903ace0ac8be12d68fffd563069927317f9042c", + "feature/2026-07-27-native-workspace-directory-picker.md": "sha256:b0b0d93de182c840e8d0d857d44f69008f713c31034b061cae8b8dc3edf82527", + "feature/2026-07-27-native-workspace-directory-picker.zh.md": "sha256:e4b6e4e283547aadf8a0dab916e4dcf96a5d2ee2ebbfcb83631641fd96e181a7", + "feature/2026-07-27-skill-catalog-hot-refresh.i18n.yaml": "sha256:35ee67294eb9ea9534affcb8be2dc540335c53facb8235f90e324886a145b69c", + "feature/2026-07-27-skill-catalog-hot-refresh.md": "sha256:861e13cf9ec8f5343b897260d169e18d8c3e2f703d58f77eb2ccefdf31f0703e", + "feature/2026-07-27-skill-catalog-hot-refresh.zh.md": "sha256:0f0d8b9805439131df518b1080dfb5474bb76a20a258dadf5d39d9ad2b9f9a99", + "feature/2026-07-27-tmux-location-context.i18n.yaml": "sha256:2e64f7738ee2cbdfbb3fe781eac6ee37b1f7bf5c302bad17919cb15d7b485cba", + "feature/2026-07-27-tmux-location-context.md": "sha256:31125901cedde6edbebe0672968ebe10c1cc993cf1130108f9e39bce89d74c14", + "feature/2026-07-27-tmux-location-context.zh.md": "sha256:7de02a2f5cda654da5cfe4144afb15dfe423369bf679a2e892fd7937b858c465", + "feature/2026-07-27-trajectory-inspection-ledger.i18n.yaml": "sha256:0c2a3250933b3c30f46f40217baf044ae18b38555e55eec1851c9f6da46150e8", + "feature/2026-07-27-trajectory-inspection-ledger.md": "sha256:318ea1f551bae886f8d01992be4168259963464731e045c00b2fa6fef0926cc1", + "feature/2026-07-27-trajectory-inspection-ledger.zh.md": "sha256:7c974db5426f3683a4e89620558d5f78cad21edf2f6e1cf21d43d837dcdf11b2", "feature/2026-07-27-tui-running-glyph-smooth-fade.i18n.yaml": "sha256:e440b7f4800f722f1a0f9d089081ac19a7fbf809cb75136566ae363b4aa0aab9", "feature/2026-07-27-tui-running-glyph-smooth-fade.md": "sha256:cc58dce4788c8478c97ce589e4519cfb1b6a6cc3ec46d263f3038823231e5ae5", "feature/2026-07-27-tui-running-glyph-smooth-fade.zh.md": "sha256:c1735d5bd4b5e75989a9aead8af29136e7fadc01e79fb8c8cc68601a31fbf94a", "feature/2026-07-27-tui-tool-card-header.i18n.yaml": "sha256:1ed2c377f6d2c589195a00e84f92e6511b9a0793a2684a75ec3a0ca1f2b98670", "feature/2026-07-27-tui-tool-card-header.md": "sha256:ebb3d913960cdb0949a753c5811bd7d68a96f64f3b0549cd2ab7e4997b6b2d28", "feature/2026-07-27-tui-tool-card-header.zh.md": "sha256:402a619dce15534fbf88a59361b693eeb2121584fbb2e7af4e93eeaccaf2d0ea", + "feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.i18n.yaml": "sha256:2f2c8d55bc06c6a92e3cafdbd40505d91ca672d27a47eb09cf664a840c0fe45b", + "feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.md": "sha256:9cb8f0620567373370c6636b993ba41c1e4ce42dfc5b4d2ba98a2bf318deb1a8", + "feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.zh.md": "sha256:d5bd58c9c2a8738961a0863e5d972e732b678e8ac5fc4624cf89d3ce470299f0", "feature/2026-07-27-user-message-icon-actions.i18n.yaml": "sha256:b33e480f19ec58c8c60417a6c03999953d463ca54606a5ac80ec528edf57c49b", "feature/2026-07-27-user-message-icon-actions.md": "sha256:b6332e67c6dad0a3fcdb597cec9e4dc32b44ad33665f39c1a50501cf38d3f5ad", "feature/2026-07-27-user-message-icon-actions.zh.md": "sha256:0fc824eac66a18063f7098e1c395c09b580d5a30b96f2b856608c084212c2ac2", + "feature/2026-07-27-web-file-and-session-references.i18n.yaml": "sha256:6ff2e37a3a0680839a41143191043dfd3710cc8dab2fb9cafbce7910cdc00728", + "feature/2026-07-27-web-file-and-session-references.md": "sha256:7b2936c3535ca5e4df6efd4d828b11241d8ba0e816615cdc6321de0ab25ca51e", + "feature/2026-07-27-web-file-and-session-references.zh.md": "sha256:a22d4a1f3104c2ca277a2de3ede1ab66f128a82f8796a2763bc75d9a236f758e", + "feature/2026-07-27-web-session-fork-actions.i18n.yaml": "sha256:10a6e38209755c3a2e93dc28ff5ca20076919dfba49c5dd651804d0c63c60b55", + "feature/2026-07-27-web-session-fork-actions.md": "sha256:581e48e34007dabbb1d08092fdeb3133c863ee158c62ec8eeb85142f450163b7", + "feature/2026-07-27-web-session-fork-actions.zh.md": "sha256:79dfb6407d068b6dfed488d0f0f550217fa4ef19afec3568b1aba2f1076a09d3", + "feature/2026-07-27-web-session-search.i18n.yaml": "sha256:511e0ca45eda11423ec8407438d0cd2cb144ff23fdafbaac0c90f8a7160f35e1", + "feature/2026-07-27-web-session-search.md": "sha256:8c5310b450fe722ceb1a90da3352514a2822ab7a58d4414a787c1ec8bc475ad0", + "feature/2026-07-27-web-session-search.zh.md": "sha256:48352ac09ac255e3761526ea688df799475a5609ff88ebeadd106aeeaad10bc4", + "feature/2026-07-28-cross-workspace-resume.i18n.yaml": "sha256:b8a356e297d187a382aa3575a9093ac256f9027ac7813e8bcfba3c03284dcff2", + "feature/2026-07-28-cross-workspace-resume.md": "sha256:50a663e01be46d2f5d205743a844e2e4610c46d80626d2dc76a42e8a50300ff2", + "feature/2026-07-28-cross-workspace-resume.zh.md": "sha256:2679654a6ef71200b919175d3c3c69d5c105401f83c60bc000b2e321a56e1e43", "feature/2026-07-28-dsh-guided-skill-session-commands.i18n.yaml": "sha256:cf56e0ff7f2af7a5b50b27818fddb66a0c5300de98fc5733673ce094cd14bb22", "feature/2026-07-28-dsh-guided-skill-session-commands.md": "sha256:9234465259f89fbedd5dfc07f26acbc9e48e16ce829cc6ada672c4d597b0b255", "feature/2026-07-28-dsh-guided-skill-session-commands.zh.md": "sha256:57ee966476f755c1a6832d35d5f045f9d9e63a97a824e8a3723ba914502ade7f", "feature/2026-07-28-dsh-meta-source-workspace.i18n.yaml": "sha256:f7c6b5db53c32c7475f4f6bb3ae189ed8d67f2163196ab315d6f81fde3aa37d9", "feature/2026-07-28-dsh-meta-source-workspace.md": "sha256:ee8b2f6055b27957fa27258f26a07183b7102933af68c64d0df418e32d3d8754", "feature/2026-07-28-dsh-meta-source-workspace.zh.md": "sha256:0b10db368e04c24be03569a56ec4b69fed66b70c39a3c4f168b5f1c912efcd96", + "feature/2026-07-28-feedback-command.i18n.yaml": "sha256:0ce01bfce8df2088bc81e97dfd8ca7ac3b60d12cfb9c5b260e71b9bdb3a68854", + "feature/2026-07-28-feedback-command.md": "sha256:57243fa5c5131354c9e6ae7f817cbe350f88a796fb25b5730e7f657ba9130c5f", + "feature/2026-07-28-feedback-command.zh.md": "sha256:cad25331c5348fd2797b7ddac583a2c789733d94971dab389355420fbf542e15", + "feature/2026-07-28-sdk-max-output-tokens.i18n.yaml": "sha256:7e6e899a848e8feabb1a2a9cdc7adca8d79c5dcbad70ce9b6993dee27fd0675c", + "feature/2026-07-28-sdk-max-output-tokens.md": "sha256:8c354d085c164e2e14209d7bf192adbd4dee9953c9813c0c28c9f6f732c803f2", + "feature/2026-07-28-sdk-max-output-tokens.zh.md": "sha256:24323876389ddfe677dc8667df64a82e97ed599d7dc4fd140929ee91d65e28e7", + "feature/2026-07-28-todo-plan-clears-on-next-turn.i18n.yaml": "sha256:d9ca84732d19f8d84fe7003d09cf437b572406490f52a23ecd2841239bd1eda6", + "feature/2026-07-28-todo-plan-clears-on-next-turn.md": "sha256:af16dd33b87cf31d097e8e1292c590461a6e4428f80b21580c724c61ae602b51", + "feature/2026-07-28-todo-plan-clears-on-next-turn.zh.md": "sha256:ece7eb492ef653ebb693903d7ff6609201f02fbe4a2ddec47a26da6e75cb7f4e", + "feature/2026-07-28-tool-call-file-open-in-os.i18n.yaml": "sha256:7b626d894329c55eadc59e8d23b57b08bff84e70a5dc41e1a497f59d7d9a3cc4", + "feature/2026-07-28-tool-call-file-open-in-os.md": "sha256:b24a5f8e739dee2bf8b7eec12d3c7b7a755023e29a83f16f79f56a77ce40558d", + "feature/2026-07-28-tool-call-file-open-in-os.zh.md": "sha256:8a0813486191360632a703625affd89383e194046906ae44c16f54e0a054939a", + "feature/2026-07-28-web-terminal-card.i18n.yaml": "sha256:a4625d1a330fb4342ca4cfcc049cd764d1e2a0d557bfbe57968146a8a797ad54", + "feature/2026-07-28-web-terminal-card.md": "sha256:5093d93e918e1bc05d8fe26d27f1d48b1bb7d23b6a6fc8342c8edb5738ef3236", + "feature/2026-07-28-web-terminal-card.zh.md": "sha256:8cd9ed9be379d943952367a1a320ecf10312ccf0a8bf2064b8fe3543441148e7", "feature/2026-07-29-addressable-queue-operations.i18n.yaml": "sha256:0a067b38dd3c02ac41148ed03a7a6fa4c3dee88d5a4b9bad325ff76ebc03c443", "feature/2026-07-29-addressable-queue-operations.md": "sha256:f4d38d6cc49ad23cda2a287ba7ea5ce0e5fdb0edd41f33e68633f439654ca9fa", "feature/2026-07-29-addressable-queue-operations.zh.md": "sha256:9aedd7e241cf46ec7a78ae999a7fb105d73da4baf57c9ecf7ae745ee9b98182b", + "feature/2026-07-29-ask-question-web-presentation.i18n.yaml": "sha256:58523e4e739d69d1a1bace5dda93e24e3a95cfc93e32d104bf7eba7eb6c03921", + "feature/2026-07-29-ask-question-web-presentation.md": "sha256:5d08ff7cf38db6a2474da34ff4d6b626c640aa771ff0c66be26be69bbce2d681", + "feature/2026-07-29-ask-question-web-presentation.zh.md": "sha256:3cabf935fac12365e39cb49f3f1e4aa13fbbb777e152184101b92fdc102f92ed", + "feature/2026-07-29-directory-picker-adaptive-default.i18n.yaml": "sha256:542aef8d1a1aa1e9476afda820b125e01f15f8b042184caf25ee2dbb8f8d2270", + "feature/2026-07-29-directory-picker-adaptive-default.md": "sha256:fbe11a14d2674e02625e779b2eb966c65cf1a01a849baf02b3b3aae41766b4c6", + "feature/2026-07-29-directory-picker-adaptive-default.zh.md": "sha256:6534216c481d7e7d29d7e11a66070cd4077f84dbe034b3ff740baee52d63ac60", + "feature/2026-07-29-persistent-bash-str-replace-editor.i18n.yaml": "sha256:0f8fe9c005214ef504d4b4376f90910512712167f789e967498324eceb088d81", + "feature/2026-07-29-persistent-bash-str-replace-editor.md": "sha256:2088f4bd1bc46677db502ec9e44e3bb946557f2dbf13184b57907a783b0330b8", + "feature/2026-07-29-persistent-bash-str-replace-editor.zh.md": "sha256:e0d428704c57adcf5f19a72db2853274a41d5d62e0150fb4a997db1fcf39a106", "feature/2026-07-29-tui-hidden-mode-assistant-fold.i18n.yaml": "sha256:0865835802348b730542adbe6b7db613750f3786993c6a14dbb2f47686c13c70", "feature/2026-07-29-tui-hidden-mode-assistant-fold.md": "sha256:a5fefebd802e2d9c3c79c7852c1c34c7bbef3f2ac2150d224608b9ec44e966ad", "feature/2026-07-29-tui-hidden-mode-assistant-fold.zh.md": "sha256:21bccd1e07ec8dc73b618f428461848bb90b6235afe0b842afb0afab2d5cc575", @@ -283,9 +1039,21 @@ "feature/2026-07-30-compaction-progress-visibility.i18n.yaml": "sha256:4c2267054ad5d73aecc8d39d138a0cb532981b33175252e67252d07c3314b0f5", "feature/2026-07-30-compaction-progress-visibility.md": "sha256:2dfe07244cd784f27a9e5850801d40e96eae21a20ba10aaf56f9a793cdf5b505", "feature/2026-07-30-compaction-progress-visibility.zh.md": "sha256:6180b8aff0536147ab6ed6a78ecdbe1448fd12d89407746ecb1c7c05c73d4d60", + "feature/2026-07-30-current-sandbox-policy-context.i18n.yaml": "sha256:6dac0643251334898a9333c2bc874af3561022d6283865f3f416209de903a858", + "feature/2026-07-30-current-sandbox-policy-context.md": "sha256:8d60c42688d75b2ff5aab71f46fd6e7ccd6ae80006011c174c9e9007d81c694b", + "feature/2026-07-30-current-sandbox-policy-context.zh.md": "sha256:1eb8b799eaffb12d3caac0b33e115491aaf4f79376483c19d00e033578333087", + "feature/2026-07-30-deepseek-onboarding-credential-setup.i18n.yaml": "sha256:243f2b82a3eb6b4063671be1915f98717dccd80e53526d097030e1e6cce850fc", + "feature/2026-07-30-deepseek-onboarding-credential-setup.md": "sha256:56156f86d4bd6e04f97c279b561f5fa770807f9ddcb03e8fb260a1602edd379e", + "feature/2026-07-30-deepseek-onboarding-credential-setup.zh.md": "sha256:1b70fe333e49bede2cddc2861b2625544ed6ba1c1dcbafb21fef99ab58f09c16", "feature/2026-07-30-dsh-dump-config.i18n.yaml": "sha256:b400c8cce902328989e5493301f66451de7a36e966d69c43b20935fc635aca0f", "feature/2026-07-30-dsh-dump-config.md": "sha256:85b81dd517aaa6bb7510780acd961739c6da223bf2ddf6747d62f7a74e652d1f", "feature/2026-07-30-dsh-dump-config.zh.md": "sha256:d0d55947bcb0ef53d534844c15928ae26eebe3fb6d43f98ab176ec36a8eac640", + "feature/2026-07-30-plan-review-presentation-intent.i18n.yaml": "sha256:5a68291220b29a4e1588ddbc205d0f72f142cfd166389465390ac402aa0a9a2d", + "feature/2026-07-30-plan-review-presentation-intent.md": "sha256:2ad115ac571ddc44e620d0a452a634027d0cf5efe7b42e121d080ebd8517e2fb", + "feature/2026-07-30-plan-review-presentation-intent.zh.md": "sha256:348ed63e665296a69b93fa6d6eb39abc9b2b31f0f87b28b83925e9ee6898e167", + "feature/2026-07-30-search-render-card.i18n.yaml": "sha256:f6cd5cb7ef8bb0e649f7f130eef60dbd05f484a77742f57b3dc70116549af062", + "feature/2026-07-30-search-render-card.md": "sha256:3d4efce36de933ccae1a34ec49ff6d8d086e644946cf07587ac16d793f326593", + "feature/2026-07-30-search-render-card.zh.md": "sha256:2dceb2079912016ee2be018b3ee073126952289fde2b40a11565cbcb074be05c", "feature/2026-07-30-tui-details-command.i18n.yaml": "sha256:033cea6df0a16fc68cbdb435babdc6e75c1199a8e70e1a71d87c800c40f5a044", "feature/2026-07-30-tui-details-command.md": "sha256:a13478d4e55ec6d358209b51b541413ec75d0e20dfc22196ace28020f03f0c2d", "feature/2026-07-30-tui-details-command.zh.md": "sha256:de9c449b98468cef34ce4f9a9d2a854a5d8905eecd61f80e27a9a0e4495e9901", @@ -301,51 +1069,342 @@ "feature/2026-07-30-web-context-injection-disclosure.i18n.yaml": "sha256:83a8b78b0140afc8f18034674b594b998099c162ed9b9d939cb99e49cea2272b", "feature/2026-07-30-web-context-injection-disclosure.md": "sha256:00f869b29861ff8f30e64ea3ca65aa9f8a06b33be205453ea3b679e5dfe05c4d", "feature/2026-07-30-web-context-injection-disclosure.zh.md": "sha256:9bca10469e4d77b20c3785ce7ab6cbc628a03b8919de8a47c14466c1dbc94d36", + "feature/2026-07-30-web-diff-card.i18n.yaml": "sha256:a7061fc557ad29826b86301c44580527af2101b811734e07cb899612ed86a299", + "feature/2026-07-30-web-diff-card.md": "sha256:54d5b9f755be91810b4ed079bfcc9b7bf7b626280c6ad313e1f050d9ffc214a8", + "feature/2026-07-30-web-diff-card.zh.md": "sha256:9a4b4070b5e33f45b1119d62a4983e64d3d78d70dcec2810509380e319db9c38", + "feature/2026-07-30-web-queue-steer-action.i18n.yaml": "sha256:bf9d5019d796158d9c6092bca400719c5d812ffdb3ff5eef5fbf42a51700e23b", + "feature/2026-07-30-web-queue-steer-action.md": "sha256:bc1d03f44af9db7e286c76fb1795de223a5a9a91a3960fb0709d24a34ad31b0d", + "feature/2026-07-30-web-queue-steer-action.zh.md": "sha256:dc2decb923ea22c6df19aa11f3508fd458d5d034dbb3643793d754c71e65177d", + "feature/2026-07-30-web-read-card-frontend.i18n.yaml": "sha256:0cb6a29302fe315837ce381a3100385969ac7435c845f066d259696c780bf4c0", + "feature/2026-07-30-web-read-card-frontend.md": "sha256:682b005075d9ae1fe658df91d7cfda5141d068a7ba61cfa28816e925782404bb", + "feature/2026-07-30-web-read-card-frontend.zh.md": "sha256:9dcc1d23acaacb1e58d28734ca24b6f0852198d65b572edd6b3bd70ca47bcf78", + "feature/2026-07-30-web-read-card.i18n.yaml": "sha256:6d833572067f197e9914cf50b91bd52a0b217cdadc86a8bce32f561e1334eeb7", + "feature/2026-07-30-web-read-card.md": "sha256:3a0d3fbdb4731f2b395927d0f6bc7e7d4d9e6a1f4d1f7cc82761ed0c9d27e427", + "feature/2026-07-30-web-read-card.zh.md": "sha256:2bf2675f87ed5758331161ed0d0d327d899575c1698458d33b1513710a9decf2", + "feature/2026-07-30-web-result-card-frontend.i18n.yaml": "sha256:14733b85dca48c338ce38d9b0c8d3e5bdf6a3e3936de245c2ef8c86c77486fbd", + "feature/2026-07-30-web-result-card-frontend.md": "sha256:2f4731bc35e6e67030f0cb440a592403089b7b237b72dcd649e0fceef76e09e1", + "feature/2026-07-30-web-result-card-frontend.zh.md": "sha256:5aecc2df79c7df169b508071354115e3198aeecb24923e531c3be4651c35352c", + "feature/2026-07-30-web-result-card.i18n.yaml": "sha256:5aa05c82972919891f7098acd52be845c5490600a13a42c1430b0eb57beef332", + "feature/2026-07-30-web-result-card.md": "sha256:28903d3e5048087601a3ad5747eaf192526ea0c53ed7ce3e0ebc3c0af41f515b", + "feature/2026-07-30-web-result-card.zh.md": "sha256:452b14e1c2aca15867a4c3d5271f0fcd8758b294e1e94e1c4336a7d7541e226d", + "feature/2026-07-30-web-search-card.i18n.yaml": "sha256:018375372f77e6791be94ae0d100e65ee117008be1d8d591a807f600bf519af3", + "feature/2026-07-30-web-search-card.md": "sha256:564017ee66ca0be7f9bf717845d0f7e835920a6036cf4db3644c9b71cfc6bdfb", + "feature/2026-07-30-web-search-card.zh.md": "sha256:11a17ff988dc202d15c555f55fb351e570e0d4a8810f7dc2580bbcac75e88b44", + "feature/2026-07-30-web-tool-row-unified-expand-and-inspect.i18n.yaml": "sha256:345e605782243201a1fc2be714baba9f6270ce8327a5077e8a63ab581fe41b0e", + "feature/2026-07-30-web-tool-row-unified-expand-and-inspect.md": "sha256:0b205f75215e375150877f13e3aad261996e1c91f547ecac99a51121457aa554", + "feature/2026-07-30-web-tool-row-unified-expand-and-inspect.zh.md": "sha256:11bccd1325992e52812ab0363fbf3ef2e1edab9416fe9ec5cc493d5aabb40e52", + "feature/2026-07-31-browser-derived-initial-locale.i18n.yaml": "sha256:ecd8114e6d2d6b407d2a79e719486ca80950ff2f8b16b41f6db1b0c6044755d1", + "feature/2026-07-31-browser-derived-initial-locale.md": "sha256:696b56929237dc470295a78ca1b00434574194c449eea108db82949b34036c14", + "feature/2026-07-31-browser-derived-initial-locale.zh.md": "sha256:b0632048bdd6577fe04ac281e6a1d956befb07024a6de5cb2cc7d7b2fd63b83b", "feature/2026-07-31-experimental-subcommand-gate.i18n.yaml": "sha256:d223669bebbf6ea65b4ec636e8e7ed618eff389117335946be713897151c6968", "feature/2026-07-31-experimental-subcommand-gate.md": "sha256:8fdee37340f7e72397cf2f440a2ca70639a987d07f0c2102e02e79c0fec4bfeb", "feature/2026-07-31-experimental-subcommand-gate.zh.md": "sha256:bcdec0f82319670a1d1de54a27b103b5e2d86306b884a5f9f415b89cd5a373f4", + "feature/2026-07-31-gui-full-access-confirmation.i18n.yaml": "sha256:1fdabc1742fa1a969222f2a8a2eee8de86bf9a535e13a65f781461a408f67683", + "feature/2026-07-31-gui-full-access-confirmation.md": "sha256:3917e86d47a88b9e7534e4da27006c5a517b40449e580a9c8edb94f8af6acce9", + "feature/2026-07-31-gui-full-access-confirmation.zh.md": "sha256:3297425255ae3bcedf1d6c4b12e6adf2132353115a43236cb3c966a3fbad16fb", "feature/2026-07-31-hover-card-click-copy.i18n.yaml": "sha256:2b95987c23e13a4499f5f3851770e8f97aa6f6df457a36b6aa818a8db08785c9", "feature/2026-07-31-hover-card-click-copy.md": "sha256:f9a85c1603dcbdd36d26f730bf2a1f7bfaaa2267c7c30bee08cb9a94a7ce774e", "feature/2026-07-31-hover-card-click-copy.zh.md": "sha256:b01e6edda5c6b031b5265ca0d868583fecce04cbc817fa7e8cc4433d10056e64", + "feature/2026-07-31-permission-default-for-new-sessions.i18n.yaml": "sha256:ab7e2d6f8aec13ab9f78e8ad60b72897c067d1048ad1a5829856fad2b4c076d6", + "feature/2026-07-31-permission-default-for-new-sessions.md": "sha256:7a3123c80ff641b2e93b72372fdc52374d7e16593673787c7e4aaf7c8cfadec3", + "feature/2026-07-31-permission-default-for-new-sessions.zh.md": "sha256:73cbb1dd3dd18ba5ef935b5d1fc60f6556b24e7cc31165fe12fa52dca06d60c2", + "feature/2026-07-31-ptc-language-dispatch.i18n.yaml": "sha256:d575b760e11f57272053fdf378a7afb61f5d05512eb0d54d6183e12f8df36348", + "feature/2026-07-31-ptc-language-dispatch.md": "sha256:11079345c7117232d8e5e706d7b6638630b60228bfbab5802057d88f22d75041", + "feature/2026-07-31-ptc-language-dispatch.zh.md": "sha256:3c98eb6b0d23f3b49306f2201ecbb665aaa319fa2e52a1ac83c5e66ec9e7b3fd", + "feature/2026-07-31-session-archive-global-set.i18n.yaml": "sha256:82efe4f70e37857616c4c1384d6abf6fc9e5cabe147d3166b139b6c4fde0c24b", + "feature/2026-07-31-session-archive-global-set.md": "sha256:a7af2b3db880bc8eef4ee06b1d364758fc0265067da5fa73ecac2e5ebcf17b9e", + "feature/2026-07-31-session-archive-global-set.zh.md": "sha256:bf6e47df2c55192448ca87847524e35f50cdbc5e39afd3e521970b2607ada1eb", + "feature/2026-07-31-telemetry-anonymous-user-id.i18n.yaml": "sha256:530ab371295decac20af52ee1050fb3a48516f33ea3a3a37b3bc8997fafbf5a3", + "feature/2026-07-31-telemetry-anonymous-user-id.md": "sha256:2e787c474fbdffd1ddc063f5cb85533be526d02312cd57a4ca0062269c6588e4", + "feature/2026-07-31-telemetry-anonymous-user-id.zh.md": "sha256:b0215a4fbe4f2c17c8df3b499c408d60e38f4076087c2d4949b37c07a8f25797", + "feature/2026-07-31-third-party-memory-mcp-examples.i18n.yaml": "sha256:44ff80facb94f8f005a9d4f28b2b8ef9bab66524fd788b010ed34f4c6d82a363", + "feature/2026-07-31-third-party-memory-mcp-examples.md": "sha256:b401b282e0b3c9a92330a96f3a55f73f312bbf28b1d46ea8744f13c9f799c21a", + "feature/2026-07-31-third-party-memory-mcp-examples.zh.md": "sha256:b68543f95670003c35133e05e55d2d3cffff07d7195b0844fcdb2135fb22d1c1", "feature/2026-07-31-web-cards-toolrow.i18n.yaml": "sha256:f9a6ab72a77934cdcc02167c7313f08d7e9925362017b34bed7ad56c8c70fbaa", "feature/2026-07-31-web-cards-toolrow.md": "sha256:5058f7cec4497d1cb0a5c8e77b88fddacac6eead034f3edec88e8514919b8a3e", "feature/2026-07-31-web-cards-toolrow.zh.md": "sha256:ba84ef2e1be61211ab5ba6950b78ede3d3a979f252bc068d3e04e2c025f7bc03", + "feature/2026-07-31-web-telemetry-default-mount.i18n.yaml": "sha256:9763b57b3373fd9082ccd10e6c8a80d676ba9598b9c6d58084af7b21122b1cdf", + "feature/2026-07-31-web-telemetry-default-mount.md": "sha256:dd7a7c1e246f414acd77d767326cc14ed875351229d03e84d2bb7de9ec5a8956", + "feature/2026-07-31-web-telemetry-default-mount.zh.md": "sha256:eba00332fae8c0374a002ead25d1f35842c4239c3f9343b46fba6c99b2e3e804", + "feature/2026-07-31-workspace-write-surface-default.i18n.yaml": "sha256:ca2131ba0c95b7fd2f3472c9f0acebf1a54bbc0b494deef2438e62e45715d4e6", + "feature/2026-07-31-workspace-write-surface-default.md": "sha256:b96292c03ea7f7f0dcb6d2f9f7921706020881d86e71f73c9209b414071c56e1", + "feature/2026-07-31-workspace-write-surface-default.zh.md": "sha256:53c5212239f3ca8d5f975b6aaa4c127b8ccf5de3943ff4f54aedf89129e619b3", + "feature/2026-08-01-goal-command-input-projection.i18n.yaml": "sha256:6f848ca4311f1988612b3efe56cdbadbdb5aff2709d00fdb576c5287b2a279b6", + "feature/2026-08-01-goal-command-input-projection.md": "sha256:83fb4ce10bcae161983d48049e112f04566089c8c42d9681c3ff69b7d8ac961b", + "feature/2026-08-01-goal-command-input-projection.zh.md": "sha256:16cf3b44106057beb15917e4c20c24faba9f8779878db7b969e55b26c75353bb", + "feature/2026-08-01-pwsh-tool-and-executor.i18n.yaml": "sha256:67444343cf21fc7141fd90ba1c28e77dc0ba68d283f8dca3741718335032b23c", + "feature/2026-08-01-pwsh-tool-and-executor.md": "sha256:475283286cfcf5936cbdc41fca26819b246cf4cf4a2593fb23bc2273e7a42503", + "feature/2026-08-01-pwsh-tool-and-executor.zh.md": "sha256:f44d5b3c7d75c40b24064472905ed494e2f9c3f34b7b211e9aa4e1fd748038e2", + "feature/2026-08-01-windows-pwsh-default.i18n.yaml": "sha256:7dbec4f48f94f96af3c957f24345880a6c09eff699d0e7e506b5ee72744cd505", + "feature/2026-08-01-windows-pwsh-default.md": "sha256:7a00686bd786c14422fe1b89f79a26ea5869d34767220946d1092f32218dc16f", + "feature/2026-08-01-windows-pwsh-default.zh.md": "sha256:fe6d285f7fcd1ae6f238d7256daf4bfb164f9cbe568610177e38e153f760478e", + "feature/2026-08-02-session-search-not-shipped-default.i18n.yaml": "sha256:ca274275b57975561a30c65cade508f57fde1a7fb38c8c5e0527f99200f5078d", + "feature/2026-08-02-session-search-not-shipped-default.md": "sha256:4a7c6cd9fbe156fb5bab839bf065ba7241bb72ee3a959886e8b265156dae7138", + "feature/2026-08-02-session-search-not-shipped-default.zh.md": "sha256:fb258724d7b43eff65f1176bc74a922b3158f32d1ca48236b2d59ed7fbec7986", + "feature/2026-08-02-web-thinking-tail-scroll.i18n.yaml": "sha256:8a18b1e3fadc885ec5d2439f45fe5a2217dcb09d2f70b83f16009c93b3ca32d7", + "feature/2026-08-02-web-thinking-tail-scroll.md": "sha256:cb9fd39e3f9fe721bdf5dd1a88c5e8b58716af08d46e0cafd46a8f931f888278", + "feature/2026-08-02-web-thinking-tail-scroll.zh.md": "sha256:1a94b9111eee07ac8550db067157d9a0b905f9d2e3608ed65e26bba90f9a831f", + "feature/2026-08-02-win32-in-process-folder-dialog.i18n.yaml": "sha256:1b4954faf9164f689a44c4c6fa8301b324335d900ec7d59845eb0848c6cd952d", + "feature/2026-08-02-win32-in-process-folder-dialog.md": "sha256:cb063b227e0c0585e3109ea87167b72042508645a5b59886d6851799df21bb4e", + "feature/2026-08-02-win32-in-process-folder-dialog.zh.md": "sha256:b8527ddfa6fd540bd32aa343a84fb9f3c1f0139edd7ba22d4706c47ee3d986b4", + "feature/2026-08-03-fs-tool-error-remedy.i18n.yaml": "sha256:9197a06271cfebf4db7a1fa1bb789b7cd860a91b21e46d9eb87495f347fa4ab3", + "feature/2026-08-03-fs-tool-error-remedy.md": "sha256:961707d5129b934ccd463659daca9cb3eb9c9a849ac4125ab3cb67f3c0bb8f9f", + "feature/2026-08-03-fs-tool-error-remedy.zh.md": "sha256:33ebfc0d67008bd248064d9b1cc31af2102aef8891dc5c2b5acf18f906270e37", + "feature/2026-08-03-web-search-source-scroll.i18n.yaml": "sha256:1754ab17e15fae0b443783c9642d1ef99ac6b2f2b2c6b3aa3620b07f13938b23", + "feature/2026-08-03-web-search-source-scroll.md": "sha256:56152b14cd81fb9c0878e8938249aca79c922024f62f091b4ebae5bef58e9f0d", + "feature/2026-08-03-web-search-source-scroll.zh.md": "sha256:5f94af1d18d09c7cb765dcef93e2125845f1e1b643234e7055c4bf079233bd4b", + "feature/2026-08-03-web-turn-run-time.i18n.yaml": "sha256:aa0ed89476908932ee7f95c95be67c49751f595c604afe107eaa8f7a857842c7", + "feature/2026-08-03-web-turn-run-time.md": "sha256:5274b10edd0d73f90ddc3720e0b69fe15ca6abe8b4c88bb661c73d6e312d8761", + "feature/2026-08-03-web-turn-run-time.zh.md": "sha256:e9e6664177adf24f6815882dd4aa4076f83dca8a4f3bc333f56f18446d2f8304", + "feature/2026-08-04-pointer-revealed-sidebar-scrollbars.i18n.yaml": "sha256:36d632e657acbcf966d7124984b8da9ea9a42e922a47b73fe2ed4f4c071382b4", + "feature/2026-08-04-pointer-revealed-sidebar-scrollbars.md": "sha256:ff5bbf8b485074dd72bb86e2f3c5a2a779e8156a46cc06cc8d79b0fea57142b2", + "feature/2026-08-04-pointer-revealed-sidebar-scrollbars.zh.md": "sha256:ace1304545f6f282107530bf3bd7b05b376bd5347237899c57d61aca1b125797", + "feature/2026-08-04-web-composer-shared-width-axis.i18n.yaml": "sha256:ff5f566430c9117a2db3f2db04c9e6e917232f5ba2060f94c150a59d21dd1da4", + "feature/2026-08-04-web-composer-shared-width-axis.md": "sha256:3c00429e55be7b813d8d0db099bba58b1fc45fd3fd5ae64b1c83b1cc9533a7af", + "feature/2026-08-04-web-composer-shared-width-axis.zh.md": "sha256:e23a2251184ca41e877576783751aef3f5856b6071fb539b10860d479b6618ee", + "feature/2026-08-04-web-context-source-and-steer-marks.i18n.yaml": "sha256:0b776513e52251930168a80ff52cc22571d058a0015100c7c6e320967f0396c8", + "feature/2026-08-04-web-context-source-and-steer-marks.md": "sha256:263f729d70cd6203b68423ad7b179238d92762790cacde298bb4dae408f53284", + "feature/2026-08-04-web-context-source-and-steer-marks.zh.md": "sha256:9907e766554fda749f03f08bd7c1ecdbbbe935bf183061b4099f742e89170e8d", + "feature/2026-08-04-web-latency-throughput-metrics.i18n.yaml": "sha256:7a294ff821b09f13defbe9ea3e2d9b6353109fdbbf6e59f879174aa9f402da8b", + "feature/2026-08-04-web-latency-throughput-metrics.md": "sha256:d279ddb8ce8406542b5f056f9c1158a65d3a7ada7bea2910ea07f38e1cb3bf78", + "feature/2026-08-04-web-latency-throughput-metrics.zh.md": "sha256:a6181b91342d0849cf65cd03c609243d1404b0a32b1563e463c89270840e3abe", + "feature/2026-08-04-web-slash-command-fuzzy-discovery.i18n.yaml": "sha256:97137c8b04dd4139529ab4029642251e3df631622bed790ae5d9bba67ce85ab8", + "feature/2026-08-04-web-slash-command-fuzzy-discovery.md": "sha256:021e7d7baaebe7421abde765a60bc0d40d9991500fca7dad197468beef0f8267", + "feature/2026-08-04-web-slash-command-fuzzy-discovery.zh.md": "sha256:46af8da9803f0b20ce5cd4603435fbc0ad9235b582fa06e64a06ec85422f3194", + "feature/2026-08-05-composer-context-meter-breakdown.i18n.yaml": "sha256:fb90a9e9f27dec45a5a7a18d577f3678104ca7fbd14a4eb33ca721e84ce7e27c", + "feature/2026-08-05-composer-context-meter-breakdown.md": "sha256:1fc3dc02e8fb0d07b6d866f825f80d38b3e414d58de60d14df7ca6c849ce317a", + "feature/2026-08-05-composer-context-meter-breakdown.zh.md": "sha256:098ad3c97be6a9887ff3dfbf77f42fd253b42a10df96d041c3e3993bc1ca166f", + "feature/2026-08-05-feedback-gated-session-telemetry.i18n.yaml": "sha256:e357cae2bb409f3360a61227b470b3c53d32a748604cef57593486dc3603d625", + "feature/2026-08-05-feedback-gated-session-telemetry.md": "sha256:91a5e0c59c134e573133bc09e2d15d0d69bb5e2c42b90970deab42059c204238", + "feature/2026-08-05-feedback-gated-session-telemetry.zh.md": "sha256:27b1bcaf901e9284a2cc3e12958a785fee53c6ba179b6e7bc92db51c9d406bf5", + "feature/2026-08-05-per-agent-tool-presentation.i18n.yaml": "sha256:3922c2043452d53fd98c8d6940c432ec5a46cdf84dc368187ab84ec66fa26565", + "feature/2026-08-05-per-agent-tool-presentation.md": "sha256:1a12c7f8d4dfcb805e2def8a2d9840eeca9225197aa66c74a8427d092f1da2e2", + "feature/2026-08-05-per-agent-tool-presentation.zh.md": "sha256:7e58061b4209254aab72da54149daacdfe6d81857d5391e140f9e4d7d5f2b47a", + "feature/2026-08-05-pwsh-ui-bash-parity.i18n.yaml": "sha256:fe6dd01a9b0cc35778e2ff7d712a7c4048233f81306e789dea47217d062d4dbb", + "feature/2026-08-05-pwsh-ui-bash-parity.md": "sha256:22c9ea8d067b8ed61b31218454d4f18273e13ce192e3433b36eb630065d74ac6", + "feature/2026-08-05-pwsh-ui-bash-parity.zh.md": "sha256:ad86e77ba42f0cd0ab927f836aadc46cad73c6741c25729697fe763b8e0af56d", + "feature/2026-08-05-web-preview-product-badge.i18n.yaml": "sha256:a77a73076eed4448c2ea537e9068e21115bb2b3d40a9deb53299694f6d8f5e0f", + "feature/2026-08-05-web-preview-product-badge.md": "sha256:c107591cbaff15887ba565795c2e8618a6a5c60e2c683b65631b332e57d56e62", + "feature/2026-08-05-web-preview-product-badge.zh.md": "sha256:41f30e4abdce564f510decd23c916c3407ef95769e4ded3a449ebc3caa6f9c5e", + "feature/2026-08-06-agent-teams-web.i18n.yaml": "sha256:b50587d2393f17467946586ddf19ad890ef572e6236db6f9bb088420d4b9132c", + "feature/2026-08-06-agent-teams-web.md": "sha256:9765f0482f81e49b71c58440cbe14cf98041ff9ae7f273e8c50f0d273fa7b10e", + "feature/2026-08-06-agent-teams-web.zh.md": "sha256:05824b80fc4934d50866957ef079c9c89a0048ab9953b8209cacffb86882afbe", "feature/2026-08-06-bundled-dsh-badge-skill.i18n.yaml": "sha256:4b568d89976a71b7b3864e13b36925bf055479213739ffd4ac81614e00e93e36", "feature/2026-08-06-bundled-dsh-badge-skill.md": "sha256:7b67f7c09b7e2b2ca756983a8951dad3a15786b8cd3adc6e819f316c67d31b2c", "feature/2026-08-06-bundled-dsh-badge-skill.zh.md": "sha256:dcc0acb2dca596196ac034a8e86a644131c5b7fb09b184ec9d8493f93019d2b1", + "feature/2026-08-06-mcp-client-auto-reconnect.i18n.yaml": "sha256:63f0156346ae66d402c4494deac585021b980ab3baf9263222e0ce49a7ca04db", + "feature/2026-08-06-mcp-client-auto-reconnect.md": "sha256:b70436035ef9f320e345a17f91e6083d50dc87c523b08114fa98ba1ee5d58372", + "feature/2026-08-06-mcp-client-auto-reconnect.zh.md": "sha256:2de73b49d485d514e44d4be85c4faecf797c2c407e2d87cdb1399ef6e21e770d", + "feature/2026-08-06-resolved-theme-color-metadata.i18n.yaml": "sha256:3324c59f5609d6b2ee32cd70ad7259fd0623b42207eb93f5250563897afecca4", + "feature/2026-08-06-resolved-theme-color-metadata.md": "sha256:95437b0553fb43abac4a041a6d4ed7bff82c495c9d6c48efd99aa8bcce0c1256", + "feature/2026-08-06-resolved-theme-color-metadata.zh.md": "sha256:f02f774b92c1e62d150495f5494ae140be9d5f94ca1f2ab80f334d656af05125", + "feature/2026-08-06-session-completed-done-dot.i18n.yaml": "sha256:e4bf4c89ae54a1f6b4231f0c0ccf58ace788e5c52cf930959793e651455e9059", + "feature/2026-08-06-session-completed-done-dot.md": "sha256:3fe838cee8685f1b1c68a3cfd0d7396639ed79d643df752211e611cac4536c71", + "feature/2026-08-06-session-completed-done-dot.zh.md": "sha256:3727e8793d2cebca536b156f0f6d5fef053fe8dd2a4aa3a36e78bf86cf8e4a1a", + "feature/2026-08-06-web-install-manifest.i18n.yaml": "sha256:345b5bb1669da275c40c4f106c21922d7029462b5be2d3d08d8602fc56b9038f", + "feature/2026-08-06-web-install-manifest.md": "sha256:6298149b63d861d43657941bd945065d2d3bdf0eec1e73b12b9edae8d635967e", + "feature/2026-08-06-web-install-manifest.zh.md": "sha256:98f9f95679d03c90801e7614c15fe4b9a033dfd658c0743b1fa274062c8928e5", + "feature/2026-08-06-web-queue-steer-all-gesture.i18n.yaml": "sha256:a2df9071063f35a385f34bfb975b781c1304ad831285c391c86d4aff99b5238c", + "feature/2026-08-06-web-queue-steer-all-gesture.md": "sha256:23d726d9d5d454936ca2f66e590e8271873e8afc1ebc72c7b4e8598811ea52f0", + "feature/2026-08-06-web-queue-steer-all-gesture.zh.md": "sha256:c9d3df111960b97ac32a3a39ba302e95476a0d7843c16ce503bbba5f1ee09516", + "feature/2026-08-06-web-skill-tool-row.i18n.yaml": "sha256:51503241f70960ee7583aef932cc1ac069c3770b304a3bca8f438b42c295ebf7", + "feature/2026-08-06-web-skill-tool-row.md": "sha256:08cbdfad6a36565f8e14df384d9cf73641037e48c94774016bebfca701585029", + "feature/2026-08-06-web-skill-tool-row.zh.md": "sha256:f44351c84fc4fac8bc64342abc0e58b8c0fc794f3a30abc94341b49eb2622245", + "feature/2026-08-07-default-model-follows-the-picker.i18n.yaml": "sha256:2dc9d6f6a4cc6a298fcc1f4af696ca61c2525d7d4e0115115ec08d5d218bd2d0", + "feature/2026-08-07-default-model-follows-the-picker.md": "sha256:2dd3e5adae92a0a7ef237e3910ed438b44246b60bd8979090687fddc001ee73f", + "feature/2026-08-07-default-model-follows-the-picker.zh.md": "sha256:edde3ff8355f9d01129bf331dd6a1f0921787d23f75486fd325bc7f7e6074b63", + "feature/2026-08-07-feedback-acknowledgement-sharing-disclosure.i18n.yaml": "sha256:8d8be12bd257fb4337e90c415df0f52f6766e8c0e3e9570e615e1690863c51f7", + "feature/2026-08-07-feedback-acknowledgement-sharing-disclosure.md": "sha256:2d6b383c84e71a35c6a8c0887bc778f74c7e29ca7f6b5754872e3c5b3bd2091f", + "feature/2026-08-07-feedback-acknowledgement-sharing-disclosure.zh.md": "sha256:36a3c029a4d95d78790c3a267f86317f1e498fb70646407933e6add96b7add91", + "feature/2026-08-07-web-inline-file-mentions.i18n.yaml": "sha256:ab4234b8f1e69f782e08121490ac0737e037efdb8a8fd6457fe6d66df48d884f", + "feature/2026-08-07-web-inline-file-mentions.md": "sha256:8bb62214b9777ec5d30421ef134592632d999e6b8682a806f768650d861fa57c", + "feature/2026-08-07-web-inline-file-mentions.zh.md": "sha256:fcc2a479d52cb4082525e1e56e41ed05d2d3b682dddf22ad018d9add306814d2", "feature/2026-08-07-workspace-picker-composer-entry.i18n.yaml": "sha256:24a8bb2956371c7c840a662ac16dffbe04a6bb40a7296d01db86cb85da58d238", "feature/2026-08-07-workspace-picker-composer-entry.md": "sha256:036212fbae6f5d7194e8c7fc9b1e7cd1c35251e9c227e895834a7d00bd5f69f8", "feature/2026-08-07-workspace-picker-composer-entry.zh.md": "sha256:fb65c3330e8324f90d1270345e1ac941fc800e8caaf3b4bbee1bbb743f713262", "feature/2026-08-08-dsh-run-headless-command.i18n.yaml": "sha256:1c2b4c5b61b9263b6267275d6fc69faeaad3cc887f0728a7ed4172d817af812b", "feature/2026-08-08-dsh-run-headless-command.md": "sha256:7695fe7fd322377d5986f14e35f13337f4cd376405c758218a81230f6d182d1c", "feature/2026-08-08-dsh-run-headless-command.zh.md": "sha256:113c14a36c64d2facc8ae46f37c7aa76359d8cacb9c18fcba26a723f15d036fb", + "feature/2026-08-08-pi-ai-per-model-reasoning-declarations.i18n.yaml": "sha256:f1ca7c38b879f214ec5bcc038fc8b9113bf8db5ea62d15d34941efa4e05f99ed", + "feature/2026-08-08-pi-ai-per-model-reasoning-declarations.md": "sha256:d7747701cb2235850c543711eaeea0f5bd5eb8a9029728b91eaa8b5d09614474", + "feature/2026-08-08-pi-ai-per-model-reasoning-declarations.zh.md": "sha256:6047a74a382facde9436f0790126d47e179e0da55e0f126cba8bedee09b9470f", + "feature/2026-08-08-user-explicit-skill-invocation.i18n.yaml": "sha256:cb5c01f4571155956c549c755c73a94edc5869c6a3a5d248c1cbadda4014880e", + "feature/2026-08-08-user-explicit-skill-invocation.md": "sha256:a5a38d76a74a820625b32f75868cb05def4a80c371f991876d0a9499aebb3c2e", + "feature/2026-08-08-user-explicit-skill-invocation.zh.md": "sha256:1c725a82fd47d39169182bb5c8ef29de4bbf7b1c069c455b9dfe423bacf9956c", + "feature/2026-08-09-parallel-subagent-delegations.i18n.yaml": "sha256:d86ffd44b2d3e45018ffd63a3dcbbdd9001c9f9a2658b327d2bdff08662e0c36", + "feature/2026-08-09-parallel-subagent-delegations.md": "sha256:0397fe0685f41a4b898557efacbbff5b8562d6d94088aeae83ade6a2aaa92cb8", + "feature/2026-08-09-parallel-subagent-delegations.zh.md": "sha256:dab8373f0f8f38e70cd34a64e24a8fcdf77600e1da2d1b201bcbc36d1359094d", + "feature/2026-08-10-continuable-subagent-policy-inheritance.i18n.yaml": "sha256:2435470ce6387a8ea7fb5c9375150125cfe25818d90cae08ac327e18858f807c", + "feature/2026-08-10-continuable-subagent-policy-inheritance.md": "sha256:78a130a2fb0607b278a48b80dd9991a635c837f34dae319d4a7555848e675c91", + "feature/2026-08-10-continuable-subagent-policy-inheritance.zh.md": "sha256:f263a86aef5bdca24f8372ef1d98db5804a5c743eab8f26c759deb5ea92e3732", "feature/2026-08-10-creator-guidance-introduce-cue.i18n.yaml": "sha256:74f519839f0cf82c7304bdeae41ae1cab8bb930bfb94f79ab44708acd3b72128", "feature/2026-08-10-creator-guidance-introduce-cue.md": "sha256:3e25409dda498de150de18943ee332e1760963e377a40a365902b66f667fdc9f", "feature/2026-08-10-creator-guidance-introduce-cue.zh.md": "sha256:203847010cab9e9d13c3969f17921d3a5aa0d69377eccfef555c7ff96572f162", + "feature/2026-08-10-durable-workflow-runs-in-chat.i18n.yaml": "sha256:0db3c21a3c8785e56d5d7b90df990b158069cd1cea664e62fc4786c6d7588450", + "feature/2026-08-10-durable-workflow-runs-in-chat.md": "sha256:f9f5290cd880908d17b1080ae5776f22e182f5253471f90cf8bead418b33b502", + "feature/2026-08-10-durable-workflow-runs-in-chat.zh.md": "sha256:f4ffd2700bc9c2a0cc4b9d90f84e1d0a576939e2e6f0b130c5b142fd8cd518b0", + "feature/2026-08-10-minimal-read-image-tool.i18n.yaml": "sha256:2311b6453b90a1f81d4fcbdaa723ab233cc0998f34393956364c8b92bc4d1213", + "feature/2026-08-10-minimal-read-image-tool.md": "sha256:debe6b570d11634f57a80eaa5891e4fd1e7a5aac19f10fb7dd1683c316515150", + "feature/2026-08-10-minimal-read-image-tool.zh.md": "sha256:572d080340682b354cb1f8a0f74af153d6542bd3dffbe3b72b32591e5d5d3baf", + "feature/2026-08-10-telemetry-default-off.i18n.yaml": "sha256:4d49b6ad0199c9128bb0393ccef75b2b46eab15a16d5117417fdd49c6e8e0252", + "feature/2026-08-10-telemetry-default-off.md": "sha256:def8531ebf8cc88f07bb7169f949321132bc702ffbb0458acfacaefd5abe5674", + "feature/2026-08-10-telemetry-default-off.zh.md": "sha256:0b6b85c858897e7e01aa0c54112a4a1644e548b584561c1d8b9e879dadf2c738", + "feature/2026-08-10-web-plugin-configuration.i18n.yaml": "sha256:735ee9770c3a75b05a2f2dc05eaa74e7f2086f2d466c15251f0847d6191532e7", + "feature/2026-08-10-web-plugin-configuration.md": "sha256:70aed934f2c10e25ee97299b82a2e5449798282fd2e63e4a819102cbbbe17b67", + "feature/2026-08-10-web-plugin-configuration.zh.md": "sha256:ac3fe54ba71a2cd44457c44ef49fcbb256b929a0ccf5a8931fab17167d43ca20", + "feature/2026-08-10-web-session-log-export.i18n.yaml": "sha256:c1af2bf4248c9fe3f0fb1cdf5e3922a7768bc298ff9591c5f6ea04e0923c54e3", + "feature/2026-08-10-web-session-log-export.md": "sha256:06576b6bc985754afe16444940715ba5824265de8ae6f746acb873b6fb107afd", + "feature/2026-08-10-web-session-log-export.zh.md": "sha256:8c73ae4976c97a9c61dbff573221264f850c3d794681f2f8858eb9abb0a026d7", + "feature/2026-08-11-background-first-continuable-delegation.i18n.yaml": "sha256:0cb5636ca94f5793503c1769ff5353fc8bc944e3060269e80349ef1144d3228e", + "feature/2026-08-11-background-first-continuable-delegation.md": "sha256:6c7877c9ecda5c1591ff58da46094b6fef006a79c76bead4a2fe2b1c6d70a3d1", + "feature/2026-08-11-background-first-continuable-delegation.zh.md": "sha256:991b14b8d40fc06f1beb98185734824f8ec0664452722886a10d37d26dc25fd5", "feature/2026-08-11-collapsible-ask-user-question-card.i18n.yaml": "sha256:9c0873bbb1437bcd5025f5859e1dc447a6b936f19c2c2ad2250521a3aa773a12", "feature/2026-08-11-collapsible-ask-user-question-card.md": "sha256:4f3b3f5d7020fefbbac8a3c36a97642721ef14a0476a7d8117bde8a128d25f42", "feature/2026-08-11-collapsible-ask-user-question-card.zh.md": "sha256:e7186c92f77d337a875f981ae39b16331a1c5466a948415bcacfe108ad98fb63", + "feature/2026-08-11-message-feedback-web-surface.i18n.yaml": "sha256:4dc65040403c97e6d7d7768877ece068a19ee39678a3734d070a3601a8c61885", + "feature/2026-08-11-message-feedback-web-surface.md": "sha256:891b718b8d4c7410c783a4799985021db40f4121d367f668ed14bb74babf9be3", + "feature/2026-08-11-message-feedback-web-surface.zh.md": "sha256:3620be1a57cbd41823b1ffb2fdd836c9cb8cc96f14fc6afb206fc52d0a7d0fb4", + "feature/2026-08-11-web-attachment-display-alignment.i18n.yaml": "sha256:e0259ebc08e1cd6ffa91bf7d89ddb96fcdccf3adbd370d3fa1b0b083ae57b752", + "feature/2026-08-11-web-attachment-display-alignment.md": "sha256:977554ff2ce926580fa1ae0bc5c2e50ca8e29f6a5902d98c43b1f286e2661d6b", + "feature/2026-08-11-web-attachment-display-alignment.zh.md": "sha256:72f8548f910e2e58830e6d0ffa6e76a4bf4389426479534ab172a8c87a24b974", "feature/2026-08-11-web-export-command-and-dialog.i18n.yaml": "sha256:db7d523a2a1f82a86f532661bd2953ee8538d971d91f886e4bd4e0d88f7226b2", "feature/2026-08-11-web-export-command-and-dialog.md": "sha256:ec44b47589ca7924018dc24f7fa73379a97b8f053d9e8ccce2aebb600230e47b", "feature/2026-08-11-web-export-command-and-dialog.zh.md": "sha256:ad28e67d397c87300cfe1705ba3d206cc4d054e07f5647c095c718ac8cf4ec98", + "feature/2026-08-11-workflow-run-status-driven-disclosure.i18n.yaml": "sha256:dc33664fdf281c97f0a310519f2e15895fe6d47003b3acc0a04e6a2acfcedbfc", + "feature/2026-08-11-workflow-run-status-driven-disclosure.md": "sha256:0f0fce39565f1ca95fbebb894182e05a7aac342c8c0e5f4c6da6e7cdab081902", + "feature/2026-08-11-workflow-run-status-driven-disclosure.zh.md": "sha256:e2b4f82e13d85606c421652f961dcd813b973b5e731c86db1d9dd63e6d147dfc", + "feature/2026-08-11-workspace-sidebar-order-and-folding.i18n.yaml": "sha256:525f50d040741a51b507bf4bb042928c7a191d008c151b30db67a34d01f01b39", + "feature/2026-08-11-workspace-sidebar-order-and-folding.md": "sha256:c88b61aa8d81168deba36e1d88f291f58537e0f38932924b4fd07b774e313878", + "feature/2026-08-11-workspace-sidebar-order-and-folding.zh.md": "sha256:e39812beed8450cd0434293cc3ecd4ba7ffa161b14e98a5f5290ab9b8b043b17", + "feature/2026-08-12-hero-fish-hover-swim-morph.i18n.yaml": "sha256:2131af9d22fcebc2091a5b5bf59787482109709ac06a9ad2980ef4eee8c41378", + "feature/2026-08-12-hero-fish-hover-swim-morph.md": "sha256:05e5605eedd89961d47cf117e4784dcd32c3191d4ebc2b0d1a01b69bd4e02c67", + "feature/2026-08-12-hero-fish-hover-swim-morph.zh.md": "sha256:1c92f53eb9d1be1dd695081e3839269fd6f2dcf43578e0b1595e9e6544a9bf09", + "feature/2026-08-12-open-ready-web-ui.i18n.yaml": "sha256:0396f2f6488cfdfe89b5750cb266c13986f20a001e110ee78bfbca4b67a689dd", + "feature/2026-08-12-open-ready-web-ui.md": "sha256:765673ad8718871763b385e47f9d31772362448bbecf56a043a2a3fa5a7cd2f0", + "feature/2026-08-12-open-ready-web-ui.zh.md": "sha256:13b1a86e99413604a8aa0d4048d5ad4f257f316bf77589656873604bd06e6fc3", + "feature/2026-08-12-product-subagent-one-shot-background-tasks.i18n.yaml": "sha256:3d77b86c8010a7fa7fa1cfe48638218ce04d5f20be6201b4dd469b617814c6ee", + "feature/2026-08-12-product-subagent-one-shot-background-tasks.md": "sha256:b570dcce99257f9acba412f6d1389adae93e7efbade4a43a5a4079a85e3a4d04", + "feature/2026-08-12-product-subagent-one-shot-background-tasks.zh.md": "sha256:35341c06d5f8a1e251420b716ddbcc5937bfd9baed9597ad96c0d99c94d5c33d", + "feature/2026-08-12-web-image-intake-and-limits-alignment.i18n.yaml": "sha256:60c894a606cee413c2a39991a3655dd709693597ca45b7be0b1586ee186b0529", + "feature/2026-08-12-web-image-intake-and-limits-alignment.md": "sha256:72583f948f0c82ccc9b6242a398fb5395d6011b74830e2c7ab439e762d668aab", + "feature/2026-08-12-web-image-intake-and-limits-alignment.zh.md": "sha256:bff62e89b0f6187392bd05d1b5e14b5a3af8e43abd5405c59630998c80b584fa", + "feature/2026-08-13-shared-modal-product-onboarding.i18n.yaml": "sha256:e2cab4649f990a87a25d32ae5aa6f95fb3f30d7aad2ebbece23b2a0eeb4d0633", + "feature/2026-08-13-shared-modal-product-onboarding.md": "sha256:9eec99ed1bfb668f18155714eaf59609c098eedc068e9357851551a11a30bae1", + "feature/2026-08-13-shared-modal-product-onboarding.zh.md": "sha256:6e3e3c3d443bc1c3e9a85be40d18fea035a5d1f0404a667a0b649559461654c9", + "feature/2026-08-14-web-turn-process-folding.i18n.yaml": "sha256:6f15becaf7a1519ec6a3e2b83359e6cd79f7ff98b7c0507c35780e9cdad895dc", + "feature/2026-08-14-web-turn-process-folding.md": "sha256:d21d4cb116ddce06989a4062c2b53373a8f4123bd0190a88f870d72f3142bd7b", + "feature/2026-08-14-web-turn-process-folding.zh.md": "sha256:eef128c55dda00fffd2d035f7a70c39d714ceacc99827245872501106bfa038c", + "feature/2026-08-17-web-search-multiple-queries.i18n.yaml": "sha256:613a8bbf6d26152ce255f33cd7c144e31f9bc7c6cdd7f8243d3d82dd2e41c0ad", + "feature/2026-08-17-web-search-multiple-queries.md": "sha256:36bcf5ce5874b9b4d35019c79180911ba86f65202063ba81669a0ab6ea3aaa7b", + "feature/2026-08-17-web-search-multiple-queries.zh.md": "sha256:7188d58f1d448aa6caee3a648b055e40f9613a1d69fd383700036ea31497cad1", + "feature/2026-08-17-web-system-prompt-opaque-body.i18n.yaml": "sha256:f571ff4ff529a71a6220795df3fb27006ecb41f11bbe2adcbf2176a2fb5dae34", + "feature/2026-08-17-web-system-prompt-opaque-body.md": "sha256:93bc0347dd1e0c9ab5d4222c67afeaadbe18375654718a8302b7a5738233af1f", + "feature/2026-08-17-web-system-prompt-opaque-body.zh.md": "sha256:6dcd226723afc5c3559b1ff4db6ea2f3544aa5ecb85105cbc752c8f3afa3f2b6", + "feature/2026-08-18-conversation-adaptive-content-width.i18n.yaml": "sha256:145f22377e231439665b83751c7e4dd924b0197414bebda188b88f533e5bb47e", + "feature/2026-08-18-conversation-adaptive-content-width.md": "sha256:0644f856ac475d43a9bf28c8091e3bd20a95ec13a6261f366af95cbf43e5cdb5", + "feature/2026-08-18-conversation-adaptive-content-width.zh.md": "sha256:28246084689dac867ea7b1b2b75f2f38a8406ac97786fa993f9c9b2925b0e6a5", + "feature/2026-08-18-pi-ai-wire-compat-surface.i18n.yaml": "sha256:b0b0c921bdc335aeee3dd86a68fd0a73b1958d8a245fb77947c28083a5c3daca", + "feature/2026-08-18-pi-ai-wire-compat-surface.md": "sha256:964d578d20deca2d3a9e6e49fe9cea4d554ddc901cefa7f823558a9d7d91dc4b", + "feature/2026-08-18-pi-ai-wire-compat-surface.zh.md": "sha256:55c946465f8c58254c4c13401206990f79111ef4f2a067863f31e0157e8dd63a", "feature/2026-08-18-product-subagent-failure-facts.i18n.yaml": "sha256:0aa7a873fdd878ee7f4b0a850ecf16d7b652b4f85de979acb7efcdf90883b6c1", "feature/2026-08-18-product-subagent-failure-facts.md": "sha256:f7e05703c44106359798e6e4b76e442a4107b62ff0363554382d4767e4806788", "feature/2026-08-18-product-subagent-failure-facts.zh.md": "sha256:19d2619fb5b5c6e40305dd82432d837357afa433ab735504ec204a2c25582ce6", + "feature/2026-08-18-product-subagent-named-instances.i18n.yaml": "sha256:f92d2364761e92be503496a80ef84fac4da6b5217762664fcd3747def951526e", + "feature/2026-08-18-product-subagent-named-instances.md": "sha256:69cbb9dd2b18e93f41f012a07e47c76d3d35fadce744af0096ebde33e6a14588", + "feature/2026-08-18-product-subagent-named-instances.zh.md": "sha256:6cf70b38107f97c9b7f241e9bf2e4315825b3d4936df337b5656926215ced01f", + "feature/2026-08-18-settings-font-size-control.i18n.yaml": "sha256:b31dc467a31edc98c6b16d32e36dd3f5cc4aa9806adced111f9695f5ecad9136", + "feature/2026-08-18-settings-font-size-control.md": "sha256:af8c17588e9ef97ad692e46c7311b1bdc922d5b26b90a34cbb16b57a4c64e457", + "feature/2026-08-18-settings-font-size-control.zh.md": "sha256:ae6b7a0e8ab34f0c1718aa9d815b34a639f72c81f09f2ae37797aef356298430", "feature/2026-08-18-web-home-path-tilde.i18n.yaml": "sha256:f151e3e3514f59784fc646c2feb3075dc954c65110d48c2cc482ad486fc0b86f", "feature/2026-08-18-web-home-path-tilde.md": "sha256:8c7ecf120ff8c81826160acab5fc906a2a0a14213bcd2958343cfea47328d68e", "feature/2026-08-18-web-home-path-tilde.zh.md": "sha256:3486c5b42aed5bcadf12c62c5e1e6cf7c1b493fc1085ad7d154cdf2ec34076cc", "feature/2026-08-19-high-cache-hit-decimal-display.i18n.yaml": "sha256:c2cb839ed676040ed62153c2aab65b677fa59739f69253af50246e79a2347620", "feature/2026-08-19-high-cache-hit-decimal-display.md": "sha256:08cb68bfc379da47a05b816afac26126146d36d6248350d4380f7cb98607d573", "feature/2026-08-19-high-cache-hit-decimal-display.zh.md": "sha256:9d7afe3e2fc3029fbccc643b432a01bcb3b5671750adb6945ac414ec843ca063", + "feature/2026-08-19-web-markdown-wide-table-view.i18n.yaml": "sha256:56df77a52c7153251f8a78738f5407b83790ba6072e0cb9db9528f080987bf38", + "feature/2026-08-19-web-markdown-wide-table-view.md": "sha256:fd01be420649ff3ce8ee519febb3951d8fb17e3b6ea8f6333cf2aba65965ecdf", + "feature/2026-08-19-web-markdown-wide-table-view.zh.md": "sha256:e91b3b99a2d3dfca288bce0bd589aa6176426b1f437ec668b3f4374f74dffe9a", + "feature/2026-08-20-multiline-question-answer-field.i18n.yaml": "sha256:fd9f24599744743023578a0ac18950529ba85d824a658393296a8e4884645bb7", + "feature/2026-08-20-multiline-question-answer-field.md": "sha256:3f734d63826b7339efdfd0e839cdeb51e2c278f15f5fd021dfb7b482b30a7ae1", + "feature/2026-08-20-multiline-question-answer-field.zh.md": "sha256:8b30d31eb01fd21e318e17940650b2f0dad0f724f2d8fff37e11dba996f2ee2f", + "feature/2026-08-20-tool-card-image-results.i18n.yaml": "sha256:a0f4307de3bf37a582817f1ff052c1ee599c7bee95db8647867508a3729eac09", + "feature/2026-08-20-tool-card-image-results.md": "sha256:f29668d5b53284ef5042624f499b9e90ed7680f01c5e1a2e15842453075cf08c", + "feature/2026-08-20-tool-card-image-results.zh.md": "sha256:15867fbaacfc01a485104e8790236b647b8550d7f65dbbd349a0b1c9554731e8", + "feature/2026-08-20-web-streaming-fence-highlight.i18n.yaml": "sha256:ab35f0675214e80dd6566bbb3f452c9eb43e70bc56bbf01030728176bdb2e075", + "feature/2026-08-20-web-streaming-fence-highlight.md": "sha256:4c672a677bd70f89141d3ac9668274b71ba83be105c2db8bb8c6dbe3123c2af1", + "feature/2026-08-20-web-streaming-fence-highlight.zh.md": "sha256:236abfcb846a34bf9b869e553f51e354ced7262cdfc5c0cb3595573d956beaae", + "feature/2026-08-21-headless-reasoning-progress.i18n.yaml": "sha256:b7f5362d3f378e4348dbc1e4f3f4522f1e2e92c4c3a4e338f09c5e9ac8b5de16", + "feature/2026-08-21-headless-reasoning-progress.md": "sha256:89914dbf3723b4b5fde07494eaa35971e47b8c3658388b6aca2dcd81409840f1", + "feature/2026-08-21-headless-reasoning-progress.zh.md": "sha256:79c148dfd0d7d47cb01c4eb909ea239050ec2de16db64d3dc070798070bfc6fc", + "feature/2026-08-21-model-readable-image-paths.i18n.yaml": "sha256:676a965f57e9515e298d6f92e287e219ce6c54afee034afb87d33246117dd870", + "feature/2026-08-21-model-readable-image-paths.md": "sha256:f27dbc7dcfb73d92568060923c96a970c45ca5162e3374fcc5f781f5aa9bd45e", + "feature/2026-08-21-model-readable-image-paths.zh.md": "sha256:16b207f871eaaa1fe8178451be07d04de093244af023e0890aa307ab0a9df5f5", + "feature/2026-08-21-out-of-process-subagent-minimal-diagnostics.i18n.yaml": "sha256:dbe9c81bb02ed6d5dd9a9fd41630502908fa841babf9fc7db108682757a081cc", + "feature/2026-08-21-out-of-process-subagent-minimal-diagnostics.md": "sha256:4689c6eac9083908e7c3f8c818c318598c3776ddf8438d49468e7400c73dc4c8", + "feature/2026-08-21-out-of-process-subagent-minimal-diagnostics.zh.md": "sha256:257089b0def9fc143fd015e4450e440b993ea57826fe41af4df2b68f63548d1d", + "feature/2026-08-24-folder-reference-pick-vs-drill.i18n.yaml": "sha256:94b1bbf6a536318a41051757b07767876cbafbf63c419664c9a220a7426f608e", + "feature/2026-08-24-folder-reference-pick-vs-drill.md": "sha256:0677902082634f1dfc536d3530b17dae1a555ca223f63875a1850d587720d74d", + "feature/2026-08-24-folder-reference-pick-vs-drill.zh.md": "sha256:071791690d272af7a220c63469e29412aef582a5028ac9aed307f1ef0b507705", + "feature/2026-08-24-route-priced-image-request-pressure.i18n.yaml": "sha256:bfe26c784413c170d0648b74e262770c6c572124e2edfa345176573c3ac547f9", + "feature/2026-08-24-route-priced-image-request-pressure.md": "sha256:b92a2ba9150716ef23e2d6bd76a1c2ab2491e6b952804593d79e2807d4657a4f", + "feature/2026-08-24-route-priced-image-request-pressure.zh.md": "sha256:048395a54a523baa7bb6a62a1c434c2db33009e280b16e66f7fae6e1e1763f7c", + "feature/2026-08-24-trajectory-image-attachments.i18n.yaml": "sha256:96e7dfbe45f024bdfa2c2c7aeacaed46cf0a275cb20b3dd7b7f299dc05f22e87", + "feature/2026-08-24-trajectory-image-attachments.md": "sha256:2287e3a7c3d39662ff2eedec3d181b2dd9beb3f7bbe6de031cb7a77cc5ed7815", + "feature/2026-08-24-trajectory-image-attachments.zh.md": "sha256:480e95e71acf87cf24e43c18e09188b077fa6286dfdc1386265b94740d837031", + "feature/2026-08-24-web-per-turn-token-usage.i18n.yaml": "sha256:a7795b217a41945da095c214f66775d9af0c051db655bf6f35502c5f5232de39", + "feature/2026-08-24-web-per-turn-token-usage.md": "sha256:6ed076816d928dc5510621e7ffbafec35b6a94721609ad4faa01cd5ec6cee732", + "feature/2026-08-24-web-per-turn-token-usage.zh.md": "sha256:e14b827943a8901c188a74aab1d14624a134942fd61a216446ff3e72b2e5ab2e", + "feature/2026-08-25-loaded-turn-chat-navigation.i18n.yaml": "sha256:86bd02d56cf95ac465d0f6e326ccf75432ffb9c3db47373ae6a795195cff9ea7", + "feature/2026-08-25-loaded-turn-chat-navigation.md": "sha256:0ee1cb6da76b93e467d747aa8ba07697ba648cb213ba52202c51ee1e85dff1a8", + "feature/2026-08-25-loaded-turn-chat-navigation.zh.md": "sha256:5d3e567027fc65241856bf9f9cf0d73a20d53214c49bfbc884ab2ddd19503918", + "feature/2026-08-26-web-trigger-menu-presentation-polish.i18n.yaml": "sha256:69179f3056c6d5fc35119e83dd7a5af30213502dac3c1f2d4fd43eae96ee2ecf", + "feature/2026-08-26-web-trigger-menu-presentation-polish.md": "sha256:c54e3bbe528d6be711541c61e777e6e4ed4fbc1374df97d846b015d3693679f4", + "feature/2026-08-26-web-trigger-menu-presentation-polish.zh.md": "sha256:7db49018eebbba539838d734a80fbb330e2b73fea3b343900591a3605c6c03b5", + "feature/2026-08-27-web-at-mention-discovery-and-row-content.i18n.yaml": "sha256:f67e6607f99da020ce7994c35163ade3260d9058c3f77ea68119c13962375ee3", + "feature/2026-08-27-web-at-mention-discovery-and-row-content.md": "sha256:e25c5cfb9ad194a68e4db958a80006ebc18a2bfd1c567beeb255e8700e61d80c", + "feature/2026-08-27-web-at-mention-discovery-and-row-content.zh.md": "sha256:0fc7079645f0a8bff5048f2709650c325eca7d34109e33807ca4ed770b931dfb", + "feature/2026-08-28-web-connection-recovery-control.i18n.yaml": "sha256:8ce8b8fa3879cf607f1ea8ca140d1657ccce4bd913e774612e6f6d92103cd066", + "feature/2026-08-28-web-connection-recovery-control.md": "sha256:6685cd5737deda62abf1c22140708545a74f01b1aec55160881bf2fd5c068225", + "feature/2026-08-28-web-connection-recovery-control.zh.md": "sha256:bcad0e13c3e345ce75fb2c368558508034b018883842aeb87fe50bdf3f526790", + "feature/2026-08-28-web-turn-stat-pills.i18n.yaml": "sha256:05cda9d8ea6dc23bd8af775f7925dbc14cf540db1aa8bb8ad34f8d6aa8ea98a3", + "feature/2026-08-28-web-turn-stat-pills.md": "sha256:6e893f645ea294530d211df27a575f7cae08ffdeec74e51fbe29cd31ba715125", + "feature/2026-08-28-web-turn-stat-pills.zh.md": "sha256:916fa507458dd7c59c8980de84e9c3c465e72fd10fb745eda8fb1725e4d113ff", + "feature/2026-08-30-web-turn-rail-outline-jump.i18n.yaml": "sha256:d9db6a109b5db9cf943d8e851e0f3a31b416e7c463ff291fd6acbc666101d3a2", + "feature/2026-08-30-web-turn-rail-outline-jump.md": "sha256:f5cbf6f5d7a53785bde566affd860999c90e9611eb5833d807264c602f6867a1", + "feature/2026-08-30-web-turn-rail-outline-jump.zh.md": "sha256:46dc08ea0351e1f135087219742c9466e0a88ffb1b2f3747b357453baec1efbd", + "feature/2026-09-01-shared-base-web-fetch-default.i18n.yaml": "sha256:70f20da0ea4a1d5f59cc270cfa09138c855c8658131361dde11065addfd6f420", + "feature/2026-09-01-shared-base-web-fetch-default.md": "sha256:fcb0c83f838eab64ab18efc4b8fcc71a77fef8dfb128fb2cb3e57d94831d7429", + "feature/2026-09-01-shared-base-web-fetch-default.zh.md": "sha256:adda442209251791851a92acad033dbfbb064a50d0f2872a69feeee2ff81b24e", + "feature/2026-09-01-web-elevation-stroke-shadows.i18n.yaml": "sha256:5bc665e2b6ca4a6dd992c44c422497bcc915c387fff13a5bb0a9e8936a7ce6dd", + "feature/2026-09-01-web-elevation-stroke-shadows.md": "sha256:b9d2633c7d6bed6e4826d3ac9af034fd652c335d599dc3c08c14eb3c020855c0", + "feature/2026-09-01-web-elevation-stroke-shadows.zh.md": "sha256:8bab2c8815bbfedebc590d4508ba8e4d657bef066c3bdc0d91c1ab27e15cef66", + "feature/2026-09-01-web-superellipse-corner-smoothing.i18n.yaml": "sha256:50afdbe5b5e19889918af6d86ab3218c05205be35938b6d33d158c60777e3b58", + "feature/2026-09-01-web-superellipse-corner-smoothing.md": "sha256:b1445101c49e74bbcb4f607af850cd6df105d4034828d0dd47081e8079148f15", + "feature/2026-09-01-web-superellipse-corner-smoothing.zh.md": "sha256:1a278c417c0d7de3b4c3c35061b419303b4a1a0707831c283d8f862ab9b6fd23", "process/2026-06-11-doc-sync-enforcement.i18n.yaml": "sha256:33b6d5874427bd7a2bd82e7e2f4f482b12448b2464aef15a9c57975edb48554d", "process/2026-06-11-doc-sync-enforcement.md": "sha256:aa2fe83d519fc30d48dff19e596e83c8922aacc9e063e14fe2cc35b769b9100e", "process/2026-06-11-doc-sync-enforcement.zh.md": "sha256:698017bd35f030fdea3eac51df9e43138c48140f504739d687b7251d13fced2b", "process/2026-06-11-tsdown-over-dumble.i18n.yaml": "sha256:22791adb84a4b6c545173d4f1708eea51151d57e426d875e0e5423be9b6e0212", "process/2026-06-11-tsdown-over-dumble.md": "sha256:8d3c35dddd8869cc3361059dfe4b7b8ab6716d29dda232c97c2f37e92c841dc0", "process/2026-06-11-tsdown-over-dumble.zh.md": "sha256:cf11c651c13f5ffef5474e7795006ba3653c5eb08eae75a879be6499353455dc", + "process/2026-06-11-vendor-cordis-as-source.i18n.yaml": "sha256:b02b3c0469de87acd3abbe7352d50da208b0e049752543b1ada0140890218d9b", + "process/2026-06-11-vendor-cordis-as-source.md": "sha256:e1e9b70e9439eef26d68428b0829e1d07b6dcecd5601a05754189770586f8a20", + "process/2026-06-11-vendor-cordis-as-source.zh.md": "sha256:ade0a6196e0b0188a2ef19217b32f980d7e129f6252c5c10115e5582d4c4c32f", + "process/2026-06-18-markdown-cross-link-lint.i18n.yaml": "sha256:8d3e9fc65db2d4cee347a077923c664f661821026fef837c4eda923baad765dc", + "process/2026-06-18-markdown-cross-link-lint.md": "sha256:cdbe7ba8995f7430c7e2cef59ab7bb3a61992147408fae41c5dcffe4e60a2261", + "process/2026-06-18-markdown-cross-link-lint.zh.md": "sha256:6bc822d10549cc687dad42da379bfca56b5140fbee6d7787a206fe39a82aad7f", + "process/2026-06-20-agent-note-classification.i18n.yaml": "sha256:c6b61a2811a74b65775606bc5876087ca570624d15aac5f524e7e0140f373567", + "process/2026-06-20-agent-note-classification.md": "sha256:a75d91d79b88833fc72ec0abd208b46489f8cf80282efce5c2cf575d5f332d91", + "process/2026-06-20-agent-note-classification.zh.md": "sha256:fc5beab1c80ecf2fc6907f85d1c851b9833ec6491bb7eae1c524c5dfdcef9905", + "process/2026-06-20-core-data-structures-catalog.i18n.yaml": "sha256:1ed1497d9ee2b967e61d3ba4ec605555fb213b39896085fa55d32ed92a96ba39", + "process/2026-06-20-core-data-structures-catalog.md": "sha256:bbd2c6c1625c8bcae50dce41748e2eeccb15a6cb4878909a47b99a664d5a8b25", + "process/2026-06-20-core-data-structures-catalog.zh.md": "sha256:c99338ed5ec9eef03183405e984106895b07c066879b9091418ec38c783a457f", "process/2026-06-20-generated-cordis-catalog.i18n.yaml": "sha256:5250aaec698b25bdf5e3a02f67e531793fc968f9c38348f0c8bd11418571967f", "process/2026-06-20-generated-cordis-catalog.md": "sha256:1f3190b759bf1445b35f25f2f18ac1c8b16d7f2e9263e2627bf3c94fac54d275", "process/2026-06-20-generated-cordis-catalog.zh.md": "sha256:5d46da71bd73bba62ba15a9f11b21da422dbecc8ed68b6f530ceb302e1935ddb", + "process/2026-07-02-tool-schema-catalog.i18n.yaml": "sha256:6a6dcd025c320c7fe50d99982716c6724ba8ccfda7170f9541fb70d53da2e008", + "process/2026-07-02-tool-schema-catalog.md": "sha256:43536908e3698bf75e77e204a9c72425b2289a67c18a3b905986351832334d5b", + "process/2026-07-02-tool-schema-catalog.zh.md": "sha256:de2da2ec2828e769d4dd282bf7c16437562a9155111726a981842e58891aaf53", "process/2026-07-03-documentation-graph-atlas.i18n.yaml": "sha256:b1e1ed4b7865d87f939dbf8c94c0ea1069fdf7af6fa68f695e6c9d6eccbeb123", "process/2026-07-03-documentation-graph-atlas.md": "sha256:b62e92bb12123bfa4c4dac806f584aabb6b60af4c5a6a4ab88f84bb9153e766d", "process/2026-07-03-documentation-graph-atlas.zh.md": "sha256:3485ede4a5e695643bcf9e744a62f8914cff788ae35717dac5eb6bf77e0d65cf", @@ -355,15 +1414,30 @@ "process/2026-07-04-persistence-log-catalog.i18n.yaml": "sha256:23119a0769808279d7caef9e84934cc53b6a86580b703c205fa47ad181a2bf76", "process/2026-07-04-persistence-log-catalog.md": "sha256:fbb44218b77fd92f7b0cc7af2559200547018ceb5c34aca560371227c8bf5898", "process/2026-07-04-persistence-log-catalog.zh.md": "sha256:a39ee31bec043e97ad6b7e8433d4c1d24200642049e371ac0167a2092a6e5286", + "process/2026-07-06-export-jsdoc-gate.i18n.yaml": "sha256:e96b33ffe7ca4eb891e4757ad415334a02bda0a1659dc0e7db8d39c83ab54c27", + "process/2026-07-06-export-jsdoc-gate.md": "sha256:a772ca941c1e3dc29820cb8287bda1d44a7a4ec51dba71513101f5ff8b329819", + "process/2026-07-06-export-jsdoc-gate.zh.md": "sha256:223ad583f4b165fc48f5fa2764f971bf194c4fe92be0a7361b37f6bc87e71198", "process/2026-07-06-generated-config-catalog.i18n.yaml": "sha256:48e64ccfc7622559a9b964e2741ad82a9fa37243a0d5c472f0482d9c748d7739", "process/2026-07-06-generated-config-catalog.md": "sha256:c8654a4e084bfbf4f7d8eb78239dc1d5d62e1384b2aed309fa2526a4d6de0f04", "process/2026-07-06-generated-config-catalog.zh.md": "sha256:5ab8d964f12e0cf9a04251e988f0b2a114d7ae8ea7ed337c00f625213cb1dc94", "process/2026-07-06-parallel-github-ci-gates.i18n.yaml": "sha256:0f6ece268d9a51bc20cb8eb929f26d8838761603a64eb08dc24521198f10da36", "process/2026-07-06-parallel-github-ci-gates.md": "sha256:6249bd7396ae7f2d0dc671879ce21cefab33a47ace6ef17a25a70e8650b815af", "process/2026-07-06-parallel-github-ci-gates.zh.md": "sha256:cf7edb9bcf97ab1d4e452330c0df0b127a664509ec3f11597ace3eabeb663a5b", + "process/2026-07-10-readme-known-limitations-gate.i18n.yaml": "sha256:57635340ba3a9d1a0d20e0c6222fb153488dd3f198e5d67fc2cf107645d537b4", + "process/2026-07-10-readme-known-limitations-gate.md": "sha256:ffb5969f1a4e9196d18510cda3905bcf6ca26509fd0106c0bc6e7dac63806b0d", + "process/2026-07-10-readme-known-limitations-gate.zh.md": "sha256:9b7f9fa5b1b171f7961487e303eca55b7e50f9a558cd91942991376d1d77f57c", + "process/2026-07-13-documentation-site-projection.i18n.yaml": "sha256:3711a572c20d906bfe7d6ddfe6edfc2fbb2a6bb4a46c65ab98e0c68d248977fa", + "process/2026-07-13-documentation-site-projection.md": "sha256:638e257222fa5d21d33b2da3450159edd6fbe60b98a405aef79a6df42dcdb12b", + "process/2026-07-13-documentation-site-projection.zh.md": "sha256:d51155d83bbc95ba490b632498bbd57fbde021636537d6d8bb8768b4a33a1742", + "process/2026-07-14-typescript-program-backed-semantic-gates.i18n.yaml": "sha256:2e0b55817dcb5ec12ff75e3ca28253531c7a6ddd3adcac8b11b770aa8ec6731d", + "process/2026-07-14-typescript-program-backed-semantic-gates.md": "sha256:61a0b69f3349b24ea891355f1593e067fc127eff3797c79d9dee545fedb7f230", + "process/2026-07-14-typescript-program-backed-semantic-gates.zh.md": "sha256:7ac18f9968c57fa352cc8c7ad3b902fe563809b3b9a4c34a0693bb4cfb946601", "process/2026-07-17-run-ci-examples-from-built-lib.i18n.yaml": "sha256:0a2e97095be592e2c603f23d9b3b8959c4556b5636fa2c6e4539be18cfcc7a6c", "process/2026-07-17-run-ci-examples-from-built-lib.md": "sha256:d7e8901c67e9850b05cef65132f193b8be566be40d0f54b28b11043871955263", "process/2026-07-17-run-ci-examples-from-built-lib.zh.md": "sha256:9bb720b65a0d5933b5804dfbe0104c831a26695687b7f1a72f4ed4cfb4bd4415", + "process/2026-07-19-require-agent-notes-for-non-trivial-changes.i18n.yaml": "sha256:3f02660aa672f62e03f29c23878c1f4809be37994e96074e649556326a273956", + "process/2026-07-19-require-agent-notes-for-non-trivial-changes.md": "sha256:b10a2b7fb24daacb1e0eb41c926686c5ce5ebc7afb6c3fccf872a0318c4f9dbd", + "process/2026-07-19-require-agent-notes-for-non-trivial-changes.zh.md": "sha256:71b7d8aec3c6c75a17d41f910db405ad63cbea03fd4db74f40851adbd0ca67b3", "process/2026-07-20-generated-cordis-core-api.i18n.yaml": "sha256:4405f216d4beefdbb33f521dc8126be4f8d3a664abfed3a4cdad04fef84ab0f9", "process/2026-07-20-generated-cordis-core-api.md": "sha256:eed4dde36984f584c211bd00fa88ce4aef9ee296a0814b46a8d759f953a90660", "process/2026-07-20-generated-cordis-core-api.zh.md": "sha256:74f4316abc78500097f1b25bac06b460cb20a7dd3d5f323da875cc0575148991", @@ -373,36 +1447,165 @@ "process/2026-07-22-cordis-tutorial-docs.i18n.yaml": "sha256:4a7d80b72fd1d86379937250817459324a71b03385ebd35cd6e5a7c8cdc32dd9", "process/2026-07-22-cordis-tutorial-docs.md": "sha256:a4332b4357eb1f6f0f576e4f87c0d5697c12c8486dc2d92785556a54f2c7af90", "process/2026-07-22-cordis-tutorial-docs.zh.md": "sha256:dd9edc0e37abbf6f6975fdf0df5d498bc3589acf23bb8b31d72e3216fd930a62", + "process/2026-07-22-evidence-based-larger-hosted-runners.i18n.yaml": "sha256:0b4808e59b0503ab74d2cfb0a72379d35f8e0c527374026ccddf5e5984a35811", + "process/2026-07-22-evidence-based-larger-hosted-runners.md": "sha256:96f3acbc5ce4e310c132e6e88073086b853f988818cf90b44e189a575746fb83", + "process/2026-07-22-evidence-based-larger-hosted-runners.zh.md": "sha256:d2a668911c431fb44542c799c5091b8c6806fe986fc4b469baca3e10ffcc64b9", + "process/2026-07-22-fast-local-git-hooks.i18n.yaml": "sha256:88466f44dc0389d0a53e7e78bb976599876983ba9cf5d4a43a2690fbe824a5fc", + "process/2026-07-22-fast-local-git-hooks.md": "sha256:551b44a12b19dadf6f829a46320453f1bd03e0c8dab7377b19acf9a757466865", + "process/2026-07-22-fast-local-git-hooks.zh.md": "sha256:060d081efd9be6575fe85576202ff0d2755749de20bb2aad8844f39951dfc777", "process/2026-07-22-installer-in-repo-skip-clone.i18n.yaml": "sha256:677aa91c3ccd9eda8a658b10410699ac608d3891d2fa32529898a3432fb56660", "process/2026-07-22-installer-in-repo-skip-clone.md": "sha256:4e30c0dd5429db33638a91a30afdd3386ac1a4705bd259a5eef325b5f86cced8", "process/2026-07-22-installer-in-repo-skip-clone.zh.md": "sha256:1d93c99f5a8d56077e766242c33245621626be55cf481d01c83bb5cbbe9a74d7", + "process/2026-07-22-product-first-root-readme.i18n.yaml": "sha256:15a2649b0bb30e7974b020344e266f88674dae8ada334e72e86912ab75dc3b2a", + "process/2026-07-22-product-first-root-readme.md": "sha256:b62798c881956e17279e650e63d10ecc894939abb3273d6a090913993f07e239", + "process/2026-07-22-product-first-root-readme.zh.md": "sha256:f62c128e42211758140e5e7cc3f73a6f74b80627d6bc3d5d2c56c4b294fa65fa", + "process/2026-07-22-tsconfig-solution-root-two-aggregates.i18n.yaml": "sha256:5403b971d067c38c093588c917cc9eff16f588b15c375031be96e4e4b15a528a", + "process/2026-07-22-tsconfig-solution-root-two-aggregates.md": "sha256:3100683c40690e9fdbc2120c66f1c6bc2d8de36ab1c9067fb577c4b284ee59e9", + "process/2026-07-22-tsconfig-solution-root-two-aggregates.zh.md": "sha256:f8cb6b796c21952e44c1e47fc8b3bc6e91cc7ff99f0edc03156cc1117c3c4a3c", "process/2026-07-23-browser-demo-gif-recording.i18n.yaml": "sha256:808ccdda39e540645b440e40a2124baed737b98636265d8f6d8cf036a70f0d50", "process/2026-07-23-browser-demo-gif-recording.md": "sha256:4d3a3dc829c75b66f4f57a6a763b4b9562ce10efb90a19308142f598c5ea8524", "process/2026-07-23-browser-demo-gif-recording.zh.md": "sha256:409e5d31ea87f35c5227fcd1bd105167f580a8a24d29a223ce390b29eb31639a", "process/2026-07-23-personal-staging-maintenance-skills.i18n.yaml": "sha256:cbd5c32f2997713339699f4c12876b1950895fcb21594927c7509e3cb4c5b8d5", "process/2026-07-23-personal-staging-maintenance-skills.md": "sha256:a1ef960ddc47c8bc14578d8432ed0ac4272e31178937780989e4e3b3e3f4d49f", "process/2026-07-23-personal-staging-maintenance-skills.zh.md": "sha256:c0f3fcf0914af88cafcc7e094a2131bd1f764003defc6eaa446b743319e73ec1", + "process/2026-07-23-portable-required-pull-request-ci.i18n.yaml": "sha256:5ab6c0838907120c704d12ab173e0265462ddffbb3732a56a8a2a27d37e41067", + "process/2026-07-23-portable-required-pull-request-ci.md": "sha256:5f80c6735a0e25796e75862806abbdbc10dffa425353e47dac362bfa7b38981e", + "process/2026-07-23-portable-required-pull-request-ci.zh.md": "sha256:099a7c598ccf8f29406030c947dd440aac171ad6bd88220c79014f3d1f02b016", + "process/2026-07-23-translation-prompt-v4-contract.i18n.yaml": "sha256:0439144dc0dddce253969fed3907f06a8831dd2839b6765b69c079d727c04225", + "process/2026-07-23-translation-prompt-v4-contract.md": "sha256:0443343bf263131bc77a3587c7b9f7147bcc8008eb45562a17aaf8168757bf4b", + "process/2026-07-23-translation-prompt-v4-contract.zh.md": "sha256:2269e993a27f3144c92eab54b2a359177653f1d97e44707842481735cc28e9ed", + "process/2026-07-26-briefed-minimal-translation-updates.i18n.yaml": "sha256:3921dfcbe1b0f9f6e79452fd11f8430d7c7cd7704f58c66b2543d910b2266ecb", + "process/2026-07-26-briefed-minimal-translation-updates.md": "sha256:ff824875947c3c191331296faa5c6329cf95b0ff5706c0d7b53c70f2e0bf5c69", + "process/2026-07-26-briefed-minimal-translation-updates.zh.md": "sha256:a5d077f213dd26bbdbb5479656b8e3fcf35bd540544062a871d5347ab5e40754", "process/2026-07-26-gui-pr-gif-evidence-and-assets-branch.i18n.yaml": "sha256:89b6dc255cb0dd9d97ae6f34f37d185412d4260d7bf2f87d6b25e340f01dc26e", "process/2026-07-26-gui-pr-gif-evidence-and-assets-branch.md": "sha256:1742e09435ade4a09349c8843eb381e870a2be2d51b74449f08260422c8096b3", "process/2026-07-26-gui-pr-gif-evidence-and-assets-branch.zh.md": "sha256:220bd53a88617b09ee8970627c46540fa8951724b102acfe296a7ed7d0f7b5fe", + "process/2026-07-26-incremental-pr-base-retargeting.i18n.yaml": "sha256:f6d86de7eae91797cf91a5a558e0b4b509bdb3a89a3581fd7c6fc65904b072a4", + "process/2026-07-26-incremental-pr-base-retargeting.md": "sha256:8886fe9e9e0884d20565cd3a4a5dca7522c3e3c9de732c6df1be03bca2b7cb72", + "process/2026-07-26-incremental-pr-base-retargeting.zh.md": "sha256:266b1c75f3c64b1eed6150565ba6e264dd7fa639ed46736b661f0bf31499d254", + "process/2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.i18n.yaml": "sha256:7f39dcc2db5a5c3e06646d5c8439f6ca05b2378a64f6f0adadb42b4bde2d1b53", + "process/2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.md": "sha256:2561deafd3f90758713fdf4e3d41b284eb2d6975bee34c142b6dae42a8fc087e", + "process/2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.zh.md": "sha256:24b9fa252fe58603d5816e200499cff2ad786c26e8d6f61183fb93f01f1bef0e", + "process/2026-07-26-web-syntax-highlighting-shiki.i18n.yaml": "sha256:1304fa0c38f18faeda5320317bad74d744303a8f3a78d7377de812e4fd7384ad", + "process/2026-07-26-web-syntax-highlighting-shiki.md": "sha256:84f88f0bb2201d9c7b219637e087c858b2f95b426da7d4848ce12ce01f1137b3", + "process/2026-07-26-web-syntax-highlighting-shiki.zh.md": "sha256:e3ec7bbab3ec323a67a2e66a14c80848fb9d6d06556a03018e2284b8422bb671", + "process/2026-07-27-dependabot-version-updates.i18n.yaml": "sha256:97fedbc9fb7517918604ba0bd984f88354b4330a6fd32721b40ef23ef6444997", + "process/2026-07-27-dependabot-version-updates.md": "sha256:5228cc127e3a00188a71aa603199d05ef4e1a23b2a43297f916147b0e6d123ed", + "process/2026-07-27-dependabot-version-updates.zh.md": "sha256:b656a75354fd94b488c9ec4e230831abb59d4045a7ace39b91d4c753fcada2b0", + "process/2026-07-27-explicit-change-scope-report.i18n.yaml": "sha256:ac4066004e48471c7948f1f10fabfa8f684ac573a7b6c79d718a39594e5d3cb7", + "process/2026-07-27-explicit-change-scope-report.md": "sha256:be2cf61ede74611fbbe8f1f2d60fc4264823a2bc0733101c7bbccd49e58f7026", + "process/2026-07-27-explicit-change-scope-report.zh.md": "sha256:9160468e290e64e57440461bc645cce17a3d5a3fe155aa38a8b2707f0248ae3c", "process/2026-07-27-wine-windows-gates-experiment.i18n.yaml": "sha256:6f4cbc12ee9cddbb297bf7e138ccabcd204f66898a0f7411b1633f03d5a9eab5", "process/2026-07-27-wine-windows-gates-experiment.md": "sha256:8d37dcdab058098c7de3da1de00ce61bef92bbc8d6ee71add959474c6fb3e936", "process/2026-07-27-wine-windows-gates-experiment.zh.md": "sha256:77fbf04df36af09e55007a93bd6b22d08ff99869efe8de3e97dac5b4701e0a9e", + "process/2026-07-28-per-subsystem-cordis-surface-regions.i18n.yaml": "sha256:828b9c4ccebed178ef1727c3c5a9ffdbd60a4b065ddf651558af979daa0027e6", + "process/2026-07-28-per-subsystem-cordis-surface-regions.md": "sha256:4dd66c172c3d9edabddf2e8f08a5f6f2afe71947ec4980d3410e07d00f173544", + "process/2026-07-28-per-subsystem-cordis-surface-regions.zh.md": "sha256:d6fbf3b4876c00d8e673319adf28252903e95ebb05e201386e021e5c3be96cc4", + "process/2026-07-29-oxlint-linter.i18n.yaml": "sha256:423b5ed28f25b127182e6a04338167252a96ed0bffa66641fe694a2070929a46", + "process/2026-07-29-oxlint-linter.md": "sha256:0c36ba50025d82056a80c0550d906a602a770c180ac7a51a7c7001241a4ba973", + "process/2026-07-29-oxlint-linter.zh.md": "sha256:55238ce3c3f250666528625806ca2e2c536e5fbd995938597f5986ad6c4c5b33", + "process/2026-07-30-cordis-config-source-plane-resolution-gate.i18n.yaml": "sha256:44109ee400944c2cdf7dc21eced7892308c9a828fafc6e32822df74b3474c2d7", + "process/2026-07-30-cordis-config-source-plane-resolution-gate.md": "sha256:206263ba37525a9a4606cd3b5850ed4b379e05acec98391601f7aa2807af836c", + "process/2026-07-30-cordis-config-source-plane-resolution-gate.zh.md": "sha256:bc3bd7358e37d54a43ee94dee4c0a9d05b68cfbaa4145ea2ba4ca50747df8186", + "process/2026-07-30-independent-ci-consumer-build.i18n.yaml": "sha256:a87208db1b73bc2eee4b1af59019dac009f8d7d8af35429a64dda810e44f2c92", + "process/2026-07-30-independent-ci-consumer-build.md": "sha256:3e8e947d824ea9f0294d22194992819283d5caeb80a010dff02e6bd8f66a4e96", + "process/2026-07-30-independent-ci-consumer-build.zh.md": "sha256:a57232d59dd1ffe6f71f6c5551d81309c926d3afc1f531111ca8d42aa6d50950", + "process/2026-07-31-coverage-exempt-heavy-suites.i18n.yaml": "sha256:1e782d6eab4863396d5543ccbcb3e08e0d6787cd89e47a78e811a17dc7f14ba9", + "process/2026-07-31-coverage-exempt-heavy-suites.md": "sha256:8b7c2ad543443562140d53e252c1d7b2939cd6ac29ba0915e0e7a4624db4fa5d", + "process/2026-07-31-coverage-exempt-heavy-suites.zh.md": "sha256:11af4876b08f76f23b0146ffae59b8b2e046c2a3a04b4ec8a1ba7df33ea8f4a5", "process/2026-07-31-installer-adopts-existing-checkout.i18n.yaml": "sha256:e7d072856cd3df3b717d94647be4ea05db087b114df4b11d68a171677b94c970", "process/2026-07-31-installer-adopts-existing-checkout.md": "sha256:d97e39d07bde30d534417a406fc6c56ee6765dbc7b671888d17ef2cac9a7c6dc", "process/2026-07-31-installer-adopts-existing-checkout.zh.md": "sha256:ab445493c1aacf3f8dc091bdbd765ad56c551ae613e0d8156610f0c4614a7431", "process/2026-08-04-forward-only-pr-issue-status.i18n.yaml": "sha256:af23e203a66a95674154899410e2f420d1d0685dbf856c24cfccdaa547a17925", "process/2026-08-04-forward-only-pr-issue-status.md": "sha256:2d31077da47d95ab3ddf64d5efc6b1b8fb7c7709d39aca4a825ef9e9d382d501", "process/2026-08-04-forward-only-pr-issue-status.zh.md": "sha256:b61f865b7a8a0ac901250a3edbb92ea73177067c4c25448c7088925c2caeccd7", + "process/2026-08-06-coverage-uncovered-locations.i18n.yaml": "sha256:0fe6068c00dc59db7d8843c0713d5377663b57876debb3a3aede459f28dd1226", + "process/2026-08-06-coverage-uncovered-locations.md": "sha256:1a76bd612cd0586306be6929bab9bced2728ad24c9fc93d803c4a0817e24dc5a", + "process/2026-08-06-coverage-uncovered-locations.zh.md": "sha256:b12bd196a5d6c8df40e5bd7e4087fbc0461b843830078b3651e886da7e8e6179", + "process/2026-08-06-doc-site-carries-its-images.i18n.yaml": "sha256:f51e2991b1b630a7f8ea3439dc70b6459c83de2248b45070644b987a54e94ffb", + "process/2026-08-06-doc-site-carries-its-images.md": "sha256:a3aeda5a11ff79c93cea8ecd683dee3389d092e8062cee81d4b2a63d3679c7aa", + "process/2026-08-06-doc-site-carries-its-images.zh.md": "sha256:03226de7c74b41efe102055b9e3d02d3ee753be3d1f6965c704b775a0bfc4b83", + "process/2026-08-06-in-repository-landlock-release.i18n.yaml": "sha256:92199bbb04ab0ccf606441e45b75393cacc09b3ff6c8defc58a4c3f4c1f64536", + "process/2026-08-06-in-repository-landlock-release.md": "sha256:f35f70b2a6c3b88b1d436f77c8a8f2400626a5406ffe0313fb3ddefee993d58a", + "process/2026-08-06-in-repository-landlock-release.zh.md": "sha256:d1d298a2747536ff6335789b157d16a2d5159e7962a26898e87958d29853971e", + "process/2026-08-08-api-remotes-generated-contract-build.i18n.yaml": "sha256:da10469121712bd6ac4fb1f665ca8bd59597a94b56324d2fe4bdef5235498b6e", + "process/2026-08-08-api-remotes-generated-contract-build.md": "sha256:8c3d7712cce4913cd3c02d1ac2b87def3f7104a7503681afc3c755896ac45d1f", + "process/2026-08-08-api-remotes-generated-contract-build.zh.md": "sha256:e32e1f53c763e769d152c8c41cf8f8977210e82a0d3f7cc7f0421da7e589e9ad", + "process/2026-08-08-lightweight-routine-documentation-translation.i18n.yaml": "sha256:f3b44e6148941de9840ef54be60e60ed6ec32ee04b42a1a472e38838b6aa7b14", + "process/2026-08-08-lightweight-routine-documentation-translation.md": "sha256:264fe2ee2338053a11fe0f0d5ccf12772897fe9fd4f4a7e8a1d6ba226f853e14", + "process/2026-08-08-lightweight-routine-documentation-translation.zh.md": "sha256:3d309e2fc34a6a99bbce4891c32d681e0a23b233791b29a550884f3e753d593c", "process/2026-08-08-review-driven-issue-lifecycle-triggers.i18n.yaml": "sha256:4c28c59d3fc323e7cd01eff31f1fe759834719c5bede1e82b39f868970bf856d", "process/2026-08-08-review-driven-issue-lifecycle-triggers.md": "sha256:1b0514de5d030170e91e12e4d6ba788a9247f840e82700faa385a1c0c76ab857", "process/2026-08-08-review-driven-issue-lifecycle-triggers.zh.md": "sha256:028d78d61f603d8bac64c4cce20b393a78f8e029d3bb4976e79a47ecaefa6032", + "process/2026-08-09-chinese-contract-terminology.i18n.yaml": "sha256:25cc7d0b0bb1947931858c0b9bec7d0adb3af247d276da8c8fb8e052b632b1d8", + "process/2026-08-09-chinese-contract-terminology.md": "sha256:e32145c8f467d5a43eb93a16af24d4dd45bff84acf682d768b9f49eb347efb15", + "process/2026-08-09-chinese-contract-terminology.zh.md": "sha256:12efa9c57002d71745373e9afb2f1bd047888e8b45df6b115719b77bfeaa2dd2", + "process/2026-08-09-md-fragment-anchor-gate.i18n.yaml": "sha256:1fed8e5c83099d128819afcc1f80a3727f0fb69ad939865b21c18c27a7db31d3", + "process/2026-08-09-md-fragment-anchor-gate.md": "sha256:60b887fa78d6c0e6176cd906b8b10695a230ae8c5286a93b6f5c7048f3770874", + "process/2026-08-09-md-fragment-anchor-gate.zh.md": "sha256:8cb7c156697cc1d3018b20ebc7477479cee6ce51368297fef394db572fbe7e09", + "process/2026-08-09-oxlint-only-fix-workflow.i18n.yaml": "sha256:7dccbb03ec97f3c2894114024379aa236143d1e653f346598d4f3ce62e87f613", + "process/2026-08-09-oxlint-only-fix-workflow.md": "sha256:b8cae7d2a51dc7669df23a3fe820ce4a5caa92e36e0e1a29d98dc42f8dbd94da", + "process/2026-08-09-oxlint-only-fix-workflow.zh.md": "sha256:1993b098b06c16708c13c8e452ebe4fdebdccf354cf2e60a1cf38938c2d190ab", + "process/2026-08-10-vendor-package-rescope.i18n.yaml": "sha256:f59c9419e63923eaada464cedb2a75600413a21cc5bb19315a0d656660ece5f7", + "process/2026-08-10-vendor-package-rescope.md": "sha256:e89447662c0e17cef2e043e6a05855665962c81cfdce77d1736434090e23ff79", + "process/2026-08-10-vendor-package-rescope.zh.md": "sha256:eaff05582575a8ec8d8690b3a2f5715e10e510c94ab2b609abf691288c5903de", + "process/2026-08-11-python-publication-workflow.i18n.yaml": "sha256:928c742612848d5b76e0f58f55532212424f3b2176bbcd40d1673d8919011021", + "process/2026-08-11-python-publication-workflow.md": "sha256:43c1ded5b3180147605543588f15b4ee98004cb04d454a401173507ed15772ea", + "process/2026-08-11-python-publication-workflow.zh.md": "sha256:4f33306e41696cf31d08eb6c8080bbb2ee60518e71f1d69a8bf3fe189a7c3a98", "process/2026-08-12-documentation-site-navigation-and-chrome.i18n.yaml": "sha256:dde0041399b253e3758045f0858488db8178ffc563ce889c8b396c87af6c3730", "process/2026-08-12-documentation-site-navigation-and-chrome.md": "sha256:56cb836ed862378afd33eb5c1a9dc159958b35a0aed3bf4336fcf26ab0b84b8b", "process/2026-08-12-documentation-site-navigation-and-chrome.zh.md": "sha256:f2dd4adde38a09fe312866a1e6dad0f465684d809287862f40f1a488acd4fe18", + "process/2026-08-12-face-named-client-test-files.i18n.yaml": "sha256:a2fcec18631f2a5ec163b0e1fce93e96650c268c6a44696710aa92fed341b225", + "process/2026-08-12-face-named-client-test-files.md": "sha256:7838475c382f52e55a7d055696a4084265fbc9352d413285f366220fde5f23c6", + "process/2026-08-12-face-named-client-test-files.zh.md": "sha256:52a2c2a3d3fd7b3f4c0e87bfaed16bc6139a7cbf41206650e108d12a43172862", + "process/2026-08-13-public-vendor-and-native-sequences.i18n.yaml": "sha256:1b36a1bc663b0d3e8758bb3aeee6ac5bd655e974a990da9c741571b19cc5dc12", + "process/2026-08-13-public-vendor-and-native-sequences.md": "sha256:6e74662ce606a0e535fba0e1bbf96c55ae9ba029e1d3836722cbc01fc5f0c80b", + "process/2026-08-13-public-vendor-and-native-sequences.zh.md": "sha256:f40e057bbd092cd4aea307a333ac35254f85bf8d6dd2bbc3fc0e438d84f7fb38", + "process/2026-08-13-published-document-fragments.i18n.yaml": "sha256:0fc95cf82fc932fa0398719a3b773e95516dafe76e1a4ff299675c9e2532b861", + "process/2026-08-13-published-document-fragments.md": "sha256:94e2b60ead19b6bb8d30596f3fc72233b4c1a3025befad3cb0dd5089e7d1f816", + "process/2026-08-13-published-document-fragments.zh.md": "sha256:7f52d38b2c038817389286427e5fc73d979c71e238471d102782b96023df67ad", + "process/2026-08-17-readme-assets-on-cdn.i18n.yaml": "sha256:6127ebccb5ad673f539b6043bd12018182de5eda1ddcf9701e8b3cf8fdc75da4", + "process/2026-08-17-readme-assets-on-cdn.md": "sha256:c1c7a47f6eda815e13a497b15ce4226e2e021202f1c9b61c2b7330c5ede9b1bb", + "process/2026-08-17-readme-assets-on-cdn.zh.md": "sha256:e55d6d236076755ddfd79cb03d3942b8a083c29d586bf04f1344a6a925c02d88", + "process/2026-08-18-localized-bilingual-links.i18n.yaml": "sha256:ae4e71d3893050019de59ab0499e500acc0af59a9a1546efe05cbb77e1a00784", + "process/2026-08-18-localized-bilingual-links.md": "sha256:de8afbdc1aa64b51e4df8332b52e87d1622fe3dadb1a5b1cb33b4fd3713eb43a", + "process/2026-08-18-localized-bilingual-links.zh.md": "sha256:89eb74665d5a38a87209dfc172696cb530f6152b2511c9cee675f3c649514575", + "process/2026-08-20-doc-site-raw-markdown-twins.i18n.yaml": "sha256:de18336460253fa8c3f0729a8961b229c039692aac3f4ec3922ea8f0fb97c7a7", + "process/2026-08-20-doc-site-raw-markdown-twins.md": "sha256:a630777a349b1af4a6006aca086ba540ea8613522c3c211b6145c88945303457", + "process/2026-08-20-doc-site-raw-markdown-twins.zh.md": "sha256:90b5c927dec2238e06daa03b45eecbb8a10c50288c99816718aa0b41f8bf9ecb", + "process/2026-08-21-documentation-site-tag-release.i18n.yaml": "sha256:357c314b30fad4c30604e1deea1c2b595b5de801222f9de731a58d1ec1cbe3a5", + "process/2026-08-21-documentation-site-tag-release.md": "sha256:e65028c0ff1742eec07d9e19cdfadbc35d62a11ce8d5234904c0a4112100bbf4", + "process/2026-08-21-documentation-site-tag-release.zh.md": "sha256:6a13e6150ffa298723b45998ad6c176a0fb25db650f3a91a052b01408f2192e4", + "process/2026-08-23-client-cross-package-value-dependencies.i18n.yaml": "sha256:db323576b19b0978a2913367084d159f48c1d57272e26c42c41382c16ea6bc08", + "process/2026-08-23-client-cross-package-value-dependencies.md": "sha256:67cc1e2333a43e019ae3ae2415bf184bea0b0dc1db6acb3b23ec132bf1b46d84", + "process/2026-08-23-client-cross-package-value-dependencies.zh.md": "sha256:7632873d1b27fdb85068ae8d94f244c7934d383ce4bd0fbfca306d02fd8ad083", + "process/2026-08-27-explicit-workspace-path-aliases.i18n.yaml": "sha256:2c27007d7bd2e1652250a0bd80687ff8408e8c8823c848824aa0e8c6d4c70e53", + "process/2026-08-27-explicit-workspace-path-aliases.md": "sha256:b4e2872a5ba5dcd7e4014b3a2e8ae725d5c60356a4d72708215f8665a69f29d9", + "process/2026-08-27-explicit-workspace-path-aliases.zh.md": "sha256:a26eb4929471fdf058804a03c6b44cd7bcb8345cb59ee059d0ffa3136bbb79af", + "process/2026-08-27-gate-runner-fail-fast.i18n.yaml": "sha256:b6003a8a7232ae05d4cc5a24d4f93274f6b05e81dd1cdb1b59767e194aeb2897", + "process/2026-08-27-gate-runner-fail-fast.md": "sha256:c0445303d6bcedef055c7b87c513c1c81d8ae151a18462f40d7293be928c083c", + "process/2026-08-27-gate-runner-fail-fast.zh.md": "sha256:633e8698d7f0aabee210da2d0b6a06da857a60a8bab05943ae6bb993ba6e96cf", + "process/2026-08-28-test-temp-dir-self-cleanup.i18n.yaml": "sha256:b801b7be8503f620b78e6231fa756eb73bd7ba9706991b831b7ae6e23b093cdf", + "process/2026-08-28-test-temp-dir-self-cleanup.md": "sha256:66e62abf171f1393f0b4cdf4c1d932f6bae0ca660d0948d780e355bb4c1bfe87", + "process/2026-08-28-test-temp-dir-self-cleanup.zh.md": "sha256:c6f96a3f429196e96ac98722b42d4f0a77840bc36c9694773bb57fdea7d765ac", + "process/2026-08-30-windows-refs-store-block-clone-install.i18n.yaml": "sha256:3aac7347746a54e4dbc3b7da1c0fc7f7f90ac70fc153ecb7a5b260f98dbe68cb", + "process/2026-08-30-windows-refs-store-block-clone-install.md": "sha256:703d3e0552ee8959aeec8f28538d5b934f460f02d503cdb504b0d131501bf6d0", + "process/2026-08-30-windows-refs-store-block-clone-install.zh.md": "sha256:3072b0097ee7b3d1166388964dac41fe82f83c2d7b24c8bbdc9c26ca82d8e3c4", "process/2026-08-31-pr-opened-issue-start-dates.i18n.yaml": "sha256:c522daca5e126bf64227d6259f447648a589831125113dcf49814817d4b28f17", "process/2026-08-31-pr-opened-issue-start-dates.md": "sha256:749f343576006b0d4950b9c67f434cea0bb9ae21a5fd8d74fefe77b59289ffbf", "process/2026-08-31-pr-opened-issue-start-dates.zh.md": "sha256:a227dc6cba6e62d08a15b1c6b69b5941297c2d10035d257d6f3bc95d6ea54591", + "process/2026-08-31-serial-windows-notices-timeout-budget.i18n.yaml": "sha256:b9444ebc3fe67a4d85f7efbf7dfb921cee3c7dfe2269386883b64d6af1b616eb", + "process/2026-08-31-serial-windows-notices-timeout-budget.md": "sha256:f12c1cadc1062cfbf89358afa2ae242162c3ff1abc4fb6bd3481f4a26913b977", + "process/2026-08-31-serial-windows-notices-timeout-budget.zh.md": "sha256:21ecacb2b3c40c152a05cd6194ed2e33f6e33f4f816edad7ebcaf31c7fecc9a1", + "process/2026-08-31-windows-coverage-flaky-test-budgets.i18n.yaml": "sha256:9f79d6164ea4100e5dda7f5fd301ec190ec9f601b4f50f713a6a34055e4f3be0", + "process/2026-08-31-windows-coverage-flaky-test-budgets.md": "sha256:f08e98e002781b8b45af0b16c375aabc8ea66195733b4552a3586f9029e6210c", + "process/2026-08-31-windows-coverage-flaky-test-budgets.zh.md": "sha256:784d200d253ef9db7559d5d1a444f6b05a798ec9ed66e518b973b24084606f3b", + "process/2026-09-03-workspace-version-coherence-gate.i18n.yaml": "sha256:ac442dee172d396395b8516d6d38c4fcedbc855d735c86c378aec5c1098ecd8d", + "process/2026-09-03-workspace-version-coherence-gate.md": "sha256:37b63a78506a8741eb04826dc1eea7e3a64c19fd4494c2d7754054a5602d308b", + "process/2026-09-03-workspace-version-coherence-gate.zh.md": "sha256:cfa2c8fe6cf1d4665121a987861b70a91b5b41eb99e7ed192c85760a916fddf6", + "simplification/2026-06-19-drop-mutable-session-summary.i18n.yaml": "sha256:43fe5daadc1491f94a3e34595182cad1591f76b64e1f13b48811b80fd7e53b94", + "simplification/2026-06-19-drop-mutable-session-summary.md": "sha256:01647a5a14aa4e195328d4d39c6d80eb0723739e5a543115314716b280a93560", + "simplification/2026-06-19-drop-mutable-session-summary.zh.md": "sha256:22389e0c29158b1f7a5a43ed6073f8795bb87cf51c04cf83be055359cd65c9f5", "simplification/2026-06-20-drop-unconsumed-llm-adapter-change-event.i18n.yaml": "sha256:ad3d1263cb0051b885173bf064de62065e2c646ccaae2d7250723da3b4eab90c", "simplification/2026-06-20-drop-unconsumed-llm-adapter-change-event.md": "sha256:8fb061d51c8c23b47d2367814bab3623c6d5b972f38d207a273caa9030b579bd", "simplification/2026-06-20-drop-unconsumed-llm-adapter-change-event.zh.md": "sha256:2ffeaca91f82844a5616d6dcce6b4af514bb8a7c46f78e47f668b204ac6edc04", @@ -412,6 +1615,12 @@ "simplification/2026-06-20-prune-dead-seam-methods.i18n.yaml": "sha256:0594648368c942f429599ac0ff5977d62c89c70a31d4bdbac61b0a30fe15ef3b", "simplification/2026-06-20-prune-dead-seam-methods.md": "sha256:fd3b0eaf600e178eeeef0c6cedc71f2382878733c557f1915d3b47f74a1d0d6d", "simplification/2026-06-20-prune-dead-seam-methods.zh.md": "sha256:4f5feef9331e3a1346bc362ffb39cfa373db2c609041bfeee6d88a10392464b1", + "simplification/2026-06-20-public-agent-stop-api.i18n.yaml": "sha256:1361af7ba63ec677b7dc972076168aa9572113d7c8a7e698559bb1eeee086403", + "simplification/2026-06-20-public-agent-stop-api.md": "sha256:27155766e62a772963dbd1db2366f428c6fe1781ebb60a45f975837cfdeffacf", + "simplification/2026-06-20-public-agent-stop-api.zh.md": "sha256:9ec55ea92584e1de847938b6603d0fbaa75b701ce79d67848743194e63170afa", + "simplification/2026-06-20-remove-agent-boundary-mirror-events.i18n.yaml": "sha256:449d72fef793fba249462bcc61a87271c17b1c709ce6ac51dc0907e1cc72f4b5", + "simplification/2026-06-20-remove-agent-boundary-mirror-events.md": "sha256:a0603180ce487894ffb7f27341b9aa7bd5ce7f0e02c7dc0dc3178ec6ec1423b3", + "simplification/2026-06-20-remove-agent-boundary-mirror-events.zh.md": "sha256:c3a58df81e6f94a7a303c36e00a74c30896630a409f0d6bef9a2af6b79a5f435", "simplification/2026-07-02-remove-stream-chunk-mirror.i18n.yaml": "sha256:eef600eafd70a576b2ac16a74f5dd5010ee601376008a90be10f1da56d746cee", "simplification/2026-07-02-remove-stream-chunk-mirror.md": "sha256:0c22a896260c6eb8991cc8babd8172f7b6889fc41bb891d748f34650b3eee5ec", "simplification/2026-07-02-remove-stream-chunk-mirror.zh.md": "sha256:ae7a3c2450b16fdf2f8da9e1f83cd987bf387671ecc8ebb76d2e7541695e7ee1", @@ -439,6 +1648,9 @@ "simplification/2026-07-04-share-app-bin-boot-glue.i18n.yaml": "sha256:bd64279826444b41f6f1dc5d92fecd974edc3663885470f2eae226978926a59b", "simplification/2026-07-04-share-app-bin-boot-glue.md": "sha256:de0f4dca1e89c0c19d649aa37989df1991376d2cac1a5ec72c1a3ca0dce27e49", "simplification/2026-07-04-share-app-bin-boot-glue.zh.md": "sha256:e014ac4c2b609b70c467540ff0985c59a74df0eaf3062c43ffcaf1ac35d18ce2", + "simplification/2026-07-04-tighten-hook-protocol-contract.i18n.yaml": "sha256:3945dda821fcb94bcf9f86f24f5f2c6d255fe281d516852ccc036666849e77c1", + "simplification/2026-07-04-tighten-hook-protocol-contract.md": "sha256:a17d6834b42d5377d51c4f6b07a6fddb4806b525c940b81fbde3e2f118f656cb", + "simplification/2026-07-04-tighten-hook-protocol-contract.zh.md": "sha256:90b6f65262d7030c70bef489ed845888cc313d17cbfea2674972a74cdd7a27e4", "simplification/2026-07-04-trim-acp-bridge-unreachable-surface.i18n.yaml": "sha256:9080af48de70cc519f935896ae90134bcecdf4cee56bb5abb3e909672f2dded3", "simplification/2026-07-04-trim-acp-bridge-unreachable-surface.md": "sha256:c11fbdea4bdd14eba517dc6377f8e59eb73fc05779424f38833cc662baf04fd5", "simplification/2026-07-04-trim-acp-bridge-unreachable-surface.zh.md": "sha256:f1bceae26fdea3fc71d8a0e32530eadb00342590a611b9fbc7ff09d0fc8aa3b8", @@ -448,12 +1660,18 @@ "simplification/2026-07-12-prune-unused-web-seam-fields.i18n.yaml": "sha256:896dea8f5430603c445169fa79bfba997421a76d48fa4336349ec693572e6167", "simplification/2026-07-12-prune-unused-web-seam-fields.md": "sha256:e732eb5eed007e95f40f32eddd8d94cd34f0ce579f1a70b16ca072a48a3989b4", "simplification/2026-07-12-prune-unused-web-seam-fields.zh.md": "sha256:ac427d5cf6525c155b12dc7605954ebe3ce1f3edb6da0d0305e8d79cf475460b", + "simplification/2026-07-12-simplify-session-log-representation.i18n.yaml": "sha256:b1d12e88c67aed406683c7da1e75f53ab70c2ca47c7a7f43f928ed334f967537", + "simplification/2026-07-12-simplify-session-log-representation.md": "sha256:47bc2374cc579cefdcaa7cfedd3cb9818bb8d43269ffc9fc7bb6eb38ece236aa", + "simplification/2026-07-12-simplify-session-log-representation.zh.md": "sha256:89ae2d690109c723d2792d8a1d625c7f7334d752f374214a30ebd32a1732326b", "simplification/2026-07-19-retire-subagent-mock-package.i18n.yaml": "sha256:a7e5e21bf8a3a06bbf1272c677a7fff980e7548459405835416b88f1537bfe92", "simplification/2026-07-19-retire-subagent-mock-package.md": "sha256:3df91519b77efcc413a54927adb2f829e944ce7f827211ac6ae66d4b5e0398a7", "simplification/2026-07-19-retire-subagent-mock-package.zh.md": "sha256:c86d96800abc5aebf2d63694cb2cdcb21867091b2867de44493212f302498889", "simplification/2026-07-19-use-one-session-surface-manager.i18n.yaml": "sha256:602ab8fda1facb04a8f04d088267cbbd0426d607a8cc8c3fc056887f4a2696d9", "simplification/2026-07-19-use-one-session-surface-manager.md": "sha256:267882c357527a12d8581c9d78249819a987c766a74a2d47f351dc5b14bf7d0a", "simplification/2026-07-19-use-one-session-surface-manager.zh.md": "sha256:21c68a432c22209a3c19c8424da8e03fe91415d9ce3753cf17d727663077e4c9", + "simplification/2026-07-20-remove-stdio-and-echo-agents.i18n.yaml": "sha256:faf29be2bbf3ba7146a6420b5b86ec7b4f4352a7989bc10a787d9af6d439e48e", + "simplification/2026-07-20-remove-stdio-and-echo-agents.md": "sha256:a4ca94f12a4b6786c49975ccf21be428d558a75feb2dab78fd3c391fbfddcf5a", + "simplification/2026-07-20-remove-stdio-and-echo-agents.zh.md": "sha256:602ae6a1a23c07092a2c0986d920c50b4e138c23ba857547f5e954be4def6404", "simplification/2026-07-20-retire-readline-front-door.i18n.yaml": "sha256:48b8573d325d280b65e7debde660140e7afdf1db793d4eb32c839c635121a965", "simplification/2026-07-20-retire-readline-front-door.md": "sha256:f632cd22fd81cc470992ff4e5f695a118a2aaed53748a860da7e9a78ca99ebbd", "simplification/2026-07-20-retire-readline-front-door.zh.md": "sha256:3612b25120a87f0e1c9d075c9e3c4b6a9449f38c8b219dd1aef506c6e6f92d98", @@ -466,45 +1684,159 @@ "simplification/2026-07-22-tui-titles-from-session-title-service.i18n.yaml": "sha256:b02b34f76599eef44ef6cbacac36345716bed52eafe8f30e5300d654a93eecbb", "simplification/2026-07-22-tui-titles-from-session-title-service.md": "sha256:c84b34c2c4700f78e3060e64f49f16625bab002e8211dcd6fce431e7fd076392", "simplification/2026-07-22-tui-titles-from-session-title-service.zh.md": "sha256:99df66f452004df84efb215e3b58bf73e39af0538ddf038bbed4ac6b65c630ea", + "simplification/2026-07-23-collapse-persistence-flush-state.i18n.yaml": "sha256:117b3c55ccb34b83334fa446042c044914953c541a7880183986888a44ac2049", + "simplification/2026-07-23-collapse-persistence-flush-state.md": "sha256:f759dba2bb805ac2857cd9239bf4298776228b3413b52765fcf60831be438db7", + "simplification/2026-07-23-collapse-persistence-flush-state.zh.md": "sha256:78dea969e20b7f8fa8d3fc70ba7015266ab38def7c8762d1c14f30130c6ac06f", "simplification/2026-07-26-consolidate-gate-scripts-on-existing-deps.i18n.yaml": "sha256:7acf002ea8c1533f052c7bfc0c4e3da013ecf43c5872866a3ee4a8c2691c5e33", "simplification/2026-07-26-consolidate-gate-scripts-on-existing-deps.md": "sha256:f18a913096b7defd2192c4bac888a33f68075c3662703a0e28a6146897d17777", "simplification/2026-07-26-consolidate-gate-scripts-on-existing-deps.zh.md": "sha256:ff48a37673c97059536fe5b61aff746133eac682145550badb049eb5c83b097c", "simplification/2026-07-26-eventsource-parser-for-deepseek-sse.i18n.yaml": "sha256:534abd90ddde9ccd35ab7e595de4242d8fa30a75908a638e5b3290f749553e5a", "simplification/2026-07-26-eventsource-parser-for-deepseek-sse.md": "sha256:ce449c72ed09238ba5dbe6068689db13bd33225694b2ad2c7696541f32dc0eec", "simplification/2026-07-26-eventsource-parser-for-deepseek-sse.zh.md": "sha256:2f66b407b626f1f8c661d849b3b359c959e690715e0ac3f61f7e3d57d59e89c3", + "simplification/2026-07-26-merge-subagent-control-service.i18n.yaml": "sha256:ee4d50bf2184d79a9a13ca7b8912eb538864fb65858a633b9d2ee82e57d8165e", + "simplification/2026-07-26-merge-subagent-control-service.md": "sha256:122a445e165b95b739b09ba57f01f6ba3049dc7d3939843470463c80d0777f0c", + "simplification/2026-07-26-merge-subagent-control-service.zh.md": "sha256:b8c56cc3d4f453744e5023a43ccf771d62b41475dbc9e24ae471785f5e8d5b8e", "simplification/2026-07-26-turndown-for-tool-web-html-markdown.i18n.yaml": "sha256:6df56f5f5639847f0fac445abb5fea8a07f3cf9a0703d9022e50728c8f5055ca", "simplification/2026-07-26-turndown-for-tool-web-html-markdown.md": "sha256:344c5cc2a1e79287eeda6996ae417dd2e02a7545987df0f2c9016b20ae094d93", "simplification/2026-07-26-turndown-for-tool-web-html-markdown.zh.md": "sha256:8c4f2ac12ccd23f7ada90694502f5da689344e6bba72080a89672aa9b4f1903a", "simplification/2026-07-27-copyable-transcript-no-gutter-bar.i18n.yaml": "sha256:821f96f3e203e03b80553c07b10a511926bb5014be95c7df6bffb30c8e226d31", "simplification/2026-07-27-copyable-transcript-no-gutter-bar.md": "sha256:4b6aa150bbc8a4da0acac4d20f5fb8c2b77fef7e9c4c4dba8fd8e84dec36d619", "simplification/2026-07-27-copyable-transcript-no-gutter-bar.zh.md": "sha256:5225e627ff301be171434a5b9f18905fe1578f50eb2d4bf9998e126aba6cc3e3", + "simplification/2026-07-27-intent-named-subagent-continuation-operations.i18n.yaml": "sha256:29460e03376a7c7f4f9c8f0db330ee29da0db2035e8218b3b6350e1797e43b3c", + "simplification/2026-07-27-intent-named-subagent-continuation-operations.md": "sha256:234ec4c6deaf66b434b3dfdfd247b5aa68898fa1fb05faf9f9399fe055a7c8d7", + "simplification/2026-07-27-intent-named-subagent-continuation-operations.zh.md": "sha256:dd1e8b92ba7d2990f7f43401bcebf21b8847bd9bb4422cf1722cbf285da6cb05", + "simplification/2026-07-28-local-json-tree-renderer.i18n.yaml": "sha256:52903d45c69f0996f86cd45b9fe9ec6fe3912a0d27bbbf2f126c874ec6ef5710", + "simplification/2026-07-28-local-json-tree-renderer.md": "sha256:86f90ba8e6c5963598f276e11a7dc3a621cba42ead5b2d48b8ead6bd1b9fbc47", + "simplification/2026-07-28-local-json-tree-renderer.zh.md": "sha256:09f839200b46d328e36bff424db4493a3ce07e7a264941887359cb931874a223", + "simplification/2026-07-29-shared-base-config-overlays.i18n.yaml": "sha256:1991796ad47e1fd230456afb284a3f581fdb4f87a3df2a16f3cb60bc4bf9e0d7", + "simplification/2026-07-29-shared-base-config-overlays.md": "sha256:955f2dccd68a3a7f0767aea1521f52427c54ab5d87104254f0e51a4a6831ef7c", + "simplification/2026-07-29-shared-base-config-overlays.zh.md": "sha256:4dabbd3d815cac89ac24464fb01c1f3f00f37d3821a31aa5b0edc4c3e842bcab", + "simplification/2026-07-29-simplify-web-image-input-v1.i18n.yaml": "sha256:78650ffebb041d0ea79ff696ae59cd146f5065de53035c9d317522716da7e938", + "simplification/2026-07-29-simplify-web-image-input-v1.md": "sha256:b21ab9e82d95813aaf247d0a0cfbda5ad2b0a5a8e0be72cbbbbaefddb6f03732", + "simplification/2026-07-29-simplify-web-image-input-v1.zh.md": "sha256:0827388447fd03837a0a87972d0a9de34f3161f378eb3614259eca2b56b17348", + "simplification/2026-07-30-private-agent-send.i18n.yaml": "sha256:45f30de320f613cd8a8e80afd260729e522f16966e02c752cb35422d6d2611e9", + "simplification/2026-07-30-private-agent-send.md": "sha256:7961f5385abb3a2e257db882b6e30203ee42feca1f0dfd0203c8e82eadd3ae96", + "simplification/2026-07-30-private-agent-send.zh.md": "sha256:04a51dabc33317643b274565ae55783c7831a0560d4480f5e011f7cfcac5767b", "simplification/2026-07-30-sidebar-resize-without-visible-pill.i18n.yaml": "sha256:ad42430fef4a5db610f8c56acfcda79b40396418694f664a5b0fb093bff1f114", "simplification/2026-07-30-sidebar-resize-without-visible-pill.md": "sha256:6f2cfc5121371ec19c7178b31777c223e16bebdc9b63b7654a61cadc4a765b63", "simplification/2026-07-30-sidebar-resize-without-visible-pill.zh.md": "sha256:ab859eeb12c6a74da3c37d411af52fce37bed3195941570b2f23ccd9a00d55fe", + "simplification/2026-07-31-capability-neutral-sandbox-policy-context.i18n.yaml": "sha256:0ce56086a78ba9e01d14e299be033adb07798610889bd496fb6989608b8bcfa0", + "simplification/2026-07-31-capability-neutral-sandbox-policy-context.md": "sha256:2c857fa8db0e8cf067d330e35976ee450e525e80100ba4e8b34aaa1152a68d62", + "simplification/2026-07-31-capability-neutral-sandbox-policy-context.zh.md": "sha256:b39eddb49c9ae3a2263d9a4c9c2d14a229e53cb99f82ff3a527d2787cc6a2727", + "simplification/2026-07-31-drop-user-message-edit-stub.i18n.yaml": "sha256:c170eb004821cc56b3edebe57c7d7a2d36e1ee96546c6f83dee1a149653c891e", + "simplification/2026-07-31-drop-user-message-edit-stub.md": "sha256:4f4bdba53b2b39416d4832d258521753c4212c62d292fdd57faea334b8ebcf5b", + "simplification/2026-07-31-drop-user-message-edit-stub.zh.md": "sha256:1912b429e9e37186af2bc9f4ef26d6b4b9860ef3d99c1720192ac1ff78d33b39", + "simplification/2026-07-31-one-route-to-add-a-workspace.i18n.yaml": "sha256:560ba8f32c2b63633e15dccd07a3e10e326916f7572a62dca3285f7ecbf68f71", + "simplification/2026-07-31-one-route-to-add-a-workspace.md": "sha256:f12d42a4744ff6b04f2e5a23157a4602b7e0b18a49e9604dbf7c52886e83d035", + "simplification/2026-07-31-one-route-to-add-a-workspace.zh.md": "sha256:968de8c5f52ded7cc50a6a04d30eaa2fbba395b2612de5a0f6462c31de3c2fad", "simplification/2026-07-31-web-ui-no-steer-entry-or-interjection-chrome.i18n.yaml": "sha256:531c446f0e95054f8ced17be9a180f8b0a823f7e9d5ce466c94c2f9cff90a111", "simplification/2026-07-31-web-ui-no-steer-entry-or-interjection-chrome.md": "sha256:a35a6372aabdf7cbc211f1bd5820d85d3467c9ed50f84e05caa3339382379ce7", "simplification/2026-07-31-web-ui-no-steer-entry-or-interjection-chrome.zh.md": "sha256:a6ed9530289a783c3d7a1ddb038fba6b7daf7feb773298a57e811791e354d438", "simplification/2026-08-03-explicit-config-dsh-entrypoint.i18n.yaml": "sha256:5466161f3fb8f2e8117fe8ff242675cc9fe9ef264d1e29b9bc586891c73c051a", "simplification/2026-08-03-explicit-config-dsh-entrypoint.md": "sha256:f23accae7d05c2e75cb73ec69b492307f1ce7526ecfa9f6b12a621e02fd1a0c3", "simplification/2026-08-03-explicit-config-dsh-entrypoint.zh.md": "sha256:a32d2c6ecf748a16a2c35b59cd2da2fda75769e3ab24be6a2e026d8655466db4", + "simplification/2026-08-03-omit-invariants-from-shipped-config.i18n.yaml": "sha256:7d8d9c7b4b2b07eb983da892f0d0ee6555b98ef0d0c52f78ae44f93760eba786", + "simplification/2026-08-03-omit-invariants-from-shipped-config.md": "sha256:49f9acad8bed316e64877123dc37aaf26270a7e886ab812d55ea7578ed5e884d", + "simplification/2026-08-03-omit-invariants-from-shipped-config.zh.md": "sha256:40cb30d6fc8844b94014beb0c82c042e613b21fdf4d73736c69696d9fc0351d1", + "simplification/2026-08-04-drop-windows-powershell-picker-fallback.i18n.yaml": "sha256:a0deeb45d4261698beb3c98708285b7e9fb98d00aa25f7fbeeb2b7d4e3ae62c5", + "simplification/2026-08-04-drop-windows-powershell-picker-fallback.md": "sha256:696ebf5100eccb8baf7cb3fc0da617717c001c2dd81e08c1e2aaeac65bcd593b", + "simplification/2026-08-04-drop-windows-powershell-picker-fallback.zh.md": "sha256:a72a8fab50abf1b4d6f67af10075db5826ba7f9d60f4e7fec46b021ed5d0ce61", + "simplification/2026-08-04-remove-tui-package.i18n.yaml": "sha256:08777d9c5753116ea3f93e9720cd7b3c5c8483f05e41b6c9eeca6e9ad5be6cc4", + "simplification/2026-08-04-remove-tui-package.md": "sha256:93832b8f01e03ff4b253ba5305902bf0469a2e07567c3611bf52eab2fc61688a", + "simplification/2026-08-04-remove-tui-package.zh.md": "sha256:87e226ba5709b785381810e8a205befa4e9f6c47a3cc921243410ca2ecdfa620", + "simplification/2026-08-06-buffer-free-feedback-telemetry.i18n.yaml": "sha256:4ade93bbc752fef787f0e068520daeefbb25d370fd11d74fb8a4a71c4e725866", + "simplification/2026-08-06-buffer-free-feedback-telemetry.md": "sha256:ff511d7d705247d47751e85bdccd5f0fede4f548016f292f74c1649369679cf7", + "simplification/2026-08-06-buffer-free-feedback-telemetry.zh.md": "sha256:f9ba3c033fc0784ac18e58a287c76ce5055d4348c99eeb0b20ed7b1ef805f0b9", + "simplification/2026-08-06-user-bubbles-drop-the-branch-action.i18n.yaml": "sha256:e000606d801984d4ee473779891ffe8c197f64f54b75efd82fb46dc84217cd59", + "simplification/2026-08-06-user-bubbles-drop-the-branch-action.md": "sha256:b93ce0d79ee72306d569d80fd81308a2b5704d95df8854b7cbd2f3d898b3f776", + "simplification/2026-08-06-user-bubbles-drop-the-branch-action.zh.md": "sha256:999e3e1252f771c420506a80b7c0d512b70da6770e3e62bb92169180b4cee3e8", + "simplification/2026-08-08-remove-cli-demo.i18n.yaml": "sha256:1baa8649e186e159afb03f112059f46f7a35c303a6039374db8bc4ca743d4bdf", + "simplification/2026-08-08-remove-cli-demo.md": "sha256:a34ce79b674c67a6a47d99c1fa7141b2ae58e36b99da5989d323d229d1921baa", + "simplification/2026-08-08-remove-cli-demo.zh.md": "sha256:96a2a7cc34c7b0abf71b77d666a6349d681fd8a0d9a9c81e30d2aa538d62797a", + "simplification/2026-08-09-bounded-fixed-rate-schedule.i18n.yaml": "sha256:e3870a1cf9ed9391305c46c31187394ecd1878c9ef6fc31c70032221ce834c45", + "simplification/2026-08-09-bounded-fixed-rate-schedule.md": "sha256:61fc499b6ffb26efe6b5d30b9f60a5de4b60b6d54765244033be7fa72c15a818", + "simplification/2026-08-09-bounded-fixed-rate-schedule.zh.md": "sha256:30b3e7919843714964a4887fbaca900b7de05f224f99bef746a4f5ccd9d113dc", + "simplification/2026-08-09-conversational-schedule-delivery.i18n.yaml": "sha256:8a0e1df4e7021ea5ff496a7102a62f29ec7aa8dfab2cde5f131b7fa8bea31ed3", + "simplification/2026-08-09-conversational-schedule-delivery.md": "sha256:3f1451ea5b6dde82a4de58abba1cdba7f4a68a6940dc8a41bd902af943948ccf", + "simplification/2026-08-09-conversational-schedule-delivery.zh.md": "sha256:c027dc1d1be1b4e372a63fa13e241a81c3e18b2611deef0d286963c97aaa65dd", + "simplification/2026-08-09-remove-repository-plugin.i18n.yaml": "sha256:e7466f971e87b8c9a3e5a29a205bdd2b79924c9a03b6901d70a6225dc9bf3305", + "simplification/2026-08-09-remove-repository-plugin.md": "sha256:1952174f92d88a0ae9ffb0fa80326d521d44e3024f7eb2affce511e2a7eed2f0", + "simplification/2026-08-09-remove-repository-plugin.zh.md": "sha256:61520f51c5461adc72c7a7ac11655d9f6b76edb10a97949250144278071a734e", + "simplification/2026-08-10-default-presets-single-editor.i18n.yaml": "sha256:d222aaf5e8160484e9e685677c46f643c1f181c3f928abc9bb3c0a54510a4f2e", + "simplification/2026-08-10-default-presets-single-editor.md": "sha256:a69eb3d2115ee02f72e6ab2e12a89505501bd2856203cf63b95d15512d273757", + "simplification/2026-08-10-default-presets-single-editor.zh.md": "sha256:3cc57312dbbc1d9baec34157cc56109fe0bb7fa4039af2cfd3b26ec4d9293342", + "simplification/2026-08-10-source-run-without-managed-installer.i18n.yaml": "sha256:449b90bd074ca8724d6ec4f42dbe70ef27d34b7ba4e255fba28784dff0ba5b20", + "simplification/2026-08-10-source-run-without-managed-installer.md": "sha256:a05d6cdc8715e09894039bb0bf52e6a43164548135bf7ed4667212ee7ee521e5", + "simplification/2026-08-10-source-run-without-managed-installer.zh.md": "sha256:410342af4c9df0ba2b1c7acd190109303f6cf4da9382fd844ca404963da1d520", + "simplification/2026-08-10-web-remove-steering-interjection-caption.i18n.yaml": "sha256:f5d37186db44ce8b1cbfb1d5be349cf7903316bd18a26638d0f6920428d67d9a", + "simplification/2026-08-10-web-remove-steering-interjection-caption.md": "sha256:55f2768f00782f5a5c581ebeb47c0e527598914dc6180e0c73d3d0da3255a0f8", + "simplification/2026-08-10-web-remove-steering-interjection-caption.zh.md": "sha256:7bb856b63d12d2eadafa69a87c2eaed53cc7f507e5b384688c814bdce0cc0579", "simplification/2026-08-11-cmdline-program-action.i18n.yaml": "sha256:e33b6dee66e23beabf03275e4e4f15134d23a82740ae7be6afd28c11c3163fca", "simplification/2026-08-11-cmdline-program-action.md": "sha256:e6a274bd92a35c98ea24704161b408507876de3162c0f640b4bc70a86ab4d86f", "simplification/2026-08-11-cmdline-program-action.zh.md": "sha256:bd213ad65ea6129c5360f28b2f52e6f3e224a58d07f56da190702939e7b402ee", "simplification/2026-08-11-quickstart-documentation-home.i18n.yaml": "sha256:548c0ff16d40fed3b3318b0b9a26e11d53a60582ff457098a212fc64e7d67eac", "simplification/2026-08-11-quickstart-documentation-home.md": "sha256:21946a828417aca4a214a874a35e88fe5a3e5989c330421f3849937b35bb9a9b", "simplification/2026-08-11-quickstart-documentation-home.zh.md": "sha256:cb292a428d427cf36aff0a184347f0ab653331edb874daf3c5b58a0d1f8e6964", + "simplification/2026-08-11-remove-sdk-project-toolchain.i18n.yaml": "sha256:900bc3b82025743b2d36969cb84db59b05ea0a442bde57f52f5517edd5a447d9", + "simplification/2026-08-11-remove-sdk-project-toolchain.md": "sha256:58d2cfaa18781fea902791a3dd135eaea03df0882956524bf2563344ecd0cd85", + "simplification/2026-08-11-remove-sdk-project-toolchain.zh.md": "sha256:e1b8d269a3a01272b02bdbe5dbbccfe2de88d75392ac9aa4de225174582b29f5", + "simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.i18n.yaml": "sha256:24165390976d4d2c8163dbfd1de3a74c7791c0f7c24b7eea5ea817f1e459bcfe", + "simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.md": "sha256:693ba5c5d1fbd8ba4e895c0297e20111a438688a79db9273f6185d500f7bffb2", + "simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.zh.md": "sha256:ae6292abd1f423df826d46d48e06671efa96d3d700818cb612507594dd520fa3", + "simplification/2026-08-12-separate-source-launch-from-build.i18n.yaml": "sha256:31275244636ac73754297db7331e98241ffeb0832a707af7fa8b4897f1dfb87a", + "simplification/2026-08-12-separate-source-launch-from-build.md": "sha256:6e41573dc574717377d8cebcd2c3bfca7c030f672f42fc0d57300252e97d00b0", + "simplification/2026-08-12-separate-source-launch-from-build.zh.md": "sha256:5af098796af620ac5353c669cb732f275b69f8e94551bb7a1311fad496241f19", + "simplification/2026-08-12-trim-agent-teams-read-and-lifecycle-surface.i18n.yaml": "sha256:ecead5cb22bdf5dcd21f5bea3423b3d12e65d5603659f6d01c2f59d064768d3f", + "simplification/2026-08-12-trim-agent-teams-read-and-lifecycle-surface.md": "sha256:6df59e808f7101d0019d8958eb0ec7ced15eb3664555a1dec322af4e95a1b1cb", + "simplification/2026-08-12-trim-agent-teams-read-and-lifecycle-surface.zh.md": "sha256:9b413efcc565b79d503b5d57fdcbd45aa6009b36c576a65eaebcada91a7b2787", "simplification/2026-08-13-remove-first-run-beta-notice.i18n.yaml": "sha256:51267b74e39544991bfe606e3f749a26914162e454cf357f26223a6ed8de5fad", "simplification/2026-08-13-remove-first-run-beta-notice.md": "sha256:7ef5c712b8dff1152becee6a3f800acd5f7589d7b000f01544f57b175660bcc1", "simplification/2026-08-13-remove-first-run-beta-notice.zh.md": "sha256:f899c79f838b97d1eea4a118de2cf00a97bae910d86d4aabdc447b4e02fb585f", "simplification/2026-08-19-knip-config-cleanup.i18n.yaml": "sha256:ca8f5726aed57ce376c3fbd8b70113e235f3ba37dbf290683157fb4bf143ab13", "simplification/2026-08-19-knip-config-cleanup.md": "sha256:18c61713b3358d3019dac096afc26ce8e5189002f626b25e858dfc5e6f626c8d", "simplification/2026-08-19-knip-config-cleanup.zh.md": "sha256:b8ff16089c1a331603bb80278544c637cb16c1fa3bcfca3c5e1187152a1a0947", + "simplification/2026-08-21-product-subagent-minimal-diagnostics.i18n.yaml": "sha256:23301f321d26def21fbcf1d6058b6b6613673bdb6cae6778cdc8a6d89b8e21f1", + "simplification/2026-08-21-product-subagent-minimal-diagnostics.md": "sha256:a7b9f6885c67c181964e87894dc2ba14e86e0c659ff36a37bfd481b72735ab9b", + "simplification/2026-08-21-product-subagent-minimal-diagnostics.zh.md": "sha256:c8b6810fc0219d35a57c3471074f27feaa0f4dae5adfcd4feca817201e641780", + "simplification/2026-08-24-owner-local-profile-tests-and-guides.i18n.yaml": "sha256:1efba5180c7e131d416a4f630aa224b1bea8971c58568f3779155b4a1bb6fd56", + "simplification/2026-08-24-owner-local-profile-tests-and-guides.md": "sha256:e0fea4341c0243454b1f5640f4d5e6b2d95684d60e4bff28810b7d49ed55b550", + "simplification/2026-08-24-owner-local-profile-tests-and-guides.zh.md": "sha256:240ba1e67105458ffe52476d610fe9fbfda56ae4304a7e416187b8aa453b31eb", + "simplification/2026-08-26-remove-agent-spine-demo.i18n.yaml": "sha256:0bd60a13621bbb259204eda374447b0cd551cc45b0517c1e025dfe8032ab07f0", + "simplification/2026-08-26-remove-agent-spine-demo.md": "sha256:a605d5715278db1a6bccc028dba452da1f69555dec0df3c1e3775365a14625cd", + "simplification/2026-08-26-remove-agent-spine-demo.zh.md": "sha256:54125286a4b7614b1668c382abc1f67822097fe608e0e7f8d659d66f0a56e4ba", + "simplification/2026-08-27-persistence-export-and-pre-release-trims.i18n.yaml": "sha256:1c6779c70d8d327844d69390a449b0c4f0603364666b7d30c93cbeb01899d3ec", + "simplification/2026-08-27-persistence-export-and-pre-release-trims.md": "sha256:715ecdf9be8eda840c8ad37e56569d91aeac8128a171cbc783aba898cea240fc", + "simplification/2026-08-27-persistence-export-and-pre-release-trims.zh.md": "sha256:244a2225316ad54edbeaeef558cba8a01c68f6f366e22abd5688553c77b71629", + "simplification/2026-08-28-remove-hero-input-glow.i18n.yaml": "sha256:68af9690c3463de8e658dbc14194edb438ebf75c8788bba740332d11b0420819", + "simplification/2026-08-28-remove-hero-input-glow.md": "sha256:1d492977342fae8542c2781b0b3df8a95388ce97bedf9dc69db74868167b782c", + "simplification/2026-08-28-remove-hero-input-glow.zh.md": "sha256:b5e52a51adddee66a7f738e0345203cc339f0aaf2dbdfd9ad7524592a300837c", + "simplification/2026-08-28-windows-only-absent-probe-repair.i18n.yaml": "sha256:514413985e730ba5cbe44c1b0220ce14d203939c4617b41b983304a78e97de4e", + "simplification/2026-08-28-windows-only-absent-probe-repair.md": "sha256:dc41d2570cd749641e981ed7ca4cd5ec9a0ceb58c955b9d80f2603c9d790f1f2", + "simplification/2026-08-28-windows-only-absent-probe-repair.zh.md": "sha256:9e81954b7e1bfd59a0f8b977c61922416da0ff654b0a0ae679dfe267c0d775a0", + "simplification/2026-08-30-team-send-message-steer.i18n.yaml": "sha256:236acbb2ed3cad42e1ba084ef0d60b8b2294791eb96043a420c29dabbc912aae", + "simplification/2026-08-30-team-send-message-steer.md": "sha256:98ca92c3e311440c63355331ce2210373b9a70f63f1e4106cf042d96dc62fe48", + "simplification/2026-08-30-team-send-message-steer.zh.md": "sha256:21ae577e9f7e209d7c46d359b43b4cefa8dd961f59606cd2d93665d4d8b56593", + "simplification/2026-09-01-css-produced-file-layout.i18n.yaml": "sha256:9eebdbb523a583e82edfec87c0fb024e7f39d2eeb954ea5033178c8388048e24", + "simplification/2026-09-01-css-produced-file-layout.md": "sha256:1af6cffe25391ea8967c5af9c9a0c93f53944d70535e2abec62660b8b49295d8", + "simplification/2026-09-01-css-produced-file-layout.zh.md": "sha256:1ebd5c1241fa6f0311dcdcd0436e17e9017d6853f2dd52c954498551065f1ac1", + "simplification/2026-09-01-ptc-omits-workflow-tool.i18n.yaml": "sha256:84318dde2d7955dae069138a3bb223002beeec859e536be9c42c51a9bbb333d3", + "simplification/2026-09-01-ptc-omits-workflow-tool.md": "sha256:c5ba23ff9dfbba90d55e1585ad78e11151bb4370d3c5b1ad0414390f86d2bc7c", + "simplification/2026-09-01-ptc-omits-workflow-tool.zh.md": "sha256:e06ed5bb82e5f5372546704e340dea6539b438c76363fa23a74d7c512f4acafc", + "testing/2026-06-11-property-based-testing.i18n.yaml": "sha256:9d378912101ad30203f1fcbcad23e0f5d6ec6f39e04a83f17f90887b5c5d761e", + "testing/2026-06-11-property-based-testing.md": "sha256:cca3b6299784cff94965f21b6d59966109a0bb41fdc2f8cf56653fa6c417a20a", + "testing/2026-06-11-property-based-testing.zh.md": "sha256:09f3d1e2defd2792f87fb0e9892fb7e1db006f3c75ea4581f97e9cde4ea98175", "testing/2026-06-20-remove-redundant-snapshot-log-expected-output.i18n.yaml": "sha256:4177012c0821a8c22499852ecdf096af56d7263cb91c5d9d1bcd552cc26a3e00", "testing/2026-06-20-remove-redundant-snapshot-log-expected-output.md": "sha256:45234e7cc04b6010c6141f8d5924c04547300098f96262d423c50108e7c7011a", "testing/2026-06-20-remove-redundant-snapshot-log-expected-output.zh.md": "sha256:15e5a4ad3dee0bb711480cabe45cd97ec37bbdba19c2c2b47d1e9c203b07a48b", + "testing/2026-06-22-fork-child-replay-seed-boundary.i18n.yaml": "sha256:d5825e686608667c0ba741751653e5cafe14fe77f53e8575742ce7f055a0dfee", + "testing/2026-06-22-fork-child-replay-seed-boundary.md": "sha256:9a6d180126fc0e0a3c31b0aacd3105ea3229469d174aa98d193bc6d67e7b6006", + "testing/2026-06-22-fork-child-replay-seed-boundary.zh.md": "sha256:8b5fa040c21b5266e7c673f822511265a8fa7cb4de4ff60a4b2f8c0bb71416d3", "testing/2026-06-22-fork-snapshot-scenarios.i18n.yaml": "sha256:d9fb0a30bbf58bbd6fcb45c84bee204f3f97a8a4cf7b867eec7320ba8663abf7", "testing/2026-06-22-fork-snapshot-scenarios.md": "sha256:2bd6458490789f68110ec6a7fb6ea55af544f09df854c163fcb83f04a440da98", "testing/2026-06-22-fork-snapshot-scenarios.zh.md": "sha256:f39e26c527dcb92d364b00bd3294f79bb30960ff35a4309bde00563aa594ec08", + "testing/2026-06-22-subagent-snapshot-replay.i18n.yaml": "sha256:161807583dcc125dbc6e9191979e539b358fc1fceffe1ecb1c60b91c533db694", + "testing/2026-06-22-subagent-snapshot-replay.md": "sha256:5808a34da672965a6016a39332b11e63d1ed37501e1a9faf51468e9b6d112e29", + "testing/2026-06-22-subagent-snapshot-replay.zh.md": "sha256:f2735fcb9d29caf56722257ece2488fa934e903d0d2e92681b0a01ef63fb3b6a", "testing/2026-07-04-hook-snapshot-matrix.i18n.yaml": "sha256:f8fe2a2893e929d3a0476151f4f44ce9b4c26790aae84f6ddbf365239ce6a0bb", "testing/2026-07-04-hook-snapshot-matrix.md": "sha256:287b9e0d97ea2e79a3ec6175c02ab01ef1314652528d5911a3a971e008094b6e", "testing/2026-07-04-hook-snapshot-matrix.zh.md": "sha256:25b33993da3b8eb94113b90050ac03b72d40bf085bff72b3119d38105a2d7ee2", @@ -520,11 +1852,35 @@ "testing/2026-07-18-tui-terminal-state-snapshots.i18n.yaml": "sha256:c1a22174274b9f34ef4368039b3547f221507b040bd51b87af73a2722ee6b4d2", "testing/2026-07-18-tui-terminal-state-snapshots.md": "sha256:9a7fdcbeafc34376cb049b9668e0f4e9e541f523116fb11c3af9d35c2963e908", "testing/2026-07-18-tui-terminal-state-snapshots.zh.md": "sha256:26750f240f6c8a7b28746f62fe161b357e9c5dd52867cc7037399f1ed6ff37fa", + "testing/2026-07-22-cross-platform-test-fixtures.i18n.yaml": "sha256:eebe2d6bfd3fcf4e064a49a540441ee3bfd43c02ce0f0820944caaac52736f3d", + "testing/2026-07-22-cross-platform-test-fixtures.md": "sha256:7f2e977086800edc3fda12a997d86d33252b37ac63e3c6495b4139ba7875c75f", + "testing/2026-07-22-cross-platform-test-fixtures.zh.md": "sha256:34fa1eb29b27ff3e2af9e43882bf071079cf38fbb0202fa4e4fd7dfcc304f129", + "testing/2026-07-25-scriptable-llm-wire-fault-server.i18n.yaml": "sha256:cd143c9aa3d23aa9d1bb19a5e6f2d4182f5f883d1d65c3fdbc510b5b030894e4", + "testing/2026-07-25-scriptable-llm-wire-fault-server.md": "sha256:39d4aa16a91d793b83f4d6c8e1c3fce8ab4b47dfd54643e1ccf8a7681acb342c", + "testing/2026-07-25-scriptable-llm-wire-fault-server.zh.md": "sha256:a8dc3b74285c45fb6ad576a0a15145adcc972843ac79d7cb608a6f7f3aa17328", "testing/2026-07-26-execa-for-test-subprocess-plumbing.i18n.yaml": "sha256:dd45cddb591b892739b75b0c180bde7f14008f4769227b863571475be295e1e0", "testing/2026-07-26-execa-for-test-subprocess-plumbing.md": "sha256:1f45a69d0a7367ec5afbf112a77b355339b35270af8ff52696bee879cdf770d3", "testing/2026-07-26-execa-for-test-subprocess-plumbing.zh.md": "sha256:8a24bdc8376373d7a97f65cefc07078824bf918d6a9934056a025ecfafe8634b", + "testing/2026-07-30-vitest-jsdom-webstorage-ownership.i18n.yaml": "sha256:3752fb76874000ae95da9c404e9f5ec47332c92bc46bce7b42ab92997b5084c1", + "testing/2026-07-30-vitest-jsdom-webstorage-ownership.md": "sha256:c3f0da0213a3024cd15bc31952a7e13573d18eb4edf0905e3c63b1af5fd2f7ba", + "testing/2026-07-30-vitest-jsdom-webstorage-ownership.zh.md": "sha256:08ea14581f7485f4af7e945afbd5c2a2a52dafff7be723849bcbd1c91cf9160d", "testing/2026-08-12-required-python-runtime-pull-request-ci.i18n.yaml": "sha256:741e7e58e5e8a9c82d901c4a16a70cea9bd256eac0e94179b5a24a231bb9fe1f", "testing/2026-08-12-required-python-runtime-pull-request-ci.md": "sha256:1f1273d7a550667533e29c76efd148aebf57581a91729c877b44a5e43a52d9ad", - "testing/2026-08-12-required-python-runtime-pull-request-ci.zh.md": "sha256:6b9bf126c6b83d9b21e135d38df677c0d5623168b4353c6ddb706f76762c2193" + "testing/2026-08-12-required-python-runtime-pull-request-ci.zh.md": "sha256:6b9bf126c6b83d9b21e135d38df677c0d5623168b4353c6ddb706f76762c2193", + "testing/2026-08-13-python-minimal-model-visible-snapshot.i18n.yaml": "sha256:7fc0b51d9520e8df73d05589d4ce52f05d38307b04ce49186cf363f02de2b3fd", + "testing/2026-08-13-python-minimal-model-visible-snapshot.md": "sha256:f2fd0176c87b3af3d26b5cb935aca2162e16d9bc5ec72f289c4be80897f80ab7", + "testing/2026-08-13-python-minimal-model-visible-snapshot.zh.md": "sha256:e17b6d7c6f74405c33d64d2743e2a9c1e88abfd04d53aa336608d75689f60c50", + "testing/2026-08-18-session-snapshot-envelope-projection.i18n.yaml": "sha256:dc7ca48e54b336b9f809f43d25059b11e046ccacc2c51785f521de6c89b84be2", + "testing/2026-08-18-session-snapshot-envelope-projection.md": "sha256:4fe577862b474740b35fcd693ca39911e57650ccf6b5990ecece847535725ebd", + "testing/2026-08-18-session-snapshot-envelope-projection.zh.md": "sha256:3d64617f06bb661be017fb38607edfc16f2301604414618aa0ae644767afa2c1", + "testing/2026-08-27-translation-pairing-merge-budget.i18n.yaml": "sha256:06bfed97191f2e22dd8bd5fe770a8af94f8a7d41880d45f719c49772702c905b", + "testing/2026-08-27-translation-pairing-merge-budget.md": "sha256:6654b6befda7e1d4d3b70aceeb9ffcfcd46d855920509a1f64d8cefc417baef1", + "testing/2026-08-27-translation-pairing-merge-budget.zh.md": "sha256:568e4ec0c9a810175a98dfe6649529e688cf0abe05ea192d30440be66a96c8be", + "testing/2026-08-28-ci-test-reliability-skill.i18n.yaml": "sha256:3728e9c4ebcf7dc3d98ad6e8f08563e3d1f9ee9085497f7a4c796b4845ac78f5", + "testing/2026-08-28-ci-test-reliability-skill.md": "sha256:7b2d32590f4625d61252157ae3d8bced8a7e0554e60ce8dbef1cbe15fb51a876", + "testing/2026-08-28-ci-test-reliability-skill.zh.md": "sha256:f58bc370c9a1bf2fe2badd5bf10bd1a8c1012133bb506206113d5c12cb60f93a", + "testing/2026-08-29-windows-lane-hook-and-lefthook-budget.i18n.yaml": "sha256:d6bd5a532f5ed27678291659c5a9424a854e97da6c8bdddba16e4ac4764b9762", + "testing/2026-08-29-windows-lane-hook-and-lefthook-budget.md": "sha256:18a9c2d55ddf166ea3ae854e48cdbd69a9851ab6d68da71c650085ff9611753a", + "testing/2026-08-29-windows-lane-hook-and-lefthook-budget.zh.md": "sha256:571322ae3764969df7bfca845ab5fbec2b577762c53701333db7f6c10489cb9b" } } diff --git a/.agents/notes/archived/process/2026-06-11-vendor-cordis-as-source.i18n.yaml b/.agents/notes/archived/process/2026-06-11-vendor-cordis-as-source.i18n.yaml new file mode 100644 index 0000000000..d302b092c1 --- /dev/null +++ b/.agents/notes/archived/process/2026-06-11-vendor-cordis-as-source.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-06-11-vendor-cordis-as-source.md +2026-06-11-vendor-cordis-as-source.md: 9736c64e6419a443e54c586120592d53be90b10a +2026-06-11-vendor-cordis-as-source.zh.md: d4fdb810c1565bbd2822a0e638e059d5f938741e diff --git a/.agents/notes/implemented/process/2026-06-11-vendor-cordis-as-source.md b/.agents/notes/archived/process/2026-06-11-vendor-cordis-as-source.md similarity index 99% rename from .agents/notes/implemented/process/2026-06-11-vendor-cordis-as-source.md rename to .agents/notes/archived/process/2026-06-11-vendor-cordis-as-source.md index 265966ad0a..9736c64e64 100644 --- a/.agents/notes/implemented/process/2026-06-11-vendor-cordis-as-source.md +++ b/.agents/notes/archived/process/2026-06-11-vendor-cordis-as-source.md @@ -1,6 +1,7 @@ # Agent Note: Vendor Cordis as source, not npm dependencies Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-11-vendor-cordis-as-source.zh.md) diff --git a/.agents/notes/implemented/process/2026-06-11-vendor-cordis-as-source.zh.md b/.agents/notes/archived/process/2026-06-11-vendor-cordis-as-source.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-06-11-vendor-cordis-as-source.zh.md rename to .agents/notes/archived/process/2026-06-11-vendor-cordis-as-source.zh.md index af8c640e21..d4fdb810c1 100644 --- a/.agents/notes/implemented/process/2026-06-11-vendor-cordis-as-source.zh.md +++ b/.agents/notes/archived/process/2026-06-11-vendor-cordis-as-source.zh.md @@ -1,6 +1,7 @@ # Agent Note: 将 Cordis 以源码形式收录,而非作为 NPM 依赖 Status: implemented +Archived: 2026-09-04 [English](2026-06-11-vendor-cordis-as-source.md) | 中文 diff --git a/.agents/notes/archived/process/2026-06-18-markdown-cross-link-lint.i18n.yaml b/.agents/notes/archived/process/2026-06-18-markdown-cross-link-lint.i18n.yaml new file mode 100644 index 0000000000..4a888f7f75 --- /dev/null +++ b/.agents/notes/archived/process/2026-06-18-markdown-cross-link-lint.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-06-18-markdown-cross-link-lint.md +2026-06-18-markdown-cross-link-lint.md: cc3c752ff952ca45288a6fbb539686fb255c7056 +2026-06-18-markdown-cross-link-lint.zh.md: 37ec469b11157d2ce7a951b46c3f08e11dde3da0 diff --git a/.agents/notes/implemented/process/2026-06-18-markdown-cross-link-lint.md b/.agents/notes/archived/process/2026-06-18-markdown-cross-link-lint.md similarity index 99% rename from .agents/notes/implemented/process/2026-06-18-markdown-cross-link-lint.md rename to .agents/notes/archived/process/2026-06-18-markdown-cross-link-lint.md index 37e0a41c08..cc3c752ff9 100644 --- a/.agents/notes/implemented/process/2026-06-18-markdown-cross-link-lint.md +++ b/.agents/notes/archived/process/2026-06-18-markdown-cross-link-lint.md @@ -1,6 +1,7 @@ # Agent Note: Markdown cross-link validity linting Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-18-markdown-cross-link-lint.zh.md) diff --git a/.agents/notes/implemented/process/2026-06-18-markdown-cross-link-lint.zh.md b/.agents/notes/archived/process/2026-06-18-markdown-cross-link-lint.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-06-18-markdown-cross-link-lint.zh.md rename to .agents/notes/archived/process/2026-06-18-markdown-cross-link-lint.zh.md index 56a1c9e90d..37ec469b11 100644 --- a/.agents/notes/implemented/process/2026-06-18-markdown-cross-link-lint.zh.md +++ b/.agents/notes/archived/process/2026-06-18-markdown-cross-link-lint.zh.md @@ -1,6 +1,7 @@ # Agent Note: Markdown 交叉链接有效性检查 Status: implemented +Archived: 2026-09-04 [English](2026-06-18-markdown-cross-link-lint.md) | 中文 diff --git a/.agents/notes/archived/process/2026-06-20-agent-note-classification.i18n.yaml b/.agents/notes/archived/process/2026-06-20-agent-note-classification.i18n.yaml new file mode 100644 index 0000000000..9d0203b5e0 --- /dev/null +++ b/.agents/notes/archived/process/2026-06-20-agent-note-classification.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-06-20-agent-note-classification.md +2026-06-20-agent-note-classification.md: 41304e1d64873c93649ff21d66a365dcc2a1ba77 +2026-06-20-agent-note-classification.zh.md: c0463499bd6b817152c9be62fd1ff7f54d79f9a5 diff --git a/.agents/notes/implemented/process/2026-06-20-agent-note-classification.md b/.agents/notes/archived/process/2026-06-20-agent-note-classification.md similarity index 99% rename from .agents/notes/implemented/process/2026-06-20-agent-note-classification.md rename to .agents/notes/archived/process/2026-06-20-agent-note-classification.md index 36d79d2ba1..41304e1d64 100644 --- a/.agents/notes/implemented/process/2026-06-20-agent-note-classification.md +++ b/.agents/notes/archived/process/2026-06-20-agent-note-classification.md @@ -1,6 +1,7 @@ # Agent Note: Classify Agent Notes by kind via path-encoded subdirectories Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-20-agent-note-classification.zh.md) diff --git a/.agents/notes/implemented/process/2026-06-20-agent-note-classification.zh.md b/.agents/notes/archived/process/2026-06-20-agent-note-classification.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-06-20-agent-note-classification.zh.md rename to .agents/notes/archived/process/2026-06-20-agent-note-classification.zh.md index 569c437a9c..c0463499bd 100644 --- a/.agents/notes/implemented/process/2026-06-20-agent-note-classification.zh.md +++ b/.agents/notes/archived/process/2026-06-20-agent-note-classification.zh.md @@ -1,6 +1,7 @@ # Agent Note: 通过路径编码的子目录对 Agent Note 进行分类 Status: implemented +Archived: 2026-09-04 [English](2026-06-20-agent-note-classification.md) | 中文 diff --git a/.agents/notes/archived/process/2026-06-20-core-data-structures-catalog.i18n.yaml b/.agents/notes/archived/process/2026-06-20-core-data-structures-catalog.i18n.yaml new file mode 100644 index 0000000000..dd66d4d7b2 --- /dev/null +++ b/.agents/notes/archived/process/2026-06-20-core-data-structures-catalog.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-06-20-core-data-structures-catalog.md +2026-06-20-core-data-structures-catalog.md: 37c63bbfba36cafc8d800bc858107c8607f7be11 +2026-06-20-core-data-structures-catalog.zh.md: b17417102c7701a9e4760e336140c5e9557ab011 diff --git a/.agents/notes/implemented/process/2026-06-20-core-data-structures-catalog.md b/.agents/notes/archived/process/2026-06-20-core-data-structures-catalog.md similarity index 99% rename from .agents/notes/implemented/process/2026-06-20-core-data-structures-catalog.md rename to .agents/notes/archived/process/2026-06-20-core-data-structures-catalog.md index 489dc488b8..37c63bbfba 100644 --- a/.agents/notes/implemented/process/2026-06-20-core-data-structures-catalog.md +++ b/.agents/notes/archived/process/2026-06-20-core-data-structures-catalog.md @@ -1,6 +1,7 @@ # Agent Note: Subsystems catalog and the `ts type-equiv` drift gate Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-20-core-data-structures-catalog.zh.md) diff --git a/.agents/notes/implemented/process/2026-06-20-core-data-structures-catalog.zh.md b/.agents/notes/archived/process/2026-06-20-core-data-structures-catalog.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-06-20-core-data-structures-catalog.zh.md rename to .agents/notes/archived/process/2026-06-20-core-data-structures-catalog.zh.md index 2742603cd6..b17417102c 100644 --- a/.agents/notes/implemented/process/2026-06-20-core-data-structures-catalog.zh.md +++ b/.agents/notes/archived/process/2026-06-20-core-data-structures-catalog.zh.md @@ -1,6 +1,7 @@ # Agent Note: 子系统目录与 `ts type-equiv` 漂移门禁 Status: implemented +Archived: 2026-09-04 [English](2026-06-20-core-data-structures-catalog.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-02-tool-schema-catalog.i18n.yaml b/.agents/notes/archived/process/2026-07-02-tool-schema-catalog.i18n.yaml new file mode 100644 index 0000000000..cd60212fd5 --- /dev/null +++ b/.agents/notes/archived/process/2026-07-02-tool-schema-catalog.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-02-tool-schema-catalog.md +2026-07-02-tool-schema-catalog.md: c9dab8f83bcab73f4cb357b6534198020be5ea8b +2026-07-02-tool-schema-catalog.zh.md: 89d8e6f3f14d47504e0e6ea739ba07fd2be92d84 diff --git a/.agents/notes/implemented/process/2026-07-02-tool-schema-catalog.md b/.agents/notes/archived/process/2026-07-02-tool-schema-catalog.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-02-tool-schema-catalog.md rename to .agents/notes/archived/process/2026-07-02-tool-schema-catalog.md index 21192b8caf..c9dab8f83b 100644 --- a/.agents/notes/implemented/process/2026-07-02-tool-schema-catalog.md +++ b/.agents/notes/archived/process/2026-07-02-tool-schema-catalog.md @@ -1,6 +1,7 @@ # Agent Note: Generated tool-schema catalog (boot-and-harvest) Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-02-tool-schema-catalog.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-02-tool-schema-catalog.zh.md b/.agents/notes/archived/process/2026-07-02-tool-schema-catalog.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-02-tool-schema-catalog.zh.md rename to .agents/notes/archived/process/2026-07-02-tool-schema-catalog.zh.md index 756f279b1a..89d8e6f3f1 100644 --- a/.agents/notes/implemented/process/2026-07-02-tool-schema-catalog.zh.md +++ b/.agents/notes/archived/process/2026-07-02-tool-schema-catalog.zh.md @@ -1,6 +1,7 @@ # Agent Note: 生成的工具 schema 目录(启动并采集) Status: implemented +Archived: 2026-09-04 [English](2026-07-02-tool-schema-catalog.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-06-export-jsdoc-gate.i18n.yaml b/.agents/notes/archived/process/2026-07-06-export-jsdoc-gate.i18n.yaml new file mode 100644 index 0000000000..b1abba20d2 --- /dev/null +++ b/.agents/notes/archived/process/2026-07-06-export-jsdoc-gate.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-06-export-jsdoc-gate.md +2026-07-06-export-jsdoc-gate.md: 309236a03b11c3a02ff40494ec799a2e11c2eae1 +2026-07-06-export-jsdoc-gate.zh.md: 4d69037c5d31d842bdce63df048a55e1f3e89d8c diff --git a/.agents/notes/implemented/process/2026-07-06-export-jsdoc-gate.md b/.agents/notes/archived/process/2026-07-06-export-jsdoc-gate.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-06-export-jsdoc-gate.md rename to .agents/notes/archived/process/2026-07-06-export-jsdoc-gate.md index 5f594cf279..309236a03b 100644 --- a/.agents/notes/implemented/process/2026-07-06-export-jsdoc-gate.md +++ b/.agents/notes/archived/process/2026-07-06-export-jsdoc-gate.md @@ -1,6 +1,7 @@ # Agent Note: Export JSDoc gate Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-06-export-jsdoc-gate.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-06-export-jsdoc-gate.zh.md b/.agents/notes/archived/process/2026-07-06-export-jsdoc-gate.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-06-export-jsdoc-gate.zh.md rename to .agents/notes/archived/process/2026-07-06-export-jsdoc-gate.zh.md index a45c790900..4d69037c5d 100644 --- a/.agents/notes/implemented/process/2026-07-06-export-jsdoc-gate.zh.md +++ b/.agents/notes/archived/process/2026-07-06-export-jsdoc-gate.zh.md @@ -1,6 +1,7 @@ # Agent Note: 导出 JSDoc 门禁 Status: implemented +Archived: 2026-09-04 [English](2026-07-06-export-jsdoc-gate.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-10-readme-known-limitations-gate.i18n.yaml b/.agents/notes/archived/process/2026-07-10-readme-known-limitations-gate.i18n.yaml new file mode 100644 index 0000000000..1bfde6a2f5 --- /dev/null +++ b/.agents/notes/archived/process/2026-07-10-readme-known-limitations-gate.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-10-readme-known-limitations-gate.md +2026-07-10-readme-known-limitations-gate.md: 69c037e6a7ef2741247680886a0e31a23b614e66 +2026-07-10-readme-known-limitations-gate.zh.md: 1b32373618dfb8b57f2b3ed962fa4c6fddab2fb2 diff --git a/.agents/notes/implemented/process/2026-07-10-readme-known-limitations-gate.md b/.agents/notes/archived/process/2026-07-10-readme-known-limitations-gate.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-10-readme-known-limitations-gate.md rename to .agents/notes/archived/process/2026-07-10-readme-known-limitations-gate.md index 2ca1168d79..69c037e6a7 100644 --- a/.agents/notes/implemented/process/2026-07-10-readme-known-limitations-gate.md +++ b/.agents/notes/archived/process/2026-07-10-readme-known-limitations-gate.md @@ -1,6 +1,7 @@ # Agent Note: A gated Known-Limitations section in every package README Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-10-readme-known-limitations-gate.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-10-readme-known-limitations-gate.zh.md b/.agents/notes/archived/process/2026-07-10-readme-known-limitations-gate.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-10-readme-known-limitations-gate.zh.md rename to .agents/notes/archived/process/2026-07-10-readme-known-limitations-gate.zh.md index cabb368af5..1b32373618 100644 --- a/.agents/notes/implemented/process/2026-07-10-readme-known-limitations-gate.zh.md +++ b/.agents/notes/archived/process/2026-07-10-readme-known-limitations-gate.zh.md @@ -1,6 +1,7 @@ # Agent Note: 每个包 README 中受门禁保护的「已知限制」章节 Status: implemented +Archived: 2026-09-04 [English](2026-07-10-readme-known-limitations-gate.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-13-documentation-site-projection.i18n.yaml b/.agents/notes/archived/process/2026-07-13-documentation-site-projection.i18n.yaml new file mode 100644 index 0000000000..8a625e3792 --- /dev/null +++ b/.agents/notes/archived/process/2026-07-13-documentation-site-projection.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-13-documentation-site-projection.md +2026-07-13-documentation-site-projection.md: fdad85599cad940df03f7f2f750e3ade79281709 +2026-07-13-documentation-site-projection.zh.md: 756ec23183107c7733ea89fa0f40767ec1d27b4f diff --git a/.agents/notes/implemented/process/2026-07-13-documentation-site-projection.md b/.agents/notes/archived/process/2026-07-13-documentation-site-projection.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-13-documentation-site-projection.md rename to .agents/notes/archived/process/2026-07-13-documentation-site-projection.md index 05e76963ec..fdad85599c 100644 --- a/.agents/notes/implemented/process/2026-07-13-documentation-site-projection.md +++ b/.agents/notes/archived/process/2026-07-13-documentation-site-projection.md @@ -1,6 +1,7 @@ # Agent Note: Project canonical documentation into the website Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-13-documentation-site-projection.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-13-documentation-site-projection.zh.md b/.agents/notes/archived/process/2026-07-13-documentation-site-projection.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-13-documentation-site-projection.zh.md rename to .agents/notes/archived/process/2026-07-13-documentation-site-projection.zh.md index c3e9bafac1..756ec23183 100644 --- a/.agents/notes/implemented/process/2026-07-13-documentation-site-projection.zh.md +++ b/.agents/notes/archived/process/2026-07-13-documentation-site-projection.zh.md @@ -1,6 +1,7 @@ # Agent Note: 将权威文档投影到网站 Status: implemented +Archived: 2026-09-04 [English](2026-07-13-documentation-site-projection.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-14-typescript-program-backed-semantic-gates.i18n.yaml b/.agents/notes/archived/process/2026-07-14-typescript-program-backed-semantic-gates.i18n.yaml new file mode 100644 index 0000000000..15d74cfca7 --- /dev/null +++ b/.agents/notes/archived/process/2026-07-14-typescript-program-backed-semantic-gates.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-14-typescript-program-backed-semantic-gates.md +2026-07-14-typescript-program-backed-semantic-gates.md: 412cb801aa1ed5d95e01a88d467f3afd177cccc8 +2026-07-14-typescript-program-backed-semantic-gates.zh.md: 450e06826e149c797f0d775bdf735802871ff684 diff --git a/.agents/notes/implemented/process/2026-07-14-typescript-program-backed-semantic-gates.md b/.agents/notes/archived/process/2026-07-14-typescript-program-backed-semantic-gates.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-14-typescript-program-backed-semantic-gates.md rename to .agents/notes/archived/process/2026-07-14-typescript-program-backed-semantic-gates.md index 91639d53b6..412cb801aa 100644 --- a/.agents/notes/implemented/process/2026-07-14-typescript-program-backed-semantic-gates.md +++ b/.agents/notes/archived/process/2026-07-14-typescript-program-backed-semantic-gates.md @@ -1,6 +1,7 @@ # Agent Note: TypeScript Program-backed semantic gates Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-14-typescript-program-backed-semantic-gates.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-14-typescript-program-backed-semantic-gates.zh.md b/.agents/notes/archived/process/2026-07-14-typescript-program-backed-semantic-gates.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-14-typescript-program-backed-semantic-gates.zh.md rename to .agents/notes/archived/process/2026-07-14-typescript-program-backed-semantic-gates.zh.md index 2ccb6a9518..450e06826e 100644 --- a/.agents/notes/implemented/process/2026-07-14-typescript-program-backed-semantic-gates.zh.md +++ b/.agents/notes/archived/process/2026-07-14-typescript-program-backed-semantic-gates.zh.md @@ -1,6 +1,7 @@ # Agent Note: 基于 TypeScript Program 的语义门禁 Status: implemented +Archived: 2026-09-04 [English](2026-07-14-typescript-program-backed-semantic-gates.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-19-require-agent-notes-for-non-trivial-changes.i18n.yaml b/.agents/notes/archived/process/2026-07-19-require-agent-notes-for-non-trivial-changes.i18n.yaml new file mode 100644 index 0000000000..b69bc3eda9 --- /dev/null +++ b/.agents/notes/archived/process/2026-07-19-require-agent-notes-for-non-trivial-changes.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-19-require-agent-notes-for-non-trivial-changes.md +2026-07-19-require-agent-notes-for-non-trivial-changes.md: 47b922f6bb974a39f79d162560a1546683f09704 +2026-07-19-require-agent-notes-for-non-trivial-changes.zh.md: cb96f1f5859e5c99ddeceb047aa7d7539f00b8cb diff --git a/.agents/notes/implemented/process/2026-07-19-require-agent-notes-for-non-trivial-changes.md b/.agents/notes/archived/process/2026-07-19-require-agent-notes-for-non-trivial-changes.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-19-require-agent-notes-for-non-trivial-changes.md rename to .agents/notes/archived/process/2026-07-19-require-agent-notes-for-non-trivial-changes.md index 162ae61aff..47b922f6bb 100644 --- a/.agents/notes/implemented/process/2026-07-19-require-agent-notes-for-non-trivial-changes.md +++ b/.agents/notes/archived/process/2026-07-19-require-agent-notes-for-non-trivial-changes.md @@ -1,6 +1,7 @@ # Agent Note: Require an Agent Note for every non-trivial change Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-19-require-agent-notes-for-non-trivial-changes.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-19-require-agent-notes-for-non-trivial-changes.zh.md b/.agents/notes/archived/process/2026-07-19-require-agent-notes-for-non-trivial-changes.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-19-require-agent-notes-for-non-trivial-changes.zh.md rename to .agents/notes/archived/process/2026-07-19-require-agent-notes-for-non-trivial-changes.zh.md index cc342547fa..cb96f1f585 100644 --- a/.agents/notes/implemented/process/2026-07-19-require-agent-notes-for-non-trivial-changes.zh.md +++ b/.agents/notes/archived/process/2026-07-19-require-agent-notes-for-non-trivial-changes.zh.md @@ -1,6 +1,7 @@ # Agent Note: 每项实质性变更都必须附带 Agent Note Status: implemented +Archived: 2026-09-04 [English](2026-07-19-require-agent-notes-for-non-trivial-changes.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-22-evidence-based-larger-hosted-runners.i18n.yaml b/.agents/notes/archived/process/2026-07-22-evidence-based-larger-hosted-runners.i18n.yaml new file mode 100644 index 0000000000..7a55aa408e --- /dev/null +++ b/.agents/notes/archived/process/2026-07-22-evidence-based-larger-hosted-runners.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-22-evidence-based-larger-hosted-runners.md +2026-07-22-evidence-based-larger-hosted-runners.md: 1862f2491509695404aa2ef868b65f2a5701d57c +2026-07-22-evidence-based-larger-hosted-runners.zh.md: 4a403a80d1ef1297e6f10eb91b1ad0b9a2bfa06f diff --git a/.agents/notes/implemented/process/2026-07-22-evidence-based-larger-hosted-runners.md b/.agents/notes/archived/process/2026-07-22-evidence-based-larger-hosted-runners.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-22-evidence-based-larger-hosted-runners.md rename to .agents/notes/archived/process/2026-07-22-evidence-based-larger-hosted-runners.md index db08a4eb98..1862f24915 100644 --- a/.agents/notes/implemented/process/2026-07-22-evidence-based-larger-hosted-runners.md +++ b/.agents/notes/archived/process/2026-07-22-evidence-based-larger-hosted-runners.md @@ -1,6 +1,7 @@ # Agent Note: Evidence-based larger hosted runners Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-22-evidence-based-larger-hosted-runners.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-22-evidence-based-larger-hosted-runners.zh.md b/.agents/notes/archived/process/2026-07-22-evidence-based-larger-hosted-runners.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-22-evidence-based-larger-hosted-runners.zh.md rename to .agents/notes/archived/process/2026-07-22-evidence-based-larger-hosted-runners.zh.md index c6a3a5c121..4a403a80d1 100644 --- a/.agents/notes/implemented/process/2026-07-22-evidence-based-larger-hosted-runners.zh.md +++ b/.agents/notes/archived/process/2026-07-22-evidence-based-larger-hosted-runners.zh.md @@ -1,6 +1,7 @@ # Agent Note: 基于实证选用 GitHub 托管大型运行器 Status: implemented +Archived: 2026-09-04 [English](2026-07-22-evidence-based-larger-hosted-runners.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-22-fast-local-git-hooks.i18n.yaml b/.agents/notes/archived/process/2026-07-22-fast-local-git-hooks.i18n.yaml new file mode 100644 index 0000000000..c4e8350d4d --- /dev/null +++ b/.agents/notes/archived/process/2026-07-22-fast-local-git-hooks.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-22-fast-local-git-hooks.md +2026-07-22-fast-local-git-hooks.md: b13708a96cda088342b6991ff6d9ab797065fc53 +2026-07-22-fast-local-git-hooks.zh.md: 9f7f872c845a5210537701a3c09eb59e820cd62f diff --git a/.agents/notes/implemented/process/2026-07-22-fast-local-git-hooks.md b/.agents/notes/archived/process/2026-07-22-fast-local-git-hooks.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-22-fast-local-git-hooks.md rename to .agents/notes/archived/process/2026-07-22-fast-local-git-hooks.md index ad187c5cfd..b13708a96c 100644 --- a/.agents/notes/implemented/process/2026-07-22-fast-local-git-hooks.md +++ b/.agents/notes/archived/process/2026-07-22-fast-local-git-hooks.md @@ -1,6 +1,7 @@ # Agent Note: Fast local Git hooks Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-22-fast-local-git-hooks.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-22-fast-local-git-hooks.zh.md b/.agents/notes/archived/process/2026-07-22-fast-local-git-hooks.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-22-fast-local-git-hooks.zh.md rename to .agents/notes/archived/process/2026-07-22-fast-local-git-hooks.zh.md index f38de6cc80..9f7f872c84 100644 --- a/.agents/notes/implemented/process/2026-07-22-fast-local-git-hooks.zh.md +++ b/.agents/notes/archived/process/2026-07-22-fast-local-git-hooks.zh.md @@ -1,6 +1,7 @@ # Agent Note: 快速本地 Git 钩子 Status: implemented +Archived: 2026-09-04 [English](2026-07-22-fast-local-git-hooks.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-22-product-first-root-readme.i18n.yaml b/.agents/notes/archived/process/2026-07-22-product-first-root-readme.i18n.yaml new file mode 100644 index 0000000000..9156965ae3 --- /dev/null +++ b/.agents/notes/archived/process/2026-07-22-product-first-root-readme.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-22-product-first-root-readme.md +2026-07-22-product-first-root-readme.md: 040334389f7507d340fb25ce7e97e69de5e106e3 +2026-07-22-product-first-root-readme.zh.md: 114fa948145b86244b263e8f6cbd1e5f2d13066e diff --git a/.agents/notes/implemented/process/2026-07-22-product-first-root-readme.md b/.agents/notes/archived/process/2026-07-22-product-first-root-readme.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-22-product-first-root-readme.md rename to .agents/notes/archived/process/2026-07-22-product-first-root-readme.md index 662ff33453..040334389f 100644 --- a/.agents/notes/implemented/process/2026-07-22-product-first-root-readme.md +++ b/.agents/notes/archived/process/2026-07-22-product-first-root-readme.md @@ -1,6 +1,7 @@ # Agent Note: Product-first root README Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-22-product-first-root-readme.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-22-product-first-root-readme.zh.md b/.agents/notes/archived/process/2026-07-22-product-first-root-readme.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-22-product-first-root-readme.zh.md rename to .agents/notes/archived/process/2026-07-22-product-first-root-readme.zh.md index 3295794339..114fa94814 100644 --- a/.agents/notes/implemented/process/2026-07-22-product-first-root-readme.zh.md +++ b/.agents/notes/archived/process/2026-07-22-product-first-root-readme.zh.md @@ -1,6 +1,7 @@ # Agent Note: 产品优先的根 README Status: implemented +Archived: 2026-09-04 [English](2026-07-22-product-first-root-readme.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-22-tsconfig-solution-root-two-aggregates.i18n.yaml b/.agents/notes/archived/process/2026-07-22-tsconfig-solution-root-two-aggregates.i18n.yaml new file mode 100644 index 0000000000..96a4a5246c --- /dev/null +++ b/.agents/notes/archived/process/2026-07-22-tsconfig-solution-root-two-aggregates.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-22-tsconfig-solution-root-two-aggregates.md +2026-07-22-tsconfig-solution-root-two-aggregates.md: 40e2f8c8826f7b93d0c8c7a28fedc059548e9c55 +2026-07-22-tsconfig-solution-root-two-aggregates.zh.md: 2dd3dcc617019e56a350560b46461eac1bf5d6fe diff --git a/.agents/notes/implemented/process/2026-07-22-tsconfig-solution-root-two-aggregates.md b/.agents/notes/archived/process/2026-07-22-tsconfig-solution-root-two-aggregates.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-22-tsconfig-solution-root-two-aggregates.md rename to .agents/notes/archived/process/2026-07-22-tsconfig-solution-root-two-aggregates.md index 714f7c4b6a..40e2f8c882 100644 --- a/.agents/notes/implemented/process/2026-07-22-tsconfig-solution-root-two-aggregates.md +++ b/.agents/notes/archived/process/2026-07-22-tsconfig-solution-root-two-aggregates.md @@ -1,6 +1,7 @@ # Agent Note: Solution root over two aggregate programs Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-22-tsconfig-solution-root-two-aggregates.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-22-tsconfig-solution-root-two-aggregates.zh.md b/.agents/notes/archived/process/2026-07-22-tsconfig-solution-root-two-aggregates.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-22-tsconfig-solution-root-two-aggregates.zh.md rename to .agents/notes/archived/process/2026-07-22-tsconfig-solution-root-two-aggregates.zh.md index 53fe3c4342..2dd3dcc617 100644 --- a/.agents/notes/implemented/process/2026-07-22-tsconfig-solution-root-two-aggregates.zh.md +++ b/.agents/notes/archived/process/2026-07-22-tsconfig-solution-root-two-aggregates.zh.md @@ -1,6 +1,7 @@ # Agent Note: 以 solution 根文件统辖两个聚合 program Status: implemented +Archived: 2026-09-04 [English](2026-07-22-tsconfig-solution-root-two-aggregates.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-23-portable-required-pull-request-ci.i18n.yaml b/.agents/notes/archived/process/2026-07-23-portable-required-pull-request-ci.i18n.yaml new file mode 100644 index 0000000000..9b36480ab3 --- /dev/null +++ b/.agents/notes/archived/process/2026-07-23-portable-required-pull-request-ci.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-23-portable-required-pull-request-ci.md +2026-07-23-portable-required-pull-request-ci.md: e3995d164cc3c3280f53811a5a789033353fdf02 +2026-07-23-portable-required-pull-request-ci.zh.md: 4fa1a798cc73236e73b02dd7ea1e3012bc8095c0 diff --git a/.agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.md b/.agents/notes/archived/process/2026-07-23-portable-required-pull-request-ci.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.md rename to .agents/notes/archived/process/2026-07-23-portable-required-pull-request-ci.md index 00a58136b8..e3995d164c 100644 --- a/.agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.md +++ b/.agents/notes/archived/process/2026-07-23-portable-required-pull-request-ci.md @@ -1,6 +1,7 @@ # Agent Note: Portable pull-request CI recovery boundary Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-23-portable-required-pull-request-ci.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.zh.md b/.agents/notes/archived/process/2026-07-23-portable-required-pull-request-ci.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.zh.md rename to .agents/notes/archived/process/2026-07-23-portable-required-pull-request-ci.zh.md index e367408850..4fa1a798cc 100644 --- a/.agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.zh.md +++ b/.agents/notes/archived/process/2026-07-23-portable-required-pull-request-ci.zh.md @@ -1,6 +1,7 @@ # Agent Note: 拉取请求 CI 的可移植恢复边界 Status: implemented +Archived: 2026-09-04 [English](2026-07-23-portable-required-pull-request-ci.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-23-translation-prompt-v4-contract.i18n.yaml b/.agents/notes/archived/process/2026-07-23-translation-prompt-v4-contract.i18n.yaml new file mode 100644 index 0000000000..c82d75bca0 --- /dev/null +++ b/.agents/notes/archived/process/2026-07-23-translation-prompt-v4-contract.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-23-translation-prompt-v4-contract.md +2026-07-23-translation-prompt-v4-contract.md: bca5b37e04339812e16f906c86b6d9a86694fd34 +2026-07-23-translation-prompt-v4-contract.zh.md: fd1edff07367f1df1e604805e186622ff98e4035 diff --git a/.agents/notes/implemented/process/2026-07-23-translation-prompt-v4-contract.md b/.agents/notes/archived/process/2026-07-23-translation-prompt-v4-contract.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-23-translation-prompt-v4-contract.md rename to .agents/notes/archived/process/2026-07-23-translation-prompt-v4-contract.md index 68d6837971..bca5b37e04 100644 --- a/.agents/notes/implemented/process/2026-07-23-translation-prompt-v4-contract.md +++ b/.agents/notes/archived/process/2026-07-23-translation-prompt-v4-contract.md @@ -1,6 +1,7 @@ # Agent Note: Calibrated translation prompt v4 contract Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-23-translation-prompt-v4-contract.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-23-translation-prompt-v4-contract.zh.md b/.agents/notes/archived/process/2026-07-23-translation-prompt-v4-contract.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-23-translation-prompt-v4-contract.zh.md rename to .agents/notes/archived/process/2026-07-23-translation-prompt-v4-contract.zh.md index e1505e2984..fd1edff073 100644 --- a/.agents/notes/implemented/process/2026-07-23-translation-prompt-v4-contract.zh.md +++ b/.agents/notes/archived/process/2026-07-23-translation-prompt-v4-contract.zh.md @@ -1,6 +1,7 @@ # Agent Note: 经校准的翻译提示词 v4 约定 Status: implemented +Archived: 2026-09-04 [English](2026-07-23-translation-prompt-v4-contract.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-26-briefed-minimal-translation-updates.i18n.yaml b/.agents/notes/archived/process/2026-07-26-briefed-minimal-translation-updates.i18n.yaml new file mode 100644 index 0000000000..5fb7735374 --- /dev/null +++ b/.agents/notes/archived/process/2026-07-26-briefed-minimal-translation-updates.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-26-briefed-minimal-translation-updates.md +2026-07-26-briefed-minimal-translation-updates.md: b2aa072741ae34877b862fe69d0921d8b0b2c4b4 +2026-07-26-briefed-minimal-translation-updates.zh.md: 9c86a825b6a15d6b11af138d9067963aba499101 diff --git a/.agents/notes/implemented/process/2026-07-26-briefed-minimal-translation-updates.md b/.agents/notes/archived/process/2026-07-26-briefed-minimal-translation-updates.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-26-briefed-minimal-translation-updates.md rename to .agents/notes/archived/process/2026-07-26-briefed-minimal-translation-updates.md index 049e0a2771..b2aa072741 100644 --- a/.agents/notes/implemented/process/2026-07-26-briefed-minimal-translation-updates.md +++ b/.agents/notes/archived/process/2026-07-26-briefed-minimal-translation-updates.md @@ -1,6 +1,7 @@ # Agent Note: Briefed minimal translation updates Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-26-briefed-minimal-translation-updates.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-26-briefed-minimal-translation-updates.zh.md b/.agents/notes/archived/process/2026-07-26-briefed-minimal-translation-updates.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-26-briefed-minimal-translation-updates.zh.md rename to .agents/notes/archived/process/2026-07-26-briefed-minimal-translation-updates.zh.md index 1574617bd1..9c86a825b6 100644 --- a/.agents/notes/implemented/process/2026-07-26-briefed-minimal-translation-updates.zh.md +++ b/.agents/notes/archived/process/2026-07-26-briefed-minimal-translation-updates.zh.md @@ -1,6 +1,7 @@ # Agent Note: 基于简报的最小化翻译更新 Status: implemented +Archived: 2026-09-04 [English](2026-07-26-briefed-minimal-translation-updates.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-26-incremental-pr-base-retargeting.i18n.yaml b/.agents/notes/archived/process/2026-07-26-incremental-pr-base-retargeting.i18n.yaml new file mode 100644 index 0000000000..ed7c99777c --- /dev/null +++ b/.agents/notes/archived/process/2026-07-26-incremental-pr-base-retargeting.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-26-incremental-pr-base-retargeting.md +2026-07-26-incremental-pr-base-retargeting.md: dadea45fe9e5c76870c7d963cd7a46262b9b03ee +2026-07-26-incremental-pr-base-retargeting.zh.md: 2bcc9c172e7c813e7e6700fd7ebb3cbe08c54fa5 diff --git a/.agents/notes/implemented/process/2026-07-26-incremental-pr-base-retargeting.md b/.agents/notes/archived/process/2026-07-26-incremental-pr-base-retargeting.md similarity index 98% rename from .agents/notes/implemented/process/2026-07-26-incremental-pr-base-retargeting.md rename to .agents/notes/archived/process/2026-07-26-incremental-pr-base-retargeting.md index b2e644d998..dadea45fe9 100644 --- a/.agents/notes/implemented/process/2026-07-26-incremental-pr-base-retargeting.md +++ b/.agents/notes/archived/process/2026-07-26-incremental-pr-base-retargeting.md @@ -1,6 +1,7 @@ # Agent Note: Retarget PR bases incrementally Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-26-incremental-pr-base-retargeting.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-26-incremental-pr-base-retargeting.zh.md b/.agents/notes/archived/process/2026-07-26-incremental-pr-base-retargeting.zh.md similarity index 98% rename from .agents/notes/implemented/process/2026-07-26-incremental-pr-base-retargeting.zh.md rename to .agents/notes/archived/process/2026-07-26-incremental-pr-base-retargeting.zh.md index 1d7bb95520..2bcc9c172e 100644 --- a/.agents/notes/implemented/process/2026-07-26-incremental-pr-base-retargeting.zh.md +++ b/.agents/notes/archived/process/2026-07-26-incremental-pr-base-retargeting.zh.md @@ -1,6 +1,7 @@ # Agent Note: 增量更新 PR 的 base 分支 Status: implemented +Archived: 2026-09-04 [English](2026-07-26-incremental-pr-base-retargeting.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.i18n.yaml b/.agents/notes/archived/process/2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.i18n.yaml new file mode 100644 index 0000000000..3ed6b107ed --- /dev/null +++ b/.agents/notes/archived/process/2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.md +2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.md: 777ad5f2d3d9c2a5b0d14ebae66e2c455491deb2 +2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.zh.md: 4ede34558e7e961217362f6f684411daf5ab873a diff --git a/.agents/notes/implemented/process/2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.md b/.agents/notes/archived/process/2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.md rename to .agents/notes/archived/process/2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.md index 2519b9e8bc..777ad5f2d3 100644 --- a/.agents/notes/implemented/process/2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.md +++ b/.agents/notes/archived/process/2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.md @@ -1,6 +1,7 @@ # Agent Note: Provision CI pnpm via pnpm/action-setup Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.zh.md b/.agents/notes/archived/process/2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.zh.md rename to .agents/notes/archived/process/2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.zh.md index 2157541c4b..4ede34558e 100644 --- a/.agents/notes/implemented/process/2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.zh.md +++ b/.agents/notes/archived/process/2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.zh.md @@ -1,6 +1,7 @@ # Agent Note: 经由 pnpm/action-setup 提供 CI 的 pnpm Status: implemented +Archived: 2026-09-04 [English](2026-07-26-pnpm-action-setup-for-symmetric-ci-caching.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-26-web-syntax-highlighting-shiki.i18n.yaml b/.agents/notes/archived/process/2026-07-26-web-syntax-highlighting-shiki.i18n.yaml new file mode 100644 index 0000000000..ea1a13757f --- /dev/null +++ b/.agents/notes/archived/process/2026-07-26-web-syntax-highlighting-shiki.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-26-web-syntax-highlighting-shiki.md +2026-07-26-web-syntax-highlighting-shiki.md: 25e895e7361acfd5a586f99504822586bba98f3f +2026-07-26-web-syntax-highlighting-shiki.zh.md: 77913e8713004f2a02c5d132a317432797ff0adf diff --git a/.agents/notes/implemented/process/2026-07-26-web-syntax-highlighting-shiki.md b/.agents/notes/archived/process/2026-07-26-web-syntax-highlighting-shiki.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-26-web-syntax-highlighting-shiki.md rename to .agents/notes/archived/process/2026-07-26-web-syntax-highlighting-shiki.md index ba50318d30..25e895e736 100644 --- a/.agents/notes/implemented/process/2026-07-26-web-syntax-highlighting-shiki.md +++ b/.agents/notes/archived/process/2026-07-26-web-syntax-highlighting-shiki.md @@ -1,6 +1,7 @@ # Agent Note: Web client syntax highlighting — synchronous fine-grained shiki Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-26-web-syntax-highlighting-shiki.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-26-web-syntax-highlighting-shiki.zh.md b/.agents/notes/archived/process/2026-07-26-web-syntax-highlighting-shiki.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-26-web-syntax-highlighting-shiki.zh.md rename to .agents/notes/archived/process/2026-07-26-web-syntax-highlighting-shiki.zh.md index 5533bcb534..77913e8713 100644 --- a/.agents/notes/implemented/process/2026-07-26-web-syntax-highlighting-shiki.zh.md +++ b/.agents/notes/archived/process/2026-07-26-web-syntax-highlighting-shiki.zh.md @@ -1,6 +1,7 @@ # Agent Note: web client 的语法高亮——同步细粒度的 shiki Status: implemented +Archived: 2026-09-04 [English](2026-07-26-web-syntax-highlighting-shiki.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-27-dependabot-version-updates.i18n.yaml b/.agents/notes/archived/process/2026-07-27-dependabot-version-updates.i18n.yaml new file mode 100644 index 0000000000..59db42ab08 --- /dev/null +++ b/.agents/notes/archived/process/2026-07-27-dependabot-version-updates.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-27-dependabot-version-updates.md +2026-07-27-dependabot-version-updates.md: 8b8cb08bf3c2e1dbee5ddcd944ffc67afaa44280 +2026-07-27-dependabot-version-updates.zh.md: 6a30cd7ae418dc00cdbbb67a068006d595d6f5ad diff --git a/.agents/notes/implemented/process/2026-07-27-dependabot-version-updates.md b/.agents/notes/archived/process/2026-07-27-dependabot-version-updates.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-27-dependabot-version-updates.md rename to .agents/notes/archived/process/2026-07-27-dependabot-version-updates.md index bba83c9e72..8b8cb08bf3 100644 --- a/.agents/notes/implemented/process/2026-07-27-dependabot-version-updates.md +++ b/.agents/notes/archived/process/2026-07-27-dependabot-version-updates.md @@ -1,6 +1,7 @@ # Agent Note: Dependabot version updates with a 30-day cooldown Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-27-dependabot-version-updates.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-27-dependabot-version-updates.zh.md b/.agents/notes/archived/process/2026-07-27-dependabot-version-updates.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-27-dependabot-version-updates.zh.md rename to .agents/notes/archived/process/2026-07-27-dependabot-version-updates.zh.md index 7a615fb282..6a30cd7ae4 100644 --- a/.agents/notes/implemented/process/2026-07-27-dependabot-version-updates.zh.md +++ b/.agents/notes/archived/process/2026-07-27-dependabot-version-updates.zh.md @@ -1,6 +1,7 @@ # Agent Note: Dependabot 版本更新采用 30 天冷却期 Status: implemented +Archived: 2026-09-04 [English](2026-07-27-dependabot-version-updates.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-27-explicit-change-scope-report.i18n.yaml b/.agents/notes/archived/process/2026-07-27-explicit-change-scope-report.i18n.yaml new file mode 100644 index 0000000000..26be08fd6a --- /dev/null +++ b/.agents/notes/archived/process/2026-07-27-explicit-change-scope-report.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-27-explicit-change-scope-report.md +2026-07-27-explicit-change-scope-report.md: 9aa7ab9ca8ef8d9b72fc8012c97ecd8dd8c9464a +2026-07-27-explicit-change-scope-report.zh.md: 6c6a78a43abcd287156bd8fb4079e8664729e643 diff --git a/.agents/notes/implemented/process/2026-07-27-explicit-change-scope-report.md b/.agents/notes/archived/process/2026-07-27-explicit-change-scope-report.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-27-explicit-change-scope-report.md rename to .agents/notes/archived/process/2026-07-27-explicit-change-scope-report.md index 51f79039f2..9aa7ab9ca8 100644 --- a/.agents/notes/implemented/process/2026-07-27-explicit-change-scope-report.md +++ b/.agents/notes/archived/process/2026-07-27-explicit-change-scope-report.md @@ -1,6 +1,7 @@ # Agent Note: Report an explicit repository change scope Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-27-explicit-change-scope-report.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-27-explicit-change-scope-report.zh.md b/.agents/notes/archived/process/2026-07-27-explicit-change-scope-report.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-27-explicit-change-scope-report.zh.md rename to .agents/notes/archived/process/2026-07-27-explicit-change-scope-report.zh.md index 4ea99f15c0..6c6a78a43a 100644 --- a/.agents/notes/implemented/process/2026-07-27-explicit-change-scope-report.zh.md +++ b/.agents/notes/archived/process/2026-07-27-explicit-change-scope-report.zh.md @@ -1,6 +1,7 @@ # Agent Note: 显式报告仓库变更范围 Status: implemented +Archived: 2026-09-04 [English](2026-07-27-explicit-change-scope-report.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-28-per-subsystem-cordis-surface-regions.i18n.yaml b/.agents/notes/archived/process/2026-07-28-per-subsystem-cordis-surface-regions.i18n.yaml new file mode 100644 index 0000000000..88d5361f92 --- /dev/null +++ b/.agents/notes/archived/process/2026-07-28-per-subsystem-cordis-surface-regions.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-28-per-subsystem-cordis-surface-regions.md +2026-07-28-per-subsystem-cordis-surface-regions.md: 3d1065b9cc5eb86d3183883a0995e456e7d11494 +2026-07-28-per-subsystem-cordis-surface-regions.zh.md: bd934fded62b48f6f1f5f2e2d7f9ae72f7f0d185 diff --git a/.agents/notes/implemented/process/2026-07-28-per-subsystem-cordis-surface-regions.md b/.agents/notes/archived/process/2026-07-28-per-subsystem-cordis-surface-regions.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-28-per-subsystem-cordis-surface-regions.md rename to .agents/notes/archived/process/2026-07-28-per-subsystem-cordis-surface-regions.md index 66973223ec..3d1065b9cc 100644 --- a/.agents/notes/implemented/process/2026-07-28-per-subsystem-cordis-surface-regions.md +++ b/.agents/notes/archived/process/2026-07-28-per-subsystem-cordis-surface-regions.md @@ -1,6 +1,7 @@ # Agent Note: Per-subsystem generated cordis-surface regions Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-28-per-subsystem-cordis-surface-regions.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-28-per-subsystem-cordis-surface-regions.zh.md b/.agents/notes/archived/process/2026-07-28-per-subsystem-cordis-surface-regions.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-28-per-subsystem-cordis-surface-regions.zh.md rename to .agents/notes/archived/process/2026-07-28-per-subsystem-cordis-surface-regions.zh.md index de000402bd..bd934fded6 100644 --- a/.agents/notes/implemented/process/2026-07-28-per-subsystem-cordis-surface-regions.zh.md +++ b/.agents/notes/archived/process/2026-07-28-per-subsystem-cordis-surface-regions.zh.md @@ -1,6 +1,7 @@ # Agent Note: 按子系统生成的 cordis-surface 区块 Status: implemented +Archived: 2026-09-04 [English](2026-07-28-per-subsystem-cordis-surface-regions.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-29-oxlint-linter.i18n.yaml b/.agents/notes/archived/process/2026-07-29-oxlint-linter.i18n.yaml new file mode 100644 index 0000000000..2de0209f80 --- /dev/null +++ b/.agents/notes/archived/process/2026-07-29-oxlint-linter.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-29-oxlint-linter.md +2026-07-29-oxlint-linter.md: 882ee9a4fc2316840387bd7ebd6234bd65ed4e6c +2026-07-29-oxlint-linter.zh.md: 16eab94610ccc09622689d96785bf40c4346f414 diff --git a/.agents/notes/implemented/process/2026-07-29-oxlint-linter.md b/.agents/notes/archived/process/2026-07-29-oxlint-linter.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-29-oxlint-linter.md rename to .agents/notes/archived/process/2026-07-29-oxlint-linter.md index 3a4723f227..882ee9a4fc 100644 --- a/.agents/notes/implemented/process/2026-07-29-oxlint-linter.md +++ b/.agents/notes/archived/process/2026-07-29-oxlint-linter.md @@ -1,6 +1,7 @@ # Agent Note: Oxlint as the repository linter Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-29-oxlint-linter.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-29-oxlint-linter.zh.md b/.agents/notes/archived/process/2026-07-29-oxlint-linter.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-29-oxlint-linter.zh.md rename to .agents/notes/archived/process/2026-07-29-oxlint-linter.zh.md index b0d5191f9f..16eab94610 100644 --- a/.agents/notes/implemented/process/2026-07-29-oxlint-linter.zh.md +++ b/.agents/notes/archived/process/2026-07-29-oxlint-linter.zh.md @@ -1,6 +1,7 @@ # Agent Note: 使用 Oxlint 作为仓库 linter Status: implemented +Archived: 2026-09-04 [English](2026-07-29-oxlint-linter.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-30-cordis-config-source-plane-resolution-gate.i18n.yaml b/.agents/notes/archived/process/2026-07-30-cordis-config-source-plane-resolution-gate.i18n.yaml new file mode 100644 index 0000000000..d4b24801e0 --- /dev/null +++ b/.agents/notes/archived/process/2026-07-30-cordis-config-source-plane-resolution-gate.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-30-cordis-config-source-plane-resolution-gate.md +2026-07-30-cordis-config-source-plane-resolution-gate.md: 038ecdd436abcfc9e3973e1ac2865e5167d38d0c +2026-07-30-cordis-config-source-plane-resolution-gate.zh.md: ca6324a412afea338e7613941cf2d22c08dde5e1 diff --git a/.agents/notes/implemented/process/2026-07-30-cordis-config-source-plane-resolution-gate.md b/.agents/notes/archived/process/2026-07-30-cordis-config-source-plane-resolution-gate.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-30-cordis-config-source-plane-resolution-gate.md rename to .agents/notes/archived/process/2026-07-30-cordis-config-source-plane-resolution-gate.md index f9070d3955..038ecdd436 100644 --- a/.agents/notes/implemented/process/2026-07-30-cordis-config-source-plane-resolution-gate.md +++ b/.agents/notes/archived/process/2026-07-30-cordis-config-source-plane-resolution-gate.md @@ -1,6 +1,7 @@ # Agent Note: verify-cordis-config gates source-plane resolution of configured plugins Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-cordis-config-source-plane-resolution-gate.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-30-cordis-config-source-plane-resolution-gate.zh.md b/.agents/notes/archived/process/2026-07-30-cordis-config-source-plane-resolution-gate.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-30-cordis-config-source-plane-resolution-gate.zh.md rename to .agents/notes/archived/process/2026-07-30-cordis-config-source-plane-resolution-gate.zh.md index 0e8a2d22e8..ca6324a412 100644 --- a/.agents/notes/implemented/process/2026-07-30-cordis-config-source-plane-resolution-gate.zh.md +++ b/.agents/notes/archived/process/2026-07-30-cordis-config-source-plane-resolution-gate.zh.md @@ -1,6 +1,7 @@ # Agent Note: verify-cordis-config 对配置中插件的源码面解析实施门禁 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-cordis-config-source-plane-resolution-gate.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-30-independent-ci-consumer-build.i18n.yaml b/.agents/notes/archived/process/2026-07-30-independent-ci-consumer-build.i18n.yaml new file mode 100644 index 0000000000..c0d994c9e7 --- /dev/null +++ b/.agents/notes/archived/process/2026-07-30-independent-ci-consumer-build.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-30-independent-ci-consumer-build.md +2026-07-30-independent-ci-consumer-build.md: 28fb8706b4d7e5e3b6b3de7f84673315de97006b +2026-07-30-independent-ci-consumer-build.zh.md: 1ebd4dabf5b2ff5b2662d09e4abfcca882735637 diff --git a/.agents/notes/implemented/process/2026-07-30-independent-ci-consumer-build.md b/.agents/notes/archived/process/2026-07-30-independent-ci-consumer-build.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-30-independent-ci-consumer-build.md rename to .agents/notes/archived/process/2026-07-30-independent-ci-consumer-build.md index a6d8379579..28fb8706b4 100644 --- a/.agents/notes/implemented/process/2026-07-30-independent-ci-consumer-build.md +++ b/.agents/notes/archived/process/2026-07-30-independent-ci-consumer-build.md @@ -1,6 +1,7 @@ # Agent Note: Independent CI consumer build Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-independent-ci-consumer-build.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-30-independent-ci-consumer-build.zh.md b/.agents/notes/archived/process/2026-07-30-independent-ci-consumer-build.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-30-independent-ci-consumer-build.zh.md rename to .agents/notes/archived/process/2026-07-30-independent-ci-consumer-build.zh.md index a48553564c..1ebd4dabf5 100644 --- a/.agents/notes/implemented/process/2026-07-30-independent-ci-consumer-build.zh.md +++ b/.agents/notes/archived/process/2026-07-30-independent-ci-consumer-build.zh.md @@ -1,6 +1,7 @@ # Agent Note: CI 消费方独立构建 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-independent-ci-consumer-build.md) | 中文 diff --git a/.agents/notes/archived/process/2026-07-31-coverage-exempt-heavy-suites.i18n.yaml b/.agents/notes/archived/process/2026-07-31-coverage-exempt-heavy-suites.i18n.yaml new file mode 100644 index 0000000000..b2afcef0c3 --- /dev/null +++ b/.agents/notes/archived/process/2026-07-31-coverage-exempt-heavy-suites.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-07-31-coverage-exempt-heavy-suites.md +2026-07-31-coverage-exempt-heavy-suites.md: a175623e6d778fa9dcbf9d17fcae036461f92c68 +2026-07-31-coverage-exempt-heavy-suites.zh.md: c08dcd172f802248d9c51712f80df8d1319c27ee diff --git a/.agents/notes/implemented/process/2026-07-31-coverage-exempt-heavy-suites.md b/.agents/notes/archived/process/2026-07-31-coverage-exempt-heavy-suites.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-31-coverage-exempt-heavy-suites.md rename to .agents/notes/archived/process/2026-07-31-coverage-exempt-heavy-suites.md index fe33308cfc..a175623e6d 100644 --- a/.agents/notes/implemented/process/2026-07-31-coverage-exempt-heavy-suites.md +++ b/.agents/notes/archived/process/2026-07-31-coverage-exempt-heavy-suites.md @@ -1,6 +1,7 @@ # Agent Note: Coverage-exempt heavy suites Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-coverage-exempt-heavy-suites.zh.md) diff --git a/.agents/notes/implemented/process/2026-07-31-coverage-exempt-heavy-suites.zh.md b/.agents/notes/archived/process/2026-07-31-coverage-exempt-heavy-suites.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-07-31-coverage-exempt-heavy-suites.zh.md rename to .agents/notes/archived/process/2026-07-31-coverage-exempt-heavy-suites.zh.md index 233fdc403f..c08dcd172f 100644 --- a/.agents/notes/implemented/process/2026-07-31-coverage-exempt-heavy-suites.zh.md +++ b/.agents/notes/archived/process/2026-07-31-coverage-exempt-heavy-suites.zh.md @@ -1,6 +1,7 @@ # Agent Note: 覆盖率豁免重型套件 Status: implemented +Archived: 2026-09-04 [English](2026-07-31-coverage-exempt-heavy-suites.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-06-coverage-uncovered-locations.i18n.yaml b/.agents/notes/archived/process/2026-08-06-coverage-uncovered-locations.i18n.yaml new file mode 100644 index 0000000000..7083a3b77c --- /dev/null +++ b/.agents/notes/archived/process/2026-08-06-coverage-uncovered-locations.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-06-coverage-uncovered-locations.md +2026-08-06-coverage-uncovered-locations.md: a93793b4084ae2d9c8d9e67bc975f79a213363df +2026-08-06-coverage-uncovered-locations.zh.md: c4333bfcfc1a910959f2f4c6abf7f61519115f9c diff --git a/.agents/notes/implemented/process/2026-08-06-coverage-uncovered-locations.md b/.agents/notes/archived/process/2026-08-06-coverage-uncovered-locations.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-06-coverage-uncovered-locations.md rename to .agents/notes/archived/process/2026-08-06-coverage-uncovered-locations.md index d4036ab17a..a93793b408 100644 --- a/.agents/notes/implemented/process/2026-08-06-coverage-uncovered-locations.md +++ b/.agents/notes/archived/process/2026-08-06-coverage-uncovered-locations.md @@ -1,6 +1,7 @@ # Agent Note: Exact uncovered locations on coverage failure Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-coverage-uncovered-locations.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-06-coverage-uncovered-locations.zh.md b/.agents/notes/archived/process/2026-08-06-coverage-uncovered-locations.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-06-coverage-uncovered-locations.zh.md rename to .agents/notes/archived/process/2026-08-06-coverage-uncovered-locations.zh.md index 6a10efd216..c4333bfcfc 100644 --- a/.agents/notes/implemented/process/2026-08-06-coverage-uncovered-locations.zh.md +++ b/.agents/notes/archived/process/2026-08-06-coverage-uncovered-locations.zh.md @@ -1,6 +1,7 @@ # Agent Note: 覆盖率未达标时输出精确未覆盖位置 Status: implemented +Archived: 2026-09-04 [English](2026-08-06-coverage-uncovered-locations.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-06-doc-site-carries-its-images.i18n.yaml b/.agents/notes/archived/process/2026-08-06-doc-site-carries-its-images.i18n.yaml new file mode 100644 index 0000000000..8dbc9c7a81 --- /dev/null +++ b/.agents/notes/archived/process/2026-08-06-doc-site-carries-its-images.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-06-doc-site-carries-its-images.md +2026-08-06-doc-site-carries-its-images.md: 039f4aabf21f14f6b55504fd4a08ad4395d9ef5e +2026-08-06-doc-site-carries-its-images.zh.md: 170d721c574b2867756af7916f4e2e7304f44d94 diff --git a/.agents/notes/implemented/process/2026-08-06-doc-site-carries-its-images.md b/.agents/notes/archived/process/2026-08-06-doc-site-carries-its-images.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-06-doc-site-carries-its-images.md rename to .agents/notes/archived/process/2026-08-06-doc-site-carries-its-images.md index 4078a9b625..039f4aabf2 100644 --- a/.agents/notes/implemented/process/2026-08-06-doc-site-carries-its-images.md +++ b/.agents/notes/archived/process/2026-08-06-doc-site-carries-its-images.md @@ -1,6 +1,7 @@ # Agent Note: The documentation site carries its own images Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-doc-site-carries-its-images.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-06-doc-site-carries-its-images.zh.md b/.agents/notes/archived/process/2026-08-06-doc-site-carries-its-images.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-06-doc-site-carries-its-images.zh.md rename to .agents/notes/archived/process/2026-08-06-doc-site-carries-its-images.zh.md index 4ab90f9736..170d721c57 100644 --- a/.agents/notes/implemented/process/2026-08-06-doc-site-carries-its-images.zh.md +++ b/.agents/notes/archived/process/2026-08-06-doc-site-carries-its-images.zh.md @@ -1,6 +1,7 @@ # Agent Note: 文档站点自带图片 Status: implemented +Archived: 2026-09-04 [English](2026-08-06-doc-site-carries-its-images.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-06-in-repository-landlock-release.i18n.yaml b/.agents/notes/archived/process/2026-08-06-in-repository-landlock-release.i18n.yaml new file mode 100644 index 0000000000..31edbf3658 --- /dev/null +++ b/.agents/notes/archived/process/2026-08-06-in-repository-landlock-release.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-06-in-repository-landlock-release.md +2026-08-06-in-repository-landlock-release.md: c71c7b4c0d5481c768322dd6c04b98caeee80b63 +2026-08-06-in-repository-landlock-release.zh.md: d902a8015ba6947a5a316125c2d17230356d8af2 diff --git a/.agents/notes/implemented/process/2026-08-06-in-repository-landlock-release.md b/.agents/notes/archived/process/2026-08-06-in-repository-landlock-release.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-06-in-repository-landlock-release.md rename to .agents/notes/archived/process/2026-08-06-in-repository-landlock-release.md index 25c31c3cdc..c71c7b4c0d 100644 --- a/.agents/notes/implemented/process/2026-08-06-in-repository-landlock-release.md +++ b/.agents/notes/archived/process/2026-08-06-in-repository-landlock-release.md @@ -1,6 +1,7 @@ # Agent Note: In-repository Landlock release Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-in-repository-landlock-release.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-06-in-repository-landlock-release.zh.md b/.agents/notes/archived/process/2026-08-06-in-repository-landlock-release.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-06-in-repository-landlock-release.zh.md rename to .agents/notes/archived/process/2026-08-06-in-repository-landlock-release.zh.md index 71cd2b7fe3..d902a8015b 100644 --- a/.agents/notes/implemented/process/2026-08-06-in-repository-landlock-release.zh.md +++ b/.agents/notes/archived/process/2026-08-06-in-repository-landlock-release.zh.md @@ -1,6 +1,7 @@ # Agent Note: 仓库内 Landlock 发布 Status: implemented +Archived: 2026-09-04 [English](2026-08-06-in-repository-landlock-release.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-08-api-remotes-generated-contract-build.i18n.yaml b/.agents/notes/archived/process/2026-08-08-api-remotes-generated-contract-build.i18n.yaml new file mode 100644 index 0000000000..2971fe1af7 --- /dev/null +++ b/.agents/notes/archived/process/2026-08-08-api-remotes-generated-contract-build.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-08-api-remotes-generated-contract-build.md +2026-08-08-api-remotes-generated-contract-build.md: c34b25a9605fed0e7543bc9de27c2fbd5d4b0678 +2026-08-08-api-remotes-generated-contract-build.zh.md: 73fa9992c3c8228012727b2ab95de2786a89907e diff --git a/.agents/notes/implemented/process/2026-08-08-api-remotes-generated-contract-build.md b/.agents/notes/archived/process/2026-08-08-api-remotes-generated-contract-build.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-08-api-remotes-generated-contract-build.md rename to .agents/notes/archived/process/2026-08-08-api-remotes-generated-contract-build.md index 319b0205aa..c34b25a960 100644 --- a/.agents/notes/implemented/process/2026-08-08-api-remotes-generated-contract-build.md +++ b/.agents/notes/archived/process/2026-08-08-api-remotes-generated-contract-build.md @@ -1,6 +1,7 @@ # Agent Note: Ordered Build for API Remotes Generated Contracts Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-08-api-remotes-generated-contract-build.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-08-api-remotes-generated-contract-build.zh.md b/.agents/notes/archived/process/2026-08-08-api-remotes-generated-contract-build.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-08-api-remotes-generated-contract-build.zh.md rename to .agents/notes/archived/process/2026-08-08-api-remotes-generated-contract-build.zh.md index 21ed4593f0..73fa9992c3 100644 --- a/.agents/notes/implemented/process/2026-08-08-api-remotes-generated-contract-build.zh.md +++ b/.agents/notes/archived/process/2026-08-08-api-remotes-generated-contract-build.zh.md @@ -1,6 +1,7 @@ # Agent Note: API Remotes 生成约定的有序构建 Status: implemented +Archived: 2026-09-04 [English](2026-08-08-api-remotes-generated-contract-build.md) | 中文 diff --git a/.agents/notes/implemented/process/2026-08-08-lightweight-routine-documentation-translation.i18n.yaml b/.agents/notes/archived/process/2026-08-08-lightweight-routine-documentation-translation.i18n.yaml similarity index 51% rename from .agents/notes/implemented/process/2026-08-08-lightweight-routine-documentation-translation.i18n.yaml rename to .agents/notes/archived/process/2026-08-08-lightweight-routine-documentation-translation.i18n.yaml index b9841d4f7c..8c7279bf48 100644 --- a/.agents/notes/implemented/process/2026-08-08-lightweight-routine-documentation-translation.i18n.yaml +++ b/.agents/notes/archived/process/2026-08-08-lightweight-routine-documentation-translation.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/process/2026-08-08-lightweight-routine-documentation-translation.md -2026-08-08-lightweight-routine-documentation-translation.md: ff4d6005588b562018bf1ee40d6dabb5569766f0 -2026-08-08-lightweight-routine-documentation-translation.zh.md: 42645f010d81f43d29411b0cfa4b094f23003f6f +# pnpm run verify-translation-pairing --write .agents/notes/archived/process/2026-08-08-lightweight-routine-documentation-translation.md +2026-08-08-lightweight-routine-documentation-translation.md: 9c1037d22b2c5aca660f4f35649947c59d9910e1 +2026-08-08-lightweight-routine-documentation-translation.zh.md: 76cbc10f84d9fe1262a5c0cefed0433e79567e28 diff --git a/.agents/notes/implemented/process/2026-08-08-lightweight-routine-documentation-translation.md b/.agents/notes/archived/process/2026-08-08-lightweight-routine-documentation-translation.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-08-lightweight-routine-documentation-translation.md rename to .agents/notes/archived/process/2026-08-08-lightweight-routine-documentation-translation.md index ff4d600558..9c1037d22b 100644 --- a/.agents/notes/implemented/process/2026-08-08-lightweight-routine-documentation-translation.md +++ b/.agents/notes/archived/process/2026-08-08-lightweight-routine-documentation-translation.md @@ -1,6 +1,7 @@ # Agent Note: Lightweight routine documentation translation Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-08-lightweight-routine-documentation-translation.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-08-lightweight-routine-documentation-translation.zh.md b/.agents/notes/archived/process/2026-08-08-lightweight-routine-documentation-translation.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-08-lightweight-routine-documentation-translation.zh.md rename to .agents/notes/archived/process/2026-08-08-lightweight-routine-documentation-translation.zh.md index 42645f010d..76cbc10f84 100644 --- a/.agents/notes/implemented/process/2026-08-08-lightweight-routine-documentation-translation.zh.md +++ b/.agents/notes/archived/process/2026-08-08-lightweight-routine-documentation-translation.zh.md @@ -1,6 +1,7 @@ # Agent Note: 轻量化日常文档翻译 Status: implemented +Archived: 2026-09-04 [English](2026-08-08-lightweight-routine-documentation-translation.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-09-chinese-contract-terminology.i18n.yaml b/.agents/notes/archived/process/2026-08-09-chinese-contract-terminology.i18n.yaml new file mode 100644 index 0000000000..11639fd9fc --- /dev/null +++ b/.agents/notes/archived/process/2026-08-09-chinese-contract-terminology.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-09-chinese-contract-terminology.md +2026-08-09-chinese-contract-terminology.md: 9cccebf2a4d751887c6b058488c6bb094143a82b +2026-08-09-chinese-contract-terminology.zh.md: 3c19b0b7fcf8287b246aa1f77e8c11c47b079506 diff --git a/.agents/notes/implemented/process/2026-08-09-chinese-contract-terminology.md b/.agents/notes/archived/process/2026-08-09-chinese-contract-terminology.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-09-chinese-contract-terminology.md rename to .agents/notes/archived/process/2026-08-09-chinese-contract-terminology.md index fa9e3ab911..9cccebf2a4 100644 --- a/.agents/notes/implemented/process/2026-08-09-chinese-contract-terminology.md +++ b/.agents/notes/archived/process/2026-08-09-chinese-contract-terminology.md @@ -1,6 +1,7 @@ # Agent Note: Standardize Chinese contract terminology on 约定 Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-09-chinese-contract-terminology.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-09-chinese-contract-terminology.zh.md b/.agents/notes/archived/process/2026-08-09-chinese-contract-terminology.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-09-chinese-contract-terminology.zh.md rename to .agents/notes/archived/process/2026-08-09-chinese-contract-terminology.zh.md index 1079d7d79e..3c19b0b7fc 100644 --- a/.agents/notes/implemented/process/2026-08-09-chinese-contract-terminology.zh.md +++ b/.agents/notes/archived/process/2026-08-09-chinese-contract-terminology.zh.md @@ -1,6 +1,7 @@ # Agent Note: 将中文 contract 术语统一为「约定」 Status: implemented +Archived: 2026-09-04 [English](2026-08-09-chinese-contract-terminology.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-09-md-fragment-anchor-gate.i18n.yaml b/.agents/notes/archived/process/2026-08-09-md-fragment-anchor-gate.i18n.yaml new file mode 100644 index 0000000000..01d9a25c8c --- /dev/null +++ b/.agents/notes/archived/process/2026-08-09-md-fragment-anchor-gate.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-09-md-fragment-anchor-gate.md +2026-08-09-md-fragment-anchor-gate.md: 7f6ac3f2eb73e984bd4c414aee271cd7e0f52ae8 +2026-08-09-md-fragment-anchor-gate.zh.md: 5bf52eb2f5498763ccb24c3260b3b63dca1c07a3 diff --git a/.agents/notes/implemented/process/2026-08-09-md-fragment-anchor-gate.md b/.agents/notes/archived/process/2026-08-09-md-fragment-anchor-gate.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-09-md-fragment-anchor-gate.md rename to .agents/notes/archived/process/2026-08-09-md-fragment-anchor-gate.md index de0d02318b..7f6ac3f2eb 100644 --- a/.agents/notes/implemented/process/2026-08-09-md-fragment-anchor-gate.md +++ b/.agents/notes/archived/process/2026-08-09-md-fragment-anchor-gate.md @@ -1,6 +1,7 @@ # Agent Note: verify-md-links validates fragment anchors, closing the last dead-link class Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-09-md-fragment-anchor-gate.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-09-md-fragment-anchor-gate.zh.md b/.agents/notes/archived/process/2026-08-09-md-fragment-anchor-gate.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-09-md-fragment-anchor-gate.zh.md rename to .agents/notes/archived/process/2026-08-09-md-fragment-anchor-gate.zh.md index 54ac751900..5bf52eb2f5 100644 --- a/.agents/notes/implemented/process/2026-08-09-md-fragment-anchor-gate.zh.md +++ b/.agents/notes/archived/process/2026-08-09-md-fragment-anchor-gate.zh.md @@ -1,6 +1,7 @@ # Agent Note: verify-md-links 校验 fragment 锚点,消除最后一类死链 Status: implemented +Archived: 2026-09-04 [English](2026-08-09-md-fragment-anchor-gate.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-09-oxlint-only-fix-workflow.i18n.yaml b/.agents/notes/archived/process/2026-08-09-oxlint-only-fix-workflow.i18n.yaml new file mode 100644 index 0000000000..2243864113 --- /dev/null +++ b/.agents/notes/archived/process/2026-08-09-oxlint-only-fix-workflow.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-09-oxlint-only-fix-workflow.md +2026-08-09-oxlint-only-fix-workflow.md: 482c823ecd8bc4299e17ca789f92e3b1a8d23a87 +2026-08-09-oxlint-only-fix-workflow.zh.md: e9e8bf0132c05618c4e12f34b566975a369489b7 diff --git a/.agents/notes/implemented/process/2026-08-09-oxlint-only-fix-workflow.md b/.agents/notes/archived/process/2026-08-09-oxlint-only-fix-workflow.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-09-oxlint-only-fix-workflow.md rename to .agents/notes/archived/process/2026-08-09-oxlint-only-fix-workflow.md index bc38812db1..482c823ecd 100644 --- a/.agents/notes/implemented/process/2026-08-09-oxlint-only-fix-workflow.md +++ b/.agents/notes/archived/process/2026-08-09-oxlint-only-fix-workflow.md @@ -1,6 +1,7 @@ # Agent Note: Oxlint-only fix workflow Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-09-oxlint-only-fix-workflow.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-09-oxlint-only-fix-workflow.zh.md b/.agents/notes/archived/process/2026-08-09-oxlint-only-fix-workflow.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-09-oxlint-only-fix-workflow.zh.md rename to .agents/notes/archived/process/2026-08-09-oxlint-only-fix-workflow.zh.md index 350fe92bc1..e9e8bf0132 100644 --- a/.agents/notes/implemented/process/2026-08-09-oxlint-only-fix-workflow.zh.md +++ b/.agents/notes/archived/process/2026-08-09-oxlint-only-fix-workflow.zh.md @@ -1,6 +1,7 @@ # Agent Note: 仅使用 Oxlint 的修复工作流 Status: implemented +Archived: 2026-09-04 [English](2026-08-09-oxlint-only-fix-workflow.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-10-vendor-package-rescope.i18n.yaml b/.agents/notes/archived/process/2026-08-10-vendor-package-rescope.i18n.yaml new file mode 100644 index 0000000000..463f68c62a --- /dev/null +++ b/.agents/notes/archived/process/2026-08-10-vendor-package-rescope.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-10-vendor-package-rescope.md +2026-08-10-vendor-package-rescope.md: 7cbbf89d4dcb1e998e98b4f247dc66872e00f0b6 +2026-08-10-vendor-package-rescope.zh.md: 1b57305bb8c330fe38b30ac481ca3a044179e4ec diff --git a/.agents/notes/implemented/process/2026-08-10-vendor-package-rescope.md b/.agents/notes/archived/process/2026-08-10-vendor-package-rescope.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-10-vendor-package-rescope.md rename to .agents/notes/archived/process/2026-08-10-vendor-package-rescope.md index 5b5bc186bd..7cbbf89d4d 100644 --- a/.agents/notes/implemented/process/2026-08-10-vendor-package-rescope.md +++ b/.agents/notes/archived/process/2026-08-10-vendor-package-rescope.md @@ -1,6 +1,7 @@ # Agent Note: Rescope vendored Cordis into @deepseek-ai Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-10-vendor-package-rescope.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-10-vendor-package-rescope.zh.md b/.agents/notes/archived/process/2026-08-10-vendor-package-rescope.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-10-vendor-package-rescope.zh.md rename to .agents/notes/archived/process/2026-08-10-vendor-package-rescope.zh.md index 66aab87709..1b57305bb8 100644 --- a/.agents/notes/implemented/process/2026-08-10-vendor-package-rescope.zh.md +++ b/.agents/notes/archived/process/2026-08-10-vendor-package-rescope.zh.md @@ -1,6 +1,7 @@ # Agent Note: 把 vendored Cordis 重命名进 @deepseek-ai scope Status: implemented +Archived: 2026-09-04 [English](2026-08-10-vendor-package-rescope.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-11-python-publication-workflow.i18n.yaml b/.agents/notes/archived/process/2026-08-11-python-publication-workflow.i18n.yaml new file mode 100644 index 0000000000..da3045fa0e --- /dev/null +++ b/.agents/notes/archived/process/2026-08-11-python-publication-workflow.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-11-python-publication-workflow.md +2026-08-11-python-publication-workflow.md: eb17d5bc947daa9f5725ae330f9d628d46c9cf35 +2026-08-11-python-publication-workflow.zh.md: 85e261bfc51cf21f2cbeb1c651d93f0fe3efb651 diff --git a/.agents/notes/implemented/process/2026-08-11-python-publication-workflow.md b/.agents/notes/archived/process/2026-08-11-python-publication-workflow.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-11-python-publication-workflow.md rename to .agents/notes/archived/process/2026-08-11-python-publication-workflow.md index afb18ee97d..eb17d5bc94 100644 --- a/.agents/notes/implemented/process/2026-08-11-python-publication-workflow.md +++ b/.agents/notes/archived/process/2026-08-11-python-publication-workflow.md @@ -1,6 +1,7 @@ # Agent Note: Python public publication workflow Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-11-python-publication-workflow.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-11-python-publication-workflow.zh.md b/.agents/notes/archived/process/2026-08-11-python-publication-workflow.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-11-python-publication-workflow.zh.md rename to .agents/notes/archived/process/2026-08-11-python-publication-workflow.zh.md index f2d045f686..85e261bfc5 100644 --- a/.agents/notes/implemented/process/2026-08-11-python-publication-workflow.zh.md +++ b/.agents/notes/archived/process/2026-08-11-python-publication-workflow.zh.md @@ -1,6 +1,7 @@ # Agent Note: Python 公开发布工作流 Status: implemented +Archived: 2026-09-04 [English](2026-08-11-python-publication-workflow.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-12-face-named-client-test-files.i18n.yaml b/.agents/notes/archived/process/2026-08-12-face-named-client-test-files.i18n.yaml new file mode 100644 index 0000000000..c7417e258f --- /dev/null +++ b/.agents/notes/archived/process/2026-08-12-face-named-client-test-files.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-12-face-named-client-test-files.md +2026-08-12-face-named-client-test-files.md: 66a1def12187300b7c4c2b5a1bab73a5630ab415 +2026-08-12-face-named-client-test-files.zh.md: ddb2b34725ad1fb51fa236edcad1c9061da4616d diff --git a/.agents/notes/implemented/process/2026-08-12-face-named-client-test-files.md b/.agents/notes/archived/process/2026-08-12-face-named-client-test-files.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-12-face-named-client-test-files.md rename to .agents/notes/archived/process/2026-08-12-face-named-client-test-files.md index 9bc82ba429..66a1def121 100644 --- a/.agents/notes/implemented/process/2026-08-12-face-named-client-test-files.md +++ b/.agents/notes/archived/process/2026-08-12-face-named-client-test-files.md @@ -1,6 +1,7 @@ # Agent Note: Face-named client test files Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-12-face-named-client-test-files.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-12-face-named-client-test-files.zh.md b/.agents/notes/archived/process/2026-08-12-face-named-client-test-files.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-12-face-named-client-test-files.zh.md rename to .agents/notes/archived/process/2026-08-12-face-named-client-test-files.zh.md index c6f62b6055..ddb2b34725 100644 --- a/.agents/notes/implemented/process/2026-08-12-face-named-client-test-files.zh.md +++ b/.agents/notes/archived/process/2026-08-12-face-named-client-test-files.zh.md @@ -1,6 +1,7 @@ # Agent Note: 用文件名标明 client 测试的编译面 Status: implemented +Archived: 2026-09-04 [English](2026-08-12-face-named-client-test-files.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-13-public-vendor-and-native-sequences.i18n.yaml b/.agents/notes/archived/process/2026-08-13-public-vendor-and-native-sequences.i18n.yaml new file mode 100644 index 0000000000..b14d155c27 --- /dev/null +++ b/.agents/notes/archived/process/2026-08-13-public-vendor-and-native-sequences.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-13-public-vendor-and-native-sequences.md +2026-08-13-public-vendor-and-native-sequences.md: c9f050ef6568c5f228db062a9daac925a9dd4da0 +2026-08-13-public-vendor-and-native-sequences.zh.md: 6578fa9f10f8d836e8e0998bbbe60555424b4da6 diff --git a/.agents/notes/implemented/process/2026-08-13-public-vendor-and-native-sequences.md b/.agents/notes/archived/process/2026-08-13-public-vendor-and-native-sequences.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-13-public-vendor-and-native-sequences.md rename to .agents/notes/archived/process/2026-08-13-public-vendor-and-native-sequences.md index 2b2b8039f8..c9f050ef65 100644 --- a/.agents/notes/implemented/process/2026-08-13-public-vendor-and-native-sequences.md +++ b/.agents/notes/archived/process/2026-08-13-public-vendor-and-native-sequences.md @@ -1,6 +1,7 @@ # Agent Note: npm access per release sequence: the vendored framework and the native packages publish publicly Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-13-public-vendor-and-native-sequences.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-13-public-vendor-and-native-sequences.zh.md b/.agents/notes/archived/process/2026-08-13-public-vendor-and-native-sequences.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-13-public-vendor-and-native-sequences.zh.md rename to .agents/notes/archived/process/2026-08-13-public-vendor-and-native-sequences.zh.md index 8ee806f0d4..6578fa9f10 100644 --- a/.agents/notes/implemented/process/2026-08-13-public-vendor-and-native-sequences.zh.md +++ b/.agents/notes/archived/process/2026-08-13-public-vendor-and-native-sequences.zh.md @@ -1,6 +1,7 @@ # Agent Note: 按发布序列区分 npm access:vendored 框架与 native 包公开发布 Status: implemented +Archived: 2026-09-04 [English](2026-08-13-public-vendor-and-native-sequences.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-13-published-document-fragments.i18n.yaml b/.agents/notes/archived/process/2026-08-13-published-document-fragments.i18n.yaml new file mode 100644 index 0000000000..2dfbb77b2c --- /dev/null +++ b/.agents/notes/archived/process/2026-08-13-published-document-fragments.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-13-published-document-fragments.md +2026-08-13-published-document-fragments.md: 53d406976e14d01862ddab207dc009f4d767c287 +2026-08-13-published-document-fragments.zh.md: dc1cfe60adbb306aed98f3b45c359255c56e0321 diff --git a/.agents/notes/implemented/process/2026-08-13-published-document-fragments.md b/.agents/notes/archived/process/2026-08-13-published-document-fragments.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-13-published-document-fragments.md rename to .agents/notes/archived/process/2026-08-13-published-document-fragments.md index 5b4727c361..53d406976e 100644 --- a/.agents/notes/implemented/process/2026-08-13-published-document-fragments.md +++ b/.agents/notes/archived/process/2026-08-13-published-document-fragments.md @@ -1,6 +1,7 @@ # Agent Note: Validate published document fragments Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-13-published-document-fragments.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-13-published-document-fragments.zh.md b/.agents/notes/archived/process/2026-08-13-published-document-fragments.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-13-published-document-fragments.zh.md rename to .agents/notes/archived/process/2026-08-13-published-document-fragments.zh.md index f927e068a5..dc1cfe60ad 100644 --- a/.agents/notes/implemented/process/2026-08-13-published-document-fragments.zh.md +++ b/.agents/notes/archived/process/2026-08-13-published-document-fragments.zh.md @@ -1,6 +1,7 @@ # Agent Note: 校验已发布文档的 fragment Status: implemented +Archived: 2026-09-04 [English](2026-08-13-published-document-fragments.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-17-readme-assets-on-cdn.i18n.yaml b/.agents/notes/archived/process/2026-08-17-readme-assets-on-cdn.i18n.yaml new file mode 100644 index 0000000000..111b0f5036 --- /dev/null +++ b/.agents/notes/archived/process/2026-08-17-readme-assets-on-cdn.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-17-readme-assets-on-cdn.md +2026-08-17-readme-assets-on-cdn.md: 49a4620c0298c621ce5a60f7d870be9c8c2ff117 +2026-08-17-readme-assets-on-cdn.zh.md: f890284df23ac765decbddd8ef21e2b49cae681c diff --git a/.agents/notes/implemented/process/2026-08-17-readme-assets-on-cdn.md b/.agents/notes/archived/process/2026-08-17-readme-assets-on-cdn.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-17-readme-assets-on-cdn.md rename to .agents/notes/archived/process/2026-08-17-readme-assets-on-cdn.md index 8918e21181..49a4620c02 100644 --- a/.agents/notes/implemented/process/2026-08-17-readme-assets-on-cdn.md +++ b/.agents/notes/archived/process/2026-08-17-readme-assets-on-cdn.md @@ -1,6 +1,7 @@ # Agent Note: README assets publish from a dedicated repository Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-17-readme-assets-on-cdn.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-17-readme-assets-on-cdn.zh.md b/.agents/notes/archived/process/2026-08-17-readme-assets-on-cdn.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-17-readme-assets-on-cdn.zh.md rename to .agents/notes/archived/process/2026-08-17-readme-assets-on-cdn.zh.md index a1314068ff..f890284df2 100644 --- a/.agents/notes/implemented/process/2026-08-17-readme-assets-on-cdn.zh.md +++ b/.agents/notes/archived/process/2026-08-17-readme-assets-on-cdn.zh.md @@ -1,6 +1,7 @@ # Agent Note: README 资产通过专用仓库发布 Status: implemented +Archived: 2026-09-04 [English](2026-08-17-readme-assets-on-cdn.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-18-localized-bilingual-links.i18n.yaml b/.agents/notes/archived/process/2026-08-18-localized-bilingual-links.i18n.yaml new file mode 100644 index 0000000000..6127d41e8f --- /dev/null +++ b/.agents/notes/archived/process/2026-08-18-localized-bilingual-links.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-18-localized-bilingual-links.md +2026-08-18-localized-bilingual-links.md: 44283f59b1139dbbcbe761ecfbd04732d51fcbd8 +2026-08-18-localized-bilingual-links.zh.md: bb45bf3f5e3f47027131d35eda394aea4c3e7823 diff --git a/.agents/notes/implemented/process/2026-08-18-localized-bilingual-links.md b/.agents/notes/archived/process/2026-08-18-localized-bilingual-links.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-18-localized-bilingual-links.md rename to .agents/notes/archived/process/2026-08-18-localized-bilingual-links.md index d8b792d5d1..44283f59b1 100644 --- a/.agents/notes/implemented/process/2026-08-18-localized-bilingual-links.md +++ b/.agents/notes/archived/process/2026-08-18-localized-bilingual-links.md @@ -1,6 +1,7 @@ # Agent Note: Localize bilingual document links Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-18-localized-bilingual-links.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-18-localized-bilingual-links.zh.md b/.agents/notes/archived/process/2026-08-18-localized-bilingual-links.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-18-localized-bilingual-links.zh.md rename to .agents/notes/archived/process/2026-08-18-localized-bilingual-links.zh.md index ed49fccd97..bb45bf3f5e 100644 --- a/.agents/notes/implemented/process/2026-08-18-localized-bilingual-links.zh.md +++ b/.agents/notes/archived/process/2026-08-18-localized-bilingual-links.zh.md @@ -1,6 +1,7 @@ # Agent Note: 双语文档链接本地化 Status: implemented +Archived: 2026-09-04 [English](2026-08-18-localized-bilingual-links.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-20-doc-site-raw-markdown-twins.i18n.yaml b/.agents/notes/archived/process/2026-08-20-doc-site-raw-markdown-twins.i18n.yaml new file mode 100644 index 0000000000..3d15f2eeb5 --- /dev/null +++ b/.agents/notes/archived/process/2026-08-20-doc-site-raw-markdown-twins.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-20-doc-site-raw-markdown-twins.md +2026-08-20-doc-site-raw-markdown-twins.md: 610cda8f366a703ac2de7049954c3b87b6012ab8 +2026-08-20-doc-site-raw-markdown-twins.zh.md: c7d01fce8e607b1baf720b8caa823ee9783489ac diff --git a/.agents/notes/implemented/process/2026-08-20-doc-site-raw-markdown-twins.md b/.agents/notes/archived/process/2026-08-20-doc-site-raw-markdown-twins.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-20-doc-site-raw-markdown-twins.md rename to .agents/notes/archived/process/2026-08-20-doc-site-raw-markdown-twins.md index 7f557d1327..610cda8f36 100644 --- a/.agents/notes/implemented/process/2026-08-20-doc-site-raw-markdown-twins.md +++ b/.agents/notes/archived/process/2026-08-20-doc-site-raw-markdown-twins.md @@ -1,6 +1,7 @@ # Agent Note: Raw-Markdown twins and llms.txt on the documentation site Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-20-doc-site-raw-markdown-twins.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-20-doc-site-raw-markdown-twins.zh.md b/.agents/notes/archived/process/2026-08-20-doc-site-raw-markdown-twins.zh.md similarity index 98% rename from .agents/notes/implemented/process/2026-08-20-doc-site-raw-markdown-twins.zh.md rename to .agents/notes/archived/process/2026-08-20-doc-site-raw-markdown-twins.zh.md index 0fd7e90cf7..c7d01fce8e 100644 --- a/.agents/notes/implemented/process/2026-08-20-doc-site-raw-markdown-twins.zh.md +++ b/.agents/notes/archived/process/2026-08-20-doc-site-raw-markdown-twins.zh.md @@ -1,6 +1,7 @@ -# Agent Note:文档站的纯 Markdown 孪生页与 llms.txt +# Agent Note: 文档站的纯 Markdown 孪生页与 llms.txt Status: implemented +Archived: 2026-09-04 [English](2026-08-20-doc-site-raw-markdown-twins.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-21-documentation-site-tag-release.i18n.yaml b/.agents/notes/archived/process/2026-08-21-documentation-site-tag-release.i18n.yaml new file mode 100644 index 0000000000..80cf2e91f3 --- /dev/null +++ b/.agents/notes/archived/process/2026-08-21-documentation-site-tag-release.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-21-documentation-site-tag-release.md +2026-08-21-documentation-site-tag-release.md: a6658b59b73c4fceb17557fdf7262a0e69d96f1b +2026-08-21-documentation-site-tag-release.zh.md: d5f7d64a739966323a0b163fd54aac4f42c9ebb2 diff --git a/.agents/notes/implemented/process/2026-08-21-documentation-site-tag-release.md b/.agents/notes/archived/process/2026-08-21-documentation-site-tag-release.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-21-documentation-site-tag-release.md rename to .agents/notes/archived/process/2026-08-21-documentation-site-tag-release.md index 3f7a9d04a0..a6658b59b7 100644 --- a/.agents/notes/implemented/process/2026-08-21-documentation-site-tag-release.md +++ b/.agents/notes/archived/process/2026-08-21-documentation-site-tag-release.md @@ -1,6 +1,7 @@ # Agent Note: Publish the documentation site from a release tag Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-21-documentation-site-tag-release.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-21-documentation-site-tag-release.zh.md b/.agents/notes/archived/process/2026-08-21-documentation-site-tag-release.zh.md similarity index 98% rename from .agents/notes/implemented/process/2026-08-21-documentation-site-tag-release.zh.md rename to .agents/notes/archived/process/2026-08-21-documentation-site-tag-release.zh.md index cd1f128bc6..d5f7d64a73 100644 --- a/.agents/notes/implemented/process/2026-08-21-documentation-site-tag-release.zh.md +++ b/.agents/notes/archived/process/2026-08-21-documentation-site-tag-release.zh.md @@ -1,6 +1,7 @@ -# Agent Note:文档站从发布 tag 发布 +# Agent Note: 文档站从发布 tag 发布 Status: implemented +Archived: 2026-09-04 [English](2026-08-21-documentation-site-tag-release.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-23-client-cross-package-value-dependencies.i18n.yaml b/.agents/notes/archived/process/2026-08-23-client-cross-package-value-dependencies.i18n.yaml new file mode 100644 index 0000000000..8e44df9b11 --- /dev/null +++ b/.agents/notes/archived/process/2026-08-23-client-cross-package-value-dependencies.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-23-client-cross-package-value-dependencies.md +2026-08-23-client-cross-package-value-dependencies.md: fcc773e274a164f9c1798f60131415bfab634504 +2026-08-23-client-cross-package-value-dependencies.zh.md: f23244bef8512c0ce296c89cc157902cb2f24a83 diff --git a/.agents/notes/implemented/process/2026-08-23-client-cross-package-value-dependencies.md b/.agents/notes/archived/process/2026-08-23-client-cross-package-value-dependencies.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-23-client-cross-package-value-dependencies.md rename to .agents/notes/archived/process/2026-08-23-client-cross-package-value-dependencies.md index b4db6c75e2..fcc773e274 100644 --- a/.agents/notes/implemented/process/2026-08-23-client-cross-package-value-dependencies.md +++ b/.agents/notes/archived/process/2026-08-23-client-cross-package-value-dependencies.md @@ -1,6 +1,7 @@ # Agent Note: Classifying Client cross-package value dependencies Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-23-client-cross-package-value-dependencies.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-23-client-cross-package-value-dependencies.zh.md b/.agents/notes/archived/process/2026-08-23-client-cross-package-value-dependencies.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-23-client-cross-package-value-dependencies.zh.md rename to .agents/notes/archived/process/2026-08-23-client-cross-package-value-dependencies.zh.md index 9894f74311..f23244bef8 100644 --- a/.agents/notes/implemented/process/2026-08-23-client-cross-package-value-dependencies.zh.md +++ b/.agents/notes/archived/process/2026-08-23-client-cross-package-value-dependencies.zh.md @@ -1,6 +1,7 @@ # Agent Note: Client 跨包值依赖分类 Status: implemented +Archived: 2026-09-04 [English](2026-08-23-client-cross-package-value-dependencies.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-27-explicit-workspace-path-aliases.i18n.yaml b/.agents/notes/archived/process/2026-08-27-explicit-workspace-path-aliases.i18n.yaml new file mode 100644 index 0000000000..b31043cfb0 --- /dev/null +++ b/.agents/notes/archived/process/2026-08-27-explicit-workspace-path-aliases.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-27-explicit-workspace-path-aliases.md +2026-08-27-explicit-workspace-path-aliases.md: 7b31c4d5427ea309a33861f0f432f2f612d80b4e +2026-08-27-explicit-workspace-path-aliases.zh.md: dd82b3b0ea79d4a18565ec3a2d188dd5e8d950d4 diff --git a/.agents/notes/implemented/process/2026-08-27-explicit-workspace-path-aliases.md b/.agents/notes/archived/process/2026-08-27-explicit-workspace-path-aliases.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-27-explicit-workspace-path-aliases.md rename to .agents/notes/archived/process/2026-08-27-explicit-workspace-path-aliases.md index 51d2dee791..7b31c4d542 100644 --- a/.agents/notes/implemented/process/2026-08-27-explicit-workspace-path-aliases.md +++ b/.agents/notes/archived/process/2026-08-27-explicit-workspace-path-aliases.md @@ -1,6 +1,7 @@ # Agent Note: Explicit workspace path aliases replace per-group wildcards Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-27-explicit-workspace-path-aliases.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-27-explicit-workspace-path-aliases.zh.md b/.agents/notes/archived/process/2026-08-27-explicit-workspace-path-aliases.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-27-explicit-workspace-path-aliases.zh.md rename to .agents/notes/archived/process/2026-08-27-explicit-workspace-path-aliases.zh.md index 702d3d7a8c..dd82b3b0ea 100644 --- a/.agents/notes/implemented/process/2026-08-27-explicit-workspace-path-aliases.zh.md +++ b/.agents/notes/archived/process/2026-08-27-explicit-workspace-path-aliases.zh.md @@ -1,6 +1,7 @@ # Agent Note: Explicit workspace path aliases replace per-group wildcards Status: implemented +Archived: 2026-09-04 [English](2026-08-27-explicit-workspace-path-aliases.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-27-gate-runner-fail-fast.i18n.yaml b/.agents/notes/archived/process/2026-08-27-gate-runner-fail-fast.i18n.yaml new file mode 100644 index 0000000000..3eb1448c40 --- /dev/null +++ b/.agents/notes/archived/process/2026-08-27-gate-runner-fail-fast.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-27-gate-runner-fail-fast.md +2026-08-27-gate-runner-fail-fast.md: 504929b256567f4cc71765c33eca55b925bd8f6f +2026-08-27-gate-runner-fail-fast.zh.md: 1d9f49ad8b35502a4e8cb8f9eb071106d99ca122 diff --git a/.agents/notes/implemented/process/2026-08-27-gate-runner-fail-fast.md b/.agents/notes/archived/process/2026-08-27-gate-runner-fail-fast.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-27-gate-runner-fail-fast.md rename to .agents/notes/archived/process/2026-08-27-gate-runner-fail-fast.md index b11e3336aa..504929b256 100644 --- a/.agents/notes/implemented/process/2026-08-27-gate-runner-fail-fast.md +++ b/.agents/notes/archived/process/2026-08-27-gate-runner-fail-fast.md @@ -1,6 +1,7 @@ # Agent Note: Gate-runner fail-fast Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-27-gate-runner-fail-fast.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-27-gate-runner-fail-fast.zh.md b/.agents/notes/archived/process/2026-08-27-gate-runner-fail-fast.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-27-gate-runner-fail-fast.zh.md rename to .agents/notes/archived/process/2026-08-27-gate-runner-fail-fast.zh.md index 93e1b03142..1d9f49ad8b 100644 --- a/.agents/notes/implemented/process/2026-08-27-gate-runner-fail-fast.zh.md +++ b/.agents/notes/archived/process/2026-08-27-gate-runner-fail-fast.zh.md @@ -1,6 +1,7 @@ # Agent Note: 门禁运行器快速失败 Status: implemented +Archived: 2026-09-04 [English](2026-08-27-gate-runner-fail-fast.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-28-test-temp-dir-self-cleanup.i18n.yaml b/.agents/notes/archived/process/2026-08-28-test-temp-dir-self-cleanup.i18n.yaml new file mode 100644 index 0000000000..b71ed15bd9 --- /dev/null +++ b/.agents/notes/archived/process/2026-08-28-test-temp-dir-self-cleanup.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-28-test-temp-dir-self-cleanup.md +2026-08-28-test-temp-dir-self-cleanup.md: 901c697f39c39ecb94ddd3d8b35017ca89851d2d +2026-08-28-test-temp-dir-self-cleanup.zh.md: 3e9dd62e8a9f5286a7806bee1ef9213695fe9c85 diff --git a/.agents/notes/implemented/process/2026-08-28-test-temp-dir-self-cleanup.md b/.agents/notes/archived/process/2026-08-28-test-temp-dir-self-cleanup.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-28-test-temp-dir-self-cleanup.md rename to .agents/notes/archived/process/2026-08-28-test-temp-dir-self-cleanup.md index 175fe82b0a..901c697f39 100644 --- a/.agents/notes/implemented/process/2026-08-28-test-temp-dir-self-cleanup.md +++ b/.agents/notes/archived/process/2026-08-28-test-temp-dir-self-cleanup.md @@ -1,6 +1,7 @@ # Agent Note: Unit tests remove the dsh-* temp dirs they create Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-28-test-temp-dir-self-cleanup.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-28-test-temp-dir-self-cleanup.zh.md b/.agents/notes/archived/process/2026-08-28-test-temp-dir-self-cleanup.zh.md similarity index 98% rename from .agents/notes/implemented/process/2026-08-28-test-temp-dir-self-cleanup.zh.md rename to .agents/notes/archived/process/2026-08-28-test-temp-dir-self-cleanup.zh.md index c2fcd07d16..3e9dd62e8a 100644 --- a/.agents/notes/implemented/process/2026-08-28-test-temp-dir-self-cleanup.zh.md +++ b/.agents/notes/archived/process/2026-08-28-test-temp-dir-self-cleanup.zh.md @@ -1,6 +1,7 @@ -# Agent Note:单测删除自己创建的 dsh-* 临时目录 +# Agent Note: 单测删除自己创建的 dsh-* 临时目录 Status: implemented +Archived: 2026-09-04 [English](2026-08-28-test-temp-dir-self-cleanup.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-30-windows-refs-store-block-clone-install.i18n.yaml b/.agents/notes/archived/process/2026-08-30-windows-refs-store-block-clone-install.i18n.yaml new file mode 100644 index 0000000000..36f23852ff --- /dev/null +++ b/.agents/notes/archived/process/2026-08-30-windows-refs-store-block-clone-install.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-30-windows-refs-store-block-clone-install.md +2026-08-30-windows-refs-store-block-clone-install.md: 9b08d4865dc46ebb0103095d6f030c7a3e4879fb +2026-08-30-windows-refs-store-block-clone-install.zh.md: 6569d624f3ec3f70e8d980a4a55e486110623d7c diff --git a/.agents/notes/implemented/process/2026-08-30-windows-refs-store-block-clone-install.md b/.agents/notes/archived/process/2026-08-30-windows-refs-store-block-clone-install.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-30-windows-refs-store-block-clone-install.md rename to .agents/notes/archived/process/2026-08-30-windows-refs-store-block-clone-install.md index 086c00453f..9b08d4865d 100644 --- a/.agents/notes/implemented/process/2026-08-30-windows-refs-store-block-clone-install.md +++ b/.agents/notes/archived/process/2026-08-30-windows-refs-store-block-clone-install.md @@ -1,6 +1,7 @@ # Agent Note: Windows self-hosted ReFS store and block-clone installs Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-30-windows-refs-store-block-clone-install.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-30-windows-refs-store-block-clone-install.zh.md b/.agents/notes/archived/process/2026-08-30-windows-refs-store-block-clone-install.zh.md similarity index 98% rename from .agents/notes/implemented/process/2026-08-30-windows-refs-store-block-clone-install.zh.md rename to .agents/notes/archived/process/2026-08-30-windows-refs-store-block-clone-install.zh.md index f813ae15a1..6569d624f3 100644 --- a/.agents/notes/implemented/process/2026-08-30-windows-refs-store-block-clone-install.zh.md +++ b/.agents/notes/archived/process/2026-08-30-windows-refs-store-block-clone-install.zh.md @@ -1,6 +1,7 @@ -# Agent Note:Windows 自托管 ReFS store 与块克隆安装 +# Agent Note: Windows 自托管 ReFS store 与块克隆安装 Status: implemented +Archived: 2026-09-04 [English](2026-08-30-windows-refs-store-block-clone-install.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-31-serial-windows-notices-timeout-budget.i18n.yaml b/.agents/notes/archived/process/2026-08-31-serial-windows-notices-timeout-budget.i18n.yaml new file mode 100644 index 0000000000..5a840416c0 --- /dev/null +++ b/.agents/notes/archived/process/2026-08-31-serial-windows-notices-timeout-budget.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-31-serial-windows-notices-timeout-budget.md +2026-08-31-serial-windows-notices-timeout-budget.md: 2f1a93d9c7cc703a93ea655d8ff538cb0742bcf3 +2026-08-31-serial-windows-notices-timeout-budget.zh.md: 1658cca2608a737cc85427e342a0fc76a9eaf72f diff --git a/.agents/notes/implemented/process/2026-08-31-serial-windows-notices-timeout-budget.md b/.agents/notes/archived/process/2026-08-31-serial-windows-notices-timeout-budget.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-31-serial-windows-notices-timeout-budget.md rename to .agents/notes/archived/process/2026-08-31-serial-windows-notices-timeout-budget.md index 184004122b..2f1a93d9c7 100644 --- a/.agents/notes/implemented/process/2026-08-31-serial-windows-notices-timeout-budget.md +++ b/.agents/notes/archived/process/2026-08-31-serial-windows-notices-timeout-budget.md @@ -1,6 +1,7 @@ # Agent Note: serial-windows notices timeout budget and generator store-scan cost Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-31-serial-windows-notices-timeout-budget.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-31-serial-windows-notices-timeout-budget.zh.md b/.agents/notes/archived/process/2026-08-31-serial-windows-notices-timeout-budget.zh.md similarity index 97% rename from .agents/notes/implemented/process/2026-08-31-serial-windows-notices-timeout-budget.zh.md rename to .agents/notes/archived/process/2026-08-31-serial-windows-notices-timeout-budget.zh.md index 4fc00ed25c..1658cca260 100644 --- a/.agents/notes/implemented/process/2026-08-31-serial-windows-notices-timeout-budget.zh.md +++ b/.agents/notes/archived/process/2026-08-31-serial-windows-notices-timeout-budget.zh.md @@ -1,6 +1,7 @@ -# Agent Note:serial-windows 的 notices 超时预算与 generator store 扫描成本 +# Agent Note: serial-windows 的 notices 超时预算与 generator store 扫描成本 Status: implemented +Archived: 2026-09-04 [English](2026-08-31-serial-windows-notices-timeout-budget.md) | 中文 diff --git a/.agents/notes/archived/process/2026-08-31-windows-coverage-flaky-test-budgets.i18n.yaml b/.agents/notes/archived/process/2026-08-31-windows-coverage-flaky-test-budgets.i18n.yaml new file mode 100644 index 0000000000..e9f1903537 --- /dev/null +++ b/.agents/notes/archived/process/2026-08-31-windows-coverage-flaky-test-budgets.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-08-31-windows-coverage-flaky-test-budgets.md +2026-08-31-windows-coverage-flaky-test-budgets.md: e026cb20c83648ad5d99070981a22f54c031f546 +2026-08-31-windows-coverage-flaky-test-budgets.zh.md: 7109756422738d994a4d733198404f4c3d065faf diff --git a/.agents/notes/implemented/process/2026-08-31-windows-coverage-flaky-test-budgets.md b/.agents/notes/archived/process/2026-08-31-windows-coverage-flaky-test-budgets.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-31-windows-coverage-flaky-test-budgets.md rename to .agents/notes/archived/process/2026-08-31-windows-coverage-flaky-test-budgets.md index 475bd79adf..e026cb20c8 100644 --- a/.agents/notes/implemented/process/2026-08-31-windows-coverage-flaky-test-budgets.md +++ b/.agents/notes/archived/process/2026-08-31-windows-coverage-flaky-test-budgets.md @@ -1,6 +1,7 @@ # Agent Note: deterministic assertions and dispose budgets for the Windows coverage lane Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-31-windows-coverage-flaky-test-budgets.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-31-windows-coverage-flaky-test-budgets.zh.md b/.agents/notes/archived/process/2026-08-31-windows-coverage-flaky-test-budgets.zh.md similarity index 98% rename from .agents/notes/implemented/process/2026-08-31-windows-coverage-flaky-test-budgets.zh.md rename to .agents/notes/archived/process/2026-08-31-windows-coverage-flaky-test-budgets.zh.md index 2a16ba8c6e..7109756422 100644 --- a/.agents/notes/implemented/process/2026-08-31-windows-coverage-flaky-test-budgets.zh.md +++ b/.agents/notes/archived/process/2026-08-31-windows-coverage-flaky-test-budgets.zh.md @@ -1,6 +1,7 @@ -# Agent Note:Windows coverage lane 的确定性断言与 dispose 预算 +# Agent Note: Windows coverage lane 的确定性断言与 dispose 预算 Status: implemented +Archived: 2026-09-04 [English](2026-08-31-windows-coverage-flaky-test-budgets.md) | 中文 diff --git a/.agents/notes/archived/process/2026-09-03-workspace-version-coherence-gate.i18n.yaml b/.agents/notes/archived/process/2026-09-03-workspace-version-coherence-gate.i18n.yaml new file mode 100644 index 0000000000..63a8005833 --- /dev/null +++ b/.agents/notes/archived/process/2026-09-03-workspace-version-coherence-gate.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/process/2026-09-03-workspace-version-coherence-gate.md +2026-09-03-workspace-version-coherence-gate.md: 65c8a2e6c1eabd14d67a8dff10fc90c38d07eb64 +2026-09-03-workspace-version-coherence-gate.zh.md: 9c309e673945cbc6e9a3c73a6a48d9610ae868be diff --git a/.agents/notes/implemented/process/2026-09-03-workspace-version-coherence-gate.md b/.agents/notes/archived/process/2026-09-03-workspace-version-coherence-gate.md similarity index 99% rename from .agents/notes/implemented/process/2026-09-03-workspace-version-coherence-gate.md rename to .agents/notes/archived/process/2026-09-03-workspace-version-coherence-gate.md index c1647631ca..65c8a2e6c1 100644 --- a/.agents/notes/implemented/process/2026-09-03-workspace-version-coherence-gate.md +++ b/.agents/notes/archived/process/2026-09-03-workspace-version-coherence-gate.md @@ -1,6 +1,7 @@ # Agent Note: Workspace version coherence is a static gate Status: implemented +Archived: 2026-09-04 English | [中文](2026-09-03-workspace-version-coherence-gate.zh.md) diff --git a/.agents/notes/implemented/process/2026-09-03-workspace-version-coherence-gate.zh.md b/.agents/notes/archived/process/2026-09-03-workspace-version-coherence-gate.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-09-03-workspace-version-coherence-gate.zh.md rename to .agents/notes/archived/process/2026-09-03-workspace-version-coherence-gate.zh.md index 13bb619ccd..9c309e6739 100644 --- a/.agents/notes/implemented/process/2026-09-03-workspace-version-coherence-gate.zh.md +++ b/.agents/notes/archived/process/2026-09-03-workspace-version-coherence-gate.zh.md @@ -1,6 +1,7 @@ # Agent Note: 工作区版本一致性是静态门禁 Status: implemented +Archived: 2026-09-04 [English](2026-09-03-workspace-version-coherence-gate.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-06-19-drop-mutable-session-summary.i18n.yaml b/.agents/notes/archived/simplification/2026-06-19-drop-mutable-session-summary.i18n.yaml new file mode 100644 index 0000000000..b6a6587cc9 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-06-19-drop-mutable-session-summary.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-06-19-drop-mutable-session-summary.md +2026-06-19-drop-mutable-session-summary.md: a524eec83da76bdec6971cda3c793ca6b27031d3 +2026-06-19-drop-mutable-session-summary.zh.md: 50e350251859f0b1620c2cbc203723d5f670d58a diff --git a/.agents/notes/implemented/simplification/2026-06-19-drop-mutable-session-summary.md b/.agents/notes/archived/simplification/2026-06-19-drop-mutable-session-summary.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-06-19-drop-mutable-session-summary.md rename to .agents/notes/archived/simplification/2026-06-19-drop-mutable-session-summary.md index b93566914a..a524eec83d 100644 --- a/.agents/notes/implemented/simplification/2026-06-19-drop-mutable-session-summary.md +++ b/.agents/notes/archived/simplification/2026-06-19-drop-mutable-session-summary.md @@ -1,6 +1,7 @@ # Agent Note: Drop the mutable session summary Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-19-drop-mutable-session-summary.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-06-19-drop-mutable-session-summary.zh.md b/.agents/notes/archived/simplification/2026-06-19-drop-mutable-session-summary.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-06-19-drop-mutable-session-summary.zh.md rename to .agents/notes/archived/simplification/2026-06-19-drop-mutable-session-summary.zh.md index 9a36ba6f20..50e3502518 100644 --- a/.agents/notes/implemented/simplification/2026-06-19-drop-mutable-session-summary.zh.md +++ b/.agents/notes/archived/simplification/2026-06-19-drop-mutable-session-summary.zh.md @@ -1,6 +1,7 @@ # Agent Note: 移除可变的会话摘要 Status: implemented +Archived: 2026-09-04 [English](2026-06-19-drop-mutable-session-summary.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-06-20-public-agent-stop-api.i18n.yaml b/.agents/notes/archived/simplification/2026-06-20-public-agent-stop-api.i18n.yaml new file mode 100644 index 0000000000..1281b4c271 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-06-20-public-agent-stop-api.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-06-20-public-agent-stop-api.md +2026-06-20-public-agent-stop-api.md: 07666e354cfc316e45ab9fd019929b92bf57f608 +2026-06-20-public-agent-stop-api.zh.md: a80ae4ae0bf5e6f9aa78ce2b4ccd87b995adec27 diff --git a/.agents/notes/implemented/simplification/2026-06-20-public-agent-stop-api.md b/.agents/notes/archived/simplification/2026-06-20-public-agent-stop-api.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-06-20-public-agent-stop-api.md rename to .agents/notes/archived/simplification/2026-06-20-public-agent-stop-api.md index bb4a24e706..07666e354c 100644 --- a/.agents/notes/implemented/simplification/2026-06-20-public-agent-stop-api.md +++ b/.agents/notes/archived/simplification/2026-06-20-public-agent-stop-api.md @@ -1,6 +1,7 @@ # Agent Note: Keep one public stop primitive Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-20-public-agent-stop-api.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-06-20-public-agent-stop-api.zh.md b/.agents/notes/archived/simplification/2026-06-20-public-agent-stop-api.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-06-20-public-agent-stop-api.zh.md rename to .agents/notes/archived/simplification/2026-06-20-public-agent-stop-api.zh.md index 7673b680c1..a80ae4ae0b 100644 --- a/.agents/notes/implemented/simplification/2026-06-20-public-agent-stop-api.zh.md +++ b/.agents/notes/archived/simplification/2026-06-20-public-agent-stop-api.zh.md @@ -1,6 +1,7 @@ # Agent Note: 保留单一公开停止原语 Status: implemented +Archived: 2026-09-04 [English](2026-06-20-public-agent-stop-api.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-06-20-remove-agent-boundary-mirror-events.i18n.yaml b/.agents/notes/archived/simplification/2026-06-20-remove-agent-boundary-mirror-events.i18n.yaml new file mode 100644 index 0000000000..b2072faa55 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-06-20-remove-agent-boundary-mirror-events.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-06-20-remove-agent-boundary-mirror-events.md +2026-06-20-remove-agent-boundary-mirror-events.md: 3d59cef0d6a2473adc170f15c480ed345c5db08c +2026-06-20-remove-agent-boundary-mirror-events.zh.md: fe9fbda591053ea792d502d3a5403eecf9c5ae51 diff --git a/.agents/notes/implemented/simplification/2026-06-20-remove-agent-boundary-mirror-events.md b/.agents/notes/archived/simplification/2026-06-20-remove-agent-boundary-mirror-events.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-06-20-remove-agent-boundary-mirror-events.md rename to .agents/notes/archived/simplification/2026-06-20-remove-agent-boundary-mirror-events.md index cb3cb83e7e..3d59cef0d6 100644 --- a/.agents/notes/implemented/simplification/2026-06-20-remove-agent-boundary-mirror-events.md +++ b/.agents/notes/archived/simplification/2026-06-20-remove-agent-boundary-mirror-events.md @@ -1,6 +1,7 @@ # Agent Note: Stop mirroring durable boundaries as agent events Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-20-remove-agent-boundary-mirror-events.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-06-20-remove-agent-boundary-mirror-events.zh.md b/.agents/notes/archived/simplification/2026-06-20-remove-agent-boundary-mirror-events.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-06-20-remove-agent-boundary-mirror-events.zh.md rename to .agents/notes/archived/simplification/2026-06-20-remove-agent-boundary-mirror-events.zh.md index 85572deb66..fe9fbda591 100644 --- a/.agents/notes/implemented/simplification/2026-06-20-remove-agent-boundary-mirror-events.zh.md +++ b/.agents/notes/archived/simplification/2026-06-20-remove-agent-boundary-mirror-events.zh.md @@ -1,6 +1,7 @@ # Agent Note: 停止将持久化边界镜像为 agent 事件 Status: implemented +Archived: 2026-09-04 [English](2026-06-20-remove-agent-boundary-mirror-events.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-07-04-tighten-hook-protocol-contract.i18n.yaml b/.agents/notes/archived/simplification/2026-07-04-tighten-hook-protocol-contract.i18n.yaml new file mode 100644 index 0000000000..f47554e9d4 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-07-04-tighten-hook-protocol-contract.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-07-04-tighten-hook-protocol-contract.md +2026-07-04-tighten-hook-protocol-contract.md: 59697f102b87dbd92ff2b58da4ec1d8d923d7795 +2026-07-04-tighten-hook-protocol-contract.zh.md: a68d2ff9c40d189bcc493aee0941e7ad5b079092 diff --git a/.agents/notes/implemented/simplification/2026-07-04-tighten-hook-protocol-contract.md b/.agents/notes/archived/simplification/2026-07-04-tighten-hook-protocol-contract.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-04-tighten-hook-protocol-contract.md rename to .agents/notes/archived/simplification/2026-07-04-tighten-hook-protocol-contract.md index 70cf7a15fe..59697f102b 100644 --- a/.agents/notes/implemented/simplification/2026-07-04-tighten-hook-protocol-contract.md +++ b/.agents/notes/archived/simplification/2026-07-04-tighten-hook-protocol-contract.md @@ -1,6 +1,7 @@ # Agent Note: Tighten the hook-protocol contract — dialect, discarded fields, double defaults, and lib-owned `hook/result` semantics Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-04-tighten-hook-protocol-contract.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-07-04-tighten-hook-protocol-contract.zh.md b/.agents/notes/archived/simplification/2026-07-04-tighten-hook-protocol-contract.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-04-tighten-hook-protocol-contract.zh.md rename to .agents/notes/archived/simplification/2026-07-04-tighten-hook-protocol-contract.zh.md index 3be16b4b8c..a68d2ff9c4 100644 --- a/.agents/notes/implemented/simplification/2026-07-04-tighten-hook-protocol-contract.zh.md +++ b/.agents/notes/archived/simplification/2026-07-04-tighten-hook-protocol-contract.zh.md @@ -1,6 +1,7 @@ # Agent Note: 收紧 hook-protocol 约定——dialect、被丢弃的字段、双重默认值与 lib 拥有的 `hook/result` 语义 Status: implemented +Archived: 2026-09-04 [English](2026-07-04-tighten-hook-protocol-contract.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-07-12-simplify-session-log-representation.i18n.yaml b/.agents/notes/archived/simplification/2026-07-12-simplify-session-log-representation.i18n.yaml new file mode 100644 index 0000000000..ccb74994ab --- /dev/null +++ b/.agents/notes/archived/simplification/2026-07-12-simplify-session-log-representation.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-07-12-simplify-session-log-representation.md +2026-07-12-simplify-session-log-representation.md: ff01975bc31436936358c55db6d63ef5259abe0c +2026-07-12-simplify-session-log-representation.zh.md: 429ee3c0eaf236c43e786975aa2a257f7c4927dd diff --git a/.agents/notes/implemented/simplification/2026-07-12-simplify-session-log-representation.md b/.agents/notes/archived/simplification/2026-07-12-simplify-session-log-representation.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-12-simplify-session-log-representation.md rename to .agents/notes/archived/simplification/2026-07-12-simplify-session-log-representation.md index 9c8383d72b..ff01975bc3 100644 --- a/.agents/notes/implemented/simplification/2026-07-12-simplify-session-log-representation.md +++ b/.agents/notes/archived/simplification/2026-07-12-simplify-session-log-representation.md @@ -1,6 +1,7 @@ # Agent Note: Simplify session-log representation Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-12-simplify-session-log-representation.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-07-12-simplify-session-log-representation.zh.md b/.agents/notes/archived/simplification/2026-07-12-simplify-session-log-representation.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-12-simplify-session-log-representation.zh.md rename to .agents/notes/archived/simplification/2026-07-12-simplify-session-log-representation.zh.md index c77f97c3a5..429ee3c0ea 100644 --- a/.agents/notes/implemented/simplification/2026-07-12-simplify-session-log-representation.zh.md +++ b/.agents/notes/archived/simplification/2026-07-12-simplify-session-log-representation.zh.md @@ -1,6 +1,7 @@ # Agent Note: 简化会话日志表示 Status: implemented +Archived: 2026-09-04 [English](2026-07-12-simplify-session-log-representation.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-07-20-remove-stdio-and-echo-agents.i18n.yaml b/.agents/notes/archived/simplification/2026-07-20-remove-stdio-and-echo-agents.i18n.yaml new file mode 100644 index 0000000000..50922ba931 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-07-20-remove-stdio-and-echo-agents.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-07-20-remove-stdio-and-echo-agents.md +2026-07-20-remove-stdio-and-echo-agents.md: bf2177e5622d28931bb769fea69ec8028d8b7f40 +2026-07-20-remove-stdio-and-echo-agents.zh.md: 2c763ebb71239d10b9d7aab1c4bca643a72e33c8 diff --git a/.agents/notes/implemented/simplification/2026-07-20-remove-stdio-and-echo-agents.md b/.agents/notes/archived/simplification/2026-07-20-remove-stdio-and-echo-agents.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-20-remove-stdio-and-echo-agents.md rename to .agents/notes/archived/simplification/2026-07-20-remove-stdio-and-echo-agents.md index cb0f53737a..bf2177e562 100644 --- a/.agents/notes/implemented/simplification/2026-07-20-remove-stdio-and-echo-agents.md +++ b/.agents/notes/archived/simplification/2026-07-20-remove-stdio-and-echo-agents.md @@ -1,6 +1,7 @@ # Agent Note: Remove the stdio and Echo agents Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-20-remove-stdio-and-echo-agents.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-07-20-remove-stdio-and-echo-agents.zh.md b/.agents/notes/archived/simplification/2026-07-20-remove-stdio-and-echo-agents.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-20-remove-stdio-and-echo-agents.zh.md rename to .agents/notes/archived/simplification/2026-07-20-remove-stdio-and-echo-agents.zh.md index f7374fa6fb..2c763ebb71 100644 --- a/.agents/notes/implemented/simplification/2026-07-20-remove-stdio-and-echo-agents.zh.md +++ b/.agents/notes/archived/simplification/2026-07-20-remove-stdio-and-echo-agents.zh.md @@ -1,6 +1,7 @@ # Agent Note: 移除 stdio 和 Echo agent Status: implemented +Archived: 2026-09-04 [English](2026-07-20-remove-stdio-and-echo-agents.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-07-23-collapse-persistence-flush-state.i18n.yaml b/.agents/notes/archived/simplification/2026-07-23-collapse-persistence-flush-state.i18n.yaml new file mode 100644 index 0000000000..f1130e015c --- /dev/null +++ b/.agents/notes/archived/simplification/2026-07-23-collapse-persistence-flush-state.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-07-23-collapse-persistence-flush-state.md +2026-07-23-collapse-persistence-flush-state.md: 95b007d5c23fd99a144333f7b9386134868cc5bc +2026-07-23-collapse-persistence-flush-state.zh.md: 8369887ae1ebf2cc8196fe8f665c7dc11282487d diff --git a/.agents/notes/implemented/simplification/2026-07-23-collapse-persistence-flush-state.md b/.agents/notes/archived/simplification/2026-07-23-collapse-persistence-flush-state.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-23-collapse-persistence-flush-state.md rename to .agents/notes/archived/simplification/2026-07-23-collapse-persistence-flush-state.md index d64be38a58..95b007d5c2 100644 --- a/.agents/notes/implemented/simplification/2026-07-23-collapse-persistence-flush-state.md +++ b/.agents/notes/archived/simplification/2026-07-23-collapse-persistence-flush-state.md @@ -1,6 +1,7 @@ # Agent Note: Collapse live persistence into one flush controller Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-23-collapse-persistence-flush-state.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-07-23-collapse-persistence-flush-state.zh.md b/.agents/notes/archived/simplification/2026-07-23-collapse-persistence-flush-state.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-23-collapse-persistence-flush-state.zh.md rename to .agents/notes/archived/simplification/2026-07-23-collapse-persistence-flush-state.zh.md index 9114640f6d..8369887ae1 100644 --- a/.agents/notes/implemented/simplification/2026-07-23-collapse-persistence-flush-state.zh.md +++ b/.agents/notes/archived/simplification/2026-07-23-collapse-persistence-flush-state.zh.md @@ -1,6 +1,7 @@ # Agent Note: 将实时持久化归并到单个刷写控制器 Status: implemented +Archived: 2026-09-04 [English](2026-07-23-collapse-persistence-flush-state.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-07-26-merge-subagent-control-service.i18n.yaml b/.agents/notes/archived/simplification/2026-07-26-merge-subagent-control-service.i18n.yaml new file mode 100644 index 0000000000..4af95c6d50 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-07-26-merge-subagent-control-service.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-07-26-merge-subagent-control-service.md +2026-07-26-merge-subagent-control-service.md: 3ab9d7d1468ca8e58f8bcd23cdb824e4588122df +2026-07-26-merge-subagent-control-service.zh.md: 77e7306cd721168e4b4c6a2dd05899b2f5c85a34 diff --git a/.agents/notes/implemented/simplification/2026-07-26-merge-subagent-control-service.md b/.agents/notes/archived/simplification/2026-07-26-merge-subagent-control-service.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-26-merge-subagent-control-service.md rename to .agents/notes/archived/simplification/2026-07-26-merge-subagent-control-service.md index 1d8aadc6a9..3ab9d7d146 100644 --- a/.agents/notes/implemented/simplification/2026-07-26-merge-subagent-control-service.md +++ b/.agents/notes/archived/simplification/2026-07-26-merge-subagent-control-service.md @@ -1,6 +1,7 @@ # Agent Note: Merge subagent control into the subagent service Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-26-merge-subagent-control-service.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-07-26-merge-subagent-control-service.zh.md b/.agents/notes/archived/simplification/2026-07-26-merge-subagent-control-service.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-26-merge-subagent-control-service.zh.md rename to .agents/notes/archived/simplification/2026-07-26-merge-subagent-control-service.zh.md index 2843a913a1..77e7306cd7 100644 --- a/.agents/notes/implemented/simplification/2026-07-26-merge-subagent-control-service.zh.md +++ b/.agents/notes/archived/simplification/2026-07-26-merge-subagent-control-service.zh.md @@ -1,6 +1,7 @@ # Agent Note: 将 subagent 控制合并到 subagent 服务 Status: implemented +Archived: 2026-09-04 [English](2026-07-26-merge-subagent-control-service.md) | 中文 diff --git a/.agents/notes/implemented/simplification/2026-07-27-intent-named-subagent-continuation-operations.i18n.yaml b/.agents/notes/archived/simplification/2026-07-27-intent-named-subagent-continuation-operations.i18n.yaml similarity index 51% rename from .agents/notes/implemented/simplification/2026-07-27-intent-named-subagent-continuation-operations.i18n.yaml rename to .agents/notes/archived/simplification/2026-07-27-intent-named-subagent-continuation-operations.i18n.yaml index e41a28a586..b11c3e26c0 100644 --- a/.agents/notes/implemented/simplification/2026-07-27-intent-named-subagent-continuation-operations.i18n.yaml +++ b/.agents/notes/archived/simplification/2026-07-27-intent-named-subagent-continuation-operations.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/simplification/2026-07-27-intent-named-subagent-continuation-operations.md -2026-07-27-intent-named-subagent-continuation-operations.md: cb0827e63ed6bf88f7f661cf071d15aaa2278bde -2026-07-27-intent-named-subagent-continuation-operations.zh.md: fba07eac66af8e27d1f548a68f2ac060d39d10e7 +# pnpm run verify-translation-pairing --write .agents/notes/archived/simplification/2026-07-27-intent-named-subagent-continuation-operations.md +2026-07-27-intent-named-subagent-continuation-operations.md: 1d8429b4583f0ca30c8c6c75fe3cdfd056cc12b9 +2026-07-27-intent-named-subagent-continuation-operations.zh.md: 5fadabac3bd73df0b58aa7fb7da77c4bd910fe7c diff --git a/.agents/notes/implemented/simplification/2026-07-27-intent-named-subagent-continuation-operations.md b/.agents/notes/archived/simplification/2026-07-27-intent-named-subagent-continuation-operations.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-27-intent-named-subagent-continuation-operations.md rename to .agents/notes/archived/simplification/2026-07-27-intent-named-subagent-continuation-operations.md index cb0827e63e..1d8429b458 100644 --- a/.agents/notes/implemented/simplification/2026-07-27-intent-named-subagent-continuation-operations.md +++ b/.agents/notes/archived/simplification/2026-07-27-intent-named-subagent-continuation-operations.md @@ -1,6 +1,7 @@ # Agent Note: Intent-named subagent continuation operations Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-27-intent-named-subagent-continuation-operations.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-07-27-intent-named-subagent-continuation-operations.zh.md b/.agents/notes/archived/simplification/2026-07-27-intent-named-subagent-continuation-operations.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-27-intent-named-subagent-continuation-operations.zh.md rename to .agents/notes/archived/simplification/2026-07-27-intent-named-subagent-continuation-operations.zh.md index fba07eac66..5fadabac3b 100644 --- a/.agents/notes/implemented/simplification/2026-07-27-intent-named-subagent-continuation-operations.zh.md +++ b/.agents/notes/archived/simplification/2026-07-27-intent-named-subagent-continuation-operations.zh.md @@ -1,6 +1,7 @@ # Agent Note: 按意图命名的 subagent 继续执行操作 Status: implemented +Archived: 2026-09-04 [English](2026-07-27-intent-named-subagent-continuation-operations.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-07-28-local-json-tree-renderer.i18n.yaml b/.agents/notes/archived/simplification/2026-07-28-local-json-tree-renderer.i18n.yaml new file mode 100644 index 0000000000..b4bf3f4ca2 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-07-28-local-json-tree-renderer.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-07-28-local-json-tree-renderer.md +2026-07-28-local-json-tree-renderer.md: cce4d8aba6f9fee2eb512a8fc4d78d947e41c83d +2026-07-28-local-json-tree-renderer.zh.md: 25a3a5747421e04c2772ea03cd6a6cd4a503bd91 diff --git a/.agents/notes/implemented/simplification/2026-07-28-local-json-tree-renderer.md b/.agents/notes/archived/simplification/2026-07-28-local-json-tree-renderer.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-28-local-json-tree-renderer.md rename to .agents/notes/archived/simplification/2026-07-28-local-json-tree-renderer.md index 5e8e6d6968..cce4d8aba6 100644 --- a/.agents/notes/implemented/simplification/2026-07-28-local-json-tree-renderer.md +++ b/.agents/notes/archived/simplification/2026-07-28-local-json-tree-renderer.md @@ -1,6 +1,7 @@ # Agent Note: Local JSON tree renderer Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-28-local-json-tree-renderer.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-07-28-local-json-tree-renderer.zh.md b/.agents/notes/archived/simplification/2026-07-28-local-json-tree-renderer.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-28-local-json-tree-renderer.zh.md rename to .agents/notes/archived/simplification/2026-07-28-local-json-tree-renderer.zh.md index 1c83ac319f..25a3a57474 100644 --- a/.agents/notes/implemented/simplification/2026-07-28-local-json-tree-renderer.zh.md +++ b/.agents/notes/archived/simplification/2026-07-28-local-json-tree-renderer.zh.md @@ -1,6 +1,7 @@ # Agent Note: 本地 JSON 树渲染器 Status: implemented +Archived: 2026-09-04 [English](2026-07-28-local-json-tree-renderer.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-07-29-shared-base-config-overlays.i18n.yaml b/.agents/notes/archived/simplification/2026-07-29-shared-base-config-overlays.i18n.yaml new file mode 100644 index 0000000000..92192c4dd7 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-07-29-shared-base-config-overlays.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-07-29-shared-base-config-overlays.md +2026-07-29-shared-base-config-overlays.md: bffd001203c67ab93ed131643501bf7a7194a29d +2026-07-29-shared-base-config-overlays.zh.md: 178f618b75d6119076099c6140ca4de8895cae01 diff --git a/.agents/notes/implemented/simplification/2026-07-29-shared-base-config-overlays.md b/.agents/notes/archived/simplification/2026-07-29-shared-base-config-overlays.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-29-shared-base-config-overlays.md rename to .agents/notes/archived/simplification/2026-07-29-shared-base-config-overlays.md index de9dcafeab..bffd001203 100644 --- a/.agents/notes/implemented/simplification/2026-07-29-shared-base-config-overlays.md +++ b/.agents/notes/archived/simplification/2026-07-29-shared-base-config-overlays.md @@ -1,6 +1,7 @@ # Agent Note: One shared base config with per-surface overlays Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-29-shared-base-config-overlays.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-07-29-shared-base-config-overlays.zh.md b/.agents/notes/archived/simplification/2026-07-29-shared-base-config-overlays.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-29-shared-base-config-overlays.zh.md rename to .agents/notes/archived/simplification/2026-07-29-shared-base-config-overlays.zh.md index 0e5b76df33..178f618b75 100644 --- a/.agents/notes/implemented/simplification/2026-07-29-shared-base-config-overlays.zh.md +++ b/.agents/notes/archived/simplification/2026-07-29-shared-base-config-overlays.zh.md @@ -1,6 +1,7 @@ # Agent Note: 一份共享 base 配置加各 surface 的 overlay Status: implemented +Archived: 2026-09-04 [English](2026-07-29-shared-base-config-overlays.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-07-29-simplify-web-image-input-v1.i18n.yaml b/.agents/notes/archived/simplification/2026-07-29-simplify-web-image-input-v1.i18n.yaml new file mode 100644 index 0000000000..e11a896224 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-07-29-simplify-web-image-input-v1.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-07-29-simplify-web-image-input-v1.md +2026-07-29-simplify-web-image-input-v1.md: 64433129fe4a97e430cbcbecc89bcad247521a80 +2026-07-29-simplify-web-image-input-v1.zh.md: cff54434b504ffb29306625c566834866578d1d5 diff --git a/.agents/notes/implemented/simplification/2026-07-29-simplify-web-image-input-v1.md b/.agents/notes/archived/simplification/2026-07-29-simplify-web-image-input-v1.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-29-simplify-web-image-input-v1.md rename to .agents/notes/archived/simplification/2026-07-29-simplify-web-image-input-v1.md index f13abfda3b..64433129fe 100644 --- a/.agents/notes/implemented/simplification/2026-07-29-simplify-web-image-input-v1.md +++ b/.agents/notes/archived/simplification/2026-07-29-simplify-web-image-input-v1.md @@ -1,6 +1,7 @@ # Agent Note: Simplify Web image input version one Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-29-simplify-web-image-input-v1.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-07-29-simplify-web-image-input-v1.zh.md b/.agents/notes/archived/simplification/2026-07-29-simplify-web-image-input-v1.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-29-simplify-web-image-input-v1.zh.md rename to .agents/notes/archived/simplification/2026-07-29-simplify-web-image-input-v1.zh.md index c92974efe5..cff54434b5 100644 --- a/.agents/notes/implemented/simplification/2026-07-29-simplify-web-image-input-v1.zh.md +++ b/.agents/notes/archived/simplification/2026-07-29-simplify-web-image-input-v1.zh.md @@ -1,6 +1,7 @@ # Agent Note: 简化 Web 图片输入第一版 Status: implemented +Archived: 2026-09-04 [English](2026-07-29-simplify-web-image-input-v1.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-07-30-private-agent-send.i18n.yaml b/.agents/notes/archived/simplification/2026-07-30-private-agent-send.i18n.yaml new file mode 100644 index 0000000000..2ff2c66702 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-07-30-private-agent-send.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-07-30-private-agent-send.md +2026-07-30-private-agent-send.md: 16c6f43dccc8b9e661b5fb9f43d2754a0c4fdfe5 +2026-07-30-private-agent-send.zh.md: 16c4ae70cf6361c752699cc1df46e15db96b31eb diff --git a/.agents/notes/implemented/simplification/2026-07-30-private-agent-send.md b/.agents/notes/archived/simplification/2026-07-30-private-agent-send.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-30-private-agent-send.md rename to .agents/notes/archived/simplification/2026-07-30-private-agent-send.md index 43353c309f..16c6f43dcc 100644 --- a/.agents/notes/implemented/simplification/2026-07-30-private-agent-send.md +++ b/.agents/notes/archived/simplification/2026-07-30-private-agent-send.md @@ -1,6 +1,7 @@ # Agent Note: Keep agent routing private Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-private-agent-send.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-07-30-private-agent-send.zh.md b/.agents/notes/archived/simplification/2026-07-30-private-agent-send.zh.md similarity index 98% rename from .agents/notes/implemented/simplification/2026-07-30-private-agent-send.zh.md rename to .agents/notes/archived/simplification/2026-07-30-private-agent-send.zh.md index 97fe89610d..16c4ae70cf 100644 --- a/.agents/notes/implemented/simplification/2026-07-30-private-agent-send.zh.md +++ b/.agents/notes/archived/simplification/2026-07-30-private-agent-send.zh.md @@ -1,6 +1,7 @@ # Agent Note: 将 agent 路由保留为私有实现 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-private-agent-send.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-07-31-capability-neutral-sandbox-policy-context.i18n.yaml b/.agents/notes/archived/simplification/2026-07-31-capability-neutral-sandbox-policy-context.i18n.yaml new file mode 100644 index 0000000000..a860397c4d --- /dev/null +++ b/.agents/notes/archived/simplification/2026-07-31-capability-neutral-sandbox-policy-context.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-07-31-capability-neutral-sandbox-policy-context.md +2026-07-31-capability-neutral-sandbox-policy-context.md: 0cf2f451616fa23e6c64b4e695bc394c32421323 +2026-07-31-capability-neutral-sandbox-policy-context.zh.md: 2a3b0bda81e3286c594b2945ef6a7c3ac36dac63 diff --git a/.agents/notes/implemented/simplification/2026-07-31-capability-neutral-sandbox-policy-context.md b/.agents/notes/archived/simplification/2026-07-31-capability-neutral-sandbox-policy-context.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-31-capability-neutral-sandbox-policy-context.md rename to .agents/notes/archived/simplification/2026-07-31-capability-neutral-sandbox-policy-context.md index d45c6c652f..0cf2f45161 100644 --- a/.agents/notes/implemented/simplification/2026-07-31-capability-neutral-sandbox-policy-context.md +++ b/.agents/notes/archived/simplification/2026-07-31-capability-neutral-sandbox-policy-context.md @@ -1,6 +1,7 @@ # Agent Note: Capability-neutral sandbox policy context Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-capability-neutral-sandbox-policy-context.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-07-31-capability-neutral-sandbox-policy-context.zh.md b/.agents/notes/archived/simplification/2026-07-31-capability-neutral-sandbox-policy-context.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-31-capability-neutral-sandbox-policy-context.zh.md rename to .agents/notes/archived/simplification/2026-07-31-capability-neutral-sandbox-policy-context.zh.md index 5d209b6b78..2a3b0bda81 100644 --- a/.agents/notes/implemented/simplification/2026-07-31-capability-neutral-sandbox-policy-context.zh.md +++ b/.agents/notes/archived/simplification/2026-07-31-capability-neutral-sandbox-policy-context.zh.md @@ -1,6 +1,7 @@ # Agent Note: 不依赖具体能力的沙箱策略上下文 Status: implemented +Archived: 2026-09-04 [English](2026-07-31-capability-neutral-sandbox-policy-context.md) | 中文 diff --git a/.agents/notes/implemented/feature/2026-08-04-web-latency-throughput-metrics.i18n.yaml b/.agents/notes/archived/simplification/2026-07-31-drop-user-message-edit-stub.i18n.yaml similarity index 56% rename from .agents/notes/implemented/feature/2026-08-04-web-latency-throughput-metrics.i18n.yaml rename to .agents/notes/archived/simplification/2026-07-31-drop-user-message-edit-stub.i18n.yaml index f1ed369ae8..e3435e0370 100644 --- a/.agents/notes/implemented/feature/2026-08-04-web-latency-throughput-metrics.i18n.yaml +++ b/.agents/notes/archived/simplification/2026-07-31-drop-user-message-edit-stub.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/feature/2026-08-04-web-latency-throughput-metrics.md -2026-08-04-web-latency-throughput-metrics.md: 14ec765a7aadb8a54609c7d4e0e6af149c3c96ba -2026-08-04-web-latency-throughput-metrics.zh.md: 52e6c33c52895f5a075f78019c5f353ecc8cc4b4 +# pnpm run verify-translation-pairing --write .agents/notes/archived/simplification/2026-07-31-drop-user-message-edit-stub.md +2026-07-31-drop-user-message-edit-stub.md: 4080fd0aae688810f19779b2c452deea170a70c4 +2026-07-31-drop-user-message-edit-stub.zh.md: f0da1da052a92ae4e695de0a1109f415dd59c79b diff --git a/.agents/notes/implemented/simplification/2026-07-31-drop-user-message-edit-stub.md b/.agents/notes/archived/simplification/2026-07-31-drop-user-message-edit-stub.md similarity index 98% rename from .agents/notes/implemented/simplification/2026-07-31-drop-user-message-edit-stub.md rename to .agents/notes/archived/simplification/2026-07-31-drop-user-message-edit-stub.md index 5a34be1dd2..4080fd0aae 100644 --- a/.agents/notes/implemented/simplification/2026-07-31-drop-user-message-edit-stub.md +++ b/.agents/notes/archived/simplification/2026-07-31-drop-user-message-edit-stub.md @@ -1,6 +1,7 @@ # Agent Note: Drop the user-message edit stub Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-drop-user-message-edit-stub.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-07-31-drop-user-message-edit-stub.zh.md b/.agents/notes/archived/simplification/2026-07-31-drop-user-message-edit-stub.zh.md similarity index 98% rename from .agents/notes/implemented/simplification/2026-07-31-drop-user-message-edit-stub.zh.md rename to .agents/notes/archived/simplification/2026-07-31-drop-user-message-edit-stub.zh.md index 288f2bda5d..f0da1da052 100644 --- a/.agents/notes/implemented/simplification/2026-07-31-drop-user-message-edit-stub.zh.md +++ b/.agents/notes/archived/simplification/2026-07-31-drop-user-message-edit-stub.zh.md @@ -1,6 +1,7 @@ # Agent Note: 移除 user 消息的编辑存根 Status: implemented +Archived: 2026-09-04 [English](2026-07-31-drop-user-message-edit-stub.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-07-31-one-route-to-add-a-workspace.i18n.yaml b/.agents/notes/archived/simplification/2026-07-31-one-route-to-add-a-workspace.i18n.yaml new file mode 100644 index 0000000000..81f0ade0cf --- /dev/null +++ b/.agents/notes/archived/simplification/2026-07-31-one-route-to-add-a-workspace.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-07-31-one-route-to-add-a-workspace.md +2026-07-31-one-route-to-add-a-workspace.md: f4aa8c404e6ea07bc822d61da03fbc85c2cd6a0a +2026-07-31-one-route-to-add-a-workspace.zh.md: a5cf8aabc2fa451c5c78a89ee362e2c985cdcda4 diff --git a/.agents/notes/implemented/simplification/2026-07-31-one-route-to-add-a-workspace.md b/.agents/notes/archived/simplification/2026-07-31-one-route-to-add-a-workspace.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-31-one-route-to-add-a-workspace.md rename to .agents/notes/archived/simplification/2026-07-31-one-route-to-add-a-workspace.md index bcbe77899d..f4aa8c404e 100644 --- a/.agents/notes/implemented/simplification/2026-07-31-one-route-to-add-a-workspace.md +++ b/.agents/notes/archived/simplification/2026-07-31-one-route-to-add-a-workspace.md @@ -1,6 +1,7 @@ # Agent Note: One route to add a Workspace Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-31-one-route-to-add-a-workspace.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-07-31-one-route-to-add-a-workspace.zh.md b/.agents/notes/archived/simplification/2026-07-31-one-route-to-add-a-workspace.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-07-31-one-route-to-add-a-workspace.zh.md rename to .agents/notes/archived/simplification/2026-07-31-one-route-to-add-a-workspace.zh.md index edd17af03c..a5cf8aabc2 100644 --- a/.agents/notes/implemented/simplification/2026-07-31-one-route-to-add-a-workspace.zh.md +++ b/.agents/notes/archived/simplification/2026-07-31-one-route-to-add-a-workspace.zh.md @@ -1,6 +1,7 @@ # Agent Note: 添加 Workspace 的唯一路径 Status: implemented +Archived: 2026-09-04 [English](2026-07-31-one-route-to-add-a-workspace.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-03-omit-invariants-from-shipped-config.i18n.yaml b/.agents/notes/archived/simplification/2026-08-03-omit-invariants-from-shipped-config.i18n.yaml new file mode 100644 index 0000000000..b5eab73c7e --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-03-omit-invariants-from-shipped-config.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-03-omit-invariants-from-shipped-config.md +2026-08-03-omit-invariants-from-shipped-config.md: 135b939ff62bddee46eaa7b8144d151560a0e31d +2026-08-03-omit-invariants-from-shipped-config.zh.md: 968b575c9b799aba225b85a3b9d85f7c6d55d9ef diff --git a/.agents/notes/implemented/simplification/2026-08-03-omit-invariants-from-shipped-config.md b/.agents/notes/archived/simplification/2026-08-03-omit-invariants-from-shipped-config.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-03-omit-invariants-from-shipped-config.md rename to .agents/notes/archived/simplification/2026-08-03-omit-invariants-from-shipped-config.md index a691a09498..135b939ff6 100644 --- a/.agents/notes/implemented/simplification/2026-08-03-omit-invariants-from-shipped-config.md +++ b/.agents/notes/archived/simplification/2026-08-03-omit-invariants-from-shipped-config.md @@ -1,6 +1,7 @@ # Agent Note: Omit runtime invariants from shipped dsh config Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-03-omit-invariants-from-shipped-config.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-03-omit-invariants-from-shipped-config.zh.md b/.agents/notes/archived/simplification/2026-08-03-omit-invariants-from-shipped-config.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-03-omit-invariants-from-shipped-config.zh.md rename to .agents/notes/archived/simplification/2026-08-03-omit-invariants-from-shipped-config.zh.md index c1593f6a9b..968b575c9b 100644 --- a/.agents/notes/implemented/simplification/2026-08-03-omit-invariants-from-shipped-config.zh.md +++ b/.agents/notes/archived/simplification/2026-08-03-omit-invariants-from-shipped-config.zh.md @@ -1,6 +1,7 @@ # Agent Note: 从交付的 dsh 配置中省略运行时不变式 Status: implemented +Archived: 2026-09-04 [English](2026-08-03-omit-invariants-from-shipped-config.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-04-drop-windows-powershell-picker-fallback.i18n.yaml b/.agents/notes/archived/simplification/2026-08-04-drop-windows-powershell-picker-fallback.i18n.yaml new file mode 100644 index 0000000000..d644c3b785 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-04-drop-windows-powershell-picker-fallback.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-04-drop-windows-powershell-picker-fallback.md +2026-08-04-drop-windows-powershell-picker-fallback.md: 5f9dfc6a2b71bc9e6cc957aa1d492a9f3e80df5f +2026-08-04-drop-windows-powershell-picker-fallback.zh.md: 01cd789f9a1c1fe36ef2e149a7e3106346cb158c diff --git a/.agents/notes/implemented/simplification/2026-08-04-drop-windows-powershell-picker-fallback.md b/.agents/notes/archived/simplification/2026-08-04-drop-windows-powershell-picker-fallback.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-04-drop-windows-powershell-picker-fallback.md rename to .agents/notes/archived/simplification/2026-08-04-drop-windows-powershell-picker-fallback.md index 619afd31d9..5f9dfc6a2b 100644 --- a/.agents/notes/implemented/simplification/2026-08-04-drop-windows-powershell-picker-fallback.md +++ b/.agents/notes/archived/simplification/2026-08-04-drop-windows-powershell-picker-fallback.md @@ -1,6 +1,7 @@ # Agent Note: Drop the Windows PowerShell picker fallback Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-04-drop-windows-powershell-picker-fallback.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-04-drop-windows-powershell-picker-fallback.zh.md b/.agents/notes/archived/simplification/2026-08-04-drop-windows-powershell-picker-fallback.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-04-drop-windows-powershell-picker-fallback.zh.md rename to .agents/notes/archived/simplification/2026-08-04-drop-windows-powershell-picker-fallback.zh.md index 14716f405e..01cd789f9a 100644 --- a/.agents/notes/implemented/simplification/2026-08-04-drop-windows-powershell-picker-fallback.zh.md +++ b/.agents/notes/archived/simplification/2026-08-04-drop-windows-powershell-picker-fallback.zh.md @@ -1,6 +1,7 @@ # Agent Note: 删除 Windows PowerShell 选择器回退 Status: implemented +Archived: 2026-09-04 [English](2026-08-04-drop-windows-powershell-picker-fallback.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-04-remove-tui-package.i18n.yaml b/.agents/notes/archived/simplification/2026-08-04-remove-tui-package.i18n.yaml new file mode 100644 index 0000000000..eb499e2c45 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-04-remove-tui-package.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-04-remove-tui-package.md +2026-08-04-remove-tui-package.md: d6862ce6c7927cc33de51c13aac502be1a3abf49 +2026-08-04-remove-tui-package.zh.md: 702a40d957abbfc977986ad35e87143d0116733b diff --git a/.agents/notes/implemented/simplification/2026-08-04-remove-tui-package.md b/.agents/notes/archived/simplification/2026-08-04-remove-tui-package.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-04-remove-tui-package.md rename to .agents/notes/archived/simplification/2026-08-04-remove-tui-package.md index 2834ec10aa..d6862ce6c7 100644 --- a/.agents/notes/implemented/simplification/2026-08-04-remove-tui-package.md +++ b/.agents/notes/archived/simplification/2026-08-04-remove-tui-package.md @@ -1,6 +1,7 @@ # Agent Note: Remove the TUI package Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-04-remove-tui-package.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-04-remove-tui-package.zh.md b/.agents/notes/archived/simplification/2026-08-04-remove-tui-package.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-04-remove-tui-package.zh.md rename to .agents/notes/archived/simplification/2026-08-04-remove-tui-package.zh.md index 6532bb690a..702a40d957 100644 --- a/.agents/notes/implemented/simplification/2026-08-04-remove-tui-package.zh.md +++ b/.agents/notes/archived/simplification/2026-08-04-remove-tui-package.zh.md @@ -1,6 +1,7 @@ # Agent Note: 移除 TUI 包 Status: implemented +Archived: 2026-09-04 [English](2026-08-04-remove-tui-package.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-06-buffer-free-feedback-telemetry.i18n.yaml b/.agents/notes/archived/simplification/2026-08-06-buffer-free-feedback-telemetry.i18n.yaml new file mode 100644 index 0000000000..a617d5589c --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-06-buffer-free-feedback-telemetry.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-06-buffer-free-feedback-telemetry.md +2026-08-06-buffer-free-feedback-telemetry.md: 7b35b5fff5c0d56f33a1888bb75853cfbe67cd74 +2026-08-06-buffer-free-feedback-telemetry.zh.md: be29674eba532c0020cb016915bd87a430bab7e8 diff --git a/.agents/notes/implemented/simplification/2026-08-06-buffer-free-feedback-telemetry.md b/.agents/notes/archived/simplification/2026-08-06-buffer-free-feedback-telemetry.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-06-buffer-free-feedback-telemetry.md rename to .agents/notes/archived/simplification/2026-08-06-buffer-free-feedback-telemetry.md index 9e2822e144..7b35b5fff5 100644 --- a/.agents/notes/implemented/simplification/2026-08-06-buffer-free-feedback-telemetry.md +++ b/.agents/notes/archived/simplification/2026-08-06-buffer-free-feedback-telemetry.md @@ -1,6 +1,7 @@ # Agent Note: Buffer-free feedback telemetry Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-buffer-free-feedback-telemetry.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-06-buffer-free-feedback-telemetry.zh.md b/.agents/notes/archived/simplification/2026-08-06-buffer-free-feedback-telemetry.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-06-buffer-free-feedback-telemetry.zh.md rename to .agents/notes/archived/simplification/2026-08-06-buffer-free-feedback-telemetry.zh.md index cc77c60ada..be29674eba 100644 --- a/.agents/notes/implemented/simplification/2026-08-06-buffer-free-feedback-telemetry.zh.md +++ b/.agents/notes/archived/simplification/2026-08-06-buffer-free-feedback-telemetry.zh.md @@ -1,6 +1,7 @@ # Agent Note: 无缓冲反馈遥测 Status: implemented +Archived: 2026-09-04 [English](2026-08-06-buffer-free-feedback-telemetry.md) | 中文 diff --git a/.agents/notes/implemented/simplification/2026-08-24-owner-local-profile-tests-and-guides.i18n.yaml b/.agents/notes/archived/simplification/2026-08-06-user-bubbles-drop-the-branch-action.i18n.yaml similarity index 53% rename from .agents/notes/implemented/simplification/2026-08-24-owner-local-profile-tests-and-guides.i18n.yaml rename to .agents/notes/archived/simplification/2026-08-06-user-bubbles-drop-the-branch-action.i18n.yaml index 9768def496..d83886b9bb 100644 --- a/.agents/notes/implemented/simplification/2026-08-24-owner-local-profile-tests-and-guides.i18n.yaml +++ b/.agents/notes/archived/simplification/2026-08-06-user-bubbles-drop-the-branch-action.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/simplification/2026-08-24-owner-local-profile-tests-and-guides.md -2026-08-24-owner-local-profile-tests-and-guides.md: 26a62dd9c28a55d5195ab9a8a56c5369bf521362 -2026-08-24-owner-local-profile-tests-and-guides.zh.md: fa65c09b8b886b1bf442ff5a52976e06032bb75c +# pnpm run verify-translation-pairing --write .agents/notes/archived/simplification/2026-08-06-user-bubbles-drop-the-branch-action.md +2026-08-06-user-bubbles-drop-the-branch-action.md: 0cafa412aae45a02512c5e9911a4dfd46b4c8cad +2026-08-06-user-bubbles-drop-the-branch-action.zh.md: 8bf511d1ed16b57be69510479b849eab203fe4b9 diff --git a/.agents/notes/implemented/simplification/2026-08-06-user-bubbles-drop-the-branch-action.md b/.agents/notes/archived/simplification/2026-08-06-user-bubbles-drop-the-branch-action.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-06-user-bubbles-drop-the-branch-action.md rename to .agents/notes/archived/simplification/2026-08-06-user-bubbles-drop-the-branch-action.md index 817b5e72b7..0cafa412aa 100644 --- a/.agents/notes/implemented/simplification/2026-08-06-user-bubbles-drop-the-branch-action.md +++ b/.agents/notes/archived/simplification/2026-08-06-user-bubbles-drop-the-branch-action.md @@ -1,6 +1,7 @@ # Agent Note: User and steering bubbles drop the branch action Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-06-user-bubbles-drop-the-branch-action.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-06-user-bubbles-drop-the-branch-action.zh.md b/.agents/notes/archived/simplification/2026-08-06-user-bubbles-drop-the-branch-action.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-06-user-bubbles-drop-the-branch-action.zh.md rename to .agents/notes/archived/simplification/2026-08-06-user-bubbles-drop-the-branch-action.zh.md index 0f53831510..8bf511d1ed 100644 --- a/.agents/notes/implemented/simplification/2026-08-06-user-bubbles-drop-the-branch-action.zh.md +++ b/.agents/notes/archived/simplification/2026-08-06-user-bubbles-drop-the-branch-action.zh.md @@ -1,6 +1,7 @@ # Agent Note: user 与 steering 气泡移除分支操作 Status: implemented +Archived: 2026-09-04 [English](2026-08-06-user-bubbles-drop-the-branch-action.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-08-remove-cli-demo.i18n.yaml b/.agents/notes/archived/simplification/2026-08-08-remove-cli-demo.i18n.yaml new file mode 100644 index 0000000000..4c2de1b2bc --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-08-remove-cli-demo.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-08-remove-cli-demo.md +2026-08-08-remove-cli-demo.md: c23b622ccc1d9a7d87750c44c9b8df0bc68e314f +2026-08-08-remove-cli-demo.zh.md: dec370ff11b099feab2d760b5646b6dc9bd422e5 diff --git a/.agents/notes/implemented/simplification/2026-08-08-remove-cli-demo.md b/.agents/notes/archived/simplification/2026-08-08-remove-cli-demo.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-08-remove-cli-demo.md rename to .agents/notes/archived/simplification/2026-08-08-remove-cli-demo.md index 1bfb4cdf8d..c23b622ccc 100644 --- a/.agents/notes/implemented/simplification/2026-08-08-remove-cli-demo.md +++ b/.agents/notes/archived/simplification/2026-08-08-remove-cli-demo.md @@ -1,6 +1,7 @@ # Agent Note: Remove the separate CLI demo Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-08-remove-cli-demo.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-08-remove-cli-demo.zh.md b/.agents/notes/archived/simplification/2026-08-08-remove-cli-demo.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-08-remove-cli-demo.zh.md rename to .agents/notes/archived/simplification/2026-08-08-remove-cli-demo.zh.md index 9e84831aa5..dec370ff11 100644 --- a/.agents/notes/implemented/simplification/2026-08-08-remove-cli-demo.zh.md +++ b/.agents/notes/archived/simplification/2026-08-08-remove-cli-demo.zh.md @@ -1,6 +1,7 @@ # Agent Note: 移除独立的 CLI demo Status: implemented +Archived: 2026-09-04 [English](2026-08-08-remove-cli-demo.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-09-bounded-fixed-rate-schedule.i18n.yaml b/.agents/notes/archived/simplification/2026-08-09-bounded-fixed-rate-schedule.i18n.yaml new file mode 100644 index 0000000000..2c1d862c8e --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-09-bounded-fixed-rate-schedule.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-09-bounded-fixed-rate-schedule.md +2026-08-09-bounded-fixed-rate-schedule.md: 849ff666c38d92cf28edef7e6ea551584c152b03 +2026-08-09-bounded-fixed-rate-schedule.zh.md: da4868f0d23080e37cf8d78afd98700d3e88ed74 diff --git a/.agents/notes/implemented/simplification/2026-08-09-bounded-fixed-rate-schedule.md b/.agents/notes/archived/simplification/2026-08-09-bounded-fixed-rate-schedule.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-09-bounded-fixed-rate-schedule.md rename to .agents/notes/archived/simplification/2026-08-09-bounded-fixed-rate-schedule.md index 83d7e149f6..849ff666c3 100644 --- a/.agents/notes/implemented/simplification/2026-08-09-bounded-fixed-rate-schedule.md +++ b/.agents/notes/archived/simplification/2026-08-09-bounded-fixed-rate-schedule.md @@ -1,6 +1,7 @@ # Agent Note: Bounded fixed-rate Schedule Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-09-bounded-fixed-rate-schedule.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-09-bounded-fixed-rate-schedule.zh.md b/.agents/notes/archived/simplification/2026-08-09-bounded-fixed-rate-schedule.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-09-bounded-fixed-rate-schedule.zh.md rename to .agents/notes/archived/simplification/2026-08-09-bounded-fixed-rate-schedule.zh.md index a8b287ce7f..da4868f0d2 100644 --- a/.agents/notes/implemented/simplification/2026-08-09-bounded-fixed-rate-schedule.zh.md +++ b/.agents/notes/archived/simplification/2026-08-09-bounded-fixed-rate-schedule.zh.md @@ -1,6 +1,7 @@ # Agent Note: 有界固定速率 Schedule Status: implemented +Archived: 2026-09-04 [English](2026-08-09-bounded-fixed-rate-schedule.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-09-conversational-schedule-delivery.i18n.yaml b/.agents/notes/archived/simplification/2026-08-09-conversational-schedule-delivery.i18n.yaml new file mode 100644 index 0000000000..a3dab2a7b8 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-09-conversational-schedule-delivery.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-09-conversational-schedule-delivery.md +2026-08-09-conversational-schedule-delivery.md: bd0497031bdaa1e23158851c4de05b2e3d16f97d +2026-08-09-conversational-schedule-delivery.zh.md: cf902b6a1c190c8ab4c00d808d6b27088a562ea8 diff --git a/.agents/notes/implemented/simplification/2026-08-09-conversational-schedule-delivery.md b/.agents/notes/archived/simplification/2026-08-09-conversational-schedule-delivery.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-09-conversational-schedule-delivery.md rename to .agents/notes/archived/simplification/2026-08-09-conversational-schedule-delivery.md index 84a97b8945..bd0497031b 100644 --- a/.agents/notes/implemented/simplification/2026-08-09-conversational-schedule-delivery.md +++ b/.agents/notes/archived/simplification/2026-08-09-conversational-schedule-delivery.md @@ -1,6 +1,7 @@ # Agent Note: Conversational Schedule delivery Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-09-conversational-schedule-delivery.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-09-conversational-schedule-delivery.zh.md b/.agents/notes/archived/simplification/2026-08-09-conversational-schedule-delivery.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-09-conversational-schedule-delivery.zh.md rename to .agents/notes/archived/simplification/2026-08-09-conversational-schedule-delivery.zh.md index 1d3430a8c7..cf902b6a1c 100644 --- a/.agents/notes/implemented/simplification/2026-08-09-conversational-schedule-delivery.zh.md +++ b/.agents/notes/archived/simplification/2026-08-09-conversational-schedule-delivery.zh.md @@ -1,6 +1,7 @@ # Agent Note: 对话式 Schedule 交付 Status: implemented +Archived: 2026-09-04 [English](2026-08-09-conversational-schedule-delivery.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-09-remove-repository-plugin.i18n.yaml b/.agents/notes/archived/simplification/2026-08-09-remove-repository-plugin.i18n.yaml new file mode 100644 index 0000000000..eb4c53605e --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-09-remove-repository-plugin.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-09-remove-repository-plugin.md +2026-08-09-remove-repository-plugin.md: 34743014667d381af92a267b798d418756b9f4af +2026-08-09-remove-repository-plugin.zh.md: 778499d9830e83c0336a198aad25685b2af1dcb8 diff --git a/.agents/notes/implemented/simplification/2026-08-09-remove-repository-plugin.md b/.agents/notes/archived/simplification/2026-08-09-remove-repository-plugin.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-09-remove-repository-plugin.md rename to .agents/notes/archived/simplification/2026-08-09-remove-repository-plugin.md index f9d1c00849..3474301466 100644 --- a/.agents/notes/implemented/simplification/2026-08-09-remove-repository-plugin.md +++ b/.agents/notes/archived/simplification/2026-08-09-remove-repository-plugin.md @@ -1,6 +1,7 @@ # Agent Note: Remove the dedicated repository Plugin path Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-09-remove-repository-plugin.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-09-remove-repository-plugin.zh.md b/.agents/notes/archived/simplification/2026-08-09-remove-repository-plugin.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-09-remove-repository-plugin.zh.md rename to .agents/notes/archived/simplification/2026-08-09-remove-repository-plugin.zh.md index 7f89f7f20f..778499d983 100644 --- a/.agents/notes/implemented/simplification/2026-08-09-remove-repository-plugin.zh.md +++ b/.agents/notes/archived/simplification/2026-08-09-remove-repository-plugin.zh.md @@ -1,6 +1,7 @@ # Agent Note: 移除专用 repository 插件路径 Status: implemented +Archived: 2026-09-04 [English](2026-08-09-remove-repository-plugin.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-10-default-presets-single-editor.i18n.yaml b/.agents/notes/archived/simplification/2026-08-10-default-presets-single-editor.i18n.yaml new file mode 100644 index 0000000000..afecce73a7 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-10-default-presets-single-editor.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-10-default-presets-single-editor.md +2026-08-10-default-presets-single-editor.md: 2095cb4b6a436f21918e5ac0c4800a031174f7a1 +2026-08-10-default-presets-single-editor.zh.md: 2ea6109e13776a39e7c03a4f5d7a06e631c8c97a diff --git a/.agents/notes/implemented/simplification/2026-08-10-default-presets-single-editor.md b/.agents/notes/archived/simplification/2026-08-10-default-presets-single-editor.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-10-default-presets-single-editor.md rename to .agents/notes/archived/simplification/2026-08-10-default-presets-single-editor.md index 3d1c1dea4f..2095cb4b6a 100644 --- a/.agents/notes/implemented/simplification/2026-08-10-default-presets-single-editor.md +++ b/.agents/notes/archived/simplification/2026-08-10-default-presets-single-editor.md @@ -1,6 +1,7 @@ # Agent Note: One editor family in general-purpose presets Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-10-default-presets-single-editor.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-10-default-presets-single-editor.zh.md b/.agents/notes/archived/simplification/2026-08-10-default-presets-single-editor.zh.md similarity index 98% rename from .agents/notes/implemented/simplification/2026-08-10-default-presets-single-editor.zh.md rename to .agents/notes/archived/simplification/2026-08-10-default-presets-single-editor.zh.md index 5212156a6a..2ea6109e13 100644 --- a/.agents/notes/implemented/simplification/2026-08-10-default-presets-single-editor.zh.md +++ b/.agents/notes/archived/simplification/2026-08-10-default-presets-single-editor.zh.md @@ -1,6 +1,7 @@ # Agent Note: 通用 preset 只提供一套编辑工具 Status: implemented +Archived: 2026-09-04 [English](2026-08-10-default-presets-single-editor.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-10-source-run-without-managed-installer.i18n.yaml b/.agents/notes/archived/simplification/2026-08-10-source-run-without-managed-installer.i18n.yaml new file mode 100644 index 0000000000..b23eedc142 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-10-source-run-without-managed-installer.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-10-source-run-without-managed-installer.md +2026-08-10-source-run-without-managed-installer.md: 4e39ab10af027c3ba80d781fb8481e127a2687c7 +2026-08-10-source-run-without-managed-installer.zh.md: e0ee88e5d76f29feb4e4253cae02d14b000fcd0b diff --git a/.agents/notes/implemented/simplification/2026-08-10-source-run-without-managed-installer.md b/.agents/notes/archived/simplification/2026-08-10-source-run-without-managed-installer.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-10-source-run-without-managed-installer.md rename to .agents/notes/archived/simplification/2026-08-10-source-run-without-managed-installer.md index b9e86c3c32..4e39ab10af 100644 --- a/.agents/notes/implemented/simplification/2026-08-10-source-run-without-managed-installer.md +++ b/.agents/notes/archived/simplification/2026-08-10-source-run-without-managed-installer.md @@ -1,6 +1,7 @@ # Agent Note: Source run without a managed installer Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-10-source-run-without-managed-installer.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-10-source-run-without-managed-installer.zh.md b/.agents/notes/archived/simplification/2026-08-10-source-run-without-managed-installer.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-10-source-run-without-managed-installer.zh.md rename to .agents/notes/archived/simplification/2026-08-10-source-run-without-managed-installer.zh.md index 48c1fdb7cc..e0ee88e5d7 100644 --- a/.agents/notes/implemented/simplification/2026-08-10-source-run-without-managed-installer.zh.md +++ b/.agents/notes/archived/simplification/2026-08-10-source-run-without-managed-installer.zh.md @@ -1,6 +1,7 @@ # Agent Note: 无需托管安装器的源码运行 Status: implemented +Archived: 2026-09-04 [English](2026-08-10-source-run-without-managed-installer.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-10-web-remove-steering-interjection-caption.i18n.yaml b/.agents/notes/archived/simplification/2026-08-10-web-remove-steering-interjection-caption.i18n.yaml new file mode 100644 index 0000000000..8465d6e5d1 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-10-web-remove-steering-interjection-caption.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-10-web-remove-steering-interjection-caption.md +2026-08-10-web-remove-steering-interjection-caption.md: 4a2d5df1757154584a897147b5d6a7d492945b89 +2026-08-10-web-remove-steering-interjection-caption.zh.md: 82e24a16e7d8efb12a79b12069a5cb3ce39a3da7 diff --git a/.agents/notes/implemented/simplification/2026-08-10-web-remove-steering-interjection-caption.md b/.agents/notes/archived/simplification/2026-08-10-web-remove-steering-interjection-caption.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-10-web-remove-steering-interjection-caption.md rename to .agents/notes/archived/simplification/2026-08-10-web-remove-steering-interjection-caption.md index 2c396f5494..4a2d5df175 100644 --- a/.agents/notes/implemented/simplification/2026-08-10-web-remove-steering-interjection-caption.md +++ b/.agents/notes/archived/simplification/2026-08-10-web-remove-steering-interjection-caption.md @@ -1,6 +1,7 @@ # Agent Note: Remove the steering interjection caption Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-10-web-remove-steering-interjection-caption.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-10-web-remove-steering-interjection-caption.zh.md b/.agents/notes/archived/simplification/2026-08-10-web-remove-steering-interjection-caption.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-10-web-remove-steering-interjection-caption.zh.md rename to .agents/notes/archived/simplification/2026-08-10-web-remove-steering-interjection-caption.zh.md index 10a3f66d16..82e24a16e7 100644 --- a/.agents/notes/implemented/simplification/2026-08-10-web-remove-steering-interjection-caption.zh.md +++ b/.agents/notes/archived/simplification/2026-08-10-web-remove-steering-interjection-caption.zh.md @@ -1,6 +1,7 @@ # Agent Note: 移除 steering(中途引导)插话标注 Status: implemented +Archived: 2026-09-04 [English](2026-08-10-web-remove-steering-interjection-caption.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-11-remove-sdk-project-toolchain.i18n.yaml b/.agents/notes/archived/simplification/2026-08-11-remove-sdk-project-toolchain.i18n.yaml new file mode 100644 index 0000000000..8917707fe2 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-11-remove-sdk-project-toolchain.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-11-remove-sdk-project-toolchain.md +2026-08-11-remove-sdk-project-toolchain.md: 865e80d2ee42f6aa38057d61f7151cf1802d962b +2026-08-11-remove-sdk-project-toolchain.zh.md: e978a5aecf349d1fd01b6d947609fa3b7692eb35 diff --git a/.agents/notes/implemented/simplification/2026-08-11-remove-sdk-project-toolchain.md b/.agents/notes/archived/simplification/2026-08-11-remove-sdk-project-toolchain.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-11-remove-sdk-project-toolchain.md rename to .agents/notes/archived/simplification/2026-08-11-remove-sdk-project-toolchain.md index fc896c2823..865e80d2ee 100644 --- a/.agents/notes/implemented/simplification/2026-08-11-remove-sdk-project-toolchain.md +++ b/.agents/notes/archived/simplification/2026-08-11-remove-sdk-project-toolchain.md @@ -1,6 +1,7 @@ # Agent Note: Remove the SDK project toolchain Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-11-remove-sdk-project-toolchain.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-11-remove-sdk-project-toolchain.zh.md b/.agents/notes/archived/simplification/2026-08-11-remove-sdk-project-toolchain.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-11-remove-sdk-project-toolchain.zh.md rename to .agents/notes/archived/simplification/2026-08-11-remove-sdk-project-toolchain.zh.md index 9d33a89e28..e978a5aecf 100644 --- a/.agents/notes/implemented/simplification/2026-08-11-remove-sdk-project-toolchain.zh.md +++ b/.agents/notes/archived/simplification/2026-08-11-remove-sdk-project-toolchain.zh.md @@ -1,6 +1,7 @@ # Agent Note: 移除 SDK 项目工具链 Status: implemented +Archived: 2026-09-04 [English](2026-08-11-remove-sdk-project-toolchain.md) | 中文 diff --git a/.agents/notes/implemented/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.i18n.yaml b/.agents/notes/archived/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.i18n.yaml similarity index 60% rename from .agents/notes/implemented/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.i18n.yaml rename to .agents/notes/archived/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.i18n.yaml index a017cbbc22..ea5f3d83be 100644 --- a/.agents/notes/implemented/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.i18n.yaml +++ b/.agents/notes/archived/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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 .agents/notes/implemented/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.md -2026-08-12-production-dsh-excludes-product-subagent-providers.md: 551cf86bd0d1901e5ad8e33588b7bf274cb2c8fe -2026-08-12-production-dsh-excludes-product-subagent-providers.zh.md: 611c6192c501f6289911c18c36ca21a31c57e2cd +# pnpm run verify-translation-pairing --write .agents/notes/archived/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.md +2026-08-12-production-dsh-excludes-product-subagent-providers.md: ba37c2d81edda5c695743a080e83498ce6582b51 +2026-08-12-production-dsh-excludes-product-subagent-providers.zh.md: 827f4f3a91da334766c11cbf4fd72a127ac80742 diff --git a/.agents/notes/implemented/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.md b/.agents/notes/archived/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.md rename to .agents/notes/archived/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.md index 551cf86bd0..ba37c2d81e 100644 --- a/.agents/notes/implemented/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.md +++ b/.agents/notes/archived/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.md @@ -1,6 +1,7 @@ # Agent Note: Production dsh excludes product subagent providers Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-12-production-dsh-excludes-product-subagent-providers.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.zh.md b/.agents/notes/archived/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.zh.md rename to .agents/notes/archived/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.zh.md index 611c6192c5..827f4f3a91 100644 --- a/.agents/notes/implemented/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.zh.md +++ b/.agents/notes/archived/simplification/2026-08-12-production-dsh-excludes-product-subagent-providers.zh.md @@ -1,6 +1,7 @@ # Agent Note: 生产 dsh 排除产品 subagent 提供方 Status: implemented +Archived: 2026-09-04 [English](2026-08-12-production-dsh-excludes-product-subagent-providers.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-12-separate-source-launch-from-build.i18n.yaml b/.agents/notes/archived/simplification/2026-08-12-separate-source-launch-from-build.i18n.yaml new file mode 100644 index 0000000000..d699bfa22b --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-12-separate-source-launch-from-build.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-12-separate-source-launch-from-build.md +2026-08-12-separate-source-launch-from-build.md: 2d285407b23071237ea02098204b09da45e39728 +2026-08-12-separate-source-launch-from-build.zh.md: 69c035ce7e6d1717cad780524afee01be82ac7c5 diff --git a/.agents/notes/implemented/simplification/2026-08-12-separate-source-launch-from-build.md b/.agents/notes/archived/simplification/2026-08-12-separate-source-launch-from-build.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-12-separate-source-launch-from-build.md rename to .agents/notes/archived/simplification/2026-08-12-separate-source-launch-from-build.md index 639e9de0ce..2d285407b2 100644 --- a/.agents/notes/implemented/simplification/2026-08-12-separate-source-launch-from-build.md +++ b/.agents/notes/archived/simplification/2026-08-12-separate-source-launch-from-build.md @@ -1,6 +1,7 @@ # Agent Note: Separate source launch from repository build Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-12-separate-source-launch-from-build.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-12-separate-source-launch-from-build.zh.md b/.agents/notes/archived/simplification/2026-08-12-separate-source-launch-from-build.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-12-separate-source-launch-from-build.zh.md rename to .agents/notes/archived/simplification/2026-08-12-separate-source-launch-from-build.zh.md index c8fd662605..69c035ce7e 100644 --- a/.agents/notes/implemented/simplification/2026-08-12-separate-source-launch-from-build.zh.md +++ b/.agents/notes/archived/simplification/2026-08-12-separate-source-launch-from-build.zh.md @@ -1,6 +1,7 @@ # Agent Note: 将源码启动与仓库构建分离 Status: implemented +Archived: 2026-09-04 [English](2026-08-12-separate-source-launch-from-build.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-12-trim-agent-teams-read-and-lifecycle-surface.i18n.yaml b/.agents/notes/archived/simplification/2026-08-12-trim-agent-teams-read-and-lifecycle-surface.i18n.yaml new file mode 100644 index 0000000000..c08d227781 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-12-trim-agent-teams-read-and-lifecycle-surface.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-12-trim-agent-teams-read-and-lifecycle-surface.md +2026-08-12-trim-agent-teams-read-and-lifecycle-surface.md: f4be797c47b804592818895db8daad0bb5b9e26d +2026-08-12-trim-agent-teams-read-and-lifecycle-surface.zh.md: 196c3b241eb2552b98c186e78d6a161b8b5cd5b5 diff --git a/.agents/notes/implemented/simplification/2026-08-12-trim-agent-teams-read-and-lifecycle-surface.md b/.agents/notes/archived/simplification/2026-08-12-trim-agent-teams-read-and-lifecycle-surface.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-12-trim-agent-teams-read-and-lifecycle-surface.md rename to .agents/notes/archived/simplification/2026-08-12-trim-agent-teams-read-and-lifecycle-surface.md index 69a54dae6e..f4be797c47 100644 --- a/.agents/notes/implemented/simplification/2026-08-12-trim-agent-teams-read-and-lifecycle-surface.md +++ b/.agents/notes/archived/simplification/2026-08-12-trim-agent-teams-read-and-lifecycle-surface.md @@ -1,6 +1,7 @@ # Agent Note: Trim the Agent Teams read and lifecycle surface Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-12-trim-agent-teams-read-and-lifecycle-surface.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-12-trim-agent-teams-read-and-lifecycle-surface.zh.md b/.agents/notes/archived/simplification/2026-08-12-trim-agent-teams-read-and-lifecycle-surface.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-12-trim-agent-teams-read-and-lifecycle-surface.zh.md rename to .agents/notes/archived/simplification/2026-08-12-trim-agent-teams-read-and-lifecycle-surface.zh.md index f43dc68006..196c3b241e 100644 --- a/.agents/notes/implemented/simplification/2026-08-12-trim-agent-teams-read-and-lifecycle-surface.zh.md +++ b/.agents/notes/archived/simplification/2026-08-12-trim-agent-teams-read-and-lifecycle-surface.zh.md @@ -1,6 +1,7 @@ # Agent Note: Trim the Agent Teams read and lifecycle surface Status: implemented +Archived: 2026-09-04 [English](2026-08-12-trim-agent-teams-read-and-lifecycle-surface.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-21-product-subagent-minimal-diagnostics.i18n.yaml b/.agents/notes/archived/simplification/2026-08-21-product-subagent-minimal-diagnostics.i18n.yaml new file mode 100644 index 0000000000..2d4a67eb95 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-21-product-subagent-minimal-diagnostics.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-21-product-subagent-minimal-diagnostics.md +2026-08-21-product-subagent-minimal-diagnostics.md: 8ba1e1a8d2ad5896421f029ae79265e00450b1da +2026-08-21-product-subagent-minimal-diagnostics.zh.md: 857d0c7d6127c3dadb661fbc73f9516b385b297a diff --git a/.agents/notes/implemented/simplification/2026-08-21-product-subagent-minimal-diagnostics.md b/.agents/notes/archived/simplification/2026-08-21-product-subagent-minimal-diagnostics.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-21-product-subagent-minimal-diagnostics.md rename to .agents/notes/archived/simplification/2026-08-21-product-subagent-minimal-diagnostics.md index b99ed48791..8ba1e1a8d2 100644 --- a/.agents/notes/implemented/simplification/2026-08-21-product-subagent-minimal-diagnostics.md +++ b/.agents/notes/archived/simplification/2026-08-21-product-subagent-minimal-diagnostics.md @@ -1,6 +1,7 @@ # Agent Note: Product subagents expose minimal actionable diagnostics Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-21-product-subagent-minimal-diagnostics.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-21-product-subagent-minimal-diagnostics.zh.md b/.agents/notes/archived/simplification/2026-08-21-product-subagent-minimal-diagnostics.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-21-product-subagent-minimal-diagnostics.zh.md rename to .agents/notes/archived/simplification/2026-08-21-product-subagent-minimal-diagnostics.zh.md index 46f948334d..857d0c7d61 100644 --- a/.agents/notes/implemented/simplification/2026-08-21-product-subagent-minimal-diagnostics.zh.md +++ b/.agents/notes/archived/simplification/2026-08-21-product-subagent-minimal-diagnostics.zh.md @@ -1,6 +1,7 @@ # Agent Note: 产品 subagent 公开最小可行动诊断 Status: implemented +Archived: 2026-09-04 [English](2026-08-21-product-subagent-minimal-diagnostics.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-24-owner-local-profile-tests-and-guides.i18n.yaml b/.agents/notes/archived/simplification/2026-08-24-owner-local-profile-tests-and-guides.i18n.yaml new file mode 100644 index 0000000000..828dd4a4d2 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-24-owner-local-profile-tests-and-guides.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-24-owner-local-profile-tests-and-guides.md +2026-08-24-owner-local-profile-tests-and-guides.md: fb9f1ad5c79fbf686cb84c4a9c8e4e4b835c6aef +2026-08-24-owner-local-profile-tests-and-guides.zh.md: 904d21d32651728fa567f3a18146cb8a36351371 diff --git a/.agents/notes/implemented/simplification/2026-08-24-owner-local-profile-tests-and-guides.md b/.agents/notes/archived/simplification/2026-08-24-owner-local-profile-tests-and-guides.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-24-owner-local-profile-tests-and-guides.md rename to .agents/notes/archived/simplification/2026-08-24-owner-local-profile-tests-and-guides.md index 26a62dd9c2..fb9f1ad5c7 100644 --- a/.agents/notes/implemented/simplification/2026-08-24-owner-local-profile-tests-and-guides.md +++ b/.agents/notes/archived/simplification/2026-08-24-owner-local-profile-tests-and-guides.md @@ -1,6 +1,7 @@ # Agent Note: Owner-local profile tests and runnable guides Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-24-owner-local-profile-tests-and-guides.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-24-owner-local-profile-tests-and-guides.zh.md b/.agents/notes/archived/simplification/2026-08-24-owner-local-profile-tests-and-guides.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-24-owner-local-profile-tests-and-guides.zh.md rename to .agents/notes/archived/simplification/2026-08-24-owner-local-profile-tests-and-guides.zh.md index fa65c09b8b..904d21d326 100644 --- a/.agents/notes/implemented/simplification/2026-08-24-owner-local-profile-tests-and-guides.zh.md +++ b/.agents/notes/archived/simplification/2026-08-24-owner-local-profile-tests-and-guides.zh.md @@ -1,6 +1,7 @@ # Agent Note: 归属方本地的 Profile 测试与可运行指南 Status: implemented +Archived: 2026-09-04 [English](2026-08-24-owner-local-profile-tests-and-guides.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-26-remove-agent-spine-demo.i18n.yaml b/.agents/notes/archived/simplification/2026-08-26-remove-agent-spine-demo.i18n.yaml new file mode 100644 index 0000000000..bf5eb496ee --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-26-remove-agent-spine-demo.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-26-remove-agent-spine-demo.md +2026-08-26-remove-agent-spine-demo.md: 15768c10e15779c15c0207fc036af98d469d6a7c +2026-08-26-remove-agent-spine-demo.zh.md: 31c6cf46aaadb8895bcdc2ea8e8958390f279786 diff --git a/.agents/notes/implemented/simplification/2026-08-26-remove-agent-spine-demo.md b/.agents/notes/archived/simplification/2026-08-26-remove-agent-spine-demo.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-26-remove-agent-spine-demo.md rename to .agents/notes/archived/simplification/2026-08-26-remove-agent-spine-demo.md index 47c9341ed9..15768c10e1 100644 --- a/.agents/notes/implemented/simplification/2026-08-26-remove-agent-spine-demo.md +++ b/.agents/notes/archived/simplification/2026-08-26-remove-agent-spine-demo.md @@ -1,6 +1,7 @@ # Agent Note: Remove the agent-spine demo package Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-26-remove-agent-spine-demo.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-26-remove-agent-spine-demo.zh.md b/.agents/notes/archived/simplification/2026-08-26-remove-agent-spine-demo.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-26-remove-agent-spine-demo.zh.md rename to .agents/notes/archived/simplification/2026-08-26-remove-agent-spine-demo.zh.md index 5b48f71d3b..31c6cf46aa 100644 --- a/.agents/notes/implemented/simplification/2026-08-26-remove-agent-spine-demo.zh.md +++ b/.agents/notes/archived/simplification/2026-08-26-remove-agent-spine-demo.zh.md @@ -1,6 +1,7 @@ # Agent Note: 删除 agent-spine demo 包 Status: implemented +Archived: 2026-09-04 [English](2026-08-26-remove-agent-spine-demo.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-27-persistence-export-and-pre-release-trims.i18n.yaml b/.agents/notes/archived/simplification/2026-08-27-persistence-export-and-pre-release-trims.i18n.yaml new file mode 100644 index 0000000000..a20c04354d --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-27-persistence-export-and-pre-release-trims.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-27-persistence-export-and-pre-release-trims.md +2026-08-27-persistence-export-and-pre-release-trims.md: 5a99bb7b38e0ce0ce6974897b09ec90fbe6bb074 +2026-08-27-persistence-export-and-pre-release-trims.zh.md: 2eb87104cf292d31e0775b8aa94e32947dd4f36b diff --git a/.agents/notes/implemented/simplification/2026-08-27-persistence-export-and-pre-release-trims.md b/.agents/notes/archived/simplification/2026-08-27-persistence-export-and-pre-release-trims.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-27-persistence-export-and-pre-release-trims.md rename to .agents/notes/archived/simplification/2026-08-27-persistence-export-and-pre-release-trims.md index 90b050edee..5a99bb7b38 100644 --- a/.agents/notes/implemented/simplification/2026-08-27-persistence-export-and-pre-release-trims.md +++ b/.agents/notes/archived/simplification/2026-08-27-persistence-export-and-pre-release-trims.md @@ -1,6 +1,7 @@ # Agent Note: Persistence export() and pre-release read-path trims Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-27-persistence-export-and-pre-release-trims.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-27-persistence-export-and-pre-release-trims.zh.md b/.agents/notes/archived/simplification/2026-08-27-persistence-export-and-pre-release-trims.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-27-persistence-export-and-pre-release-trims.zh.md rename to .agents/notes/archived/simplification/2026-08-27-persistence-export-and-pre-release-trims.zh.md index aa05be1ee0..2eb87104cf 100644 --- a/.agents/notes/implemented/simplification/2026-08-27-persistence-export-and-pre-release-trims.zh.md +++ b/.agents/notes/archived/simplification/2026-08-27-persistence-export-and-pre-release-trims.zh.md @@ -1,6 +1,7 @@ # Agent Note: 持久化 export() 与预发布读取路径精简 Status: implemented +Archived: 2026-09-04 [English](2026-08-27-persistence-export-and-pre-release-trims.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-28-remove-hero-input-glow.i18n.yaml b/.agents/notes/archived/simplification/2026-08-28-remove-hero-input-glow.i18n.yaml new file mode 100644 index 0000000000..cdcb9fae43 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-28-remove-hero-input-glow.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-28-remove-hero-input-glow.md +2026-08-28-remove-hero-input-glow.md: 43ef64cabca2dd07c4ac5a65f8098823b3291dfc +2026-08-28-remove-hero-input-glow.zh.md: 9ae9e1ac83326ee09a545a8d5b0057e2e1b84330 diff --git a/.agents/notes/implemented/simplification/2026-08-28-remove-hero-input-glow.md b/.agents/notes/archived/simplification/2026-08-28-remove-hero-input-glow.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-28-remove-hero-input-glow.md rename to .agents/notes/archived/simplification/2026-08-28-remove-hero-input-glow.md index 929fce91d3..43ef64cabc 100644 --- a/.agents/notes/implemented/simplification/2026-08-28-remove-hero-input-glow.md +++ b/.agents/notes/archived/simplification/2026-08-28-remove-hero-input-glow.md @@ -1,6 +1,7 @@ # Agent Note: The hero input glow is removed Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-28-remove-hero-input-glow.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-28-remove-hero-input-glow.zh.md b/.agents/notes/archived/simplification/2026-08-28-remove-hero-input-glow.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-28-remove-hero-input-glow.zh.md rename to .agents/notes/archived/simplification/2026-08-28-remove-hero-input-glow.zh.md index e8a32c8dc6..9ae9e1ac83 100644 --- a/.agents/notes/implemented/simplification/2026-08-28-remove-hero-input-glow.zh.md +++ b/.agents/notes/archived/simplification/2026-08-28-remove-hero-input-glow.zh.md @@ -1,6 +1,7 @@ # Agent Note: The hero input glow is removed Status: implemented +Archived: 2026-09-04 [English](2026-08-28-remove-hero-input-glow.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-28-windows-only-absent-probe-repair.i18n.yaml b/.agents/notes/archived/simplification/2026-08-28-windows-only-absent-probe-repair.i18n.yaml new file mode 100644 index 0000000000..1a9fe55050 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-28-windows-only-absent-probe-repair.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-28-windows-only-absent-probe-repair.md +2026-08-28-windows-only-absent-probe-repair.md: 887e5fcf2280700b0f9b5c3fed821fdc4327a6ca +2026-08-28-windows-only-absent-probe-repair.zh.md: 478110899d5faf931298c2e022ebaf859a1ebfc9 diff --git a/.agents/notes/implemented/simplification/2026-08-28-windows-only-absent-probe-repair.md b/.agents/notes/archived/simplification/2026-08-28-windows-only-absent-probe-repair.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-28-windows-only-absent-probe-repair.md rename to .agents/notes/archived/simplification/2026-08-28-windows-only-absent-probe-repair.md index 55fa7bee8d..887e5fcf22 100644 --- a/.agents/notes/implemented/simplification/2026-08-28-windows-only-absent-probe-repair.md +++ b/.agents/notes/archived/simplification/2026-08-28-windows-only-absent-probe-repair.md @@ -1,6 +1,7 @@ # Agent Note: The absent-probe parent repair runs on Windows only Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-28-windows-only-absent-probe-repair.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-28-windows-only-absent-probe-repair.zh.md b/.agents/notes/archived/simplification/2026-08-28-windows-only-absent-probe-repair.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-28-windows-only-absent-probe-repair.zh.md rename to .agents/notes/archived/simplification/2026-08-28-windows-only-absent-probe-repair.zh.md index 5a459cab1f..478110899d 100644 --- a/.agents/notes/implemented/simplification/2026-08-28-windows-only-absent-probe-repair.zh.md +++ b/.agents/notes/archived/simplification/2026-08-28-windows-only-absent-probe-repair.zh.md @@ -1,6 +1,7 @@ # Agent Note: 缺失探测的父目录修复只在 Windows 上执行 Status: implemented +Archived: 2026-09-04 [English](2026-08-28-windows-only-absent-probe-repair.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-08-30-team-send-message-steer.i18n.yaml b/.agents/notes/archived/simplification/2026-08-30-team-send-message-steer.i18n.yaml new file mode 100644 index 0000000000..7a5d9770fd --- /dev/null +++ b/.agents/notes/archived/simplification/2026-08-30-team-send-message-steer.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-08-30-team-send-message-steer.md +2026-08-30-team-send-message-steer.md: f313a6fb11e4e32ff63944e961c615972807a820 +2026-08-30-team-send-message-steer.zh.md: fd5f7f3b9641048b1d1a113e5e82bef5e0fdf845 diff --git a/.agents/notes/implemented/simplification/2026-08-30-team-send-message-steer.md b/.agents/notes/archived/simplification/2026-08-30-team-send-message-steer.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-30-team-send-message-steer.md rename to .agents/notes/archived/simplification/2026-08-30-team-send-message-steer.md index 9eb38ec96f..f313a6fb11 100644 --- a/.agents/notes/implemented/simplification/2026-08-30-team-send-message-steer.md +++ b/.agents/notes/archived/simplification/2026-08-30-team-send-message-steer.md @@ -1,6 +1,7 @@ # Agent Note: Team messaging uses one Steer send_message operation Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-30-team-send-message-steer.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-08-30-team-send-message-steer.zh.md b/.agents/notes/archived/simplification/2026-08-30-team-send-message-steer.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-08-30-team-send-message-steer.zh.md rename to .agents/notes/archived/simplification/2026-08-30-team-send-message-steer.zh.md index 44ed792a1c..fd5f7f3b96 100644 --- a/.agents/notes/implemented/simplification/2026-08-30-team-send-message-steer.zh.md +++ b/.agents/notes/archived/simplification/2026-08-30-team-send-message-steer.zh.md @@ -1,6 +1,7 @@ # Agent Note: Team 消息使用单一 Steer send_message 操作 Status: implemented +Archived: 2026-09-04 [English](2026-08-30-team-send-message-steer.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-09-01-css-produced-file-layout.i18n.yaml b/.agents/notes/archived/simplification/2026-09-01-css-produced-file-layout.i18n.yaml new file mode 100644 index 0000000000..134b7310e5 --- /dev/null +++ b/.agents/notes/archived/simplification/2026-09-01-css-produced-file-layout.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-09-01-css-produced-file-layout.md +2026-09-01-css-produced-file-layout.md: cc25fc2ab86cbbc03f49db72d12f107dd8c7aaf9 +2026-09-01-css-produced-file-layout.zh.md: f9b670d9f7451304e818c4d1e2febe704caa617d diff --git a/.agents/notes/implemented/simplification/2026-09-01-css-produced-file-layout.md b/.agents/notes/archived/simplification/2026-09-01-css-produced-file-layout.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-09-01-css-produced-file-layout.md rename to .agents/notes/archived/simplification/2026-09-01-css-produced-file-layout.md index fce7d70b21..cc25fc2ab8 100644 --- a/.agents/notes/implemented/simplification/2026-09-01-css-produced-file-layout.md +++ b/.agents/notes/archived/simplification/2026-09-01-css-produced-file-layout.md @@ -1,6 +1,7 @@ # Agent Note: replace produced-file probes with CSS width bands Status: implemented +Archived: 2026-09-04 English | [中文](2026-09-01-css-produced-file-layout.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-09-01-css-produced-file-layout.zh.md b/.agents/notes/archived/simplification/2026-09-01-css-produced-file-layout.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-09-01-css-produced-file-layout.zh.md rename to .agents/notes/archived/simplification/2026-09-01-css-produced-file-layout.zh.md index bc8ad941db..f9b670d9f7 100644 --- a/.agents/notes/implemented/simplification/2026-09-01-css-produced-file-layout.zh.md +++ b/.agents/notes/archived/simplification/2026-09-01-css-produced-file-layout.zh.md @@ -1,6 +1,7 @@ # Agent Note: 以 CSS 宽度档位替代产出文件探针 Status: implemented +Archived: 2026-09-04 [English](2026-09-01-css-produced-file-layout.md) | 中文 diff --git a/.agents/notes/archived/simplification/2026-09-01-ptc-omits-workflow-tool.i18n.yaml b/.agents/notes/archived/simplification/2026-09-01-ptc-omits-workflow-tool.i18n.yaml new file mode 100644 index 0000000000..33c0ca7ecf --- /dev/null +++ b/.agents/notes/archived/simplification/2026-09-01-ptc-omits-workflow-tool.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/simplification/2026-09-01-ptc-omits-workflow-tool.md +2026-09-01-ptc-omits-workflow-tool.md: ae53b30e43f9c27701724961162a1844111b1d2e +2026-09-01-ptc-omits-workflow-tool.zh.md: 2fc839d0729b083ee86a8dff0c586fc426519421 diff --git a/.agents/notes/implemented/simplification/2026-09-01-ptc-omits-workflow-tool.md b/.agents/notes/archived/simplification/2026-09-01-ptc-omits-workflow-tool.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-09-01-ptc-omits-workflow-tool.md rename to .agents/notes/archived/simplification/2026-09-01-ptc-omits-workflow-tool.md index 7453e06187..ae53b30e43 100644 --- a/.agents/notes/implemented/simplification/2026-09-01-ptc-omits-workflow-tool.md +++ b/.agents/notes/archived/simplification/2026-09-01-ptc-omits-workflow-tool.md @@ -1,6 +1,7 @@ # Agent Note: PTC preset omits the general workflow tool Status: implemented +Archived: 2026-09-04 English | [中文](2026-09-01-ptc-omits-workflow-tool.zh.md) diff --git a/.agents/notes/implemented/simplification/2026-09-01-ptc-omits-workflow-tool.zh.md b/.agents/notes/archived/simplification/2026-09-01-ptc-omits-workflow-tool.zh.md similarity index 99% rename from .agents/notes/implemented/simplification/2026-09-01-ptc-omits-workflow-tool.zh.md rename to .agents/notes/archived/simplification/2026-09-01-ptc-omits-workflow-tool.zh.md index 71f64c1104..2fc839d072 100644 --- a/.agents/notes/implemented/simplification/2026-09-01-ptc-omits-workflow-tool.zh.md +++ b/.agents/notes/archived/simplification/2026-09-01-ptc-omits-workflow-tool.zh.md @@ -1,6 +1,7 @@ # Agent Note: PTC preset 不提供通用 workflow 工具 Status: implemented +Archived: 2026-09-04 [English](2026-09-01-ptc-omits-workflow-tool.md) | 中文 diff --git a/.agents/notes/archived/testing/2026-06-11-property-based-testing.i18n.yaml b/.agents/notes/archived/testing/2026-06-11-property-based-testing.i18n.yaml new file mode 100644 index 0000000000..1b9153e1d6 --- /dev/null +++ b/.agents/notes/archived/testing/2026-06-11-property-based-testing.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/testing/2026-06-11-property-based-testing.md +2026-06-11-property-based-testing.md: e05574c8afba0eba19df7f59dd68225c3202ce18 +2026-06-11-property-based-testing.zh.md: 20ccf68c3a28cda2b5ae1c5f3f8e720c5213e914 diff --git a/.agents/notes/implemented/testing/2026-06-11-property-based-testing.md b/.agents/notes/archived/testing/2026-06-11-property-based-testing.md similarity index 99% rename from .agents/notes/implemented/testing/2026-06-11-property-based-testing.md rename to .agents/notes/archived/testing/2026-06-11-property-based-testing.md index 7ab6f2daeb..e05574c8af 100644 --- a/.agents/notes/implemented/testing/2026-06-11-property-based-testing.md +++ b/.agents/notes/archived/testing/2026-06-11-property-based-testing.md @@ -1,6 +1,7 @@ # Agent Note: Property-based testing for protocol-shaped code Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-11-property-based-testing.zh.md) diff --git a/.agents/notes/implemented/testing/2026-06-11-property-based-testing.zh.md b/.agents/notes/archived/testing/2026-06-11-property-based-testing.zh.md similarity index 99% rename from .agents/notes/implemented/testing/2026-06-11-property-based-testing.zh.md rename to .agents/notes/archived/testing/2026-06-11-property-based-testing.zh.md index 36855c74f6..20ccf68c3a 100644 --- a/.agents/notes/implemented/testing/2026-06-11-property-based-testing.zh.md +++ b/.agents/notes/archived/testing/2026-06-11-property-based-testing.zh.md @@ -1,6 +1,7 @@ # Agent Note: 对协议形态代码进行基于属性的测试 Status: implemented +Archived: 2026-09-04 [English](2026-06-11-property-based-testing.md) | 中文 diff --git a/.agents/notes/archived/testing/2026-06-22-fork-child-replay-seed-boundary.i18n.yaml b/.agents/notes/archived/testing/2026-06-22-fork-child-replay-seed-boundary.i18n.yaml new file mode 100644 index 0000000000..06dd1f69a7 --- /dev/null +++ b/.agents/notes/archived/testing/2026-06-22-fork-child-replay-seed-boundary.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/testing/2026-06-22-fork-child-replay-seed-boundary.md +2026-06-22-fork-child-replay-seed-boundary.md: da08d6dd9bf3719d1775686877a258c80ffd19d1 +2026-06-22-fork-child-replay-seed-boundary.zh.md: 7be2527414aca87799f339c82cd6333e6ae2b51d diff --git a/.agents/notes/implemented/testing/2026-06-22-fork-child-replay-seed-boundary.md b/.agents/notes/archived/testing/2026-06-22-fork-child-replay-seed-boundary.md similarity index 99% rename from .agents/notes/implemented/testing/2026-06-22-fork-child-replay-seed-boundary.md rename to .agents/notes/archived/testing/2026-06-22-fork-child-replay-seed-boundary.md index 3c1148f4c7..da08d6dd9b 100644 --- a/.agents/notes/implemented/testing/2026-06-22-fork-child-replay-seed-boundary.md +++ b/.agents/notes/archived/testing/2026-06-22-fork-child-replay-seed-boundary.md @@ -1,6 +1,7 @@ # Agent Note: Persist the seed boundary so fork-child replay routes correctly Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-22-fork-child-replay-seed-boundary.zh.md) diff --git a/.agents/notes/implemented/testing/2026-06-22-fork-child-replay-seed-boundary.zh.md b/.agents/notes/archived/testing/2026-06-22-fork-child-replay-seed-boundary.zh.md similarity index 99% rename from .agents/notes/implemented/testing/2026-06-22-fork-child-replay-seed-boundary.zh.md rename to .agents/notes/archived/testing/2026-06-22-fork-child-replay-seed-boundary.zh.md index f7646132a2..7be2527414 100644 --- a/.agents/notes/implemented/testing/2026-06-22-fork-child-replay-seed-boundary.zh.md +++ b/.agents/notes/archived/testing/2026-06-22-fork-child-replay-seed-boundary.zh.md @@ -1,6 +1,7 @@ # Agent Note: 持久化 seed 边界以确保 fork 子会话回放正确路由 Status: implemented +Archived: 2026-09-04 [English](2026-06-22-fork-child-replay-seed-boundary.md) | 中文 diff --git a/.agents/notes/archived/testing/2026-06-22-subagent-snapshot-replay.i18n.yaml b/.agents/notes/archived/testing/2026-06-22-subagent-snapshot-replay.i18n.yaml new file mode 100644 index 0000000000..cc919c9d7d --- /dev/null +++ b/.agents/notes/archived/testing/2026-06-22-subagent-snapshot-replay.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/testing/2026-06-22-subagent-snapshot-replay.md +2026-06-22-subagent-snapshot-replay.md: 7beb35764ae81154c1d5f73d74acf341eca7b0e2 +2026-06-22-subagent-snapshot-replay.zh.md: c45acdfcdcddf84fc22cc564406b5497f7c42996 diff --git a/.agents/notes/implemented/testing/2026-06-22-subagent-snapshot-replay.md b/.agents/notes/archived/testing/2026-06-22-subagent-snapshot-replay.md similarity index 99% rename from .agents/notes/implemented/testing/2026-06-22-subagent-snapshot-replay.md rename to .agents/notes/archived/testing/2026-06-22-subagent-snapshot-replay.md index 0d5d1fd2c9..7beb35764a 100644 --- a/.agents/notes/implemented/testing/2026-06-22-subagent-snapshot-replay.md +++ b/.agents/notes/archived/testing/2026-06-22-subagent-snapshot-replay.md @@ -1,6 +1,7 @@ # Agent Note: Per-session snapshot replay for nested agents Status: implemented +Archived: 2026-09-04 English | [中文](2026-06-22-subagent-snapshot-replay.zh.md) diff --git a/.agents/notes/implemented/testing/2026-06-22-subagent-snapshot-replay.zh.md b/.agents/notes/archived/testing/2026-06-22-subagent-snapshot-replay.zh.md similarity index 99% rename from .agents/notes/implemented/testing/2026-06-22-subagent-snapshot-replay.zh.md rename to .agents/notes/archived/testing/2026-06-22-subagent-snapshot-replay.zh.md index 130ea1fac9..c45acdfcdc 100644 --- a/.agents/notes/implemented/testing/2026-06-22-subagent-snapshot-replay.zh.md +++ b/.agents/notes/archived/testing/2026-06-22-subagent-snapshot-replay.zh.md @@ -1,6 +1,7 @@ # Agent Note: 嵌套 agent 的逐会话快照回放 Status: implemented +Archived: 2026-09-04 [English](2026-06-22-subagent-snapshot-replay.md) | 中文 diff --git a/.agents/notes/archived/testing/2026-07-22-cross-platform-test-fixtures.i18n.yaml b/.agents/notes/archived/testing/2026-07-22-cross-platform-test-fixtures.i18n.yaml new file mode 100644 index 0000000000..eabb9df467 --- /dev/null +++ b/.agents/notes/archived/testing/2026-07-22-cross-platform-test-fixtures.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/testing/2026-07-22-cross-platform-test-fixtures.md +2026-07-22-cross-platform-test-fixtures.md: edf2eb6b97f55dfa25c986978503cdd578f481f4 +2026-07-22-cross-platform-test-fixtures.zh.md: 88a7904db3ca6e7811c94c1a66ab5cc4a83213e9 diff --git a/.agents/notes/implemented/testing/2026-07-22-cross-platform-test-fixtures.md b/.agents/notes/archived/testing/2026-07-22-cross-platform-test-fixtures.md similarity index 99% rename from .agents/notes/implemented/testing/2026-07-22-cross-platform-test-fixtures.md rename to .agents/notes/archived/testing/2026-07-22-cross-platform-test-fixtures.md index 9114481543..edf2eb6b97 100644 --- a/.agents/notes/implemented/testing/2026-07-22-cross-platform-test-fixtures.md +++ b/.agents/notes/archived/testing/2026-07-22-cross-platform-test-fixtures.md @@ -1,6 +1,7 @@ # Agent Note: Keep supported-platform tests semantic Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-22-cross-platform-test-fixtures.zh.md) diff --git a/.agents/notes/implemented/testing/2026-07-22-cross-platform-test-fixtures.zh.md b/.agents/notes/archived/testing/2026-07-22-cross-platform-test-fixtures.zh.md similarity index 99% rename from .agents/notes/implemented/testing/2026-07-22-cross-platform-test-fixtures.zh.md rename to .agents/notes/archived/testing/2026-07-22-cross-platform-test-fixtures.zh.md index 710ec5887f..88a7904db3 100644 --- a/.agents/notes/implemented/testing/2026-07-22-cross-platform-test-fixtures.zh.md +++ b/.agents/notes/archived/testing/2026-07-22-cross-platform-test-fixtures.zh.md @@ -1,6 +1,7 @@ # Agent Note: 让受支持平台的测试聚焦语义 Status: implemented +Archived: 2026-09-04 [English](2026-07-22-cross-platform-test-fixtures.md) | 中文 diff --git a/.agents/notes/archived/testing/2026-07-25-scriptable-llm-wire-fault-server.i18n.yaml b/.agents/notes/archived/testing/2026-07-25-scriptable-llm-wire-fault-server.i18n.yaml new file mode 100644 index 0000000000..69aee2eb3a --- /dev/null +++ b/.agents/notes/archived/testing/2026-07-25-scriptable-llm-wire-fault-server.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/testing/2026-07-25-scriptable-llm-wire-fault-server.md +2026-07-25-scriptable-llm-wire-fault-server.md: 5a691b8885bb6fbc99d9b59c28f64f2218acea7f +2026-07-25-scriptable-llm-wire-fault-server.zh.md: e2c6e7244b187c2eddaf1163c14fc04bd58066d3 diff --git a/.agents/notes/implemented/testing/2026-07-25-scriptable-llm-wire-fault-server.md b/.agents/notes/archived/testing/2026-07-25-scriptable-llm-wire-fault-server.md similarity index 99% rename from .agents/notes/implemented/testing/2026-07-25-scriptable-llm-wire-fault-server.md rename to .agents/notes/archived/testing/2026-07-25-scriptable-llm-wire-fault-server.md index b8e64d92db..5a691b8885 100644 --- a/.agents/notes/implemented/testing/2026-07-25-scriptable-llm-wire-fault-server.md +++ b/.agents/notes/archived/testing/2026-07-25-scriptable-llm-wire-fault-server.md @@ -1,6 +1,7 @@ # Agent Note: Scriptable LLM wire fault server Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-25-scriptable-llm-wire-fault-server.zh.md) diff --git a/.agents/notes/implemented/testing/2026-07-25-scriptable-llm-wire-fault-server.zh.md b/.agents/notes/archived/testing/2026-07-25-scriptable-llm-wire-fault-server.zh.md similarity index 99% rename from .agents/notes/implemented/testing/2026-07-25-scriptable-llm-wire-fault-server.zh.md rename to .agents/notes/archived/testing/2026-07-25-scriptable-llm-wire-fault-server.zh.md index 54604e2d8c..e2c6e7244b 100644 --- a/.agents/notes/implemented/testing/2026-07-25-scriptable-llm-wire-fault-server.zh.md +++ b/.agents/notes/archived/testing/2026-07-25-scriptable-llm-wire-fault-server.zh.md @@ -1,6 +1,7 @@ # Agent Note: 可脚本控制的 LLM 协议层故障服务器 Status: implemented +Archived: 2026-09-04 [English](2026-07-25-scriptable-llm-wire-fault-server.md) | 中文 diff --git a/.agents/notes/archived/testing/2026-07-30-vitest-jsdom-webstorage-ownership.i18n.yaml b/.agents/notes/archived/testing/2026-07-30-vitest-jsdom-webstorage-ownership.i18n.yaml new file mode 100644 index 0000000000..59b3c2b384 --- /dev/null +++ b/.agents/notes/archived/testing/2026-07-30-vitest-jsdom-webstorage-ownership.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/testing/2026-07-30-vitest-jsdom-webstorage-ownership.md +2026-07-30-vitest-jsdom-webstorage-ownership.md: 1cc5d7ff306b6f1426d6ee36359674f826b2cd8a +2026-07-30-vitest-jsdom-webstorage-ownership.zh.md: cdd64d26f06e9b3fe62b8e01739f0e30e8b39212 diff --git a/.agents/notes/implemented/testing/2026-07-30-vitest-jsdom-webstorage-ownership.md b/.agents/notes/archived/testing/2026-07-30-vitest-jsdom-webstorage-ownership.md similarity index 99% rename from .agents/notes/implemented/testing/2026-07-30-vitest-jsdom-webstorage-ownership.md rename to .agents/notes/archived/testing/2026-07-30-vitest-jsdom-webstorage-ownership.md index 3956a7566f..1cc5d7ff30 100644 --- a/.agents/notes/implemented/testing/2026-07-30-vitest-jsdom-webstorage-ownership.md +++ b/.agents/notes/archived/testing/2026-07-30-vitest-jsdom-webstorage-ownership.md @@ -1,6 +1,7 @@ # Agent Note: Keep browser storage owned by jsdom in Vitest Status: implemented +Archived: 2026-09-04 English | [中文](2026-07-30-vitest-jsdom-webstorage-ownership.zh.md) diff --git a/.agents/notes/implemented/testing/2026-07-30-vitest-jsdom-webstorage-ownership.zh.md b/.agents/notes/archived/testing/2026-07-30-vitest-jsdom-webstorage-ownership.zh.md similarity index 99% rename from .agents/notes/implemented/testing/2026-07-30-vitest-jsdom-webstorage-ownership.zh.md rename to .agents/notes/archived/testing/2026-07-30-vitest-jsdom-webstorage-ownership.zh.md index bd01ffdc68..cdd64d26f0 100644 --- a/.agents/notes/implemented/testing/2026-07-30-vitest-jsdom-webstorage-ownership.zh.md +++ b/.agents/notes/archived/testing/2026-07-30-vitest-jsdom-webstorage-ownership.zh.md @@ -1,6 +1,7 @@ # Agent Note: 在 Vitest 中将浏览器存储交由 jsdom 管理 Status: implemented +Archived: 2026-09-04 [English](2026-07-30-vitest-jsdom-webstorage-ownership.md) | 中文 diff --git a/.agents/notes/archived/testing/2026-08-13-python-minimal-model-visible-snapshot.i18n.yaml b/.agents/notes/archived/testing/2026-08-13-python-minimal-model-visible-snapshot.i18n.yaml new file mode 100644 index 0000000000..614bd95f6f --- /dev/null +++ b/.agents/notes/archived/testing/2026-08-13-python-minimal-model-visible-snapshot.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/testing/2026-08-13-python-minimal-model-visible-snapshot.md +2026-08-13-python-minimal-model-visible-snapshot.md: c97e92237c16a25d3b52a4af10c26fb6e48bb370 +2026-08-13-python-minimal-model-visible-snapshot.zh.md: 0baed199b6edf33ca2e72d4643718b4e46098cf3 diff --git a/.agents/notes/implemented/testing/2026-08-13-python-minimal-model-visible-snapshot.md b/.agents/notes/archived/testing/2026-08-13-python-minimal-model-visible-snapshot.md similarity index 99% rename from .agents/notes/implemented/testing/2026-08-13-python-minimal-model-visible-snapshot.md rename to .agents/notes/archived/testing/2026-08-13-python-minimal-model-visible-snapshot.md index 1cef57c440..c97e92237c 100644 --- a/.agents/notes/implemented/testing/2026-08-13-python-minimal-model-visible-snapshot.md +++ b/.agents/notes/archived/testing/2026-08-13-python-minimal-model-visible-snapshot.md @@ -1,6 +1,7 @@ # Agent Note: Python minimal-composition model-visible snapshot Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-13-python-minimal-model-visible-snapshot.zh.md) diff --git a/.agents/notes/implemented/testing/2026-08-13-python-minimal-model-visible-snapshot.zh.md b/.agents/notes/archived/testing/2026-08-13-python-minimal-model-visible-snapshot.zh.md similarity index 97% rename from .agents/notes/implemented/testing/2026-08-13-python-minimal-model-visible-snapshot.zh.md rename to .agents/notes/archived/testing/2026-08-13-python-minimal-model-visible-snapshot.zh.md index fbbb3bd6f4..0baed199b6 100644 --- a/.agents/notes/implemented/testing/2026-08-13-python-minimal-model-visible-snapshot.zh.md +++ b/.agents/notes/archived/testing/2026-08-13-python-minimal-model-visible-snapshot.zh.md @@ -1,6 +1,7 @@ -# Agent Note:Python 极简组合的模型可见快照 +# Agent Note: Python 极简组合的模型可见快照 Status: implemented +Archived: 2026-09-04 [English](2026-08-13-python-minimal-model-visible-snapshot.md) | 中文 diff --git a/.agents/notes/archived/testing/2026-08-18-session-snapshot-envelope-projection.i18n.yaml b/.agents/notes/archived/testing/2026-08-18-session-snapshot-envelope-projection.i18n.yaml new file mode 100644 index 0000000000..7cb8c1cbf2 --- /dev/null +++ b/.agents/notes/archived/testing/2026-08-18-session-snapshot-envelope-projection.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/testing/2026-08-18-session-snapshot-envelope-projection.md +2026-08-18-session-snapshot-envelope-projection.md: 9542330b16c4395837653a7c5118012be467e0d2 +2026-08-18-session-snapshot-envelope-projection.zh.md: 49cce9a60a9aa267391c35542230a0bd402713f8 diff --git a/.agents/notes/implemented/testing/2026-08-18-session-snapshot-envelope-projection.md b/.agents/notes/archived/testing/2026-08-18-session-snapshot-envelope-projection.md similarity index 99% rename from .agents/notes/implemented/testing/2026-08-18-session-snapshot-envelope-projection.md rename to .agents/notes/archived/testing/2026-08-18-session-snapshot-envelope-projection.md index 28f8f7f823..9542330b16 100644 --- a/.agents/notes/implemented/testing/2026-08-18-session-snapshot-envelope-projection.md +++ b/.agents/notes/archived/testing/2026-08-18-session-snapshot-envelope-projection.md @@ -1,6 +1,7 @@ # Agent Note: Session snapshot envelope projection Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-18-session-snapshot-envelope-projection.zh.md) diff --git a/.agents/notes/implemented/testing/2026-08-18-session-snapshot-envelope-projection.zh.md b/.agents/notes/archived/testing/2026-08-18-session-snapshot-envelope-projection.zh.md similarity index 98% rename from .agents/notes/implemented/testing/2026-08-18-session-snapshot-envelope-projection.zh.md rename to .agents/notes/archived/testing/2026-08-18-session-snapshot-envelope-projection.zh.md index a8c302c48d..49cce9a60a 100644 --- a/.agents/notes/implemented/testing/2026-08-18-session-snapshot-envelope-projection.zh.md +++ b/.agents/notes/archived/testing/2026-08-18-session-snapshot-envelope-projection.zh.md @@ -1,6 +1,7 @@ -# Agent Note:会话快照 envelope 投影 +# Agent Note: 会话快照 envelope 投影 Status: implemented +Archived: 2026-09-04 [English](2026-08-18-session-snapshot-envelope-projection.md) | 中文 diff --git a/.agents/notes/archived/testing/2026-08-27-translation-pairing-merge-budget.i18n.yaml b/.agents/notes/archived/testing/2026-08-27-translation-pairing-merge-budget.i18n.yaml new file mode 100644 index 0000000000..15d87cb8ed --- /dev/null +++ b/.agents/notes/archived/testing/2026-08-27-translation-pairing-merge-budget.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/testing/2026-08-27-translation-pairing-merge-budget.md +2026-08-27-translation-pairing-merge-budget.md: b8b01f8647687fd2f0a1f30b0a63aafe5d5f910b +2026-08-27-translation-pairing-merge-budget.zh.md: 06e1d1ff356f582da8841d42035a8c13c5474ff0 diff --git a/.agents/notes/implemented/testing/2026-08-27-translation-pairing-merge-budget.md b/.agents/notes/archived/testing/2026-08-27-translation-pairing-merge-budget.md similarity index 99% rename from .agents/notes/implemented/testing/2026-08-27-translation-pairing-merge-budget.md rename to .agents/notes/archived/testing/2026-08-27-translation-pairing-merge-budget.md index 296e71fbbe..b8b01f8647 100644 --- a/.agents/notes/implemented/testing/2026-08-27-translation-pairing-merge-budget.md +++ b/.agents/notes/archived/testing/2026-08-27-translation-pairing-merge-budget.md @@ -1,6 +1,7 @@ # Agent Note: Coverage-lane budget for the translation-pairing-merge suite Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-27-translation-pairing-merge-budget.zh.md) diff --git a/.agents/notes/implemented/testing/2026-08-27-translation-pairing-merge-budget.zh.md b/.agents/notes/archived/testing/2026-08-27-translation-pairing-merge-budget.zh.md similarity index 99% rename from .agents/notes/implemented/testing/2026-08-27-translation-pairing-merge-budget.zh.md rename to .agents/notes/archived/testing/2026-08-27-translation-pairing-merge-budget.zh.md index 8bdac59023..06e1d1ff35 100644 --- a/.agents/notes/implemented/testing/2026-08-27-translation-pairing-merge-budget.zh.md +++ b/.agents/notes/archived/testing/2026-08-27-translation-pairing-merge-budget.zh.md @@ -1,6 +1,7 @@ # Agent Note: translation-pairing-merge 套件的 coverage lane 预算 Status: implemented +Archived: 2026-09-04 [English](2026-08-27-translation-pairing-merge-budget.md) | 中文 diff --git a/.agents/notes/archived/testing/2026-08-28-ci-test-reliability-skill.i18n.yaml b/.agents/notes/archived/testing/2026-08-28-ci-test-reliability-skill.i18n.yaml new file mode 100644 index 0000000000..a281314188 --- /dev/null +++ b/.agents/notes/archived/testing/2026-08-28-ci-test-reliability-skill.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/testing/2026-08-28-ci-test-reliability-skill.md +2026-08-28-ci-test-reliability-skill.md: c48cd48cab5d3fcedd55c1f47f45278ffad6e998 +2026-08-28-ci-test-reliability-skill.zh.md: 7251b38298adb95d2f1610bed757ac3feb971564 diff --git a/.agents/notes/implemented/testing/2026-08-28-ci-test-reliability-skill.md b/.agents/notes/archived/testing/2026-08-28-ci-test-reliability-skill.md similarity index 99% rename from .agents/notes/implemented/testing/2026-08-28-ci-test-reliability-skill.md rename to .agents/notes/archived/testing/2026-08-28-ci-test-reliability-skill.md index 1c8e0389df..c48cd48cab 100644 --- a/.agents/notes/implemented/testing/2026-08-28-ci-test-reliability-skill.md +++ b/.agents/notes/archived/testing/2026-08-28-ci-test-reliability-skill.md @@ -1,6 +1,7 @@ # Agent Note: CI test reliability skill Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-28-ci-test-reliability-skill.zh.md) diff --git a/.agents/notes/implemented/testing/2026-08-28-ci-test-reliability-skill.zh.md b/.agents/notes/archived/testing/2026-08-28-ci-test-reliability-skill.zh.md similarity index 99% rename from .agents/notes/implemented/testing/2026-08-28-ci-test-reliability-skill.zh.md rename to .agents/notes/archived/testing/2026-08-28-ci-test-reliability-skill.zh.md index ef36eab497..7251b38298 100644 --- a/.agents/notes/implemented/testing/2026-08-28-ci-test-reliability-skill.zh.md +++ b/.agents/notes/archived/testing/2026-08-28-ci-test-reliability-skill.zh.md @@ -1,6 +1,7 @@ # Agent Note: CI 测试可靠性 Skill Status: implemented +Archived: 2026-09-04 [English](2026-08-28-ci-test-reliability-skill.md) | 中文 diff --git a/.agents/notes/archived/testing/2026-08-29-windows-lane-hook-and-lefthook-budget.i18n.yaml b/.agents/notes/archived/testing/2026-08-29-windows-lane-hook-and-lefthook-budget.i18n.yaml new file mode 100644 index 0000000000..bca15b8761 --- /dev/null +++ b/.agents/notes/archived/testing/2026-08-29-windows-lane-hook-and-lefthook-budget.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# 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 .agents/notes/archived/testing/2026-08-29-windows-lane-hook-and-lefthook-budget.md +2026-08-29-windows-lane-hook-and-lefthook-budget.md: 414d9b32fa4a80a5f690659213246e10daa42177 +2026-08-29-windows-lane-hook-and-lefthook-budget.zh.md: 9589134e954d7b1491d35f5430c96f9f20935396 diff --git a/.agents/notes/implemented/testing/2026-08-29-windows-lane-hook-and-lefthook-budget.md b/.agents/notes/archived/testing/2026-08-29-windows-lane-hook-and-lefthook-budget.md similarity index 99% rename from .agents/notes/implemented/testing/2026-08-29-windows-lane-hook-and-lefthook-budget.md rename to .agents/notes/archived/testing/2026-08-29-windows-lane-hook-and-lefthook-budget.md index 40ebba25e4..414d9b32fa 100644 --- a/.agents/notes/implemented/testing/2026-08-29-windows-lane-hook-and-lefthook-budget.md +++ b/.agents/notes/archived/testing/2026-08-29-windows-lane-hook-and-lefthook-budget.md @@ -1,6 +1,7 @@ # Agent Note: Hook budget and Lefthook suite budget on the Windows coverage lane Status: implemented +Archived: 2026-09-04 English | [中文](2026-08-29-windows-lane-hook-and-lefthook-budget.zh.md) diff --git a/.agents/notes/implemented/testing/2026-08-29-windows-lane-hook-and-lefthook-budget.zh.md b/.agents/notes/archived/testing/2026-08-29-windows-lane-hook-and-lefthook-budget.zh.md similarity index 99% rename from .agents/notes/implemented/testing/2026-08-29-windows-lane-hook-and-lefthook-budget.zh.md rename to .agents/notes/archived/testing/2026-08-29-windows-lane-hook-and-lefthook-budget.zh.md index c14be5da09..9589134e95 100644 --- a/.agents/notes/implemented/testing/2026-08-29-windows-lane-hook-and-lefthook-budget.zh.md +++ b/.agents/notes/archived/testing/2026-08-29-windows-lane-hook-and-lefthook-budget.zh.md @@ -1,6 +1,7 @@ # Agent Note: Windows 覆盖率 lane 的 hook 预算与 Lefthook 套件预算 Status: implemented +Archived: 2026-09-04 [English](2026-08-29-windows-lane-hook-and-lefthook-budget.md) | 中文 diff --git a/.agents/notes/implemented/architecture/2026-06-11-dev-invariants-over-deep-readonly.i18n.yaml b/.agents/notes/implemented/architecture/2026-06-11-dev-invariants-over-deep-readonly.i18n.yaml index 6c6ebd4788..5b233e16db 100644 --- a/.agents/notes/implemented/architecture/2026-06-11-dev-invariants-over-deep-readonly.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-06-11-dev-invariants-over-deep-readonly.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-06-11-dev-invariants-over-deep-readonly.md -2026-06-11-dev-invariants-over-deep-readonly.md: 7e5f55e8910797bd46674050ea5eb8abbca4aef7 -2026-06-11-dev-invariants-over-deep-readonly.zh.md: c1413e9c89284312af41b6c115b7e50a99d1b5e3 +2026-06-11-dev-invariants-over-deep-readonly.md: 9adb741db1e26e3a9f750fed60524351159cfeaa +2026-06-11-dev-invariants-over-deep-readonly.zh.md: d352eca985b6594ec5d10c9b73c2ecc18ea458b5 diff --git a/.agents/notes/implemented/architecture/2026-06-11-dev-invariants-over-deep-readonly.md b/.agents/notes/implemented/architecture/2026-06-11-dev-invariants-over-deep-readonly.md index 7e5f55e891..9adb741db1 100644 --- a/.agents/notes/implemented/architecture/2026-06-11-dev-invariants-over-deep-readonly.md +++ b/.agents/notes/implemented/architecture/2026-06-11-dev-invariants-over-deep-readonly.md @@ -32,7 +32,7 @@ This guarantee belongs in `Session`, not in an optional listener, because every ### Package-owned invariant companions check relationships -`dsh-invariants` registers the configurable `ctx.invariants` service and contains no product checks. A package publishes a `./invariant` ownership companion only for an independently observable runtime relationship; packages without one omit the companion and record the reason in their README. `dsh-session`, `dsh-agent`, `dsh-scope`, and `dsh-agent-loop` provide the initial rules that require trace state or observation of another seam: monotonic sequence numbers, turn and step nesting, tool-call/result pairing, legal agent-status transitions, subject-correct scoped dispatch, and equality between a loop-built request and the request reconstructed from its session-log prefix. Global enablement and package-name regex filters belong to the service ([package-owned invariant service](2026-07-19-package-owned-invariant-service.md); [omission decision](../simplification/2026-08-28-omit-unneeded-invariant-companions.md)). +`dsh-invariants` registers the configurable `ctx.invariants` service and contains no product checks. A package publishes a `./invariant` ownership companion only for an independently observable runtime relationship; packages without one omit the companion and record the reason in their README. `dsh-session`, `dsh-agent`, `dsh-scope`, and `dsh-agent-loop` provide the initial rules that require trace state or observation of another seam: monotonic sequence numbers, turn and step nesting, tool-call/result pairing, legal agent-status transitions, subject-correct scoped dispatch, and equality between a loop-built request and the request reconstructed from its session-log prefix. Global enablement and package-name regex filters belong to the service ([package-owned invariant service](../../archived/architecture/2026-07-19-package-owned-invariant-service.md); [omission decision](../simplification/2026-08-28-omit-unneeded-invariant-companions.md)). When the session companion attaches to an existing or seeded session, it replays the immutable log to rebuild trace state. The service gives each contribution a disposable child fiber, so hot reload is safe in the middle of a turn without giving diagnostics ownership of session storage. diff --git a/.agents/notes/implemented/architecture/2026-06-11-dev-invariants-over-deep-readonly.zh.md b/.agents/notes/implemented/architecture/2026-06-11-dev-invariants-over-deep-readonly.zh.md index c1413e9c89..d352eca985 100644 --- a/.agents/notes/implemented/architecture/2026-06-11-dev-invariants-over-deep-readonly.zh.md +++ b/.agents/notes/implemented/architecture/2026-06-11-dev-invariants-over-deep-readonly.zh.md @@ -32,7 +32,7 @@ TypeScript readonly 类型不是充分的运行时边界。它们在程序运行 ### 包拥有的不变式配套插件检查关系 -`dsh-invariants` 注册可配置的 `ctx.invariants` 服务,本身不包含产品检查。只有拥有可独立观察的运行时关系时,包才发布 `./invariant` 所有权配套插件;没有该关系的包会省略 companion 并在 README 中记录原因。`dsh-session`、`dsh-agent`、`dsh-scope` 和 `dsh-agent-loop` 提供首批需要跟踪状态或观察另一个 seam 的规则:单调递增的序列号、轮次与步骤嵌套、工具调用/结果配对、合法的 agent(智能体)状态转换、主体正确的作用域分发,以及循环构建的请求与从其会话日志前缀重建的请求之间的相等性。全局启用和包名 regex 过滤器归该服务所有(见[包拥有的不变式服务](2026-07-19-package-owned-invariant-service.zh.md)与[省略决策](../simplification/2026-08-28-omit-unneeded-invariant-companions.zh.md))。 +`dsh-invariants` 注册可配置的 `ctx.invariants` 服务,本身不包含产品检查。只有拥有可独立观察的运行时关系时,包才发布 `./invariant` 所有权配套插件;没有该关系的包会省略 companion 并在 README 中记录原因。`dsh-session`、`dsh-agent`、`dsh-scope` 和 `dsh-agent-loop` 提供首批需要跟踪状态或观察另一个 seam 的规则:单调递增的序列号、轮次与步骤嵌套、工具调用/结果配对、合法的 agent(智能体)状态转换、主体正确的作用域分发,以及循环构建的请求与从其会话日志前缀重建的请求之间的相等性。全局启用和包名 regex 过滤器归该服务所有(见[包拥有的不变式服务](../../archived/architecture/2026-07-19-package-owned-invariant-service.md)与[省略决策](../simplification/2026-08-28-omit-unneeded-invariant-companions.zh.md))。 当会话配套插件附加到已有会话或以种子记录初始化的会话时,它回放不可变日志以重建跟踪状态。服务为每项贡献提供一个可 dispose(资源释放)的子 fiber,因此轮次中途热重载是安全的,同时不赋予诊断逻辑对会话存储的所有权。 diff --git a/.agents/notes/implemented/architecture/2026-06-13-capability-seams.i18n.yaml b/.agents/notes/implemented/architecture/2026-06-13-capability-seams.i18n.yaml index 1c4eadabc1..a54457715b 100644 --- a/.agents/notes/implemented/architecture/2026-06-13-capability-seams.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-06-13-capability-seams.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-06-13-capability-seams.md -2026-06-13-capability-seams.md: 46a2c39e927e859c7eb95956d8586f3bf04c7b1c -2026-06-13-capability-seams.zh.md: f44e3e68d2153149435b0fd0aaa5fd121cf3ecad +2026-06-13-capability-seams.md: 3c552c474b499b9f1c9f60242f4773750faadafb +2026-06-13-capability-seams.zh.md: 4e6100a2ce557d91fa18b5630c267f37f1bc0f00 diff --git a/.agents/notes/implemented/architecture/2026-06-13-capability-seams.md b/.agents/notes/implemented/architecture/2026-06-13-capability-seams.md index 46a2c39e92..3c552c474b 100644 --- a/.agents/notes/implemented/architecture/2026-06-13-capability-seams.md +++ b/.agents/notes/implemented/architecture/2026-06-13-capability-seams.md @@ -15,7 +15,7 @@ This is distinct from "who provides vs. needs a capability at runtime", which Co A swappable capability has **three roles**: 1. **Service Definition** — the Cordis `Service` and vocabulary types owning `ctx.` and depending only on the vocabulary the contract needs (e.g. `dsh-shell`: `ShellExecutor`, `ShellRunResult`, `ShellProcess`). A definition may be an abstract class or a concrete registry service; it is never a TypeScript `interface`. -2. **Service Provider** — a plugin that supplies or registers an implementation (e.g. `dsh-bash-local`: subprocesses, process-group kills, spill-file truncation). Sandboxed and remote providers are sibling packages implementing or registering against the same Service Definition. +2. **Service Provider** — a plugin that supplies or registers an implementation (e.g. `dsh-bash-local`: subprocesses, provider-managed range termination, spill-file truncation). The [native-containment decision](2026-08-28-subprocess-native-containment.md) owns the local provider's OS-specific range mechanics. Sandboxed and remote providers are sibling packages implementing or registering against the same Service Definition. 3. **Consumer** — what the model and plugins program against (e.g. `dsh-tool-bash`: the `bash` schema, with background handles registered into the generic job runtime). Consumers inject the service key and never import provider-specific types. The role names use title case: **Service Definition**, **Service Provider**, and **Consumer**. Generic uses of `provider` and `consumer` remain lowercase. diff --git a/.agents/notes/implemented/architecture/2026-06-13-capability-seams.zh.md b/.agents/notes/implemented/architecture/2026-06-13-capability-seams.zh.md index f44e3e68d2..4e6100a2ce 100644 --- a/.agents/notes/implemented/architecture/2026-06-13-capability-seams.zh.md +++ b/.agents/notes/implemented/architecture/2026-06-13-capability-seams.zh.md @@ -15,7 +15,7 @@ harness 具有可替换的能力,包括 shell 执行和模型提供方。一 一项可替换的能力包含**三个角色**: 1. **Service Definition**——拥有 `ctx.` 的 Cordis `Service` 和词汇类型,仅依赖约定所需的词汇(例如 `dsh-shell`:`ShellExecutor`、`ShellRunResult`、`ShellProcess`)。Service Definition 可以是抽象类,也可以是具体的注册表服务;绝不是 TypeScript `interface`。 -2. **Service Provider**——提供或注册实现的插件(例如 `dsh-bash-local`:子进程、进程组 kill、spill 文件截断)。沙箱化和远程 Service Provider 是依据同一 Service Definition 实现或注册的兄弟包。 +2. **Service Provider**——提供或注册实现的插件(例如 `dsh-bash-local`:子进程、由提供方管理的范围终止、spill 文件截断)。[原生 containment 决策](2026-08-28-subprocess-native-containment.zh.md)负责本地提供方的 OS 特有范围机制。沙箱化和远程 Service Provider 是依据同一 Service Definition 实现或注册的兄弟包。 3. **Consumer**——模型和插件编程所面向的内容(例如 `dsh-tool-bash`:`bash` schema,后台句柄注册到通用任务运行时)。Consumer 注入服务键,从不导入 Service Provider 特有的类型。 角色名使用标题式大小写:**Service Definition**、**Service Provider** 和 **Consumer**。泛指的 `provider` 和 `consumer` 仍使用小写。 diff --git a/.agents/notes/implemented/architecture/2026-06-14-session-persistence.i18n.yaml b/.agents/notes/implemented/architecture/2026-06-14-session-persistence.i18n.yaml index eda01d5256..26d0ef4417 100644 --- a/.agents/notes/implemented/architecture/2026-06-14-session-persistence.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-06-14-session-persistence.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-06-14-session-persistence.md -2026-06-14-session-persistence.md: 8f6c8753007e1998f9b072974e154c5a76ef116b -2026-06-14-session-persistence.zh.md: b6d8e16377e0c294f19c69334c0770a66add756e +2026-06-14-session-persistence.md: 55c1bbab94bb7854fd6bbcaace56c30dbcdb01dc +2026-06-14-session-persistence.zh.md: 16546ab61773da47064de8388803e92c8b454eae diff --git a/.agents/notes/implemented/architecture/2026-06-14-session-persistence.md b/.agents/notes/implemented/architecture/2026-06-14-session-persistence.md index 8f6c875300..55c1bbab94 100644 --- a/.agents/notes/implemented/architecture/2026-06-14-session-persistence.md +++ b/.agents/notes/implemented/architecture/2026-06-14-session-persistence.md @@ -20,10 +20,10 @@ Persistence is a **capability seam** with an abstract Service Definition ([capab Key durable, contested choices: - **The canonical durable log persists every current `SessionEvent` losslessly.** In v2, one `assistant/message` or `assistant/attempt` embeds the exact timed provider stream for an attempt; `deriveMessages()` projects only the surface message. Dropping embedded stream members is tempting, but it loses replay, timing, usage, partial-failure, and diagnostic facts. Removing a complete event likewise requires dense renumbering because `seq = log.length` and `events[i].seq === i`; the [v1-to-v2 migration](2026-09-01-v2-embedded-assistant-streams.md) performs that rewrite explicitly rather than filtering the canonical log. -- **Append-only; a crashed turn is closed, never truncated.** Flushed events are never rewritten. The [semantic checkpoint policy](../bug-fix/2026-07-21-semantic-session-checkpoints.md) drains the request before model dispatch, a recorded top-level call before tool dispatch, and the complete response/result batch after a step; the loop drains the final turn boundary. Because one interrupted turn may contain substantial valid work, persistence returns its contiguous, parseable events unmodified; the reader owns balancing — resume computes risk-classified error results for unanswered assistant calls, a missing `step/end`, and `turn/end` with `{ kind: 'interrupted' }` (`interruptedTurnClosers`) and appends them through its write handle, while read-only observers add the same closers in memory. The synthetic results keep resumed provider transcripts valid. Only the incomplete fragment of a torn final append is discarded — complete records recovered from it are durably rewritten by the write path before its first new append; a parse error or sequence gap in the committed prefix is corruption and makes the session unloadable. +- **Append-only; a crashed turn is closed, never truncated.** Flushed events are never rewritten. The [semantic checkpoint policy](../../../../packages/session/session-checkpoint-policy/README.md) drains the request before model dispatch, a recorded top-level call before tool dispatch, and the complete response/result batch after a step; the loop drains the final turn boundary. Because one interrupted turn may contain substantial valid work, persistence returns its contiguous, parseable events unmodified; the reader owns balancing — resume computes risk-classified error results for unanswered assistant calls, a missing `step/end`, and `turn/end` with `{ kind: 'interrupted' }` (`interruptedTurnClosers`) and appends them through its write handle, while read-only observers add the same closers in memory. The synthetic results keep resumed provider transcripts valid. Only the incomplete fragment of a torn final append is discarded — complete records recovered from it are durably rewritten by the write path before its first new append; a parse error or sequence gap in the committed prefix is corruption and makes the session unloadable. - **The file backend is canonical while the service remains extensible.** `dsh-session-persistence-jsonl` is the sole first-party provider and passes `runPersistenceContract`; the abstract service remains available to out-of-tree providers. The [JSONL-only persistence decision](../simplification/2026-08-30-jsonl-only-session-persistence.md) owns removal of the first-party database provider and its deliberate compatibility cut. -- **Metadata is out-of-log.** Format version, cwd, and lineage are storage concerns, not replayable conversation state, so they live in a `SessionHeader` owned by `dsh-session` and attached to a `Session` via a new readonly `session.header` — never in `SessionEventMap`, never reaching `deriveMessages()`. `createdAt` is non-negative safe-integer Unix epoch milliseconds: live creation and persistence registration reject fractional values, and JSONL validates the decoded header. The alternative (a merge-extensible `session/meta` event as log line 0) was rejected: an in-log event would ride along with a seeded/forked session for free, but metadata is not replayable state, so the explicit out-of-log header boundary is the cleaner cost. (The header was originally split into an immutable `SessionHeader` plus a mutable `SessionSummary` whose union was `SessionMeta`; the mutable summary was later removed as dead state — see [Drop the mutable session summary](../simplification/2026-06-19-drop-mutable-session-summary.md).) -- **`ctx.agents.create()` and `ctx.agents.resume()` are async factories; resume additionally crosses the persistence boundary.** `ctx.agents.resume({ resumeSessionId })` opens the session's write handle, reads the stored log, and publishes the prepared Session under the persisted id, continuing its projections. The [Session preparation decision](2026-08-05-session-preparation.md) owns the unpublished-Session ownership window. The agent-loop does NOT hard-inject `sessionPersistence` (that would pend non-persistent demos forever); `resume` rejects with a clear error when it is absent. +- **Metadata is out-of-log.** Format version, cwd, and lineage are storage concerns, not replayable conversation state, so they live in a `SessionHeader` owned by `dsh-session` and attached to a `Session` via a new readonly `session.header` — never in `SessionEventMap`, never reaching `deriveMessages()`. `createdAt` is non-negative safe-integer Unix epoch milliseconds: live creation and persistence registration reject fractional values, and JSONL validates the decoded header. The alternative (a merge-extensible `session/meta` event as log line 0) was rejected: an in-log event would ride along with a seeded/forked session for free, but metadata is not replayable state, so the explicit out-of-log header boundary is the cleaner cost. (The header was originally split into an immutable `SessionHeader` plus a mutable `SessionSummary` whose union was `SessionMeta`; the mutable summary was later removed as dead state — see [Drop the mutable session summary](../../archived/simplification/2026-06-19-drop-mutable-session-summary.md).) +- **`ctx.agents.create()` and `ctx.agents.resume()` are async factories; resume additionally crosses the persistence boundary.** `ctx.agents.resume({ resumeSessionId })` opens the session's write handle, reads the stored log, and publishes the prepared Session under the persisted id, continuing its projections. The [Session preparation decision](../../archived/architecture/2026-08-05-session-preparation.md) owns the unpublished-Session ownership window. The agent-loop does NOT hard-inject `sessionPersistence` (that would pend non-persistent demos forever); `resume` rejects with a clear error when it is absent. ## Alternatives considered diff --git a/.agents/notes/implemented/architecture/2026-06-14-session-persistence.zh.md b/.agents/notes/implemented/architecture/2026-06-14-session-persistence.zh.md index b6d8e16377..16546ab617 100644 --- a/.agents/notes/implemented/architecture/2026-06-14-session-persistence.zh.md +++ b/.agents/notes/implemented/architecture/2026-06-14-session-persistence.zh.md @@ -20,10 +20,10 @@ Status: implemented 长期有效、存在争议的关键选择: - **规范持久日志无损保留每个当前 `SessionEvent`。** 在 v2 中,一个 `assistant/message` 或 `assistant/attempt` 会嵌入该 attempt 的精确带时间 provider stream;`deriveMessages()` 只投影 surface message。删除嵌入 stream 成员看似诱人,但会丢失 replay、timing、usage、部分失败与诊断事实。移除完整事件同样需要密集重新编号,因为 `seq = log.length` 且 `events[i].seq === i`;[v1 到 v2 迁移](2026-09-01-v2-embedded-assistant-streams.zh.md)会显式执行该改写,而不是过滤规范日志。 -- **仅追加;崩溃的轮次被关闭,而非截断。** 已刷写的事件永不被重写。[语义检查点策略](../bug-fix/2026-07-21-semantic-session-checkpoints.zh.md)会在调用模型前排空请求、在调用工具前排空已记录的顶层调用,并在步骤结束后排空完整的响应/结果批次;循环则排空最终轮次边界。由于一个被中断的轮次可能包含大量有效工作,持久化会原样返回其连续、可解析的事件;配平是读方的职责——resume 会为未应答的 assistant 调用计算按风险分类的错误结果、补一个缺失的 `step/end`,以及带 `{ kind: 'interrupted' }` 的 `turn/end`(`interruptedTurnClosers`),并通过其写句柄追加它们,而只读观察方仅在内存中添加同样的收尾事件。合成结果保证恢复后的提供方 transcript(文本记录)仍然有效。只有撕裂的最终 append 中不完整的碎片会被丢弃——从中恢复的完整记录由写路径在第一次新 append 之前持久重写;已提交前缀中的解析错误或序号间隙,属于数据损坏,会使该会话不可加载。 +- **仅追加;崩溃的轮次被关闭,而非截断。** 已刷写的事件永不被重写。[语义检查点策略](../../../../packages/session/session-checkpoint-policy/README.zh.md)会在调用模型前排空请求、在调用工具前排空已记录的顶层调用,并在步骤结束后排空完整的响应/结果批次;循环则排空最终轮次边界。由于一个被中断的轮次可能包含大量有效工作,持久化会原样返回其连续、可解析的事件;配平是读方的职责——resume 会为未应答的 assistant 调用计算按风险分类的错误结果、补一个缺失的 `step/end`,以及带 `{ kind: 'interrupted' }` 的 `turn/end`(`interruptedTurnClosers`),并通过其写句柄追加它们,而只读观察方仅在内存中添加同样的收尾事件。合成结果保证恢复后的提供方 transcript(文本记录)仍然有效。只有撕裂的最终 append 中不完整的碎片会被丢弃——从中恢复的完整记录由写路径在第一次新 append 之前持久重写;已提交前缀中的解析错误或序号间隙,属于数据损坏,会使该会话不可加载。 - **文件后端为规范实现,服务保持可扩展。** `dsh-session-persistence-jsonl` 是唯一 first-party provider,并通过 `runPersistenceContract`;抽象服务继续供仓库外 provider 使用。[JSONL-only 持久化决策](../simplification/2026-08-30-jsonl-only-session-persistence.zh.md)负责 first-party 数据库 provider 的删除及其明确 compatibility cut。 -- **元数据在日志之外。** 格式版本、cwd 和谱系是存储关注点,不是可回放的对话状态,因此它们存放在 `dsh-session` 拥有的 `SessionHeader` 中,并通过新的只读属性 `session.header` 附加到 `Session` 上——永远不进入 `SessionEventMap`,永远不到达 `deriveMessages()`。`createdAt` 是以 Unix epoch 毫秒表示的非负安全整数:运行时创建和持久化注册会拒绝小数值,JSONL 会验证解码后的 header。替代方案(一个可合并扩展的 `session/meta` 事件作为日志第 0 行)被否决:日志内事件会自然随 seed/fork 的会话携带,但元数据不是可回放状态,因此显式的日志外 header 边界是更清晰的取舍。(header 最初被拆分为不可变的 `SessionHeader` 加可变的 `SessionSummary`,二者的联合类型为 `SessionMeta`;可变 summary 后来因属于死状态而被移除——见 [移除可变会话摘要](../simplification/2026-06-19-drop-mutable-session-summary.zh.md)。) -- **`ctx.agents.create()` 和 `ctx.agents.resume()` 是异步工厂;恢复还跨越持久化边界。** `ctx.agents.resume({ resumeSessionId })` 打开该会话的写句柄,读取已存储的日志,并以持久化 id 发布准备好的 Session,继续其投影。[Session 准备阶段决策](2026-08-05-session-preparation.zh.md)定义未发布 Session 的所有权窗口。agent loop(智能体循环)不会硬注入 `sessionPersistence`(那样会让非持久化的演示永远挂起);当它不存在时,`resume` 会以明确的错误拒绝。 +- **元数据在日志之外。** 格式版本、cwd 和谱系是存储关注点,不是可回放的对话状态,因此它们存放在 `dsh-session` 拥有的 `SessionHeader` 中,并通过新的只读属性 `session.header` 附加到 `Session` 上——永远不进入 `SessionEventMap`,永远不到达 `deriveMessages()`。`createdAt` 是以 Unix epoch 毫秒表示的非负安全整数:运行时创建和持久化注册会拒绝小数值,JSONL 会验证解码后的 header。替代方案(一个可合并扩展的 `session/meta` 事件作为日志第 0 行)被否决:日志内事件会自然随 seed/fork 的会话携带,但元数据不是可回放状态,因此显式的日志外 header 边界是更清晰的取舍。(header 最初被拆分为不可变的 `SessionHeader` 加可变的 `SessionSummary`,二者的联合类型为 `SessionMeta`;可变 summary 后来因属于死状态而被移除——见 [移除可变会话摘要](../../archived/simplification/2026-06-19-drop-mutable-session-summary.md)。) +- **`ctx.agents.create()` 和 `ctx.agents.resume()` 是异步工厂;恢复还跨越持久化边界。** `ctx.agents.resume({ resumeSessionId })` 打开该会话的写句柄,读取已存储的日志,并以持久化 id 发布准备好的 Session,继续其投影。[Session 准备阶段决策](../../archived/architecture/2026-08-05-session-preparation.md)定义未发布 Session 的所有权窗口。agent loop(智能体循环)不会硬注入 `sessionPersistence`(那样会让非持久化的演示永远挂起);当它不存在时,`resume` 会以明确的错误拒绝。 ## 曾考虑的替代方案 diff --git a/.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.i18n.yaml b/.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.i18n.yaml index 7d4ccbd4e1..e7aa78354c 100644 --- a/.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.md -2026-06-20-generic-long-running-tool-runtime.md: 7db43323dd83f8e99698a7163412c9b33a607dfb -2026-06-20-generic-long-running-tool-runtime.zh.md: 040ea6a01e97c9dc1d93e8f3a0fd9c1f4b0f31fc +2026-06-20-generic-long-running-tool-runtime.md: c386d3b338c94e0e5bbf8e99c2c7a30971ba92b7 +2026-06-20-generic-long-running-tool-runtime.zh.md: 002514740a15c5961960d20976fc18f7fd8071ff diff --git a/.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.md b/.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.md index 7db43323dd..c386d3b338 100644 --- a/.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.md +++ b/.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.md @@ -19,13 +19,13 @@ The `jobs/` package group owns background-job semantics: Long-running tools are producers. `dsh-tool-bash` adapts a `ShellProcess` into incremental output and process cancellation; `dsh-tool-subagent` adapts a child run into final output and child disposal. The bash and subagent capability seams remain independent of sessions and the job registry. -`JobRegistry` is the Service Definition in `@deepseek-ai/dsh-jobs`; the process-local provider is `LocalJobRegistry` in `@deepseek-ai/dsh-jobs-local` (the [task-registry contract Agent Note](2026-07-26-job-registry-seam.md) records that split). +`JobRegistry` is the Service Definition in `@deepseek-ai/dsh-jobs`; the process-local provider is `LocalJobRegistry` in `@deepseek-ai/dsh-jobs-local` (the [task-registry contract Agent Note](../../archived/architecture/2026-07-26-job-registry-seam.md) records that split). ## Runtime contract The literal types live on the [tasks subsystem page](../../../../docs/subsystems/jobs.md). A producer calls `ctx.jobs.start()` with a kind, label, optional owning `Agent`, optional positive `outputLimitBytes`, and a `run()` function. The runtime completes all failable preflight work before calling `run()` and invokes it once. After `run()` returns hooks, registration commits without another failable step; a producer cannot start work that lacks a collectable job id. -The process-local provider also owns bounded admission, whose rationale is recorded in the [bounded background job admission decision](../bug-fix/2026-08-11-bounded-background-job-admission.md). Its positive-safe-integer `maxConcurrentJobsPerOwner` config defaults to `10`; `start()` derives each exact `Agent` object's active count from `running` and `stopping` records, while every unowned task shares one service bucket. Capacity rejection occurs before `run()` and id allocation, and producer `done` settlement is the only event that releases a stopping task's place. The provider does not queue, preempt, or retain a second mutable count. +The process-local provider also owns bounded admission, whose rationale is recorded in the [bounded background job admission decision](../../archived/bug-fix/2026-08-11-bounded-background-job-admission.md). Its positive-safe-integer `maxConcurrentJobsPerOwner` config defaults to `10`; `start()` derives each exact `Agent` object's active count from `running` and `stopping` records, while every unowned task shares one service bucket. Capacity rejection occurs before `run()` and id allocation, and producer `done` settlement is the only event that releases a stopping task's place. The provider does not queue, preempt, or retain a second mutable count. `outputLimitBytes` is producer-owned presentation policy, not a registry buffer. The registry validates and projects it unchanged into `JobSnapshot`; generic control APIs apply the cap to complete model-facing output after adding their own status or notice metadata. Omitting it preserves the existing controller behavior, so the runtime does not impose a hidden default on unrelated producer families. @@ -105,7 +105,7 @@ Separate bash and subagent output/stop tools duplicate ids, isolation, cleanup, ### An immediate abstract task-runtime backend -The current `JobStart.run()` contract passes in-process callbacks and exact `Agent` objects. A durable backend changes identity, restart, ownership, and observation semantics, so at introduction time the registry stayed one concrete service rather than freezing the wrong boundary. The [task-registry contract Agent Note](2026-07-26-job-registry-seam.md) later separated the contract from the process-local implementation without changing these in-process semantics. +The current `JobStart.run()` contract passes in-process callbacks and exact `Agent` objects. A durable backend changes identity, restart, ownership, and observation semantics, so at introduction time the registry stayed one concrete service rather than freezing the wrong boundary. The [task-registry contract Agent Note](../../archived/architecture/2026-07-26-job-registry-seam.md) later separated the contract from the process-local implementation without changing these in-process semantics. ### Consumer-owned authorization or cleanup events diff --git a/.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.zh.md b/.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.zh.md index 040ea6a01e..002514740a 100644 --- a/.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.zh.md +++ b/.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.zh.md @@ -19,13 +19,13 @@ Status: implemented 长时间运行工具是生产方。`dsh-tool-bash` 将 `ShellProcess` 适配为增量输出与进程取消;`dsh-tool-subagent` 将子运行适配为最终输出与子运行释放。bash 与 subagent 能力 seam 保持独立,不依赖会话或任务注册表。 -`JobRegistry` 是 `@deepseek-ai/dsh-jobs` 中的 Service Definition;进程内 Service Provider 是 `@deepseek-ai/dsh-jobs-local` 中的 `LocalJobRegistry`(该拆分记录在[任务注册表约定 Agent Note](2026-07-26-job-registry-seam.zh.md)中)。 +`JobRegistry` 是 `@deepseek-ai/dsh-jobs` 中的 Service Definition;进程内 Service Provider 是 `@deepseek-ai/dsh-jobs-local` 中的 `LocalJobRegistry`(该拆分记录在[任务注册表约定 Agent Note](../../archived/architecture/2026-07-26-job-registry-seam.md)中)。 ## 运行时约定 字面类型见[任务子系统页面](../../../../docs/subsystems/jobs.zh.md)。生产方调用 `ctx.jobs.start()`,传入 kind、label、可选的所属 `Agent`、可选的正数 `outputLimitBytes` 与一个 `run()` 函数。运行时会在调用 `run()` 前完成所有可能失败的预检工作,并且只调用一次。`run()` 返回钩子后,注册过程不会再执行可能失败的步骤而直接提交;生产方无法启动没有可收集 job id 的工作。 -进程内 Service Provider 还拥有有界准入,其理由记录在[有界后台任务准入决策](../bug-fix/2026-08-11-bounded-background-job-admission.zh.md)中。它的 `maxConcurrentJobsPerOwner` 配置必须是正的安全整数,默认值为 `10`;`start()` 从 `running` 与 `stopping` 记录派生每个确切 `Agent` 对象的活动数量,而全部无 owner 任务共享一个服务级桶。容量拒绝发生在 `run()` 与 id 分配之前,处于 stopping 的任务只有在生产方 `done` 结算时才释放名额。Service Provider 不排队或抢占任务,也不保留第二份可变计数。 +进程内 Service Provider 还拥有有界准入,其理由记录在[有界后台任务准入决策](../../archived/bug-fix/2026-08-11-bounded-background-job-admission.md)中。它的 `maxConcurrentJobsPerOwner` 配置必须是正的安全整数,默认值为 `10`;`start()` 从 `running` 与 `stopping` 记录派生每个确切 `Agent` 对象的活动数量,而全部无 owner 任务共享一个服务级桶。容量拒绝发生在 `run()` 与 id 分配之前,处于 stopping 的任务只有在生产方 `done` 结算时才释放名额。Service Provider 不排队或抢占任务,也不保留第二份可变计数。 `outputLimitBytes` 是生产方拥有的呈现策略,而非注册表缓冲区。注册表校验该值,并将其原样投影到 `JobSnapshot`;通用任务控制器添加自身的状态或通知元数据后,再将该上限应用于完整的面向模型输出。省略该值时保持现有控制器行为,因此运行时不会向无关的生产方类别施加隐式默认值。 @@ -105,7 +105,7 @@ bash seam 暴露 `resolve`、`run` 和 `start`。`start(spec)` 返回一个 `She ### 立即抽象任务运行时后端 -当前 `JobStart.run()` 约定传入进程内回调与确切的 `Agent` 对象。持久化后端会改变身份、重启、所有权与观察语义,因此在引入之时注册表保持为单一具体服务,而非固化错误的边界。[任务注册表约定 Agent Note](2026-07-26-job-registry-seam.zh.md)后来在不改变这些进程内语义的前提下,将约定与进程内实现分离。 +当前 `JobStart.run()` 约定传入进程内回调与确切的 `Agent` 对象。持久化后端会改变身份、重启、所有权与观察语义,因此在引入之时注册表保持为单一具体服务,而非固化错误的边界。[任务注册表约定 Agent Note](../../archived/architecture/2026-07-26-job-registry-seam.md)后来在不改变这些进程内语义的前提下,将约定与进程内实现分离。 ### 由消费方负责授权或清理事件 diff --git a/.agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.i18n.yaml b/.agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.i18n.yaml index 670e4f18e9..0956b2aa0b 100644 --- a/.agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.md -2026-06-21-bounded-llm-request-recovery.md: 6ae3915462c00eadcc550c80165fab7247a9170c -2026-06-21-bounded-llm-request-recovery.zh.md: 82e2e783fffaedcb5bfaabe72f56f7c4176d3784 +2026-06-21-bounded-llm-request-recovery.md: b0a4ebb11b76c4c0068490c9924a88b80a8bc99f +2026-06-21-bounded-llm-request-recovery.zh.md: e8c25f9f6410dc12e34a0272e01e874431624c28 diff --git a/.agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.md b/.agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.md index 6ae3915462..b0a4ebb11b 100644 --- a/.agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.md +++ b/.agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.md @@ -4,7 +4,7 @@ Status: implemented English | [中文](2026-06-21-bounded-llm-request-recovery.zh.md) -The [per-provider request retry policy](../feature/2026-07-24-provider-retry-policies.md) extends this foundation with exact-provider configuration and an explicit unbounded mode. This note continues to own structured failure facts, the failed-attempt recovery boundary, normal mode's transient defaults, visible single attempts, and durable retry status. [Terminal LLM stream failures](2026-07-29-terminal-llm-stream-failures.md) supersedes its thrown-error identity and stream-sidecar mechanism. +The [per-provider request retry policy](../../archived/feature/2026-07-24-provider-retry-policies.md) extends this foundation with exact-provider configuration and an explicit unbounded mode. This note continues to own structured failure facts, the failed-attempt recovery boundary, normal mode's transient defaults, visible single attempts, and durable retry status. [Terminal LLM stream failures](2026-07-29-terminal-llm-stream-failures.md) supersedes its thrown-error identity and stream-sidecar mechanism. ## Problem @@ -46,7 +46,7 @@ The agent loop passes the terminal finish's `LlmFailure` to `agent/request-error Adapters extract structured facts before falling back to message inspection. They validate HTTP status, parse `Retry-After` seconds or dates into a positive finite millisecond delay, brand the provider request id when exposed, and distinguish their own timeout from the caller's abort. Provider-specific codes and messages may refine a mapping, but no recovery listener parses them. -The shared transient-code set is intentionally small: adapter mappings for `RATE_LIMIT` and `SERVER`, explicit `TIMEOUT` and `TRANSPORT` codes for remote failures, and `EMPTY_RESPONSE` for a completed provider response with no content blocks. Both adapters classify the last case as an error finish; see [empty model responses are retryable](../bug-fix/2026-07-24-empty-model-response-is-retryable.md). Authentication, quota, invalid request, context overflow, protocol, abort, and unknown failures keep distinct stable codes and are not transient by default. Adding a code requires adapter fixtures and a documented policy decision; it does not require expanding a second failure-class enum. +The shared transient-code set is intentionally small: adapter mappings for `RATE_LIMIT` and `SERVER`, explicit `TIMEOUT` and `TRANSPORT` codes for remote failures, and `EMPTY_RESPONSE` for a completed provider response with no content blocks. Both adapters classify the last case as an error finish; see [empty model responses are retryable](../../archived/bug-fix/2026-07-24-empty-model-response-is-retryable.md). Authentication, quota, invalid request, context overflow, protocol, abort, and unknown failures keep distinct stable codes and are not transient by default. Adding a code requires adapter fixtures and a documented policy decision; it does not require expanding a second failure-class enum. ### Put retry policy on the existing failed-step extension point @@ -54,7 +54,7 @@ The shared transient-code set is intentionally small: adapter mappings for `RATE The `agent/request-error` waterfall carries the current `LlmFailure`, an immutable list of prior failures that authorized retries in the consecutive recovery sequence, and the serving registration's immutable retry policy. The loop transports but does not interpret that policy, owns the consecutive failure history, and clears it after a successful model request. Normal `dsh-llm-retry` policy counts durable retry records scheduled by the same exact-provider policy, while `dsh-compaction-basic` keeps its own context-overflow budget. Alternating transient and context-overflow failures therefore consume their owning finite budgets independently; the maximum request count is one plus the sum of the loaded finite budgets. -The [provider-policy decision](../feature/2026-07-24-provider-retry-policies.md) owns the current configuration shape. Provider adapters register their nested `retryPolicy`; omission uses normal defaults: two transient retries, a 500 millisecond initial delay, a 10 second delay cap, 10 percent jitter, and the five transient codes above. The count and delay bounds match the conservative edge of the inspected implementations: [OpenCode uses two request retries with 500 ms/10 s bounds](https://github.com/anomalyco/opencode/blob/9976269ab1accfc9f9dc98a4a688c516934de422/%70ackages/llm/src/route/executor.ts#L36-L39), [Pi separates three agent-level retries from provider retries and defaults provider retries to zero](https://github.com/earendil-works/pi/blob/3da591ab74ab9ab407e72ed882600b2c851fae21/%70ackages/coding-agent/docs/settings.md#L139-L147), and [Codex uses finite request/stream budgets plus a five-minute idle timeout](https://github.com/openai/codex/blob/0fb559f0f6e231a88ac02ea002d3ecd248e2b515/codex-rs/model-provider-info/src/lib.rs#L25-L33). Ten percent follows [Codex's bounded jitter](https://github.com/openai/codex/blob/0fb559f0f6e231a88ac02ea002d3ecd248e2b515/codex-rs/codex-client/src/retry.rs#L40-L47). +The [llm-retry README](../../../../packages/llm/llm-retry/README.md) documents the current configuration shape. Provider adapters register their nested `retryPolicy`; omission uses normal defaults: two transient retries, a 500 millisecond initial delay, a 10 second delay cap, 10 percent jitter, and the five transient codes above. The count and delay bounds match the conservative edge of the inspected implementations: [OpenCode uses two request retries with 500 ms/10 s bounds](https://github.com/anomalyco/opencode/blob/9976269ab1accfc9f9dc98a4a688c516934de422/%70ackages/llm/src/route/executor.ts#L36-L39), [Pi separates three agent-level retries from provider retries and defaults provider retries to zero](https://github.com/earendil-works/pi/blob/3da591ab74ab9ab407e72ed882600b2c851fae21/%70ackages/coding-agent/docs/settings.md#L139-L147), and [Codex uses finite request/stream budgets plus a five-minute idle timeout](https://github.com/openai/codex/blob/0fb559f0f6e231a88ac02ea002d3ecd248e2b515/codex-rs/model-provider-info/src/lib.rs#L25-L33). Ten percent follows [Codex's bounded jitter](https://github.com/openai/codex/blob/0fb559f0f6e231a88ac02ea002d3ecd248e2b515/codex-rs/codex-client/src/retry.rs#L40-L47). For an eligible failure with budget remaining, the one-based transient retry count uses bounded exponential backoff. A valid `providerRetryAfterMs` replaces exponential backoff only when it does not exceed `maxDelayMs`; a longer provider delay causes delegation instead of an earlier retry that violates the provider instruction. Local backoff multiplies by an injected random factor in `[1 - jitterRatio, 1 + jitterRatio]` and clamps the final value to `maxDelayMs`; provider delay is not jittered. @@ -100,7 +100,7 @@ If recovery is exhausted, the final failure is stored once on `turn/end.reason` - **Add response start, interrupted, discarded, failed, and committed events to `dsh-llm`** — rejected because the agent log already separates raw chunks, successful messages, and numbered attempts. A second state machine would duplicate ownership without enabling the bounded same-route retry. - **Add logical routes, capability matrices, and failover selection** — rejected because current requests already name provider and model explicitly, one adapter owns each provider, and no current consumer requires automatic fallback or can prove semantic compatibility. - **Put `retryable` or `failover` on `LlmFailure`** — rejected because adapters report facts while deployment policy decides action. The same 429 may be retried in an interactive bundle and rejected in a cost-capped batch. -- **Retry forever while the caller remains active** — the [per-provider policy](../feature/2026-07-24-provider-retry-policies.md) supersedes this rejection for explicit `always` entries while retaining bounded normal mode as the default. +- **Retry forever while the caller remains active** — the [per-provider policy](../../archived/feature/2026-07-24-provider-retry-policies.md) supersedes this rejection for explicit `always` entries while retaining bounded normal mode as the default. - **Log retry status only through the process logger** — rejected because process logs do not reconstruct session behavior and cannot drive replayed UI state. - **Keep only flat codes** — rejected because retry delay and provider request id are structured provider facts, and HTTP status is necessary for diagnosis when different wire failures share one stable code. @@ -131,9 +131,9 @@ If recovery is exhausted, the final failure is stored once on `turn/end.reason` ## Related -- [Structured error taxonomy](../../implemented/architecture/2026-06-11-structured-error-taxonomy.md) owns stable machine-routable codes and cause chaining. +- [Structured error taxonomy](../../archived/architecture/2026-06-11-structured-error-taxonomy.md) owns stable machine-routable codes and cause chaining. - [Reconstructable requests](../../implemented/architecture/2026-07-05-reconstructable-requests.md) makes provider/model and complete request inputs durable before dispatch. - [Timeout deadline library](../../implemented/architecture/2026-07-06-timeout-deadline-library.md) separates shared deadline classification from capability-owned termination. - [After-call compaction pressure and context-overflow recovery](../../implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.md) owns the current closed-step request-recovery extension point and bounded overflow retry. - [Provider-routed LLM adapters](../../implemented/architecture/2026-07-14-provider-routed-llm-adapters.md) owns explicit provider/model routing and the one-adapter-per-provider invariant. -- [Terminal turn errors survive same-turn retry history](../bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.md) owns the removal of the Web retry-history suppression that hid exhausted recovery's terminal error row. +- [Terminal turn errors survive same-turn retry history](../../archived/bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.md) owns the removal of the Web retry-history suppression that hid exhausted recovery's terminal error row. diff --git a/.agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.zh.md b/.agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.zh.md index 82e2e783ff..e8c25f9f64 100644 --- a/.agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.zh.md +++ b/.agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.zh.md @@ -4,7 +4,7 @@ Status: implemented [English](2026-06-21-bounded-llm-request-recovery.md) | 中文 -[按提供方配置的请求重试策略](../feature/2026-07-24-provider-retry-policies.zh.md)在此基础上增加了确切提供方配置与显式无界 mode。本说明继续负责结构化失败事实、失败尝试的恢复边界、normal mode 的暂时性默认值、可见的单次尝试和持久重试状态。[LLM(大语言模型)流的终止失败](2026-07-29-terminal-llm-stream-failures.zh.md)取代了其中关于抛出错误身份和流 sidecar 的机制。 +[按提供方配置的请求重试策略](../../archived/feature/2026-07-24-provider-retry-policies.md)在此基础上增加了确切提供方配置与显式无界 mode。本说明继续负责结构化失败事实、失败尝试的恢复边界、normal mode 的暂时性默认值、可见的单次尝试和持久重试状态。[LLM(大语言模型)流的终止失败](2026-07-29-terminal-llm-stream-failures.zh.md)取代了其中关于抛出错误身份和流 sidecar 的机制。 ## 问题 @@ -46,7 +46,7 @@ agent loop(智能体循环)会将终止 finish 的 `LlmFailure` 传给 `agen 适配器会先提取结构化事实,再回退到消息检查。它们会验证 HTTP 状态,将 `Retry-After` 的秒数或日期解析为正的有限毫秒延迟,在提供方公开请求 id 时将其品牌化,并区分自身超时与调用方中止。提供方专用 code 和消息可以细化映射,但恢复监听器不会解析它们。 -共享的暂时性 code 集有意保持很小:适配器针对 `RATE_LIMIT` 和 `SERVER` 的映射,远程失败使用的显式 `TIMEOUT` 和 `TRANSPORT` code,以及提供方响应已完成却没有内容块时使用的 `EMPTY_RESPONSE`。两个适配器都会把最后一种情况归类为错误 finish;详见[空模型响应可重试](../bug-fix/2026-07-24-empty-model-response-is-retryable.zh.md)。身份验证、配额、无效请求、上下文溢出、协议、中止和未知失败都保留不同的稳定 code,且默认不属于暂时性失败。新增 code 需要适配器 fixture(测试前置数据)和已记录的策略决策;无需扩展第二个失败类枚举。 +共享的暂时性 code 集有意保持很小:适配器针对 `RATE_LIMIT` 和 `SERVER` 的映射,远程失败使用的显式 `TIMEOUT` 和 `TRANSPORT` code,以及提供方响应已完成却没有内容块时使用的 `EMPTY_RESPONSE`。两个适配器都会把最后一种情况归类为错误 finish;详见[空模型响应可重试](../../archived/bug-fix/2026-07-24-empty-model-response-is-retryable.md)。身份验证、配额、无效请求、上下文溢出、协议、中止和未知失败都保留不同的稳定 code,且默认不属于暂时性失败。新增 code 需要适配器 fixture(测试前置数据)和已记录的策略决策;无需扩展第二个失败类枚举。 ### 将重试策略放在现有失败步骤扩展点上 @@ -54,7 +54,7 @@ agent loop(智能体循环)会将终止 finish 的 `LlmFailure` 传给 `agen `agent/request-error` waterfall 携带当前 `LlmFailure`、在连续恢复序列中授权重试的不可变先前失败列表,以及提供服务的注册项所携带的不可变重试策略。循环只传递而不解释该策略;它拥有连续失败历史,并在模型请求成功后清除。`dsh-llm-retry` 的 normal 策略统计由同一项确切提供方策略安排的持久重试记录,`dsh-compaction-basic` 则维护自己的上下文溢出预算。因此,暂时性失败与上下文溢出交替出现时,会各自独立消耗其有限预算;最大请求数等于 1 加上所有已加载有限预算之和。 -当前配置形状由[提供方策略决策](../feature/2026-07-24-provider-retry-policies.zh.md)规定。提供方适配器会注册嵌套的 `retryPolicy`;省略时使用 normal 默认值:两次暂时性重试、500 毫秒初始延迟、10 秒延迟上限、10% 抖动,以及上述五个暂时性 code。计数与延迟边界参考了所调查实现中较保守的一端:[OpenCode 使用两次请求重试,延迟边界为 500 毫秒/10 秒](https://github.com/anomalyco/opencode/blob/9976269ab1accfc9f9dc98a4a688c516934de422/%70ackages/llm/src/route/executor.ts#L36-L39);[Pi 将三次 agent 级重试与提供方重试分开,且提供方重试默认为零](https://github.com/earendil-works/pi/blob/3da591ab74ab9ab407e72ed882600b2c851fae21/%70ackages/coding-agent/docs/settings.md#L139-L147);[Codex 使用有限请求/流预算以及五分钟空闲超时](https://github.com/openai/codex/blob/0fb559f0f6e231a88ac02ea002d3ecd248e2b515/codex-rs/model-provider-info/src/lib.rs#L25-L33)。10% 抖动参考 [Codex 的有界抖动](https://github.com/openai/codex/blob/0fb559f0f6e231a88ac02ea002d3ecd248e2b515/codex-rs/codex-client/src/retry.rs#L40-L47)。 +当前配置形状见 [llm-retry README](../../../../packages/llm/llm-retry/README.zh.md)。提供方适配器会注册嵌套的 `retryPolicy`;省略时使用 normal 默认值:两次暂时性重试、500 毫秒初始延迟、10 秒延迟上限、10% 抖动,以及上述五个暂时性 code。计数与延迟边界参考了所调查实现中较保守的一端:[OpenCode 使用两次请求重试,延迟边界为 500 毫秒/10 秒](https://github.com/anomalyco/opencode/blob/9976269ab1accfc9f9dc98a4a688c516934de422/%70ackages/llm/src/route/executor.ts#L36-L39);[Pi 将三次 agent 级重试与提供方重试分开,且提供方重试默认为零](https://github.com/earendil-works/pi/blob/3da591ab74ab9ab407e72ed882600b2c851fae21/%70ackages/coding-agent/docs/settings.md#L139-L147);[Codex 使用有限请求/流预算以及五分钟空闲超时](https://github.com/openai/codex/blob/0fb559f0f6e231a88ac02ea002d3ecd248e2b515/codex-rs/model-provider-info/src/lib.rs#L25-L33)。10% 抖动参考 [Codex 的有界抖动](https://github.com/openai/codex/blob/0fb559f0f6e231a88ac02ea002d3ecd248e2b515/codex-rs/codex-client/src/retry.rs#L40-L47)。 对于预算未耗尽的合格失败,从 1 开始的暂时性重试计数使用有界指数退避。有效的 `providerRetryAfterMs` 只有在不超过 `maxDelayMs` 时才会取代指数退避;提供方延迟更长时,系统会委托给下一监听器,而不会违反提供方指令提前重试。本地退避乘以 `[1 - jitterRatio, 1 + jitterRatio]` 内的注入随机因子,并将最终值限制到 `maxDelayMs`;提供方延迟不加抖动。 @@ -100,7 +100,7 @@ agent loop(智能体循环)会将终止 finish 的 `LlmFailure` 传给 `agen - **向 `dsh-llm` 增加响应开始、中断、丢弃、失败和提交事件**:拒绝采用,因为 agent 日志已经分隔原始分片、成功消息和编号尝试。第二套状态机会重复归属关系,又不能支持有界的同路由重试。 - **增加逻辑路由、能力矩阵和故障转移选择**:拒绝采用,因为当前请求已经显式指定提供方和模型,每个提供方由一个适配器负责,而且没有当前消费方要求自动回退或能够证明语义兼容性。 - **把 `retryable` 或 `failover` 放在 `LlmFailure` 上**:拒绝采用,因为适配器报告事实,部署策略决定动作。同一个 429 可以在交互式组合包中重试,也可以在成本受限的批处理中被拒绝。 -- **只要调用方仍处于活跃状态就无限重试**:[按提供方配置的策略](../feature/2026-07-24-provider-retry-policies.zh.md)对显式 `always` 配置项推翻了这项拒绝,同时保留有界的 normal mode 作为默认值。 +- **只要调用方仍处于活跃状态就无限重试**:[按提供方配置的策略](../../archived/feature/2026-07-24-provider-retry-policies.md)对显式 `always` 配置项推翻了这项拒绝,同时保留有界的 normal mode 作为默认值。 - **只通过进程 logger 记录重试状态**:拒绝采用,因为进程日志无法重建会话行为,也不能驱动回放后的 UI 状态。 - **只保留扁平 code**:拒绝采用,因为重试延迟和提供方请求 id 是结构化的提供方事实,而当不同协议失败共用一个稳定 code 时,诊断还需要 HTTP 状态。 @@ -131,9 +131,9 @@ agent loop(智能体循环)会将终止 finish 的 `LlmFailure` 传给 `agen ## 相关资料 -- [结构化错误分类体系](../../implemented/architecture/2026-06-11-structured-error-taxonomy.zh.md)负责稳定、可供机器路由的 code 与 cause chaining。 +- [结构化错误分类体系](../../archived/architecture/2026-06-11-structured-error-taxonomy.md)负责稳定、可供机器路由的 code 与 cause chaining。 - [可重建请求](../../implemented/architecture/2026-07-05-reconstructable-requests.zh.md)使提供方/模型和完整请求输入在分发前持久化。 - [超时 deadline 库](../../implemented/architecture/2026-07-06-timeout-deadline-library.zh.md)将共享的 deadline 分类与能力自身拥有的终止操作分开。 - [调用后压缩压力与上下文溢出恢复](../../implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.zh.md)负责当前已关闭步骤的请求恢复扩展点与有界溢出重试。 - [提供方路由的 LLM 适配器](../../implemented/architecture/2026-07-14-provider-routed-llm-adapters.zh.md)负责显式提供方/模型路由与每个提供方仅有一个适配器的不变量。 -- [Terminal turn errors survive same-turn retry history](../bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.zh.md)负责移除曾藏掉耗尽恢复终态错误行的 Web 重试历史抑制。 +- [Terminal turn errors survive same-turn retry history](../../archived/bug-fix/2026-08-20-turn-error-survives-same-turn-retry-history.md)负责移除曾藏掉耗尽恢复终态错误行的 Web 重试历史抑制。 diff --git a/.agents/notes/implemented/architecture/2026-06-26-file-context-as-event-gate.i18n.yaml b/.agents/notes/implemented/architecture/2026-06-26-file-context-as-event-gate.i18n.yaml index 421739cb57..7db4727f48 100644 --- a/.agents/notes/implemented/architecture/2026-06-26-file-context-as-event-gate.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-06-26-file-context-as-event-gate.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-06-26-file-context-as-event-gate.md -2026-06-26-file-context-as-event-gate.md: a8316741c3ce8548db5b5def431425589994995c -2026-06-26-file-context-as-event-gate.zh.md: 618985f33073cf9fd69cf2c7fda7112d9752468f +2026-06-26-file-context-as-event-gate.md: 2943f11190533f84f3aebea0a25a88372d1204f1 +2026-06-26-file-context-as-event-gate.zh.md: 053f4269b13c8583def01c144badd17b10a5a41a diff --git a/.agents/notes/implemented/architecture/2026-06-26-file-context-as-event-gate.md b/.agents/notes/implemented/architecture/2026-06-26-file-context-as-event-gate.md index a8316741c3..2943f11190 100644 --- a/.agents/notes/implemented/architecture/2026-06-26-file-context-as-event-gate.md +++ b/.agents/notes/implemented/architecture/2026-06-26-file-context-as-event-gate.md @@ -33,7 +33,7 @@ provider dsh-fs-local local implementation of ctx.fs The model is additive: bare `ctx.fs` performs atomic, unconstrained text I/O, while `dsh-fs-observation-policy` adds observed state, read-before-edit, and version guards. Removing the policy therefore leaves the tools usable but unconstrained. Shipped agent configs load the policy; the bare mode exists to keep policy optional at the service boundary, not as the normal deployment stance. -The [filesystem absence-observation follow-up](../bug-fix/2026-08-09-filesystem-absence-observation.md) refines the recording payload from a success-only version to explicit present/absent state and requires guarded creation to publish without replacement. The event-gate ownership and no-I/O policy boundary remain unchanged. +The [filesystem absence-observation follow-up](../../archived/bug-fix/2026-08-09-filesystem-absence-observation.md) refines the recording payload from a success-only version to explicit present/absent state and requires guarded creation to publish without replacement. The event-gate ownership and no-I/O policy boundary remain unchanged. `dsh-tool-fs` no longer injects `fileContext`. It injects `fs` and `tools`/`systemPrompt`. diff --git a/.agents/notes/implemented/architecture/2026-06-26-file-context-as-event-gate.zh.md b/.agents/notes/implemented/architecture/2026-06-26-file-context-as-event-gate.zh.md index 618985f330..053f4269b1 100644 --- a/.agents/notes/implemented/architecture/2026-06-26-file-context-as-event-gate.zh.md +++ b/.agents/notes/implemented/architecture/2026-06-26-file-context-as-event-gate.zh.md @@ -33,7 +33,7 @@ provider dsh-fs-local local implementation of ctx.fs 该模型是叠加式的:裸 `ctx.fs` 执行原子化、无约束的文本 I/O,而 `dsh-fs-observation-policy` 叠加观测状态、先读后编辑和版本守卫。因此移除策略层后工具仍可用,只是不受约束。正式发布的 agent(智能体)配置会加载策略;裸模式的存在是为了让策略在服务边界保持可选,而非作为正常部署姿态。 -[文件系统缺失观测后续决策](../bug-fix/2026-08-09-filesystem-absence-observation.zh.md)把记录载荷从仅表示成功的版本细化为显式的存在/缺失状态,并要求带防护的创建以不替换方式发布。事件门控归属与无 I/O 策略边界保持不变。 +[文件系统缺失观测后续决策](../../archived/bug-fix/2026-08-09-filesystem-absence-observation.md)把记录载荷从仅表示成功的版本细化为显式的存在/缺失状态,并要求带防护的创建以不替换方式发布。事件门控归属与无 I/O 策略边界保持不变。 `dsh-tool-fs` 不再注入 `fileContext`。它注入 `fs` 和 `tools`/`systemPrompt`。 diff --git a/.agents/notes/implemented/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.i18n.yaml b/.agents/notes/implemented/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.i18n.yaml deleted file mode 100644 index 04eec8e0e1..0000000000 --- a/.agents/notes/implemented/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.md -2026-06-30-bash-stdin-env-trusted-plugin-api.md: 41be63fff598587ee9b873cf7edf51da788bc02a -2026-06-30-bash-stdin-env-trusted-plugin-api.zh.md: 60721539d9d37857e145e289bb262482588139bf diff --git a/.agents/notes/implemented/architecture/2026-06-30-event-domain-semantics.i18n.yaml b/.agents/notes/implemented/architecture/2026-06-30-event-domain-semantics.i18n.yaml index 94a99ad44f..4a4342d1f2 100644 --- a/.agents/notes/implemented/architecture/2026-06-30-event-domain-semantics.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-06-30-event-domain-semantics.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-06-30-event-domain-semantics.md -2026-06-30-event-domain-semantics.md: f3e4686a1e9e14c9284de5a4bff16501c50aa907 -2026-06-30-event-domain-semantics.zh.md: f4bc92111666b0c30586222e14ee1aeab49ebb3f +2026-06-30-event-domain-semantics.md: 7e0aee220a62777ebe1d8f6a5018aba0f5fa20ee +2026-06-30-event-domain-semantics.zh.md: 14568c7a4660c42cecc47f094373d299380fa563 diff --git a/.agents/notes/implemented/architecture/2026-06-30-event-domain-semantics.md b/.agents/notes/implemented/architecture/2026-06-30-event-domain-semantics.md index f3e4686a1e..7e0aee220a 100644 --- a/.agents/notes/implemented/architecture/2026-06-30-event-domain-semantics.md +++ b/.agents/notes/implemented/architecture/2026-06-30-event-domain-semantics.md @@ -26,14 +26,14 @@ This vocabulary is the foundation for interception decisions, the durable `hook/ **The boundary rule:** a durable, replayable fact is a `SessionEvent`; a live interception or a transient/live-object signal is an `agent`/`tools` Cordis event. A turn or step boundary is a durable fact, so it lives in the session log and is read off the `session/event` feed — it is NOT mirrored as an `agent/*` emit. -**Applying the rule to the boundary twins:** all four boundary mirrors — `agent/turn-start`, `agent/turn-end`, `agent/step-start`, `agent/step-end` — are **REMOVED**. No production consumer needs the live `Agent` at a boundary: the ACP bridge correlates its in-flight prompt with the exact `session/event` `turn/start`/`turn/end` pair, and other transcript consumers likewise derive boundaries from the durable stream. See [the remove-boundary-mirror-events Agent Note](../simplification/2026-06-20-remove-agent-boundary-mirror-events.md), which owns that decision. Removing the emits also simplifies the loop's `closeStep`/`closeTurn` (one append each, no paired emit). +**Applying the rule to the boundary twins:** all four boundary mirrors — `agent/turn-start`, `agent/turn-end`, `agent/step-start`, `agent/step-end` — are **REMOVED**. No production consumer needs the live `Agent` at a boundary: the ACP bridge correlates its in-flight prompt with the exact `session/event` `turn/start`/`turn/end` pair, and other transcript consumers likewise derive boundaries from the durable stream. See [the remove-boundary-mirror-events Agent Note](../../archived/simplification/2026-06-20-remove-agent-boundary-mirror-events.md), which owns that decision. Removing the emits also simplifies the loop's `closeStep`/`closeTurn` (one append each, no paired emit). ## Consequences - The loop no longer emits any boundary mirror; `closeStep` appends `step/end` only and `closeTurn` appends `turn/end` only. `Session.append` owns post-commit observer containment, so a throwing boundary observer cannot change the turn outcome or starve later consumers; an acceptance or internal validation failure still escapes before the boundary enters the log. - Tests that observed boundaries via the removed emits now observe the durable `turn/start`/`turn/end`/`step/start`/`step/end` session events — the behavior they pin (boundary ordering, step counting) is unchanged; only the feed they read moved to the canonical one. The tests that exercised a *throwing turn-boundary emit listener* were deleted, because that code path no longer exists (there is no emit to throw from). Per [AGENTS.md "tests document behavior, not golden truth"](../../../../AGENTS.md), the behavior and its test moved (or died) together. - The loop marks the step open (`stepOpen = true`) only after `append('step/start')` returns. Internal dispatch validation runs before the log push and may reject without opening a step; post-commit `session/event` observer failures are contained inside `Session.append`. The marker therefore represents exactly the committed boundary that owes a later `step/end`. -- The full realization of this is [the simplification Agent Note "Stop mirroring durable boundaries as agent events"](../simplification/2026-06-20-remove-agent-boundary-mirror-events.md): all four boundary mirrors are removed and every consumer reads boundaries off `session/event`. `agent/steering` (not a boundary mirror) stayed outside that Agent Note's scope and was removed by its own follow-up, [Remove the `agent/steering` mirror emit](../../archived/simplification/2026-07-04-remove-agent-steering-mirror.md) — it mirrored the durable mid-turn steering `user/message`. +- The full realization of this is [the simplification Agent Note "Stop mirroring durable boundaries as agent events"](../../archived/simplification/2026-06-20-remove-agent-boundary-mirror-events.md): all four boundary mirrors are removed and every consumer reads boundaries off `session/event`. `agent/steering` (not a boundary mirror) stayed outside that Agent Note's scope and was removed by its own follow-up, [Remove the `agent/steering` mirror emit](../../archived/simplification/2026-07-04-remove-agent-steering-mirror.md) — it mirrored the durable mid-turn steering `user/message`. - The generated cordis event surface (the `docs/subsystems/` pages) no longer lists the mirror events. diff --git a/.agents/notes/implemented/architecture/2026-06-30-event-domain-semantics.zh.md b/.agents/notes/implemented/architecture/2026-06-30-event-domain-semantics.zh.md index f4bc921116..14568c7a46 100644 --- a/.agents/notes/implemented/architecture/2026-06-30-event-domain-semantics.zh.md +++ b/.agents/notes/implemented/architecture/2026-06-30-event-domain-semantics.zh.md @@ -26,14 +26,14 @@ harness 通过 Cordis 事件分类体系扩展 agent loop(智能体循环) **边界规则:** 持久的、可回放的事实是 `SessionEvent`;实时拦截或瞬态/活对象信号是 `agent`/`tools` Cordis 事件。轮次或步骤边界是持久事实,因此存在于会话日志中并从 `session/event` 源读取——不会被镜像为 `agent/*` emit。 -**将规则应用于边界镜像:** 全部四个边界镜像——`agent/turn-start`、`agent/turn-end`、`agent/step-start`、`agent/step-end`——被**移除**。没有生产消费方需要在边界处获取活的 `Agent`:ACP(Agent Client Protocol)桥接将其进行中的提示词与精确对应的 `session/event` `turn/start`/`turn/end` 事件对关联,其他 transcript 消费方同样从持久流派生边界。见[移除边界镜像事件 Agent Note](../simplification/2026-06-20-remove-agent-boundary-mirror-events.zh.md),该决策由它负责。移除 emit 也简化了循环的 `closeStep`/`closeTurn`(各只需一次 append,无需配对 emit)。 +**将规则应用于边界镜像:** 全部四个边界镜像——`agent/turn-start`、`agent/turn-end`、`agent/step-start`、`agent/step-end`——被**移除**。没有生产消费方需要在边界处获取活的 `Agent`:ACP(Agent Client Protocol)桥接将其进行中的提示词与精确对应的 `session/event` `turn/start`/`turn/end` 事件对关联,其他 transcript 消费方同样从持久流派生边界。见[移除边界镜像事件 Agent Note](../../archived/simplification/2026-06-20-remove-agent-boundary-mirror-events.md),该决策由它负责。移除 emit 也简化了循环的 `closeStep`/`closeTurn`(各只需一次 append,无需配对 emit)。 ## 后果 - 循环不再 emit 任何边界镜像;`closeStep` 仅追加 `step/end`,`closeTurn` 仅追加 `turn/end`。`Session.append` 负责 post-commit observer 隔离,因此抛出异常的边界 observer 无法改变轮次结果或饿死后续消费方;事件接纳失败或内部校验失败仍会在边界进入日志之前向外抛出。 - 之前通过已移除 emit 观察边界的测试,现在观察持久的 `turn/start`/`turn/end`/`step/start`/`step/end` 会话事件——它们所锁定的行为(边界顺序、步骤计数)不变;只是读取的源移到了规范源。那些测试*抛出异常的轮次边界 emit 监听器*的用例被删除,因为该代码路径不再存在(没有 emit 可供抛出)。按照 [AGENTS.md「测试记录行为,而非黄金真相」](../../../../AGENTS.md),行为与其测试一同迁移(或一同消亡)。 - 循环仅在 `append('step/start')` 返回后才标记步骤已打开(`stepOpen = true`)。内部分发校验在日志推入之前运行,可能在不打开步骤的情况下拒绝;post-commit `session/event` observer 的失败被隔离在 `Session.append` 内部。因此该标记精确表示已提交的、欠一个后续 `step/end` 的边界。 -- 完整实现见[简化 Agent Note「停止将持久边界镜像为 agent 事件」](../simplification/2026-06-20-remove-agent-boundary-mirror-events.zh.md):全部四个边界镜像被移除,所有消费方从 `session/event` 读取边界。`agent/steering`(不是边界镜像)不在该 Agent Note 范围内,由其后续 Agent Note [移除 `agent/steering` 镜像 emit](../../archived/simplification/2026-07-04-remove-agent-steering-mirror.md) 单独移除——它镜像的是持久的中途 steering `user/message`。 +- 完整实现见[简化 Agent Note「停止将持久边界镜像为 agent 事件」](../../archived/simplification/2026-06-20-remove-agent-boundary-mirror-events.md):全部四个边界镜像被移除,所有消费方从 `session/event` 读取边界。`agent/steering`(不是边界镜像)不在该 Agent Note 范围内,由其后续 Agent Note [移除 `agent/steering` 镜像 emit](../../archived/simplification/2026-07-04-remove-agent-steering-mirror.md) 单独移除——它镜像的是持久的中途 steering `user/message`。 - 生成的 Cordis 事件表面(`docs/subsystems/` 各页)不再列出镜像事件。 diff --git a/.agents/notes/implemented/architecture/2026-07-05-prompt-variables-and-tool-guidance-ownership.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-05-prompt-variables-and-tool-guidance-ownership.i18n.yaml index fcdffd69cd..611e38e8ba 100644 --- a/.agents/notes/implemented/architecture/2026-07-05-prompt-variables-and-tool-guidance-ownership.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-05-prompt-variables-and-tool-guidance-ownership.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-05-prompt-variables-and-tool-guidance-ownership.md -2026-07-05-prompt-variables-and-tool-guidance-ownership.md: 361184fa7dbdaccd49ac19235c016daf5eb5ca53 -2026-07-05-prompt-variables-and-tool-guidance-ownership.zh.md: 6b462572883fb69ca64f2babf28974ae59e7bd74 +2026-07-05-prompt-variables-and-tool-guidance-ownership.md: 35bb7c6fabc85ae6f93bdbb67e13910eea627ca3 +2026-07-05-prompt-variables-and-tool-guidance-ownership.zh.md: 53d69cf45c02f6534334561b626d2c2ae6087c05 diff --git a/.agents/notes/implemented/architecture/2026-07-05-prompt-variables-and-tool-guidance-ownership.md b/.agents/notes/implemented/architecture/2026-07-05-prompt-variables-and-tool-guidance-ownership.md index 361184fa7d..35bb7c6fab 100644 --- a/.agents/notes/implemented/architecture/2026-07-05-prompt-variables-and-tool-guidance-ownership.md +++ b/.agents/notes/implemented/architecture/2026-07-05-prompt-variables-and-tool-guidance-ownership.md @@ -32,7 +32,7 @@ Plugins register `{{name}}` values through `ctx.systemPrompt.variable(name, prov ### Persona as the order-0 section -`dsh-system-prompt` owns `harness:identity` at first-party order `-1000` and the configured `deployment:persona` at order 0, so both survive a replacement loop. Prompt rendering has one path, `renderPrompt(assembly)`, and the routed request header therefore records the exact prompt later replayed by `ctx.tokenMeter` for compaction pressure. An agent-scoped `deployment:persona` shadows the global default and lets subagent providers install a persona before publication. The [first-party order allocation](2026-08-25-sparse-first-party-prompt-section-orders.md) owns the sparse named placements for identity, policy, tool guidance, generated protocol, and final-output obligations. +`dsh-system-prompt` owns `harness:identity` at first-party order `-1000` and the configured `deployment:persona-prefix` at order 0, so both survive a replacement loop. Prompt rendering has one path, `renderPrompt(assembly)`, and the routed request header therefore records the exact prompt later replayed by `ctx.tokenMeter` for compaction pressure. An agent-scoped `deployment:persona-prefix` shadows the global default and lets subagent providers install a persona before publication. The [`dsh-system-prompt` README](../../../../packages/core/system-prompt/README.md) owns the sparse named placements for identity, policy, tool guidance, generated protocol, and final-output obligations. ### Tool guidance ownership @@ -40,7 +40,7 @@ Per-tool semantics and selection guidance live in tool descriptions. Prompt sect ### The subagent conversation-history descriptor -`SubagentProvider.inheritsParentContext` describes conversation seeding, not scope, services, tools, or authority. Spawn and ACP set it to `false`; fork sets it to `true`. `dsh-tool-subagent` derives its tool and prompt-parameter descriptions from the flag, including that fork inherits completed turns but not the in-flight turn. Provider lifecycle events keep that wording synchronized with reactive provider registration; their rationale lives in the [provider-lifecycle-events Agent Note](2026-07-05-subagent-provider-lifecycle-events.md). +`SubagentProvider.inheritsParentContext` describes conversation seeding, not scope, services, tools, or authority. Spawn and ACP set it to `false`; fork sets it to `true`. `dsh-tool-subagent` derives its tool and prompt-parameter descriptions from the flag, including that fork inherits completed turns but not the in-flight turn. Provider lifecycle events keep that wording synchronized with reactive provider registration; their rationale lives in the [provider-lifecycle-events Agent Note](../../archived/architecture/2026-07-05-subagent-provider-lifecycle-events.md). ## Alternatives considered @@ -49,7 +49,7 @@ Per-tool semantics and selection guidance live in tool descriptions. Prompt sect - **Hand-write the model name in each persona** — duplicates the `model:` key one line above and silently lies after a config edit; the exact disease this decision cures. - **Lenient interpolation (leave unknown refs verbatim, or substitute empty)** — a typo ships `{{modle}}` (or a hole) to the model and nobody notices until transcript review. - **Per-instance subagent wording in config** — returns model-facing prose to every deployment × instance, reviving the hand-written-guidance-in-leaf-YAML drift. **Keying wording off the provider NAME** — `providerName` is itself config, so a renamed provider silently gets the wrong words. -- **Resolving the provider at `apply` time (a load-order requirement)** and **section-only subagent wording (lazily resolved at assemble)** — the alternatives to the provider-lifecycle events; both rejected in [the provider-lifecycle-events Agent Note](2026-07-05-subagent-provider-lifecycle-events.md). +- **Resolving the provider at `apply` time (a load-order requirement)** and **section-only subagent wording (lazily resolved at assemble)** — the alternatives to the provider-lifecycle events; both rejected in [the provider-lifecycle-events Agent Note](../../archived/architecture/2026-07-05-subagent-provider-lifecycle-events.md). ## Out of scope diff --git a/.agents/notes/implemented/architecture/2026-07-05-prompt-variables-and-tool-guidance-ownership.zh.md b/.agents/notes/implemented/architecture/2026-07-05-prompt-variables-and-tool-guidance-ownership.zh.md index 6b46257288..53d69cf45c 100644 --- a/.agents/notes/implemented/architecture/2026-07-05-prompt-variables-and-tool-guidance-ownership.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-05-prompt-variables-and-tool-guidance-ownership.zh.md @@ -32,7 +32,7 @@ Status: implemented ### Persona 作为 order-0 section -`dsh-system-prompt` 拥有 first-party order 为 `-1000` 的 `harness:identity` 和 order 为 0 的配置 `deployment:persona`,因此两者在循环被替换时仍然存活。提示词渲染只有一条路径 `renderPrompt(assembly)`,已路由请求 header 因此会记录准确的提示词,稍后由 `ctx.tokenMeter` 为压缩(compaction)压力回放。agent 作用域的 `deployment:persona` 遮蔽全局默认值,允许 subagent 提供方在发布前安装 persona。[first-party 顺序分配](2026-08-25-sparse-first-party-prompt-section-orders.zh.md)规定身份、策略、工具指导、生成协议和最终输出义务的稀疏具名位置。 +`dsh-system-prompt` 拥有 first-party order 为 `-1000` 的 `harness:identity` 和 order 为 0 的配置 `deployment:persona-prefix`,因此两者在循环被替换时仍然存活。提示词渲染只有一条路径 `renderPrompt(assembly)`,已路由请求 header 因此会记录准确的提示词,稍后由 `ctx.tokenMeter` 为压缩(compaction)压力回放。agent 作用域的 `deployment:persona-prefix` 遮蔽全局默认值,允许 subagent 提供方在发布前安装 persona。[`dsh-system-prompt` README](../../../../packages/core/system-prompt/README.zh.md)规定身份、策略、工具指导、生成协议和最终输出义务的稀疏具名位置。 ### 工具指导归属 @@ -40,7 +40,7 @@ Status: implemented ### Subagent 对话历史描述符 -`SubagentProvider.inheritsParentContext` 描述的是对话历史初始化,而非作用域、服务、工具或权限。spawn 和 ACP 将其设为 `false`;fork 设为 `true`。`dsh-tool-subagent` 根据该标志派生工具描述和提示词参数描述,包括 fork 继承已完成轮次但不继承进行中轮次这一点。提供方生命周期事件使该措辞与响应式提供方注册保持同步;其设计动机见[提供方生命周期事件 Agent Note](2026-07-05-subagent-provider-lifecycle-events.zh.md)。 +`SubagentProvider.inheritsParentContext` 描述的是对话历史初始化,而非作用域、服务、工具或权限。spawn 和 ACP 将其设为 `false`;fork 设为 `true`。`dsh-tool-subagent` 根据该标志派生工具描述和提示词参数描述,包括 fork 继承已完成轮次但不继承进行中轮次这一点。提供方生命周期事件使该措辞与响应式提供方注册保持同步;其设计动机见[提供方生命周期事件 Agent Note](../../archived/architecture/2026-07-05-subagent-provider-lifecycle-events.md)。 ## 曾考虑的替代方案 @@ -49,7 +49,7 @@ Status: implemented - **在每个 persona 中手写模型名称**:与上方一行的 `model:` 键重复,配置修改后静默失实;正是本决策要治愈的病症。 - **宽松插值(未知引用保留原样或替换为空)**:一个拼写错误 `{{modle}}`(或一个空洞)会被发送给模型,直到 transcript(文本记录)审查时才会被发现。 - **在配置中为每个 subagent 实例编写措辞**:面向模型的行文回到每个部署 × 实例中,重蹈在 leaf YAML 中手写指导的漂移。**根据提供方名称选择措辞**:`providerName` 本身是配置,重命名提供方后会静默获得错误的措辞。 -- **在 `apply` 时解析提供方(加载顺序要求)**与**仅用 section 承载 subagent 措辞(在 assemble 时惰性解析)**:提供方生命周期事件的替代方案;两者均在[提供方生命周期事件 Agent Note](2026-07-05-subagent-provider-lifecycle-events.zh.md)中被否决。 +- **在 `apply` 时解析提供方(加载顺序要求)**与**仅用 section 承载 subagent 措辞(在 assemble 时惰性解析)**:提供方生命周期事件的替代方案;两者均在[提供方生命周期事件 Agent Note](../../archived/architecture/2026-07-05-subagent-provider-lifecycle-events.md)中被否决。 ## 不在范围内 diff --git a/.agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.i18n.yaml index c1a0acb3d7..12c82b20bb 100644 --- a/.agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.md -2026-07-05-reconstructable-requests.md: bc8ba640c400b18598f18aa303f2bd1b5c5b9cdc -2026-07-05-reconstructable-requests.zh.md: de1802aac83f1e0980172d2d541a093f2d729e4a +2026-07-05-reconstructable-requests.md: bca93a60bf07484d73f1faf50359b72a0d00b9a3 +2026-07-05-reconstructable-requests.zh.md: c9d2a4a5d05456df8b0bd065bade8a41dd7e4e84 diff --git a/.agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.md b/.agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.md index bc8ba640c4..bca93a60bf 100644 --- a/.agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.md +++ b/.agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.md @@ -24,7 +24,7 @@ Prefix-cache stability is corollary #1, not the headline: an append-only log pro `EpochHeader` records the request's non-history state: call config, rendered system prompt, and tool schemas, with empty values canonicalized to absence. Adapter-supplied effort and token defaults retain their `adapterDefaults` provenance; a Web model selection restored from the log omits an adapter-owned effort so the next resolution cannot reclassify the same effective config as an explicit selection and a false change. `request/header` always writes a full snapshot: the first loop instance uses reason `initial`, later instances use `resume`, an in-instance change uses `change`, and an unchanged envelope beginning an explicitly declared message series or following a surface replacement uses `series`. A `change` snapshot carries `startsSeries: true` when the changed request also starts a series, preserving the two independent facts without a duplicate header. Ordinary append-only later Turns, further same-series Steps, and retries inherit the latest snapshot. `foldRequestHeader` selects the latest snapshot. Legacy `request/header-delta` events and the removed `fallback` reason are rejected when appended or loaded. -Each proposed step first claims its inbox batch and runs `agent/pre-step`. Rejection opens no step; enter opens `step/start`, records the final message batch as `user/message` events, and may use `startsRequestSeries: true` to declare a distinct series. The step then assembles the system prompt and tools, while `agent/request` may replace only the frozen call-config seed. The loop records the owed initial, resume, change, or series full snapshot, builds `GenerateOptions` from derived messages and that header, and deep-freezes it while leaving `AbortSignal` live. The first call config starts from explicit `AgentOptions`, preserving fork overrides and resume reconfiguration; later calls start from the folded header. +Each proposed step first claims its inbox batch and runs `agent/pre-step`. Rejection opens no step; enter opens `step/start`, records the final message batch as `user/message` events, and may use `startsRequestSeries: true` to declare a distinct series. The step then assembles the system prompt and tools, while `agent/request` may replace only the frozen call-config seed. The loop records the owed initial, resume, change, or series full snapshot, builds `GenerateOptions` from derived messages and that header, and freezes it while leaving `AbortSignal` live. The [request-freeze provenance decision](../simplification/2026-09-06-agent-request-freeze-provenance.md) owns reuse of completed message freezes and per-request local header freezing. The first call config starts from explicit `AgentOptions`, preserving fork overrides and resume reconfiguration; later calls start from the folded header. **The open step is the reconstruction boundary.** Its entered `user/message` batch and any newly written `request/header` precede request dispatch. Injection after the atomic claim joins a later request, while a listener that must affect this request returns messages through `agent/pre-step`. Header reconstruction selects the step's `request/header`, or carries the prior snapshot when no new header is written. diff --git a/.agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.zh.md b/.agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.zh.md index de1802aac8..c9d2a4a5d0 100644 --- a/.agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.zh.md @@ -24,7 +24,7 @@ Status: implemented `EpochHeader` 记录请求的非历史状态:调用配置、渲染后的系统提示词和工具 schema,空值规范化为缺失。适配器提供的推理强度与 token 默认值会保留其 `adapterDefaults` 来源信息;Web 从日志恢复模型选择时会省略适配器持有的推理强度,因此下一次解析不会把相同的有效配置重新归类为显式选择并产生虚假变更。`request/header` 始终写入完整快照:首个循环实例使用 reason `initial`,后续实例使用 `resume`,实例内变更使用 `change`,内容未变的封装显式开启消息序列或跟随表层替换时使用 `series`。如果发生变化的请求同时开启序列,`change` 快照会携带 `startsSeries: true`,无需重复 header 即可保留这两个独立事实。普通的仅追加后续 Turn、同一序列内后续的 Step 与重试沿用最新快照。`foldRequestHeader` 选择最新快照。旧的 `request/header-delta` 事件和已移除的 `fallback` reason 在追加或加载时都会被拒绝。 -每个拟议步骤先领取其 inbox 批次,再运行 `agent/pre-step`。reject 不打开步骤;enter 打开 `step/start`,把最终消息批次记录为 `user/message` 事件,并可使用 `startsRequestSeries: true` 声明独立序列。随后步骤组装系统提示词与工具,`agent/request` 只能替换冻结的调用配置种子。循环记录所需的 initial、resume、change 或 series 完整快照,从派生消息与该 header 构建 `GenerateOptions`,对其深度冻结但保持 `AbortSignal` 活跃。首次调用配置从显式的 `AgentOptions` 出发,保留 fork 覆盖和恢复重配置;后续调用从折叠后的 header 出发。 +每个拟议步骤先领取其 inbox 批次,再运行 `agent/pre-step`。reject 不打开步骤;enter 打开 `step/start`,把最终消息批次记录为 `user/message` 事件,并可使用 `startsRequestSeries: true` 声明独立序列。随后步骤组装系统提示词与工具,`agent/request` 只能替换冻结的调用配置种子。循环记录所需的 initial、resume、change 或 series 完整快照,从派生消息与该 header 构建 `GenerateOptions`,冻结请求但保持 `AbortSignal` 活跃。[请求冻结来源证明决策](../simplification/2026-09-06-agent-request-freeze-provenance.zh.md)拥有消息完整冻结的复用规则和每次请求的本地 header 冻结规则。首次调用配置从显式的 `AgentOptions` 出发,保留 fork 覆盖和恢复重配置;后续调用从折叠后的 header 出发。 **已打开步骤是重建边界。** 进入步骤的 `user/message` 批次与任何新写入的 `request/header` 都位于请求分派之前。原子领取后发生的注入加入后续请求;必须影响本次请求的监听器则通过 `agent/pre-step` 返回消息。header 重建选择该步骤的 `request/header`,或在无新 header 写入时沿用前一个快照。 diff --git a/.agents/notes/implemented/architecture/2026-07-05-subagent-provider-lifecycle-events.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-05-subagent-provider-lifecycle-events.i18n.yaml deleted file mode 100644 index a66c6f6065..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-05-subagent-provider-lifecycle-events.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-05-subagent-provider-lifecycle-events.md -2026-07-05-subagent-provider-lifecycle-events.md: 503c0d638785e3a4944c8903b8d7d469c68b1881 -2026-07-05-subagent-provider-lifecycle-events.zh.md: d9d15b4ff688506b84b81c8649e1de4ce50e086d diff --git a/.agents/notes/implemented/architecture/2026-07-06-timeout-deadline-library.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-06-timeout-deadline-library.i18n.yaml index 66dd29f3a4..b2ebf2057f 100644 --- a/.agents/notes/implemented/architecture/2026-07-06-timeout-deadline-library.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-06-timeout-deadline-library.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-06-timeout-deadline-library.md -2026-07-06-timeout-deadline-library.md: 95adc41bffff6d7711685ebc52cb73b2b455df41 -2026-07-06-timeout-deadline-library.zh.md: 8b7b18a2d1e7757102afc81bea03245de2707d86 +2026-07-06-timeout-deadline-library.md: 6f726938731f18386105ff1180c79fef981c95bf +2026-07-06-timeout-deadline-library.zh.md: 48bd7b4b91efd0045c03e3e1e1e9e37656b4dcf6 diff --git a/.agents/notes/implemented/architecture/2026-07-06-timeout-deadline-library.md b/.agents/notes/implemented/architecture/2026-07-06-timeout-deadline-library.md index 95adc41bff..6f72693873 100644 --- a/.agents/notes/implemented/architecture/2026-07-06-timeout-deadline-library.md +++ b/.agents/notes/implemented/architecture/2026-07-06-timeout-deadline-library.md @@ -8,11 +8,11 @@ English | [中文](2026-07-06-timeout-deadline-library.zh.md) Timeout handling was drifting apart across the tool-bearing capabilities, and the divergence was not superficial — it was the same logic re-implemented three ways, each with its own subtle correctness burden. -- **bash** (then in the bash-local implementation's `run.ts`) had a full, correct timeout inside the process plumbing: a config-clamped `timeoutMs`, two independent triggers — a `killTimer` for the timeout and an `onAbort` listener for upstream cancellation — each calling one `kill()` closure that escalates SIGTERM→grace→SIGKILL on the process group, and two orthogonal outcome booleans (`timedOut`, `aborted`) latched independently. After this consolidation, the plumbing — [packages/subprocess/subprocess-local/src/spawn.ts](../../../../packages/subprocess/subprocess-local/src/spawn.ts) — only reacts to aborts; [packages/shell/bash-local/src/index.ts](../../../../packages/shell/bash-local/src/index.ts) owns the fused deadline and the `timedOut`/`aborted` classification. +- **bash** (then in the bash-local implementation's `run.ts`) had a full, correct timeout inside the process plumbing: a config-clamped `timeoutMs`, two independent triggers — a `killTimer` for the timeout and an `onAbort` listener for upstream cancellation — each calling one `kill()` closure that drove the subprocess termination path, and two orthogonal outcome booleans (`timedOut`, `aborted`) latched independently. After this consolidation, the plumbing — [packages/subprocess/subprocess-local/src/spawn.ts](../../../../packages/subprocess/subprocess-local/src/spawn.ts) — only reacts to aborts; [packages/shell/bash-local/src/index.ts](../../../../packages/shell/bash-local/src/index.ts) owns the fused deadline and the `timedOut`/`aborted` classification. - **web_fetch** ([packages/web/web-fetch-http/src/provider.ts](../../../../packages/web/web-fetch-http/src/provider.ts)) had a correct but *hand-rolled* timeout: it constructed an `AbortController`, wired `setTimeout(() => controller.abort(new WebError(…, 'WEB_FETCH_TIMEOUT')))`, manually added and removed the upstream-signal listener, cleared the timer in a `finally`, and recovered the timeout reason from `signal.reason` in a `translateAbortOrNetwork` helper because the reader surfaces a bare `AbortError`. - **web_search** ([packages/web/tool-web/src/search.ts](../../../../packages/web/tool-web/src/search.ts)) had **no timeout at all**: `WebSearchRequest` ([packages/web/web/src/types.ts](../../../../packages/web/web/src/types.ts)) carries no `timeoutMs` field, and each provider's `search()` only forwards `exec.signal`. (web_search stays untimed here — see Consequences.) -Each new external-process or network tool re-derived the same four things — clamp the requested value, start a timer, fuse the timeout with upstream cancellation, and distinguish "timed out" from "cancelled" on the way out — and the fusion and reason-recovery are exactly the parts that are easy to get subtly wrong (web_fetch's `signal.reason` dance is evidence). At the same time, the *termination* each performs is irreducibly different: bash kills an OS process group (work runs in a child process, outside this runtime, reachable only by signal), while web aborts an in-process `fetch` (undici tears down the socket). There is no single mechanism that can stop all of them. +Each new external-process or network tool re-derived the same four things — clamp the requested value, start a timer, fuse the timeout with upstream cancellation, and distinguish "timed out" from "cancelled" on the way out — and the fusion and reason-recovery are exactly the parts that are easy to get subtly wrong (web_fetch's `signal.reason` dance is evidence). At the same time, the *termination* each performs is irreducibly different: bash asks its subprocess provider to terminate an OS-owned range, while web aborts an in-process `fetch` and lets undici tear down the socket. The [native-containment decision](2026-08-28-subprocess-native-containment.md) owns the local scope, Job, and fallback mechanisms; there is no single mechanism that can stop every capability's work. ## Decision @@ -87,30 +87,30 @@ export function timeoutOf(x: AbortSignal | { reason?: unknown }, code?: string): | The default/max *values* | the capability's config | | The timeout `code` string | the capability (`WEB_FETCH_TIMEOUT` ≠ `BASH_TIMEOUT`) | -The signal only *notifies*; termination is always the listener's job, and the listener differs by capability. bash writes its own `addEventListener('abort', kill)` because the OS process lives outside this runtime and nothing else will kill it; web hands `d.signal` to `fetch` and undici tears down the socket. This is why file read/write/edit take **no** `timeoutMs`: a local syscall is best-effort-abortable at most, a timeout could not force `fsync`/`rename` to stop, and adding one would be an implicit default that violates explicit-over-implicit. Both reference agents leave file I/O untimed for the same reason. +The signal only *notifies*; termination is always the listener's job, and the listener differs by capability. bash writes its own `addEventListener('abort', kill)` because the OS process lives outside this runtime and its subprocess provider must drive the owned range to settlement; web hands `d.signal` to `fetch` and undici tears down the socket. This is why file read/write/edit take **no** `timeoutMs`: a local syscall is best-effort-abortable at most, a timeout could not force `fsync`/`rename` to stop, and adding one would be an implicit default that violates explicit-over-implicit. Both reference agents leave file I/O untimed for the same reason. ### How each capability consumes it - **web_fetch** — the tool stays validate-and-forward; the provider's hand-rolled controller + `setTimeout` + manual listener + `finally` + `signal.reason` recovery is replaced by provider-owned `deadline`/`timeoutOf`. A pre-aborted upstream signal still throws `WEB_ABORTED` up front; otherwise `fetch` runs against the fused `d.signal`, and `translateAbortOrNetwork` classifies a thrown error by the signal (`timeoutOf` → `WEB_FETCH_TIMEOUT`, else aborted → `WEB_ABORTED`, else network → `WEB_PROVIDER_ERROR`). The public error-code contract is unchanged, and `TimeoutReason` never crosses the web seam as the public error. -- **bash** — `resolve()` clamps the request into an explicit spec. Foreground `run()` creates the deadline and passes its signal to process execution, whose existing abort listener performs the process-group kill. The executor classifies the first abort as timeout or cancellation. Background starts remain timeout-free and forward only upstream cancellation. +- **bash** — `resolve()` clamps the request into an explicit spec. Foreground `run()` creates the deadline and passes its signal to process execution, whose abort listener calls `SubprocessHandle.terminate()` and awaits the same provider-managed range. The executor classifies the first abort as timeout or cancellation. Background starts remain timeout-free and forward only upstream cancellation. - **LLM adapters** — `dsh-llm-deepseek` and `dsh-llm-pi-ai` wrap actual transport iteration with `idleWatchdog`. The five-minute configured interval covers only outstanding provider demand, not time the downstream consumer spends between chunks. The direct DeepSeek adapter also pulses that outstanding demand when its SSE parser observes a comment, without yielding the comment as a `StreamChunk` or writing it to the session log. The pi-ai SDK does not expose comment activity to its adapter, so that path can rearm only when the SDK yields. The stable signal reaches `fetch` or the SDK for the whole call, so timeout closes the underlying request and maps to `TIMEOUT`, while an earlier caller abort maps to `ABORTED`. ## Consequences -- `runBash`'s outcome no longer independently latches `timedOut` and `aborted`; a timeout and a user abort racing before process close now report a single first-abort cause instead of both being true. The uniform SIGTERM→grace→SIGKILL kill is unchanged, and the Service Definition type `ShellRunResult` keeps both booleans (now mutually exclusive), so `dsh-tool-bash`'s result rendering is untouched. +- `runBash`'s outcome no longer independently latches `timedOut` and `aborted`; a timeout and a user abort racing before process close now report a single first-abort cause instead of both being true. Timeout classification does not alter provider-owned termination: local POSIX ranges use TERM→grace→KILL, while Windows ordinary ranges terminate immediately. The Service Definition type `ShellRunResult` keeps both booleans (now mutually exclusive), so `dsh-tool-bash`'s result rendering is untouched. - `SpawnSpec.timeoutMs` and `SpawnOutcome.timedOut`/`aborted` were removed rather than kept as always-zero/always-false vestiges: with `runBash` owning no timer and the executor owning classification, they were read nowhere. An always-0 field read by nothing is dead weight under the per-file coverage gate. - web_fetch shed its bespoke controller/timer/listener/reason-recovery; the classifier now keys off the deadline signal (`timeoutOf` + `aborted`) rather than the thrown error's shape, which is robust across both the request-phase reject-with-reason and the read-phase bare-`AbortError`. - `AbortSignal.any` and `using`/`Symbol.dispose` enter the repo for the first time here (Node ≥ 24 baseline, already met). - Model streams now share one rearmable timer contract without turning a sliding idle interval into a total-call deadline or charging consumer think time. Adapters that can observe out-of-band transport activity may pulse an outstanding demand; suppressed activity remains invisible to the watchdog. The primitive still only notifies; adapter tests prove their transports observe its stable signal and terminate. -Out of scope, named to mark the boundary: `web_search` can gain an optional model-facing `timeout_ms` once its tool-schema/snapshot coverage is planned; the ripgrep-backed fs discovery tools ([packaged ripgrep search](2026-08-01-packaged-ripgrep-search.md)) consume the same provider-owned deadline shape through `dsh-tool-call-timeout-policy` and `exec.signal`; a `tools/execute` waterfall middleware could arm a default deadline for every tool call by driving `exec.signal` — that would be a plugin that *consumes* this library and still only notifies, the hard kill remaining each capability's job. +Out of scope, named to mark the boundary: `web_search` can gain an optional model-facing `timeout_ms` once its tool-schema/snapshot coverage is planned; the ripgrep-backed fs discovery tools ([packaged ripgrep search](../../archived/architecture/2026-08-01-packaged-ripgrep-search.md)) consume the same provider-owned deadline shape through `dsh-tool-call-timeout-policy` and `exec.signal`; a `tools/execute` waterfall middleware could arm a default deadline for every tool call by driving `exec.signal` — that would be a plugin that *consumes* this library and still only notifies, the hard kill remaining each capability's job. ## Alternatives considered -**A unified timeout *plugin* / `ctx.timeout` service.** Rejected on microkernel grounds. A service that could stop any tool's work would have to understand every capability's termination mechanism (process-group SIGKILL, socket teardown, syscall-boundary checks) — the "kernel knows too much" the architecture forbids. Codex's `ExecExpiration` is scoped to the exec family precisely because the kill it drives (`killpg`) is process-family-specific; MCP and model-stream keep their own. There is no coherent middle layer that owns termination for everything, so the shared piece can only be the pure timing/classification half — a library, not a service. +**A unified timeout *plugin* / `ctx.timeout` service.** Rejected on microkernel grounds. A service that could stop any tool's work would have to understand every capability's termination mechanism (native scope or Job termination, fallback process-group signalling, socket teardown, syscall-boundary checks) — the "kernel knows too much" the architecture forbids. Codex's `ExecExpiration` is scoped to the exec family precisely because the kill it drives (`killpg`) is process-family-specific; MCP and model-stream keep their own. There is no coherent middle layer that owns termination for everything, so the shared piece can only be the pure timing/classification half — a library, not a service. **Per-tool ad-hoc timeout, no shared code (the prior status quo, and Claude Code's choice).** Rejected because it was already producing divergence and duplicated correctness burden: web_fetch hand-rolled the exact controller/reason logic that future network/process-backed tools would each have to re-derive, and the fusion + `signal.reason` recovery are the error-prone parts. Claude Code tolerates full duplication; this repo has a single shared abort channel (`exec.signal` on every `execute`) that makes a small shared primitive strictly cleaner, so the cost/benefit differs. **A `withTimeout(promise, ms)` wrapper instead of a signal factory.** Rejected because racing a promise against a timer resolves the *tool-call* promise on deadline without stopping the underlying work — the child process or fetch socket leaks on. Handing out a signal and requiring the capability to listen is what forces a real termination path to exist. This mirrors the "dispose must reach quiescence, not just request it" defensive rule. -**Keep separate bash timeout and cancellation triggers.** Rejected because one deadline signal removes the bespoke timer and standardizes classification. Racing causes report whichever abort arrived first, while the existing SIGTERM-to-SIGKILL termination path remains unchanged. +**Keep separate bash timeout and cancellation triggers.** Rejected because one deadline signal removes the bespoke timer and standardizes classification. Racing causes report whichever abort arrived first, while the provider-owned termination path is independent of which cause won. diff --git a/.agents/notes/implemented/architecture/2026-07-06-timeout-deadline-library.zh.md b/.agents/notes/implemented/architecture/2026-07-06-timeout-deadline-library.zh.md index 8b7b18a2d1..48bd7b4b91 100644 --- a/.agents/notes/implemented/architecture/2026-07-06-timeout-deadline-library.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-06-timeout-deadline-library.zh.md @@ -8,11 +8,11 @@ Status: implemented 超时处理在各个承载工具的能力之间逐渐分化,而且这种分化并非表面的:同一套逻辑被以三种方式重新实现,各自带有微妙的正确性负担。 -- **bash**(当时位于 bash-local 实现的 `run.ts`)在进程管道内部有一套完整、正确的超时实现:一个经配置钳位的 `timeoutMs`,两个独立触发器(用于超时的 `killTimer` 和用于上游取消的 `onAbort` 监听器),各自调用同一个 `kill()` 闭包对进程组执行 SIGTERM→宽限期→SIGKILL 升级,以及两个正交的结果布尔值(`timedOut`、`aborted`)独立锁存。经此次整合之后,这套管道——位于 [packages/subprocess/subprocess-local/src/spawn.ts](../../../../packages/subprocess/subprocess-local/src/spawn.ts)——只响应中止;[packages/shell/bash-local/src/index.ts](../../../../packages/shell/bash-local/src/index.ts) 拥有融合的 deadline 以及 `timedOut`/`aborted` 分类。 +- **bash**(当时位于 bash-local 实现的 `run.ts`)在进程管道内部有一套完整、正确的超时实现:一个经配置钳位的 `timeoutMs`,两个独立触发器(用于超时的 `killTimer` 和用于上游取消的 `onAbort` 监听器),各自调用同一个 `kill()` 闭包驱动子进程终止路径,以及两个正交的结果布尔值(`timedOut`、`aborted`)独立锁存。经此次整合之后,这套管道——位于 [packages/subprocess/subprocess-local/src/spawn.ts](../../../../packages/subprocess/subprocess-local/src/spawn.ts)——只响应中止;[packages/shell/bash-local/src/index.ts](../../../../packages/shell/bash-local/src/index.ts) 拥有融合的 deadline 以及 `timedOut`/`aborted` 分类。 - **web_fetch**([packages/web/web-fetch-http/src/provider.ts](../../../../packages/web/web-fetch-http/src/provider.ts))有一套正确但*手写*的超时:构造一个 `AbortController`,连接 `setTimeout(() => controller.abort(new WebError(…, 'WEB_FETCH_TIMEOUT')))`,手动添加和移除上游信号监听器,在 `finally` 中清除定时器,并在 `translateAbortOrNetwork` 辅助函数中从 `signal.reason` 恢复超时原因(因为 reader 只抛出裸 `AbortError`)。 - **web_search**([packages/web/tool-web/src/search.ts](../../../../packages/web/tool-web/src/search.ts))**完全没有超时**:`WebSearchRequest`([packages/web/web/src/types.ts](../../../../packages/web/web/src/types.ts))不携带 `timeoutMs` 字段,各提供方的 `search()` 只转发 `exec.signal`。(web_search 在本次设计中保持无超时——见「后果」。) -每个新的外部进程或网络工具都要重新推导同样四件事:钳位请求值、启动定时器、将超时与上游取消融合、在出口处区分「超时」与「已取消」。而融合与原因恢复恰恰是最容易出微妙错误的部分(web_fetch 的 `signal.reason` 处理就是证据)。与此同时,各能力执行的*终止*操作不可归约地不同:bash 杀死一个 OS 进程组(工作运行在子进程中,在本运行时之外,只能通过信号触达),而 web 中止一个进程内的 `fetch`(undici 拆除 socket)。不存在一个能停止所有能力工作的单一机制。 +每个新的外部进程或网络工具都要重新推导同样四件事:钳位请求值、启动定时器、将超时与上游取消融合、在出口处区分「超时」与「已取消」。而融合与原因恢复恰恰是最容易出微妙错误的部分(web_fetch 的 `signal.reason` 处理就是证据)。与此同时,各能力执行的*终止*操作不可归约地不同:bash 请求其子进程提供方终止由 OS 拥有的范围,而 web 中止一个进程内的 `fetch`,由 undici 拆除 socket。[原生 containment 决策](2026-08-28-subprocess-native-containment.zh.md)负责本地 scope、Job 与 fallback 机制;不存在一个能停止所有能力工作的单一机制。 ## 决策 @@ -87,30 +87,30 @@ export function timeoutOf(x: AbortSignal | { reason?: unknown }, code?: string): | 默认值/最大值*数值* | 各能力的配置 | | 超时 `code` 字符串 | 各能力(`WEB_FETCH_TIMEOUT` ≠ `BASH_TIMEOUT`) | -信号只*通知*;终止始终是监听方的职责,而监听方因能力而异。bash 自行编写 `addEventListener('abort', kill)`,因为 OS 进程存在于本运行时之外,没有别的东西会杀死它;web 将 `d.signal` 交给 `fetch`,由 undici 拆除 socket。这也是文件读/写/编辑**不接受** `timeoutMs` 的原因:本地系统调用最多只能尽力中止,超时无法强制 `fsync`/`rename` 停止,添加超时将是一个违反「显式优于隐式」的隐式默认值。两个参考 agent(智能体)出于同样的原因对文件 I/O 不设超时。 +信号只*通知*;终止始终是监听方的职责,而监听方因能力而异。bash 自行编写 `addEventListener('abort', kill)`,因为 OS 进程存在于本运行时之外,必须由子进程提供方驱动其拥有的范围达到完全停稳;web 将 `d.signal` 交给 `fetch`,由 undici 拆除 socket。这也是文件读/写/编辑**不接受** `timeoutMs` 的原因:本地系统调用最多只能尽力中止,超时无法强制 `fsync`/`rename` 停止,添加超时将是一个违反「显式优于隐式」的隐式默认值。两个参考 agent(智能体)出于同样的原因对文件 I/O 不设超时。 ### 各能力如何消费该库 - **web_fetch**:工具层保持校验并转发;提供方手写的 controller + `setTimeout` + 手动监听器 + `finally` + `signal.reason` 恢复被替换为提供方自有的 `deadline`/`timeoutOf`。已预先中止的上游信号仍然立即抛出 `WEB_ABORTED`;否则 `fetch` 使用融合后的 `d.signal` 运行,`translateAbortOrNetwork` 根据信号分类抛出的错误(`timeoutOf` → `WEB_FETCH_TIMEOUT`,否则已中止 → `WEB_ABORTED`,否则网络错误 → `WEB_PROVIDER_ERROR`)。公开的错误码约定不变,`TimeoutReason` 永远不会作为公开错误跨越 web seam。 -- **bash**:`resolve()` 将请求钳位为显式规格。前台 `run()` 创建 deadline 并将其信号传给进程执行,后者既有的 abort 监听器执行进程组 kill。执行器将首个 abort 分类为超时或取消。后台启动保持无超时,仅转发上游取消。 +- **bash**:`resolve()` 将请求钳位为显式规格。前台 `run()` 创建 deadline 并将其信号传给进程执行,后者的 abort 监听器调用 `SubprocessHandle.terminate()`,并等待同一个由提供方管理的范围。执行器将首个 abort 分类为超时或取消。后台启动保持无超时,仅转发上游取消。 - **LLM(大语言模型)适配器**:`dsh-llm-deepseek` 和 `dsh-llm-pi-ai` 用 `idleWatchdog` 包装实际的传输迭代。配置的五分钟间隔只覆盖尚未结算的提供方 demand,不包括下游消费方在分片之间花费的时间。DeepSeek 直连适配器还会在其 SSE(Server-Sent Events)解析器观察到注释时,对该项尚未结算的 demand 调用 `pulse()`;该注释既不会作为 `StreamChunk` 产出,也不会写入会话日志。pi-ai SDK 不会向其适配器暴露注释活动,因此该路径只能在 SDK 产出值时重新启动定时器。稳定信号在整个调用期间传给 `fetch` 或 SDK,因此超时会关闭底层请求并映射为 `TIMEOUT`,而更早的调用方中止映射为 `ABORTED`。 ## 后果 -- `runBash` 的结果不再独立锁存 `timedOut` 和 `aborted`;超时与用户中止在进程关闭前竞争时,现在报告单一的首个 abort 原因,而非两者同时为 true。统一的 SIGTERM→宽限期→SIGKILL 终止路径不变,Service Definition 类型 `ShellRunResult` 保留两个布尔值(现在互斥),因此 `dsh-tool-bash` 的结果渲染不受影响。 +- `runBash` 的结果不再独立锁存 `timedOut` 和 `aborted`;超时与用户中止在进程关闭前竞争时,现在报告单一的首个 abort 原因,而非两者同时为 true。超时分类不改变由提供方管理的终止:本地 POSIX 范围使用 TERM→宽限期→KILL,Windows 普通范围则立即终止。Service Definition 类型 `ShellRunResult` 保留两个布尔值(现在互斥),因此 `dsh-tool-bash` 的结果渲染不受影响。 - `SpawnSpec.timeoutMs` 和 `SpawnOutcome.timedOut`/`aborted` 被移除,而非作为始终为零/始终为 false 的残余保留:由于 `runBash` 不再拥有定时器且执行器负责分类,这些字段无处被读取。一个始终为 0 且无处读取的字段在逐文件覆盖率门禁下属于死代码。 - web_fetch 去除了其定制的 controller/timer/listener/reason-recovery;分类器现在基于 deadline 信号(`timeoutOf` + `aborted`)而非抛出错误的形状来判断,这在请求阶段的 reject-with-reason 和读取阶段的裸 `AbortError` 两种情况下都是健壮的。 - `AbortSignal.any` 和 `using`/`Symbol.dispose` 在此首次进入本仓库(Node ≥ 24 基线,已满足)。 - 模型流现在共享一个可重启的定时器约定,不会把滑动的空闲间隔变成总调用截止时间,也不会计入消费方思考时间。能够观察到带外传输活动的适配器可以对尚未结算的 demand 调用 `pulse()`;被屏蔽的活动对 watchdog 仍不可见。该原语仍然只做通知;适配器测试证明其传输观察到稳定信号并终止。 -以下内容不在本次范围内,列出以标明边界:`web_search` 可以在其工具 schema 和快照覆盖规划完成后获得可选的面向模型的 `timeout_ms`;基于 ripgrep 的文件系统发现工具([打包的 ripgrep 搜索](2026-08-01-packaged-ripgrep-search.zh.md))通过 `dsh-tool-call-timeout-policy` 和 `exec.signal` 消费同样的提供方自有 deadline 形状;`tools/execute` waterfall(瀑布式事件)中间件可以通过驱动 `exec.signal` 为每次工具调用设置默认 deadline——那将是一个*消费*本库的插件,仍然只做通知,硬终止仍是各能力自己的事。 +以下内容不在本次范围内,列出以标明边界:`web_search` 可以在其工具 schema 和快照覆盖规划完成后获得可选的面向模型的 `timeout_ms`;基于 ripgrep 的文件系统发现工具([打包的 ripgrep 搜索](../../archived/architecture/2026-08-01-packaged-ripgrep-search.md))通过 `dsh-tool-call-timeout-policy` 和 `exec.signal` 消费同样的提供方自有 deadline 形状;`tools/execute` waterfall(瀑布式事件)中间件可以通过驱动 `exec.signal` 为每次工具调用设置默认 deadline——那将是一个*消费*本库的插件,仍然只做通知,硬终止仍是各能力自己的事。 ## 曾考虑的替代方案 -**统一的超时*插件* / `ctx.timeout` 服务。** 基于微内核原则否决。一个能停止任何工具工作的服务必须理解每个能力的终止机制(进程组 SIGKILL、socket 拆除、系统调用边界检查),这正是架构所禁止的「内核知道太多」。Codex 的 `ExecExpiration` 被限定于 exec 族,正是因为它驱动的 kill(`killpg`)是进程族特有的;MCP 和模型流各自保有自己的。不存在一个连贯的中间层能为所有东西拥有终止权,因此共享部分只能是纯计时/分类那一半——一个库,而非服务。 +**统一的超时*插件* / `ctx.timeout` 服务。** 基于微内核原则否决。一个能停止任何工具工作的服务必须理解每个能力的终止机制(原生 scope 或 Job 终止、fallback 进程组信号、socket 拆除、系统调用边界检查),这正是架构所禁止的「内核知道太多」。Codex 的 `ExecExpiration` 被限定于 exec 族,正是因为它驱动的 kill(`killpg`)是进程族特有的;MCP 和模型流各自保有自己的。不存在一个连贯的中间层能为所有东西拥有终止权,因此共享部分只能是纯计时/分类那一半——一个库,而非服务。 **每个工具各自实现超时,不共享代码(先前的现状,也是 Claude Code 的选择)。** 否决,因为它已经在产生分化和重复的正确性负担:web_fetch 手写了与未来网络/进程类工具各自需要重新推导的完全相同的 controller/reason 逻辑,而融合 + `signal.reason` 恢复正是容易出错的部分。Claude Code 容忍完全重复;本仓库有一个统一的共享 abort 通道(每次 `execute` 上的 `exec.signal`),使得采用一个小型共享原语明显更简洁,因此成本/收益不同。 **用 `withTimeout(promise, ms)` 包装器代替信号工厂。** 否决,因为让 promise 与定时器竞争只是在截止时间到达时 resolve *工具调用*的 promise,而不会停止底层工作——子进程或 fetch socket 会泄漏。分发信号并要求能力监听,才能强制一条真实的终止路径存在。这与「dispose 必须达到完全停稳,而非仅仅请求它」的防御性规则一致。 -**保留 bash 独立的超时和取消触发器。** 否决,因为一个 deadline 信号移除了定制定时器并标准化了分类。发生竞争时,报告先到达的那个 abort 作为原因,而既有的 SIGTERM→SIGKILL 终止路径保持不变。 +**保留 bash 独立的超时和取消触发器。** 否决,因为一个 deadline 信号移除了定制定时器并标准化了分类。发生竞争时,报告先到达的那个 abort 作为原因,由提供方管理的终止路径不受哪个原因先胜出的影响。 diff --git a/.agents/notes/implemented/architecture/2026-07-07-tool-call-timeout-policy.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-07-tool-call-timeout-policy.i18n.yaml index 373b1293ce..4cacefaca8 100644 --- a/.agents/notes/implemented/architecture/2026-07-07-tool-call-timeout-policy.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-07-tool-call-timeout-policy.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-07-tool-call-timeout-policy.md -2026-07-07-tool-call-timeout-policy.md: 92618cc8c761b38d7e516c9d00eb3de1c37831a8 -2026-07-07-tool-call-timeout-policy.zh.md: 0303fadd134c6eb8c41449823b62f1458f4523ba +2026-07-07-tool-call-timeout-policy.md: 60d82c1d591f0a32350b1a21ed74e148c4c93576 +2026-07-07-tool-call-timeout-policy.zh.md: 49ca7f397d15c1a351cba4837d4d531e54120ea6 diff --git a/.agents/notes/implemented/architecture/2026-07-07-tool-call-timeout-policy.md b/.agents/notes/implemented/architecture/2026-07-07-tool-call-timeout-policy.md index 92618cc8c7..60d82c1d59 100644 --- a/.agents/notes/implemented/architecture/2026-07-07-tool-call-timeout-policy.md +++ b/.agents/notes/implemented/architecture/2026-07-07-tool-call-timeout-policy.md @@ -16,7 +16,7 @@ Tool-call timeout is a policy that applies only to model-facing tool execution, - `@deepseek-ai/dsh-timeout` remains the shared library that owns `deadline()` and `timeoutOf()`. - `@deepseek-ai/dsh-tools` has an around-dispatch waterfall, `tools/execute`, between `tools/pre-execute` and `tools/post-execute`. -- The [repository naming contract](2026-08-11-repository-naming-contract-and-rename-ledger.md) names `@deepseek-ai/dsh-tool-call-timeout-policy` for the exact operation it limits. The plugin reads each tool's declared `timeoutMs` from the runtime and wraps a call that has one by deriving a new `exec.signal`. +- The [repository naming contract](../../archived/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.md) names `@deepseek-ai/dsh-tool-call-timeout-policy` for the exact operation it limits. The plugin reads each tool's declared `timeoutMs` from the runtime and wraps a call that has one by deriving a new `exec.signal`. The execution pipeline is: diff --git a/.agents/notes/implemented/architecture/2026-07-07-tool-call-timeout-policy.zh.md b/.agents/notes/implemented/architecture/2026-07-07-tool-call-timeout-policy.zh.md index 0303fadd13..49ca7f397d 100644 --- a/.agents/notes/implemented/architecture/2026-07-07-tool-call-timeout-policy.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-07-tool-call-timeout-policy.zh.md @@ -16,7 +16,7 @@ Status: implemented - `@deepseek-ai/dsh-timeout` 仍是拥有 `deadline()` 和 `timeoutOf()` 的共享库。 - `@deepseek-ai/dsh-tools` 在 `tools/pre-execute` 和 `tools/post-execute` 之间有一个环绕分发的 waterfall(瀑布式事件)`tools/execute`。 -- [仓库命名约定](2026-08-11-repository-naming-contract-and-rename-ledger.zh.md)使用 `@deepseek-ai/dsh-tool-call-timeout-policy`,准确说明该策略所限制的操作。插件从 runtime 读取每个工具声明的 `timeoutMs`,并通过派生新的 `exec.signal` 来包装有此声明的调用。 +- [仓库命名约定](../../archived/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.md)使用 `@deepseek-ai/dsh-tool-call-timeout-policy`,准确说明该策略所限制的操作。插件从 runtime 读取每个工具声明的 `timeoutMs`,并通过派生新的 `exec.signal` 来包装有此声明的调用。 执行流水线如下: diff --git a/.agents/notes/implemented/architecture/2026-07-08-agent-scope-contexts.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-08-agent-scope-contexts.i18n.yaml index 20d0e4f85c..51abb8fd86 100644 --- a/.agents/notes/implemented/architecture/2026-07-08-agent-scope-contexts.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-08-agent-scope-contexts.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-08-agent-scope-contexts.md -2026-07-08-agent-scope-contexts.md: eb3f6f247bac1a1d81aa2644132c7b9cc04d602c -2026-07-08-agent-scope-contexts.zh.md: a0f4ffb0ef80dd2fc1ee61c9ab3f4730c28c687e +2026-07-08-agent-scope-contexts.md: 6a1fd4aed49cb8edef061c8fb6f0edcd0a09c30f +2026-07-08-agent-scope-contexts.zh.md: 8408c4afff6075c129c6a96c47393c9c812b04b7 diff --git a/.agents/notes/implemented/architecture/2026-07-08-agent-scope-contexts.md b/.agents/notes/implemented/architecture/2026-07-08-agent-scope-contexts.md index eb3f6f247b..6a1fd4aed4 100644 --- a/.agents/notes/implemented/architecture/2026-07-08-agent-scope-contexts.md +++ b/.agents/notes/implemented/architecture/2026-07-08-agent-scope-contexts.md @@ -66,7 +66,7 @@ const handle = await ctx.agents.create({ agentOptions: { model: 'model-name' }, setup(agentCtx) { agentCtx.systemPrompt.section({ - name: 'deployment:persona', + name: 'deployment:persona-prefix', order: 0, text: 'Review code, but do not modify files.', }) diff --git a/.agents/notes/implemented/architecture/2026-07-08-agent-scope-contexts.zh.md b/.agents/notes/implemented/architecture/2026-07-08-agent-scope-contexts.zh.md index a0f4ffb0ef..8408c4afff 100644 --- a/.agents/notes/implemented/architecture/2026-07-08-agent-scope-contexts.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-08-agent-scope-contexts.zh.md @@ -66,7 +66,7 @@ const handle = await ctx.agents.create({ agentOptions: { model: 'model-name' }, setup(agentCtx) { agentCtx.systemPrompt.section({ - name: 'deployment:persona', + name: 'deployment:persona-prefix', order: 0, text: 'Review code, but do not modify files.', }) diff --git a/.agents/notes/implemented/architecture/2026-07-08-tool-output-spill-files.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-08-tool-output-spill-files.i18n.yaml index f1135aa2b3..2522b59d89 100644 --- a/.agents/notes/implemented/architecture/2026-07-08-tool-output-spill-files.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-08-tool-output-spill-files.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-08-tool-output-spill-files.md -2026-07-08-tool-output-spill-files.md: 915e22f1245adb6f7cfc7d358e9d5802531bab63 -2026-07-08-tool-output-spill-files.zh.md: 8d08b05483a302f4188506531da6f507931bea9c +2026-07-08-tool-output-spill-files.md: a80b6cdcb0e731a687d511d38ea288a68a298173 +2026-07-08-tool-output-spill-files.zh.md: a995eafc7878b342a2164c5116da1f43ada791a5 diff --git a/.agents/notes/implemented/architecture/2026-07-08-tool-output-spill-files.md b/.agents/notes/implemented/architecture/2026-07-08-tool-output-spill-files.md index 915e22f124..a80b6cdcb0 100644 --- a/.agents/notes/implemented/architecture/2026-07-08-tool-output-spill-files.md +++ b/.agents/notes/implemented/architecture/2026-07-08-tool-output-spill-files.md @@ -8,7 +8,7 @@ English | [中文](2026-07-08-tool-output-spill-files.zh.md) Tool outputs need bounded model-facing previews, but some oversized results are still useful later. A fetched page body or a verbose tool response should not consume the next model request in full, but the model should be able to inspect the complete formatted result later with existing file-reading tools. -Before this change the behavior was uneven. `dsh-bash-local` already writes complete stdout/stderr streams to private temp spill files when its in-memory tail overflows, but ordinary text tool results were returned inline unless the tool hand-rolled its own cap. The [tool result retention library](2026-07-06-tool-result-retention-library.md) owns preview mechanics, but it does not own storage or an execution-pipeline policy that applies those mechanics to final tool results. +Before this change the behavior was uneven. `dsh-bash-local` already writes complete stdout/stderr streams to private temp spill files when its in-memory tail overflows, but ordinary text tool results were returned inline unless the tool hand-rolled its own cap. The [tool result retention library](../../archived/architecture/2026-07-06-tool-result-retention-library.md) owns preview mechanics, but it does not own storage or an execution-pipeline policy that applies those mechanics to final tool results. The shape matches the timeout policy design: a tool author declares a canonical value plus Native renderer, and a policy plugin enforces the deployment's default context budget on rendered content. Tool-specific early spill remains possible for provider acquisition bounds; tool-owned presentation spill may retain a complete acquired canonical value while replacing only presentation. The [canonical tool-output contract](2026-07-20-canonical-tool-output-contract.md) owns that split. @@ -22,7 +22,7 @@ A thin spill storage seam plus a default spill policy plugin, in a new `packages | `@deepseek-ai/dsh-spill-local` | Local backend: private, session-scoped file storage on the host filesystem. | | `@deepseek-ai/dsh-spill-policy` | Tool-result policy plugin: wraps final text results after dispatch and replaces oversized results with a retained preview plus a spill locator. | -There is no dedicated model-facing Consumer package. The Consumer is the existing `ctx.tools` execution pipeline: `dsh-spill-policy` consumes final tool results through the `tools/post-execute` waterfall, and the model follows the backend-supplied retrieval hint for the returned locator. +The tool-result Consumer is `dsh-spill-policy`, which consumes final tool results through the `tools/post-execute` waterfall. The model follows the backend-supplied retrieval hint for the returned locator. [Session-reference spill reuse](../bug-fix/2026-09-05-session-reference-spill-reuse.md) adds a direct storage consumer with separate preview, provenance, and failure semantics; it does not change the tool-result policy. ### Spill seam @@ -33,10 +33,15 @@ interface SpillStore { saveText(input: SaveTextSpill): Promise } -interface SpillSource { +type SpillSource = { + kind: 'tool' toolName: string callId: ToolCallId label: string +} | { + kind: 'session-reference' + sessionId: SessionId + label: string } interface SaveTextSpill { @@ -57,7 +62,7 @@ interface SpillRef { `SpillLocator` is a [branded](../../../../packages/util/brand) model-facing handle returned by the backend. The local backend renders it as a filesystem path; a remote or database backend can render a URI, key, or command token. Consumers treat it as opaque and render it with `retrievalHint` instead of assuming `read` is always the right retrieval mechanism. `SpillOwner.sessionId` is the save-time storage namespace: forked sessions inherit existing spill locators from the seeded log without copying or re-owning them, and new spills after the fork use the child session id. A retention-period cleanup may expire old locators with other old session artifacts; the spill seam does not define a per-session cleanup policy. -`dsh-spill-local` owns storage details: session-scoped directory selection, safe names, path-traversal protection, the write, local artifact lifetime, and returning `{ locator, bytes, retrievalHint }`. It does not own tool-result replacement, model-facing preview policy, search, file inspection, or a seam-wide/per-session retention policy. Files land at `/session-/-`, where `root` is a configured path or a lazily-created private (0700) per-process temp dir, the session subdir is a short `sha256(sessionId)` prefix, and the leaf is a random hex prefix plus the caller's `suggestedName` sanitized to one path segment (mirrors the JSONL backend's `encodeSegment`). The write is `open(path, 'wx', 0o600)` — exclusive and owner-only, so a planted symlink cannot redirect it. The locator is the path, and the retrieval hint tells the model it can use `read` or `grep` on that path. Its one-shot startup cleanup applies the backend-specific artifact lifetime described in the [local spill cleanup note](./2026-07-17-local-spill-startup-cleanup.md). +`dsh-spill-local` owns storage details: session-scoped directory selection, safe names, path-traversal protection, the write, local artifact lifetime, and returning `{ locator, bytes, retrievalHint }`. It does not own tool-result replacement, model-facing preview policy, search, file inspection, or a seam-wide/per-session retention policy. Files land at `/session-/-`, where `root` is a configured path or a lazily-created private (0700) per-process temp dir, the session subdir is a short `sha256(sessionId)` prefix, and the leaf is a random hex prefix plus the caller's `suggestedName` sanitized to one path segment (mirrors the JSONL backend's `encodeSegment`). The write is `open(path, 'wx', 0o600)` — exclusive and owner-only, so a planted symlink cannot redirect it. The locator is the path, and the retrieval hint tells the model it can use `read` or `grep` on that path. Its one-shot startup cleanup applies the backend-specific artifact lifetime described in the [local spill cleanup note](../../archived/architecture/2026-07-17-local-spill-startup-cleanup.md). ### Spill policy @@ -161,7 +166,7 @@ Those cases can consume `ctx.spillStore` directly in later work. They are not pa - Per-tool opt-out or per-tool policy declarations if the built-in `read` skip is insufficient. - Remote or database storage backends for ACP or remote environments where a local path is not meaningful. -Cleanup shipped for the local backend as a one-shot startup sweep, not tied to session deletion — see the [startup-cleanup Agent Note](./2026-07-17-local-spill-startup-cleanup.md). The seam still defines no per-session cleanup policy; retention is a backend concern. +Cleanup shipped for the local backend as a one-shot startup sweep, not tied to session deletion — see the [startup-cleanup Agent Note](../../archived/architecture/2026-07-17-local-spill-startup-cleanup.md). The seam still defines no per-session cleanup policy; retention is a backend concern. ## Testing diff --git a/.agents/notes/implemented/architecture/2026-07-08-tool-output-spill-files.zh.md b/.agents/notes/implemented/architecture/2026-07-08-tool-output-spill-files.zh.md index 8d08b05483..a995eafc78 100644 --- a/.agents/notes/implemented/architecture/2026-07-08-tool-output-spill-files.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-08-tool-output-spill-files.zh.md @@ -8,7 +8,7 @@ Status: implemented 工具输出需要有界的模型可见预览,但部分超大结果仍可能在之后有用。抓取的页面正文或冗长的工具响应不应完整占用下一次模型请求,但模型应能使用现有文件读取工具,在之后查看经过格式化的完整结果。 -这项改动之前的行为并不一致。`dsh-bash-local` 已经会在内存尾部溢出时,把完整 stdout/stderr 流写入私有的临时 spill 文件;普通文本工具结果则仍以内联形式返回,除非工具自行实现上限。[工具结果保留库](2026-07-06-tool-result-retention-library.zh.md)负责预览机制,但不负责存储,也不负责把这些机制应用于最终工具结果的执行流水线策略。 +这项改动之前的行为并不一致。`dsh-bash-local` 已经会在内存尾部溢出时,把完整 stdout/stderr 流写入私有的临时 spill 文件;普通文本工具结果则仍以内联形式返回,除非工具自行实现上限。[工具结果保留库](../../archived/architecture/2026-07-06-tool-result-retention-library.md)负责预览机制,但不负责存储,也不负责把这些机制应用于最终工具结果的执行流水线策略。 其形态与超时策略设计一致:工具作者声明规范值与 Native renderer(原生渲染器),由策略插件在渲染后的内容上执行部署默认的上下文预算。工具仍可在提供方采集上限处提前 spill;由工具负责的展示 spill 可以保留已完整采集的规范值,而只替换展示内容。[规范工具输出约定](2026-07-20-canonical-tool-output-contract.zh.md)规定了这项区分。 @@ -22,7 +22,7 @@ Status: implemented | `@deepseek-ai/dsh-spill-local` | 本地后端:在宿主文件系统中提供私有、会话作用域的文件存储。 | | `@deepseek-ai/dsh-spill-policy` | 工具结果策略插件:包装分发后的最终文本结果,并以保留预览和 spill 定位符替换超大结果。 | -系统不增加专用的面向模型消费方包。消费方是现有 `ctx.tools` 执行流水线:`dsh-spill-policy` 通过 `tools/post-execute` waterfall(瀑布式事件)使用最终工具结果,模型则按照后端随定位符返回的检索提示读取内容。 +工具结果消费方是 `dsh-spill-policy`,它通过 `tools/post-execute` waterfall(瀑布式事件)使用最终工具结果。模型按照后端随定位符返回的检索提示读取内容。[会话引用 spill 复用](../bug-fix/2026-09-05-session-reference-spill-reuse.zh.md)增加一个直接存储消费方,采用独立的预览、来源信息与失败语义;它不改变工具结果策略。 ### spill seam @@ -33,10 +33,15 @@ interface SpillStore { saveText(input: SaveTextSpill): Promise } -interface SpillSource { +type SpillSource = { + kind: 'tool' toolName: string callId: ToolCallId label: string +} | { + kind: 'session-reference' + sessionId: SessionId + label: string } interface SaveTextSpill { @@ -57,7 +62,7 @@ interface SpillRef { `SpillLocator` 是一个[品牌化的](../../../../packages/util/brand)模型可见句柄,由后端返回。本地后端将其渲染为文件系统路径;远程或数据库后端可以渲染 URI、键或命令 token。消费方把它视为不透明值,并使用 `retrievalHint` 渲染,而不是假定 `read` 始终是正确的检索机制。`SpillOwner.sessionId` 是保存时的存储命名空间:fork 后的会话会从种子日志继承已有的 spill 定位符,无需复制它们或重新取得所有权;fork 后的新 spill 使用子会话 id。保留期清理可以连同其他旧会话产物一起使旧定位符失效;spill seam 不定义逐会话的清理策略。 -`dsh-spill-local` 负责存储细节:选择会话作用域的目录、安全名称、防止路径遍历、执行写入、本地产物生命周期,以及返回 `{ locator, bytes, retrievalHint }`。它不负责工具结果替换、模型可见的预览策略、搜索、文件检查,也不定义 seam 级或逐会话保留策略。文件写入 `/session-/-`:`root` 是配置路径,或延迟创建的私有(0700)进程级临时目录;会话子目录是 `sha256(sessionId)` 的短前缀;叶节点由随机十六进制前缀与调用方的 `suggestedName` 组成,后者会被清理成单一路径段(与 JSONL 后端的 `encodeSegment` 一致)。系统使用 `open(path, 'wx', 0o600)` 写入,确保独占且仅所有者可访问,因此预先植入的符号链接无法重定向写入。定位符就是该路径,检索提示则告知模型可以在该路径上使用 `read` 或 `grep`。它的一次性启动清理会应用[本地 spill 清理说明](./2026-07-17-local-spill-startup-cleanup.zh.md)所述的后端专属产物生命周期。 +`dsh-spill-local` 负责存储细节:选择会话作用域的目录、安全名称、防止路径遍历、执行写入、本地产物生命周期,以及返回 `{ locator, bytes, retrievalHint }`。它不负责工具结果替换、模型可见的预览策略、搜索、文件检查,也不定义 seam 级或逐会话保留策略。文件写入 `/session-/-`:`root` 是配置路径,或延迟创建的私有(0700)进程级临时目录;会话子目录是 `sha256(sessionId)` 的短前缀;叶节点由随机十六进制前缀与调用方的 `suggestedName` 组成,后者会被清理成单一路径段(与 JSONL 后端的 `encodeSegment` 一致)。系统使用 `open(path, 'wx', 0o600)` 写入,确保独占且仅所有者可访问,因此预先植入的符号链接无法重定向写入。定位符就是该路径,检索提示则告知模型可以在该路径上使用 `read` 或 `grep`。它的一次性启动清理会应用[本地 spill 清理说明](../../archived/architecture/2026-07-17-local-spill-startup-cleanup.md)所述的后端专属产物生命周期。 ### spill 策略 @@ -161,7 +166,7 @@ ctx.tools.register(defineTool({ - 如果内置的 `read` 跳过规则不足,再增加逐工具选择退出或逐工具策略声明。 - 面向 ACP(Agent Client Protocol)或远程环境的远程/数据库存储后端,因为本地路径在这些环境中没有意义。 -本地后端通过一次性启动扫描清理旧文件,而不是绑定到会话删除——参见[启动清理 Agent Note](./2026-07-17-local-spill-startup-cleanup.zh.md)。seam 仍未定义逐会话清理策略;保留策略属于后端。 +本地后端通过一次性启动扫描清理旧文件,而不是绑定到会话删除——参见[启动清理 Agent Note](../../archived/architecture/2026-07-17-local-spill-startup-cleanup.md)。seam 仍未定义逐会话清理策略;保留策略属于后端。 ## 测试 diff --git a/.agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.i18n.yaml index bda4bc2ddb..3c883f7d6c 100644 --- a/.agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.md -2026-07-10-single-file-executable-sdk-runtime-distribution.md: 558358167a5e7d37bc79c42003a183b0c4c40d17 -2026-07-10-single-file-executable-sdk-runtime-distribution.zh.md: 0f7daec5b79e6f526dde7a01c5ef85b07e955707 +2026-07-10-single-file-executable-sdk-runtime-distribution.md: 5533c38d635d04c8799658fc1f6bcec8543d1dab +2026-07-10-single-file-executable-sdk-runtime-distribution.zh.md: 05800082034f0d1bd5034fc5bb17f09356d84dd9 diff --git a/.agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.md b/.agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.md index 558358167a..5533c38d63 100644 --- a/.agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.md +++ b/.agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.md @@ -32,7 +32,7 @@ The deterministic serving surface is a plugin selected by the packaged `dsh` app - [`packages/sdk/server`](../../../../packages/sdk/server/README.md) (`@deepseek-ai/dsh-sdk-jsonrpc-server`): the pure protocol plugin; on apply it mounts `HarnessSdkJsonRpcServer` plus a line-delimited JSON-RPC transport on the process stdio, with disposal through `ctx.effect()`. Whether to serve is decided by `cordis.yml`; a yml that does not mount it is a legitimate process that does not serve. Protocol-level exit belongs to the plugin (after answering and flushing the `shutdown` response it disposes the root runtime so persistence drains, then `exit(0)`; an HMR-style unload only stops the service without exiting the process). - [`apps/cli`](../../../../apps/cli/README.md) (`@deepseek-ai/dsh`): the packaged application entry; its `sdk` profile mounts `dsh-sdk-jsonrpc-server`, and the CLI owns environment layering, profile composition, stdin/signal shutdown, and process exit. -The Python client supplies an explicit Harness home and selects the `sdk` profile plus ordered patch files. A missing home, profile, bundle, or server row fails loudly; there is no external complete-config fallback. The [Python profile-runtime decision](2026-08-23-python-sdk-dsh-profile-runtime.md) owns this application surface. +The Python client supplies an explicit Harness home and selects the `sdk` profile plus ordered patch files. A missing home, profile, bundle, or server row fails loudly; there is no external complete-config fallback. [docs/architecture.md](../../../../docs/architecture.md) owns this application surface. ### Plugin resolution: the VFS holds a real package tree, the closure manifest IS the deploy root @@ -44,9 +44,9 @@ The deploy root includes `@deepseek-ai/dsh-mcp-client` as an explicitly supporte ### Build pipeline and artifacts -[`scripts/build-exe-for-python-sdk.ts`](../../../../scripts/build-exe-for-python-sdk.ts): runtime closure verification → `pnpm run build` → (after clearing) `pnpm --filter dsh-python-runtime-closure deploy --legacy --prod --config.node-linker=hoisted --config.auto-install-peers=false --config.link-workspace-packages=true` **directly into** `python/sdk-runtime/src/deepseek_harness_runtime/runtime/node/` → restore direct workspace packages omitted by legacy deploy and reject any remaining manifest gap → replace staged dependency symlinks with their target bytes, remove package-manager `.bin` links, and fail if any symlink remains → inject pkg configuration whose bin is `node_modules/@deepseek-ai/dsh/lib/bin.js` and whose assets cover dynamic profile, bundle, frontend, preset, native-library, and configuration reads → stage the target `node-pty` addon → invoke `pkg --sea` once per target → write `deepseek-harness-sdk-runtime--` under `dist-exe/` and copy it into the runtime directory. Linux CI rebuilds `pty.node` inside the matching manylinux 2.28 container because legacy deploy omits that install side effect. Every target copies its native `@vscode/ripgrep` binary beside the executable as the required `-rg` sidecar; pkg runtimes select that sidecar through `process.pkg`, while ordinary Node execution uses `@vscode/ripgrep` directly. macOS uses its target prebuild and also emits the required `-spawn-helper`. All four deploy flags are grounded in measurement: `--legacy` is the mandatory path with inject-workspace-packages off; hoisted gives pkg a stable single-instance layout that the explicit materialization pass makes symlink-free; disabling automatic peer installation prevents undeclared peers from expanding the closure; link-workspace-packages selects direct workspace dependencies. [`pnpm-workspace.yaml`](../../../../pnpm-workspace.yaml) overrides the transitive `@deepseek-ai/cosmokit` and `@deepseek-ai/schemastery` semver requests to the pinned vendor sources so legacy deploy never resolves those unpublished names from a registry. +[`scripts/build-exe-for-python-sdk.ts`](../../../../scripts/build-exe-for-python-sdk.ts): runtime closure verification → `pnpm run build` → (after clearing) `pnpm --filter dsh-python-runtime-closure deploy --legacy --prod --config.node-linker=hoisted --config.auto-install-peers=false --config.link-workspace-packages=true` **directly into** `python/sdk-runtime/src/deepseek_harness_runtime/runtime/node/`, including [`python/sdk-runtime/runtime-bootstrap.mjs`](../../../../python/sdk-runtime/runtime-bootstrap.mjs) as the carrier-root `runtime-bootstrap.mjs` → restore direct workspace packages omitted by legacy deploy and reject any remaining manifest gap → replace staged dependency symlinks with their target bytes, remove package-manager `.bin` links, and fail if any symlink remains → verify the deployed bootstrap and inject pkg configuration with that bin plus assets covering dynamic profile, bundle, frontend, preset, native-library, and configuration reads → stage the target `node-pty` addon → invoke `pkg --sea` once per target → write `deepseek-harness-sdk-runtime--` under `dist-exe/` and copy it into the runtime directory. The Python runtime owns that bootstrap. It calls the public CLI export for ordinary launches and dispatches a provider-private selection to the same `@deepseek-ai/dsh-subprocess-local/runner` core without changing CLI grammar or adding another executable; the [native-containment decision](2026-08-28-subprocess-native-containment.md) owns that private path. Linux CI rebuilds `pty.node` inside the matching manylinux 2.28 container because legacy deploy omits that install side effect. Every target copies its native `@vscode/ripgrep` binary beside the executable as the required `-rg` sidecar; pkg runtimes select that sidecar through `process.pkg`, while ordinary Node execution uses `@vscode/ripgrep` directly. macOS uses its target prebuild and also emits the required `-spawn-helper`. All four deploy flags are grounded in measurement: `--legacy` is the mandatory path with inject-workspace-packages off; hoisted gives pkg a stable single-instance layout that the explicit materialization pass makes symlink-free; disabling automatic peer installation prevents undeclared peers from expanding the closure; link-workspace-packages selects direct workspace dependencies. [`pnpm-workspace.yaml`](../../../../pnpm-workspace.yaml) overrides the transitive `@deepseek-ai/cosmokit` and `@deepseek-ai/schemastery` semver requests to the pinned vendor sources so legacy deploy never resolves those unpublished names from a registry. -CI: [`.github/workflows/build-exe-for-python-sdk.yml`](../../../../.github/workflows/build-exe-for-python-sdk.yml) is called for all five targets by the [installed-wheel Python runtime pull-request validation](../testing/2026-08-23-installed-python-wheel-black-box-ci.md) and the [public publication workflow](../process/2026-08-11-python-publication-workflow.md); `workflow_dispatch` can still select a subset. Native builds run on linux-x64 / linux-arm64 (`ubuntu-24.04-arm`) / macos-arm64 / macos-x64 (`macos-15-intel`) / win-x64 (`windows-2025`), with `~/.pkg-cache` cached where applicable, and pkg handles macOS ad-hoc signing. Each leg installs the release-shaped SDK and runtime wheels into a clean venv outside the checkout, proves their package and executable provenance, then drives the complete keyless scenario set through the public SDK and direct NDJSON JSON-RPC. Trusted pull requests additionally run a real DeepSeek two-turn tool smoke on every target; fork and Dependabot heads receive no key. Linux inspects the executable and native addon's GLIBC requirements and runs an additional manylinux 2.28 smoke, while macOS checks the runtime, ripgrep, and PTY helper architectures and verifies that all three deployment targets fit the wheel tag. A full five-target run retains six artifacts, each containing one release file: the platform-independent SDK wheel and five native runtime wheels; a subset dispatch retains the SDK wheel and selected runtime wheels. Bare executables and source bundles remain intermediate test inputs. [`.gitlab-ci.yml`](../../../../.gitlab-ci.yml) accepts `python-v` tag pipelines whose version matches the root `package.json`, builds one SDK wheel and five native runtime wheels, then a single serialized job checks and publishes all six to the project PyPI registry. The [Windows x64 runtime decision](2026-08-23-python-sdk-windows-x64-runtime.md) owns the Windows target and the explicit exclusion of Windows arm64. +CI: [`.github/workflows/build-exe-for-python-sdk.yml`](../../../../.github/workflows/build-exe-for-python-sdk.yml) runs [installed-wheel validation](../testing/2026-08-23-installed-python-wheel-black-box-ci.md) on Linux/Windows x64 for pull requests and Linux ARM64 plus both macOS architectures for master pushes. The [public publication workflow](../../archived/process/2026-08-11-python-publication-workflow.md) calls it for all five targets; `workflow_dispatch` can still select a subset. Native builds run on linux-x64 / linux-arm64 (`ubuntu-24.04-arm`) / macos-arm64 / macos-x64 (`macos-15-intel`) / win-x64 (`windows-2025`), with `~/.pkg-cache` cached where applicable, and pkg handles macOS ad-hoc signing. Each leg installs the release-shaped SDK and runtime wheels into a clean venv outside the checkout, proves their package and executable provenance, then drives the complete keyless scenario set through the public SDK and direct NDJSON JSON-RPC. Trusted pull requests and master pushes additionally run a real DeepSeek two-turn tool smoke on their selected targets; fork and Dependabot heads receive no key. Linux inspects the executable and native addon's GLIBC requirements and runs an additional manylinux 2.28 smoke, while macOS checks the runtime, ripgrep, and PTY helper architectures and verifies that all three deployment targets fit the wheel tag. A full five-target run retains six artifacts, each containing one release file: the platform-independent SDK wheel and five native runtime wheels; a subset dispatch retains the SDK wheel and selected runtime wheels. Bare executables and source bundles remain intermediate test inputs. [`.gitlab-ci.yml`](../../../../.gitlab-ci.yml) accepts `python-v` tag pipelines whose version matches the root `package.json`, builds one SDK wheel and five native runtime wheels, then a single serialized job checks and publishes all six to the project PyPI registry. The [`python/sdk-runtime` README](../../../../python/sdk-runtime/README.md) owns the Windows target and the explicit exclusion of Windows arm64. ### Python SDK distribution: two carriers, exe for production, node for development diff --git a/.agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.zh.md b/.agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.zh.md index 0f7daec5b7..0580008203 100644 --- a/.agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.zh.md @@ -32,7 +32,7 @@ exe 使用 [@yao-pkg/pkg](https://github.com/yao-pkg/pkg)(vercel/pkg 归档后 - [`packages/sdk/server`](../../../../packages/sdk/server/README.zh.md)(`@deepseek-ai/dsh-sdk-jsonrpc-server`):纯协议插件;执行 `apply` 时,在进程 stdio 上挂载 `HarnessSdkJsonRpcServer` 与按行分隔的 JSON-RPC 传输层,资源释放走 `ctx.effect()`。是否提供服务由 `cordis.yml` 决定;未挂载该插件的配置会启动一个不提供此服务的合法进程。协议级退出归插件所有(应答并确保 `shutdown` 响应发送完毕后,对根运行时执行 dispose(资源释放),让待处理的持久化操作完成,再调用 `exit(0)`;HMR(热模块替换)式卸载只停止服务,不退出进程)。 - [`apps/cli`](../../../../apps/cli/README.zh.md)(`@deepseek-ai/dsh`):打包后的应用入口;其 `sdk` profile 挂载 `dsh-sdk-jsonrpc-server`,CLI 负责环境分层、profile 组合、stdin/signal 关闭与进程退出。 -Python 客户端提供显式 Harness home,并选择 `sdk` profile 与有序 patch 文件。缺失 home、profile、bundle 或 server 配置项都会明确失败;不存在外部完整配置回退。[Python profile 运行时决策](2026-08-23-python-sdk-dsh-profile-runtime.zh.md)负责该应用接口。 +Python 客户端提供显式 Harness home,并选择 `sdk` profile 与有序 patch 文件。缺失 home、profile、bundle 或 server 配置项都会明确失败;不存在外部完整配置回退。[docs/architecture.md](../../../../docs/architecture.zh.md)负责该应用接口。 ### 插件解析:VFS 装载真实包树,闭包 manifest(元数据清单)就是部署根目录 @@ -44,9 +44,9 @@ exe 的 VFS 内是**构建产物形态的真实包树**(各包的 `lib/` + 真 ### 构建流水线与产物 -[`scripts/build-exe-for-python-sdk.ts`](../../../../scripts/build-exe-for-python-sdk.ts):运行时闭包校验 → `pnpm run build` →(清空后)`pnpm --filter dsh-python-runtime-closure deploy --legacy --prod --config.node-linker=hoisted --config.auto-install-peers=false --config.link-workspace-packages=true` **直接写入** `python/sdk-runtime/src/deepseek_harness_runtime/runtime/node/` → 恢复 legacy deploy 遗漏的直接工作区包,并拒绝剩余的 manifest 缺口 → 将暂存依赖中的符号链接替换为目标文件内容,删除包管理器的 `.bin` 链接,并在仍有任何符号链接时失败 → 注入 pkg 配置,其中 bin 为 `node_modules/@deepseek-ai/dsh/lib/bin.js`,assets 覆盖动态读取的 profile、bundle、前端、preset、原生库与配置文件 → 暂存目标平台的 `node-pty` addon → 每个构建目标调用一次 `pkg --sea` → 将 `deepseek-harness-sdk-runtime--` 写入 `dist-exe/` 并拷回运行时目录。Linux CI 会在匹配的 manylinux 2.28 容器中重新构建 `pty.node`,因为 legacy deploy 会遗漏这一安装副作用。每个目标都会把对应的原生 `@vscode/ripgrep` 二进制复制到可执行文件旁,作为必需的 `-rg` 伴随文件;pkg 运行时通过 `process.pkg` 选择该伴随文件,普通 Node 执行则直接使用 `@vscode/ripgrep`。macOS 使用对应目标的预构建产物,并额外生成所需的 `-spawn-helper`。四个部署标志都有实测依据:未启用 `inject-workspace-packages` 时必须使用 `--legacy`;`hoisted` 为 pkg 提供稳定的单实例布局,再由显式物化步骤消除符号链接;关闭对等依赖自动安装可防止未声明的对等依赖扩大闭包;`link-workspace-packages` 选择直接工作区依赖。[`pnpm-workspace.yaml`](../../../../pnpm-workspace.yaml) 将传递的 `@deepseek-ai/cosmokit` 与 `@deepseek-ai/schemastery` semver 请求覆盖到固定的 vendor 源码,使 legacy deploy 不会从注册表解析这些未发布名称。 +[`scripts/build-exe-for-python-sdk.ts`](../../../../scripts/build-exe-for-python-sdk.ts):运行时闭包校验 → `pnpm run build` →(清空后)`pnpm --filter dsh-python-runtime-closure deploy --legacy --prod --config.node-linker=hoisted --config.auto-install-peers=false --config.link-workspace-packages=true` **直接写入** `python/sdk-runtime/src/deepseek_harness_runtime/runtime/node/`,其中包含作为载体根目录 `runtime-bootstrap.mjs` 的 [`python/sdk-runtime/runtime-bootstrap.mjs`](../../../../python/sdk-runtime/runtime-bootstrap.mjs) → 恢复 legacy deploy 遗漏的直接工作区包,并拒绝剩余的 manifest 缺口 → 将暂存依赖中的符号链接替换为目标文件内容,删除包管理器的 `.bin` 链接,并在仍有任何符号链接时失败 → 验证已部署的 bootstrap,并注入以该文件为 bin 的 pkg 配置及覆盖动态读取 profile、bundle、前端、preset、原生库与配置文件的 assets → 暂存目标平台的 `node-pty` addon → 每个构建目标调用一次 `pkg --sea` → 将 `deepseek-harness-sdk-runtime--` 写入 `dist-exe/` 并拷回运行时目录。该 bootstrap 由 Python runtime 拥有;普通启动时它调用公开 CLI export,而提供方私有选择会分派到同一个 `@deepseek-ai/dsh-subprocess-local/runner` 核心,不改变 CLI 语法,也不增加另一个可执行文件;[原生 containment 决策](2026-08-28-subprocess-native-containment.zh.md)负责这条私有路径。Linux CI 会在匹配的 manylinux 2.28 容器中重新构建 `pty.node`,因为 legacy deploy 会遗漏这一安装副作用。每个目标都会把对应的原生 `@vscode/ripgrep` 二进制复制到可执行文件旁,作为必需的 `-rg` 伴随文件;pkg 运行时通过 `process.pkg` 选择该伴随文件,普通 Node 执行则直接使用 `@vscode/ripgrep`。macOS 使用对应目标的预构建产物,并额外生成所需的 `-spawn-helper`。四个部署标志都有实测依据:未启用 `inject-workspace-packages` 时必须使用 `--legacy`;`hoisted` 为 pkg 提供稳定的单实例布局,再由显式物化步骤消除符号链接;关闭对等依赖自动安装可防止未声明的对等依赖扩大闭包;`link-workspace-packages` 选择直接工作区依赖。[`pnpm-workspace.yaml`](../../../../pnpm-workspace.yaml) 将传递的 `@deepseek-ai/cosmokit` 与 `@deepseek-ai/schemastery` semver 请求覆盖到固定的 vendor 源码,使 legacy deploy 不会从注册表解析这些未发布名称。 -CI 使用 [`.github/workflows/build-exe-for-python-sdk.yml`](../../../../.github/workflows/build-exe-for-python-sdk.yml):[安装后 wheel Python 运行时拉取请求验证](../testing/2026-08-23-installed-python-wheel-black-box-ci.zh.md)与[公开发布工作流](../process/2026-08-11-python-publication-workflow.zh.md)都会调用它构建全部五个目标;`workflow_dispatch` 仍可选择部分目标。linux-x64、linux-arm64(`ubuntu-24.04-arm`)、macos-arm64、macos-x64(`macos-15-intel`)与 win-x64(`windows-2025`)分别进行原生构建,并在适用平台缓存 `~/.pkg-cache`;macOS 的 ad-hoc 签名由 pkg 处理。每个平台都把发布形态的 SDK wheel 包与运行时 wheel 包安装到 checkout 外的干净 venv,证明包与可执行文件来源,再通过公开 SDK 与直接 NDJSON JSON-RPC 运行完整 keyless 场景。可信拉取请求还会在每个目标上运行真实 DeepSeek 双轮工具冒烟测试;fork 与 Dependabot head 不会获得密钥。Linux 会检查可执行文件和原生 addon 各自的 GLIBC 依赖,并额外运行 manylinux 2.28 冒烟测试;macOS 则检查 runtime、ripgrep 与 PTY helper 的架构,并验证三个载荷的部署目标都符合 wheel 包标签。完整构建五个目标时保留 6 个产物,每个产物只含一个发布文件:平台无关的 SDK wheel 包与 5 个原生运行时 wheel 包;手动选择部分目标时保留 SDK wheel 与所选运行时 wheel。裸 exe 与源码包只作为测试中间输入。[`.gitlab-ci.yml`](../../../../.gitlab-ci.yml) 只接受版本与根目录 `package.json` 匹配的 `python-v` 标签流水线,构建一个 SDK wheel 包和 5 个原生运行时 wheel 包,再由单个串行任务校验并将这 6 个文件发布到项目的 PyPI 注册表。[Windows x64 运行时决策](2026-08-23-python-sdk-windows-x64-runtime.zh.md)负责 Windows 目标及对 Windows arm64 的明确排除。 +CI 使用 [`.github/workflows/build-exe-for-python-sdk.yml`](../../../../.github/workflows/build-exe-for-python-sdk.yml):[安装后 wheel 包验证](../testing/2026-08-23-installed-python-wheel-black-box-ci.zh.md)在拉取请求上运行 Linux/Windows x64,在 master 推送上运行 Linux ARM64 与两种 macOS 架构。[公开发布工作流](../../archived/process/2026-08-11-python-publication-workflow.md)调用它构建全部五个目标;`workflow_dispatch` 仍可选择部分目标。linux-x64、linux-arm64(`ubuntu-24.04-arm`)、macos-arm64、macos-x64(`macos-15-intel`)与 win-x64(`windows-2025`)分别进行原生构建,并在适用平台缓存 `~/.pkg-cache`;macOS 的 ad-hoc 签名由 pkg 处理。每个平台都把发布形态的 SDK wheel 包与运行时 wheel 包安装到 checkout 外的干净 venv,证明包与可执行文件来源,再通过公开 SDK 与直接 NDJSON JSON-RPC 运行完整 keyless 场景。可信拉取请求与 master 推送还会在各自选定的目标上运行真实 DeepSeek 双轮工具冒烟测试;fork 与 Dependabot head 不会获得密钥。Linux 会检查可执行文件和原生 addon 各自的 GLIBC 依赖,并额外运行 manylinux 2.28 冒烟测试;macOS 则检查 runtime、ripgrep 与 PTY helper 的架构,并验证三个载荷的部署目标都符合 wheel 包标签。完整构建五个目标时保留 6 个产物,每个产物只含一个发布文件:平台无关的 SDK wheel 包与 5 个原生运行时 wheel 包;手动选择部分目标时保留 SDK wheel 与所选运行时 wheel。裸 exe 与源码包只作为测试中间输入。[`.gitlab-ci.yml`](../../../../.gitlab-ci.yml) 只接受版本与根目录 `package.json` 匹配的 `python-v` 标签流水线,构建一个 SDK wheel 包和 5 个原生运行时 wheel 包,再由单个串行任务校验并将这 6 个文件发布到项目的 PyPI 注册表。[`python/sdk-runtime` README](../../../../python/sdk-runtime/README.zh.md)负责 Windows 目标及对 Windows arm64 的明确排除。 ### Python SDK 分发:双载体,exe 用于生产,`node` 用于开发 diff --git a/.agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.i18n.yaml index 241dcf71db..e469f71c7b 100644 --- a/.agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.md -2026-07-12-agent-scope-runtime-design.md: 7aebac35d1a5477f0b1d3857e983680ea38bd9f5 -2026-07-12-agent-scope-runtime-design.zh.md: c636bf6f51c58aa5d9f1e3b6f9988b4f4ab5b86c +2026-07-12-agent-scope-runtime-design.md: b6001a5ef9f2dc69ec21908f8350b765dd00acf1 +2026-07-12-agent-scope-runtime-design.zh.md: be12c53ffa9b89e007888935002a5c484c038fd7 diff --git a/.agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.md b/.agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.md index 7aebac35d1..b6001a5ef9 100644 --- a/.agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.md +++ b/.agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.md @@ -72,7 +72,7 @@ The receiver is a small carrier rather than a transparent proxy for the domain o ### Registry reads overlay one exact layer -Scope-aware registries use `ScopedLayers` to own one eager global aggregate and lazily created identity-keyed aggregates. A read resolves the global layer and at most one exact local layer; it never creates state or traverses parentage. Registration visibility and Cordis effect ownership derive from the same context, and reclamation waits until the concrete layer's complete aggregate is empty ([decision](2026-07-12-scoped-layers-store.md)). +Scope-aware registries use `ScopedLayers` to own one eager global aggregate and lazily created identity-keyed aggregates. A read resolves the global layer and at most one exact local layer; it never creates state or traverses parentage. Registration visibility and Cordis effect ownership derive from the same context, and reclamation waits until the concrete layer's complete aggregate is empty ([decision](../../archived/architecture/2026-07-12-scoped-layers-store.md)). Each service retains its domain rule. Named command and prompt views use the shared insertion-ordered shadow merge; tools keep a richer resolver because restrictions filter globals before local tools are added and the reserved PTC mode transport is inserted separately. Prompt variables and tool guards retain live iteration, while tool-provider membership is materialized per assembly. Scope supplies storage lifecycle and named shadowing, not a universal registry view. @@ -266,7 +266,7 @@ Subagent startup has one ownership transfer. The provider owns unpublished resou ### The service contract has one cancellation channel -`SubagentProvider.start()` and `SubagentRuntime.start()` return `Promise`. The promise fulfills after the backend crosses its publication boundary, so callers and `subagent/start` observers never need a second `run.started` promise. Provider work that fails before publication rejects `start()`; prompt, turn, cancellation, and infrastructure outcomes after publication settle through `SubagentRun.result` without hiding the child id, as required by the [durable catalog decision](../feature/2026-07-22-durable-subagent-catalog-and-list-agents.md). +`SubagentProvider.start()` and `SubagentRuntime.start()` return `Promise`. The promise fulfills after the backend crosses its publication boundary, so callers and `subagent/start` observers never need a second `run.started` promise. Provider work that fails before publication rejects `start()`; prompt, turn, cancellation, and infrastructure outcomes after publication settle through `SubagentRun.result` without hiding the child id, as required by the [durable catalog decision](../../archived/feature/2026-07-22-durable-subagent-catalog-and-list-agents.md). `SubagentStartRequest.signal` is required. Aborting it requests cancellation during startup and across the published run's remaining readiness or turn work. `SubagentRun.dispose()` also requests cancellation and awaits quiescence. There is no separate public `run.cancel()` channel. @@ -330,7 +330,7 @@ The plugin does not police trusted setup by scanning registries or reject prompt ### Generated artifacts keep public contracts aligned -The event catalog, service catalog, producer/consumer matrix, configuration catalog, module graph, tool catalog, type-equivalence blocks, and scoped-event resolver map are generated or freshness-gated from source. The [TypeScript semantic-gates Agent Note](../process/2026-07-14-typescript-program-backed-semantic-gates.md) owns Program construction, semantic event discovery, and resolver-generation rules. +The event catalog, service catalog, producer/consumer matrix, configuration catalog, module graph, tool catalog, type-equivalence blocks, and scoped-event resolver map are generated or freshness-gated from source. The [TypeScript semantic-gates Agent Note](../../archived/process/2026-07-14-typescript-program-backed-semantic-gates.md) owns Program construction, semantic event discovery, and resolver-generation rules. Behavioral tests pin scoped routing and disposal, final-entry collision cleanup, publication rollback, ordered quiescence, durable pre/post-commit behavior, live tool filtering across presentation and execution, cooperative prompt assembly, structured-output commit in native and PTC mode, async subagent startup and signal cancellation, worker terminal arbitration, ACP settlement, and process teardown. diff --git a/.agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.zh.md b/.agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.zh.md index c636bf6f51..be12c53ffa 100644 --- a/.agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.zh.md @@ -74,7 +74,7 @@ Receiver 是一个小型载体而非领域对象的透明代理。需要 agent ### 注册表读取叠加一个精确 layer -作用域感知的注册表使用 `ScopedLayers`,拥有一个即时创建的全局 aggregate 和按标识键惰性创建的 aggregate。读取解析全局 layer 和至多一个精确局部 layer;它不创建状态,也从不遍历父级链。注册可见性与 Cordis effect 所有权都从同一个上下文派生,而回收会等待具体 layer 的完整 aggregate 变空(见[决策](2026-07-12-scoped-layers-store.zh.md))。 +作用域感知的注册表使用 `ScopedLayers`,拥有一个即时创建的全局 aggregate 和按标识键惰性创建的 aggregate。读取解析全局 layer 和至多一个精确局部 layer;它不创建状态,也从不遍历父级链。注册可见性与 Cordis effect 所有权都从同一个上下文派生,而回收会等待具体 layer 的完整 aggregate 变空(见[决策](../../archived/architecture/2026-07-12-scoped-layers-store.md))。 每个服务保留其领域规则。命名 command 和提示词视图使用共享的、保持插入顺序的 shadow 合并;工具保留更丰富的 resolver,因为限制会在加入局部工具前过滤全局工具,保留的 PTC mode transport 则单独插入。提示词变量和工具 guard 保持实时迭代,而工具提供方成员关系按每次 assembly 物化。Scope 提供存储生命周期和命名遮蔽,而非通用的注册表视图。 @@ -274,7 +274,7 @@ subagent 启动有一次所有权转移。提供方拥有未发布资源,直 ### 服务约定有一个取消通道 -`SubagentProvider.start()` 和 `SubagentRuntime.start()` 返回 `Promise`。Promise 会在后端跨过发布边界后兑现,因此调用方和 `subagent/start` 观察者从不需要第二个 `run.started` promise。提供方工作如果在发布前失败,`start()` 就会被拒绝;发布后的提示词、轮次、取消与基础设施结果会通过 `SubagentRun.result` 结算,且不会隐藏 child id,这也是[持久化目录决策](../feature/2026-07-22-durable-subagent-catalog-and-list-agents.zh.md)所要求的约定。 +`SubagentProvider.start()` 和 `SubagentRuntime.start()` 返回 `Promise`。Promise 会在后端跨过发布边界后兑现,因此调用方和 `subagent/start` 观察者从不需要第二个 `run.started` promise。提供方工作如果在发布前失败,`start()` 就会被拒绝;发布后的提示词、轮次、取消与基础设施结果会通过 `SubagentRun.result` 结算,且不会隐藏 child id,这也是[持久化目录决策](../../archived/feature/2026-07-22-durable-subagent-catalog-and-list-agents.md)所要求的约定。 `SubagentStartRequest.signal` 是必需的。中止它会在启动期间,以及已发布 run 的剩余就绪或轮次工作中请求取消。`SubagentRun.dispose()` 也请求取消并等待完全停稳。没有单独的公开 `run.cancel()` 通道。 @@ -340,7 +340,7 @@ TypeScript 无法管控 JavaScript 强制转换、直接 Cordis dispatch、进 ### 生成的产物使公开约定保持对齐 -事件目录、服务目录、生产者/消费方矩阵、配置目录、模块图、工具目录、type-equiv 块和作用域事件解析器映射都是从源码生成或受新鲜度门禁约束的。[TypeScript 语义门禁 Agent Note](../process/2026-07-14-typescript-program-backed-semantic-gates.zh.md) 拥有 Program 构造、语义事件发现和解析器生成规则。 +事件目录、服务目录、生产者/消费方矩阵、配置目录、模块图、工具目录、type-equiv 块和作用域事件解析器映射都是从源码生成或受新鲜度门禁约束的。[TypeScript 语义门禁 Agent Note](../../archived/process/2026-07-14-typescript-program-backed-semantic-gates.md) 拥有 Program 构造、语义事件发现和解析器生成规则。 行为测试固定了作用域路由和 dispose、最终写入注册表时的碰撞清理、发布回滚、有序完全停稳、持久化前/后提交行为、跨展示和执行的活跃工具过滤、协作式提示词组装、原生和 PTC mode 中的结构化输出提交、异步 subagent 启动和信号取消、worker 终端仲裁、ACP 结算和进程拆除。 diff --git a/.agents/notes/implemented/architecture/2026-07-14-provider-routed-llm-adapters.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-14-provider-routed-llm-adapters.i18n.yaml index a060f0ddd9..d757a5efd0 100644 --- a/.agents/notes/implemented/architecture/2026-07-14-provider-routed-llm-adapters.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-14-provider-routed-llm-adapters.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-14-provider-routed-llm-adapters.md -2026-07-14-provider-routed-llm-adapters.md: ab4c485b79f37d9360da9a9a32f38063cae99755 -2026-07-14-provider-routed-llm-adapters.zh.md: c431d710af95352a2ecfc7b76b6393428ebedfec +2026-07-14-provider-routed-llm-adapters.md: 4cc3cc3cdceeefdfea864ccf3465e528e32159c7 +2026-07-14-provider-routed-llm-adapters.zh.md: 098a6af7c951c6dee8a1b4f948bc69725e8d189c diff --git a/.agents/notes/implemented/architecture/2026-07-14-provider-routed-llm-adapters.md b/.agents/notes/implemented/architecture/2026-07-14-provider-routed-llm-adapters.md index ab4c485b79..4cc3cc3cdc 100644 --- a/.agents/notes/implemented/architecture/2026-07-14-provider-routed-llm-adapters.md +++ b/.agents/notes/implemented/architecture/2026-07-14-provider-routed-llm-adapters.md @@ -20,7 +20,7 @@ The adapter configuration also assumes one DeepSeek API key and endpoint. A gene `GenerateOptions` and `LlmCallConfig` carry `provider: string` beside `model: string`; `AgentOptions` carries the corresponding optional creation field. A loop request is valid only after both values are non-empty, and both values are part of the logged request header. `agent/request` may return a replacement pair on any step, so a session can switch providers and models without changing the Cordis plugin lifecycle. -`LlmRuntime` registers and resolves adapters by provider. `registerAdapter(providers, adapter)` checks the entire provider list before mutating the registry, rejects a duplicate with `DUPLICATE_ADAPTER`, and disposes the whole registration as one effect. Model ids are not registration keys; the selected adapter still validates or forwards them. The later [LLM catalog and ACP selection Agent Note](2026-07-15-llm-model-catalog-and-acp-selection.md) added advisory `listProviders()` / `listModels()` discovery without turning model membership into request validation. +`LlmRuntime` registers and resolves adapters by provider. `registerAdapter(providers, adapter)` checks the entire provider list before mutating the registry, rejects a duplicate with `DUPLICATE_ADAPTER`, and disposes the whole registration as one effect. Model ids are not registration keys; the selected adapter still validates or forwards them. The later [LLM catalog and ACP selection Agent Note](../../archived/architecture/2026-07-15-llm-model-catalog-and-acp-selection.md) added advisory `listProviders()` / `listModels()` discovery without turning model membership into request validation. A provider has exactly one adapter owner in a Cordis context. `dsh-llm-deepseek` registers `deepseek`; `dsh-llm-pi-ai` may also register `deepseek`, but loading both owners is a configuration error rather than an ordering rule or fallback. A deployment that wants the hand-rolled DeepSeek implementation excludes `deepseek` from the pi-ai profiles. A deployment that wants pi-ai's DeepSeek implementation does not mount `dsh-llm-deepseek`. @@ -40,9 +40,9 @@ pi-ai's common stream options do not expose stop sequences. `dsh-llm-pi-ai` reje Assistant messages carry the request's `provider` and `model`, plus an optional JSON-serializable adapter replay state. A successful `assistant/message` session event records those fields and `deriveMessages()` returns them with the assistant message. User, system, context, and tool-result messages carry no assistant route fields. The provider/model fields are authoritative loop data; an adapter owns only its opaque replay-state payload. -A terminal successful `finish` chunk may carry replay state as a `ReplayEnvelope`: opaque response-level metadata plus optional per-block entries aligned with the emitted block sequence. `BlockAssembler` makes one keep/drop decision for content and metadata — when max-token assembly drops a tool call, the envelope loses the entry at the same position — so the state the loop attaches to the assembled assistant message's model source always describes the stored blocks, per the [max-token replay-state alignment decision](../bug-fix/2026-08-15-max-token-replay-state-alignment.md). The loop exposes no response-rewrite hook. Error and aborted responses do not produce a normal assistant message and therefore do not enter future model history. +A terminal successful `finish` chunk may carry replay state as a `ReplayEnvelope`: opaque response-level metadata plus optional per-block entries aligned with the emitted block sequence. `BlockAssembler` makes one keep/drop decision for content and metadata — when max-token assembly drops a tool call, the envelope loses the entry at the same position — so the state the loop attaches to the assembled assistant message's model source always describes the stored blocks, per the [max-token replay-state alignment decision](../../archived/bug-fix/2026-08-15-max-token-replay-state-alignment.md). The loop exposes no response-rewrite hook. Error and aborted responses do not produce a normal assistant message and therefore do not enter future model history. -The pi-ai replay state fills that envelope with a versioned, minimal projection of its successful `AssistantMessage`: a response half (source API/provider/model, response id/model, stop reason) and per-block text, thinking, and tool-call signatures. It does not duplicate text or tool arguments already carried by Harness content blocks, and it omits diagnostics, timestamps, usage, and errors. On a later request, `LlmRuntime` gives replay state to the target adapter only when the historical provider and target provider are currently owned by the same adapter instance. That adapter combines the logged Harness content with replay state when it can restore the historical response, and owns any required cross-model or cross-provider conversion. Durable content stays authoritative: an adapter receiving replay state it cannot use — an unknown kind or version, malformed metadata, or a block shape that no longer matches the content — degrades that message to provider-neutral conversion with a diagnostic; a different adapter receives only provider-neutral content plus provider/model fields. +The pi-ai replay state fills that envelope with a versioned, minimal projection of its successful `AssistantMessage`: a response half (source API/provider/model, response id/model, optional provider-native effort, stop reason) and per-block text, thinking, and tool-call signatures. The [pi-ai upgrade compatibility decision](../bug-fix/2026-09-05-pi-ai-upgrade-compatibility.md#decision) defines requested-versus-native Anthropic model identity and effort preservation. It does not duplicate text or tool arguments already carried by Harness content blocks, and it omits diagnostics, timestamps, usage, and errors. On a later request, `LlmRuntime` gives replay state to the target adapter only when the historical provider and target provider are currently owned by the same adapter instance. That adapter combines the logged Harness content with replay state when it can restore the historical response, and owns any required cross-model or cross-provider conversion. Durable content stays authoritative: an adapter receiving replay state it cannot use — an unknown kind or version, malformed metadata, or a block shape that no longer matches the content — degrades that message to provider-neutral conversion with a diagnostic; a different adapter receives only provider-neutral content plus provider/model fields. This state is model-visible replay input and therefore follows the existing [reconstructable-request rule](2026-07-05-reconstructable-requests.md): it is present in both the terminal `finish` chunk and the assembled `assistant/message` model source that drives derivation. Resume and fork preserve it verbatim. Compaction that shadows the assistant message also removes its replay state from the active surface; the summary is ordinary provider-neutral content. diff --git a/.agents/notes/implemented/architecture/2026-07-14-provider-routed-llm-adapters.zh.md b/.agents/notes/implemented/architecture/2026-07-14-provider-routed-llm-adapters.zh.md index c431d710af..098a6af7c9 100644 --- a/.agents/notes/implemented/architecture/2026-07-14-provider-routed-llm-adapters.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-14-provider-routed-llm-adapters.zh.md @@ -20,7 +20,7 @@ Status: implemented `GenerateOptions` 与 `LlmCallConfig` 在 `model: string` 之外携带 `provider: string`,`AgentOptions` 则携带对应的可选创建字段。只有两个值都非空时,agent loop(智能体循环)请求才有效;两个值也都会写入请求头日志。`agent/request` 可以在任意步骤返回替换后的字段组合,因此会话可以切换提供方与模型,无需改变 Cordis 插件生命周期。 -`LlmRuntime` 按提供方注册和解析适配器。`registerAdapter(providers, adapter)` 在修改注册表前检查整个提供方列表,遇到重复项时返回 `DUPLICATE_ADAPTER`,并以一个 effect 为单位整体 dispose(资源释放)。模型 ID 不作为注册键;仍由选中的适配器负责验证或转发。后续的 [LLM 目录与 ACP 模型选择 Agent Note](2026-07-15-llm-model-catalog-and-acp-selection.zh.md) 增加了建议性的 `listProviders()` / `listModels()` 发现接口,但不会把目录成员关系变成请求校验规则。 +`LlmRuntime` 按提供方注册和解析适配器。`registerAdapter(providers, adapter)` 在修改注册表前检查整个提供方列表,遇到重复项时返回 `DUPLICATE_ADAPTER`,并以一个 effect 为单位整体 dispose(资源释放)。模型 ID 不作为注册键;仍由选中的适配器负责验证或转发。后续的 [LLM 目录与 ACP 模型选择 Agent Note](../../archived/architecture/2026-07-15-llm-model-catalog-and-acp-selection.md) 增加了建议性的 `listProviders()` / `listModels()` 发现接口,但不会把目录成员关系变成请求校验规则。 在一个 Cordis 上下文中,一个提供方只能有一个适配器所有者。`dsh-llm-deepseek` 注册 `deepseek`;`dsh-llm-pi-ai` 也可以注册 `deepseek`,但同时加载两个所有者属于配置错误,不采用顺序规则或回退行为。若部署选择手写的 DeepSeek 实现,需从 pi-ai 配置中排除 `deepseek`;若部署选择 pi-ai 的 DeepSeek 实现,则不挂载 `dsh-llm-deepseek`。 @@ -40,9 +40,9 @@ pi-ai 的通用流选项不支持停止序列。若 Harness `stop` 选项已定 助手消息携带请求的 `provider` 和 `model`,以及可选的 JSON 可序列化适配器回放状态。成功的 `assistant/message` 会话事件记录这些字段,`deriveMessages()` 返回助手消息时也会包含它们。用户、系统、上下文与工具结果消息不携带助手路由字段。提供方/模型字段是 agent loop 的权威数据;适配器仅拥有其不透明回放状态 payload。 -成功的终止 `finish` 分片可以以 `ReplayEnvelope` 形式携带回放状态:不透明的响应级元数据,加上与发射块序列对齐的可选逐块条目。`BlockAssembler` 对内容与元数据只做一次保留/丢弃决定——max-token 组装丢弃工具调用时,数据同一位置的条目一并丢弃——因此 agent loop 附加到已组装助手消息模型来源中的状态始终描述存储的块,见 [max-token 回放状态对齐决定](../bug-fix/2026-08-15-max-token-replay-state-alignment.zh.md)。agent loop 不公开响应改写钩子。错误或中止响应不会生成正常助手消息,因此不会进入后续模型历史。 +成功的终止 `finish` 分片可以以 `ReplayEnvelope` 形式携带回放状态:不透明的响应级元数据,加上与发射块序列对齐的可选逐块条目。`BlockAssembler` 对内容与元数据只做一次保留/丢弃决定——max-token 组装丢弃工具调用时,数据同一位置的条目一并丢弃——因此 agent loop 附加到已组装助手消息模型来源中的状态始终描述存储的块,见 [max-token 回放状态对齐决定](../../archived/bug-fix/2026-08-15-max-token-replay-state-alignment.md)。agent loop 不公开响应改写钩子。错误或中止响应不会生成正常助手消息,因此不会进入后续模型历史。 -pi-ai 回放状态用其成功 `AssistantMessage` 的带版本最小投影填充该结构:一个响应半区(源 API/提供方/模型、响应 ID/模型、停止原因),以及逐块的文本签名、thinking 签名和工具调用签名。它不会重复 Harness 内容块中已有的文本或工具参数,也不包含诊断信息、时间戳、用量或错误。后续请求中,只有历史提供方和目标提供方当前归同一个适配器实例所有时,`LlmRuntime` 才会把回放状态交给目标适配器。适配器在能够恢复历史响应时,将 Harness 记录的内容与回放状态组合,并负责所需的跨模型或跨提供方转换。持久化内容保持权威:适配器收到无法使用的回放状态——未知 kind 或版本、格式错误的元数据、或与内容不再匹配的块结构——会把该消息降级为提供方无关转换并带出诊断;其他适配器只能收到提供方无关的内容以及提供方/模型字段。 +pi-ai 回放状态用其成功 `AssistantMessage` 的带版本最小投影填充该结构:一个响应半区(源 API/提供方/模型、响应 ID/模型、可选的提供方原生 effort、停止原因),以及逐块的文本签名、thinking 签名和工具调用签名。[pi-ai 升级兼容性决定](../bug-fix/2026-09-05-pi-ai-upgrade-compatibility.zh.md#decision) 定义请求模型与 Anthropic 原生模型身份的区别,以及 effort 的保留规则。它不会重复 Harness 内容块中已有的文本或工具参数,也不包含诊断信息、时间戳、用量或错误。后续请求中,只有历史提供方和目标提供方当前归同一个适配器实例所有时,`LlmRuntime` 才会把回放状态交给目标适配器。适配器在能够恢复历史响应时,将 Harness 记录的内容与回放状态组合,并负责所需的跨模型或跨提供方转换。持久化内容保持权威:适配器收到无法使用的回放状态——未知 kind 或版本、格式错误的元数据、或与内容不再匹配的块结构——会把该消息降级为提供方无关转换并带出诊断;其他适配器只能收到提供方无关的内容以及提供方/模型字段。 该状态属于模型可见的回放输入,因此遵循现有的[请求可重建规则](2026-07-05-reconstructable-requests.zh.md):它同时存在于终止 `finish` 分片和驱动派生的已组装 `assistant/message` 模型来源中。恢复和 fork 会原样保留该状态。压缩(compaction)遮蔽助手消息时,也会从活动 surface 中移除其回放状态;摘要属于普通的提供方无关内容。 diff --git a/.agents/notes/implemented/architecture/2026-07-15-llm-model-catalog-and-acp-selection.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-15-llm-model-catalog-and-acp-selection.i18n.yaml deleted file mode 100644 index eb7a9adfab..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-15-llm-model-catalog-and-acp-selection.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-15-llm-model-catalog-and-acp-selection.md -2026-07-15-llm-model-catalog-and-acp-selection.md: fef23711a9214eae414809833bcd9ee9e26105ae -2026-07-15-llm-model-catalog-and-acp-selection.zh.md: 85e9fa35ac99b72a7df207fdb4971b57cf6dc525 diff --git a/.agents/notes/implemented/architecture/2026-07-15-replay-token-meter-service.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-15-replay-token-meter-service.i18n.yaml deleted file mode 100644 index 6ad1773f6f..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-15-replay-token-meter-service.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-15-replay-token-meter-service.md -2026-07-15-replay-token-meter-service.md: 10261189fca621b305b3ec6347b54471d81c8ba3 -2026-07-15-replay-token-meter-service.zh.md: 370d3cf932d37702c5298bc79e9dc8f5a37835b9 diff --git a/.agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.i18n.yaml index fcca895513..16ecfcc400 100644 --- a/.agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.md -2026-07-16-explicit-turn-cancellation.md: 86faad9929d3eb5b00e66bb1c46a2e35b135d954 -2026-07-16-explicit-turn-cancellation.zh.md: acf56e0629668a227324045ffd0521619dc45f33 +2026-07-16-explicit-turn-cancellation.md: 09631349226837d7f93112fe5e9c517f2fee099c +2026-07-16-explicit-turn-cancellation.zh.md: baf039d49578895d53ffae4c6b88d29b3d1563b6 diff --git a/.agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.md b/.agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.md index 86faad9929..0963134922 100644 --- a/.agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.md +++ b/.agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.md @@ -20,7 +20,7 @@ AgentLoop privately owns one `TurnCancellation` per prospective turn. It install The driver keeps only a cause-less pre-run marker for queued work cancelled before a turn is claimed. An effective `cancel()` emits the observe-only `agent/cancel-requested` notification with its resolved typed cause before clearing queued and steering work or aborting the holder; notification failures cannot veto the stop, and an idle call emits nothing. Work synchronously queued by a notification observer is included in that clear, while work queued by a later signal abort observer is latched and runs when the aborted activity converges to idle — a `disposed` cancel leaves it parked ([cancel-convergence wake latch](../bug-fix/2026-08-07-cancel-convergence-wake-latch.md)). If a `running` listener synchronously cancels old work and sends a replacement, the driver discards the aborted holder and creates a fresh one for the replacement. Repeated cancellation is first-wins for the active holder, while later calls may still clear newly queued pending work. -The explicit event signatures pass a single payload object: agent-scoped events carry `agent` and `signal` in the payload with `next` last, and the remaining APIs keep `signal` immediately before a waterfall's final `next`. `PreStepContext` and `RequestFailureContext` are retired, with their fields folded into the `agent/pre-step` and `agent/request-error` payloads ([payload-object events](2026-08-06-agent-event-payload-objects.md)). Pre-step entry, request configuration, request-error recovery, model generation, tool execution, approval, turn stopping, and subagent or workflow requests all receive the current signal. Hook bridges must also supply `RunHookOptions.signal`, so a turn cancellation reaches the bash executor's process-group kill and join boundary. `SystemPrompt.assemble()` carries `signal?: AbortSignal` in `AssembleContext` because that object is an explicit request value that can also represent signal-less assembly outside a turn. Listeners may cooperate with the signal but must not retain it to control another turn. +The explicit event signatures pass a single payload object: agent-scoped events carry `agent` and `signal` in the payload with `next` last, and the remaining APIs keep `signal` immediately before a waterfall's final `next`. `PreStepContext` and `RequestFailureContext` are retired, with their fields folded into the `agent/pre-step` and `agent/request-error` payloads ([payload-object events](../../archived/architecture/2026-08-06-agent-event-payload-objects.md)). Pre-step entry, request configuration, request-error recovery, model generation, tool execution, approval, turn stopping, and subagent or workflow requests all receive the current signal. Hook bridges must also supply `RunHookOptions.signal`, so a turn cancellation reaches the bash executor's provider-managed termination and join boundary; the [native-containment decision](2026-08-28-subprocess-native-containment.md) owns the supported local scope, Job, and fallback mechanics. `SystemPrompt.assemble()` carries `signal?: AbortSignal` in `AssembleContext` because that object is an explicit request value that can also represent signal-less assembly outside a turn. Listeners may cooperate with the signal but must not retain it to control another turn. `ctx.agents` continues to carry only the initiating Agent. Ambient Agent presence does not imply liveness, a current turn, or cancellation authority. The cause reader is private to the loop and states the machine-private slot invariant (only `cancel()` aborts a turn controller, always with a canonical frozen cause) instead of re-validating the reason structurally; no public helper reads a cause off an arbitrary signal. Concurrent Agents isolate both their initiator identities and their turn signals; a child driver shadows the parent initiator while its parent request signal still travels through the subagent seam. diff --git a/.agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.zh.md b/.agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.zh.md index acf56e0629..baf039d495 100644 --- a/.agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.zh.md @@ -20,7 +20,7 @@ AgentLoop 为每个待启动轮次私有地持有一个 `TurnCancellation`。它 对于轮次被认领前已取消的排队工作,驱动器只保留一个不携带取消原因的运行前标记。实际生效的 `cancel()` 会先发出仅供观察的 `agent/cancel-requested` 通知并携带最终确定的类型化取消原因,然后才清除排队工作和 steering(中途引导)工作或中止持有者;通知失败不能阻止此次停止,空闲状态下调用则不发出任何通知。通知观察者同步加入队列的工作也会被这次清除,而稍后由 signal 中止观察者加入队列的工作会被锁存,并在被中止的活动收敛到空闲时执行——`disposed` 取消则将其停放([取消收敛窗口唤醒锁存](../bug-fix/2026-08-07-cancel-convergence-wake-latch.zh.md))。若 `running` 监听器同步取消旧工作并发送替代提示词,驱动器会丢弃已中止的持有者,并为替代提示词创建全新的持有者。同一活跃持有者上的重复取消遵循首次请求优先,后续调用仍可清除新入队的待处理工作。 -显式事件签名传递单个 payload 对象:agent 作用域事件在 payload 中携带 `agent` 和 `signal`,`next` 位于最后;其余 API 保持 `signal` 紧邻 waterfall(瀑布式事件)的最终 `next` 之前。`PreStepContext` 与 `RequestFailureContext` 已退役,其字段并入 `agent/pre-step` 与 `agent/request-error` 的 payload([payload-object 事件](2026-08-06-agent-event-payload-objects.zh.md))。进入 pre-step 时、请求配置、请求错误恢复、模型生成、工具执行、审批、轮次停止以及 subagent 或工作流请求都会收到当前 signal。钩子桥接器也必须提供 `RunHookOptions.signal`,使轮次取消能够到达 Bash 执行器终止进程组并等待其退出的边界。`SystemPrompt.assemble()` 在 `AssembleContext` 中携带 `signal?: AbortSignal`,因为该对象是显式请求值,也可表示轮次之外不携带 signal 的组装。监听器可以配合该 signal 取消,但不得保留它来控制其他轮次。 +显式事件签名传递单个 payload 对象:agent 作用域事件在 payload 中携带 `agent` 和 `signal`,`next` 位于最后;其余 API 保持 `signal` 紧邻 waterfall(瀑布式事件)的最终 `next` 之前。`PreStepContext` 与 `RequestFailureContext` 已退役,其字段并入 `agent/pre-step` 与 `agent/request-error` 的 payload([payload-object 事件](../../archived/architecture/2026-08-06-agent-event-payload-objects.md))。进入 pre-step 时、请求配置、请求错误恢复、模型生成、工具执行、审批、轮次停止以及 subagent 或工作流请求都会收到当前 signal。钩子桥接器也必须提供 `RunHookOptions.signal`,使轮次取消能够到达 Bash 执行器由提供方管理的终止与等待边界;[原生 containment 决策](2026-08-28-subprocess-native-containment.zh.md)负责受支持本地路径上的 scope、Job 与 fallback 机制。`SystemPrompt.assemble()` 在 `AssembleContext` 中携带 `signal?: AbortSignal`,因为该对象是显式请求值,也可表示轮次之外不携带 signal 的组装。监听器可以配合该 signal 取消,但不得保留它来控制其他轮次。 `ctx.agents` 仍只携带发起 Agent。环境中的 Agent 并不代表存活、当前轮次或取消权限。cause 读取器是 loop 私有的,它直接陈述机器私有的 slot 不变量(只有 `cancel()` 会中止轮次控制器,且总是携带规范的冻结 cause),而不是对 reason 做结构化再校验;不存在从任意 signal 读取 cause 的公开辅助函数。并发 Agent 会同时隔离各自的发起方身份和轮次 signal;子驱动会遮蔽父发起方,而父请求 signal 仍通过 subagent seam 传递。 diff --git a/.agents/notes/implemented/architecture/2026-07-19-gui-web-client-architecture.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-19-gui-web-client-architecture.i18n.yaml index e48351a2ef..d8ddbe592a 100644 --- a/.agents/notes/implemented/architecture/2026-07-19-gui-web-client-architecture.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-19-gui-web-client-architecture.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-19-gui-web-client-architecture.md -2026-07-19-gui-web-client-architecture.md: 703bf2b873eee8afc7e13f89acba99b06fc98745 -2026-07-19-gui-web-client-architecture.zh.md: d61cc8119929b3efc912221df3343918e4851308 +2026-07-19-gui-web-client-architecture.md: 55421d1ad6df192d08c431af3633675036a4a857 +2026-07-19-gui-web-client-architecture.zh.md: 6fb3f9a512389710f6708b7f36f42e90eef11b28 diff --git a/.agents/notes/implemented/architecture/2026-07-19-gui-web-client-architecture.md b/.agents/notes/implemented/architecture/2026-07-19-gui-web-client-architecture.md index 703bf2b873..55421d1ad6 100644 --- a/.agents/notes/implemented/architecture/2026-07-19-gui-web-client-architecture.md +++ b/.agents/notes/implemented/architecture/2026-07-19-gui-web-client-architecture.md @@ -44,7 +44,7 @@ Implementation homes: registry core and the props-share types live in `packages/ A service is a plugin's only API toward other plugins (UI components and injection faces are not APIs; a plugin nobody calls mounts no service — ui-trajectory is the minimal-plugin exemplar: no ctx service, only view-slot registrations). The roster: `ctx.connection` (RPC transport + generation state), `ctx.slots` (registry wrapper emitting `slots/changed`, render entry, renderer installation contract), `ctx.sessions` (list store, current-session state, scope tree), `ctx.loader`, `ctx.theme`, `ctx.i18n`, `ctx.layout` (cross-plugin view navigation), `ctx.conversation` (send/cancel/startSession). Viewing state that used to live in service stores (panel widths, selection, drafts) now lives in entry-declared stores per the [slot system standard](2026-07-22-slot-type-chain-implementation.md). -There is no component registration model besides slots — the former view and tool rings both dissolved into it. Conversation views are entries of the `'conversation.view'` list slot ui-conversation declares, tab metadata rides the registration options (`id`/`order`/`label`), and per-view chrome lives inside the view components themselves. Final Chat business Nodes dispatch through the keyed/session `'conversation.chat.node'` slot; ui-tool owns its `tool-call` entry, recursively renders the supplied `subCalls`, and declares the keyed/session `'tool.call.toolview'` child slot. The key space stays runtime-open (SlotMap declares slots, never keys), and roots and descendants dispatch by `entryKey: toolName` with `GenericToolCard` as the fallback. Business packages register atomic views through `ctx.slots.inject('tool.call.toolview', () => ctx.slots.register({ name: 'tool.call.toolview', key: '' }, Row))`; the declaration is the load and reload dependency ([decision](2026-08-05-slot-declaration-injection.md)). ui-conversation separately delegates the selected call's details body through `'conversation.details.tool'`, so ui-tool's card models remain the single presentation owner without making conversation import Tool components. The target-neutral event and view registries are data assembly seams rather than parallel component registries ([decision](2026-08-09-client-conversation-node-assembly.md)). +There is no component registration model besides slots — the former view and tool rings both dissolved into it. Conversation views are entries of the `'conversation.view'` list slot ui-conversation declares, tab metadata rides the registration options (`id`/`order`/`label`), and per-view chrome lives inside the view components themselves. Final Chat business Nodes dispatch through the keyed/session `'conversation.chat.node'` slot; ui-tool owns its `tool-call` entry, recursively renders the supplied `subCalls`, and declares the keyed/session `'tool.call.toolview'` child slot. The key space stays runtime-open (SlotMap declares slots, never keys), and roots and descendants dispatch by `entryKey: toolName` with `GenericToolCard` as the fallback. Business packages register atomic views through `ctx.slots.inject('tool.call.toolview', () => ctx.slots.register({ name: 'tool.call.toolview', key: '' }, Row))`; the declaration is the load and reload dependency ([decision](../../archived/architecture/2026-08-05-slot-declaration-injection.md)). The right column is the `rightbar` seat ui-sidebar-right fills with one docking surface per session; the former details column and its `'conversation.details.tool'` seat are gone ([decision](../feature/2026-09-04-right-sidebar-docking-infrastructure.md)). The target-neutral event and view registries are data assembly seams rather than parallel component registries ([decision](2026-08-09-client-conversation-node-assembly.md)). **Scope addressing** mirrors the host's agent-scope idiom: services are root singletons whose methods take no sessionId — they read the caller's scope mark (`scopeOf(ctx)`). Inside a session scope, `ctx.conversation.send('hi', 'queue')` targets that session; cross-session calls re-target by switching ctx (`ctx.sessions.scope(id)!.conversation.send(...)`); calling a scoped method from root ctx throws. Client session scopes are minted like host agent scopes (a no-op plugin fiber + a scope-key extend), built lazily on first viewing and torn down only when the session is removed and unwatched — host-session death alone does not tear a scope (it freezes into a read-only viewport). @@ -72,7 +72,7 @@ Notifier 微任务合批 ──► ConversationSnapshot 缓存 ──uSES── - **ConversationSnapshot** (conversation.ts): the top-level immutable snapshot contract. `chat` contains structural `order`, an identity-stable keyed Node reader, Turn/Step indexes, and the timeline; `nodes`, `partial`, `runningCalls`, `turnTimings`, and `turnEnds` are the compatibility slice for unmigrated Trajectory consumers. Pending interactions, queue, running, removal, open state, paging, and prompt errors remain Session facts. **Reference discipline** (the premise of memo and uSES): unchanged substructures and Node values keep their references; one business update replaces only the corresponding key's value unless its order or Location changes. React still subscribes to the Session as the sole observable source, while the framework-provided `useSession(selector)` isolates Node and Location aggregate updates. - **SessionManager** (manager.ts): instance cluster + frame entry + the session list. sessionId-bearing frames go only to existing instances (a mux broadcast must not instantiate every session); approval/question `requested` frames are the exception — they never land in history, so they buffer in `pendingBuffers` and replay on instantiation. - **Notifier** (notifier.ts): two channels chosen by change source. `markDirty()` (default; frame-driven changes always) batches per microtask — N changes, one notification, one re-render; the flush rebuilds the snapshot cache before notifying. `notifyNow()` (only direct echoes of user gestures) rebuilds and notifies in the same tick — controlled inputs roll the DOM back and jump the caret if their echo defers to a microtask. Frame-driven code using notifyNow collapses batching back to per-frame renders; banned. -- **ConversationNodeAssembler** (`runtime/src/client/conversation/`): the Session-owned incremental engine runs independently registered Definitions over raw events. `match(event)` selects `(kind, id)` without Context scans; start/update build Definition state; engine-computed Locations carry Turn/Step closure; backward Context reads record dependencies repaired by later prepends; `buildViewNode(target)` materializes only dirty Contexts. The Chat builder preserves structural order and per-key value identity, `useSession` selectors isolate consumption, and Assistant token publication coalesces to one animation frame. The [Conversation Node decision](2026-08-09-client-conversation-node-assembly.md) owns assembly, while [Tool presentation ownership](2026-08-08-client-tool-presentation-ownership.md) owns recursive Tool rendering. +- **ConversationNodeAssembler** (`runtime/src/client/conversation/`): the Session-owned incremental engine runs independently registered Definitions over raw events. `match(event)` selects `(kind, id)` without Context scans; start/update build Definition state; engine-computed Locations carry Turn/Step closure; backward Context reads record dependencies repaired by later prepends; `buildViewNode(target)` materializes only dirty Contexts. The Chat builder preserves structural order and per-key value identity, `useSession` selectors isolate consumption, and Assistant token publication coalesces to one animation frame. The [Conversation Node decision](2026-08-09-client-conversation-node-assembly.md) owns assembly, while [Tool presentation ownership](../../archived/architecture/2026-08-08-client-tool-presentation-ownership.md) owns recursive Tool rendering. - **ConnectionController** (in `packages/client/connection`): opens the `$events` Remote stream, pumps with for-await, and reconnects with exponential backoff (500ms doubling to 10s, jitter, unlimited) behind a generation fence; sinks are injected one-way (the Controller does not know Session). Reconnect = rebuild: `onConnected` → list refresh + per-open-session resync. The object layer calls generated namespaces through `ctx.remote`; Web carriage uses HTTP POST for unary Remote calls and API Gateway's WebSocket mux for logical streams, while Connection owns request transport and generations. ## The React face (`packages/client/ui-renderer`) @@ -124,5 +124,5 @@ Token streams no longer shake the render tree: Assistant chunks update one busin | One statically-linked SPA bundle | Plugins must be host-composable at runtime (config-driven); a monolith re-couples every UI feature to one build | | window globals / import maps for shared deps | The DI require table keeps sharing explicit, fail-loud, and swappable; globals leak identity and version silently | | Business data in zustand slices | The event window/accumulator is a behavioral state machine, not a flat slice; the object layer keeps snapshot granularity and batching controllable | -| Parallel string-keyed component registry for Tool rows | ui-tool's keyed child slot carries the runtime-open Tool-name set through the one slot registration model ([toolview dissolution](2026-07-23-toolview-dissolution.md)) | +| Parallel string-keyed component registry for Tool rows | ui-tool's keyed child slot carries the runtime-open Tool-name set through the one slot registration model ([toolview dissolution](../../archived/architecture/2026-07-23-toolview-dissolution.md)) | | Progressive/Suspense boot in the initial web client delivery | One-flip boot is strictly simpler; the loader's per-plugin status face is kept so progressive lighting can land later without re-architecture | diff --git a/.agents/notes/implemented/architecture/2026-07-19-gui-web-client-architecture.zh.md b/.agents/notes/implemented/architecture/2026-07-19-gui-web-client-architecture.zh.md index d61cc81199..6fb3f9a512 100644 --- a/.agents/notes/implemented/architecture/2026-07-19-gui-web-client-architecture.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-19-gui-web-client-architecture.zh.md @@ -44,7 +44,7 @@ slot 体系有自己的笔记——[slot 体系标准](2026-07-22-slot-type-chai 服务是插件对其他插件的唯一 API(UI 组件与注入面都不是 API;无人调用的插件不挂服务——ui-trajectory 即最小插件样板:无 ctx 服务,只做视图 slot 注册)。名册:`ctx.connection`(RPC 传输 + generation 状态)、`ctx.slots`(注册表包装层,发 `slots/changed`,渲染入口,渲染器安装约定)、`ctx.sessions`(列表 store、当前会话状态、scope 树)、`ctx.loader`、`ctx.theme`、`ctx.i18n`、`ctx.layout`(跨插件视图导航)、`ctx.conversation`(send/cancel/startSession)。过去住在服务 store 里的观看态(面板宽、选中、草稿)现按 [slot 体系标准](2026-07-22-slot-type-chain-implementation.zh.md) 住 entry 声明的 store。 -slot 之外不存在第二种组件注册模型——原视图环与工具环都已溶解进来。会话视图即 ui-conversation 声明的 `'conversation.view'` list slot entry,tab 元数据随注册 options(`id`/`order`/`label`)走,per-view chrome 住视图组件自身。最终 Chat 业务 Node 通过 keyed/session `'conversation.chat.node'` slot 分发;ui-tool 拥有其中的 `tool-call` entry,递归渲染传入的 `subCalls`,并声明 keyed/session `'tool.call.toolview'` 子 slot。key 空间仍在运行时开放(SlotMap 声明 slot、从不声明 key),root 与任意深度的后代都按 `entryKey: toolName` 分发,以 `GenericToolCard` 兜底。业务包通过 `ctx.slots.inject('tool.call.toolview', () => ctx.slots.register({ name: 'tool.call.toolview', key: '' }, Row))` 注册原子视图;声明本身就是加载与重载依赖([决策](2026-08-05-slot-declaration-injection.zh.md))。ui-conversation 还通过 `'conversation.details.tool'` 委托 selected call 的详情正文,使 ui-tool 的 card model 保持为唯一展示所有者,同时避免 conversation 导入 Tool 组件。与 target 无关的事件注册表和视图注册表是数据组装 seam,不是平行组件注册表([决策](2026-08-09-client-conversation-node-assembly.zh.md))。 +slot 之外不存在第二种组件注册模型——原视图环与工具环都已溶解进来。会话视图即 ui-conversation 声明的 `'conversation.view'` list slot entry,tab 元数据随注册 options(`id`/`order`/`label`)走,per-view chrome 住视图组件自身。最终 Chat 业务 Node 通过 keyed/session `'conversation.chat.node'` slot 分发;ui-tool 拥有其中的 `tool-call` entry,递归渲染传入的 `subCalls`,并声明 keyed/session `'tool.call.toolview'` 子 slot。key 空间仍在运行时开放(SlotMap 声明 slot、从不声明 key),root 与任意深度的后代都按 `entryKey: toolName` 分发,以 `GenericToolCard` 兜底。业务包通过 `ctx.slots.inject('tool.call.toolview', () => ctx.slots.register({ name: 'tool.call.toolview', key: '' }, Row))` 注册原子视图;声明本身就是加载与重载依赖([决策](../../archived/architecture/2026-08-05-slot-declaration-injection.md))。右列是 ui-sidebar-right 以每会话一个停靠面填充的 `rightbar` 坑位;原来的详情列及其 `'conversation.details.tool'` 坑位已删除([决策](../feature/2026-09-04-right-sidebar-docking-infrastructure.zh.md))。与 target 无关的事件注册表和视图注册表是数据组装 seam,不是平行组件注册表([决策](2026-08-09-client-conversation-node-assembly.zh.md))。 **scope 寻址**与 host 侧 agent(智能体)scope 惯例同构:服务是 root 单例,方法不收 sessionId——它们读调用方 ctx 上的 scope 标(`scopeOf(ctx)`)。在会话 scope 内,`ctx.conversation.send('hi', 'queue')` 自动打到该会话;跨会话调用换 ctx 定向(`ctx.sessions.scope(id)!.conversation.send(...)`);从 root ctx 直接调 scoped 方法即 throw。client 会话 scope 的铸造方式与 host agent scope 相同(no-op 插件 fiber + scope 键 extend),首次观看时惰性建,只有会话被移除且无人观看才拆——仅 host 会话死亡不拆 scope(冻结为只读视窗)。 @@ -72,7 +72,7 @@ Notifier 微任务合批 ──► ConversationSnapshot 缓存 ──uSES── - **ConversationSnapshot**(conversation.ts):顶层不可变快照约定。`chat` 包含结构化 `order`、identity 稳定的 keyed Node reader、Turn/Step index 和 timeline;`nodes`、`partial`、`runningCalls`、`turnTimings`、`turnEnds` 是未迁移 Trajectory 消费方使用的兼容 slice。pending interaction、queue、running、removed、open state、paging 和 prompt error 仍是 Session 信息。**引用纪律**(memo 与 uSES 的前提):未变化的子结构和 Node value 保持引用;单个业务更新只替换对应 key 的 value,除非它的顺序或 Location 发生变化。React 仍只订阅 Session 这一处 observable source,并由框架提供的 `useSession(selector)` 隔离 Node 与 Location 聚合更新。 - **SessionManager**(manager.ts):实例簇 + 帧总入口 + 会话列表。带 sessionId 的帧只投已存在实例(mux 广播不得把每个会话都实例化);例外是审批/问答 `requested` 帧——它们不落 history、open 无法回补,故缓冲进 `pendingBuffers`,实例化时回放。 - **Notifier**(notifier.ts):两条通知通道,按变更来源取用。`markDirty()`(默认;帧驱动一律用它)按微任务合批——N 次变更、一次通知、一次重渲染;flush 先重建快照缓存再通知。`notifyNow()`(仅用户手势的直接回响)同 tick 重建并通知——受控输入的回响若延到微任务,DOM 会回滚、光标跳尾。帧驱动代码用 notifyNow 会让合批塌回逐帧渲染;禁。 -- **ConversationNodeAssembler**(`runtime/src/client/conversation/`):Session 拥有的增量引擎在原始事件上运行各自独立注册的 Definition。`match(event)` 无须扫描 Context 即可选出 `(kind, id)`;start/update 构造 Definition state;引擎计算的 Location 携带 Turn/Step 关闭信息;向前查询 Context 时记录依赖,并由后续 prepend 修复;`buildViewNode(target)` 只物化 dirty Context。Chat builder 保留结构顺序和 per-key value identity,`useSession` selector 负责消费隔离,Assistant token 发布则合并到每个 animation frame 一次。[Conversation Node 决策](2026-08-09-client-conversation-node-assembly.zh.md)拥有组装边界,[Tool 展示所有权](2026-08-08-client-tool-presentation-ownership.zh.md)拥有 Tool 递归渲染。 +- **ConversationNodeAssembler**(`runtime/src/client/conversation/`):Session 拥有的增量引擎在原始事件上运行各自独立注册的 Definition。`match(event)` 无须扫描 Context 即可选出 `(kind, id)`;start/update 构造 Definition state;引擎计算的 Location 携带 Turn/Step 关闭信息;向前查询 Context 时记录依赖,并由后续 prepend 修复;`buildViewNode(target)` 只物化 dirty Context。Chat builder 保留结构顺序和 per-key value identity,`useSession` selector 负责消费隔离,Assistant token 发布则合并到每个 animation frame 一次。[Conversation Node 决策](2026-08-09-client-conversation-node-assembly.zh.md)拥有组装边界,[Tool 展示所有权](../../archived/architecture/2026-08-08-client-tool-presentation-ownership.md)拥有 Tool 递归渲染。 - **ConnectionController**(位于 `packages/client/connection`):打开 `$events` Remote 流、通过 for-await 泵入,并在 generation 围栏内指数退避重连(500ms 翻倍至 10s 封顶、抖动、无限重试);sink 单向注入,Controller 不认识 Session。重连即重建:`onConnected` → 列表刷新 + 各已打开会话 resync。对象层通过 `ctx.remote` 调用生成的命名空间;Web 载体以 HTTP POST 承载 Remote 一元调用,以 API Gateway 的 WebSocket mux 承载逻辑流,Connection 则拥有请求传输与 generation。 ## React 面(`packages/client/ui-renderer`) @@ -124,5 +124,5 @@ token 流不再震荡渲染树:Assistant chunk 只更新一个业务 Context | 静态链接的单 SPA bundle | 插件必须由 host 在运行时按配置组合;单体把每个 UI 功能重新耦回一次构建 | | window 全局变量 / import map 供共享依赖 | DI require 表让共享显式、大声失败、可替换;全局变量静默泄漏身份与版本 | | 业务数据进 zustand 切片 | 事件窗口/累积器是行为状态机,不是扁平切片;对象层保住快照粒度与合批的可控性 | -| Tool 行使用平行的字符串键组件注册表 | ui-tool 的 keyed 子 slot 通过唯一的 slot 注册模型承载运行时开放的 Tool 名称集合([toolview 溶解](2026-07-23-toolview-dissolution.zh.md)) | +| Tool 行使用平行的字符串键组件注册表 | ui-tool 的 keyed 子 slot 通过唯一的 slot 注册模型承载运行时开放的 Tool 名称集合([toolview 溶解](../../archived/architecture/2026-07-23-toolview-dissolution.md)) | | 首个 web 客户端交付就做渐进/Suspense 启动 | 一次成型严格更简单;loader 的按插件状态面已保留,渐进点亮日后可落地而无需重构 | diff --git a/.agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.i18n.yaml deleted file mode 100644 index 8a58bc4d9b..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.md -2026-07-19-package-owned-invariant-service.md: b955c99a2576b6b2f8208a16ad2792af181c3468 -2026-07-19-package-owned-invariant-service.zh.md: 4fc0fb5d615753c0c057e927f59359847fc1328f diff --git a/.agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.i18n.yaml index f98292787c..5e0c9ab302 100644 --- a/.agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.md -2026-07-19-zstandard-jsonl-session-logs.md: a893a79f063842dfa93e57cb3972ea151421b05d -2026-07-19-zstandard-jsonl-session-logs.zh.md: bdaeab701359acbd02f47a2a3d83fe4913d607e7 +2026-07-19-zstandard-jsonl-session-logs.md: 96b76febee1c8853f70d7e4897894ea26390f524 +2026-07-19-zstandard-jsonl-session-logs.zh.md: 4cf184ce107b9de6dbbf3f0e571d4009d50ca636 diff --git a/.agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.md b/.agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.md index a893a79f06..96b76febee 100644 --- a/.agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.md +++ b/.agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.md @@ -28,11 +28,11 @@ First materialization compresses the two initial frames before opening the tempo ### Read, listing, and crash recovery -A frame-boundary scanner reads the standard magic, variable header fields, block headers and payload sizes, and optional checksum trailer. It does not interpret compressed blocks. Complete frames are independently checksum-validated and passed through the [large-session restore pipeline](2026-08-05-large-session-jsonl-restore-pipeline.md), which owns decoder reuse, cooperative yielding, and incremental JSONL scanning. A checksum/decompression failure in any complete frame, a malformed complete-frame JSONL tail, or invalid frame structure is corruption and rejects. +A frame-boundary scanner reads the standard magic, variable header fields, block headers and payload sizes, and optional checksum trailer. It does not interpret compressed blocks. Complete frames are independently checksum-validated and passed through the [large-session restore pipeline](../../archived/architecture/2026-08-05-large-session-jsonl-restore-pipeline.md), which owns decoder reuse, cooperative yielding, and incremental JSONL scanning. A checksum/decompression failure in any complete frame, a malformed complete-frame JSONL tail, or invalid frame structure is corruption and rejects. Listing reads in bounded chunks only until the first complete frame is available, validates and decompresses that header frame, and never reads an event frame. The dedicated header frame therefore preserves metadata-only listing even for very large session logs. -EOF inside the final frame is a torn tail. The frame belongs to an append that never resolved, so none of its records were acknowledged durable: repair truncates from that frame's starting byte, retains all prior complete frames, and appends the coordinator's synthetic tool, step, and turn closers as one new checksummed frame ([export and pre-release trims](../simplification/2026-08-27-persistence-export-and-pre-release-trims.md) owns dropping the earlier partial-plaintext salvage). +EOF inside the final frame is a torn tail. The frame belongs to an append that never resolved, so none of its records were acknowledged durable: repair truncates from that frame's starting byte, retains all prior complete frames, and appends the coordinator's synthetic tool, step, and turn closers as one new checksummed frame ([export and pre-release trims](../../archived/simplification/2026-08-27-persistence-export-and-pre-release-trims.md) owns dropping the earlier partial-plaintext salvage). ### Consumers and verification @@ -53,5 +53,5 @@ The shared persistence and coordinator contracts run against both encodings. Bac - Ordinary session roots store `.jsonl.zstd` and retain append-only, fsync, rollback, and interrupted-turn recovery semantics. - Raw JSONL remains a deliberate configuration, but changing encoding requires a fresh/separate root or selecting the mode that matches existing artifacts. - One frame per durable batch adds bounded framing/checksum overhead and allows header-only listing plus repair from an exact append boundary. -- External tools must understand concatenated Zstandard frames or consume raw-mode artifacts; generic one-shot Node decompression reads only the first independent frame, so backend reads walk frames through the [restore pipeline](2026-08-05-large-session-jsonl-restore-pipeline.md). +- External tools must understand concatenated Zstandard frames or consume raw-mode artifacts; generic one-shot Node decompression reads only the first independent frame, so backend reads walk frames through the [restore pipeline](../../archived/architecture/2026-08-05-large-session-jsonl-restore-pipeline.md). - The implementation depends on Node's experimental built-in Zstandard API without an npm dependency; the supported-version compatibility gate makes drift visible. diff --git a/.agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.zh.md b/.agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.zh.md index bdaeab7013..4cf184ce10 100644 --- a/.agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.zh.md @@ -28,11 +28,11 @@ JSONL 持久化后端会逐字保留每个 `SessionEvent`,包括嵌入模型 s ### 读取、列举与崩溃恢复 -帧边界扫描器会读取标准魔数、可变头字段、块头与负载长度,以及可选校验和尾部,但不会解释压缩块。完整帧会独立验证校验和,再进入[大型会话恢复流水线](2026-08-05-large-session-jsonl-restore-pipeline.zh.md);该流水线负责复用解码器、协作式让出事件循环和增量扫描 JSONL。任何完整帧的校验和或解压失败、完整帧中畸形的 JSONL 尾部,或者无效帧结构都属于损坏并拒绝加载。 +帧边界扫描器会读取标准魔数、可变头字段、块头与负载长度,以及可选校验和尾部,但不会解释压缩块。完整帧会独立验证校验和,再进入[大型会话恢复流水线](../../archived/architecture/2026-08-05-large-session-jsonl-restore-pipeline.md);该流水线负责复用解码器、协作式让出事件循环和增量扫描 JSONL。任何完整帧的校验和或解压失败、完整帧中畸形的 JSONL 尾部,或者无效帧结构都属于损坏并拒绝加载。 列举只按有界分片读取到第一个完整帧可用为止,验证并解压该头部帧,绝不读取事件帧。因此,即使会话日志很大,专用头部帧仍能维持仅元数据列举。 -最终帧内部遇到 EOF 属于撕裂尾部。该帧属于一次从未完成结算的追加,因此其中没有任何记录被确认为持久:修复从该帧起始字节截断,保留此前全部完整帧,并把协调器生成的工具、步骤与轮次闭合事件作为一个新的带校验和帧追加(对早先部分明文抢救路径的移除由[导出与预发布精简](../simplification/2026-08-27-persistence-export-and-pre-release-trims.zh.md)负责)。 +最终帧内部遇到 EOF 属于撕裂尾部。该帧属于一次从未完成结算的追加,因此其中没有任何记录被确认为持久:修复从该帧起始字节截断,保留此前全部完整帧,并把协调器生成的工具、步骤与轮次闭合事件作为一个新的带校验和帧追加(对早先部分明文抢救路径的移除由[导出与预发布精简](../../archived/simplification/2026-08-27-persistence-export-and-pre-release-trims.md)负责)。 ### 消费方与验证 @@ -53,5 +53,5 @@ CLI(命令行界面)、ACP(Agent Client Protocol)与 stdio 应用包公 - 普通会话根目录存储 `.jsonl.zstd`,并保留仅追加、fsync、回滚与中断轮次恢复语义。 - 原始 JSONL 仍是显式配置,但切换编码需要使用全新或单独根目录,或者选择与既有产物匹配的模式。 - 每个持久批次一个帧会增加有界的帧与校验和开销,同时支持仅头部列举和从精确追加边界开始修复。 -- 外部工具必须理解串联的 Zstandard 帧,或者消费原始模式产物;Node 通用的一次性解压只读取第一个独立帧,因此后端读取会通过[恢复流水线](2026-08-05-large-session-jsonl-restore-pipeline.zh.md)遍历各帧。 +- 外部工具必须理解串联的 Zstandard 帧,或者消费原始模式产物;Node 通用的一次性解压只读取第一个独立帧,因此后端读取会通过[恢复流水线](../../archived/architecture/2026-08-05-large-session-jsonl-restore-pipeline.md)遍历各帧。 - 实现依赖 Node 的实验性内置 Zstandard API,但不增加 NPM 依赖;受支持版本兼容性门禁会暴露 API 漂移。 diff --git a/.agents/notes/implemented/architecture/2026-07-20-canonical-tool-output-contract.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-20-canonical-tool-output-contract.i18n.yaml index f509835eb1..a6c2c93f3d 100644 --- a/.agents/notes/implemented/architecture/2026-07-20-canonical-tool-output-contract.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-20-canonical-tool-output-contract.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-20-canonical-tool-output-contract.md -2026-07-20-canonical-tool-output-contract.md: 52b56a44a747a07e13e05511d6d40a85fcd9696d -2026-07-20-canonical-tool-output-contract.zh.md: a78defb2b45143d46fed2bedf760df12744621a5 +2026-07-20-canonical-tool-output-contract.md: f2c17325f77b93675086c39dd5a7693854b8521a +2026-07-20-canonical-tool-output-contract.zh.md: d81c1730aab66df2dcf4eea4515f260df917ffb4 diff --git a/.agents/notes/implemented/architecture/2026-07-20-canonical-tool-output-contract.md b/.agents/notes/implemented/architecture/2026-07-20-canonical-tool-output-contract.md index 52b56a44a7..f2c17325f7 100644 --- a/.agents/notes/implemented/architecture/2026-07-20-canonical-tool-output-contract.md +++ b/.agents/notes/implemented/architecture/2026-07-20-canonical-tool-output-contract.md @@ -34,7 +34,7 @@ type ToolExecutionResult = `tools/post-execute` has two mutually exclusive successful projections. Replacing `content` changes only Native/model presentation and preserves the canonical value and metadata. Replacing `value` revalidates the replacement and recomputes both presentation projections. A block removes the value and becomes a failure. Content replacement is therefore not a confidentiality mechanism: policy that must prevent programmatic access blocks the call or replaces the value. -Canonical values are execution-local. The agent loop persists `tool/result` with only `content`, `error`, and optional `meta`; PTC mode's `tool/code-dispatch` persists the sub-call's rendered `content` and `isError`. Neither event stores the canonical intermediate value, so replay reproduces presentation but cannot reconstruct the programmatic result. When a tool declares `presentationMeta`, it is computed only for a direct surface call; a nested Code dispatch gets no metadata or result card. The outer `run_code` card instead reads final post-policy content and declares no presentation metadata. Generic and tool-owned spill projections similarly skip nested dispatches, whose canonical value never enters model context. +Canonical values are execution-local. The agent loop persists `tool/result` with only `content`, `error`, and optional `meta`; PTC mode's `tool/code-dispatch` persists the sub-call's rendered `content` and `isError`. Neither event stores the canonical intermediate value, so replay reproduces presentation but cannot reconstruct the programmatic result. When a tool declares `presentationMeta`, it is computed only for a direct surface call; a nested Code dispatch gets no metadata. The Client can derive [nested terminal cards](../bug-fix/2026-09-05-nested-terminal-cards.md) from raw arguments and rendered content without that metadata. The outer `run_code` card instead reads final post-policy content and declares no presentation metadata. Generic and tool-owned spill projections similarly skip nested dispatches, whose canonical value never enters model context. The first-party tools preserve their existing Native text while returning domain DTOs: diff --git a/.agents/notes/implemented/architecture/2026-07-20-canonical-tool-output-contract.zh.md b/.agents/notes/implemented/architecture/2026-07-20-canonical-tool-output-contract.zh.md index a78defb2b4..d81c1730aa 100644 --- a/.agents/notes/implemented/architecture/2026-07-20-canonical-tool-output-contract.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-20-canonical-tool-output-contract.zh.md @@ -34,7 +34,7 @@ type ToolExecutionResult = `tools/post-execute` 为成功结果提供两种互斥的投影方式。替换 `content` 只改变 Native/模型展示,并保留规范值和元数据。替换 `value` 会重新校验替代值,并重新计算两份展示投影。阻止操作会移除值并转为失败。因此,替换内容并不是保密机制:必须阻止程序化访问的策略,应当阻止调用或替换值。 -规范值仅存在于执行期间。agent loop(智能体循环)持久化的 `tool/result` 只包含 `content`、`error` 和可选的 `meta`;PTC mode 的 `tool/code-dispatch` 持久化子调用渲染后的 `content` 与 `isError`。两个事件都不存储规范中间值,因此回放可以重现展示,却无法重建程序化结果。当工具声明 `presentationMeta` 时,系统只会为直接的外层调用计算它;嵌套 Code 分发没有元数据或结果卡片。外层 `run_code` 卡片则读取最终的 post-policy 内容,并且不声明展示元数据。通用以及工具自有的 spill 投影同样跳过嵌套分发,因为它们的规范值永远不会进入模型上下文。 +规范值仅存在于执行期间。agent loop(智能体循环)持久化的 `tool/result` 只包含 `content`、`error` 和可选的 `meta`;PTC mode 的 `tool/code-dispatch` 持久化子调用渲染后的 `content` 与 `isError`。两个事件都不存储规范中间值,因此回放可以重现展示,却无法重建程序化结果。当工具声明 `presentationMeta` 时,系统只会为直接的外层调用计算它;嵌套 Code 分发没有元数据。Client 可以从原始参数与渲染后的内容派生[嵌套 terminal 卡片](../bug-fix/2026-09-05-nested-terminal-cards.zh.md),无需这些元数据。外层 `run_code` 卡片则读取最终的 post-policy 内容,并且不声明展示元数据。通用以及工具自有的 spill 投影同样跳过嵌套分发,因为它们的规范值永远不会进入模型上下文。 第一方工具在保持现有 Native 文本不变的同时返回领域 DTO: diff --git a/.agents/notes/implemented/architecture/2026-07-20-routed-model-context-and-compaction-policy.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-20-routed-model-context-and-compaction-policy.i18n.yaml index f328cb25c3..98f54d5d26 100644 --- a/.agents/notes/implemented/architecture/2026-07-20-routed-model-context-and-compaction-policy.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-20-routed-model-context-and-compaction-policy.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-20-routed-model-context-and-compaction-policy.md -2026-07-20-routed-model-context-and-compaction-policy.md: ca898acefa4dde9190e0d17249ec07cc875d454f -2026-07-20-routed-model-context-and-compaction-policy.zh.md: 7eddcd6d9c71670532b7be5409439dc079ca79ca +2026-07-20-routed-model-context-and-compaction-policy.md: 26d8a4a85c284e50b9635017f0dd0bf905a4427f +2026-07-20-routed-model-context-and-compaction-policy.zh.md: 8656200a4b25c2ca70160e8f5949a7518e390168 diff --git a/.agents/notes/implemented/architecture/2026-07-20-routed-model-context-and-compaction-policy.md b/.agents/notes/implemented/architecture/2026-07-20-routed-model-context-and-compaction-policy.md index ca898acefa..26d8a4a85c 100644 --- a/.agents/notes/implemented/architecture/2026-07-20-routed-model-context-and-compaction-policy.md +++ b/.agents/notes/implemented/architecture/2026-07-20-routed-model-context-and-compaction-policy.md @@ -54,4 +54,4 @@ Service tests cover detached context metadata, invalid adapter output, catalog i - DeepSeek deployments may set exact per-model capacities, or use `defaultContextWindow` for entries without capacity and unlisted pass-through ids. - Ratio defaults scale naturally across models, while exact-target absolute retention remains available for deployment-specific behavior. -This note supersedes the global-capacity and no-model-policy parts of the [replay token meter service Agent Note](2026-07-15-replay-token-meter-service.md). Its single-fold measurement decision remains unchanged. +This note supersedes the global-capacity and no-model-policy parts of the [replay token meter service Agent Note](../../archived/architecture/2026-07-15-replay-token-meter-service.md). Its single-fold measurement decision remains unchanged. diff --git a/.agents/notes/implemented/architecture/2026-07-20-routed-model-context-and-compaction-policy.zh.md b/.agents/notes/implemented/architecture/2026-07-20-routed-model-context-and-compaction-policy.zh.md index 7eddcd6d9c..8656200a4b 100644 --- a/.agents/notes/implemented/architecture/2026-07-20-routed-model-context-and-compaction-policy.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-20-routed-model-context-and-compaction-policy.zh.md @@ -54,4 +54,4 @@ Compact-basic 拥有消费方策略。顶层字段定义默认值;`modelPolici - DeepSeek 部署可以设置精确的逐模型容量,也可以让未提供容量的模型项与未列出的透传 id 使用 `defaultContextWindow`。 - 比例默认值会随模型自然缩放,同时仍可按精确目标使用绝对保留值,以满足部署专用行为。 -本记录取代[回放式 token 计量服务 Agent Note](2026-07-15-replay-token-meter-service.zh.md) 中的全局容量与无模型策略部分,单折叠计量决策保持不变。 +本记录取代[回放式 token 计量服务 Agent Note](../../archived/architecture/2026-07-15-replay-token-meter-service.md) 中的全局容量与无模型策略部分,单折叠计量决策保持不变。 diff --git a/.agents/notes/implemented/architecture/2026-07-20-todo-event-ownership.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-20-todo-event-ownership.i18n.yaml deleted file mode 100644 index 5b18b13430..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-20-todo-event-ownership.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-20-todo-event-ownership.md -2026-07-20-todo-event-ownership.md: f3f7f872b24d8f20b6b9acb57710fae388c8b9d8 -2026-07-20-todo-event-ownership.zh.md: a05622dc39163c4f5b30a93190d9d56bb02cf29a diff --git a/.agents/notes/implemented/architecture/2026-07-22-slot-type-chain-implementation.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-22-slot-type-chain-implementation.i18n.yaml index c15d8bf28f..7d108bbf7d 100644 --- a/.agents/notes/implemented/architecture/2026-07-22-slot-type-chain-implementation.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-22-slot-type-chain-implementation.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-22-slot-type-chain-implementation.md -2026-07-22-slot-type-chain-implementation.md: e4072f95678f13de302acf84c0b35218fa5dd8d4 -2026-07-22-slot-type-chain-implementation.zh.md: 6b4df87c86bbfbc48620048aa5e975c2403280b3 +2026-07-22-slot-type-chain-implementation.md: 0e493a19e232acf6f289714e53e0cf64b3ffc4b0 +2026-07-22-slot-type-chain-implementation.zh.md: 5e5c2ec808cec6949396a333c6a86e267bb4268b diff --git a/.agents/notes/implemented/architecture/2026-07-22-slot-type-chain-implementation.md b/.agents/notes/implemented/architecture/2026-07-22-slot-type-chain-implementation.md index e4072f9567..0e493a19e2 100644 --- a/.agents/notes/implemented/architecture/2026-07-22-slot-type-chain-implementation.md +++ b/.agents/notes/implemented/architecture/2026-07-22-slot-type-chain-implementation.md @@ -36,7 +36,7 @@ There is no separate slot-definition API. The `children` object both **declares Parity rule: **the declaring entry holds the exclusive right to render its child slots**, settled entirely at register time (misconfiguration fails loud at load; the render hot path carries no checks). Loud-at-load cases: a second entry declaring an already-declared slot; registering into an undeclared slot; one store handle mounted under two scopes; a chain registration missing its `select`. -A contributor whose activation order is independent from the declaring entry uses `ctx.slots.inject(key, callback)` and keeps direct `register()` fail-loud. The declaration, contributor, replacement, and failure lifetimes are specified by the [slot declaration injection decision](2026-08-05-slot-declaration-injection.md). +A contributor whose activation order is independent from the declaring entry uses `ctx.slots.inject(key, callback)` and keeps direct `register()` fail-loud. The declaration, contributor, replacement, and failure lifetimes are specified by the [slot declaration injection decision](../../archived/architecture/2026-08-05-slot-declaration-injection.md). `SlotMap` declaration merging remains the type authority, and an entry declares only its own axes plus the **owner share** — the registrant's injected props never enter the global table ("whoever injects it, owns its type"). diff --git a/.agents/notes/implemented/architecture/2026-07-22-slot-type-chain-implementation.zh.md b/.agents/notes/implemented/architecture/2026-07-22-slot-type-chain-implementation.zh.md index 6b4df87c86..5e5c2ec808 100644 --- a/.agents/notes/implemented/architecture/2026-07-22-slot-type-chain-implementation.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-22-slot-type-chain-implementation.zh.md @@ -36,7 +36,7 @@ ctx.slots.register({ 对等原则:**声明子 slot 的 entry 独占渲染这些子 slot 的权力**,全部在 register 时确定(配置错误会在装载时明确失败;渲染热路径不再校验)。装载即炸的情形:第二个 entry 声明已被声明的 slot;向未声明的 slot register;同一个 store 句柄挂到两个 scope 之下;chain 注册缺 `select`。 -激活顺序独立于声明条目的贡献方使用 `ctx.slots.inject(key, callback)`,并让直接调用 `register()` 继续大声失败。声明、贡献方、替换与失败各自的生命周期由 [slot 声明注入决策](2026-08-05-slot-declaration-injection.zh.md) 规定。 +激活顺序独立于声明条目的贡献方使用 `ctx.slots.inject(key, callback)`,并让直接调用 `register()` 继续大声失败。声明、贡献方、替换与失败各自的生命周期由 [slot 声明注入决策](../../archived/architecture/2026-08-05-slot-declaration-injection.md) 规定。 `SlotMap` 声明合并仍是类型权威,且 entry 只声明自己的轴加 **owner 份额**——注册方注入的 props 永不进入全局表(「谁注入的,类型归谁」)。 diff --git a/.agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.i18n.yaml deleted file mode 100644 index 4bb9345820..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.md -2026-07-22-unified-send-and-coalesced-user-messages.md: bc195e77c71b554d60c03c91134bbcef95678fff -2026-07-22-unified-send-and-coalesced-user-messages.zh.md: 414b5542aae2972b22ba015ba9397ec44921a6fa diff --git a/.agents/notes/implemented/architecture/2026-07-23-toolview-dissolution.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-23-toolview-dissolution.i18n.yaml deleted file mode 100644 index c09133e0c0..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-23-toolview-dissolution.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-23-toolview-dissolution.md -2026-07-23-toolview-dissolution.md: 3e38d2faf45d851b3f8f9a10459588570190b3fb -2026-07-23-toolview-dissolution.zh.md: 79c1f7d7630389462bf77d34df614bfd32798d50 diff --git a/.agents/notes/implemented/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.i18n.yaml deleted file mode 100644 index 48967a6faa..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-24-adapter-owned-reasoning-effort-capabilities.md -2026-07-24-adapter-owned-reasoning-effort-capabilities.md: f59e5d351970e785e6ade32797f1c1a5dd9e2591 -2026-07-24-adapter-owned-reasoning-effort-capabilities.zh.md: 6e657a90e8ef3cd400a3e252f728bb1aadd9f4f2 diff --git a/.agents/notes/implemented/architecture/2026-07-24-project-session-directories.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-24-project-session-directories.i18n.yaml index e1483287f0..95adf4e6c5 100644 --- a/.agents/notes/implemented/architecture/2026-07-24-project-session-directories.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-24-project-session-directories.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-24-project-session-directories.md -2026-07-24-project-session-directories.md: a37f9231167822e409308f8da60f6c1e837c74d5 -2026-07-24-project-session-directories.zh.md: 469567764219d7baabea89bd94aecd81bd0e5ab3 +2026-07-24-project-session-directories.md: 0074c8b31304e6a7d32199b7461575356e406448 +2026-07-24-project-session-directories.zh.md: 3a1d348255588fd120221dc277a2841359c0a038 diff --git a/.agents/notes/implemented/architecture/2026-07-24-project-session-directories.md b/.agents/notes/implemented/architecture/2026-07-24-project-session-directories.md index a37f923116..0074c8b313 100644 --- a/.agents/notes/implemented/architecture/2026-07-24-project-session-directories.md +++ b/.agents/notes/implemented/architecture/2026-07-24-project-session-directories.md @@ -29,7 +29,7 @@ Case-insensitive filesystems can also make differently cased project keys refer The configured root remains a deployment choice. The layout neither selects a global root nor requires projects to share one. When a deployment does centralize storage, project paths remain recognizable; a project-local root uses the same deterministic structure. -The encoded session id names an ownership directory rather than the transcript itself. The backend's diagnostics-only `locate` hook resolves the fixed transcript path inside it for format-refusal messages ([export and pre-release trims](../simplification/2026-08-27-persistence-export-and-pre-release-trims.md) owns removing the consumer-facing path query). Discovery ignores other entries inside the session directory so the backend can add session-owned artifacts without another layout change. +The encoded session id names an ownership directory rather than the transcript itself. The backend's diagnostics-only `locate` hook resolves the fixed transcript path inside it for format-refusal messages ([export and pre-release trims](../../archived/simplification/2026-08-27-persistence-export-and-pre-release-trims.md) owns removing the consumer-facing path query). Discovery ignores other entries inside the session directory so the backend can add session-owned artifacts without another layout change. Lazy materialization remains tied to the transcript: `create()` performs no filesystem I/O, and the first append creates the project/session directories before collision-safe transcript publication. Empty directories are not listed as sessions. The backend rejects flat `/.jsonl*` artifacts with an explicit layout error; the pre-release format provides no automatic data migration. diff --git a/.agents/notes/implemented/architecture/2026-07-24-project-session-directories.zh.md b/.agents/notes/implemented/architecture/2026-07-24-project-session-directories.zh.md index 4695677642..3a1d348255 100644 --- a/.agents/notes/implemented/architecture/2026-07-24-project-session-directories.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-24-project-session-directories.zh.md @@ -29,7 +29,7 @@ JSONL 后端按可读的项目键存储会话,并为每个会话提供独立 根目录由部署配置决定。这种布局既不选择全局根目录,也不要求项目共享根目录。部署选择集中存储时,目录名仍能让项目路径易于辨认;使用项目本地根目录时,也采用同样的确定性结构。 -编码后的会话 id 用于命名归属目录,而不是 transcript 文件本身。后端仅供诊断的 `locate` 钩子在其中解析固定的 transcript 路径,供格式拒绝消息使用(移除面向消费者的路径查询由[导出与预发布裁剪](../simplification/2026-08-27-persistence-export-and-pre-release-trims.zh.md)负责)。发现过程会忽略会话目录中的其他条目,因此后端以后添加会话自有产物时无需再次改变布局。 +编码后的会话 id 用于命名归属目录,而不是 transcript 文件本身。后端仅供诊断的 `locate` 钩子在其中解析固定的 transcript 路径,供格式拒绝消息使用(移除面向消费者的路径查询由[导出与预发布裁剪](../../archived/simplification/2026-08-27-persistence-export-and-pre-release-trims.md)负责)。发现过程会忽略会话目录中的其他条目,因此后端以后添加会话自有产物时无需再次改变布局。 延迟物化仍以 transcript 为界:`create()` 不执行文件系统 I/O,首次追加会先创建项目目录和会话目录,再以无冲突方式发布 transcript。空目录不会被列为会话。后端会显式报告布局错误并拒绝扁平的 `/.jsonl*` 产物;预发布格式不提供自动数据迁移。 diff --git a/.agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.i18n.yaml index d4dc9fde57..b192622981 100644 --- a/.agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.md -2026-07-24-separate-context-injection-from-turn-execution.md: 719c4562b6687e42cc70721658152992735ec662 -2026-07-24-separate-context-injection-from-turn-execution.zh.md: cb4621f891cd07d53b423a919bdfff1ec4fbdbb6 +2026-07-24-separate-context-injection-from-turn-execution.md: d22d3966767ae9888f2140141b1c7743792184c0 +2026-07-24-separate-context-injection-from-turn-execution.zh.md: 2c567511b21891ada3e0027f666d1163861fb090 diff --git a/.agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.md b/.agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.md index 719c4562b6..d22d396676 100644 --- a/.agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.md +++ b/.agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.md @@ -40,7 +40,7 @@ The enter branch's `PreStepDecision.messages` is the complete batch for the prop Caller-driven injection and current-step context deliberately use different timing. `inject()` joins the next pre-step available and cannot promise that a request already being finalized will consume it. A listener that must affect that exact request returns the context in `PreStepDecision.messages`; downstream rejection or failure then prevents it from materializing. -Cross-session references use that domain composition: TUI prepares the snapshot, returns it from the idle direct message's pre-step beside that message, or injects it before waking steering during a running turn. The target log contains two simple messages, so later source mutation cannot change replay and transcript consumers do not need a prompt envelope. This supersedes the attachment mechanism in the [cross-session reference decision](../feature/2026-07-21-cross-session-references.md) while retaining its snapshot and trust-boundary rules. +Cross-session references use that domain composition: TUI prepares the snapshot, returns it from the idle direct message's pre-step beside that message, or injects it before waking steering during a running turn. The target log contains two simple messages, so later source mutation cannot change replay and transcript consumers do not need a prompt envelope. This supersedes the attachment mechanism in the [cross-session reference decision](../../archived/feature/2026-07-21-cross-session-references.md) while retaining its snapshot and trust-boundary rules. This decision preserves the caller-owned framing decision from [unwrapped injected content](../simplification/2026-07-20-unwrap-injected-content-envelopes.md) and the one-item turn rule from [one send, one turn](../simplification/2026-07-17-one-send-one-turn.md). The later [standalone log-only event decision](../simplification/2026-07-28-remove-synthetic-log-only-turns.md) applies the same execution-only meaning to plugin-owned records. diff --git a/.agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.zh.md b/.agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.zh.md index cb4621f891..2c567511b2 100644 --- a/.agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.zh.md @@ -40,7 +40,7 @@ enter 分支的 `PreStepDecision.messages` 是拟议步骤的完整批次。wate 调用方主动注入与当前步骤上下文刻意采用不同的时序。`inject()` 会加入下一个可用 pre-step,无法保证正在最终确定的请求会消费它。必须影响该请求的监听器在 `PreStepDecision.messages` 中返回上下文;下游 reject 或失败时,该上下文不会落入日志。 -跨会话引用采用这种领域组合方式:TUI 先准备快照,然后在 idle 直接消息的 pre-step 中把快照与该消息一同返回,或在 running 轮次中先注入快照再唤醒 steering。目标日志包含两条简单消息,因此来源会话后续变化不会改变回放,transcript 消费方也不需要提示词封套。本决策取代[跨会话引用决策](../feature/2026-07-21-cross-session-references.zh.md)中的附件机制,但保留其快照与信任边界规则。 +跨会话引用采用这种领域组合方式:TUI 先准备快照,然后在 idle 直接消息的 pre-step 中把快照与该消息一同返回,或在 running 轮次中先注入快照再唤醒 steering。目标日志包含两条简单消息,因此来源会话后续变化不会改变回放,transcript 消费方也不需要提示词封套。本决策取代[跨会话引用决策](../../archived/feature/2026-07-21-cross-session-references.md)中的附件机制,但保留其快照与信任边界规则。 本决策保留[移除注入内容封套](../simplification/2026-07-20-unwrap-injected-content-envelopes.zh.md)确立的由调用方决定内容框架的原则,以及[一次 send、一个轮次](../simplification/2026-07-17-one-send-one-turn.zh.md)确立的单条目轮次规则。后续的[独立纯日志事件决策](../simplification/2026-07-28-remove-synthetic-log-only-turns.zh.md)将同样的「轮次仅表示执行」语义应用于插件所属记录。 diff --git a/.agents/notes/implemented/architecture/2026-07-24-single-harness-home-resolver.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-24-single-harness-home-resolver.i18n.yaml index 4af7abd046..b8ff3f88c2 100644 --- a/.agents/notes/implemented/architecture/2026-07-24-single-harness-home-resolver.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-24-single-harness-home-resolver.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-24-single-harness-home-resolver.md -2026-07-24-single-harness-home-resolver.md: 2351766e73167a6afd241c87f733aeff326bc6ac -2026-07-24-single-harness-home-resolver.zh.md: b1c6db85941c440e4b34862ab11a4331fdd98753 +2026-07-24-single-harness-home-resolver.md: 02578674b4547bae54b2edce99c6c4ef53748588 +2026-07-24-single-harness-home-resolver.zh.md: 5764be3f85901196cd2a2db77d1fc3838668163f diff --git a/.agents/notes/implemented/architecture/2026-07-24-single-harness-home-resolver.md b/.agents/notes/implemented/architecture/2026-07-24-single-harness-home-resolver.md index 2351766e73..02578674b4 100644 --- a/.agents/notes/implemented/architecture/2026-07-24-single-harness-home-resolver.md +++ b/.agents/notes/implemented/architecture/2026-07-24-single-harness-home-resolver.md @@ -25,7 +25,7 @@ An empty or whitespace-only `$DSH_HOME` is treated as unset; otherwise `resolve( `@deepseek-ai/dsh-home` is deleted. Home-owning providers and boot packages import `resolveDshHome` from `dsh-home-paths`; composition bundles contain only the resolved configuration rows. -`dsh-telemetry` and its separate home policy are absent under the [SDK project toolchain removal](../simplification/2026-08-11-remove-sdk-project-toolchain.md), leaving this resolver as the sole home policy. +`dsh-telemetry` and its separate home policy are absent under the [SDK project toolchain removal](../../archived/simplification/2026-08-11-remove-sdk-project-toolchain.md), leaving this resolver as the sole home policy. ## Alternatives considered diff --git a/.agents/notes/implemented/architecture/2026-07-24-single-harness-home-resolver.zh.md b/.agents/notes/implemented/architecture/2026-07-24-single-harness-home-resolver.zh.md index b1c6db8594..5764be3f85 100644 --- a/.agents/notes/implemented/architecture/2026-07-24-single-harness-home-resolver.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-24-single-harness-home-resolver.zh.md @@ -25,7 +25,7 @@ explicit configured path > $DSH_HOME > ~/.dsh `@deepseek-ai/dsh-home` 被删除。拥有 home 配置的提供方与 boot 包从 `dsh-home-paths` 导入 `resolveDshHome`;组合包只包含解析后的配置行。 -`dsh-telemetry` 及其独立 home 策略已随 [SDK 项目工具链移除](../simplification/2026-08-11-remove-sdk-project-toolchain.zh.md)一并消失,因此该解析器是唯一的 home 策略。 +`dsh-telemetry` 及其独立 home 策略已随 [SDK 项目工具链移除](../../archived/simplification/2026-08-11-remove-sdk-project-toolchain.md)一并消失,因此该解析器是唯一的 home 策略。 ## 备选方案 diff --git a/.agents/notes/implemented/architecture/2026-07-24-web-config-tree-boot-and-transport-layering.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-24-web-config-tree-boot-and-transport-layering.i18n.yaml index e935dd601a..43a487556f 100644 --- a/.agents/notes/implemented/architecture/2026-07-24-web-config-tree-boot-and-transport-layering.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-24-web-config-tree-boot-and-transport-layering.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-24-web-config-tree-boot-and-transport-layering.md -2026-07-24-web-config-tree-boot-and-transport-layering.md: c44f68bb65758ec4879da8bded60f27f2f11e0bc -2026-07-24-web-config-tree-boot-and-transport-layering.zh.md: 80f385a0a76a427c8f604a0df76decf77d2e62b0 +2026-07-24-web-config-tree-boot-and-transport-layering.md: e7c0781e1504bce12a8b0d2197bd47b37d3e873a +2026-07-24-web-config-tree-boot-and-transport-layering.zh.md: 9a0affa397151a3994c5731bebda4b45a4139b6c diff --git a/.agents/notes/implemented/architecture/2026-07-24-web-config-tree-boot-and-transport-layering.md b/.agents/notes/implemented/architecture/2026-07-24-web-config-tree-boot-and-transport-layering.md index c44f68bb65..e7c0781e15 100644 --- a/.agents/notes/implemented/architecture/2026-07-24-web-config-tree-boot-and-transport-layering.md +++ b/.agents/notes/implemented/architecture/2026-07-24-web-config-tree-boot-and-transport-layering.md @@ -12,11 +12,11 @@ English | [中文](2026-07-24-web-config-tree-boot-and-transport-layering.zh.md) ## Decision -**Composition is one flat assembled tree.** `apps/cli/config/base.cordis.yml` plus `apps/cli/config/web.cordis.yml` holds every row — the host runtime (32 rows), the `api-gateway` row, the `webserver` row, and the `dsh.client` rows (the browser roster; the modules row is simultaneously a host row). No spine bundle: every plugin is one row and every config field is yml-editable. That stance later became repository-wide, with the rows both surfaces share factored into `apps/cli/config/base.cordis.yml` and each surface reduced to an overlay ([shared-base overlays](../simplification/2026-07-29-shared-base-config-overlays.md)). The `dsh-client-hmr` row is an ordinary always-on bundle row (originally appended in code by `--dev`; the flag is retired). Row order carries no load semantics; activation is service-availability driven. The shared audit rejects imports with no fiber, awaits only failed fibers to recover original activation errors, and reports services that leave a fiber `PENDING`; before throwing, it marks those exact rejection reasons through one process checkpoint so `installFailLoud` coalesces Loader's duplicate notification while unrelated unhandled rejections remain fatal. The Node app-boot artifact embeds `@cordisjs/plugin-include` while leaving `@cordisjs/plugin-loader` external, so the include's `EntryTree` and the host bind to one Loader peer instead of splitting a config tree across two Loader implementations. +**Composition is one flat assembled tree.** `apps/cli/config/base.cordis.yml` plus `apps/cli/config/web.cordis.yml` holds every row — the host runtime (32 rows), the `api-gateway` row, the `webserver` row, and the `dsh.client` rows (the browser roster; the modules row is simultaneously a host row). No spine bundle: every plugin is one row and every config field is yml-editable. That stance later became repository-wide, with the rows both surfaces share factored into `apps/cli/config/base.cordis.yml` and each surface reduced to an overlay ([shared-base overlays](../../archived/simplification/2026-07-29-shared-base-config-overlays.md)). The `dsh-client-hmr` row is an ordinary always-on bundle row (originally appended in code by `--dev`; the flag is retired). Row order carries no load semantics; activation is service-availability driven. The shared audit rejects imports with no fiber, awaits only failed fibers to recover original activation errors, and reports services that leave a fiber `PENDING`; before throwing, it marks those exact rejection reasons through one process checkpoint so `installFailLoud` coalesces Loader's duplicate notification while unrelated unhandled rejections remain fatal. The Node app-boot artifact embeds `@cordisjs/plugin-include` while leaving `@cordisjs/plugin-loader` external, so the include's `EntryTree` and the host bind to one Loader peer instead of splitting a config tree across two Loader implementations. **Boot glue is a class pair.** `AppCLIEntry` (apps/cli) and `AppWebEntry` (the shell kernel) hold only what must exist independently of cordis: argv facts, the composed patch set, the parsed boot manifest, the module system instance, loading-page handles — everything else lives in plugins. `AppCLIEntry.run()` is three stages: layered env (ambient > cwd `.env` > `$DSH_HOME/.env`, closing the defect above) → patch composition → Loader include boot plus the activation audit. `AppWebEntry.run()` mirrors it browser-side: parse `window.__DSH_BOOT__` into a `BootManifest` (two views: npm-package rows for the module table, cordis-plugin rows for entry composition; malformed wire throws), build the module system, render the loading page, prefetch the `immediately` tier in parallel with Context/Loader setup, **await the prefetch before creating entries** (materialization is `tree.import`'s synchronous require, unprotected by fiber inject waiting; cross-package require edges such as i18n → runtime/client need every immediately-tier factory registered first — an empirically found 10–25% boot race otherwise), adopt the modules entry, create the graph rows, settle, sweep. -**Config sources have one declaration place each.** Bundle yml values are engineering defaults, Settings sections are writable user preferences, CLI flags address their owning launcher rows, and env values enter through yml `!!js` expressions. Patches replace a row's config wholesale. The resolved frontend `distIndex` uses that patch channel as an assembly fact. The transport-independent provider/model default belongs to `ctx.agentDefaultModel`; the [direct headless entry point](2026-08-09-headless-direct-core-entry-point.md) and the Session Controller consume the same state. +**Config sources have one declaration place each.** Bundle yml values are engineering defaults, Settings sections are writable user preferences, CLI flags address their owning launcher rows, and env values enter through yml `!!js` expressions. Patches replace a row's config wholesale. The resolved frontend `distIndex` uses that patch channel as an assembly fact. The transport-independent provider/model default belongs to `ctx.agentDefaultModel`; the [direct headless entry point](../../archived/architecture/2026-08-09-headless-direct-core-entry-point.md) and the Session Controller consume the same state. **Transport responsibilities have explicit owners.** `dsh-client-connection` owns the `/api` route, request and response envelopes, browser authentication, Host/Origin checks, exact Fetch route registration, and the shared Typert interceptor seat. `dsh-api-gateway` owns typed Remote dispatch and the multiplexed WebSocket. `dsh-host-webserver` is a plain route-registration plugin: `WebServer` provides `ctx.webServer` (`register(route) → disposer` with duplicate-pattern throw, `renderIndex` rendering — structured `webserver/index-inject` rows, then raw `tapIndex` transforms in registration order — and `port`), listens on activation, answers per-request failures with 400 and logging, and knows no harness concepts. Its socket-backed Node HTTP entry may apply configured gzip through maintained middleware without adding a response-writing service method or changing route owners; the Web Worker tunnel carries identity bytes. The modules node half (`ClientModuleRegistry`, providing `ctx.clientModules`) owns incremental package scanning, the bundle route, the boot injection rows, and `onRebuilt`/`onGraphChanged` notification. The hmr node half owns dev reload through `fs.watchFile` membership and the `/plugins/events` SSE route. @@ -25,7 +25,7 @@ English | [中文](2026-07-24-web-config-tree-boot-and-transport-layering.zh.md) ## Consequences - Recomposing a web deployment is a yml/patch edit; the retired pieces (`mountWebPlugins`, `CLIENT_PACKAGES`, `createHostWebPluginRegistry`, `startWebServer`, the webserver's graph/SSE/api knowledge) are deleted. -- [Headless is a direct core entry point](2026-08-09-headless-direct-core-entry-point.md): its shipped profile contains the shared base Agent capabilities and omits Host, HTTP, Web, and browser layers. The transport split in this note is the browser surface's contract. +- [Headless is a direct core entry point](../../archived/architecture/2026-08-09-headless-direct-core-entry-point.md): its shipped profile contains the shared base Agent capabilities and omits Host, HTTP, Web, and browser layers. The transport split in this note is the browser surface's contract. - A TypeScript pitfall worth remembering: a `declare module 'cordis'` augmentation in a file with **no cordis import** is demoted to a standalone module declaration and silently shatters the program-wide `Context` merge (`ctx.on`/`ctx.effect` vanish across the program). Anchor with `import type {} from 'cordis'`. ## Alternatives considered diff --git a/.agents/notes/implemented/architecture/2026-07-24-web-config-tree-boot-and-transport-layering.zh.md b/.agents/notes/implemented/architecture/2026-07-24-web-config-tree-boot-and-transport-layering.zh.md index 80f385a0a7..9a0affa397 100644 --- a/.agents/notes/implemented/architecture/2026-07-24-web-config-tree-boot-and-transport-layering.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-24-web-config-tree-boot-and-transport-layering.zh.md @@ -12,11 +12,11 @@ Status: implemented ## 决策 -**组合结果是一棵平铺配置树。** `apps/cli/config/base.cordis.yml` 与 `apps/cli/config/web.cordis.yml` 共同持有全部行——host 运行时(32 行)、`api-gateway` 行、`webserver` 行、`dsh.client` 行(浏览器 roster;modules 行同时是 host 行)。不做主干 bundle:每插件一行、每个 config 字段 yml 可改。这一立场后来推广到全仓:两个 surface 共享的配置项被抽取进 `apps/cli/config/base.cordis.yml`,各 surface 则收敛为一份 overlay([共享 base overlay](../simplification/2026-07-29-shared-base-config-overlays.zh.md))。`dsh-client-hmr` 行是普通的始终启用的 bundle 行(最初由 `--dev` 在代码中追加;该旗标已废除)。行序无装载语义;激活由服务可用性驱动。共享 audit 会拒绝没有 fiber 的 import、仅等待失败的 fiber 以恢复原始激活错误,并报告让 fiber 停在 `PENDING` 的服务;抛出错误前,审计会通过一个进程级检查点标记这些 rejection 的确切原因,从而让 `installFailLoud` 将 Loader 的重复通知合并为一次,而无关的未处理 rejection 仍然致命。Node app-boot 产物内嵌 `@cordisjs/plugin-include`,但将 `@cordisjs/plugin-loader` 保持为外部依赖,因此 include 的 `EntryTree` 与 host 会绑定到同一个 Loader peer,而不会让一棵配置树横跨两个 Loader 实现。 +**组合结果是一棵平铺配置树。** `apps/cli/config/base.cordis.yml` 与 `apps/cli/config/web.cordis.yml` 共同持有全部行——host 运行时(32 行)、`api-gateway` 行、`webserver` 行、`dsh.client` 行(浏览器 roster;modules 行同时是 host 行)。不做主干 bundle:每插件一行、每个 config 字段 yml 可改。这一立场后来推广到全仓:两个 surface 共享的配置项被抽取进 `apps/cli/config/base.cordis.yml`,各 surface 则收敛为一份 overlay([共享 base overlay](../../archived/simplification/2026-07-29-shared-base-config-overlays.md))。`dsh-client-hmr` 行是普通的始终启用的 bundle 行(最初由 `--dev` 在代码中追加;该旗标已废除)。行序无装载语义;激活由服务可用性驱动。共享 audit 会拒绝没有 fiber 的 import、仅等待失败的 fiber 以恢复原始激活错误,并报告让 fiber 停在 `PENDING` 的服务;抛出错误前,审计会通过一个进程级检查点标记这些 rejection 的确切原因,从而让 `installFailLoud` 将 Loader 的重复通知合并为一次,而无关的未处理 rejection 仍然致命。Node app-boot 产物内嵌 `@cordisjs/plugin-include`,但将 `@cordisjs/plugin-loader` 保持为外部依赖,因此 include 的 `EntryTree` 与 host 会绑定到同一个 Loader peer,而不会让一棵配置树横跨两个 Loader 实现。 **boot 胶水由两个类组成。** `AppCLIEntry`(apps/cli)与 `AppWebEntry`(壳内核)只持有那些必须独立于 cordis、提前存在的东西:argv 事实、合成的 patch 集、解析出的 boot manifest(元数据清单)、模块系统实例、loading 页句柄——其余一律进插件。`AppCLIEntry.run()` 三段:分层 env(ambient > cwd `.env` > `$DSH_HOME/.env`,顺手关掉上述缺陷)→ patch 合成 → Loader include boot 加 activation audit。`AppWebEntry.run()` 在浏览器侧镜像它:把 `window.__DSH_BOOT__` 解析成 `BootManifest`(双视角:npm 包行给模块表、cordis 插件行给 entry 组合;畸形 wire 大声抛)、建模块系统、渲染 loading 页、immediately 层预取与 Context/Loader 准备并行、**create entry 之前等预取齐**(物化是 `tree.import` 的同步 require,不受 fiber inject 等待保护;i18n → runtime/client 这类跨包 require 边要求 immediately 层工厂全部注册完——否则有实测 10–25% 的 boot 竞态)、收编 modules entry、逐一创建图行、settle、sweep。 -**每个配置源有唯一声明位置。** 组合包 yml 值是工程默认,Settings 分节是可写的用户偏好,CLI(命令行界面)flags 面向其归属的启动器配置行,env 值则通过 yml `!!js` 表达式进入。patch 会整体替换一行的 config。解析后的前端 `distIndex` 通过同一条 patch 通道作为组装事实传递。与传输无关的提供方/模型默认值归 `ctx.agentDefaultModel` 所有;[直接 headless 入口](2026-08-09-headless-direct-core-entry-point.zh.md)与 Session Controller 消费同一份状态。 +**每个配置源有唯一声明位置。** 组合包 yml 值是工程默认,Settings 分节是可写的用户偏好,CLI(命令行界面)flags 面向其归属的启动器配置行,env 值则通过 yml `!!js` 表达式进入。patch 会整体替换一行的 config。解析后的前端 `distIndex` 通过同一条 patch 通道作为组装事实传递。与传输无关的提供方/模型默认值归 `ctx.agentDefaultModel` 所有;[直接 headless 入口](../../archived/architecture/2026-08-09-headless-direct-core-entry-point.md)与 Session Controller 消费同一份状态。 **传输职责各有明确 owner。** `dsh-client-connection` 持有 `/api` 路由、请求与响应 envelope、浏览器认证、Host/Origin 检查、精确 Fetch 路由注册以及共享 Typert interceptor 席位。`dsh-api-gateway` 持有类型化 Remote 分发和多路复用 WebSocket。`dsh-host-webserver` 是朴素的路由注册插件:`WebServer` provide `ctx.webServer`(`register(route) → disposer`、重复 pattern 即抛、`renderIndex` 渲染——先结构化 `webserver/index-inject` 行、后原始 `tapIndex` 按注册序应用——与 `port`),激活即 listen,单请求失败时答 400 并记日志,且不认识任何 harness 概念。其基于 socket 的 Node HTTP 入口可以通过受维护的中间件应用已配置的 gzip,无需新增响应写出服务方法或改变 route owner;Web Worker 隧道传递 identity 字节。modules node 半(`ClientModuleRegistry`,provide `ctx.clientModules`)持有单包增量扫描、bundle 路由、启动注入行与 `onRebuilt`/`onGraphChanged` 通知。HMR(热模块替换)node 半通过 `fs.watchFile` membership 与 `/plugins/events` SSE 路由持有开发期重载。 @@ -25,7 +25,7 @@ Status: implemented ## 后果 - 重组一个 web 部署 = 改 yml/patch;退役件(`mountWebPlugins`、`CLIENT_PACKAGES`、`createHostWebPluginRegistry`、`startWebServer`、webserver 的图/SSE/api 知识)全部删除。 -- [Headless 是直接 core 入口](2026-08-09-headless-direct-core-entry-point.zh.md):其随附 profile 包含共享的 base Agent 能力,并省去 Host、HTTP、Web 与浏览器层。本笔记的传输划分是浏览器 surface 的约定。 +- [Headless 是直接 core 入口](../../archived/architecture/2026-08-09-headless-direct-core-entry-point.md):其随附 profile 包含共享的 base Agent 能力,并省去 Host、HTTP、Web 与浏览器层。本笔记的传输划分是浏览器 surface 的约定。 - 一个值得记住的 TypeScript 坑:`declare module 'cordis'` augmentation 所在文件若**没有任何 cordis import**,会被降级成独立模块声明,无声打散全程序的 `Context` merge(`ctx.on`/`ctx.effect` 全程序消失)。用 `import type {} from 'cordis'` 锚定。 ## 考虑过的替代方案 diff --git a/.agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.i18n.yaml index cc913ae925..f1780bcbf7 100644 --- a/.agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.md -2026-07-25-web-client-session-scope-and-provide-channel.md: feffb1ac0c5bb91c33e61ea18583202e96bad34d -2026-07-25-web-client-session-scope-and-provide-channel.zh.md: 5d368b4fd810264cb1b451d583de51e1d4cb232b +2026-07-25-web-client-session-scope-and-provide-channel.md: 4cdca4c1cb5b512c1696a397bbb6e4d070a6a487 +2026-07-25-web-client-session-scope-and-provide-channel.zh.md: 0258609fd8df90dc2133fcb8bf6e7e50efaab941 diff --git a/.agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.md b/.agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.md index feffb1ac0c..4cdca4c1cb 100644 --- a/.agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.md +++ b/.agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.md @@ -4,7 +4,7 @@ Status: implemented English | [中文](2026-07-25-web-client-session-scope-and-provide-channel.zh.md) -> Scope: the client Agent scope (actx) and targeted events, the client/host materialization parity model, the blank-session bit and reuse (`connectWorkspace`), the per-session provisioning channel (`sessions.provide`), and the host wire smalls that carry these capabilities (the summary `blank` column, the `host/session-added` frame field, and the `host/commands-changed` frame). The input state machine and the slash pipeline live in the [input machine note](2026-07-25-web-input-machine-and-slash-pipeline.md); the command business surfaces live in the [command surfaces note](2026-07-25-web-command-surfaces-and-assembly.md). +> Scope: the client Agent scope (actx) and targeted events, the client/host materialization parity model, the blank-session bit and reuse (`connectWorkspace`), the per-session provisioning channel (`sessions.provide`), and the host wire smalls that carry these capabilities (the summary `blank` column, the `host/session-added` frame field, and the `host/commands-changed` frame). The input state machine and the slash pipeline live in the [input machine note](../../archived/architecture/2026-07-25-web-input-machine-and-slash-pipeline.md); the command business surfaces live in the [command surfaces note](../../archived/architecture/2026-07-25-web-command-surfaces-and-assembly.md). ## Problem @@ -74,7 +74,7 @@ A session "materialized but with no first prompt" is governed by the summary-der `workspaces.connectWorkspace(workspaceId): Promise` (owned by WorkspaceRuntime — it holds both the workspace canonical path and the sessions reference): -- The reuse arm: the list mirror is searched for `blank && cwd == workspace.path && sessionIds.includes(id)` — the host's own membership rule, never cwd alone. A cwd match without the account slot (a CLI/TUI session birthed at the host cwd, or a deleted/recreated registration) would open a session no grouping surface can show under this Workspace, so it falls through to the create arm instead (see the [membership reuse fix](../bug-fix/2026-08-05-workspace-blank-session-reuse-membership.md)); a hit returns that id directly, creating nothing. +- The reuse arm: the list mirror is searched for `blank && cwd == workspace.path && sessionIds.includes(id)` — the host's own membership rule, never cwd alone. A cwd match without the account slot (a CLI/TUI session birthed at the host cwd, or a deleted/recreated registration) would open a session no grouping surface can show under this Workspace, so it falls through to the create arm instead (see the [membership reuse fix](../../archived/bug-fix/2026-08-05-workspace-blank-session-reuse-membership.md)); a hit returns that id directly, creating nothing. - The create arm: on a miss, `session.create({workspaceId})` returns the new id. - An unknown workspaceId fails loud (never silently creating somewhere else). - The resolution guarantee (one contract for both arms): when the promise resolves, the returned id is already in the list store and `sessions.binding(id)` resolves synchronously — `SessionRuntime.create` projects the list synchronously after RPC success before resolving, so a draft mover can write text into the new scope's machine before open, without waiting for a notifier flush. @@ -107,7 +107,7 @@ Slot scope is the closed set `root | session-maybe | session`: - The summary `blank` column and the `host/session-added` frame's `blank` field (see the blank bit above). - The SSE frame `host/commands-changed` (a pure invalidation signal); the client routes it into the typed events `commands/changed` and `connection/reset` (broadcast after each connection generation is established; wire-derived caches uniformly treat prior state as stale). The commands frame and its typed client event were later replaced by verbatim forwarding of `commands/change` through `ctx.remote.$on` ([forwarded Remote events](2026-08-10-remote-event-delivery.md)); `connection/reset` is unchanged, and the invalidation-not-diffing contract this bullet states still holds. -- `command.list/execute` and `skills/list` are uniformly single-addressed by `sessionId` (a session always has an Agent; `agentFor`'s resume semantics come ready-made); the command-surface narrative lives in the [command surfaces note](2026-07-25-web-command-surfaces-and-assembly.md). +- `command.list/execute` and `skills/list` are uniformly single-addressed by `sessionId` (a session always has an Agent; `agentFor`'s resume semantics come ready-made); the command-surface narrative lives in the [command surfaces note](../../archived/architecture/2026-07-25-web-command-surfaces-and-assembly.md). - The `session.create` request shape: workspaceId/cwd as either-or, plus an optional caller-preallocated sessionId (a same-id same-cwd retry is idempotent; a different cwd reports `session-conflict`). ## Alternatives considered diff --git a/.agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.zh.md b/.agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.zh.md index 5d368b4fd8..0258609fd8 100644 --- a/.agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.zh.md @@ -4,7 +4,7 @@ Status: implemented [English](2026-07-25-web-client-session-scope-and-provide-channel.md) | 中文 -> 范围:client Agent scope(actx)与定向事件、client/host 实体化对等模型、空会话 blank 位与复用(`connectWorkspace`)、逐会话供数通道(`sessions.provide`),以及承载这些能力的 host wire 小件(summary `blank` 列、`host/session-added` 帧字段、`host/commands-changed` 帧)。输入状态机与 slash 管线见[输入状态机 note](2026-07-25-web-input-machine-and-slash-pipeline.zh.md);命令业务面见[命令业务面 note](2026-07-25-web-command-surfaces-and-assembly.zh.md)。 +> 范围:client Agent scope(actx)与定向事件、client/host 实体化对等模型、空会话 blank 位与复用(`connectWorkspace`)、逐会话供数通道(`sessions.provide`),以及承载这些能力的 host wire 小件(summary `blank` 列、`host/session-added` 帧字段、`host/commands-changed` 帧)。输入状态机与 slash 管线见[输入状态机 note](../../archived/architecture/2026-07-25-web-input-machine-and-slash-pipeline.md);命令业务面见[命令业务面 note](../../archived/architecture/2026-07-25-web-command-surfaces-and-assembly.md)。 ## 问题 @@ -74,7 +74,7 @@ Session 实例与 scope 同生命周期,存活资格 = host listed(一个判 `workspaces.connectWorkspace(workspaceId): Promise`(归属 WorkspaceRuntime——它同时持有 workspace 规范 path 与 sessions 引用): -- 复用臂:list mirror 中找 `blank && cwd == workspace.path && sessionIds.includes(id)`——host 自己的成员规则,绝不只按 cwd。没有账户槽位的 cwd 匹配(CLI(命令行界面)/TUI 在 host cwd 创建的会话,或已删除/重建的注册)会打开一个任何分组表面都无法显示在该工作区下的会话,因此落到新建臂(见[成员复用修复](../bug-fix/2026-08-05-workspace-blank-session-reuse-membership.zh.md));命中直接返回该 id,不新建。 +- 复用臂:list mirror 中找 `blank && cwd == workspace.path && sessionIds.includes(id)`——host 自己的成员规则,绝不只按 cwd。没有账户槽位的 cwd 匹配(CLI(命令行界面)/TUI 在 host cwd 创建的会话,或已删除/重建的注册)会打开一个任何分组表面都无法显示在该工作区下的会话,因此落到新建臂(见[成员复用修复](../../archived/bug-fix/2026-08-05-workspace-blank-session-reuse-membership.md));命中直接返回该 id,不新建。 - 新建臂:未命中则 `session.create({workspaceId})`,返回新 id。 - 未知 workspaceId fail loud(不静默创建到别处)。 - 解析保证(两臂同约定):promise resolve 时返回的 id 已在 list store 且 `sessions.binding(id)` 同步可解析——`SessionRuntime.create` 在 RPC 成功后同步投影列表再 resolve,使 draft 搬运方可以在 open 之前往新 scope 的 machine 写文本,不等 notifier flush。 @@ -107,7 +107,7 @@ slot scope 是闭集 `root | session-maybe | session`: - summary `blank` 列与 `host/session-added` 帧 `blank` 字段(见上文 blank 位)。 - SSE(Server-Sent Events)帧 `host/commands-changed`(纯失效信号);client 路由为类型事件 `commands/changed` 与 `connection/reset`(连接代建立后广播,wire 派生缓存一律视旧态为陈旧)。 该 commands 帧及其类型化 client 事件后来被「`commands/change` 经 `ctx.remote.$on` 原样转发」取代([转发的 Remote 事件](2026-08-10-remote-event-delivery.zh.md));`connection/reset` 不变;本条陈述的「失效而非差分」契约依然成立。 -- `command.list/execute`、`skills/list` 一律 `sessionId` 单址(会话恒有 Agent,`agentFor` 的恢复语义现成);命令面叙述见[命令业务面 note](2026-07-25-web-command-surfaces-and-assembly.zh.md)。 +- `command.list/execute`、`skills/list` 一律 `sessionId` 单址(会话恒有 Agent,`agentFor` 的恢复语义现成);命令面叙述见[命令业务面 note](../../archived/architecture/2026-07-25-web-command-surfaces-and-assembly.md)。 - `session.create` 请求形状:workspaceId/cwd 二选一 + 可选调用方预分配 sessionId(同 id 同 cwd 重试幂等,异 cwd 报 `session-conflict`)。 ## 考虑过的替代方案 diff --git a/.agents/notes/implemented/architecture/2026-07-25-web-command-surfaces-and-assembly.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-25-web-command-surfaces-and-assembly.i18n.yaml deleted file mode 100644 index f882a6977d..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-25-web-command-surfaces-and-assembly.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-25-web-command-surfaces-and-assembly.md -2026-07-25-web-command-surfaces-and-assembly.md: bf3b14623b429709505dfeb9801945cce70b981e -2026-07-25-web-command-surfaces-and-assembly.zh.md: ea22fcb75bc4a035cbc36c068e341d59e1429046 diff --git a/.agents/notes/implemented/architecture/2026-07-25-web-input-machine-and-slash-pipeline.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-25-web-input-machine-and-slash-pipeline.i18n.yaml deleted file mode 100644 index fbb3f653a0..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-25-web-input-machine-and-slash-pipeline.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-25-web-input-machine-and-slash-pipeline.md -2026-07-25-web-input-machine-and-slash-pipeline.md: 1b9e9d95b5a30efbf297be5fc5f788f9a1ac77c4 -2026-07-25-web-input-machine-and-slash-pipeline.zh.md: c9bee217da1dbffaeff69dfe5a2dcf8f0e8e3cb0 diff --git a/.agents/notes/implemented/architecture/2026-07-27-dispose-ladder-to-consumer.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-27-dispose-ladder-to-consumer.i18n.yaml deleted file mode 100644 index a81c4706e7..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-27-dispose-ladder-to-consumer.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-27-dispose-ladder-to-consumer.md -2026-07-27-dispose-ladder-to-consumer.md: 58d835864d2f6544152fdf09cf6e93380793a2ae -2026-07-27-dispose-ladder-to-consumer.zh.md: dc7413e85fa6e52de14f51fd175c7b37b43029a4 diff --git a/.agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.i18n.yaml deleted file mode 100644 index d09e7e13cd..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.md -2026-07-28-directory-picker-capability-seam.md: 10ab8e393d5d33da6a09af5caa4024f02c57165c -2026-07-28-directory-picker-capability-seam.zh.md: 8764dc208bef1ead3fc1ef608c4d3b2b37400602 diff --git a/.agents/notes/implemented/architecture/2026-07-28-identified-immutable-message-values.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-28-identified-immutable-message-values.i18n.yaml index b5337bdd71..1b91468214 100644 --- a/.agents/notes/implemented/architecture/2026-07-28-identified-immutable-message-values.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-28-identified-immutable-message-values.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-28-identified-immutable-message-values.md -2026-07-28-identified-immutable-message-values.md: b77891970cb3e5456989436565e5b8b118dedc45 -2026-07-28-identified-immutable-message-values.zh.md: ebf274ffa3877f34a081ded232a46b6f39689b57 +2026-07-28-identified-immutable-message-values.md: 9d2b22a5a1fc87ea7b0ff8eb24b2e8c4b86543e1 +2026-07-28-identified-immutable-message-values.zh.md: 6b36cfec0a24196ca526b0ffb21180967aa640eb diff --git a/.agents/notes/implemented/architecture/2026-07-28-identified-immutable-message-values.md b/.agents/notes/implemented/architecture/2026-07-28-identified-immutable-message-values.md index b77891970c..9d2b22a5a1 100644 --- a/.agents/notes/implemented/architecture/2026-07-28-identified-immutable-message-values.md +++ b/.agents/notes/implemented/architecture/2026-07-28-identified-immutable-message-values.md @@ -46,5 +46,5 @@ The message and helper unit tests pin immediate identity, detachment, deep immut ## Related -- [Unified agent delivery routing and coalesced injected context](2026-07-22-unified-send-and-coalesced-user-messages.md) — this note supersedes its input-representation and agent-assigned-id details while retaining its routing decision. +- [Unified agent delivery routing and coalesced injected context](../../archived/architecture/2026-07-22-unified-send-and-coalesced-user-messages.md) — this note supersedes its input-representation and agent-assigned-id details while retaining its routing decision. - [Reconstructable requests](2026-07-05-reconstructable-requests.md) — the session log remains the authority for every model-visible input. diff --git a/.agents/notes/implemented/architecture/2026-07-28-identified-immutable-message-values.zh.md b/.agents/notes/implemented/architecture/2026-07-28-identified-immutable-message-values.zh.md index ebf274ffa3..6b36cfec0a 100644 --- a/.agents/notes/implemented/architecture/2026-07-28-identified-immutable-message-values.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-28-identified-immutable-message-values.zh.md @@ -46,5 +46,5 @@ harness 曾存在多种形似消息的表示,各自采用不同的标识规则 ## 相关 -- [统一 agent 交付路由,并合并注入上下文](2026-07-22-unified-send-and-coalesced-user-messages.zh.md)——本记录取代其中的输入表示和由 agent 分配 id 的细节,同时保留其路由决策。 +- [统一 agent 交付路由,并合并注入上下文](../../archived/architecture/2026-07-22-unified-send-and-coalesced-user-messages.md)——本记录取代其中的输入表示和由 agent 分配 id 的细节,同时保留其路由决策。 - [可重建的请求](2026-07-05-reconstructable-requests.zh.md)——会话日志仍是每项模型可见输入的权威来源。 diff --git a/.agents/notes/implemented/architecture/2026-07-28-portable-execution-world-consumers.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-28-portable-execution-world-consumers.i18n.yaml index 40454e9a56..441e67f823 100644 --- a/.agents/notes/implemented/architecture/2026-07-28-portable-execution-world-consumers.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-28-portable-execution-world-consumers.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-28-portable-execution-world-consumers.md -2026-07-28-portable-execution-world-consumers.md: 760005f1460890222c5af1ea0ec4eaf9cb29f360 -2026-07-28-portable-execution-world-consumers.zh.md: d78b04a5af785be0707d06e519819f95c524d92d +2026-07-28-portable-execution-world-consumers.md: 787fe341e58cc212c99e0f35f07eea8e83daf000 +2026-07-28-portable-execution-world-consumers.zh.md: a558a5af64437b8743e741ace4ccf27079501721 diff --git a/.agents/notes/implemented/architecture/2026-07-28-portable-execution-world-consumers.md b/.agents/notes/implemented/architecture/2026-07-28-portable-execution-world-consumers.md index 760005f146..787fe341e5 100644 --- a/.agents/notes/implemented/architecture/2026-07-28-portable-execution-world-consumers.md +++ b/.agents/notes/implemented/architecture/2026-07-28-portable-execution-world-consumers.md @@ -18,13 +18,13 @@ Ordinary pipes do not cover one requirement. A persistent terminal needs PTY all The filesystem interface owns the path facts that another capability needs without exposing its opaque target identity: a canonical process path, canonical `file:` URI, and containment. Existing whole and streaming text operations remain filesystem-owned; protocol consumers enforce their own retention limits while consuming the stream. -The subprocess interface owns executable lookup and process primitives: ordinary raw or collected process spawning and `spawnTerminal()`. The terminal operation is one deep primitive whose handle owns text I/O, foreground groups, signalling, and one awaited TERM-to-KILL operation that settles in-flight handle calls and reaches quiescence for every session member the provider can still observe. Its signal cancels allocation only; the published handle owns its lifetime. Prompt detection, idle inference, scrollback, sandbox policy, and owner lifecycle remain in the PTY consumer. +The subprocess interface owns executable lookup and process primitives: ordinary raw or collected process spawning and `spawnTerminal()`. An ordinary handle keeps target identity private: `.done` reports the direct target, while `terminate()` and `waitForExit()` control and observe the same provider-managed range. The [native-containment decision](2026-08-28-subprocess-native-containment.md) owns local Linux scopes, Windows Jobs, and their disclosed fallbacks. The terminal operation is one deep primitive whose handle owns text I/O, foreground groups, signalling, and one awaited TERM-to-KILL operation that settles in-flight handle calls and reaches quiescence for every member of its provider-owned range; an observational fallback limits that range to identities it can still observe. Its signal cancels allocation only; the published handle owns its lifetime. Prompt detection, idle inference, scrollback, sandbox policy, and owner lifecycle remain in the PTY consumer. Generic consumers use that execution world: - `dsh-bash-local` continues to map Bash semantics onto ordinary `ctx.subprocess.spawn()`. - `dsh-lsp-stdio` reads and contains source through `ctx.fs`, resolves and launches language servers through `ctx.subprocess`, and carries provider-owned file URIs through initialization and result rendering. One provider-lifetime signal aborts filesystem and protocol work during disposal, including workspace lookup before queue ownership; its JSON-RPC, pooling, synchronization, and normalization stay unchanged. -- `dsh-terminal-bash` maps persistent-shell semantics onto `ctx.subprocess.spawnTerminal()`. The local `node-pty` and process-inspection implementation moves into `dsh-subprocess-local`; another subprocess provider supplies the same primitive. `danger-full-access` needs no `ctx.sandbox`; a confined mode requires a same-world sandbox provider and fails before spawn when none is mounted. Prompt and silence evidence collected during asynchronous pre-write inspection is discarded when the provider write begins. Cancellation retains the send reservation while an in-flight write settles and then signals the foreground group, so late bytes or the signal cannot target a successor; an in-flight readiness poll cannot release that reservation, and a rejected write sends no signal. The absolute deadline remains armed throughout cancellation. A signal failure becomes terminal transport failure. Completion of a stale inspection resumes polling for the current send. Startup cancellation begins terminal rollback without waiting for a stalled readiness or signalling call. Close rejects new public signals and delegates provider-observable session quiescence to the handle's awaited termination operation. +- `dsh-terminal-bash` maps persistent-shell semantics onto `ctx.subprocess.spawnTerminal()`. The local `node-pty` and process-inspection implementation moves into `dsh-subprocess-local`; another subprocess provider supplies the same primitive. `danger-full-access` needs no `ctx.sandbox`; a confined mode requires a same-world sandbox provider and fails before spawn when none is mounted. Prompt and silence evidence collected during asynchronous pre-write inspection is discarded when the provider write begins. Cancellation retains the send reservation while an in-flight write settles and then signals the foreground group, so late bytes or the signal cannot target a successor; an in-flight readiness poll cannot release that reservation, and a rejected write sends no signal. The absolute deadline remains armed throughout cancellation. A signal failure becomes terminal transport failure. Completion of a stale inspection resumes polling for the current send. Startup cancellation begins terminal rollback without waiting for a stalled readiness or signalling call. Close rejects new public signals and delegates provider-managed session quiescence to the handle's awaited termination operation. ## E2B POC boundary @@ -68,6 +68,6 @@ A remote execution provider implements only its shared sandbox owner plus filesy The fundamental interfaces are wider, and a filesystem/subprocess pair must agree on one execution world. The added operations are limited to facts and lifecycle mechanics that current generic consumers require; model schemas, protocol framing, readiness policy, and presentation do not leak into the providers. -The local implementation absorbs `node-pty` and platform process inspection because it owns local terminal mechanics. This moves code without weakening terminal teardown: disposal sweeps descendants before and after terminating the top-level shell, waits for exact PID-identity-fenced descendants retained during foreground inspection, and retains Linux session members that survive top-level exit. macOS cannot enumerate a POSIX session after its leader exits, so a child that reparents between inspection snapshots remains an explicit local-provider limitation rather than a reason to move process mechanics back into the PTY consumer. +The local implementation absorbs `node-pty` and platform process inspection because it owns local terminal mechanics. On supported Linux hosts, the user-systemd scope retains descendants that call `setsid` or reparent, while process inspection continues to own foreground attribution and synchronous fallback evidence. Other hosts use the observational teardown: disposal sweeps descendants before and after terminating the top-level shell, waits for exact PID-identity-fenced descendants retained during foreground inspection, and retains Linux session members that survive top-level exit. macOS cannot enumerate a POSIX session after its leader exits, so a child that reparents between inspection snapshots remains an explicit local-provider limitation rather than a reason to move process mechanics back into the PTY consumer. The E2B composition demonstrates that a shared sandbox owner plus filesystem and subprocess adapters are sufficient to move the mutable coding world off-host while leaving higher capabilities provider-neutral. Its POC limits remain explicit: the SDK retains complete command transport in host memory, remote startup cannot publish a PID synchronously, exact terminal stdin-wait and independent signal facts are unavailable, numeric PID/PGID operations are not identity-fenced, the initial environment probe cannot hide unknown sandbox-default secrets from already-running same-UID processes, and adapter artifacts remain until sandbox deletion. These are provider constraints, not justification for compatibility shims or more E2B packages. diff --git a/.agents/notes/implemented/architecture/2026-07-28-portable-execution-world-consumers.zh.md b/.agents/notes/implemented/architecture/2026-07-28-portable-execution-world-consumers.zh.md index d78b04a5af..a558a5af64 100644 --- a/.agents/notes/implemented/architecture/2026-07-28-portable-execution-world-consumers.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-28-portable-execution-world-consumers.zh.md @@ -18,13 +18,13 @@ Status: implemented 文件系统接口负责其他能力需要的路径事实,同时不公开其不透明目标身份:规范化进程路径、规范化 `file:` URI 和包含关系。现有完整文本与流式文本操作仍归文件系统负责;协议消费方在消费流时执行各自的保留上限。 -进程管理接口负责可执行文件查找与进程原语:以原始或收集模式 spawn 普通进程,以及 `spawnTerminal()`。终端操作是一项深层原语,其句柄负责文本 I/O、前台进程组、信号发送,以及一项须等待的 TERM→KILL 操作;该操作会结算所有在途句柄调用,并使提供方仍可观察到的每个会话成员完全停稳。其信号只取消分配;句柄一经发布,便负责自身生命周期。提示符检测、空闲推断、scrollback、沙箱策略和所有者生命周期仍由 PTY 消费方负责。 +进程管理接口负责可执行文件查找与进程原语:以原始或收集模式 spawn 普通进程,以及 `spawnTerminal()`。普通句柄把 target identity 保持为私有事实:`.done` 报告 direct target,`terminate()` 与 `waitForExit()` 则控制并观察同一个由提供方管理的范围。[原生 containment 决策](2026-08-28-subprocess-native-containment.zh.md)负责本地 Linux scope、Windows Job 及其已声明的 fallback。终端操作是一项深层原语,其句柄负责文本 I/O、前台进程组、信号发送,以及一项须等待的 TERM→KILL 操作;该操作会结算所有在途句柄调用,并使提供方拥有的范围中每个成员完全停稳;观察型 fallback 只能把该范围限制为它仍可观察到的 identity。其信号只取消分配;句柄一经发布,便负责自身生命周期。提示符检测、空闲推断、scrollback、沙箱策略和所有者生命周期仍由 PTY 消费方负责。 通用消费方使用该执行世界: - `dsh-bash-local` 继续把 Bash 语义映射到普通的 `ctx.subprocess.spawn()`。 - `dsh-lsp-stdio` 通过 `ctx.fs` 读取源文件并验证包含关系,通过 `ctx.subprocess` 解析和启动语言服务器,并让由提供方负责的文件 URI 贯穿初始化与结果渲染。一个提供方生命周期信号会在资源释放期间中止文件系统与协议操作,包括取得队列所有权之前的工作区查找;其 JSON-RPC、池化、同步和规范化保持不变。 -- `dsh-terminal-bash` 把持久 shell 语义映射到 `ctx.subprocess.spawnTerminal()`。本地 `node-pty` 与进程检查实现移入 `dsh-subprocess-local`;其他进程管理提供方则提供相同原语。`danger-full-access` 不需要 `ctx.sandbox`;受限模式要求同一执行世界中存在沙箱提供方,未挂载时会在 spawn 前失败。提供方开始写入时,系统会丢弃异步写入前检查期间收集的提示符与静默证据。取消会在在途写入结算期间保留发送预留,随后向前台进程组发送信号,因此延迟字节和该信号都无法落到后续发送;在途就绪检查无法释放该预留,写入被拒绝时也不会发送信号。绝对截止时间会在整个取消期间保持启用。信号发送失败会成为终结性传输失败。陈旧检查完成后,会针对当前发送恢复轮询。启动取消会立即开始终端回滚,而不等待停滞的就绪检查或信号发送调用。关闭操作会拒绝新的公开信号,并把提供方可观察会话成员的完全停稳委托给句柄上须等待的终止操作。 +- `dsh-terminal-bash` 把持久 shell 语义映射到 `ctx.subprocess.spawnTerminal()`。本地 `node-pty` 与进程检查实现移入 `dsh-subprocess-local`;其他进程管理提供方则提供相同原语。`danger-full-access` 不需要 `ctx.sandbox`;受限模式要求同一执行世界中存在沙箱提供方,未挂载时会在 spawn 前失败。提供方开始写入时,系统会丢弃异步写入前检查期间收集的提示符与静默证据。取消会在在途写入结算期间保留发送预留,随后向前台进程组发送信号,因此延迟字节和该信号都无法落到后续发送;在途就绪检查无法释放该预留,写入被拒绝时也不会发送信号。绝对截止时间会在整个取消期间保持启用。信号发送失败会成为终结性传输失败。陈旧检查完成后,会针对当前发送恢复轮询。启动取消会立即开始终端回滚,而不等待停滞的就绪检查或信号发送调用。关闭操作会拒绝新的公开信号,并把由提供方管理的会话完全停稳委托给句柄上须等待的终止操作。 ## E2B POC 边界 @@ -68,6 +68,6 @@ E2B 负责可变文件系统、受管命令与 Bash 进程、终端分配与终 基础接口更宽,一对文件系统/进程管理提供方必须在同一个执行世界上保持一致。新增操作仅限当前通用消费方所需的事实与生命周期机制;模型 schema、协议分帧、就绪策略和呈现不会渗入提供方。 -本地实现承接 `node-pty` 和平台进程检查,因为它负责本地终端机制。这种代码迁移不会削弱终端拆卸:dispose(资源释放)会在终止顶层 shell 前后清理后代进程,等待前台检查期间保留下来且受精确 PID 身份围栏保护的后代进程,并继续追踪在顶层进程退出后仍存活的 Linux 会话成员。macOS 无法在 POSIX 会话 leader 退出后枚举该会话,因此在两次检查快照之间重新设定父进程的子进程仍是明确的本地提供方限制,而不是把进程机制移回 PTY 消费方的理由。 +本地实现承接 `node-pty` 和平台进程检查,因为它负责本地终端机制。在受支持的 Linux 宿主上,user-systemd scope 会保留调用 `setsid` 或发生 reparent 的后代,进程检查则继续负责前台归属与同步 fallback 证据。其他宿主使用观察型拆卸:dispose(资源释放)会在终止顶层 shell 前后清理后代进程,等待前台检查期间保留下来且受精确 PID 身份围栏保护的后代进程,并继续追踪在顶层进程退出后仍存活的 Linux 会话成员。macOS 无法在 POSIX 会话 leader 退出后枚举该会话,因此在两次检查快照之间重新设定父进程的子进程仍是明确的本地提供方限制,而不是把进程机制移回 PTY 消费方的理由。 E2B 组合证明,共享沙箱所有者加上文件系统与进程管理适配器,就足以在保持上层能力与提供方无关的同时,把可变编码世界移出宿主。其 POC 限制仍明确在案:SDK 会把完整命令传输内容保留在宿主内存中;远程启动无法同步发布 PID;无法获得精确的终端 stdin 等待状态与独立信号事实;基于数值 PID/PGID 的操作没有身份围栏;初始环境探测无法向已在运行的同 UID 进程隐藏未知的沙箱默认 secret;适配器产物会一直保留到沙箱删除。这些是提供方限制,不是引入兼容性 shim 或更多 E2B 包的理由。 diff --git a/.agents/notes/implemented/architecture/2026-07-28-user-settings-seam.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-28-user-settings-seam.i18n.yaml deleted file mode 100644 index f45a86e65a..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-28-user-settings-seam.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-28-user-settings-seam.md -2026-07-28-user-settings-seam.md: 686c98d89025200e3de5d31d5d95c782f67e2aa3 -2026-07-28-user-settings-seam.zh.md: 85287634ba0c6bd7848f54d680f375106d7bfc53 diff --git a/.agents/notes/implemented/architecture/2026-07-29-dsh-source-launch-tsx-esm.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-29-dsh-source-launch-tsx-esm.i18n.yaml index a46174dd21..f5d261079d 100644 --- a/.agents/notes/implemented/architecture/2026-07-29-dsh-source-launch-tsx-esm.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-29-dsh-source-launch-tsx-esm.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-29-dsh-source-launch-tsx-esm.md -2026-07-29-dsh-source-launch-tsx-esm.md: 23cf4023e91d148b2e129faa7395fdccdd3e0a2b -2026-07-29-dsh-source-launch-tsx-esm.zh.md: e2dede0036dd1128718bdf41a11f5949555b69a5 +2026-07-29-dsh-source-launch-tsx-esm.md: 5401b0257faa69eaf76b11e7b51d06afd7ec2b8c +2026-07-29-dsh-source-launch-tsx-esm.zh.md: f32fa3ece91bf7b9829d7012ceb090cabaa833a9 diff --git a/.agents/notes/implemented/architecture/2026-07-29-dsh-source-launch-tsx-esm.md b/.agents/notes/implemented/architecture/2026-07-29-dsh-source-launch-tsx-esm.md index 23cf4023e9..5401b0257f 100644 --- a/.agents/notes/implemented/architecture/2026-07-29-dsh-source-launch-tsx-esm.md +++ b/.agents/notes/implemented/architecture/2026-07-29-dsh-source-launch-tsx-esm.md @@ -14,7 +14,7 @@ Startup latency also mattered: the off-thread `module.register()` hooks worker s ## Decision -The `dsh` TUI, Web, and headless source launches run `node --import tsx/esm`: tsx's ESM-only hook owns both TypeScript transformation and tsconfig `paths` projection. The root `dsh` script uses that vector directly from the repository root; artifact generation is a separate operation under the [source-launch/build separation decision](../simplification/2026-08-12-separate-source-launch-from-build.md). The CJS hook stays off because the CLI source graph is ESM-only; measured runtime launch to the TUI banner is ~0.7s versus ~1.1s under the full tsx default and ~0.75s under the removed native chain. +The `dsh` TUI, Web, and headless source launches run `node --import tsx/esm`: tsx's ESM-only hook owns both TypeScript transformation and tsconfig `paths` projection. The root `dsh` script uses that vector directly from the repository root; artifact generation is a separate operation under the [source-launch/build separation decision](../../archived/simplification/2026-08-12-separate-source-launch-from-build.md). The CJS hook stays off because the CLI source graph is ESM-only; measured runtime launch to the TUI banner is ~0.7s versus ~1.1s under the full tsx default and ~0.75s under the removed native chain. `scripts/tspath-loader.ts` and `apps/cli/src/tsconfig-paths-loader.ts` are deleted. With them went the loader's runtime rule of mapping a workspace import only for declared runtime dependencies — tsx applies the `paths` map unconditionally. Declaration completeness now rests on the static gates alone: `verify-cordis-config` for configured bare plugins, and workspace constraints for manifests. (That runtime rule found real bugs: `dsh-plan-mode` and `dsh-tool-jobs` imported `@deepseek-ai/dsh-llm` while declaring it only in devDependencies; since fixed.) diff --git a/.agents/notes/implemented/architecture/2026-07-29-dsh-source-launch-tsx-esm.zh.md b/.agents/notes/implemented/architecture/2026-07-29-dsh-source-launch-tsx-esm.zh.md index e2dede0036..f32fa3ece9 100644 --- a/.agents/notes/implemented/architecture/2026-07-29-dsh-source-launch-tsx-esm.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-29-dsh-source-launch-tsx-esm.zh.md @@ -14,7 +14,7 @@ Status: implemented ## 决策 -`dsh` 的 TUI、Web 与无头源码启动运行 `node --import tsx/esm`:由 tsx 的 ESM-only 钩子同时负责 TypeScript 转换与 tsconfig `paths` 投影。根目录的 `dsh` 脚本直接从仓库根目录使用同一启动方式;产物生成是独立操作,由[源码启动与构建分离决策](../simplification/2026-08-12-separate-source-launch-from-build.zh.md)规定。CJS 钩子保持关闭,因为 CLI(命令行界面)源码图是纯 ESM;实测运行时启动至 TUI banner 耗时约 0.7s,对比完整 tsx 默认形态约 1.1s、已移除的原生链约 0.75s。 +`dsh` 的 TUI、Web 与无头源码启动运行 `node --import tsx/esm`:由 tsx 的 ESM-only 钩子同时负责 TypeScript 转换与 tsconfig `paths` 投影。根目录的 `dsh` 脚本直接从仓库根目录使用同一启动方式;产物生成是独立操作,由[源码启动与构建分离决策](../../archived/simplification/2026-08-12-separate-source-launch-from-build.md)规定。CJS 钩子保持关闭,因为 CLI(命令行界面)源码图是纯 ESM;实测运行时启动至 TUI banner 耗时约 0.7s,对比完整 tsx 默认形态约 1.1s、已移除的原生链约 0.75s。 `scripts/tspath-loader.ts` 与 `apps/cli/src/tsconfig-paths-loader.ts` 已删除。随之消失的还有该 loader「仅为已声明运行时依赖映射 workspace import」的运行时规则——tsx 无条件应用 `paths` 映射。声明完整性现在仅由静态门禁保障:配置的裸插件走 `verify-cordis-config`,manifest(元数据清单)走 workspace constraints。(该运行时规则确实发现过真实缺陷:`dsh-plan-mode` 与 `dsh-tool-jobs` 导入 `@deepseek-ai/dsh-llm` 却只声明在 devDependencies;后已修复。) diff --git a/.agents/notes/implemented/architecture/2026-07-29-package-regrouping.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-29-package-regrouping.i18n.yaml deleted file mode 100644 index 186d4321e2..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-29-package-regrouping.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-29-package-regrouping.md -2026-07-29-package-regrouping.md: 2d585547db03fa54701850fe48bf936eb0ec4fd5 -2026-07-29-package-regrouping.zh.md: 0667bff7e0697978955823977ca6b98dd71ab4f4 diff --git a/.agents/notes/implemented/architecture/2026-07-29-projected-token-usage-and-request-context.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-29-projected-token-usage-and-request-context.i18n.yaml index aaba9b1db2..892e3a8fc0 100644 --- a/.agents/notes/implemented/architecture/2026-07-29-projected-token-usage-and-request-context.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-29-projected-token-usage-and-request-context.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-29-projected-token-usage-and-request-context.md -2026-07-29-projected-token-usage-and-request-context.md: d62f7dccd544a342da64fc35c24d32d53bf56231 -2026-07-29-projected-token-usage-and-request-context.zh.md: 6d2bb624ac11dbcdac30695913d3c16513bfdf9e +2026-07-29-projected-token-usage-and-request-context.md: f96257243bef91ff6a73418231de5e777d8edb2e +2026-07-29-projected-token-usage-and-request-context.zh.md: 7365d5d816f9f9b324f3e3d3b4db0d3346851bdf diff --git a/.agents/notes/implemented/architecture/2026-07-29-projected-token-usage-and-request-context.md b/.agents/notes/implemented/architecture/2026-07-29-projected-token-usage-and-request-context.md index d62f7dccd5..f96257243b 100644 --- a/.agents/notes/implemented/architecture/2026-07-29-projected-token-usage-and-request-context.md +++ b/.agents/notes/implemented/architecture/2026-07-29-projected-token-usage-and-request-context.md @@ -26,7 +26,7 @@ Capacity deliberately stays out of `EpochHeader`. That type is the reconstructio Both units ride the standard projection lifecycle: history tail baselines, `session/projection` live frames, higher-seq-wins client storage, JSON checkpoints, cache recovery, and unit unload. There is no token-specific history field, mux frame, projector, revision counter, or client fence. -The Web `StatsLine` reads both through the standard `useProjection` seat. Window nodes still supply turn and step counts plus LLM and tool wall times — those answer "what is on screen" and are correctly window-scoped. Durable token and context groups remain when compaction leaves no visible assistant step. Cache writes count in billed input and in the cache-hit denominator. A deployment without token-meter drops the token groups; occupancy stays hidden until both pressure and capacity are known. The exact-overflow tooltip mounts its measuring child only for a non-empty line and retains one `ResizeObserver` while values change; text changes perform one direct measurement without replacing the observer. +The Web [`StatsPills`](../feature/2026-09-07-composer-session-stats-pills.md) reads both through the standard `useProjection` seat. Window nodes still supply turn and step counts plus LLM and tool wall times as the no-projection fallback — those answer "what is on screen" and are correctly window-scoped. The durable usage pill remains when compaction leaves no visible assistant step. Cache writes count in billed input and in the cache-hit denominator. A deployment without token-meter drops the usage pill; context occupancy lives on the composer's ContextMeter ring. Exact token figures show in the usage pill's click-open dialog rather than a hover tooltip. ## Context occupancy is approximate, and that is the decision @@ -48,7 +48,7 @@ That cost bought a worse display: occupancy went blank after every reconnect and **Resolve capacity inside token-meter.** The package documents itself as independent of model routing and is otherwise a pure reader that never appends to the log. AgentLoop already holds the resolved metadata where the header is written. -**Extend the `session.models` RPC with capacity.** The handler already resolves and discards it, so the field is nearly free — but `StatsLine` lives in `ui-conversation` while the model directory lives in `ui-model-selection`, and `ui-conversation` cannot depend on `ui-model-selection`. Delivering it would have required either a second dock entry splitting one text row across two plugins, or a cross-plugin store write. +**Extend the `session.models` RPC with capacity.** The handler already resolves and discards it, so the field is nearly free — but the stats display (now `StatsPills`, ui-chat) and the model directory live in separate plugins with no dependency between them. Delivering it would have required either a second dock entry splitting one surface across two plugins, or a cross-plugin store write. **Add a context circle beside the model selector.** That placement suggests selected-model state. The stats line carries the figure without a duplicate UI or data path. diff --git a/.agents/notes/implemented/architecture/2026-07-29-projected-token-usage-and-request-context.zh.md b/.agents/notes/implemented/architecture/2026-07-29-projected-token-usage-and-request-context.zh.md index 6d2bb624ac..7365d5d816 100644 --- a/.agents/notes/implemented/architecture/2026-07-29-projected-token-usage-and-request-context.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-29-projected-token-usage-and-request-context.zh.md @@ -26,7 +26,7 @@ token-meter 还拥有在持久事件上运行的共享纯 attempt/Turn fold。 两个单元都沿用标准投影生命周期:历史尾页基线、`session/projection` 实时帧、seq 高者胜的客户端存储、JSON 检查点、缓存恢复和单元卸载。系统没有任何 token 专用的历史字段、mux 帧、投影器、修订计数器或客户端栅栏。 -Web `StatsLine` 通过标准 `useProjection` 席位读取两者。窗口内节点仍提供轮次和步骤计数,以及 LLM(大语言模型)与工具的墙钟时间:它们回答的是「屏幕上有什么」,按窗口作用域正是正确的。压缩使可见 assistant 步骤归零后,持久 token 与上下文分组仍会保留。缓存写入会计入计费输入和缓存命中率分母。未部署 token-meter 时会去掉 token 分组;只有压力与容量都已知时才显示占用率。精确 overflow tooltip 只在统计行非空时挂载测量子组件,并在值变化期间保留同一个 `ResizeObserver`;文本变化只直接测量一次,不替换 observer。 +Web [`StatsPills`](../feature/2026-09-07-composer-session-stats-pills.zh.md) 通过标准 `useProjection` 席位读取两者。窗口内节点仍作为无投影回退提供轮次和步骤计数,以及 LLM(大语言模型)与工具的墙钟时间:它们回答的是「屏幕上有什么」,按窗口作用域正是正确的。压缩使可见 assistant 步骤归零后,持久用量 pill 仍会保留。缓存写入会计入计费输入和缓存命中率分母。未部署 token-meter 时会去掉用量 pill;上下文占用率由输入框旁的 ContextMeter 圆环承载。精确 token 数字显示在用量 pill 点击展开的弹层里,而非悬停提示。 ## 上下文占用率是近似值,而这正是决策本身 @@ -48,7 +48,7 @@ Web `StatsLine` 通过标准 `useProjection` 席位读取两者。窗口内节 **在 token-meter 内部解析容量。** 该包自述与模型路由无关,且在其他方面是一个从不向日志追加内容的纯读取方。AgentLoop 在写入请求头的位置已经持有已解析的元数据。 -**为 `session.models` RPC 增加容量字段。** 其处理器已经解析出容量又将其丢弃,因此这个字段几乎是免费的;但 `StatsLine` 位于 `ui-conversation`,模型目录位于 `ui-model-selection`,而 `ui-conversation` 不能依赖 `ui-model-selection`。要送达它,就得增加第二个 dock 条目、把一行文本拆到两个插件里,或者做一次跨插件的 store 写入。 +**为 `session.models` RPC 增加容量字段。** 其处理器已经解析出容量又将其丢弃,因此这个字段几乎是免费的;但统计展示(现为 `StatsPills`,ui-chat)与模型目录位于两个互不依赖的插件。要送达它,就得增加第二个 dock 条目把一个表面拆到两个插件里,或者做一次跨插件的 store 写入。 **在模型选择器旁增加上下文圆环。** 该位置会让人以为这是所选模型的状态。统计行可以承载该数字,无需引入重复的 UI 或数据路径。 diff --git a/.agents/notes/implemented/architecture/2026-07-29-request-level-llm-config-credentials.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-29-request-level-llm-config-credentials.i18n.yaml deleted file mode 100644 index f8ea7225ac..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-29-request-level-llm-config-credentials.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-29-request-level-llm-config-credentials.md -2026-07-29-request-level-llm-config-credentials.md: d929d286d79c168bcf968c8cadf9c4e824589914 -2026-07-29-request-level-llm-config-credentials.zh.md: 6455ee7c1057a564039546363eb7dfb8dc6d9292 diff --git a/.agents/notes/implemented/architecture/2026-07-30-adapter-owned-max-token-defaults.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-30-adapter-owned-max-token-defaults.i18n.yaml deleted file mode 100644 index b025f076f0..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-30-adapter-owned-max-token-defaults.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-30-adapter-owned-max-token-defaults.md -2026-07-30-adapter-owned-max-token-defaults.md: ec6a68b74d0cdaefcd214be98efb32377721169a -2026-07-30-adapter-owned-max-token-defaults.zh.md: 700d90125c125184625afc33ebf64add4ab9191c diff --git a/.agents/notes/implemented/architecture/2026-07-30-client-locale-full-rollout.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-30-client-locale-full-rollout.i18n.yaml deleted file mode 100644 index 0562d383a1..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-30-client-locale-full-rollout.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-30-client-locale-full-rollout.md -2026-07-30-client-locale-full-rollout.md: f04c9f36ff0b7cda55c3df5aea7979baf98f3139 -2026-07-30-client-locale-full-rollout.zh.md: 0285b92ce7d797bdcb7f020b079114e2cd6839cd diff --git a/.agents/notes/implemented/architecture/2026-07-30-command-row-copy-contract.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-30-command-row-copy-contract.i18n.yaml deleted file mode 100644 index 62ea89bc3b..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-30-command-row-copy-contract.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-30-command-row-copy-contract.md -2026-07-30-command-row-copy-contract.md: d410adf62dbbc4445936c70309d5902bc184b16f -2026-07-30-command-row-copy-contract.zh.md: 0f680f9beb8b335dd6311cadc6c7e022809fb8f2 diff --git a/.agents/notes/implemented/architecture/2026-07-30-config-plane-boundaries.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-30-config-plane-boundaries.i18n.yaml deleted file mode 100644 index 08e1de4e5f..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-30-config-plane-boundaries.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-30-config-plane-boundaries.md -2026-07-30-config-plane-boundaries.md: d7ae13f08ca5c3957a8a5c1871b0022453e9b562 -2026-07-30-config-plane-boundaries.zh.md: e53a68f91f4d961af5a01fd7bbfb4472b4b17dfe diff --git a/.agents/notes/implemented/architecture/2026-07-30-credential-boundaries-and-atomic-registration.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-30-credential-boundaries-and-atomic-registration.i18n.yaml index ab7e9786ec..ccbabe4e0d 100644 --- a/.agents/notes/implemented/architecture/2026-07-30-credential-boundaries-and-atomic-registration.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-30-credential-boundaries-and-atomic-registration.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-30-credential-boundaries-and-atomic-registration.md -2026-07-30-credential-boundaries-and-atomic-registration.md: f1176805f9f5e29770e46d94af32b3224a601850 -2026-07-30-credential-boundaries-and-atomic-registration.zh.md: 53803fbb36cce8745fc3b324a2cf4ce412c01ef5 +2026-07-30-credential-boundaries-and-atomic-registration.md: 0e65bb1093bb21c3a0dbee71b4e80ba4276b9d00 +2026-07-30-credential-boundaries-and-atomic-registration.zh.md: cbc66efa26065beb54ee1deea0f69221ebd92337 diff --git a/.agents/notes/implemented/architecture/2026-07-30-credential-boundaries-and-atomic-registration.md b/.agents/notes/implemented/architecture/2026-07-30-credential-boundaries-and-atomic-registration.md index f1176805f9..0e65bb1093 100644 --- a/.agents/notes/implemented/architecture/2026-07-30-credential-boundaries-and-atomic-registration.md +++ b/.agents/notes/implemented/architecture/2026-07-30-credential-boundaries-and-atomic-registration.md @@ -4,7 +4,7 @@ Status: implemented English | [中文](2026-07-30-credential-boundaries-and-atomic-registration.zh.md) -> Scope: hardening the [request-level LLM configuration boundary](2026-07-29-request-level-llm-config-credentials.md) — where a stored credential lives and who can read it, how one request's facts stay one generation, and how a route set changes without a window. Companion to the [settings write-path note](2026-07-30-settings-write-path-integrity.md), whose provider fixes this note applies to `credentials-local` and whose writer lock it promotes into `dsh-atomic-write`. +> Scope: hardening the [request-level LLM configuration boundary](../../archived/architecture/2026-07-29-request-level-llm-config-credentials.md) — where a stored credential lives and who can read it, how one request's facts stay one generation, and how a route set changes without a window. Companion to the [settings write-path note](../../archived/architecture/2026-07-30-settings-write-path-integrity.md), whose provider fixes this note applies to `credentials-local` and whose writer lock it promotes into `dsh-atomic-write`. ## Problem @@ -14,7 +14,7 @@ Two request-path defects sat beside them. DeepSeek resolved connection and crede ## Decision -**The credential document belongs to the credential provider alone.** No surface loads it into `process.env`. It was `$DSH_HOME/.env` here; the [credentials document split](2026-08-04-credentials-yaml-and-user-environment-layer.md) later moved it to `$DSH_HOME/.credentials.yaml`, so `$DSH_HOME/.env` is the user's ordinary environment layer, holding no provider-managed secret. The genuine launch environment and the invoking directory's `.env` (loaded by the bin) stay the read-only ambient layer, so a composition without the provider resolves keys exactly as before, while a stored key stays file-sourced and writable across restarts — proven by a real restart in the loader composition rather than by a unit assertion about `describe()`. +**The credential document belongs to the credential provider alone.** No surface loads it into `process.env`. It was `$DSH_HOME/.env` here; the [credentials document split](../../archived/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.md) later moved it to `$DSH_HOME/.credentials.yaml`, so `$DSH_HOME/.env` is the user's ordinary environment layer, holding no provider-managed secret. The genuine launch environment and the invoking directory's `.env` (loaded by the bin) stay the read-only ambient layer, so a composition without the provider resolves keys exactly as before, while a stored key stays file-sourced and writable across restarts — proven by a real restart in the loader composition rather than by a unit assertion about `describe()`. **The stored credential has no boundary against the model, and the READMEs say so.** `0600` under a `0700` directory stops other OS users; the model's bash and filesystem tools run as that same user, and the shipped default confines nothing. What the harness does hold to is narrower and stated as exactly that: no surface hoists the document into `process.env`, and the model is never handed a resolved path to it, so reaching the value takes a deliberate read of a path it was not given. An OS-keychain provider — a store the model's processes cannot read at all — is recorded as the real answer rather than implied by a partial one. diff --git a/.agents/notes/implemented/architecture/2026-07-30-credential-boundaries-and-atomic-registration.zh.md b/.agents/notes/implemented/architecture/2026-07-30-credential-boundaries-and-atomic-registration.zh.md index 53803fbb36..cbc66efa26 100644 --- a/.agents/notes/implemented/architecture/2026-07-30-credential-boundaries-and-atomic-registration.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-30-credential-boundaries-and-atomic-registration.zh.md @@ -4,7 +4,7 @@ Status: implemented [English](2026-07-30-credential-boundaries-and-atomic-registration.md) | 中文 -> 范围:加固[请求级 LLM(大语言模型)配置边界](2026-07-29-request-level-llm-config-credentials.zh.md)——存下来的凭据落在哪里、谁能读到它,一次请求所用的事实如何保持在同一代,以及一组路由如何在不留空窗的前提下更换。本 note 与 [settings 写路径 note](2026-07-30-settings-write-path-integrity.zh.md) 配套:它把那篇 note 的提供方修复套用到 `credentials-local`,并把其中的写锁提升进 `dsh-atomic-write`。 +> 范围:加固[请求级 LLM(大语言模型)配置边界](../../archived/architecture/2026-07-29-request-level-llm-config-credentials.md)——存下来的凭据落在哪里、谁能读到它,一次请求所用的事实如何保持在同一代,以及一组路由如何在不留空窗的前提下更换。本 note 与 [settings 写路径 note](../../archived/architecture/2026-07-30-settings-write-path-integrity.md) 配套:它把那篇 note 的提供方修复套用到 `credentials-local`,并把其中的写锁提升进 `dsh-atomic-write`。 ## 问题 @@ -18,7 +18,7 @@ Status: implemented ## 决策 -**凭据文档只归凭据提供方所有。**没有任何一个面会把它加载进 `process.env`。当时该文档是 `$DSH_HOME/.env`;[凭据文档拆分](2026-08-04-credentials-yaml-and-user-environment-layer.zh.md)后来把它移到 `$DSH_HOME/.credentials.yaml`,因此 `$DSH_HOME/.env` 是用户的普通环境层,其中不含任何提供方管理的密钥。真正的启动环境,以及调用目录中由 bin 加载的 `.env`,仍然是那一层只读的环境来源,因此不挂载该提供方的组合,解析密钥的方式与从前完全一致,而存下的密钥跨重启仍然来源于文件、仍然可写——这一点由 loader 组合中的一次真实重启来证明,而不是靠对 `describe()` 的单元断言。 +**凭据文档只归凭据提供方所有。**没有任何一个面会把它加载进 `process.env`。当时该文档是 `$DSH_HOME/.env`;[凭据文档拆分](../../archived/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.md)后来把它移到 `$DSH_HOME/.credentials.yaml`,因此 `$DSH_HOME/.env` 是用户的普通环境层,其中不含任何提供方管理的密钥。真正的启动环境,以及调用目录中由 bin 加载的 `.env`,仍然是那一层只读的环境来源,因此不挂载该提供方的组合,解析密钥的方式与从前完全一致,而存下的密钥跨重启仍然来源于文件、仍然可写——这一点由 loader 组合中的一次真实重启来证明,而不是靠对 `describe()` 的单元断言。 **存下的凭据对模型没有边界,而 README 就是这么写的。**`0700` 目录下的 `0600` 挡得住其他 OS 用户;模型的 bash 与文件系统工具正是以同一用户身份运行,而已交付的默认配置不提供任何约束。harness 真正守住的边界更窄,文档也严格按这一范围表述:没有任何一个面会把该文档提升进 `process.env`,模型也从不会拿到它的解析后路径,因此要拿到这个值,需要刻意去读一条并未交给它的路径。OS 钥匙串(keychain)提供方——一个模型的进程根本读不到的存储——被记录为真正的答案,而不是靠一个残缺的方案去暗示它。 diff --git a/.agents/notes/implemented/architecture/2026-07-30-followup-enqueue-and-owned-runs.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-30-followup-enqueue-and-owned-runs.i18n.yaml index 41be5b3340..b729d9dd5b 100644 --- a/.agents/notes/implemented/architecture/2026-07-30-followup-enqueue-and-owned-runs.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-30-followup-enqueue-and-owned-runs.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-30-followup-enqueue-and-owned-runs.md -2026-07-30-followup-enqueue-and-owned-runs.md: e056d23d72121053c2aeaec44ff307c514c1ae49 -2026-07-30-followup-enqueue-and-owned-runs.zh.md: 4200c6b480298a2e487667cf953f6eea7d553736 +2026-07-30-followup-enqueue-and-owned-runs.md: c9b3b992dffb39c94b476cd6541b8ec9e2256047 +2026-07-30-followup-enqueue-and-owned-runs.zh.md: 7f272484cad4f9d0fd918e5c1b05fb8fcb0384c0 diff --git a/.agents/notes/implemented/architecture/2026-07-30-followup-enqueue-and-owned-runs.md b/.agents/notes/implemented/architecture/2026-07-30-followup-enqueue-and-owned-runs.md index e056d23d72..c9b3b992df 100644 --- a/.agents/notes/implemented/architecture/2026-07-30-followup-enqueue-and-owned-runs.md +++ b/.agents/notes/implemented/architecture/2026-07-30-followup-enqueue-and-owned-runs.md @@ -16,7 +16,7 @@ Keep `Agent.followup(message): void` as an enqueue-only operation. `Agent.whenId The low-level SDK protocol answers `session/prompt` as soon as enqueue succeeds with `{ messageId }`. It streams durable facts through `session.event`, publishes whole-agent transitions through `session.status`, and has no `session.finished`. A low-level client may observe that receipt and later idleness, but receives no prompt result. -High-level automation APIs return a `RunResult` only when they explicitly own an activity interval. The TypeScript and Python SDK `run()` methods collect from the submitted message's durable inbox receipt through the next whole-agent `idle`; their final response is the last committed assistant message in that interval, not a response causally attributed to the submitted prompt. The Python SDK also reports the last root turn's reason kind as the run-level [`finish_reason`](../bug-fix/2026-08-11-owned-run-finish-reason.md), without attributing it to the submitted prompt. The one-shot CLI owns the analogous idle-to-idle interval. An isolated child-agent run may report a result because its caller owns the complete child lifecycle and any steering belongs to that run. +High-level automation APIs return a `RunResult` only when they explicitly own an activity interval. The TypeScript and Python SDK `run()` methods collect from the submitted message's durable inbox receipt through the next whole-agent `idle`; their final response is the last committed assistant message in that interval, not a response causally attributed to the submitted prompt. The Python SDK also reports the last root turn's reason kind as the run-level [`finish_reason`](../../archived/bug-fix/2026-08-11-owned-run-finish-reason.md), without attributing it to the submitted prompt. The one-shot CLI owns the analogous idle-to-idle interval. An isolated child-agent run may report a result because its caller owns the complete child lifecycle and any steering belongs to that run. ACP must return a protocol `stopReason`. Its bridge serializes one in-flight prompt per ACP session and owns the interval from admission through whole-Agent idle and ordered update delivery. It correlates the turn that admits the identified ACP message without claiming that every activity in the interval was caused only by that message. A correlated token-limit ending maps to standard `max_tokens`; a correlated model error rejects at the same quiescence boundary; a turnless slot settles as `cancelled` alongside explicit ACP cancellation or disposal. Other normal quiescence reports `end_turn`. diff --git a/.agents/notes/implemented/architecture/2026-07-30-followup-enqueue-and-owned-runs.zh.md b/.agents/notes/implemented/architecture/2026-07-30-followup-enqueue-and-owned-runs.zh.md index 4200c6b480..7f272484ca 100644 --- a/.agents/notes/implemented/architecture/2026-07-30-followup-enqueue-and-owned-runs.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-30-followup-enqueue-and-owned-runs.zh.md @@ -16,7 +16,7 @@ Status: implemented 底层 SDK 协议在入队成功后立即以 `{ messageId }` 响应 `session/prompt`。它通过 `session.event` 流式传输持久事实,通过 `session.status` 发布整个 agent 的状态转换,且不包含 `session.finished`。底层客户端可以观察该回执和之后的 idle,但不会收到提示词结果。 -只有明确拥有一个活动区间时,高层自动化 API 才返回 `RunResult`。TypeScript 和 Python SDK 的 `run()` 方法从已提交消息的持久 inbox 回执开始收集,直至整个 agent 下一次进入 `idle`;其最终响应是该区间内最后一条已提交的 assistant 消息,而不是按因果关系归属于已提交提示词的响应。Python SDK 还把根会话最后一个轮次的结束原因 kind 作为运行级 [`finish_reason`](../bug-fix/2026-08-11-owned-run-finish-reason.zh.md) 返回,但不会将其归因于已提交的提示词。单次 CLI(命令行界面)拥有相应的 idle 到 idle 区间。隔离的子 agent 运行可以报告结果,因为调用方拥有完整的子级生命周期,任何 steering 都属于该运行。 +只有明确拥有一个活动区间时,高层自动化 API 才返回 `RunResult`。TypeScript 和 Python SDK 的 `run()` 方法从已提交消息的持久 inbox 回执开始收集,直至整个 agent 下一次进入 `idle`;其最终响应是该区间内最后一条已提交的 assistant 消息,而不是按因果关系归属于已提交提示词的响应。Python SDK 还把根会话最后一个轮次的结束原因 kind 作为运行级 [`finish_reason`](../../archived/bug-fix/2026-08-11-owned-run-finish-reason.md) 返回,但不会将其归因于已提交的提示词。单次 CLI(命令行界面)拥有相应的 idle 到 idle 区间。隔离的子 agent 运行可以报告结果,因为调用方拥有完整的子级生命周期,任何 steering 都属于该运行。 ACP(Agent Client Protocol)必须返回协议规定的 `stopReason`。其桥接层对每个 ACP 会话中的提示词进行串行处理,并拥有从准入到整个 Agent idle 和有序更新交付的区间。它会关联准入该已识别 ACP 消息的轮次,但不会声称区间内所有活动都只由该消息引起。关联的 token 上限结尾映射为标准 `max_tokens`;关联模型错误在同一个完全停稳边界拒绝;无轮次 slot 与显式 ACP 取消或 dispose 一样以 `cancelled` 结算。其他正常完全停稳报告 `end_turn`。 diff --git a/.agents/notes/implemented/architecture/2026-07-30-web-config-plane.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-30-web-config-plane.i18n.yaml deleted file mode 100644 index 33d4ec3daa..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-30-web-config-plane.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-30-web-config-plane.md -2026-07-30-web-config-plane.md: a919487ba48cd7735a9f7fbc65a548bc5bfb7114 -2026-07-30-web-config-plane.zh.md: ca9e9f4427bba80a63865e891e42656aeb1b5c64 diff --git a/.agents/notes/implemented/architecture/2026-07-31-claimed-pre-step-inbox-lifecycle.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-31-claimed-pre-step-inbox-lifecycle.i18n.yaml index 9b41e2e0cf..1b529c379b 100644 --- a/.agents/notes/implemented/architecture/2026-07-31-claimed-pre-step-inbox-lifecycle.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-31-claimed-pre-step-inbox-lifecycle.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-31-claimed-pre-step-inbox-lifecycle.md -2026-07-31-claimed-pre-step-inbox-lifecycle.md: 73768e1eee8957f8976d40812b0a31a2961f0825 -2026-07-31-claimed-pre-step-inbox-lifecycle.zh.md: 343816abaf394b8f64924cf36b753c6b1b2e34ca +2026-07-31-claimed-pre-step-inbox-lifecycle.md: 737e3835263a3215a0fd2e52dad4ee05402bd888 +2026-07-31-claimed-pre-step-inbox-lifecycle.zh.md: ecb731df663e0d48b374a3118d7db7f6a34bfc18 diff --git a/.agents/notes/implemented/architecture/2026-07-31-claimed-pre-step-inbox-lifecycle.md b/.agents/notes/implemented/architecture/2026-07-31-claimed-pre-step-inbox-lifecycle.md index 73768e1eee..737e383526 100644 --- a/.agents/notes/implemented/architecture/2026-07-31-claimed-pre-step-inbox-lifecycle.md +++ b/.agents/notes/implemented/architecture/2026-07-31-claimed-pre-step-inbox-lifecycle.md @@ -12,17 +12,19 @@ Occurrence-local inbox wrappers also duplicated the identity already carried by ## Decision -Before every proposed step, `Inbox.claim(target)` atomically removes the complete batch: all `next-step` messages and, at a turn boundary, one `next-turn` message. At the initial boundary the loop first commits `turn/start`, so the claim and its single `agent/pre-step` decision have durable turn ownership. Claiming records normalized `agent/inbox/spliced` pure deletions with no outcome. The loop then emits `agent/inbox/claimed { message, turn }` once per claimed message and awaits the waterfall with that exclusive batch and `{ turn, step, signal }`. +Before every proposed step, the loop's package-internal `ReactLoopInbox` atomically claims the complete batch: all `next-step` messages and, at a turn boundary, one `next-turn` message. At the initial boundary the loop first commits `turn/start`, so the claim and its single `agent/pre-step` decision have durable turn ownership. Claiming records normalized `agent/inbox/spliced` pure deletions with no outcome, emits `agent/inbox/claimed { message, turn }` once per claimed message, and returns the exclusive batch for the loop's waterfall with `{ turn, step, signal }`. `PreStepDecision` is `{ kind: 'reject' } | { kind: 'enter'; messages: UserMessage[] }`. Reject opens no step, leaves the claimed batch removed, and closes the turn as blocked without any step events. Empty entry, cancellation, and failure before `step/start` likewise close a balanced no-step turn. Enter supplies the complete batch appended as `user/message` events after `step/start`. A listener wrapping `next()` preserves downstream changes unless it intentionally replaces them, so all message rewrites settle once in the final return value. There is no `agent/prompt-prepare`, `agent/prompt-submit`, or `agent/step` extension point. -The durable inbox remains two `UserMessage[]` lists addressed by `MessageId`. `append`, `prepend`, and `splice` take a target, while `replace(messageId, newMessage)` and `remove(messageId)` locate the pending message across both lists before committing a normalized splice. Replacement may change identity and emits the old message as discarded followed by the new message as inserted. Every insertion emits `agent/inbox/inserted { message }`; an ordinary removal records `outcome: 'canceled'` and emits `agent/inbox/discarded { message }`. Claiming is the loop's internal step-boundary operation on the inbox and records pure deletions without notifications or an outcome, so the loop can publish claimed events itself. These live events add no placement, outcome, or batch fields. +The durable inbox remains two `UserMessage[]` lists addressed by `MessageId`. `append`, `prepend`, and `splice` take a target, while `replace(messageId, newMessage)` and `remove(messageId)` locate the pending message across both lists before committing a normalized splice. Replacement may change identity and emits the old message as discarded followed by the new message as inserted. Every insertion emits `agent/inbox/inserted { message }`; an ordinary removal records `outcome: 'canceled'` and emits `agent/inbox/discarded { message }`. Claiming records pure deletions without an outcome and emits claimed events from `ReactLoopInbox`. These live events add no placement, outcome, or batch fields. -The two event surfaces have separate consumers. Observers following one message use `agent/inbox/inserted`, `claimed`, and `discarded`. Whole-queue consumers, including the Web queue projection and reconnect baseline, use the durable `agent/inbox/spliced` stream; UI edits and removals route through `Inbox.splice()` or another Inbox mutation method so the same projection records every change. +`Agent.inbox` exposes only the structural `Inbox` interface for reading and mutating pending work; loop-only `hasPending` and claim operations are absent from that public face. dsh-agent-loop constructs one `ReactLoopInbox` and uses it for both structural commands and driver operations. The concrete constructor receives `SessionProjectionRegistry` directly instead of the wider Cordis `Context` and registers the standard definition on the agent scope before its first read. `AgentLoop` requires the registry service at activation, and the registry reference-counts the definition across live agent scopes. + +The two event surfaces have separate consumers. Observers following one message use `agent/inbox/inserted`, `claimed`, and `discarded`. Each `ReactLoopInbox` contributes the standard `inbox` projection over the durable `agent/inbox/spliced` stream from its agent scope; UI edits and removals route through an Inbox mutation method so the same projection records every change. When that projection reconstructs durable history, it rejects unsafe or out-of-range coordinates and duplicate `MessageId` values across both lists, and reports the offending event seq. Whole-queue control consumers use the projection change feed: the Session controller publishes the projection frame, then derives the queue replacement from the same post-fold inbox value. Plugins that need current-step atomic rewriting return messages from `agent/pre-step`. Plugins that only need later context may mutate `agent.inbox` directly. Workspace context uses both paths: asynchronous filesystem projections stage one replaceable `next-step` item, while the next entering pre-step folds that item or a newly composed baseline into its final batch and removes the pending copy. Rejection keeps the item queued. -The archived [addressable queue occurrence decision](../../archived/feature/2026-07-29-addressable-queue-operations.md) describes the superseded occurrence-wrapper design. `MessageId` now owns addressability, while the retained Host queue mirror derives its snapshots from the durable splice projection. +The archived [addressable queue occurrence decision](../../archived/feature/2026-07-29-addressable-queue-operations.md) describes the superseded occurrence-wrapper design. `MessageId` owns addressability, while `ReactLoopInbox` contributes `inbox` as the standard session projection over durable splices. The generic projection carrier serves that fold for live updates, history-tail reconnect baselines, and cold process-restart recovery without a live Agent mirror. ## Alternatives considered @@ -34,7 +36,7 @@ The archived [addressable queue occurrence decision](../../archived/feature/2026 ## Verification -Agent-loop coverage pins turn-start-before-claim-before-pre-step ordering, exact live event payloads, balanced no-step rejection, final-batch rewriting, input inserted after a claim, listener failure, and cancellation. Inbox and consumer tests pin pure claim deletions, canceled ordinary removals, agent-instructions staging, replacement, and same-step entry, plan/goal/hook behavior, UI cleanup, compaction, checkpointing, and resumed durable projection. Generated event and type catalogs expose only the new waterfall and payloads. +Agent-loop coverage pins turn-start-before-claim-before-pre-step ordering, exact live event payloads, balanced no-step rejection, final-batch rewriting, input inserted after a claim, listener failure, cancellation, and agent-scope projection removal after the last owner unloads. Inbox and consumer tests pin pure claim deletions, canceled ordinary removals, agent-instructions staging, replacement, and same-step entry, plan/goal/hook behavior, UI cleanup, compaction, checkpointing, resumed durable projection, rejection of invalid persisted coordinates or cross-list identities, and post-fold queue replacement when the controller registers before the projection registry. Consumer-domain tests use a process-local Inbox stub only when durability is outside the test subject; claiming, durable projection, recovery, validation, and live-notification tests create Agents through the production AgentLoop test harness, so test support never reimplements the projection. Generated event and type catalogs expose only the new waterfall and payloads. ## Consequences diff --git a/.agents/notes/implemented/architecture/2026-07-31-claimed-pre-step-inbox-lifecycle.zh.md b/.agents/notes/implemented/architecture/2026-07-31-claimed-pre-step-inbox-lifecycle.zh.md index 343816abaf..ecb731df66 100644 --- a/.agents/notes/implemented/architecture/2026-07-31-claimed-pre-step-inbox-lifecycle.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-31-claimed-pre-step-inbox-lifecycle.zh.md @@ -12,17 +12,19 @@ Status: implemented ## 决策 -每个拟议步骤之前,`Inbox.claim(target)` 会原子移除完整批次:全部 `next-step` 消息,以及轮次边界上的一条 `next-turn` 消息。在首次边界,循环会先提交 `turn/start`,使领取及其唯一一次 `agent/pre-step` 决策拥有持久轮次归属。领取会记录规范化、不带 outcome 的纯删除 `agent/inbox/spliced`。随后,循环针对每条已领取消息发出一次 `agent/inbox/claimed { message, turn }`,并用该独占批次与 `{ turn, step, signal }` 等待 waterfall(瀑布式事件)。 +每个拟议步骤之前,循环包内部的 `ReactLoopInbox` 会原子领取完整批次:全部 `next-step` 消息,以及轮次边界上的一条 `next-turn` 消息。在首次边界,循环会先提交 `turn/start`,使领取及其唯一一次 `agent/pre-step` 决策拥有持久轮次归属。领取会记录规范化、不带 outcome 的纯删除 `agent/inbox/spliced`,针对每条已领取消息发出一次 `agent/inbox/claimed { message, turn }`,并把独占批次返回给循环,由后者用 `{ turn, step, signal }` 等待 waterfall(瀑布式事件)。 `PreStepDecision` 为 `{ kind: 'reject' } | { kind: 'enter'; messages: UserMessage[] }`。reject 不会打开步骤,会让已领取批次保持已删除,并将轮次关闭为 blocked,且不产生任何步骤事件。空的 enter、取消以及 `step/start` 前的失败同样会关闭一个边界平衡的无步骤轮次。enter 提供在 `step/start` 后以 `user/message` 追加的完整批次。包装 `next()` 的监听器会保留下游变更,除非有意替换,因此全部消息改写只在最终返回值中一次性结算。系统不再存在 `agent/prompt-prepare`、`agent/prompt-submit` 或 `agent/step` 扩展点。 -持久 inbox 仍是两份通过 `MessageId` 寻址的 `UserMessage[]` 列表。`append`、`prepend` 与 `splice` 接受 target;`replace(messageId, newMessage)` 与 `remove(messageId)` 则在提交规范化 splice 前,通过 `MessageId` 跨两份列表定位待处理消息。替换可以改变标识,并先将旧消息作为 discarded 发布,再将新消息作为 inserted 发布。每次插入发出 `agent/inbox/inserted { message }`;普通删除记录 `outcome: 'canceled'` 并发出 `agent/inbox/discarded { message }`。领取是循环在 inbox 上的内部步骤边界操作,记录不带通知或 outcome 的纯删除,因此循环可以自行发布 claimed 事件。这些实时事件不增加 placement、outcome 或批次字段。 +持久 inbox 仍是两份通过 `MessageId` 寻址的 `UserMessage[]` 列表。`append`、`prepend` 与 `splice` 接受 target;`replace(messageId, newMessage)` 与 `remove(messageId)` 则在提交规范化 splice 前,通过 `MessageId` 跨两份列表定位待处理消息。替换可以改变标识,并先将旧消息作为 discarded 发布,再将新消息作为 inserted 发布。每次插入发出 `agent/inbox/inserted { message }`;普通删除记录 `outcome: 'canceled'` 并发出 `agent/inbox/discarded { message }`。领取记录不带 outcome 的纯删除,并由 `ReactLoopInbox` 发出 claimed 事件。这些实时事件不增加 placement、outcome 或批次字段。 -两类事件接口服务不同消费方。跟踪单条消息的观察方使用 `agent/inbox/inserted`、`claimed` 与 `discarded`。包括 Web 队列投影和重连基线在内的整体队列消费方使用持久 `agent/inbox/spliced` 流;UI 编辑与移除通过 `Inbox.splice()` 或其他 Inbox 变更方法处理,从而让同一投影记录所有变化。 +`Agent.inbox` 只暴露用于读取和变更待处理工作的结构化 `Inbox` 接口;仅供循环使用的 `hasPending` 与领取操作不在该公开接口上。dsh-agent-loop 只构造一个 `ReactLoopInbox`,同时用于结构化命令与驱动器操作。具体构造函数直接接收 `SessionProjectionRegistry`,而不是更宽泛的 Cordis `Context`,并在首次读取前从 agent 作用域注册标准定义。`AgentLoop` 激活时要求该注册表服务存在,注册表则对多个 live agent 作用域贡献的定义进行引用计数。 + +两类事件接口服务不同消费方。跟踪单条消息的观察方使用 `agent/inbox/inserted`、`claimed` 与 `discarded`。每个 `ReactLoopInbox` 都从其 agent 作用域在持久 `agent/inbox/spliced` 流上贡献标准 `inbox` 投影;UI 编辑与移除通过 Inbox 变更方法处理,从而让同一投影记录所有变化。该投影重建持久历史时,会拒绝不安全或越界的坐标,以及跨两份列表重复的 `MessageId`,并报告出错事件的 seq。整体队列的 control 消费方使用投影变更流:Session controller 先发布 projection frame,再从同一份折叠后的 inbox 值派生 queue replacement。 必须对当前步骤进行原子改写的插件从 `agent/pre-step` 返回消息。只需要稍后上下文的插件可以直接修改 `agent.inbox`。Workspace context 同时使用两条路径:异步文件系统投影会暂存一条可替换的 `next-step` 消息,而下一次进入步骤的 pre-step 会把该消息或新组合的基线折入最终批次,并移除仍待处理的副本。reject 会让该条目继续排队。 -已归档的[可寻址队列项决策](../../archived/feature/2026-07-29-addressable-queue-operations.md)描述了已被取代的单次出现包装层设计。现在由 `MessageId` 负责寻址,而保留的 Host 队列镜像根据持久 splice 投影派生快照。 +已归档的[可寻址队列项决策](../../archived/feature/2026-07-29-addressable-queue-operations.md)描述了已被取代的单次出现包装层设计。`MessageId` 负责寻址,而 `ReactLoopInbox` 把 `inbox` 作为持久 splice 上的标准会话投影贡献给投影注册表。通用投影传输层会将该折叠结果用于实时更新、历史尾页的重连基线和冷进程重启恢复,无需 live Agent 镜像。 ## 曾考虑的替代方案 @@ -34,7 +36,7 @@ Status: implemented ## 验证 -agent loop(智能体循环)覆盖固定先 `turn/start`、再领取、后 pre-step 的顺序、实时事件的确切载荷、边界平衡的无步骤 reject、最终批次改写、领取后插入的输入、监听器失败与取消。Inbox 和消费方测试固定纯领取删除、普通删除的 canceled 结果、agent-instructions 的暂存、替换与同一步骤进入、plan/goal/钩子行为、UI 清理、压缩(compaction)、检查点以及恢复后的持久投影。生成的事件与类型目录只公开新的 waterfall 与载荷。 +agent loop(智能体循环)覆盖固定先 `turn/start`、再领取、后 pre-step 的顺序、实时事件的确切载荷、边界平衡的无步骤 reject、最终批次改写、领取后插入的输入、监听器失败、取消,以及最后一个所有者卸载后移除 agent 作用域投影。Inbox 和消费方测试固定纯领取删除、普通删除的 canceled 结果、agent-instructions 的暂存、替换与同一步骤进入、plan/goal/钩子行为、UI 清理、压缩(compaction)、检查点、恢复后的持久投影、对非法持久坐标或跨列表重复标识的拒绝,以及 controller 早于投影注册表注册时仍使用折叠后队列值。只有当持久性不属于测试对象时,消费方领域测试才使用进程内 Inbox 桩;领取、持久投影、恢复、校验与实时通知测试通过生产 AgentLoop 测试 harness 创建 Agent,因此测试支持代码不会重新实现该投影。生成的事件与类型目录只公开新的 waterfall 与载荷。 ## 后果 diff --git a/.agents/notes/implemented/architecture/2026-07-31-code-runtime-portable-identifier-seam.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-31-code-runtime-portable-identifier-seam.i18n.yaml deleted file mode 100644 index d40897535b..0000000000 --- a/.agents/notes/implemented/architecture/2026-07-31-code-runtime-portable-identifier-seam.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-07-31-code-runtime-portable-identifier-seam.md -2026-07-31-code-runtime-portable-identifier-seam.md: e4cf236f62407c9fda42a3e2cdcc5d3ef02a1f92 -2026-07-31-code-runtime-portable-identifier-seam.zh.md: 63fc89eb0d674a381ce7a5a626bd51d5f8b234d3 diff --git a/.agents/notes/implemented/architecture/2026-07-31-code-runtime-python-fd3-protocol.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-31-code-runtime-python-fd3-protocol.i18n.yaml index 06974904b9..f656d54418 100644 --- a/.agents/notes/implemented/architecture/2026-07-31-code-runtime-python-fd3-protocol.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-31-code-runtime-python-fd3-protocol.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-07-31-code-runtime-python-fd3-protocol.md -2026-07-31-code-runtime-python-fd3-protocol.md: cd8a42b509598d4782fc7c0637839e0dfd06f289 -2026-07-31-code-runtime-python-fd3-protocol.zh.md: a6454c17dc23e3f6385fe2dc3b46eabdb241faff +2026-07-31-code-runtime-python-fd3-protocol.md: 7f928b9cc996b545538e86a67399d5441509471a +2026-07-31-code-runtime-python-fd3-protocol.zh.md: 568b6ff3d7025ba55080e9677375c4b88303f621 diff --git a/.agents/notes/implemented/architecture/2026-07-31-code-runtime-python-fd3-protocol.md b/.agents/notes/implemented/architecture/2026-07-31-code-runtime-python-fd3-protocol.md index cd8a42b509..7f928b9cc9 100644 --- a/.agents/notes/implemented/architecture/2026-07-31-code-runtime-python-fd3-protocol.md +++ b/.agents/notes/implemented/architecture/2026-07-31-code-runtime-python-fd3-protocol.md @@ -10,7 +10,7 @@ English | [中文](2026-07-31-code-runtime-python-fd3-protocol.zh.md) `@deepseek-ai/dsh-experimental-code-runtime-python` owns the wire protocol intended for a CPython code-runtime provider. Such a provider runs each model program in a fresh `python3 -I` subprocess and bridges binding calls and completion values over the child's fd 3. The host cannot trust that channel: model code has full access to fd 3 and can forge any frame, so every inbound frame is hostile input that the host must validate and rebuild before reading. The protocol also has to carry lossless JSON without the depth limit `JSON.stringify` and `json.dumps` impose, because the seam's `CodeJsonValue` is depth-unbounded. -The private experimental package contains both the protocol and runtime implementation: `PythonCodeRuntime` (the plugin's default export), the `python3 -I` subprocess path, and the Python-side JSON codec all live in `@deepseek-ai/dsh-experimental-code-runtime-python`. The protocol builds on the [portable identifier seam](2026-07-31-code-runtime-portable-identifier-seam.md). +The private experimental package contains both the protocol and runtime implementation: `PythonCodeRuntime` (the plugin's default export), the `python3 -I` subprocess path, and the Python-side JSON codec all live in `@deepseek-ai/dsh-experimental-code-runtime-python`. The protocol builds on the [portable identifier seam](../../archived/architecture/2026-07-31-code-runtime-portable-identifier-seam.md). ## Decision diff --git a/.agents/notes/implemented/architecture/2026-07-31-code-runtime-python-fd3-protocol.zh.md b/.agents/notes/implemented/architecture/2026-07-31-code-runtime-python-fd3-protocol.zh.md index a6454c17dc..568b6ff3d7 100644 --- a/.agents/notes/implemented/architecture/2026-07-31-code-runtime-python-fd3-protocol.zh.md +++ b/.agents/notes/implemented/architecture/2026-07-31-code-runtime-python-fd3-protocol.zh.md @@ -10,7 +10,7 @@ CPython 代码运行时现在位于 `packages/experimental/code-runtime-python` `@deepseek-ai/dsh-experimental-code-runtime-python` 负责供 CPython code-runtime 提供方使用的 wire protocol。这样的提供方会在全新的 `python3 -I` 子进程中运行每个模型程序,并通过子进程 fd 3 桥接 binding 调用与完成值。Host 不能信任这条通道:模型代码可以完全访问 fd 3 并伪造任意帧,因此 host 必须把每个入站帧视为敌意输入,先校验并重建后才能读取。协议还必须承载无深度限制的 lossless JSON,因为 seam 的 `CodeJsonValue` 深度无界,而 `JSON.stringify` 和 `json.dumps` 都有递归深度限制。 -这个私有实验包同时包含协议与 runtime 实现:`PythonCodeRuntime`(插件的默认导出)、`python3 -I` 子进程路径与 Python 侧 JSON codec 都在 `@deepseek-ai/dsh-experimental-code-runtime-python` 中。协议建立在[可移植标识符 seam](2026-07-31-code-runtime-portable-identifier-seam.zh.md)之上。 +这个私有实验包同时包含协议与 runtime 实现:`PythonCodeRuntime`(插件的默认导出)、`python3 -I` 子进程路径与 Python 侧 JSON codec 都在 `@deepseek-ai/dsh-experimental-code-runtime-python` 中。协议建立在[可移植标识符 seam](../../archived/architecture/2026-07-31-code-runtime-portable-identifier-seam.md)之上。 ## Decision diff --git a/.agents/notes/implemented/architecture/2026-08-01-packaged-ripgrep-search.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-01-packaged-ripgrep-search.i18n.yaml deleted file mode 100644 index 870bf8ec05..0000000000 --- a/.agents/notes/implemented/architecture/2026-08-01-packaged-ripgrep-search.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-08-01-packaged-ripgrep-search.md -2026-08-01-packaged-ripgrep-search.md: c401bc1e30df0c3443ad58b37f64523b1c10cb31 -2026-08-01-packaged-ripgrep-search.zh.md: 6a195e59f77aa73b9d0918461cef45360e617098 diff --git a/.agents/notes/implemented/architecture/2026-08-03-per-session-agent-presets.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-03-per-session-agent-presets.i18n.yaml index 105e1367ce..56cdebf198 100644 --- a/.agents/notes/implemented/architecture/2026-08-03-per-session-agent-presets.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-03-per-session-agent-presets.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-08-03-per-session-agent-presets.md -2026-08-03-per-session-agent-presets.md: dabbb74855d884ac0185a1f9b3eb15ca4cd06bde -2026-08-03-per-session-agent-presets.zh.md: c863a62c6a3fc0121aad1821e5a9368963c669ab +2026-08-03-per-session-agent-presets.md: 14d568689a662e3e7d1fedf26c22aea6faddd56b +2026-08-03-per-session-agent-presets.zh.md: 9b296fa7a1c2b9164d9e7a0ad676929179a64fef diff --git a/.agents/notes/implemented/architecture/2026-08-03-per-session-agent-presets.md b/.agents/notes/implemented/architecture/2026-08-03-per-session-agent-presets.md index dabbb74855..14d568689a 100644 --- a/.agents/notes/implemented/architecture/2026-08-03-per-session-agent-presets.md +++ b/.agents/notes/implemented/architecture/2026-08-03-per-session-agent-presets.md @@ -55,7 +55,7 @@ Which preset an unnamed session gets is a user setting (`agent-presets.default`) **Authoring a preset is an RPC, and a privileged one.** A composition is a file, but "edit it on the filesystem" is not a browser affordance, so the roster gained `read`/`write`/`remove` beside `select`. Connection authenticates authoring, `list`, `select`, and the complete Host API with one browser session: a composition names the plugins a session runs, so reading one is reconnaissance and writing one is arbitrary capability, while choosing a preset grants nothing `session.create` with `agentPreset` did not already grant. The capability is not the preset's to grant either: the deployment's own default already carries `bash` and the filesystem tools, so any caller that may start a session at all can already run commands as this process. Containment is a property of the id (`[a-z0-9][a-z0-9-]*`), checked before it becomes a directory name rather than by inspecting the joined path afterwards; the text is parsed with the loader's own schema and dialect, so a save cannot leave a file no session could load. Shipped presets are refused for writes and deletes, because the deployment's copy is what a broken local preset is compared against — which also makes "duplicate, then edit" the authoring path rather than an afterthought. -**A service with a consumer outside the agent plane cannot move into a preset.** The aggressive split moved the `subagents` registry and its spawn/fork backends into the delegation group's entry-local realm, and `dsh web` then failed to boot: `SubagentRuntime` is a Host row that exposes the browser's cross-session Remote queries (`list`, `prompt`), so it waited forever for a service only sessions provided. A per-session copy is wrong twice over — a provider name registers once, so the second session would have collided anyway. The registry and every shared backend, including the [fixed Codex and Claude Code product providers](2026-08-10-product-subagent-providers-in-shared-host.md), are host-plane; a preset contributes whichever delegation TOOLS its agent should see, and those tools resolve the host registry. `workflows` stays entry-local because nothing outside an agent reads it. Grepping injectors is what should have caught this and did not: the search has to include the host packages, not just the agent-plane ones. +**A service with a consumer outside the agent plane cannot move into a preset.** The aggressive split moved the `subagents` registry and its spawn/fork backends into the delegation group's entry-local realm, and `dsh web` then failed to boot: `SubagentRuntime` is a Host row that exposes the browser's cross-session Remote queries (`list`, `prompt`), so it waited forever for a service only sessions provided. A per-session copy is wrong twice over — a provider name registers once, so the second session would have collided anyway. The registry and every shared backend, including the [fixed Codex and Claude Code product providers](../../archived/architecture/2026-08-10-product-subagent-providers-in-shared-host.md), are host-plane; a preset contributes whichever delegation TOOLS its agent should see, and those tools resolve the host registry. `workflows` stays entry-local because nothing outside an agent reads it. Grepping injectors is what should have caught this and did not: the search has to include the host packages, not just the agent-plane ones. **A real-composition test that disables a host row cannot audit that row.** The web composition test keeps API Gateway and the domain Remote services active while disabling the transport-only webserver, Connection, Session export, asset, and telemetry rows. With the browse directory picker substituted, its startup audit covers the host-plane service graph without binding a port. diff --git a/.agents/notes/implemented/architecture/2026-08-03-per-session-agent-presets.zh.md b/.agents/notes/implemented/architecture/2026-08-03-per-session-agent-presets.zh.md index c863a62c6a..9b296fa7a1 100644 --- a/.agents/notes/implemented/architecture/2026-08-03-per-session-agent-presets.zh.md +++ b/.agents/notes/implemented/architecture/2026-08-03-per-session-agent-presets.zh.md @@ -56,7 +56,7 @@ Status: implemented **创作 preset 是一次 RPC,而且是特权 RPC。** 组装是一个文件,但“去文件系统里改它”并不是浏览器能提供的操作,因此名单在 `select` 之外新增了 `read`/`write`/`remove`。Connection 用一个浏览器会话认证创作操作、`list`、`select` 与完整 Host API:组装指明一个会话所运行的插件,因此读取它是侦察,写入它是任意能力;选择 preset 则没有授予 `session.create` 携带 `agentPreset` 时尚未拥有的能力。这份能力也不由 preset 授予:部署自带的默认 preset 本就带着 `bash` 与文件系统工具,因此任何被允许开启会话的调用方,早已能以本进程的身份执行命令。约束是 id 自身的性质(`[a-z0-9][a-z0-9-]*`),在它成为目录名之前就检查,而不是事后再去审视拼接出的路径;文本使用 loader 自身的 schema 与方言解析,因此保存不会留下任何会话都无法加载的文件。随部署提供的 preset 拒绝写入与删除,因为部署自带的那一份正是用来对照有问题的本地 preset 的——这也让“先复制、再编辑”成为创作路径本身,而非事后补充。 -**在 agent 平面之外还有消费方的服务,不能搬进 preset。** 激进拆分把 `subagents` 注册表连同 spawn/fork 后端一起搬进了 delegation 组的 entry-local realm,于是 `dsh web` 直接起不来:`SubagentRuntime` 是 Host 行,它公开浏览器的跨会话 Remote 查询(`list`、`prompt`),因而永远等待一个只有会话才提供的服务。按会话各一份在两个层面上都是错的——provider 名只能注册一次,第二个会话本来也会相撞。注册表与所有共享后端,包括[固定的 Codex 与 Claude Code 产品 provider](2026-08-10-product-subagent-providers-in-shared-host.zh.md),都属于宿主平面;preset 只贡献自己的 agent 应看见的委派**工具**,这些工具解析宿主注册表。`workflows` 保持 entry-local,因为 agent 之外没有任何东西读它。本该拦下它的是「检索注入方」这一步,而它没拦住:检索必须覆盖宿主包,而不只是 agent 平面的包。 +**在 agent 平面之外还有消费方的服务,不能搬进 preset。** 激进拆分把 `subagents` 注册表连同 spawn/fork 后端一起搬进了 delegation 组的 entry-local realm,于是 `dsh web` 直接起不来:`SubagentRuntime` 是 Host 行,它公开浏览器的跨会话 Remote 查询(`list`、`prompt`),因而永远等待一个只有会话才提供的服务。按会话各一份在两个层面上都是错的——provider 名只能注册一次,第二个会话本来也会相撞。注册表与所有共享后端,包括[固定的 Codex 与 Claude Code 产品 provider](../../archived/architecture/2026-08-10-product-subagent-providers-in-shared-host.md),都属于宿主平面;preset 只贡献自己的 agent 应看见的委派**工具**,这些工具解析宿主注册表。`workflows` 保持 entry-local,因为 agent 之外没有任何东西读它。本该拦下它的是「检索注入方」这一步,而它没拦住:检索必须覆盖宿主包,而不只是 agent 平面的包。 **真实组装测试若禁用了某个宿主行,就无法审计该行。** web 组装测试保持 API Gateway 与各业务 Remote 服务启用,同时禁用只承载传输的 webserver、Connection、Session export、资源与遥测行。替换为 browse 目录选择器后,其启动审计无需绑定端口即可覆盖 Host 平面的服务图。 diff --git a/.agents/notes/implemented/architecture/2026-08-03-pi-ai-declared-provider-catalog.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-03-pi-ai-declared-provider-catalog.i18n.yaml deleted file mode 100644 index 768d1bbee1..0000000000 --- a/.agents/notes/implemented/architecture/2026-08-03-pi-ai-declared-provider-catalog.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-08-03-pi-ai-declared-provider-catalog.md -2026-08-03-pi-ai-declared-provider-catalog.md: 571986a94c8547538b44b11510609e0000923537 -2026-08-03-pi-ai-declared-provider-catalog.zh.md: d6f616f48d71378b90238b6087dfa48700e4d911 diff --git a/.agents/notes/implemented/architecture/2026-08-04-configuration-source-ownership.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-04-configuration-source-ownership.i18n.yaml index d8fbaea3d4..25b28406c4 100644 --- a/.agents/notes/implemented/architecture/2026-08-04-configuration-source-ownership.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-04-configuration-source-ownership.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-08-04-configuration-source-ownership.md -2026-08-04-configuration-source-ownership.md: 29dd5fd623d38532502af8c4e4afd972236fc139 -2026-08-04-configuration-source-ownership.zh.md: e5cbf70826b9314daccb7a62e5da4603e38158de +2026-08-04-configuration-source-ownership.md: 6dea1f08a9f2a0319f894a504082ff70bbe1118f +2026-08-04-configuration-source-ownership.zh.md: 1ccf2c266c3e52f2f10d3bceb3b1505ae6266b15 diff --git a/.agents/notes/implemented/architecture/2026-08-04-configuration-source-ownership.md b/.agents/notes/implemented/architecture/2026-08-04-configuration-source-ownership.md index 29dd5fd623..6dea1f08a9 100644 --- a/.agents/notes/implemented/architecture/2026-08-04-configuration-source-ownership.md +++ b/.agents/notes/implemented/architecture/2026-08-04-configuration-source-ownership.md @@ -6,7 +6,7 @@ English | [中文](2026-08-04-configuration-source-ownership.zh.md) ## Problem -`$DSH_HOME/.env` had just [become an ordinary environment layer](2026-08-04-credentials-yaml-and-user-environment-layer.md), which left the harness resolving user-facing values from a flattened `process.env` that could no longer say where a value came from. Three consequences followed. +`$DSH_HOME/.env` had just [become an ordinary environment layer](../../archived/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.md), which left the harness resolving user-facing values from a flattened `process.env` that could no longer say where a value came from. Three consequences followed. A key stored through the web page stayed shadowed by an older key in the user's own `.env`, because the credential provider compared "the environment" against its file and the environment now included that file. The migration dead end the split was supposed to remove had simply moved. @@ -27,7 +27,7 @@ explicit for this run per-operation override, CLI argument > defaults schema default, provider public default ``` -Settings sit above composition because that is what the [settings seam](2026-07-28-user-settings-seam.md) does: a plugin registers its cordis entry config as the `base` layer and the user's section layers over it, and the seam cannot tell a value a profile's bundles set from one its user patch layer or a `--patch` overlay set — all arrive as entry config. The product CLI has no lever above stored settings, so a deployment that must pin a field against a user's settings ships its own bin or loader tree, or mounts no settings provider at all. Composition still outranks the environment, so a stale `DEEPSEEK_BASE_URL` in a shell cannot rewrite a configured endpoint. +Settings sit above composition because that is what the [settings seam](../../archived/architecture/2026-07-28-user-settings-seam.md) does: a plugin registers its cordis entry config as the `base` layer and the user's section layers over it, and the seam cannot tell a value a profile's bundles set from one its user patch layer or a `--patch` overlay set — all arrive as entry config. The product CLI has no lever above stored settings, so a deployment that must pin a field against a user's settings ships its own bin or loader tree, or mounts no settings provider at all. Composition still outranks the environment, so a stale `DEEPSEEK_BASE_URL` in a shell cannot rewrite a configured endpoint. **Credentials keep a narrower, separate ordering**, and this note does not unify them: diff --git a/.agents/notes/implemented/architecture/2026-08-04-configuration-source-ownership.zh.md b/.agents/notes/implemented/architecture/2026-08-04-configuration-source-ownership.zh.md index e5cbf70826..1ccf2c266c 100644 --- a/.agents/notes/implemented/architecture/2026-08-04-configuration-source-ownership.zh.md +++ b/.agents/notes/implemented/architecture/2026-08-04-configuration-source-ownership.zh.md @@ -6,7 +6,7 @@ Status: implemented ## Problem -`$DSH_HOME/.env` 刚刚[变成普通环境层](2026-08-04-credentials-yaml-and-user-environment-layer.zh.md),这使得 harness 解析面向用户的值时面对的是一个压平的 `process.env`,再也说不清某个值来自哪里。由此产生三个后果。 +`$DSH_HOME/.env` 刚刚[变成普通环境层](../../archived/architecture/2026-08-04-credentials-yaml-and-user-environment-layer.md),这使得 harness 解析面向用户的值时面对的是一个压平的 `process.env`,再也说不清某个值来自哪里。由此产生三个后果。 通过 Web 页面存下的密钥仍然被用户自己 `.env` 里更旧的密钥遮蔽,因为凭据提供方是拿「环境」与自己的文件比较,而现在环境包含了那个文件。这次拆分本该消除的迁移死路,只是换了个位置。 @@ -28,7 +28,7 @@ explicit for this run per-operation override, CLI argument ``` -settings 在 composition 之上,因为 [settings seam](2026-07-28-user-settings-seam.zh.md) 就是这么做的:插件把自己的 cordis entry config 注册为 `base` 层,用户 section 叠加其上,而 seam 无法区分某个值是 profile 的 bundle 设的,还是它的用户 patch 层或某个 `--patch` overlay 设的——它们都以 entry config 的形式抵达。产品 CLI(命令行界面)没有高于已存 settings 的手段,因此需要把某字段钉死、不被用户已存 settings 覆盖的部署方,应自带 bin 或 loader 配置树,或者干脆不挂载 settings 提供方。composition 仍然高于环境,所以 shell 里陈旧的 `DEEPSEEK_BASE_URL` 无法改写已配置的 endpoint。 +settings 在 composition 之上,因为 [settings seam](../../archived/architecture/2026-07-28-user-settings-seam.md) 就是这么做的:插件把自己的 cordis entry config 注册为 `base` 层,用户 section 叠加其上,而 seam 无法区分某个值是 profile 的 bundle 设的,还是它的用户 patch 层或某个 `--patch` overlay 设的——它们都以 entry config 的形式抵达。产品 CLI(命令行界面)没有高于已存 settings 的手段,因此需要把某字段钉死、不被用户已存 settings 覆盖的部署方,应自带 bin 或 loader 配置树,或者干脆不挂载 settings 提供方。composition 仍然高于环境,所以 shell 里陈旧的 `DEEPSEEK_BASE_URL` 无法改写已配置的 endpoint。 **凭据保留一条更窄的独立顺序**,本 Note 不把它并入上表: diff --git a/.agents/notes/implemented/architecture/2026-08-04-declaring-a-provider-from-the-models-page.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-04-declaring-a-provider-from-the-models-page.i18n.yaml deleted file mode 100644 index a3fea8ebb1..0000000000 --- a/.agents/notes/implemented/architecture/2026-08-04-declaring-a-provider-from-the-models-page.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-08-04-declaring-a-provider-from-the-models-page.md -2026-08-04-declaring-a-provider-from-the-models-page.md: ad4c6695b2caabd7270694bdbb6e5b3d24c50081 -2026-08-04-declaring-a-provider-from-the-models-page.zh.md: 2ca26e4b601b51b34598b8ce8bb59f31f83b58a2 diff --git a/.agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.i18n.yaml index 82f9d4ae6b..14b9ebbac9 100644 --- a/.agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.md -2026-08-04-draft-provider-endpoint-interrogation.md: a6d8d32f12711744cb1380d2ab2767dcd3dd63f6 -2026-08-04-draft-provider-endpoint-interrogation.zh.md: e162ddb30706e871a2a42b5bbe7e09a451296289 +2026-08-04-draft-provider-endpoint-interrogation.md: 462b8ba3e771018126aa6483a8cd72999361144d +2026-08-04-draft-provider-endpoint-interrogation.zh.md: c7612513b95bc3dc9736b9bfaf70cca26a776181 diff --git a/.agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.md b/.agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.md index a6d8d32f12..462b8ba3e7 100644 --- a/.agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.md +++ b/.agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.md @@ -6,7 +6,7 @@ English | [中文](2026-08-04-draft-provider-endpoint-interrogation.zh.md) ## Problem -Once a pi-ai route became [a declaration rather than a catalog lookup](2026-08-03-pi-ai-declared-provider-catalog.md), a person adding a compatible gateway had to know its model ids before they could configure it. The adapter no longer constrains them to an installed catalog, which is the point, but it also means nothing tells the user what the endpoint actually serves — and OpenAI- and Anthropic-compatible endpoints publish that list through protocol-specific model-listing routes. +Once a pi-ai route became [a declaration rather than a catalog lookup](../../archived/architecture/2026-08-03-pi-ai-declared-provider-catalog.md), a person adding a compatible gateway had to know its model ids before they could configure it. The adapter no longer constrains them to an installed catalog, which is the point, but it also means nothing tells the user what the endpoint actually serves — and OpenAI- and Anthropic-compatible endpoints publish that list through protocol-specific model-listing routes. The obvious answer, a dynamic runtime catalog refreshed in the background, was rejected with the layer below it: it makes a route's model list external mutable state needing a cache, an invalidation story, and an offline path, while the product need is narrower. What is needed is a *question asked once*, whose answer the user adopts into `settings.yaml` — so `settings.yaml` remains the only thing deciding what a route serves. @@ -21,7 +21,7 @@ Interrogation is keyed by **settings namespace**, not by provider route: - `LlmDiscoveredModel` makes every field but `id` optional, because most listings disclose an id and nothing else. The reply is candidates, not a catalog: a surface adopting one still owes the capacities the adapter requires. - `llm.discoverModels` carries the same draft over the wire. Its `apiKey` is the third and last payload on which a secret may ride, alongside `settings.update`/`mutate` and `credentials.set`, and it is never stored or echoed back. It does ride the client's outgoing envelope like every other secret-bearing payload, where a `subscribeEnvelopes()` observer can see it; redacting that tap is a configuration-plane-wide change, not this method's to make alone. Connection authenticates the method with the complete Host API: it makes the host issue a GET to a caller-chosen URL and reports the outcome, which an anonymous caller must not receive. Every refusal folds into `model-discovery-failed`, whose message is the adapter's own text and whose details name the endpoint asked but never the credential offered. -`dsh-llm-pi-ai` applies the protocol-specific listing routes, authentication, URL normalization, response formats, and metadata rules recorded by [protocol-specific model listing discovery](2026-09-02-protocol-specific-model-listing-discovery.md). Profile resolution rejects names and values Fetch cannot represent, so a malformed deployment header is reported as a configuration error before interrogation. Configured profile headers are installed first; fixed protocol headers, a typed-or-stored protocol credential, and Harness attribution then win their case-insensitive collisions. A protocol without a documented listing contract answers `DISCOVERY_UNSUPPORTED`, so the surface falls back to hand-entry rather than reporting guessed response fields as an empty provider. `baseURL` is treated as a prefix rather than a URL to resolve against, so deployment path segments remain intact. The reply is read under a four-megabyte ceiling enforced on the bytes actually received — the endpoint is a URL the user typed, so a declared `content-length` is checked first as a courtesy but never trusted as the bound, matching `dsh-web-fetch`'s two-stage pattern for its own caller-supplied URLs. +`dsh-llm-pi-ai` applies the protocol-specific listing routes, authentication, URL normalization, response formats, and metadata rules documented in the [`dsh-llm-pi-ai` README](../../../../packages/llm/llm-pi-ai/README.md). Profile resolution rejects names and values Fetch cannot represent, so a malformed deployment header is reported as a configuration error before interrogation. Configured profile headers are installed first; fixed protocol headers, a typed-or-stored protocol credential, and Harness attribution then win their case-insensitive collisions. A protocol without a documented listing contract answers `DISCOVERY_UNSUPPORTED`, so the surface falls back to hand-entry rather than reporting guessed response fields as an empty provider. `baseURL` is treated as a prefix rather than a URL to resolve against, so deployment path segments remain intact. The reply is read under a four-megabyte ceiling enforced on the bytes actually received — the endpoint is a URL the user typed, so a declared `content-length` is checked first as a courtesy but never trusted as the bound, matching `dsh-web-fetch`'s two-stage pattern for its own caller-supplied URLs. ### Why not pi-ai's own refresh machinery @@ -35,7 +35,7 @@ pi-ai supplies `createProvider({ fetchModels })` plus `Models.refresh()` and a ` **Have the host read the entire stored profile instead of accepting a draft.** No secret would cross the wire for an already-configured provider. But adding a provider would then require saving an unusable configuration first, and a form whose endpoint was edited but not yet saved would silently interrogate the old one. The draft remains authoritative for the endpoint and protocol. The narrow Host-side exceptions are the stored credential, which is write-only, and profile headers, which remain deployment configuration rather than Models-page fields. -**Interrogate every pi-ai protocol.** Coverage based on convenient response similarities would be arbitrary and would make a wrong guess indistinguishable from a provider with no models. Anthropic is included only through its documented native listing contract, as the [protocol-specific extension](2026-09-02-protocol-specific-model-listing-discovery.md) records; Google's field set and Azure's request contract differ, while Codex uses OAuth. An unsupported protocol sends the user to hand-entry, which remains the documented fallback. +**Interrogate every pi-ai protocol.** Coverage based on convenient response similarities would be arbitrary and would make a wrong guess indistinguishable from a provider with no models. Anthropic is included only through its documented native listing contract, as the [`dsh-llm-pi-ai` README](../../../../packages/llm/llm-pi-ai/README.md) documents; Google's field set and Azure's request contract differ, while Codex uses OAuth. An unsupported protocol sends the user to hand-entry, which remains the documented fallback. **Buffer the reply with `response.text()` and check its length.** Simpler, but the bound would arrive after the bytes did, and the endpoint is whatever URL the user typed. diff --git a/.agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.zh.md b/.agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.zh.md index e162ddb307..c7612513b9 100644 --- a/.agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.zh.md +++ b/.agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.zh.md @@ -6,7 +6,7 @@ Status: implemented ## Problem -当 pi-ai 路由变成[一份声明而非 catalog 查表](2026-08-03-pi-ai-declared-provider-catalog.zh.md)之后,要接入一个兼容网关的人,必须先知道它的模型 id 才能完成配置。适配器不再把人限制在已安装 catalog 里——这正是那次改动的目的——但也意味着没有任何东西告诉用户该端点究竟服务什么,而 OpenAI 与 Anthropic 兼容端点会通过各自协议的模型列表路由公布这份信息。 +当 pi-ai 路由变成[一份声明而非 catalog 查表](../../archived/architecture/2026-08-03-pi-ai-declared-provider-catalog.md)之后,要接入一个兼容网关的人,必须先知道它的模型 id 才能完成配置。适配器不再把人限制在已安装 catalog 里——这正是那次改动的目的——但也意味着没有任何东西告诉用户该端点究竟服务什么,而 OpenAI 与 Anthropic 兼容端点会通过各自协议的模型列表路由公布这份信息。 显而易见的答案——后台刷新的运行时动态 catalog——已随下层一并被拒绝:它会把路由的模型列表变成需要缓存、失效语义与离线路径的外部可变状态,而产品需求要窄得多。真正需要的是*一次性询问*,其答案由用户采纳进 `settings.yaml`,从而让 `settings.yaml` 始终是决定路由服务内容的唯一真源。 @@ -21,7 +21,7 @@ Status: implemented - `LlmDiscoveredModel` 除 `id` 外每个字段都可选,因为大多数列表只公布 id。回复是候选而非 catalog:采纳其中一条的界面仍要补上适配器所需的容量。 - `llm.discoverModels` 把同一份草稿送过协议层。它的 `apiKey` 是可承载机密的第三个、也是最后一个载荷(另两个是 `settings.update`/`mutate` 与 `credentials.set`),且绝不被存储或回显。它确实会像其他承载机密的载荷一样随客户端外发信封同行,`subscribeEnvelopes()` 观察者看得到;把那个抽头脱敏是整个配置面的改动,不该由这一个方法独自决定。Connection 用与完整 Host API 相同的会话认证该方法:它让宿主向调用方选定的 URL 发起 GET 并回报结果,匿名调用者绝不能获得这类探测能力。每一种拒绝都折叠为 `model-discovery-failed`,其消息是适配器自己的文本,details 点名被询问的端点,绝不点名所提供的凭据。 -`dsh-llm-pi-ai` 会应用[协议特定模型列表发现](2026-09-02-protocol-specific-model-listing-discovery.zh.md)记录的列表路由、认证、URL 归一化、响应格式与元数据规则。Profile 解析会拒绝 Fetch 无法表示的名称与值,因此格式错误的部署 header 会在询问前以配置错误报告。已配置的 profile headers 最先装入;固定协议 headers、键入或已存的协议凭据以及 Harness attribution 随后分别以大小写不敏感方式赢得相应冲突。没有文档化列表约定的协议会以 `DISCOVERY_UNSUPPORTED` 回答,让界面回退到手工填写,而不是把猜错的响应字段报成一个空提供方。`baseURL` 按前缀而非待解析 URL 处理,因此部署路径段会保持不变。回复在四兆字节上限下读取,且上限落在实际收到的字节上——端点是用户自己填的 URL,因此会先看声明的 `content-length` 作为善意提示,但绝不把它当作边界;这与 `dsh-web-fetch` 面对自己的调用方提供 URL 时所用的两段式模式一致。 +`dsh-llm-pi-ai` 会应用[`dsh-llm-pi-ai` README](../../../../packages/llm/llm-pi-ai/README.zh.md)记录的列表路由、认证、URL 归一化、响应格式与元数据规则。Profile 解析会拒绝 Fetch 无法表示的名称与值,因此格式错误的部署 header 会在询问前以配置错误报告。已配置的 profile headers 最先装入;固定协议 headers、键入或已存的协议凭据以及 Harness attribution 随后分别以大小写不敏感方式赢得相应冲突。没有文档化列表约定的协议会以 `DISCOVERY_UNSUPPORTED` 回答,让界面回退到手工填写,而不是把猜错的响应字段报成一个空提供方。`baseURL` 按前缀而非待解析 URL 处理,因此部署路径段会保持不变。回复在四兆字节上限下读取,且上限落在实际收到的字节上——端点是用户自己填的 URL,因此会先看声明的 `content-length` 作为善意提示,但绝不把它当作边界;这与 `dsh-web-fetch` 面对自己的调用方提供 URL 时所用的两段式模式一致。 ### 为什么不用 pi-ai 自己的 refresh 机制 @@ -35,7 +35,7 @@ pi-ai 提供了 `createProvider({ fetchModels })` 加上 `Models.refresh()` 与 **让 Host 读取整个已存 profile,而不是接受草稿。** 对已配置好的提供方来说,不会有机密跨越协议层。但这样一来新增提供方就必须先保存一份不可用的配置,而端点已改却尚未保存的表单会静默地去询问旧地址。草稿仍是端点和协议的权威来源。Host 侧的狭窄例外是只写的已存凭据,以及仍属部署配置、而非 Models 页面字段的 profile headers。 -**询问每一种 pi-ai 协议。** 根据便利的响应相似性选择覆盖范围会显得武断,也会让猜错的响应与「提供方没有模型」无法区分。Anthropic 仅通过其文档化原生列表约定纳入支持,具体由[协议特定扩展](2026-09-02-protocol-specific-model-listing-discovery.zh.md)记录;Google 的字段集合与 Azure 的请求约定不同,Codex 则使用 OAuth。不支持的协议会把用户送去手工填写,这仍是既定回退路径。 +**询问每一种 pi-ai 协议。** 根据便利的响应相似性选择覆盖范围会显得武断,也会让猜错的响应与「提供方没有模型」无法区分。Anthropic 仅通过其文档化原生列表约定纳入支持,具体由[`dsh-llm-pi-ai` README](../../../../packages/llm/llm-pi-ai/README.zh.md)记录;Google 的字段集合与 Azure 的请求约定不同,Codex 则使用 OAuth。不支持的协议会把用户送去手工填写,这仍是既定回退路径。 **用 `response.text()` 缓冲整个回复再判断长度。** 更简单,但上限会在字节已经到达之后才生效,而端点是用户随手填的任意 URL。 diff --git a/.agents/notes/implemented/architecture/2026-08-05-large-session-jsonl-restore-pipeline.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-05-large-session-jsonl-restore-pipeline.i18n.yaml deleted file mode 100644 index 3d54f62991..0000000000 --- a/.agents/notes/implemented/architecture/2026-08-05-large-session-jsonl-restore-pipeline.i18n.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# 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 .agents/notes/implemented/architecture/2026-08-05-large-session-jsonl-restore-pipeline.md -2026-08-05-large-session-jsonl-restore-pipeline.md: e87777cc407e50a0e4808b77c3a7d554659d62e7 -2026-08-05-large-session-jsonl-restore-pipeline.zh.md: 32762bd19914423ef38c6472f0a8087e3e7e45fa diff --git a/.agents/notes/implemented/architecture/2026-08-05-profile-plugin-bundles.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-05-profile-plugin-bundles.i18n.yaml index a70ebb7db2..70634bb543 100644 --- a/.agents/notes/implemented/architecture/2026-08-05-profile-plugin-bundles.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-05-profile-plugin-bundles.i18n.yaml @@ -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 .agents/notes/implemented/architecture/2026-08-05-profile-plugin-bundles.md -2026-08-05-profile-plugin-bundles.md: 493568691dac3a54185f11cbbf8162bf6b6355b1 -2026-08-05-profile-plugin-bundles.zh.md: adfa95b6f8d0fdd6fe3c0ebbc7a62d935ebb1987 +2026-08-05-profile-plugin-bundles.md: 7e51345e7eba8a58db63807e31d4a11481e3ffea +2026-08-05-profile-plugin-bundles.zh.md: b2631603737ea9412eb97029ff01d751d8084cec diff --git a/.agents/notes/implemented/architecture/2026-08-05-profile-plugin-bundles.md b/.agents/notes/implemented/architecture/2026-08-05-profile-plugin-bundles.md index 493568691d..7e51345e7e 100644 --- a/.agents/notes/implemented/architecture/2026-08-05-profile-plugin-bundles.md +++ b/.agents/notes/implemented/architecture/2026-08-05-profile-plugin-bundles.md @@ -10,13 +10,13 @@ The `dsh` launcher hardcoded its compositions: `base.cordis.yml` + `web.cordis.y ## Decision -Everything becomes a **profile**: a directory `$DSH_HOME/profiles/` with a `package.json` (pnpm-managed out-of-tree plugin `dependencies` plus the profile manifest `dsh.profile` with its ordered `bundles` layer list) and a user `cordis.patch.yml`. A **bundle** is an npm package declaring `"dsh": { "bundle": { "patch": "./cordis.patch.yml" } }`; the two manifest kinds live under distinct `dsh.profile` / `dsh.bundle` keys so a package.json states which role it plays. The tree composes over an empty root by applying each bundle's patch in `dsh.profile.bundles` order, then the user layer and `--patch` overlays — one `applyEntryPatches` call shared by boot and `--dump-config`. App invocation values later moved from launcher-derived patches to startup services in the [app-owned command-line decision](2026-08-06-app-owned-command-line.md). +Everything becomes a **profile**: a directory `$DSH_HOME/profiles/` with a `package.json` (pnpm-managed out-of-tree plugin `dependencies` plus the profile manifest `dsh.profile` with its ordered `bundles` layer list) and a user `cordis.patch.yml`. A **bundle** is an npm package declaring `"dsh": { "bundle": { "patch": "./cordis.patch.yml" } }`; the two manifest kinds live under distinct `dsh.profile` / `dsh.bundle` keys so a package.json states which role it plays. The tree composes over an empty root by applying each bundle's patch in `dsh.profile.bundles` order, then the user layer and `--patch` overlays — one `applyEntryPatches` call shared by boot and `--dump-config`. App invocation values later moved from launcher-derived patches to startup services in the [app-owned command-line decision](../../archived/architecture/2026-08-06-app-owned-command-line.md). -The default Profile templates use `@deepseek-ai/dsh-base` as the shared core for `web`, `headless`, `sdk`, and `acp`, with one mode bundle above it. The [standalone `sdk-minimal` profile](2026-08-24-standalone-sdk-minimal-profile.md) instead lists one bundle that owns its complete explicit tree. Generic `dsh --profile ` hands its remaining arguments to that profile's command-line startup row: Web owns its flag family, headless owns its task positional, and the protocol profiles accept no app options. Patch overlays use launcher-owned `--patch`. `dsh plugin --profile ` is a thin pnpm forwarder that initializes the profile and reconciles `dsh.profile.bundles` with installed bundle declarations; a package without a bundle declaration remains a plain dependency. [Headless as a direct core entry point](2026-08-09-headless-direct-core-entry-point.md) owns the headless composition contract. +The default Profile templates use `@deepseek-ai/dsh-base` as the shared core for `web`, `headless`, `sdk`, and `acp`, with one mode bundle above it. The [standalone `sdk-minimal` profile](../../../../packages/bundle/sdk-minimal/README.md) instead lists one bundle that owns its complete explicit tree. Generic `dsh --profile ` hands its remaining arguments to that profile's command-line startup row: Web owns its flag family, headless owns its task positional, and the protocol profiles accept no app options. Patch overlays use launcher-owned `--patch`. A new, non-shipped target can use `--from-default-profile