diff --git a/.agents/notes/README.i18n.yaml b/.agents/notes/README.i18n.yaml index f6289cf96f..1fa95a5e2d 100644 --- a/.agents/notes/README.i18n.yaml +++ b/.agents/notes/README.i18n.yaml @@ -1,6 +1,46 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for README.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/README.md -README.md: 6872de0a1390fa5a1707b9f464c9e0edeb2da4be -README.zh.md: ced81f77fa904ad0b5cb5219383ef651d87392b8 +/agent-notes: + en: a10991a192c7b55d + zh: c2e5b938ece4f366 +/agent-notes/layout-and-naming: + en: 6b38cb0eb38c2baf + zh: 535234fb23fc8921 +/agent-notes/classification: + en: 055a5e49f9af3dc2 + zh: 9f7c78409cccfded +/agent-notes/archiving-and-deletion: + en: 6c393c7058c787d7 + zh: 70ce9ca3bd9c2133 +/agent-notes/when-to-write-one: + en: 2beb1b94d8fb633c + zh: 889b5542bb771205 +/agent-notes/the-file-format: + en: 601f85df49f80fc7 + zh: acbd0955d6543b13 +/agent-notes/the-file-format/the-header-block: + en: 16fdaab0c74a5bb5 + zh: 2553f145a1eb878f +/agent-notes/the-file-format/the-body-skeleton: + en: 740b7e964b9aec37 + zh: 8551ddef1ffa776a +/agent-notes/the-file-format/the-body-skeleton/proposed: + en: acc0c035c5ca6fd7 + zh: 8a65816dfac9e580 +/agent-notes/the-file-format/the-body-skeleton/implemented: + en: f3523d7e40cc4e2f + zh: 574fa8959f8829a1 +/agent-notes/the-file-format/the-body-skeleton/rejected: + en: f0ff5d05191f2315 + zh: 3f9df0dd01a5cbed +/agent-notes/the-file-format/alternatives-considered-mandatory: + en: fe1bf385aee54033 + zh: 37cb4ea86ec6d99d +/agent-notes/the-file-format/moving-between-lifecycles: + en: d3f18ba194dfb677 + zh: 3d202868deda2f31 +/agent-notes/the-file-format/chinese-counterparts: + en: d72a33b7c63722b2 + zh: f8320c91b1f77ae6 diff --git a/.agents/notes/archived/manifest.json b/.agents/notes/archived/manifest.json index 6fc82fe8a6..5ed6850038 100644 --- a/.agents/notes/archived/manifest.json +++ b/.agents/notes/archived/manifest.json @@ -754,12 +754,12 @@ "bug-fix/2026-09-09-content-sized-diagram-previews.i18n.yaml": "sha256:a4404fe8e35ca5b6371f9cdb58fea6724cf3e7737bb2db8a3a321d534454b17c", "bug-fix/2026-09-09-content-sized-diagram-previews.md": "sha256:5239e98e5c057d6f7e10c3f10a0f67273778d99b0c4f10b31a1921c3c6474b80", "bug-fix/2026-09-09-content-sized-diagram-previews.zh.md": "sha256:c1ee3790a9d5c3561e1d93d5e649afa904c7d19b9d77248c85ef16daccd953e2", - "bug-fix/2026-09-16-movable-mandatory-update-window.i18n.yaml": "sha256:e526ce14ae9557e24364e3686778b130090445ef2152d976b7cc93e76eac6401", - "bug-fix/2026-09-16-movable-mandatory-update-window.md": "sha256:67546cea0b3de2b3e32957a508dbde097d91dd919fe067c8dbecb2c65b50c366", - "bug-fix/2026-09-16-movable-mandatory-update-window.zh.md": "sha256:20a0aade6ee71c89e84d70e23c89bb51e8a38c674d103dd43022feabb8d27be3", "bug-fix/2026-09-11-session-controller-fork-turn-cut.i18n.yaml": "sha256:4442529ced1c8e48d30f7b50c65ff03eb92dce9815beb438cedbf29f234bce47", "bug-fix/2026-09-11-session-controller-fork-turn-cut.md": "sha256:a996f24a896c7fc5d81e015db3eae27d8a46c853287572e815623ce35eae1b12", "bug-fix/2026-09-11-session-controller-fork-turn-cut.zh.md": "sha256:6486f0eacf5067ef9850dc32f1c27b2109a7d4e9e3c498366f5c38742bb53ac5", + "bug-fix/2026-09-16-movable-mandatory-update-window.i18n.yaml": "sha256:e526ce14ae9557e24364e3686778b130090445ef2152d976b7cc93e76eac6401", + "bug-fix/2026-09-16-movable-mandatory-update-window.md": "sha256:67546cea0b3de2b3e32957a508dbde097d91dd919fe067c8dbecb2c65b50c366", + "bug-fix/2026-09-16-movable-mandatory-update-window.zh.md": "sha256:20a0aade6ee71c89e84d70e23c89bb51e8a38c674d103dd43022feabb8d27be3", "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", @@ -1561,6 +1561,9 @@ "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-automatic-translation-pairing-merges.i18n.yaml": "sha256:5398ef0c48258d3f3a9881e2b34fc4e2086a0b8084b8d7100798dbca6cc39887", + "process/2026-08-08-automatic-translation-pairing-merges.md": "sha256:fb1f3df3246151da920c14fdf195b0cb3bf595a2eed639c84baf70e3f56d36ce", + "process/2026-08-08-automatic-translation-pairing-merges.zh.md": "sha256:9ce7ff6f511ce973637f001b119ce323a5efe0be57cc11d12691aaa36199a8b8", "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", diff --git a/.agents/notes/archived/process/2026-08-08-automatic-translation-pairing-merges.i18n.yaml b/.agents/notes/archived/process/2026-08-08-automatic-translation-pairing-merges.i18n.yaml new file mode 100644 index 0000000000..48d9fbaaac --- /dev/null +++ b/.agents/notes/archived/process/2026-08-08-automatic-translation-pairing-merges.i18n.yaml @@ -0,0 +1,6 @@ +# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each +# side as of the last confirmed-consistent state. Both languages 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-automatic-translation-pairing-merges.md +2026-08-08-automatic-translation-pairing-merges.md: ed693e376d056378b27a8995a6f26fefcdba34b2 +2026-08-08-automatic-translation-pairing-merges.zh.md: 827475a92824c22ee6f4c558de81b645c3c2b8dc diff --git a/.agents/notes/implemented/process/2026-08-08-automatic-translation-pairing-merges.md b/.agents/notes/archived/process/2026-08-08-automatic-translation-pairing-merges.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-08-automatic-translation-pairing-merges.md rename to .agents/notes/archived/process/2026-08-08-automatic-translation-pairing-merges.md index ac4e0c1129..ed693e376d 100644 --- a/.agents/notes/implemented/process/2026-08-08-automatic-translation-pairing-merges.md +++ b/.agents/notes/archived/process/2026-08-08-automatic-translation-pairing-merges.md @@ -1,6 +1,7 @@ # Agent Note: Automatically compose translation pairing records Status: implemented +Archived: 2026-09-23 English | [中文](2026-08-08-automatic-translation-pairing-merges.zh.md) diff --git a/.agents/notes/implemented/process/2026-08-08-automatic-translation-pairing-merges.zh.md b/.agents/notes/archived/process/2026-08-08-automatic-translation-pairing-merges.zh.md similarity index 99% rename from .agents/notes/implemented/process/2026-08-08-automatic-translation-pairing-merges.zh.md rename to .agents/notes/archived/process/2026-08-08-automatic-translation-pairing-merges.zh.md index 820ebdbe8c..827475a928 100644 --- a/.agents/notes/implemented/process/2026-08-08-automatic-translation-pairing-merges.zh.md +++ b/.agents/notes/archived/process/2026-08-08-automatic-translation-pairing-merges.zh.md @@ -1,6 +1,7 @@ # Agent Note: 自动组合翻译配对记录 Status: implemented +Archived: 2026-09-23 [English](2026-08-08-automatic-translation-pairing-merges.md) | 中文 diff --git a/.agents/notes/implemented/architecture/2026-06-11-content-block-vocabulary.i18n.yaml b/.agents/notes/implemented/architecture/2026-06-11-content-block-vocabulary.i18n.yaml index b62c09f26c..5e1614518c 100644 --- a/.agents/notes/implemented/architecture/2026-06-11-content-block-vocabulary.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-06-11-content-block-vocabulary.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-11-content-block-vocabulary.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-content-block-vocabulary.md -2026-06-11-content-block-vocabulary.md: 917dd5225fdc4ab391e9e4629769abbb68095731 -2026-06-11-content-block-vocabulary.zh.md: 9d228eb34dafbdebab44b45dc3b290c9327d3b2b +/agent-note-provider-neutral-content-block-vocabulary-owned-by-dsh-llm: + en: 64935f5c8e315004 + zh: 6a9cbb4578eaa437 +/agent-note-provider-neutral-content-block-vocabulary-owned-by-dsh-llm/problem: + en: 4e81df7bca1c1638 + zh: f7483d180a613237 +/agent-note-provider-neutral-content-block-vocabulary-owned-by-dsh-llm/decision: + en: 9526dfcf4da1d000 + zh: ea2bf79a02b26b39 +/agent-note-provider-neutral-content-block-vocabulary-owned-by-dsh-llm/alternatives-considered: + en: 1de2e19e711105e6 + zh: a2cd5a64cc4e9e73 +/agent-note-provider-neutral-content-block-vocabulary-owned-by-dsh-llm/consequences: + en: 999d10e69e447e44 + zh: 38370da5b900ac30 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 6578c0b2a2..d01dd83fdb 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 @@ -1,6 +1,37 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-11-dev-invariants-over-deep-readonly.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 0784960397f4d198e136e284ef9232b4ed3e2c2c -2026-06-11-dev-invariants-over-deep-readonly.zh.md: 7183813130560bf82426c8719570b668ba86b7e5 +/agent-note-source-owned-session-immutability-and-dev-mode-invariants: + en: 052aa271e87074c0 + zh: 3ccffc50fc1a28d4 +/agent-note-source-owned-session-immutability-and-dev-mode-invariants/problem: + en: 6ea85a4531d5e59f + zh: b4b568eb347f016a +/agent-note-source-owned-session-immutability-and-dev-mode-invariants/decision: + en: 6e701ec64c3bbfae + zh: b8ed0f1cb7a0477a +/agent-note-source-owned-session-immutability-and-dev-mode-invariants/decision/session-owns-immutable-history: + en: ff47e58c377a8dc0 + zh: 5edbe4f3642a3fe6 +/agent-note-source-owned-session-immutability-and-dev-mode-invariants/decision/derived-requests-remain-detached: + en: 975df574ee6e6df8 + zh: 96d765058482835a +/agent-note-source-owned-session-immutability-and-dev-mode-invariants/decision/package-owned-invariant-companions-check-relationships: + en: a88e3a896eedca91 + zh: 03e96c7870cba932 +/agent-note-source-owned-session-immutability-and-dev-mode-invariants/alternatives-considered: + en: 6119e2aff3b6be5a + zh: 76136ef5249c23eb +/agent-note-source-owned-session-immutability-and-dev-mode-invariants/alternatives-considered/pervasive-deep-readonly-types: + en: ec54af2931616616 + zh: 5fd9bc469a6fd3a5 +/agent-note-source-owned-session-immutability-and-dev-mode-invariants/alternatives-considered/development-only-freezing: + en: 85591197bb62eabf + zh: ba69b9ccf596a6d7 +/agent-note-source-owned-session-immutability-and-dev-mode-invariants/alternatives-considered/clone-only-when-deriving-messages: + en: a9848dec50664b92 + zh: 7c558550b054627b +/agent-note-source-owned-session-immutability-and-dev-mode-invariants/consequences: + en: bcccf7d464a070db + zh: eccd442a21e2c99e diff --git a/.agents/notes/implemented/architecture/2026-06-11-event-sourced-sessions.i18n.yaml b/.agents/notes/implemented/architecture/2026-06-11-event-sourced-sessions.i18n.yaml index 868d215253..60451f71cc 100644 --- a/.agents/notes/implemented/architecture/2026-06-11-event-sourced-sessions.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-06-11-event-sourced-sessions.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-11-event-sourced-sessions.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-event-sourced-sessions.md -2026-06-11-event-sourced-sessions.md: b6d17d2db1d9b489f3d4224683b61e62be485014 -2026-06-11-event-sourced-sessions.zh.md: 11e5740dc2636fc002ed7158167b1dfbb39a971d +/agent-note-event-sourced-sessions-with-derived-message-history: + en: da3abc821101e4b3 + zh: c206fa4830920592 +/agent-note-event-sourced-sessions-with-derived-message-history/problem: + en: 63b684d349a48a15 + zh: 7603f64b445db129 +/agent-note-event-sourced-sessions-with-derived-message-history/decision: + en: d60f161037a10269 + zh: 799a15fae2534ec4 +/agent-note-event-sourced-sessions-with-derived-message-history/alternatives-considered: + en: 73541e0833eb9559 + zh: ddca382d54e498e5 +/agent-note-event-sourced-sessions-with-derived-message-history/consequences: + en: d2ea77a5c8e30949 + zh: 19dc61cb0d29315f diff --git a/.agents/notes/implemented/architecture/2026-06-11-microkernel-event-taxonomy.i18n.yaml b/.agents/notes/implemented/architecture/2026-06-11-microkernel-event-taxonomy.i18n.yaml index 57843018c6..f23e22ad36 100644 --- a/.agents/notes/implemented/architecture/2026-06-11-microkernel-event-taxonomy.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-06-11-microkernel-event-taxonomy.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-11-microkernel-event-taxonomy.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-microkernel-event-taxonomy.md -2026-06-11-microkernel-event-taxonomy.md: 6cacbc30f29c863de0f8ddfa4df7251a64bc80ca -2026-06-11-microkernel-event-taxonomy.zh.md: 1c7919392b835c491b9dc606d46f638a708d2948 +/agent-note-microkernel-extension-via-cordis-event-taxonomy-one-concrete-loop: + en: e5775d7ec6f1cdc3 + zh: a364697f860a545a +/agent-note-microkernel-extension-via-cordis-event-taxonomy-one-concrete-loop/problem: + en: 3bc74749db819441 + zh: 19b5497ed3a9378b +/agent-note-microkernel-extension-via-cordis-event-taxonomy-one-concrete-loop/decision: + en: 2153b0cb5773cb08 + zh: 82d7ad1b250cd52d +/agent-note-microkernel-extension-via-cordis-event-taxonomy-one-concrete-loop/alternatives-considered: + en: e528c5a20e0c55a3 + zh: 004d3bf06241cc26 +/agent-note-microkernel-extension-via-cordis-event-taxonomy-one-concrete-loop/consequences: + en: 6acb80cdaa7c010f + zh: acca672d8094d985 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 92ea844d93..18a5b7dcf2 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 @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-13-capability-seams.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 798739b7ef203b10ea657f9e1c178ea7eab094ad -2026-06-13-capability-seams.zh.md: c8f568aa569fe74146f1e7fcc46e00774a39fb84 +/agent-note-capability-seams-service-definition-service-provider-consumer-roles: + en: 4c1875882be571bb + zh: 90ef4d8b27587c6b +/agent-note-capability-seams-service-definition-service-provider-consumer-roles/problem: + en: 3215928333de66f7 + zh: 2c72fcacccf25741 +/agent-note-capability-seams-service-definition-service-provider-consumer-roles/decision: + en: 774c54c0d3d9acad + zh: 7dd4bfaf0ba2181b +/agent-note-capability-seams-service-definition-service-provider-consumer-roles/terminology-seam-names-the-trio-not-the-interface: + en: 8dca727800bea2f4 + zh: 4c4e028520967ca0 +/agent-note-capability-seams-service-definition-service-provider-consumer-roles/alternatives-considered: + en: cf6e4b1f188d9e4a + zh: bf2485a5f539746c +/agent-note-capability-seams-service-definition-service-provider-consumer-roles/consequences: + en: 941d8b343162edea + zh: 70904b0716de151d diff --git a/.agents/notes/implemented/architecture/2026-06-13-twin-llm-adapters.i18n.yaml b/.agents/notes/implemented/architecture/2026-06-13-twin-llm-adapters.i18n.yaml index d9ebd3c9de..30a57122ad 100644 --- a/.agents/notes/implemented/architecture/2026-06-13-twin-llm-adapters.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-06-13-twin-llm-adapters.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-13-twin-llm-adapters.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-twin-llm-adapters.md -2026-06-13-twin-llm-adapters.md: fe8b0b55e0e027e29eb0920e64a1760d0dc35aee -2026-06-13-twin-llm-adapters.zh.md: 4248b5afeb9f3fd4503914e53203c674e3a80dbf +/agent-note-two-llm-adapters-as-a-design-verification-twin: + en: dcb28a02ba26cb31 + zh: 096d0ab60a3ad638 +/agent-note-two-llm-adapters-as-a-design-verification-twin/problem: + en: feb8f5213be03a5c + zh: 5ca85048792db7d8 +/agent-note-two-llm-adapters-as-a-design-verification-twin/decision: + en: 0dd6ebb29aebc164 + zh: 20065ae72f4d131d +/agent-note-two-llm-adapters-as-a-design-verification-twin/alternatives-considered: + en: c523a9b402588189 + zh: bced37eb1040360a +/agent-note-two-llm-adapters-as-a-design-verification-twin/consequences: + en: 71cc34560fc2e012 + zh: 91ea73e3e009a9a5 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 f827897a1e..995fba81fe 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 @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-14-session-persistence.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: d79975e1fedb6efcd0e4ea83bc799bb158082e41 -2026-06-14-session-persistence.zh.md: f70b8005a254cc6a9ea8ada31c32e5552ee0c8b2 +/agent-note-session-persistence-as-an-abstract-service-over-the-existing-sessionevent: + en: d7cf18702f4ed830 + zh: 7e0cc6db7c90a7bd +/agent-note-session-persistence-as-an-abstract-service-over-the-existing-sessionevent/problem: + en: fa1ffb258aee90f6 + zh: c25cead52e72f97d +/agent-note-session-persistence-as-an-abstract-service-over-the-existing-sessionevent/decision: + en: a7076073971de601 + zh: 5ea9a87705340d91 +/agent-note-session-persistence-as-an-abstract-service-over-the-existing-sessionevent/alternatives-considered: + en: e5c9929ca92cc12e + zh: 3e0668f6a822577c +/agent-note-session-persistence-as-an-abstract-service-over-the-existing-sessionevent/consequences: + en: 4f00ed0b90442440 + zh: 994a5b03c862178b diff --git a/.agents/notes/implemented/architecture/2026-06-18-session-surface.i18n.yaml b/.agents/notes/implemented/architecture/2026-06-18-session-surface.i18n.yaml index 1939ff2f17..db7edf6873 100644 --- a/.agents/notes/implemented/architecture/2026-06-18-session-surface.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-06-18-session-surface.i18n.yaml @@ -1,6 +1,37 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-18-session-surface.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-06-18-session-surface.md -2026-06-18-session-surface.md: 26780d54a1ea12283900572c6fd0e8f740de5524 -2026-06-18-session-surface.zh.md: 328a9ee9f1bed9c52996cfd307549a7745e16d4b +/agent-note-session-surface-an-ordered-projection-over-the-event-log: + en: 9ea7a8765e7f3259 + zh: 17e0d51645f01edd +/agent-note-session-surface-an-ordered-projection-over-the-event-log/problem: + en: 4f7a9d20d71a6ab3 + zh: 958abbdfefec4f21 +/agent-note-session-surface-an-ordered-projection-over-the-event-log/decision: + en: a9944b568ec51fad + zh: 6717d30db31b81d7 +/agent-note-session-surface-an-ordered-projection-over-the-event-log/decision/top-level-surface-metadata-on-sessionevent: + en: 788fc16ecdedc252 + zh: 14d05c2a1272de5d +/agent-note-session-surface-an-ordered-projection-over-the-event-log/decision/surfaceop-two-operations: + en: ff075eec0881094a + zh: 1f7768f28b8996d5 +/agent-note-session-surface-an-ordered-projection-over-the-event-log/decision/surfacemanager-delta-based-not-full-rebuild: + en: 0b10fd9c5166d17b + zh: 02de01f70c03f70e +/agent-note-session-surface-an-ordered-projection-over-the-event-log/decision/persistence: + en: 9bb1f81b86b24760 + zh: fe4948645dd0c66d +/agent-note-session-surface-an-ordered-projection-over-the-event-log/decision/crash-recovery: + en: ee71f9c0f12b6a0e + zh: 403b1723f808391d +/agent-note-session-surface-an-ordered-projection-over-the-event-log/decision/invariants: + en: 24b1342fb3b5be29 + zh: a62692b0250c072a +/agent-note-session-surface-an-ordered-projection-over-the-event-log/alternatives-considered: + en: 193157129e65e487 + zh: a0a73b8a9cbd78e6 +/agent-note-session-surface-an-ordered-projection-over-the-event-log/consequences: + en: 801b67f8da564a22 + zh: 3c0433ed07083050 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 22bf3c01c4..ff239e85c9 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 @@ -1,6 +1,58 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-20-generic-long-running-tool-runtime.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 5960eb268656d7e316c763631451db1c6d1c6e49 -2026-06-20-generic-long-running-tool-runtime.zh.md: ea63ae82962a735b3a96e1803708172a33f83e9d +/agent-note-the-background-job-runtime-ctx-jobs-and-generic-task-control-tools: + en: 56e269b2a2839796 + zh: 8fc971036985ac0d +/agent-note-the-background-job-runtime-ctx-jobs-and-generic-task-control-tools/problem: + en: 70e26df62568c337 + zh: a9e6f5f8a5482d0a +/agent-note-the-background-job-runtime-ctx-jobs-and-generic-task-control-tools/decision: + en: 277869395ad6f792 + zh: 93f13a97d52f10a5 +/agent-note-the-background-job-runtime-ctx-jobs-and-generic-task-control-tools/runtime-contract: + en: eeb7ed8eec13668a + zh: 3f236f63c72fbba7 +/agent-note-the-background-job-runtime-ctx-jobs-and-generic-task-control-tools/authorization-and-owner-lifecycle: + en: 3819a73ca70ecdfd + zh: c1a4f461a4e45978 +/agent-note-the-background-job-runtime-ctx-jobs-and-generic-task-control-tools/service-api: + en: a1a884816aac3d7f + zh: b21129e5cd93b9a1 +/agent-note-the-background-job-runtime-ctx-jobs-and-generic-task-control-tools/model-facing-control-api: + en: dd3f4d85d0ec136f + zh: ca4209cb856271dd +/agent-note-the-background-job-runtime-ctx-jobs-and-generic-task-control-tools/producer-opt-in: + en: a39343bf6f655051 + zh: d9894d39e7f4d6e1 +/agent-note-the-background-job-runtime-ctx-jobs-and-generic-task-control-tools/producer-integrations: + en: ae4a6d6e0d83d3bd + zh: 9072890ba9374426 +/agent-note-the-background-job-runtime-ctx-jobs-and-generic-task-control-tools/alternatives-considered: + en: 6119e2aff3b6be5a + zh: e01a6c669a9ec6aa +/agent-note-the-background-job-runtime-ctx-jobs-and-generic-task-control-tools/alternatives-considered/per-capability-control-tools: + en: 9781c302dc72fd8e + zh: a78e1dd8da4d8ca8 +/agent-note-the-background-job-runtime-ctx-jobs-and-generic-task-control-tools/alternatives-considered/an-immediate-abstract-task-runtime-backend: + en: 404a5c7c45a71a55 + zh: 213621e4a9618a9c +/agent-note-the-background-job-runtime-ctx-jobs-and-generic-task-control-tools/alternatives-considered/consumer-owned-authorization-or-cleanup-events: + en: d99de803718d9ca6 + zh: e03a97314851ed0f +/agent-note-the-background-job-runtime-ctx-jobs-and-generic-task-control-tools/alternatives-considered/blocking-output-or-a-separate-wait-tool: + en: e3beca50b6a57ce0 + zh: a77663b817d33247 +/agent-note-the-background-job-runtime-ctx-jobs-and-generic-task-control-tools/alternatives-considered/runtime-owned-output-sinks: + en: 42eeeba9d84ae681 + zh: 1d540f9740675bee +/agent-note-the-background-job-runtime-ctx-jobs-and-generic-task-control-tools/alternatives-considered/random-ids-promotion-or-lifecycle-session-events: + en: e706b1b57241d3d2 + zh: 1779b7fa05f48283 +/agent-note-the-background-job-runtime-ctx-jobs-and-generic-task-control-tools/testing: + en: e891db1723828da8 + zh: 657a62ed595bd081 +/agent-note-the-background-job-runtime-ctx-jobs-and-generic-task-control-tools/consequences: + en: b95ecd6052465ad3 + zh: 1527c38d1b4631d6 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 0956b2aa0b..2b8a5f380d 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 @@ -1,6 +1,43 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-21-bounded-llm-request-recovery.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: b0a4ebb11b76c4c0068490c9924a88b80a8bc99f -2026-06-21-bounded-llm-request-recovery.zh.md: e8c25f9f6410dc12e34a0272e01e874431624c28 +/agent-note-bounded-recovery-for-transient-llm-request-failures: + en: fb8e336ecd4bf571 + zh: 23e40e4cb224163f +/agent-note-bounded-recovery-for-transient-llm-request-failures/problem: + en: 83a361538a092dae + zh: e8f33cb95d0d3e09 +/agent-note-bounded-recovery-for-transient-llm-request-failures/decision: + en: a15c7c13f167e5ac + zh: 63bcc2ef60c2f344 +/agent-note-bounded-recovery-for-transient-llm-request-failures/decision/preserve-failure-facts-without-embedding-policy: + en: 943322e6cdbfa440 + zh: 82288531f6194ed2 +/agent-note-bounded-recovery-for-transient-llm-request-failures/decision/put-retry-policy-on-the-existing-failed-step-extension-point: + en: ed4d295378d94a26 + zh: 1fee5ef4947bac8f +/agent-note-bounded-recovery-for-transient-llm-request-failures/decision/make-one-layer-own-visible-attempts: + en: 57dbdd385f48bb3e + zh: 5e15463fae4be582 +/agent-note-bounded-recovery-for-transient-llm-request-failures/decision/bound-stalled-streams-where-they-can-be-stopped: + en: f7369086e87192b9 + zh: e2839ed8cc5c23b8 +/agent-note-bounded-recovery-for-transient-llm-request-failures/decision/keep-attempts-separate-in-the-existing-log: + en: 8f57db4bfd6e1c22 + zh: 67ac62217bb68570 +/agent-note-bounded-recovery-for-transient-llm-request-failures/out-of-scope: + en: 985720529b56cda2 + zh: 8a649bfa9cd8d93f +/agent-note-bounded-recovery-for-transient-llm-request-failures/alternatives-considered: + en: a6d0306740d470ee + zh: 700bd4b0aa58f3e8 +/agent-note-bounded-recovery-for-transient-llm-request-failures/verification: + en: db343f335a9d7cad + zh: 49b8300de55dcfeb +/agent-note-bounded-recovery-for-transient-llm-request-failures/consequences: + en: 08659e8606455ada + zh: 862080f8df5f28ec +/agent-note-bounded-recovery-for-transient-llm-request-failures/related: + en: e85a6ad7387c881b + zh: bb8fb4173ffe613d diff --git a/.agents/notes/implemented/architecture/2026-06-21-mandatory-app-attribution-headers.i18n.yaml b/.agents/notes/implemented/architecture/2026-06-21-mandatory-app-attribution-headers.i18n.yaml index 2b6c63d334..0856d5ac56 100644 --- a/.agents/notes/implemented/architecture/2026-06-21-mandatory-app-attribution-headers.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-06-21-mandatory-app-attribution-headers.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-21-mandatory-app-attribution-headers.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-mandatory-app-attribution-headers.md -2026-06-21-mandatory-app-attribution-headers.md: 9e0c029dc03c722512680a563c24e470128ee322 -2026-06-21-mandatory-app-attribution-headers.zh.md: 1427daf8f6065ec2dee324075a8381a625d9e960 +/agent-note-mandatory-user-agent-attribution-for-provider-requests: + en: 3f804e0236d13aba + zh: ef8b1b7b9c3d8376 +/agent-note-mandatory-user-agent-attribution-for-provider-requests/problem: + en: f65797760084b93a + zh: d1fb36ef61a93003 +/agent-note-mandatory-user-agent-attribution-for-provider-requests/investigation: + en: 5ea11f54f507ba64 + zh: 22a83a0714a2fda3 +/agent-note-mandatory-user-agent-attribution-for-provider-requests/decision: + en: b3e29e609e3f0966 + zh: e3df0cb13df1cd5d +/agent-note-mandatory-user-agent-attribution-for-provider-requests/verification: + en: 567737dbccdb3a2a + zh: be92a5303247b889 +/agent-note-mandatory-user-agent-attribution-for-provider-requests/alternatives-considered: + en: 016678c52ef64e51 + zh: a113b57b9e9ddeb5 +/agent-note-mandatory-user-agent-attribution-for-provider-requests/consequences: + en: a9010e68445a0008 + zh: 1ec6104ab2865919 diff --git a/.agents/notes/implemented/architecture/2026-06-24-web-capability-seam.i18n.yaml b/.agents/notes/implemented/architecture/2026-06-24-web-capability-seam.i18n.yaml index bbdb39100a..490d5c5d24 100644 --- a/.agents/notes/implemented/architecture/2026-06-24-web-capability-seam.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-06-24-web-capability-seam.i18n.yaml @@ -1,6 +1,76 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-24-web-capability-seam.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-06-24-web-capability-seam.md -2026-06-24-web-capability-seam.md: 8c6c088ea5d7345f9955892b2d6054cfae518bbd -2026-06-24-web-capability-seam.zh.md: 4921c4a4647d180dbb00e6493a19d38584f99bdc +/agent-note-web-capability-seam-stable-tools-over-multiple-providers: + en: ca120635fc40431c + zh: 6be7c5ae3c86cdcc +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/problem: + en: c8b932b02a4e1c80 + zh: 96c466be1a521f3f +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/decision: + en: b57eb0f268033ff1 + zh: 4143382a50181414 +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/package-topology: + en: 5ea3ddfae82df181 + zh: 2d05d95e51081696 +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/ctx-web-contract: + en: b432f80a424c3e49 + zh: faa26925fdd98387 +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/provider-availability-and-selection: + en: dff78c46432311a1 + zh: 58d5db4c3c85b886 +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/search-request-and-result-schema: + en: ec3703b7e7c6b23d + zh: 325755e6e90092da +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/fetch-request-and-result-schema: + en: f734fdc57a6546c9 + zh: 027c28cbc584a8c2 +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/tool-consumer-behavior: + en: 62127883453dd79c + zh: 01503a8177a0ddab +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/errors: + en: 3440f2b34b93f4a1 + zh: 57a8f784c7e26eff +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/testing: + en: 7f73699ac4459432 + zh: c16be49ac50c34c8 +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/alternatives-considered: + en: 6119e2aff3b6be5a + zh: 76136ef5249c23eb +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/alternatives-considered/let-each-provider-register-its-own-model-facing-tool: + en: e0d84a9b1b9c2123 + zh: 9e116a7b96751563 +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/alternatives-considered/put-provider-dispatch-directly-in-dsh-tool-web: + en: dc01d014d03b49d2 + zh: b956b02f41c62682 +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/alternatives-considered/split-search-and-fetch-into-two-seams-dsh-search-dsh-fetch: + en: 3fb72ba3e554f20a + zh: aff5f0add5773388 +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/alternatives-considered/choose-the-first-registered-provider: + en: 1800706ea0f6b90b + zh: ced985b7657e2d7f +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/alternatives-considered/treat-firecrawl-exa-tavily-parallel-extraction-as-fetch: + en: fc22e6a8bfaeaa20 + zh: 64032ea6ab61b836 +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/alternatives-considered/mirror-claude-code-s-url-prompt-webfetch-shape: + en: 56a080de39e96056 + zh: ae4d070aa7657503 +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/alternatives-considered/validate-dns-and-then-call-an-ordinary-fetch: + en: aa6c1e7e6374a875 + zh: 045c8af6cd44c3e1 +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/alternatives-considered/block-private-looking-hostname-strings-without-pinning-resolved-addresses: + en: 3d906f3056733479 + zh: d652723eb5372007 +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/alternatives-considered/require-per-call-approval-before-public-fetches: + en: f8d1fc8e9c9659cf + zh: da5792520e35cba0 +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/consequences: + en: 12fd20ba54818215 + zh: c1ca000b13666701 +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/deferred-work: + en: 48b7b8e7310cd56b + zh: d406cd6a8a649e58 +/agent-note-web-capability-seam-stable-tools-over-multiple-providers/open-questions: + en: 63848c6ef9a6ab44 + zh: 041b340802091e60 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 7db4727f48..3addc01168 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 @@ -1,6 +1,43 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-26-file-context-as-event-gate.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 2943f11190533f84f3aebea0a25a88372d1204f1 -2026-06-26-file-context-as-event-gate.zh.md: 053f4269b13c8583def01c144badd17b10a5a41a +/agent-note-make-dsh-fs-observation-policy-an-event-gate-plugin-not-a-method-interface: + en: 950d6bb4d83b39d8 + zh: b40458972583b12b +/agent-note-make-dsh-fs-observation-policy-an-event-gate-plugin-not-a-method-interface/problem: + en: 765a679e88ecda60 + zh: fccabc8ee516ea00 +/agent-note-make-dsh-fs-observation-policy-an-event-gate-plugin-not-a-method-interface/decision: + en: eb8355d4b7a6c66b + zh: 712c6f932f26a0d3 +/agent-note-make-dsh-fs-observation-policy-an-event-gate-plugin-not-a-method-interface/the-policy-is-enforced-by-provider-cas-not-by-dsh-fs-observation-policy-stat: + en: 2edc42b8210c995b + zh: 48f4354c9ec625ee +/agent-note-make-dsh-fs-observation-policy-an-event-gate-plugin-not-a-method-interface/provider-contract-change-the-version-guard-is-optional: + en: a282600f92568e07 + zh: 3e6b2bec22c170c6 +/agent-note-make-dsh-fs-observation-policy-an-event-gate-plugin-not-a-method-interface/event-vocabulary-owned-by-dsh-fs: + en: f57494c21daf90ea + zh: 1a1f8623dc0cbef3 +/agent-note-make-dsh-fs-observation-policy-an-event-gate-plugin-not-a-method-interface/tool-contract-dsh-tool-fs: + en: c7f4457a83739520 + zh: f2d55d018c7dab4f +/agent-note-make-dsh-fs-observation-policy-an-event-gate-plugin-not-a-method-interface/policy-plugin-contract-dsh-fs-observation-policy: + en: a239deb5dde631df + zh: 68cc6c954b247596 +/agent-note-make-dsh-fs-observation-policy-an-event-gate-plugin-not-a-method-interface/bare-provider-behavior-no-dsh-fs-observation-policy: + en: 5aed537454b78157 + zh: 9e8e7108be6a9537 +/agent-note-make-dsh-fs-observation-policy-an-event-gate-plugin-not-a-method-interface/supersedes: + en: 5cc21706fd0f00ad + zh: 2b51da75a95f1777 +/agent-note-make-dsh-fs-observation-policy-an-event-gate-plugin-not-a-method-interface/verification: + en: 1e3de2836160b4c2 + zh: a8af173d161f0949 +/agent-note-make-dsh-fs-observation-policy-an-event-gate-plugin-not-a-method-interface/alternatives-considered: + en: 768c09662714cf25 + zh: cb641e8a77a2e32c +/agent-note-make-dsh-fs-observation-policy-an-event-gate-plugin-not-a-method-interface/consequences: + en: a1c00220fa5c6ce1 + zh: 4691374274aa8df9 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 4a4342d1f2..9afc68c549 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 @@ -1,6 +1,16 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-30-event-domain-semantics.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 7e0aee220a62777ebe1d8f6a5018aba0f5fa20ee -2026-06-30-event-domain-semantics.zh.md: 14568c7a4660c42cecc47f094373d299380fa563 +/agent-note-event-domain-semantics-session-is-the-fact-log-agent-is-the-live-event-channel: + en: e7cdaa7a6029c259 + zh: ed13f8158ee0eaeb +/agent-note-event-domain-semantics-session-is-the-fact-log-agent-is-the-live-event-channel/problem: + en: 1222c2b55882b1e5 + zh: f81f481f5eb9a684 +/agent-note-event-domain-semantics-session-is-the-fact-log-agent-is-the-live-event-channel/decision: + en: ccc0fed9b7388112 + zh: 3cc527b11affd941 +/agent-note-event-domain-semantics-session-is-the-fact-log-agent-is-the-live-event-channel/consequences: + en: e0c5aa60322e67a1 + zh: 7495550f0c863eda diff --git a/.agents/notes/implemented/architecture/2026-07-02-tool-render-intent-union.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-02-tool-render-intent-union.i18n.yaml index 933b3d2826..6e01984aee 100644 --- a/.agents/notes/implemented/architecture/2026-07-02-tool-render-intent-union.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-02-tool-render-intent-union.i18n.yaml @@ -1,6 +1,37 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-02-tool-render-intent-union.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-07-02-tool-render-intent-union.md -2026-07-02-tool-render-intent-union.md: 52626d3d9200146df95aee7836d37bbaf7e6a9ec -2026-07-02-tool-render-intent-union.zh.md: bc91b89c53c3c43b6c483dc0d4876a00f5a936b7 +/agent-note-tagged-render-intent-union-for-tool-call-presentation: + en: 599dd6f91059580e + zh: b6a46767bb4198e6 +/agent-note-tagged-render-intent-union-for-tool-call-presentation/problem: + en: 3a4b92dca651b979 + zh: 6b10ce7ba3681180 +/agent-note-tagged-render-intent-union-for-tool-call-presentation/decision: + en: aff6d789bde63f17 + zh: 73782526b46a3ee5 +/agent-note-tagged-render-intent-union-for-tool-call-presentation/decision/why-a-tagged-union-beats-the-field-bag: + en: ed7b15039050e65e + zh: a719562b5fcdbd4e +/agent-note-tagged-render-intent-union-for-tool-call-presentation/decision/producer-mapping: + en: c87f22a29caef002 + zh: 7bfd28c1df80b8a1 +/agent-note-tagged-render-intent-union-for-tool-call-presentation/decision/terminal-fallback-ownership: + en: 0bb2f60726afc4d9 + zh: 60040141447b4a2e +/agent-note-tagged-render-intent-union-for-tool-call-presentation/decision/purity-preserved: + en: 1ba6a480967c524d + zh: 90535e843f346bcf +/agent-note-tagged-render-intent-union-for-tool-call-presentation/alternatives-considered: + en: 2cd4801f3162227b + zh: 76afaa23bc2b9eb0 +/agent-note-tagged-render-intent-union-for-tool-call-presentation/consequences: + en: 81d8366d826285c2 + zh: b437b862794c146e +/agent-note-tagged-render-intent-union-for-tool-call-presentation/non-goals: + en: e9d60967a9b3f9bd + zh: 6dfa9ac30d847879 +/agent-note-tagged-render-intent-union-for-tool-call-presentation/related: + en: fe27f777b3728fa4 + zh: 4b648dbf731ace00 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 57dba7f52b..670619cca9 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 @@ -1,6 +1,40 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-05-prompt-variables-and-tool-guidance-ownership.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 8f5542cb09930e62fd1e26960166fbdd6d3f6745 -2026-07-05-prompt-variables-and-tool-guidance-ownership.zh.md: 348ae36cf6549d412adab1d3cdb5cc03f0badd01 +/agent-note-prompt-variables-and-tool-guidance-ownership: + en: 6f8b4a9d26ab3e50 + zh: 9741e5718e647f0a +/agent-note-prompt-variables-and-tool-guidance-ownership/problem: + en: 8ccef8fbd9260dfe + zh: 106b2bafe969c676 +/agent-note-prompt-variables-and-tool-guidance-ownership/decision: + en: c551d888282d9c73 + zh: 889b5ca3cdf25aff +/agent-note-prompt-variables-and-tool-guidance-ownership/decision/assemble-context: + en: 46e67248692e333a + zh: 51c5f2c6152c94d7 +/agent-note-prompt-variables-and-tool-guidance-ownership/decision/prompt-variables: + en: 04b623ed2879fdf1 + zh: c111be62834fda93 +/agent-note-prompt-variables-and-tool-guidance-ownership/decision/persona-as-the-order-0-section: + en: c2d32c0ac5d28759 + zh: 59cd252ba6da6e59 +/agent-note-prompt-variables-and-tool-guidance-ownership/decision/tool-guidance-ownership: + en: 308c0d2ef4e41f56 + zh: d38f84a517da20df +/agent-note-prompt-variables-and-tool-guidance-ownership/decision/the-subagent-conversation-history-descriptor: + en: 1cb9644f22918749 + zh: fb9fdee133159ab2 +/agent-note-prompt-variables-and-tool-guidance-ownership/alternatives-considered: + en: 9a114359d2e8988b + zh: ce39453408b2af7f +/agent-note-prompt-variables-and-tool-guidance-ownership/out-of-scope: + en: bbfecc70d0b457fe + zh: 7f207a37a86484f4 +/agent-note-prompt-variables-and-tool-guidance-ownership/shipped-invariants: + en: 31ba63101fca5790 + zh: af4ceefab2033142 +/agent-note-prompt-variables-and-tool-guidance-ownership/consequences: + en: 993f17bf35f6a2e0 + zh: acb429176f0eebcc 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 ac7f2acd4e..987abc5f0e 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 @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-05-reconstructable-requests.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: f47d0938b91edf6c9b544223ac44925f02dd8c1f -2026-07-05-reconstructable-requests.zh.md: d2499a6264a3e6bebf31944d8eb056265e082c68 +/agent-note-every-llm-request-is-reconstructable-from-the-session-log: + en: 115dd45f40b0d7d8 + zh: 536b5a0399e7d06a +/agent-note-every-llm-request-is-reconstructable-from-the-session-log/problem: + en: f8f31da854a5fe2e + zh: ef88856c2c7bdfb8 +/agent-note-every-llm-request-is-reconstructable-from-the-session-log/decision: + en: a15c7c13f167e5ac + zh: 63bcc2ef60c2f344 +/agent-note-every-llm-request-is-reconstructable-from-the-session-log/decision/the-principle: + en: 6da15cf986d59a91 + zh: 40282908b54295f9 +/agent-note-every-llm-request-is-reconstructable-from-the-session-log/decision/the-mechanism: + en: 7d86e5058dbab2fb + zh: 9a97481325c8eded +/agent-note-every-llm-request-is-reconstructable-from-the-session-log/decision/the-minicode-shape-adopted-with-the-event-log-as-the-source: + en: e5f2ffaa3d7de0cc + zh: 5ba6b36787a0e189 +/agent-note-every-llm-request-is-reconstructable-from-the-session-log/alternatives-considered: + en: 96f19ecf38fae991 + zh: 9692252135ef3476 +/agent-note-every-llm-request-is-reconstructable-from-the-session-log/consequences: + en: 0d2e97bc421e67cc + zh: 0a000a69b8cc4b4e diff --git a/.agents/notes/implemented/architecture/2026-07-05-windows-jsonl-durable-publish.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-05-windows-jsonl-durable-publish.i18n.yaml index cc278292d9..2848f7cd4b 100644 --- a/.agents/notes/implemented/architecture/2026-07-05-windows-jsonl-durable-publish.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-05-windows-jsonl-durable-publish.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-05-windows-jsonl-durable-publish.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-windows-jsonl-durable-publish.md -2026-07-05-windows-jsonl-durable-publish.md: 546cde6086f3c84e22b4d4de144a48bb3425cd4e -2026-07-05-windows-jsonl-durable-publish.zh.md: b99032e9d7e72e2028f39c5af91659278fd81343 +/agent-note-windows-native-durable-jsonl-publication: + en: db7fe80708911f2f + zh: 42c6639defea2bde +/agent-note-windows-native-durable-jsonl-publication/problem: + en: dcc3c6238131d302 + zh: 4d4e8513a4069af3 +/agent-note-windows-native-durable-jsonl-publication/decision: + en: 385565b209f1e739 + zh: 0eab0997c49a3c33 +/agent-note-windows-native-durable-jsonl-publication/alternatives-considered: + en: 83d5bf5781f89e29 + zh: 068835993789e09d +/agent-note-windows-native-durable-jsonl-publication/consequences: + en: 4be0ad03a334c257 + zh: 95d473ed5b94e270 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 b2ebf2057f..9db3e2596d 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 @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-06-timeout-deadline-library.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 6f726938731f18386105ff1180c79fef981c95bf -2026-07-06-timeout-deadline-library.zh.md: 48bd7b4b91efd0045c03e3e1e1e9e37656b4dcf6 +/agent-note-a-shared-timeout-deadline-primitive-with-hard-kill-left-to-each-capability: + en: 4a9921fef5e65cc8 + zh: 672cd27d68310cb1 +/agent-note-a-shared-timeout-deadline-primitive-with-hard-kill-left-to-each-capability/problem: + en: 110ff68b35bd43cb + zh: f1cea15fb29a9ae9 +/agent-note-a-shared-timeout-deadline-primitive-with-hard-kill-left-to-each-capability/decision: + en: 18645d82d9e40107 + zh: 73e510f1ed1106e6 +/agent-note-a-shared-timeout-deadline-primitive-with-hard-kill-left-to-each-capability/decision/the-library-api: + en: c62681afef60a0db + zh: 69827b4b3165b3da +/agent-note-a-shared-timeout-deadline-primitive-with-hard-kill-left-to-each-capability/decision/the-division-of-labor: + en: 263c8e17bbc87ba0 + zh: d75a74f47713e79f +/agent-note-a-shared-timeout-deadline-primitive-with-hard-kill-left-to-each-capability/decision/how-each-capability-consumes-it: + en: 333eab4967d753ec + zh: dd7537bb82cc717f +/agent-note-a-shared-timeout-deadline-primitive-with-hard-kill-left-to-each-capability/consequences: + en: 832f4dbd93a47f94 + zh: 65ada43f9f23a39b +/agent-note-a-shared-timeout-deadline-primitive-with-hard-kill-left-to-each-capability/alternatives-considered: + en: 7b3445622becbd36 + zh: bb358acf2ff28e26 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 4cacefaca8..617b3a053b 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 @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-07-tool-call-timeout-policy.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 60d82c1d591f0a32350b1a21ed74e148c4c93576 -2026-07-07-tool-call-timeout-policy.zh.md: 49ca7f397d15c1a351cba4837d4d531e54120ea6 +/agent-note-tool-call-timeout-policy-as-a-plugin: + en: 46fa7d1eac4fe061 + zh: 7a62f8f7b1c66722 +/agent-note-tool-call-timeout-policy-as-a-plugin/problem: + en: b5fffa80b58fb184 + zh: aadf28f95924b1ad +/agent-note-tool-call-timeout-policy-as-a-plugin/decision: + en: 04889f664ab7657d + zh: 2af5913f5e9c1927 +/agent-note-tool-call-timeout-policy-as-a-plugin/decision/the-tools-execute-around-dispatch-extension-point: + en: 8c3b46fa8a48a863 + zh: 662eb09bb7542be8 +/agent-note-tool-call-timeout-policy-as-a-plugin/decision/the-timeout-policy-plugin: + en: 96f5932514a33e41 + zh: 5951d9451ccef1bf +/agent-note-tool-call-timeout-policy-as-a-plugin/decision/existing-tool-adaptation: + en: 43add9b1f723ce89 + zh: f3ee56f97faa2e60 +/agent-note-tool-call-timeout-policy-as-a-plugin/alternatives-considered: + en: dc6da8743b4266fb + zh: 5c28667d952b230a +/agent-note-tool-call-timeout-policy-as-a-plugin/consequences: + en: f7429a5c1fe6b6a1 + zh: 748401be79f89b05 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 aff7b32029..cfb0644c92 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 @@ -1,6 +1,46 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-08-agent-scope-contexts.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 45e635b7bc3138d4e90a25a06ff23b3b57a9415e -2026-07-08-agent-scope-contexts.zh.md: aac860734e744843c3b9e7d55e5bc7a150763090 +/agent-note-the-agent-is-a-registration-scope: + en: f767894b8308f1a0 + zh: 4ff0aead6ee4e27b +/agent-note-the-agent-is-a-registration-scope/problem: + en: 87634b46a5642328 + zh: 2adce8b041626437 +/agent-note-the-agent-is-a-registration-scope/decision: + en: ac58e62f780b0879 + zh: 6b077226de04a8fa +/agent-note-the-agent-is-a-registration-scope/decision/registration-origin-chooses-visibility-and-cleanup: + en: 1ec8e54543272e1b + zh: b5b1695a805574a2 +/agent-note-the-agent-is-a-registration-scope/decision/the-operation-chooses-the-view: + en: 2e236d399efdc0b2 + zh: 00a7ba20f90862c6 +/agent-note-the-agent-is-a-registration-scope/decision/scoped-events-keep-routing-separate-from-event-data: + en: df5f5e4c1de44474 + zh: d851c02959d02380 +/agent-note-the-agent-is-a-registration-scope/decision/creation-publishes-last-and-disposal-revokes-last: + en: f46920b4945e0e6d + zh: 870a157205883144 +/agent-note-the-agent-is-a-registration-scope/security-and-authority-are-non-goals: + en: 5ffc5a8f65ce7dfe + zh: 3362f236356a8033 +/agent-note-the-agent-is-a-registration-scope/alternatives-considered: + en: bf43310538280f62 + zh: e4940ff47c5d47b5 +/agent-note-the-agent-is-a-registration-scope/alternatives-considered/pass-an-agent-option-to-every-registration: + en: 37e7487b1f1eb87a + zh: eeddbaf21eee7ebc +/agent-note-the-agent-is-a-registration-scope/alternatives-considered/filter-events-while-keeping-registries-global: + en: 7eb2628d51ea9ed0 + zh: e58f05faf0e95712 +/agent-note-the-agent-is-a-registration-scope/alternatives-considered/create-one-service-graph-per-agent: + en: 2fd1c41c3d1bc6ca + zh: cffad44a2c69330e +/agent-note-the-agent-is-a-registration-scope/alternatives-considered/inherit-parent-registration-scopes: + en: 01f989446aab1cf1 + zh: 8f5c9018b7b84c94 +/agent-note-the-agent-is-a-registration-scope/consequences: + en: 65c8f47d1607b276 + zh: 950b86b4682f7a0e 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 d2f8d60d2d..1325797191 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 @@ -1,6 +1,40 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-08-tool-output-spill-files.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: e32aec72f423dff33a29d9012c0f71c9cfbd24fb -2026-07-08-tool-output-spill-files.zh.md: 2941fc516723e72b5d5670e674ce612f3cf581cc +/agent-note-tool-output-spill-policy: + en: 06b99197145a4080 + zh: 698a61dcd2385985 +/agent-note-tool-output-spill-policy/problem: + en: 858cbb874e213697 + zh: 1693b618886ac42d +/agent-note-tool-output-spill-policy/decision: + en: 89536b0d2d7b4c92 + zh: 341240f445885549 +/agent-note-tool-output-spill-policy/decision/spill-seam: + en: 1e92bc9a0548def9 + zh: c99cf6878981ba71 +/agent-note-tool-output-spill-policy/decision/spill-policy: + en: 3c49c0246188c513 + zh: 4b6749c30726903d +/agent-note-tool-output-spill-policy/showcase-web-fetch: + en: d5c334b50f458925 + zh: 7631307b5d9fbc55 +/agent-note-tool-output-spill-policy/relationship-to-retention-and-early-spill: + en: 7314ba8b0a03c0d9 + zh: 8429f79ff3a7bd1f +/agent-note-tool-output-spill-policy/non-goals: + en: f82b5399ecddd8a1 + zh: 9675b58631bb5c90 +/agent-note-tool-output-spill-policy/deferred: + en: 094f8c71672ea726 + zh: 252dbe825d6e34ca +/agent-note-tool-output-spill-policy/testing: + en: c98759345e1aebfa + zh: d1faeadb99bd748a +/agent-note-tool-output-spill-policy/consequences: + en: e023260e52a246d6 + zh: 2e49237e564a83da +/agent-note-tool-output-spill-policy/alternatives-considered: + en: d53fb144141de557 + zh: 1b851eb64c421803 diff --git a/.agents/notes/implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.i18n.yaml index ec2f5318d6..ee57a4b8cf 100644 --- a/.agents/notes/implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-10-after-call-compaction-pressure-and-overflow-recovery.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-after-call-compaction-pressure-and-overflow-recovery.md -2026-07-10-after-call-compaction-pressure-and-overflow-recovery.md: 89c8917484c11057ff2e6b55e2311e83f724f7ed -2026-07-10-after-call-compaction-pressure-and-overflow-recovery.zh.md: 48f954f2c4720894548ecab387965d3a3d1799b0 +/agent-note-after-call-compaction-pressure-and-context-overflow-recovery: + en: 8bfe0d8b79d9840f + zh: 6921dc88e5ef9c83 +/agent-note-after-call-compaction-pressure-and-context-overflow-recovery/problem: + en: 036da3e545debe29 + zh: 82e031a3120ca36c +/agent-note-after-call-compaction-pressure-and-context-overflow-recovery/decision: + en: a15c7c13f167e5ac + zh: 63bcc2ef60c2f344 +/agent-note-after-call-compaction-pressure-and-context-overflow-recovery/decision/successful-pressure-runs-at-the-next-pre-step-boundary: + en: 5f5a656b38730ec6 + zh: aece66b85cc610cf +/agent-note-after-call-compaction-pressure-and-context-overflow-recovery/decision/request-recovery-is-limited-to-the-final-model-boundary: + en: fb7da851bf6a020e + zh: b40dc932d6c3101c +/agent-note-after-call-compaction-pressure-and-context-overflow-recovery/decision/compactionengine-exposes-intent-not-token-accounting: + en: be9505b3d73c7f6b + zh: ed753f1afec2787a +/agent-note-after-call-compaction-pressure-and-context-overflow-recovery/testing: + en: b0e1704bd3724301 + zh: 2279353ff615f183 +/agent-note-after-call-compaction-pressure-and-context-overflow-recovery/alternatives-considered: + en: 3cb5363732ef5758 + zh: 07746411cc80878f +/agent-note-after-call-compaction-pressure-and-context-overflow-recovery/consequences: + en: dfe515fb04127eb5 + zh: 1924b2e1e9997910 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 e09f7db568..5e078a7885 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 @@ -1,6 +1,43 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-10-single-file-executable-sdk-runtime-distribution.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 7260d11c84f8fb07cf6c4691357f92e0d00fd8f3 -2026-07-10-single-file-executable-sdk-runtime-distribution.zh.md: 653fb3d9b782d9010f693e4af8ad94475abb9d94 +/agent-note-single-file-executable-sdk-runtime-distribution-single-exe: + en: 00b5d91d3e44a9f8 + zh: eabd3c4b338249b3 +/agent-note-single-file-executable-sdk-runtime-distribution-single-exe/problem: + en: 112178b76e5209f6 + zh: 68726254ae530566 +/agent-note-single-file-executable-sdk-runtime-distribution-single-exe/decision: + en: a15c7c13f167e5ac + zh: 63bcc2ef60c2f344 +/agent-note-single-file-executable-sdk-runtime-distribution-single-exe/decision/packaging-route-yao-pkg-pkg-s-sea-mode: + en: f1c2b60e9474111d + zh: 5de398b5e8554429 +/agent-note-single-file-executable-sdk-runtime-distribution-single-exe/decision/the-serving-interface-is-a-plugin-inside-the-dsh-application: + en: 5fdde26e9e8c6108 + zh: 629559d733c1f0c5 +/agent-note-single-file-executable-sdk-runtime-distribution-single-exe/decision/plugin-resolution-the-vfs-holds-a-real-package-tree-the-closure-manifest-is-the-deploy-root: + en: c35ea4b858448b49 + zh: 1f8ff0a9f82ca881 +/agent-note-single-file-executable-sdk-runtime-distribution-single-exe/decision/build-pipeline-and-artifacts: + en: 53ba44431d2ce411 + zh: 4159475549273422 +/agent-note-single-file-executable-sdk-runtime-distribution-single-exe/decision/python-sdk-distribution-two-carriers-exe-for-production-node-for-development: + en: 9bd60549d4a52ec0 + zh: e2343b7210212ee0 +/agent-note-single-file-executable-sdk-runtime-distribution-single-exe/decision/naming-lineage: + en: 31a5aecb8bf828bb + zh: 2dffb6fd2e0f8194 +/agent-note-single-file-executable-sdk-runtime-distribution-single-exe/packaged-workflow-and-code-execution: + en: 0426f598f3f44e64 + zh: fc66728e17f3bcfb +/agent-note-single-file-executable-sdk-runtime-distribution-single-exe/testing: + en: b3c9820f4dc7c6c8 + zh: 3b5768ef1770bfcb +/agent-note-single-file-executable-sdk-runtime-distribution-single-exe/alternatives-considered: + en: 50d965ca81a401ba + zh: 0c6296245b97b9ac +/agent-note-single-file-executable-sdk-runtime-distribution-single-exe/consequences: + en: 601a72b3a7a91fe4 + zh: 5baaa866e789923e 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 16591b4f3e..6d5a779689 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 @@ -1,6 +1,157 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-12-agent-scope-runtime-design.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: b9b2c837f560c2b8b98da37e3656caf298b705e2 -2026-07-12-agent-scope-runtime-design.zh.md: 4b94d1b8449bd619c47f6bee0712ec8ed0b39593 +/agent-note-agent-scope-runtime-design-and-correctness: + en: b63ecbd21fc1f427 + zh: 4990d96d76888802 +/agent-note-agent-scope-runtime-design-and-correctness/problem: + en: ae7b688bd991a6df + zh: 73b6b28755852054 +/agent-note-agent-scope-runtime-design-and-correctness/decision: + en: cfd6abca8404c7d4 + zh: a9372aae85e49f55 +/agent-note-agent-scope-runtime-design-and-correctness/cordis-model-context-fiber-effect-receiver-and-waterfall: + en: 4d4bdb629a57139d + zh: 7b4d21d9eb42d94b +/agent-note-agent-scope-runtime-design-and-correctness/cordis-model-context-fiber-effect-receiver-and-waterfall/a-context-is-an-ownership-path-through-one-service-graph: + en: 201a1882518455e2 + zh: 830e25eab7ed37db +/agent-note-agent-scope-runtime-design-and-correctness/cordis-model-context-fiber-effect-receiver-and-waterfall/fibers-and-effects-make-cleanup-structural: + en: d0ef6e1b5d453350 + zh: 4a774ac9daf20849 +/agent-note-agent-scope-runtime-design-and-correctness/cordis-model-context-fiber-effect-receiver-and-waterfall/receivers-route-listeners-waterfalls-compose-decisions: + en: 594e198a8b566049 + zh: 50378e7a2a533dff +/agent-note-agent-scope-runtime-design-and-correctness/scope-routing-one-opaque-key-selects-one-layer: + en: fa59d22549e9e44a + zh: 80904729042e87b3 +/agent-note-agent-scope-runtime-design-and-correctness/scope-routing-one-opaque-key-selects-one-layer/scope-identity-uses-object-identity: + en: 3a05a7bfb2197f58 + zh: fbb599031788b70b +/agent-note-agent-scope-runtime-design-and-correctness/scope-routing-one-opaque-key-selects-one-layer/registry-reads-overlay-one-exact-layer: + en: 28636ae6d55935d7 + zh: 33a989f049de2f3e +/agent-note-agent-scope-runtime-design-and-correctness/scope-routing-one-opaque-key-selects-one-layer/fused-dispatch-helpers-prevent-subject-drift: + en: 638e3711206e3c41 + zh: 61d370123d30c1ed +/agent-note-agent-scope-runtime-design-and-correctness/agent-creation-one-transaction-owns-the-complete-operation: + en: ef58215c8554180b + zh: 44571074148d2467 +/agent-note-agent-scope-runtime-design-and-correctness/agent-creation-one-transaction-owns-the-complete-operation/registry-entries-are-the-only-live-identity-records: + en: 092b49671e83df98 + zh: 330ea6e45c4deb99 +/agent-note-agent-scope-runtime-design-and-correctness/agent-creation-one-transaction-owns-the-complete-operation/the-transaction-owns-preparation-before-awaiting-it: + en: 3940920908ec6066 + zh: 888e36ca43611d30 +/agent-note-agent-scope-runtime-design-and-correctness/agent-creation-one-transaction-owns-the-complete-operation/setup-is-trusted-composition-inside-a-private-world: + en: 40a73b8eede856ee + zh: 7dab8f2548cb92ea +/agent-note-agent-scope-runtime-design-and-correctness/agent-creation-one-transaction-owns-the-complete-operation/publication-has-one-ordered-commit-path: + en: 227eff7a5adacd0e + zh: b9ee423c2dd4212f +/agent-note-agent-scope-runtime-design-and-correctness/agent-creation-one-transaction-owns-the-complete-operation/teardown-preserves-work-before-revoking-registrations: + en: 1cbe77cff192815d + zh: 7f517936a8aa469e +/agent-note-agent-scope-runtime-design-and-correctness/session-append-materialize-validate-commit-notify: + en: cc37e93081fea4cb + zh: daf2234f84e4c9bf +/agent-note-agent-scope-runtime-design-and-correctness/session-append-materialize-validate-commit-notify/durable-data-is-materialized-once: + en: d0a57b0ac227d84c + zh: e9ae6ced0e65fe49 +/agent-note-agent-scope-runtime-design-and-correctness/session-append-materialize-validate-commit-notify/pre-commit-listeners-can-veto-post-commit-observers-cannot: + en: 15255d3d0b62fac0 + zh: c1995d5aa3c78f0a +/agent-note-agent-scope-runtime-design-and-correctness/trust-boundaries-copy-only-when-ownership-actually-changes: + en: 22b381902fe903f3 + zh: 8a2efe9a8b458bba +/agent-note-agent-scope-runtime-design-and-correctness/tools-and-prompts-one-view-authoritative-assembly-committed-outcomes: + en: 456ac0359d3c02f6 + zh: 9099e15d22139751 +/agent-note-agent-scope-runtime-design-and-correctness/tools-and-prompts-one-view-authoritative-assembly-committed-outcomes/one-resolver-defines-the-tool-view: + en: 120e1c79f0b99b1a + zh: 1c21a5b1d6b08235 +/agent-note-agent-scope-runtime-design-and-correctness/tools-and-prompts-one-view-authoritative-assembly-committed-outcomes/tool-execution-owns-identity-and-boundary-materialization: + en: 41f1f2ad73d83d73 + zh: e6bff63958ede05e +/agent-note-agent-scope-runtime-design-and-correctness/tools-and-prompts-one-view-authoritative-assembly-committed-outcomes/the-assembly-waterfall-owns-the-final-model-visible-composition: + en: 5c5880ccea139058 + zh: 3e5b7d10cb4c6ff8 +/agent-note-agent-scope-runtime-design-and-correctness/tools-and-prompts-one-view-authoritative-assembly-committed-outcomes/structured-output-commits-only-authoritative-outcomes: + en: a9a711cf31559765 + zh: e9083b000fc89128 +/agent-note-agent-scope-runtime-design-and-correctness/tools-and-prompts-one-view-authoritative-assembly-committed-outcomes/three-execution-boundaries-are-deliberately-one-way: + en: a109f3fadf338061 + zh: 12eb46fe775fa46a +/agent-note-agent-scope-runtime-design-and-correctness/tools-and-prompts-one-view-authoritative-assembly-committed-outcomes/skill-and-approval-services-trust-typed-callers: + en: 9572833d47f779e6 + zh: 7ff491d309060030 +/agent-note-agent-scope-runtime-design-and-correctness/subagents-publication-is-the-start-promise: + en: b9216021f8f50bcc + zh: fda52f9434cc8191 +/agent-note-agent-scope-runtime-design-and-correctness/subagents-publication-is-the-start-promise/the-service-contract-has-one-cancellation-channel: + en: 84a4be83b78c045b + zh: 043e14cf628413cd +/agent-note-agent-scope-runtime-design-and-correctness/subagents-publication-is-the-start-promise/in-process-providers-reuse-the-core-transaction: + en: b5e0b3dcf0dff750 + zh: 63905010383781b9 +/agent-note-agent-scope-runtime-design-and-correctness/subagents-publication-is-the-start-promise/acp-providers-own-the-process-until-readiness-or-cleanup: + en: aa0c00cee368c7e6 + zh: 767539b0f4d56f55 +/agent-note-agent-scope-runtime-design-and-correctness/workflows-and-acp-processes-retain-only-independent-async-facts: + en: effbb0acf7f66bed + zh: e0cc9ad6ac0777de +/agent-note-agent-scope-runtime-design-and-correctness/workflows-and-acp-processes-retain-only-independent-async-facts/workflow-children-are-pending-starts-or-published-records: + en: 9f05eed800f3413c + zh: 8230a28a0f94bffa +/agent-note-agent-scope-runtime-design-and-correctness/workflows-and-acp-processes-retain-only-independent-async-facts/terminal-result-and-physical-cleanup-remain-separate: + en: 5ad141c6df9f4fc3 + zh: 63effa4f14f3c530 +/agent-note-agent-scope-runtime-design-and-correctness/workflows-and-acp-processes-retain-only-independent-async-facts/acp-prompt-settlement-does-not-depend-on-update-delivery: + en: d39f73f50f0370bd + zh: 3889c1db46de560e +/agent-note-agent-scope-runtime-design-and-correctness/correctness-enforcement: + en: 840564e766d2f05c + zh: 059243afea7eb9c0 +/agent-note-agent-scope-runtime-design-and-correctness/correctness-enforcement/types-make-the-ordinary-path-hard-to-misuse: + en: 9183eb29dddfd97f + zh: e6ce13295e6c3e65 +/agent-note-agent-scope-runtime-design-and-correctness/correctness-enforcement/runtime-invariants-cover-cross-service-facts: + en: fabafbebc0ab4f95 + zh: 06d94a98ed5aa40c +/agent-note-agent-scope-runtime-design-and-correctness/correctness-enforcement/generated-artifacts-keep-public-contracts-aligned: + en: d0ddc5f38289225d + zh: 781d910228d5e334 +/agent-note-agent-scope-runtime-design-and-correctness/alternatives-considered: + en: 5eef7873a795c8f0 + zh: 3e8ba109a6e29ba5 +/agent-note-agent-scope-runtime-design-and-correctness/alternatives-considered/use-a-transparent-proxy-as-the-scope-carrier: + en: 199c7345a237e7e9 + zh: b262d5ad0c7cb562 +/agent-note-agent-scope-runtime-design-and-correctness/alternatives-considered/reserve-agent-and-session-ids-before-setup: + en: 3a8cb6969139dd84 + zh: 2913bb68433c9ec7 +/agent-note-agent-scope-runtime-design-and-correctness/alternatives-considered/snapshot-every-typed-same-process-argument: + en: 3e1f19f909f8d138 + zh: 0727777e34964afe +/agent-note-agent-scope-runtime-design-and-correctness/alternatives-considered/give-readiness-cancellation-and-disposal-separate-controllers: + en: f2c6ecbd139bbdb0 + zh: 0ff5b1e192dcb376 +/agent-note-agent-scope-runtime-design-and-correctness/alternatives-considered/keep-synchronous-subagent-start-plus-run-started: + en: 7f5669933cb35c9c + zh: c55e35d4c175af36 +/agent-note-agent-scope-runtime-design-and-correctness/alternatives-considered/restore-selected-prompt-or-tool-contributions-after-assembly: + en: a2b2e48d9ccda310 + zh: 3a4e925fde9d05b0 +/agent-note-agent-scope-runtime-design-and-correctness/alternatives-considered/remove-worker-process-lifecycle-guards-with-same-process-hardening: + en: 662e0904d90a3a94 + zh: 84c5e49f7cc59b32 +/agent-note-agent-scope-runtime-design-and-correctness/consequences: + en: 0d781b2dc4c41ddb + zh: 844652a4aaac37aa +/agent-note-agent-scope-runtime-design-and-correctness/consequences/what-the-design-guarantees: + en: eb2001592d7bd7b1 + zh: e534dbb6daa9af32 +/agent-note-agent-scope-runtime-design-and-correctness/consequences/costs-and-limits: + en: e9383713d56b9e10 + zh: d3ab00aea8ecf4e0 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 07a0a60247..7d88d4ba73 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 @@ -1,6 +1,37 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-14-provider-routed-llm-adapters.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 1001b10e18837399b41578658ffe62065e294ba8 -2026-07-14-provider-routed-llm-adapters.zh.md: c5bff0ef407c8a2c22e8cad7e7d32c58c8b0e2da +/agent-note-provider-routed-llm-adapters-and-a-generic-pi-ai-backend: + en: e57698907c40f783 + zh: 47004d8f68af1d7d +/agent-note-provider-routed-llm-adapters-and-a-generic-pi-ai-backend/problem: + en: 2e51f5fa703b0677 + zh: 385937219b88c447 +/agent-note-provider-routed-llm-adapters-and-a-generic-pi-ai-backend/decision: + en: a15c7c13f167e5ac + zh: 63bcc2ef60c2f344 +/agent-note-provider-routed-llm-adapters-and-a-generic-pi-ai-backend/decision/provider-is-the-adapter-registration-key: + en: 4921a060c657b790 + zh: 2f9632469c6f0b60 +/agent-note-provider-routed-llm-adapters-and-a-generic-pi-ai-backend/decision/explicit-pi-ai-provider-profiles: + en: 5461685553dac663 + zh: e5c7e0ad7ac84e29 +/agent-note-provider-routed-llm-adapters-and-a-generic-pi-ai-backend/decision/recorded-assistant-route-and-replay-state: + en: 8439e90c9f6d7642 + zh: daeda3ce5146c9f5 +/agent-note-provider-routed-llm-adapters-and-a-generic-pi-ai-backend/decision/propagate-the-target-through-every-request-producer: + en: ba1908bc1517ed23 + zh: 1c9353a422cf74e1 +/agent-note-provider-routed-llm-adapters-and-a-generic-pi-ai-backend/alternatives-considered: + en: ad0d610ea92aa9b8 + zh: fe09d62762e73f01 +/agent-note-provider-routed-llm-adapters-and-a-generic-pi-ai-backend/consequences: + en: a0c98bced8a5e6fb + zh: 23caf082a08ba507 +/agent-note-provider-routed-llm-adapters-and-a-generic-pi-ai-backend/testing: + en: 5a36121f12701d08 + zh: 90f0f8ed44f7234f +/agent-note-provider-routed-llm-adapters-and-a-generic-pi-ai-backend/risks: + en: 11db2a349f9f26c2 + zh: 550d6017d8639854 diff --git a/.agents/notes/implemented/architecture/2026-07-15-agent-initiator-scope.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-15-agent-initiator-scope.i18n.yaml index 99577f250e..a90633f326 100644 --- a/.agents/notes/implemented/architecture/2026-07-15-agent-initiator-scope.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-15-agent-initiator-scope.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-15-agent-initiator-scope.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-agent-initiator-scope.md -2026-07-15-agent-initiator-scope.md: ab11da116a463cd706418e797eb58f1bc4ab9b1c -2026-07-15-agent-initiator-scope.zh.md: 343acba5f99379b6d2c3af41368e8fbe90b20611 +/agent-note-initiating-agent-scope-over-asynclocalstorage: + en: b0a59e3a34c41826 + zh: 7131428a14901d14 +/agent-note-initiating-agent-scope-over-asynclocalstorage/problem: + en: a26991200892c735 + zh: 04a7dfaca64e3f0c +/agent-note-initiating-agent-scope-over-asynclocalstorage/decision: + en: 43a4f0c503b30d95 + zh: a6a780584f94ed73 +/agent-note-initiating-agent-scope-over-asynclocalstorage/verification: + en: 312f5c4b843d515e + zh: a8993e3b84844fab +/agent-note-initiating-agent-scope-over-asynclocalstorage/alternatives-considered: + en: fd2ae1369fb3fbc6 + zh: e2a3d7f9331fc8ac +/agent-note-initiating-agent-scope-over-asynclocalstorage/consequences: + en: 625c6afc49489e29 + zh: ed7e5c5e56c781fb 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 a3dae54b9b..a7c6542f24 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 @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-16-explicit-turn-cancellation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: d59accf2dc3f894ffab226e5ddc9d2e746f4d93e -2026-07-16-explicit-turn-cancellation.zh.md: 8fb0728eb2bbe8fa01dbefebe7e02aa8c836617a +/agent-note-explicit-turn-cancellation-capability: + en: 729ed6291e9d4d2c + zh: 32ae526ef41199da +/agent-note-explicit-turn-cancellation-capability/problem: + en: 0a7826345be2a509 + zh: 430fccb5c4d6a5e2 +/agent-note-explicit-turn-cancellation-capability/decision: + en: 2c15edb35f38e7e5 + zh: fa5145d26e3bff20 +/agent-note-explicit-turn-cancellation-capability/verification: + en: a7ab1d06542be1c0 + zh: 1687979b7f2460fa +/agent-note-explicit-turn-cancellation-capability/alternatives-considered: + en: bf69bbf7eb280306 + zh: a434a0ecb5008b2b +/agent-note-explicit-turn-cancellation-capability/consequences: + en: 1066aff1aec4ed01 + zh: 31d6a60496e2e730 diff --git a/.agents/notes/implemented/architecture/2026-07-19-cooperative-tool-cancellation.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-19-cooperative-tool-cancellation.i18n.yaml index 41d4664d7d..7354602835 100644 --- a/.agents/notes/implemented/architecture/2026-07-19-cooperative-tool-cancellation.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-19-cooperative-tool-cancellation.i18n.yaml @@ -1,6 +1,34 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-19-cooperative-tool-cancellation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-cooperative-tool-cancellation.md -2026-07-19-cooperative-tool-cancellation.md: 5ca2b44b24a4af189df27c6f724021a7bf290e2b -2026-07-19-cooperative-tool-cancellation.zh.md: d6d49fb44c5d5629729a8b5b4bad07ea9b2f7ee9 +/agent-note-cooperative-tool-cancellation-at-the-registry-boundary: + en: 84c827aa3baa331a + zh: 10cad03e58b10e31 +/agent-note-cooperative-tool-cancellation-at-the-registry-boundary/problem: + en: e386b22491b468c1 + zh: 82015f5145b679cd +/agent-note-cooperative-tool-cancellation-at-the-registry-boundary/decision: + en: ca66d3b6af50be10 + zh: f054b10d0c965e82 +/agent-note-cooperative-tool-cancellation-at-the-registry-boundary/decision/mutability-follows-the-pipeline-stage: + en: 0e1399cad4151f87 + zh: 960fa0ccbe0f8fea +/agent-note-cooperative-tool-cancellation-at-the-registry-boundary/decision/cancellation-codes-record-whether-dispatch-occurred: + en: c787fba8731ac147 + zh: 21b5968ae6f8cd59 +/agent-note-cooperative-tool-cancellation-at-the-registry-boundary/decision/pre-aborted-entry-short-circuits-after-materialization: + en: 53362db6a0c71698 + zh: 311de45ca26d3fdc +/agent-note-cooperative-tool-cancellation-at-the-registry-boundary/decision/started-work-still-reaches-quiescence: + en: 26e4b71366bebd1b + zh: 10598e12b28c586e +/agent-note-cooperative-tool-cancellation-at-the-registry-boundary/verification: + en: fbd101d4576afa92 + zh: 35f5d3c2f6cad6a8 +/agent-note-cooperative-tool-cancellation-at-the-registry-boundary/alternatives-considered: + en: 1f205f1a78d4fd5b + zh: 6c17e35da2909302 +/agent-note-cooperative-tool-cancellation-at-the-registry-boundary/consequences: + en: 24a9ad2c4c7c86b5 + zh: debdd29d272e07ea 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 a64c2c83c2..b48fcf3403 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 @@ -1,6 +1,40 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-19-gui-web-client-architecture.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 4d62d7ddbeddd2d5c02e42194b035ee08b5cf041 -2026-07-19-gui-web-client-architecture.zh.md: aeb6c89e677d7b65daef03d5d31372f484ae3117 +/agent-note-web-client-architecture-the-client-cordis-plugin-tree-the-slot-system-and-the-react-free-object-layer: + en: e940be9ef95509ff + zh: c06cea53bb49c718 +/agent-note-web-client-architecture-the-client-cordis-plugin-tree-the-slot-system-and-the-react-free-object-layer/problem: + en: c5a3dda6ccd57c9e + zh: 122307b113bb1c09 +/agent-note-web-client-architecture-the-client-cordis-plugin-tree-the-slot-system-and-the-react-free-object-layer/decision: + en: 29742775aee9fbc3 + zh: 54a2df8816e2ea2e +/agent-note-web-client-architecture-the-client-cordis-plugin-tree-the-slot-system-and-the-react-free-object-layer/the-client-cordis-tree-and-the-loading-chain: + en: 23b0b6c3f29e4f5e + zh: 53bf897b502c645b +/agent-note-web-client-architecture-the-client-cordis-plugin-tree-the-slot-system-and-the-react-free-object-layer/the-slot-system-how-the-page-composes: + en: 1661f3dd74dc9df6 + zh: 3152467c7dd8e6ef +/agent-note-web-client-architecture-the-client-cordis-plugin-tree-the-slot-system-and-the-react-free-object-layer/services-and-scope-addressing: + en: 9da9311f677c5da6 + zh: 9cb16a92cee87055 +/agent-note-web-client-architecture-the-client-cordis-plugin-tree-the-slot-system-and-the-react-free-object-layer/the-data-object-layer-packages-api-session-controller-src-client: + en: 909682e20c0d23a1 + zh: ed1defbcf7745e8e +/agent-note-web-client-architecture-the-client-cordis-plugin-tree-the-slot-system-and-the-react-free-object-layer/the-react-face-packages-client-ui-renderer: + en: 0971d6196b5358fd + zh: 26175d648feccfd9 +/agent-note-web-client-architecture-the-client-cordis-plugin-tree-the-slot-system-and-the-react-free-object-layer/directory-shape: + en: 74c45680c8aab51c + zh: fd431ae5d3656038 +/agent-note-web-client-architecture-the-client-cordis-plugin-tree-the-slot-system-and-the-react-free-object-layer/how-to-develop: + en: cbc6abcd9f291868 + zh: 0078f15f2d08a02e +/agent-note-web-client-architecture-the-client-cordis-plugin-tree-the-slot-system-and-the-react-free-object-layer/consequences: + en: 56a9086da5783306 + zh: 8147576101d22aa0 +/agent-note-web-client-architecture-the-client-cordis-plugin-tree-the-slot-system-and-the-react-free-object-layer/alternatives-considered: + en: 8bedf2e688b14322 + zh: 7cda12f7474832ee diff --git a/.agents/notes/implemented/architecture/2026-07-19-package-invariant-runtime-contracts.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-19-package-invariant-runtime-contracts.i18n.yaml index ec285a946f..f8fe485684 100644 --- a/.agents/notes/implemented/architecture/2026-07-19-package-invariant-runtime-contracts.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-19-package-invariant-runtime-contracts.i18n.yaml @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-19-package-invariant-runtime-contracts.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-invariant-runtime-contracts.md -2026-07-19-package-invariant-runtime-contracts.md: a1b635cc40844f1846c04e203dbb842d1c7328ed -2026-07-19-package-invariant-runtime-contracts.zh.md: d315c440f1c100911386f57d6f82d5f16be631ca +/agent-note-meaningful-package-invariant-contracts: + en: e5db3b3373f72761 + zh: 312b83d320d9aaab +/agent-note-meaningful-package-invariant-contracts/problem: + en: 220a4ceb3cd9b9c9 + zh: 9eac93e1762b2914 +/agent-note-meaningful-package-invariant-contracts/decision: + en: a15c7c13f167e5ac + zh: 63bcc2ef60c2f344 +/agent-note-meaningful-package-invariant-contracts/decision/published-assertions-must-be-meaningful: + en: 11a1c080592def10 + zh: d1189de665f9e327 +/agent-note-meaningful-package-invariant-contracts/decision/representative-implemented-checks: + en: 2f7ae4ed588d6de8 + zh: ed7ea9ccc6c54e87 +/agent-note-meaningful-package-invariant-contracts/decision/repository-gate-and-tests: + en: 37e646754f13dd65 + zh: 355ebf3ce1403117 +/agent-note-meaningful-package-invariant-contracts/alternatives-considered: + en: 74c6a5a0cfadbf88 + zh: e41356bb1a8c1fdf +/agent-note-meaningful-package-invariant-contracts/consequences: + en: 1f8d53063fb5903e + zh: 5edd23739749b065 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 5e0c9ab302..9e8a30179e 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 @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-19-zstandard-jsonl-session-logs.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 96b76febee1c8853f70d7e4897894ea26390f524 -2026-07-19-zstandard-jsonl-session-logs.zh.md: 4cf184ce107b9de6dbbf3f0e571d4009d50ca636 +/agent-note-zstandard-jsonl-session-logs: + en: b46a6b48493de93e + zh: 0e394abf1d11fd43 +/agent-note-zstandard-jsonl-session-logs/problem: + en: da8b3d94d10b5bc4 + zh: da9c6d98a300b7bb +/agent-note-zstandard-jsonl-session-logs/decision: + en: a15c7c13f167e5ac + zh: 63bcc2ef60c2f344 +/agent-note-zstandard-jsonl-session-logs/decision/configuration-and-suffix-ownership: + en: 1f29970aecc71980 + zh: 94414765645bace0 +/agent-note-zstandard-jsonl-session-logs/decision/frame-and-write-path: + en: da213ed32dfa6000 + zh: a0f3cd11684dbdc9 +/agent-note-zstandard-jsonl-session-logs/decision/read-listing-and-crash-recovery: + en: 63d4fe7d9c2a0a8a + zh: 2c4ef3e6aad73195 +/agent-note-zstandard-jsonl-session-logs/decision/consumers-and-verification: + en: 6d9d16d610b80e55 + zh: efa083ffaa7301e0 +/agent-note-zstandard-jsonl-session-logs/alternatives-considered: + en: c5f447029fb644f7 + zh: 5b84162e87bc6c86 +/agent-note-zstandard-jsonl-session-logs/consequences: + en: e721552f16340e4c + zh: d5be8c3ffd1c7cc2 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 cf9b3216dc..531d05cdc9 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 @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-20-canonical-tool-output-contract.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 4dbcac3da8381e69809b15a653cdb4987af4e0e7 -2026-07-20-canonical-tool-output-contract.zh.md: c2f4ebdfc7266495570766c69b3aa264f91172cc +/agent-note-canonical-tool-output-contract: + en: 01677f7875da9579 + zh: 41bae59177ba5125 +/agent-note-canonical-tool-output-contract/problem: + en: d0bc9840998f0530 + zh: 2601671ec694a78d +/agent-note-canonical-tool-output-contract/decision: + en: db088b8225a4bf3d + zh: bfb0caa015b2b7df +/agent-note-canonical-tool-output-contract/alternatives-considered: + en: d82a0ac0461ab120 + zh: bedea17fb4fb4f51 +/agent-note-canonical-tool-output-contract/consequences: + en: 32724ff8f6b3b03f + zh: bc7512ff05d00157 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 081f618b1a..a21bb41371 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 @@ -1,6 +1,34 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-20-routed-model-context-and-compaction-policy.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: d276354cb21f45eaec1c4e3202c7be1770745efb -2026-07-20-routed-model-context-and-compaction-policy.zh.md: b6e2a0b914f78e19675d80b86d8d962e8ba8c80f +/agent-note-routed-model-context-and-compaction-policy: + en: eca190695d4857f5 + zh: f9d6411b8a8612ae +/agent-note-routed-model-context-and-compaction-policy/problem: + en: f7d1f343e487d725 + zh: c7f736180e44d586 +/agent-note-routed-model-context-and-compaction-policy/decision: + en: a15c7c13f167e5ac + zh: 63bcc2ef60c2f344 +/agent-note-routed-model-context-and-compaction-policy/decision/adapters-own-exact-route-capacity: + en: 7bcf0ae2c74a0eb7 + zh: bc0e04a25492d5ba +/agent-note-routed-model-context-and-compaction-policy/decision/token-measurement-remains-model-agnostic: + en: 51d1b39d06407320 + zh: 85c88f6b5d8508d6 +/agent-note-routed-model-context-and-compaction-policy/decision/compact-basic-resolves-a-target-spec: + en: d8827f9fa70aa65f + zh: a9d29e05dcb0cfdb +/agent-note-routed-model-context-and-compaction-policy/decision/target-specific-pressure-failures-preserve-optional-composition: + en: 1bd81ae0a1409e24 + zh: 635c2937d5a94df7 +/agent-note-routed-model-context-and-compaction-policy/testing: + en: 1ac13596df50571f + zh: 8605a6f0de049dfc +/agent-note-routed-model-context-and-compaction-policy/alternatives-considered: + en: 0ca0a4b1318188ec + zh: de98cd4494a6c0d0 +/agent-note-routed-model-context-and-compaction-policy/consequences: + en: d00f83e85ba5e431 + zh: 32665480f0cdc4ea diff --git a/.agents/notes/implemented/architecture/2026-07-20-unified-json-value-schema-dsl.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-20-unified-json-value-schema-dsl.i18n.yaml index 152bae16ac..bf011b57b9 100644 --- a/.agents/notes/implemented/architecture/2026-07-20-unified-json-value-schema-dsl.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-20-unified-json-value-schema-dsl.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-20-unified-json-value-schema-dsl.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-unified-json-value-schema-dsl.md -2026-07-20-unified-json-value-schema-dsl.md: 5de3523eab15a91ea32dc09e2e239146fadea6f1 -2026-07-20-unified-json-value-schema-dsl.zh.md: 0dc38dc289a32269c0f9e545ae53a8098ba02189 +/agent-note-unified-json-value-schema-dsl: + en: 8ba380205c472f4e + zh: de92e20dc90e8037 +/agent-note-unified-json-value-schema-dsl/problem: + en: 5c7e79e37c007896 + zh: 759f5803141b0960 +/agent-note-unified-json-value-schema-dsl/decision: + en: 8f08bbafc8939a46 + zh: 2ed8255c1e2b812b +/agent-note-unified-json-value-schema-dsl/alternatives-considered: + en: 1d32d6195d6fca08 + zh: ea3a30126dca95f7 +/agent-note-unified-json-value-schema-dsl/consequences: + en: 14d0a6a337503e80 + zh: c7ffec8760a710af 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 f633a831d3..eeeda135fe 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 @@ -1,6 +1,46 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-22-slot-type-chain-implementation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 98585a42f71844594da4ada19d7438a7d8321702 -2026-07-22-slot-type-chain-implementation.zh.md: d1093537ccbc5ee5ff2dc18c234233ffca39879d +/agent-note-the-slot-system-standard-single-register-four-props-shares-and-the-framework-store-seat: + en: 43ed5b2dfd8043fc + zh: 04b6fdd0435a265a +/agent-note-the-slot-system-standard-single-register-four-props-shares-and-the-framework-store-seat/problem: + en: 4f8d6891a8ba7061 + zh: 5a619e562e00458d +/agent-note-the-slot-system-standard-single-register-four-props-shares-and-the-framework-store-seat/decision: + en: a81cddbebc1a97a3 + zh: aa57738c9f08c07e +/agent-note-the-slot-system-standard-single-register-four-props-shares-and-the-framework-store-seat/decision/root-is-the-only-a-priori-slot: + en: 43b856b4a8cf371f + zh: cde298ab8b8a3815 +/agent-note-the-slot-system-standard-single-register-four-props-shares-and-the-framework-store-seat/decision/register-is-the-single-api-children-declaration-authorization-runtime-spec: + en: ce28268021a38b89 + zh: 7802540e4ef04752 +/agent-note-the-slot-system-standard-single-register-four-props-shares-and-the-framework-store-seat/decision/component-props-four-shares-each-from-its-own-source-of-truth: + en: f3fca569fa0c5168 + zh: 647a82662f6a887d +/agent-note-the-slot-system-standard-single-register-four-props-shares-and-the-framework-store-seat/decision/the-chain-kind-entries-self-nominate-first-match-renders: + en: 56278be7f3688805 + zh: 16602ffbf4baef85 +/agent-note-the-slot-system-standard-single-register-four-props-shares-and-the-framework-store-seat/decision/the-store-seat-framework-engine-registrant-schema: + en: 2645acc9d29c20ec + zh: a8a2fd293ef5da04 +/agent-note-the-slot-system-standard-single-register-four-props-shares-and-the-framework-store-seat/decision/inject-the-registrant-s-business-face-on-its-own-ctx: + en: 66b311fad441400a + zh: 34f031e7f04d29e6 +/agent-note-the-slot-system-standard-single-register-four-props-shares-and-the-framework-store-seat/decision/data-boundary-discipline: + en: 07b919360c8f65be + zh: 4c8a9915a2ed20af +/agent-note-the-slot-system-standard-single-register-four-props-shares-and-the-framework-store-seat/decision/tree-context-and-the-renderer-contract: + en: d77ebd3f6b166194 + zh: 57ba9fe864908d46 +/agent-note-the-slot-system-standard-single-register-four-props-shares-and-the-framework-store-seat/decision/type-chain-implementation-rulings: + en: 752bc30428dad374 + zh: 3d729646468ecfde +/agent-note-the-slot-system-standard-single-register-four-props-shares-and-the-framework-store-seat/consequences: + en: 07228332f3d3c227 + zh: 32525e1972acf156 +/agent-note-the-slot-system-standard-single-register-four-props-shares-and-the-framework-store-seat/alternatives-considered: + en: 2bd28715f741ac04 + zh: 8d6a0cb78a006533 diff --git a/.agents/notes/implemented/architecture/2026-07-23-client-plugin-loading-model.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-23-client-plugin-loading-model.i18n.yaml index 608fe717d5..142497a1d9 100644 --- a/.agents/notes/implemented/architecture/2026-07-23-client-plugin-loading-model.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-23-client-plugin-loading-model.i18n.yaml @@ -1,6 +1,40 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-23-client-plugin-loading-model.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-client-plugin-loading-model.md -2026-07-23-client-plugin-loading-model.md: b8c23108a7a1cf3a04ded373d8705bae626c70c2 -2026-07-23-client-plugin-loading-model.zh.md: efaea843120e5b023bbc8f59663ea47468944c71 +/agent-note-client-plugin-loading-lazy-factories-cordis-lifecycle-and-hot-reload: + en: 874618fd5ad1d06a + zh: a5e4bfad490fab34 +/agent-note-client-plugin-loading-lazy-factories-cordis-lifecycle-and-hot-reload/problem: + en: 46c4b208707e024e + zh: b6f86a6374b251da +/agent-note-client-plugin-loading-lazy-factories-cordis-lifecycle-and-hot-reload/decision: + en: a15c7c13f167e5ac + zh: a15c7c13f167e5ac +/agent-note-client-plugin-loading-lazy-factories-cordis-lifecycle-and-hot-reload/decision/package-membership-and-module-requests: + en: 6af228b03e5e533f + zh: 276a522af6be5d7a +/agent-note-client-plugin-loading-lazy-factories-cordis-lifecycle-and-hot-reload/decision/one-module-system-one-plugin-governor: + en: 575aad62490f32e9 + zh: a6c18eb63965fc1e +/agent-note-client-plugin-loading-lazy-factories-cordis-lifecycle-and-hot-reload/decision/combo-external-script-arrival-and-source-maps: + en: 0a4240d88cca240a + zh: 8f5f1527caf571cd +/agent-note-client-plugin-loading-lazy-factories-cordis-lifecycle-and-hot-reload/decision/the-loading-flow-end-to-end: + en: 7dac236d6add3c3c + zh: 2a43a923a0646bb0 +/agent-note-client-plugin-loading-lazy-factories-cordis-lifecycle-and-hot-reload/decision/live-graph-reconciliation: + en: 37e2fa1fe5cb2b95 + zh: 80e513db87709cb4 +/agent-note-client-plugin-loading-lazy-factories-cordis-lifecycle-and-hot-reload/decision/hot-reload-one-driver-plugin-self-watched-bundles: + en: f8b591d4c41ef492 + zh: bc70f1cd540b7753 +/agent-note-client-plugin-loading-lazy-factories-cordis-lifecycle-and-hot-reload/package-ownership: + en: 94ca0d09e6fd1e3a + zh: d5949a2bdec795ba +/agent-note-client-plugin-loading-lazy-factories-cordis-lifecycle-and-hot-reload/consequences: + en: 6a96d9ac06c222e5 + zh: b2814ab58348e831 +/agent-note-client-plugin-loading-lazy-factories-cordis-lifecycle-and-hot-reload/alternatives-considered: + en: b8f036f50cff7cd8 + zh: 6d623c4a1f4314b1 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 95adf4e6c5..28f986327b 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 @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-24-project-session-directories.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 0074c8b31304e6a7d32199b7461575356e406448 -2026-07-24-project-session-directories.zh.md: 3a1d348255588fd120221dc277a2841359c0a038 +/agent-note-project-grouped-session-directories: + en: c8960daf61fa50fa + zh: d8c7c844180fcaae +/agent-note-project-grouped-session-directories/problem: + en: 7df6078347bd7176 + zh: bb769760d7abc903 +/agent-note-project-grouped-session-directories/decision: + en: cdefd1f4d9d0a55a + zh: 5916d456f3faab2b +/agent-note-project-grouped-session-directories/alternatives-considered: + en: ba4657ba95479806 + zh: 5c53c5c964efa932 +/agent-note-project-grouped-session-directories/consequences: + en: 228c46a599899be1 + zh: 265a233cd41b5c05 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 b192622981..7e61625e6d 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 @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-24-separate-context-injection-from-turn-execution.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: d22d3966767ae9888f2140141b1c7743792184c0 -2026-07-24-separate-context-injection-from-turn-execution.zh.md: 2c567511b21891ada3e0027f666d1163861fb090 +/agent-note-separate-context-injection-from-turn-execution: + en: f0090d5d271cbd9d + zh: 7ff28e03f1273093 +/agent-note-separate-context-injection-from-turn-execution/problem: + en: 2eefc25e17f62a90 + zh: 81bc7ff2649b2704 +/agent-note-separate-context-injection-from-turn-execution/decision: + en: 83dba9117127cbb4 + zh: 2b6b428a1c97d3b1 +/agent-note-separate-context-injection-from-turn-execution/injection-lifecycle: + en: 16005492be54cb4f + zh: db460e0ebf838d54 +/agent-note-separate-context-injection-from-turn-execution/extension-and-caller-semantics: + en: e184d8cd9676e24f + zh: 22465b570ae35f59 +/agent-note-separate-context-injection-from-turn-execution/alternatives-considered: + en: 0efad389c38dfe95 + zh: 13dd73de20226540 +/agent-note-separate-context-injection-from-turn-execution/verification: + en: 3f3db450a3fc5848 + zh: b2027393d570339d +/agent-note-separate-context-injection-from-turn-execution/consequences: + en: 71079e4dede5e12f + zh: deb46b5a4f151678 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 83d23518ec..8622ce8f91 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 @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-24-single-harness-home-resolver.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 1191c52bfa222b807e9aa301b250d2efcc8b0953 -2026-07-24-single-harness-home-resolver.zh.md: cefa124b7cb46bab92157af34576f59d3053da9f +/agent-note-one-harness-home-resolver: + en: 4177acbdd51411da + zh: 53f10d4c54b431b2 +/agent-note-one-harness-home-resolver/problem: + en: fa4d3622fb18dd58 + zh: 2b98640594c8344b +/agent-note-one-harness-home-resolver/decision: + en: bbab99c7a1aae2fc + zh: 87453b98ca265699 +/agent-note-one-harness-home-resolver/alternatives-considered: + en: b1c9535540171d47 + zh: 7df816d42945db94 +/agent-note-one-harness-home-resolver/consequences: + en: 7d0f569b98feadf5 + zh: 5c84624e7cc8d1d4 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 4951fbfe77..63949a5c87 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 @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-24-web-config-tree-boot-and-transport-layering.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: c8a1db3cd7bd715d8912b22a0b41a9ef660c1316 -2026-07-24-web-config-tree-boot-and-transport-layering.zh.md: 41fcf65b06829199c203faa806bd17a310b68bcf +/agent-note-dsh-web-config-tree-boot-and-the-web-transport-layering: + en: 2d06ffcaaeb373e7 + zh: 01822cfd7339167f +/agent-note-dsh-web-config-tree-boot-and-the-web-transport-layering/problem: + en: e5d603f77bff9dd7 + zh: c9e9a64f0a4db3c9 +/agent-note-dsh-web-config-tree-boot-and-the-web-transport-layering/decision: + en: 866ebaaf4fe1e0d1 + zh: 8075a708c9042941 +/agent-note-dsh-web-config-tree-boot-and-the-web-transport-layering/consequences: + en: 47f8a6beba1f320b + zh: 5f444699dc52cabf +/agent-note-dsh-web-config-tree-boot-and-the-web-transport-layering/alternatives-considered: + en: bf6fbf972eab0700 + zh: 0f3449e5e6ace7e2 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 da98873480..cc78be86f5 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 @@ -1,6 +1,43 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-25-web-client-session-scope-and-provide-channel.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 76561bc0e330b3e3a26607569ae327217d0a0b67 -2026-07-25-web-client-session-scope-and-provide-channel.zh.md: d5d92b2ca53ba78929dd8591a6ded7028e4fed24 +/agent-note-web-client-agent-scope-parity-model-and-the-provisioning-channel-agents-scope-blank-reuse-provide: + en: 64d8701a9f2574bd + zh: 938991d424943547 +/agent-note-web-client-agent-scope-parity-model-and-the-provisioning-channel-agents-scope-blank-reuse-provide/problem: + en: 1738c071cb9824bc + zh: 7af7770739d5430a +/agent-note-web-client-agent-scope-parity-model-and-the-provisioning-channel-agents-scope-blank-reuse-provide/decision: + en: a397a3f2e0bd7c21 + zh: a179a646c148ecc1 +/agent-note-web-client-agent-scope-parity-model-and-the-provisioning-channel-agents-scope-blank-reuse-provide/decision/the-parity-model-client-and-host-share-one-root-state-axis: + en: e117f541a2f55c07 + zh: c6a5cf9c9d6b7692 +/agent-note-web-client-agent-scope-parity-model-and-the-provisioning-channel-agents-scope-blank-reuse-provide/decision/agent-scope-the-actx-is-the-sole-session-carrier-in-the-client-side-cordis-world: + en: 6e6488b3eab757c2 + zh: 4ee3d1cc415234df +/agent-note-web-client-agent-scope-parity-model-and-the-provisioning-channel-agents-scope-blank-reuse-provide/decision/scope-lifecycle-anchored-to-explicit-references: + en: e2ed0052678a2b9b + zh: e0fe1b87dc3766af +/agent-note-web-client-agent-scope-parity-model-and-the-provisioning-channel-agents-scope-blank-reuse-provide/decision/the-blank-bit-the-empty-session-s-visible-projection-conversion-and-reuse: + en: ee88908c085b80c5 + zh: 5ddb65bbac371f02 +/agent-note-web-client-agent-scope-parity-model-and-the-provisioning-channel-agents-scope-blank-reuse-provide/decision/connectworkspace-the-sole-entry-point-of-new-session: + en: 833df42c5a87afbd + zh: 82d789a99fd2b968 +/agent-note-web-client-agent-scope-parity-model-and-the-provisioning-channel-agents-scope-blank-reuse-provide/decision/per-session-provisioning-the-uisession-provide-standard-kit-channel: + en: 3c739c21ea490f09 + zh: 5508153f313a86d9 +/agent-note-web-client-agent-scope-parity-model-and-the-provisioning-channel-agents-scope-blank-reuse-provide/decision/input-delivery: + en: 2073e96f851d1e6e + zh: f0433bf5dfd0a23d +/agent-note-web-client-agent-scope-parity-model-and-the-provisioning-channel-agents-scope-blank-reuse-provide/decision/host-wire-smalls: + en: 5d1339b5a243812a + zh: a4be4d3c30056f42 +/agent-note-web-client-agent-scope-parity-model-and-the-provisioning-channel-agents-scope-blank-reuse-provide/alternatives-considered: + en: 2a69d71f4bdf0f76 + zh: dd768c273728d354 +/agent-note-web-client-agent-scope-parity-model-and-the-provisioning-channel-agents-scope-blank-reuse-provide/consequences: + en: 6750378aca400a75 + zh: 6eba20215ff255a1 diff --git a/.agents/notes/implemented/architecture/2026-07-27-compiler-independent-typert-model.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-27-compiler-independent-typert-model.i18n.yaml index 1709d91e34..50fa27df10 100644 --- a/.agents/notes/implemented/architecture/2026-07-27-compiler-independent-typert-model.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-27-compiler-independent-typert-model.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-27-compiler-independent-typert-model.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-compiler-independent-typert-model.md -2026-07-27-compiler-independent-typert-model.md: 5083c55176b2f4d342d14d0c1cf2a7f0c2c14b3c -2026-07-27-compiler-independent-typert-model.zh.md: 70d6954fae0fcb48e76137231168d5f2417668bf +/agent-note-compiler-independent-typert-type-model: + en: 6943b47c9de69922 + zh: 2fb08c1de4e6ea63 +/agent-note-compiler-independent-typert-type-model/problem: + en: 77713a6c0d15207e + zh: 2dc30d4c0182d8ba +/agent-note-compiler-independent-typert-type-model/decision: + en: 9ecb064f733f9f1b + zh: 471aee71053174cd +/agent-note-compiler-independent-typert-type-model/verification-contract: + en: c02d3f09e54f9a32 + zh: c14c15ffb7316b07 +/agent-note-compiler-independent-typert-type-model/alternatives-considered: + en: fa503dcfaa6f438f + zh: 26052212a124e133 +/agent-note-compiler-independent-typert-type-model/consequences: + en: 4a472acf377f8361 + zh: cb83602b123a4aae diff --git a/.agents/notes/implemented/architecture/2026-07-28-api-browser-trust-boundary.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-28-api-browser-trust-boundary.i18n.yaml index d4ca06ac71..a102c752b0 100644 --- a/.agents/notes/implemented/architecture/2026-07-28-api-browser-trust-boundary.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-28-api-browser-trust-boundary.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-28-api-browser-trust-boundary.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-api-browser-trust-boundary.md -2026-07-28-api-browser-trust-boundary.md: 397c93e084f84579ce3f90654f514428e696ffcd -2026-07-28-api-browser-trust-boundary.zh.md: 6d3896fd2c1fd6c607b9d92376eee76ab03df3c7 +/agent-note-one-carrier-level-browser-trust-boundary-for-all-api-routes: + en: 491d0faf230d0278 + zh: 40c8eef7719fe354 +/agent-note-one-carrier-level-browser-trust-boundary-for-all-api-routes/problem: + en: c25db2ef111b2276 + zh: 557891ca9e030ae5 +/agent-note-one-carrier-level-browser-trust-boundary-for-all-api-routes/decision: + en: 1a1af1e8125ba4b0 + zh: dd6c282651a06af5 +/agent-note-one-carrier-level-browser-trust-boundary-for-all-api-routes/alternatives-considered: + en: 1a4b0ae8072e8e50 + zh: d469553ad3b5d112 +/agent-note-one-carrier-level-browser-trust-boundary-for-all-api-routes/consequences: + en: 8acf5e6f55a747c2 + zh: bbd0b10927302965 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 56d5cea939..d7661445ba 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 @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-28-identified-immutable-message-values.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 73c9c14479117cf654d10b3da23d155cca77054d -2026-07-28-identified-immutable-message-values.zh.md: 7a5b9d6524beff01ac8a9e2020f75093271b7ab3 +/agent-note-create-every-message-as-an-identified-immutable-value: + en: 0bb4f6acecd9b6f1 + zh: 11e17fde272119f1 +/agent-note-create-every-message-as-an-identified-immutable-value/problem: + en: 9334a7a325a88fda + zh: c21c8cee318c6a35 +/agent-note-create-every-message-as-an-identified-immutable-value/decision: + en: a4434de753a41d41 + zh: f16e5cd634245f0e +/agent-note-create-every-message-as-an-identified-immutable-value/alternatives-considered: + en: bf73901dd2b977ed + zh: 5ba5d4d05051b1da +/agent-note-create-every-message-as-an-identified-immutable-value/consequences: + en: 9f2c40ccfcf03ee1 + zh: 0e8ba6c97f2e32af +/agent-note-create-every-message-as-an-identified-immutable-value/related: + en: 7c476f1a5195dff9 + zh: c878154dbf766e82 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 7aec04b3d6..babbdf4b6f 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 @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-28-portable-execution-world-consumers.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 5a687a552f322f3929b3f3937caf36c3373c05e7 -2026-07-28-portable-execution-world-consumers.zh.md: 6bc0e20bd29d0b0a01068c004655cc90ac3b6699 +/agent-note-portable-consumers-over-filesystem-and-subprocess-execution-worlds: + en: 42609904ffe19d80 + zh: fcacbf7912df216c +/agent-note-portable-consumers-over-filesystem-and-subprocess-execution-worlds/problem: + en: 959a378a04f28e89 + zh: ff496169735b4d7b +/agent-note-portable-consumers-over-filesystem-and-subprocess-execution-worlds/decision: + en: 23eca65b89ae572a + zh: 630d844a7c6438df +/agent-note-portable-consumers-over-filesystem-and-subprocess-execution-worlds/remote-provider-ownership: + en: bde2e1fa8f3aeee0 + zh: 42a13bb4cf540d6d +/agent-note-portable-consumers-over-filesystem-and-subprocess-execution-worlds/verification: + en: b34540c3548ea98f + zh: 79e53bda3981802c +/agent-note-portable-consumers-over-filesystem-and-subprocess-execution-worlds/alternatives-considered: + en: a5f455ad35d0615c + zh: df4f501a6d723838 +/agent-note-portable-consumers-over-filesystem-and-subprocess-execution-worlds/consequences: + en: 3e8426e4a6788505 + zh: 143b8c07d21d95d1 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 cabffaebf6..7bd5c73590 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 @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-29-dsh-source-launch-tsx-esm.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 700577cb9b137d67f20baeb639f99f4c0877011d -2026-07-29-dsh-source-launch-tsx-esm.zh.md: 4d322d3dcf49442ee62f82203f17bd2ab16467fe +/agent-note-dsh-source-launch-through-the-tsx-esm-hook: + en: 55846ac57e07eeda + zh: 3de03730d4b28863 +/agent-note-dsh-source-launch-through-the-tsx-esm-hook/problem: + en: 68385f7e47d3ac1f + zh: 285ca290832e2939 +/agent-note-dsh-source-launch-through-the-tsx-esm-hook/decision: + en: 12adf8ed56b4d5c3 + zh: fbbb9add935730c0 +/agent-note-dsh-source-launch-through-the-tsx-esm-hook/alternatives-considered: + en: c6eec3d899a61df1 + zh: 128edd753d49c0da +/agent-note-dsh-source-launch-through-the-tsx-esm-hook/consequences: + en: 7c8eb105520ccae3 + zh: 9dc85ecda408de5a 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 a5d41c6bca..22d12f0aab 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 @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-29-projected-token-usage-and-request-context.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 10056ac8ef85562035d4fc4591e90aec603a7dd8 -2026-07-29-projected-token-usage-and-request-context.zh.md: 0e4cd68791f0ee65dd700b64493be3c33b78a920 +/agent-note-projected-token-usage-and-context-occupancy: + en: 293fcae41011ed29 + zh: 9a018a07b6491173 +/agent-note-projected-token-usage-and-context-occupancy/problem: + en: 081098cb08ca80aa + zh: f829b6630a68fc3c +/agent-note-projected-token-usage-and-context-occupancy/decision: + en: 231a6f4a4c00dca6 + zh: e90c76e425826ca0 +/agent-note-projected-token-usage-and-context-occupancy/context-occupancy-is-approximate-and-that-is-the-decision: + en: 9df83c0a48f462d2 + zh: 94c2ad19af4b13fc +/agent-note-projected-token-usage-and-context-occupancy/alternatives-considered: + en: 50272313b4f061cc + zh: 1cfd7374e4bdfed9 +/agent-note-projected-token-usage-and-context-occupancy/consequences: + en: c7a407dc3964fb9d + zh: b1ac7c53abb5cb09 diff --git a/.agents/notes/implemented/architecture/2026-07-29-terminal-llm-stream-failures.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-29-terminal-llm-stream-failures.i18n.yaml index 04a5f80eec..ddc9c2bc46 100644 --- a/.agents/notes/implemented/architecture/2026-07-29-terminal-llm-stream-failures.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-29-terminal-llm-stream-failures.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-29-terminal-llm-stream-failures.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-terminal-llm-stream-failures.md -2026-07-29-terminal-llm-stream-failures.md: c5d160c5dffe6171dd79714f2402f3bd6ca4d3fc -2026-07-29-terminal-llm-stream-failures.zh.md: 297898d8f94ae4f00ab1c5fef192ce633aee99cd +/agent-note-terminal-llm-stream-failures: + en: 6195cb1d9b4dd423 + zh: 0c93d3a39e2bc1f4 +/agent-note-terminal-llm-stream-failures/problem: + en: 41363fca57ae20e6 + zh: 1d05eeeecaafa7f3 +/agent-note-terminal-llm-stream-failures/decision: + en: c3bfde5f736f8b27 + zh: f51ebb4089df6406 +/agent-note-terminal-llm-stream-failures/alternatives-considered: + en: 46153a92b2135aae + zh: 0b8fdaf1f7edeb77 +/agent-note-terminal-llm-stream-failures/consequences: + en: 9bf05473682c5cef + zh: b93f32470eb08cf4 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 ccbabe4e0d..a4c259b654 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 @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-30-credential-boundaries-and-atomic-registration.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 0e65bb1093bb21c3a0dbee71b4e80ba4276b9d00 -2026-07-30-credential-boundaries-and-atomic-registration.zh.md: cbc66efa26065beb54ee1deea0f69221ebd92337 +/agent-note-credential-boundaries-whole-snapshot-requests-and-atomic-route-registration: + en: 0b33f9d64be7149a + zh: 365ea54cf9fd4924 +/agent-note-credential-boundaries-whole-snapshot-requests-and-atomic-route-registration/problem: + en: 6228c81e4965b688 + zh: 04b702be0cfbf195 +/agent-note-credential-boundaries-whole-snapshot-requests-and-atomic-route-registration/decision: + en: d2aa88cf1e9ec97b + zh: da9422723fc9ac93 +/agent-note-credential-boundaries-whole-snapshot-requests-and-atomic-route-registration/alternatives-considered: + en: 90c5883b247f7301 + zh: 6d2a660d8653f805 +/agent-note-credential-boundaries-whole-snapshot-requests-and-atomic-route-registration/consequences: + en: 99b678779110e0d1 + zh: 5790590caab41e0c 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 b729d9dd5b..91a956e428 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 @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-30-followup-enqueue-and-owned-runs.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: c9b3b992dffb39c94b476cd6541b8ec9e2256047 -2026-07-30-followup-enqueue-and-owned-runs.zh.md: 7f272484cad4f9d0fd918e5c1b05fb8fcb0384c0 +/agent-note-follow-up-enqueue-and-owned-run-boundaries: + en: 30b533c813f80a2c + zh: 5f56ae990ca597f2 +/agent-note-follow-up-enqueue-and-owned-run-boundaries/problem: + en: 33387f4ed29e967b + zh: b61ab718327d4cc9 +/agent-note-follow-up-enqueue-and-owned-run-boundaries/decision: + en: 9d68149d8090d355 + zh: d3efa8ac850603bf +/agent-note-follow-up-enqueue-and-owned-run-boundaries/alternatives-considered: + en: 70a57101ffa08e81 + zh: 36c3539ee9c759af +/agent-note-follow-up-enqueue-and-owned-run-boundaries/verification: + en: 4c65688fc0bc1f6c + zh: 04f1fd160e38a69d +/agent-note-follow-up-enqueue-and-owned-run-boundaries/consequences: + en: 7de608183c0bd34d + zh: 598eeb85cfd2993b diff --git a/.agents/notes/implemented/architecture/2026-07-30-session-end-seed-log-boundary.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-30-session-end-seed-log-boundary.i18n.yaml index 01690045bd..18ab603d7b 100644 --- a/.agents/notes/implemented/architecture/2026-07-30-session-end-seed-log-boundary.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-30-session-end-seed-log-boundary.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-30-session-end-seed-log-boundary.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-session-end-seed-log-boundary.md -2026-07-30-session-end-seed-log-boundary.md: 9cf7c7f20701688208e8b1c343904f2a9f2cab9e -2026-07-30-session-end-seed-log-boundary.zh.md: fdf4ec9de610f17e792de98334dd5d37f5e4c355 +/agent-note-the-end-seed-log-boundary: + en: 0f53ca9c0166d7ad + zh: e16b2376c2afb1bc +/agent-note-the-end-seed-log-boundary/problem: + en: e7192f854b24129c + zh: 74a38ee95988e338 +/agent-note-the-end-seed-log-boundary/decision: + en: 519aa4faadd01960 + zh: 1430cc9bd81e7df9 +/agent-note-the-end-seed-log-boundary/persistence-needs-no-changes: + en: 5df69ed0156e50c8 + zh: 9ad6caad6d33b183 +/agent-note-the-end-seed-log-boundary/scope-of-the-guarantee: + en: 31c23e4e25640fb1 + zh: d207c2a8aa7d936c +/agent-note-the-end-seed-log-boundary/alternatives-considered: + en: cd1ed7dfa77722ae + zh: 4ad834f3cf3b5443 +/agent-note-the-end-seed-log-boundary/consequences: + en: 69eb86480b191135 + zh: 51ef88fb78701b1f 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 049fbfff18..7151c1e20c 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 @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-31-claimed-pre-step-inbox-lifecycle.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 3ebb73279e49c2aaffa05bea647fa3f93ba6a36f -2026-07-31-claimed-pre-step-inbox-lifecycle.zh.md: 809470e5b52b29cdcbe7b4d81bb584b476f5cfce +/agent-note-claim-inbox-input-before-one-pre-step-decision: + en: 4ee4c56f27c9bf27 + zh: 72321b4c735e106f +/agent-note-claim-inbox-input-before-one-pre-step-decision/problem: + en: f2a920b8770c2f99 + zh: 1c111f175131714e +/agent-note-claim-inbox-input-before-one-pre-step-decision/decision: + en: 2e58afbd8ffbce60 + zh: 40e0c0e3d24fc7ad +/agent-note-claim-inbox-input-before-one-pre-step-decision/alternatives-considered: + en: 03496db1c0547f71 + zh: c0932cfcb5d5d93b +/agent-note-claim-inbox-input-before-one-pre-step-decision/verification: + en: 007a79d6db18cbab + zh: 611306fcb5edfda0 +/agent-note-claim-inbox-input-before-one-pre-step-decision/consequences: + en: ba68c3ce7ed64bcc + zh: 8fe29186526b258a diff --git a/.agents/notes/implemented/architecture/2026-07-31-goal-owned-durable-events.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-31-goal-owned-durable-events.i18n.yaml index aecb82c585..18c1983fdb 100644 --- a/.agents/notes/implemented/architecture/2026-07-31-goal-owned-durable-events.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-31-goal-owned-durable-events.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-31-goal-owned-durable-events.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-goal-owned-durable-events.md -2026-07-31-goal-owned-durable-events.md: 0d3e632ba275f38e48fdf1f9ee6747f4bc460aab -2026-07-31-goal-owned-durable-events.zh.md: fd29a6f36eed42f5ba26a46a32acb165d1e42873 +/agent-note-goal-owned-durable-events: + en: a8fca44de335547c + zh: e0cc7072f2247a19 +/agent-note-goal-owned-durable-events/problem: + en: 882023626c792880 + zh: 1966501718e96f92 +/agent-note-goal-owned-durable-events/decision: + en: cc99d9ce1f6ebb9a + zh: 34e519f16d8d5e3e +/agent-note-goal-owned-durable-events/alternatives-considered: + en: 7d79dfa834d9168f + zh: 0b3e82a7d0ef71b9 +/agent-note-goal-owned-durable-events/consequences: + en: 0e4513ea5e3e1e2e + zh: 69d81ba52ee2f4b6 diff --git a/.agents/notes/implemented/architecture/2026-07-31-ptc-runtime-python-fd3-protocol.i18n.yaml b/.agents/notes/implemented/architecture/2026-07-31-ptc-runtime-python-fd3-protocol.i18n.yaml index aaa0f005af..85084f80cb 100644 --- a/.agents/notes/implemented/architecture/2026-07-31-ptc-runtime-python-fd3-protocol.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-07-31-ptc-runtime-python-fd3-protocol.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-31-ptc-runtime-python-fd3-protocol.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-ptc-runtime-python-fd3-protocol.md -2026-07-31-ptc-runtime-python-fd3-protocol.md: 097bcfd55f333a0973084f378a6c97cb630a4bec -2026-07-31-ptc-runtime-python-fd3-protocol.zh.md: ac656e421bd822994c50c33d0dfaf65ae46aa817 +/agent-note-the-ptc-runtime-python-fd-3-frame-protocol: + en: fc43bcfc72cc4476 + zh: c81279cb0da1481c +/agent-note-the-ptc-runtime-python-fd-3-frame-protocol/problem: + en: 2c36946bbff637b7 + zh: f290de0866ba7caa +/agent-note-the-ptc-runtime-python-fd-3-frame-protocol/decision: + en: 1f93159850fc7f48 + zh: dcc2a4788e3254f7 +/agent-note-the-ptc-runtime-python-fd-3-frame-protocol/wire-contract: + en: 913f9465320dc191 + zh: f8e0338645d6c204 +/agent-note-the-ptc-runtime-python-fd-3-frame-protocol/mirror-alignment: + en: 26128b65f2763920 + zh: df24359faebcbfed +/agent-note-the-ptc-runtime-python-fd-3-frame-protocol/alternatives-considered: + en: cc42636bd7793305 + zh: e196f980daec3037 +/agent-note-the-ptc-runtime-python-fd-3-frame-protocol/consequences: + en: 16df6efd46d71e85 + zh: 4062475bec04ab5f diff --git a/.agents/notes/implemented/architecture/2026-08-02-typert-remote-method-calls.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-02-typert-remote-method-calls.i18n.yaml index 279482f67a..b86fbe45fb 100644 --- a/.agents/notes/implemented/architecture/2026-08-02-typert-remote-method-calls.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-02-typert-remote-method-calls.i18n.yaml @@ -1,6 +1,76 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-02-typert-remote-method-calls.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-02-typert-remote-method-calls.md -2026-08-02-typert-remote-method-calls.md: 2a12aaf78f638d8af786d2ca817a3fee07a2c614 -2026-08-02-typert-remote-method-calls.zh.md: bf4a7b0179b4dc878a0a53c7076c02e6f1bf0273 +/agent-note-typert-gateway-targeted-method-calls: + en: 4d77bacdc36f246b + zh: b884bf274df490af +/agent-note-typert-gateway-targeted-method-calls/problem: + en: 14a83a0440499136 + zh: 15587f8e821c5a17 +/agent-note-typert-gateway-targeted-method-calls/decision: + en: 44d946b53496974c + zh: 403447c25a5b2d7c +/agent-note-typert-gateway-targeted-method-calls/components-and-cordis-services: + en: aa7f509189ade32e + zh: ef2841bc793f31b2 +/agent-note-typert-gateway-targeted-method-calls/business-declarations: + en: c6b70d442b137d2e + zh: 6d0dbefe89937ef1 +/agent-note-typert-gateway-targeted-method-calls/decorators-and-the-explicit-gateway-facet: + en: 155afbe4b8af600b + zh: 14705698a9cdbd84 +/agent-note-typert-gateway-targeted-method-calls/lookup-and-remote-scope-registration: + en: 9f7448898cf5cadc + zh: 419573c589ed6f7d +/agent-note-typert-gateway-targeted-method-calls/invocationdescriptor: + en: aad682229b400d49 + zh: 60c2857fca1f4b2b +/agent-note-typert-gateway-targeted-method-calls/typert-runtime-registry: + en: 14ad652e20e699ca + zh: 9272bc04a35e3c6a +/agent-note-typert-gateway-targeted-method-calls/canonical-types-symbols-and-zod: + en: a244f6a88fdabf3d + zh: e4feedb7297f4865 +/agent-note-typert-gateway-targeted-method-calls/three-artifact-kinds-and-two-typescript-programs: + en: 6ea4bddcf35a834d + zh: 4af474c6818b1cf0 +/agent-note-typert-gateway-targeted-method-calls/the-remote-package-entry: + en: 75e977fe0fb71d59 + zh: 00760c79da173cb7 +/agent-note-typert-gateway-targeted-method-calls/strict-consumer-api-types: + en: 983f55c0ed4a8edc + zh: 5a736e00e4b57e6a +/agent-note-typert-gateway-targeted-method-calls/client-typert-and-the-api-gateway-client-face: + en: 9dc732c13ffaee63 + zh: 4977aaef0856956d +/agent-note-typert-gateway-targeted-method-calls/cross-environment-isomorphism-constraints: + en: 5d14e1b7afc53efb + zh: e2f4b5814083738f +/agent-note-typert-gateway-targeted-method-calls/src-and-lib-operating-modes: + en: 1e366dcfab74831b + zh: 14199f25f20a9352 +/agent-note-typert-gateway-targeted-method-calls/host-gateway-resolution: + en: 88a95d7ab4621caf + zh: 89b63fb6440fca79 +/agent-note-typert-gateway-targeted-method-calls/the-shared-api-call-chain: + en: 391a59d0ba24cb34 + zh: b7294d6bb5f9d297 +/agent-note-typert-gateway-targeted-method-calls/connection-and-protocol-boundaries: + en: e8f9d48c42e27fb6 + zh: 445bc192d67c71f1 +/agent-note-typert-gateway-targeted-method-calls/package-boundaries: + en: df2c448d3a0680eb + zh: 47327d4d26ec5887 +/agent-note-typert-gateway-targeted-method-calls/shipped-scope-and-deferred-work: + en: b1c0c3dd77c56ce8 + zh: 769ffd4aeefd949c +/agent-note-typert-gateway-targeted-method-calls/alternatives-considered: + en: 0d68c499b7780f4f + zh: bdd1e57232b996e2 +/agent-note-typert-gateway-targeted-method-calls/verification: + en: 7433bdb522bb2083 + zh: 545c17613b636f00 +/agent-note-typert-gateway-targeted-method-calls/consequences: + en: c3459afdb606cfbe + zh: ec69f2bb39170a7c 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 67681ae7a7..9cd1ebd5f3 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 @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-04-configuration-source-ownership.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: b8c146ed76e500fcde3affd92bc5188b83083223 -2026-08-04-configuration-source-ownership.zh.md: 22afc15aec97a40829655fcb8179ad90a369bf0c +/agent-note-one-ordering-for-configuration-sources-and-what-a-discovered-file-may-not-decide: + en: 1f6ee603f36c2e09 + zh: e08197958663219c +/agent-note-one-ordering-for-configuration-sources-and-what-a-discovered-file-may-not-decide/problem: + en: d94bb81479bfa4a1 + zh: af44ceaecf84ee51 +/agent-note-one-ordering-for-configuration-sources-and-what-a-discovered-file-may-not-decide/decision: + en: aea80ece13f2905b + zh: a880bc1a7839cf12 +/agent-note-one-ordering-for-configuration-sources-and-what-a-discovered-file-may-not-decide/consequences: + en: 640b7ee4e8c57ed0 + zh: 1c17b3fba16861a8 +/agent-note-one-ordering-for-configuration-sources-and-what-a-discovered-file-may-not-decide/alternatives-considered: + en: ac43499cfe7b8495 + zh: e5ab599e7d3ed753 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 17747b2942..0e07d79d52 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 @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-04-draft-provider-endpoint-interrogation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 469ab38b0f5609808a9df03237d4d21c0080d843 -2026-08-04-draft-provider-endpoint-interrogation.zh.md: 74c6bc7ed73572d5e99ea973c9ea94d22319cbdf +/agent-note-interrogating-a-draft-provider-endpoint: + en: a465a218bbc2f74e + zh: 60d1eae3c79337a0 +/agent-note-interrogating-a-draft-provider-endpoint/problem: + en: c50e44492b4b30a2 + zh: 74a17b3d3ec6cf0d +/agent-note-interrogating-a-draft-provider-endpoint/decision: + en: dc323940d59008f4 + zh: fc94284fcda71542 +/agent-note-interrogating-a-draft-provider-endpoint/decision/why-not-pi-ai-s-own-refresh-machinery: + en: a9654499e32c91b3 + zh: cfb5a76500b6fe1a +/agent-note-interrogating-a-draft-provider-endpoint/alternatives-considered: + en: 3b4b4c33401d862a + zh: bb79062a431576f1 +/agent-note-interrogating-a-draft-provider-endpoint/consequences: + en: a4911a205e713f60 + zh: 04adc6be1f4f34c7 +/agent-note-interrogating-a-draft-provider-endpoint/testing: + en: 40cf0cf6141eba6e + zh: 54a6097cf125b846 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 c58f37c2b3..943fa4e6af 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 @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-05-profile-plugin-bundles.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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: 0607f1c9a2414cc16515967b4520da8a325853fd -2026-08-05-profile-plugin-bundles.zh.md: 9d25d3bea6337c472d161c721e44a66dca8470c9 +/agent-note-profile-plugin-bundles-replace-the-fixed-surface-overlays: + en: 178252acff6e206f + zh: 2e5785ca3485f1e7 +/agent-note-profile-plugin-bundles-replace-the-fixed-surface-overlays/problem: + en: 504dd5f06475d707 + zh: 6557fd5649f48944 +/agent-note-profile-plugin-bundles-replace-the-fixed-surface-overlays/decision: + en: 4c58d379cd59d879 + zh: a6b6322fe82d7b6a +/agent-note-profile-plugin-bundles-replace-the-fixed-surface-overlays/alternatives-considered: + en: d906d7a421c6b5c0 + zh: b230cd58c1b7ac79 +/agent-note-profile-plugin-bundles-replace-the-fixed-surface-overlays/consequences: + en: 1aef147a0f31dfaf + zh: f0a8c6cbb9f0506b diff --git a/.agents/notes/implemented/architecture/2026-08-09-client-conversation-node-assembly.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-09-client-conversation-node-assembly.i18n.yaml index bb7be001de..171cfb3f1e 100644 --- a/.agents/notes/implemented/architecture/2026-08-09-client-conversation-node-assembly.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-09-client-conversation-node-assembly.i18n.yaml @@ -1,6 +1,94 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-09-client-conversation-node-assembly.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-client-conversation-node-assembly.md -2026-08-09-client-conversation-node-assembly.md: bb1d68cc045710d46a44ffb295c2307628338521 -2026-08-09-client-conversation-node-assembly.zh.md: 6291211d589b3389e7dc9a42d15fe6ac0d9e7ab9 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots: + en: 32abbd757c29e1ee + zh: ea0b9de97fd04196 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/problem: + en: ebdd3ce57ca5b24d + zh: 1aa034b4c3ed515f +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/decision: + en: af502b4eb9c09d33 + zh: a20cd538e66d3a4b +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/decision/responsibility-layers: + en: 36b54ef989c331af + zh: 58cad4e07a800ba9 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/decision/overall-conversationnodedefinition-contract: + en: 74f17ca7ae05af83 + zh: 591fbc6c98f90262 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/decision/overall-conversationnodedefinition-contract/kind-business-id-and-context-key: + en: 3081736d55350c67 + zh: bfa89f127c16c59f +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/decision/overall-conversationnodedefinition-contract/match-event: + en: 5c97a2a4e91325a7 + zh: d29e52647b699810 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/decision/overall-conversationnodedefinition-contract/conversationmatch: + en: 616c50e24ab990d1 + zh: 2c4a6d129f491046 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/decision/overall-conversationnodedefinition-contract/conversationnodecontext: + en: 7d1ce8db92084e90 + zh: 7b7e6bf3840f6986 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/decision/overall-conversationnodedefinition-contract/start-context-match-reader: + en: 1167bbc860581e33 + zh: 549896c06507ce57 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/decision/overall-conversationnodedefinition-contract/reader-previous-kind: + en: 48e127652f2dab8d + zh: 35f48d4cefc8ce52 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/decision/overall-conversationnodedefinition-contract/update-context-match: + en: 66bd752825ad2c41 + zh: 1cec352eb3d7ab28 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/decision/overall-conversationnodedefinition-contract/publication-match: + en: 43be4c019d79e37a + zh: 54978ef8317e777b +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/decision/overall-conversationnodedefinition-contract/buildlocationdata-context-scope: + en: 8c2b8eab071f5f7b + zh: d3207b1fcfff0a4b +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/decision/overall-conversationnodedefinition-contract/buildviewnode-context-target: + en: c8091375cf986eaa + zh: 0c3226e3f42e51e4 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/decision/overall-conversationnodedefinition-contract/no-generic-end: + en: d5a57346207b0da3 + zh: cb4a4f22ce237c34 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/decision/location-is-a-first-class-engine-fact: + en: c66d870529588ea6 + zh: c9af12feb1e3fae2 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/three-input-window-paths: + en: cc8d60a4ceba6f41 + zh: 552220db9f839429 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/three-input-window-paths/initial-history-tail-and-logical-backward-scanning: + en: a777deacfd73ed3f + zh: 2a9c75dd0aeedcd5 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/three-input-window-paths/prepending-a-newly-loaded-older-page: + en: 3aa4c0a9006b35e8 + zh: 9627f4aaa18c8066 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/three-input-window-paths/forward-live-append: + en: 484172cce965aad7 + zh: 15fffdd32c66cc95 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/three-input-window-paths/consistency-across-replace-prepend-and-append: + en: a9cf356610f46a53 + zh: abc1149bf06b230e +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/how-built-in-businesses-use-definitions: + en: 2a7cae3607dcbc1a + zh: 86f6d8eb7871e253 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/how-built-in-businesses-use-definitions/matching-id-and-state: + en: 130f5db917574545 + zh: 9bf13c96abdc3a4e +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/how-built-in-businesses-use-definitions/chat-node-and-history-live-behavior: + en: 0c52c9ae98f84a86 + zh: d1c7587ad427d8fc +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/view-builder-and-react-identity: + en: ced7ab385e5a81a8 + zh: 5c319ed7ca40e5b8 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/runtime-and-render-path: + en: 114ca8db361d22e5 + zh: 37b6d474e855c187 +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/verification: + en: cf36507c86d1139c + zh: 1fcdd4e2c2cc106b +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/alternatives-considered: + en: e150870d4e2525ed + zh: 34eafb435036af9a +/agent-note-client-conversation-business-node-assembly-and-keyed-chat-snapshots/consequences: + en: 0da343d3b6b29da3 + zh: d7b3774a23be7311 diff --git a/.agents/notes/implemented/architecture/2026-08-09-client-conversation-node-assembly.md b/.agents/notes/implemented/architecture/2026-08-09-client-conversation-node-assembly.md index bb1d68cc04..c8773b77fe 100644 --- a/.agents/notes/implemented/architecture/2026-08-09-client-conversation-node-assembly.md +++ b/.agents/notes/implemented/architecture/2026-08-09-client-conversation-node-assembly.md @@ -14,6 +14,8 @@ Business events also use different correlation models. Tool has call IDs, Assist ## Decision +The [three-stage Tool lifecycle](2026-09-22-tool-call-three-phases.md) owns transient initialization, repeated start matches for one ID, and tool preparation; this record's other node-assembly responsibilities remain applicable. + Client Runtime provides a target-neutral Conversation Node assembly engine. Business plugins register Event Definitions, and view plugins register per-Session View Builders. `ui-conversation` registers the first built-in Definitions and the `chat` builder; Session only submits the current contiguous `SessionEventLikeEntry` window to the engine and publishes its snapshot instead of interpreting individual conversation businesses. The entry's outer discriminator distinguishes standard and packed records, while both carry an aligned inner `SessionEventLike` for Definition dispatch. This Note retains the derivation, business-by-business validation, responsibilities, algorithms, and trade-offs that remain relevant after implementation. diff --git a/.agents/notes/implemented/architecture/2026-08-09-client-conversation-node-assembly.zh.md b/.agents/notes/implemented/architecture/2026-08-09-client-conversation-node-assembly.zh.md index 6291211d58..076ad35178 100644 --- a/.agents/notes/implemented/architecture/2026-08-09-client-conversation-node-assembly.zh.md +++ b/.agents/notes/implemented/architecture/2026-08-09-client-conversation-node-assembly.zh.md @@ -14,6 +14,8 @@ Client Session 既维护传输窗口、连接状态和待处理交互,也在 ## 决策 +start 的瞬态创建入口、同 ID 多次 start 及工具准备阶段以[工具调用三阶段](2026-09-22-tool-call-three-phases.zh.md)为准;本记录的其他节点组装职责继续适用。 + Client Runtime 提供 target-neutral 的 Conversation Node 组装引擎,业务插件注册 Event Definition,视图插件注册 per-Session View Builder。`ui-conversation` 注册第一批内建 Definition 和 `chat` builder;Session 只负责把当前连续 `SessionEventLikeEntry` window 送入引擎并发布它的 snapshot,且不解释具体 conversation 业务。entry 的外层 discriminator 区分标准与 packed record,两者都携带字段对齐的内部 `SessionEventLike`,供 Definition dispatch。 本 Note 保留实现后仍有价值的方案推导、逐业务适配、职责、算法和取舍。 diff --git a/.agents/notes/implemented/architecture/2026-08-10-cancelled-stream-prefix-finalize.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-10-cancelled-stream-prefix-finalize.i18n.yaml index b471d553d6..a592660ac7 100644 --- a/.agents/notes/implemented/architecture/2026-08-10-cancelled-stream-prefix-finalize.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-10-cancelled-stream-prefix-finalize.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-10-cancelled-stream-prefix-finalize.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-10-cancelled-stream-prefix-finalize.md -2026-08-10-cancelled-stream-prefix-finalize.md: 1e6fe59bcc1b323941b69d0e9232f0bcf9e56f53 -2026-08-10-cancelled-stream-prefix-finalize.zh.md: 7aa81f179b80925ef47a8820f8a80c1ef37ec5ea +/agent-note-cancelled-streams-finalize-their-delivered-prefix: + en: d727a01958e5724c + zh: b2d11741f70caf24 +/agent-note-cancelled-streams-finalize-their-delivered-prefix/problem: + en: 142c716d174403a5 + zh: bbb906ca25d7c9f4 +/agent-note-cancelled-streams-finalize-their-delivered-prefix/decision: + en: 28e166977c0dffde + zh: d7c6b175984627fc +/agent-note-cancelled-streams-finalize-their-delivered-prefix/alternatives-considered: + en: ca4363e11e8eff48 + zh: 834152cbe57e1f3e +/agent-note-cancelled-streams-finalize-their-delivered-prefix/consequences: + en: 2d58504acfc4fffe + zh: a6a7ca872c003099 +/agent-note-cancelled-streams-finalize-their-delivered-prefix/testing: + en: 241507aff996c16a + zh: 599eed3162f3ba8d diff --git a/.agents/notes/implemented/architecture/2026-08-10-fork-children-stay-one-shot.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-10-fork-children-stay-one-shot.i18n.yaml index 44a8fbf89f..9ac900a05f 100644 --- a/.agents/notes/implemented/architecture/2026-08-10-fork-children-stay-one-shot.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-10-fork-children-stay-one-shot.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-10-fork-children-stay-one-shot.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-10-fork-children-stay-one-shot.md -2026-08-10-fork-children-stay-one-shot.md: 0edf6ca9347dcf57313365e570daed22589f69fd -2026-08-10-fork-children-stay-one-shot.zh.md: c2e3504bd21ec6dd6b3feba4ed8abdaec3ee45a4 +/agent-note-forked-children-preserve-the-parent-request-prefix: + en: 5254ea4573dedd96 + zh: ba4ab4517dad0d9f +/agent-note-forked-children-preserve-the-parent-request-prefix/problem: + en: 1fe344c95a0de36d + zh: 656c3e0f1117f64e +/agent-note-forked-children-preserve-the-parent-request-prefix/decision: + en: 7461852090348b34 + zh: ad6c9e0ce65a3e85 +/agent-note-forked-children-preserve-the-parent-request-prefix/alternatives-considered: + en: 80504ffd8331e6c5 + zh: 193261bdde24b4bb +/agent-note-forked-children-preserve-the-parent-request-prefix/consequences: + en: 54c4ce3ee0fee4d2 + zh: 8a63fb3486c76551 +/agent-note-forked-children-preserve-the-parent-request-prefix/consequences/accepted-risks: + en: f634caa9973eaedb + zh: 820291096c8e7352 diff --git a/.agents/notes/implemented/architecture/2026-08-10-host-plane-ownership-after-presets.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-10-host-plane-ownership-after-presets.i18n.yaml index 4cc71b035b..93f0597f19 100644 --- a/.agents/notes/implemented/architecture/2026-08-10-host-plane-ownership-after-presets.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-10-host-plane-ownership-after-presets.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-10-host-plane-ownership-after-presets.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-10-host-plane-ownership-after-presets.md -2026-08-10-host-plane-ownership-after-presets.md: daf48f27c2228b71319d6f5410e6cabe3bc02b39 -2026-08-10-host-plane-ownership-after-presets.zh.md: 56babf5e715584b4ee061a334158d46e59b0d350 +/agent-note-what-stays-host-plane-once-presets-own-the-agent-plane: + en: 4b22d7def09af6eb + zh: 89b43fb2761cb17b +/agent-note-what-stays-host-plane-once-presets-own-the-agent-plane/problem: + en: 5a5d4de7d40ed86b + zh: abfae08f9c291c54 +/agent-note-what-stays-host-plane-once-presets-own-the-agent-plane/decision: + en: 60be2f515ff5f46d + zh: ee8514deadb08260 +/agent-note-what-stays-host-plane-once-presets-own-the-agent-plane/testing: + en: a7b7ca354607dd21 + zh: f88356bfc7dc770e +/agent-note-what-stays-host-plane-once-presets-own-the-agent-plane/alternatives-considered: + en: eac46307265e647d + zh: acfad02f8ca1dc3f +/agent-note-what-stays-host-plane-once-presets-own-the-agent-plane/consequences: + en: d8576d7db9dea547 + zh: 428bb5a7e609d170 diff --git a/.agents/notes/implemented/architecture/2026-08-10-remote-event-delivery.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-10-remote-event-delivery.i18n.yaml index 7606190f02..b0f473168f 100644 --- a/.agents/notes/implemented/architecture/2026-08-10-remote-event-delivery.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-10-remote-event-delivery.i18n.yaml @@ -1,6 +1,40 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-10-remote-event-delivery.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-10-remote-event-delivery.md -2026-08-10-remote-event-delivery.md: 3eaa26fb92c40b3a20cab11d4522bcf68b8a207f -2026-08-10-remote-event-delivery.zh.md: d41589f1b800da98342210d2e429a2b67b6c61f2 +/agent-note-remote-event-delivery-ctx-remote-on: + en: 4b64b9fab76b5185 + zh: 57a11b8a480a49dd +/agent-note-remote-event-delivery-ctx-remote-on/problem: + en: d3016e40cefe047f + zh: 83e83c25a13383e5 +/agent-note-remote-event-delivery-ctx-remote-on/decision: + en: 83f6f48ce1fc517b + zh: abcfcd1c0eb777ea +/agent-note-remote-event-delivery-ctx-remote-on/decision/consumer-contract-dsh-typert-protocol: + en: 8f30b121dd59a3a3 + zh: 92a5e0e63936c393 +/agent-note-remote-event-delivery-ctx-remote-on/decision/the-allowlist-one-declaration-read-by-both-faces: + en: ce8c2e030baf7049 + zh: bb6beb40228e40ae +/agent-note-remote-event-delivery-ctx-remote-on/decision/wire-protocol-api-gateway-remote-mux: + en: 5c89d238a469e79f + zh: d0cf485f0d245e7d +/agent-note-remote-event-delivery-ctx-remote-on/decision/the-apps-web-browser-e2e-belongs-to-the-host-face: + en: a29e07b8013f7f9f + zh: 4f066efa96f2d22f +/agent-note-remote-event-delivery-ctx-remote-on/decision/change-inventory: + en: 49fc44d242a87b69 + zh: 42c4c36296849a88 +/agent-note-remote-event-delivery-ctx-remote-on/alternatives-considered: + en: b75743ab277c1557 + zh: e8e05f41ce1bc2f3 +/agent-note-remote-event-delivery-ctx-remote-on/verification: + en: 4ec0e1c76da8d3b6 + zh: 23de66f8fc659c15 +/agent-note-remote-event-delivery-ctx-remote-on/consequences: + en: c50a0968e3f65df7 + zh: 786f33cf1e95dae4 +/agent-note-remote-event-delivery-ctx-remote-on/related: + en: b64e771dafa6c05b + zh: 4c2f47884f5a2d19 diff --git a/.agents/notes/implemented/architecture/2026-08-10-session-log-version-mechanism.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-10-session-log-version-mechanism.i18n.yaml index 9a020189ec..e33e7f556d 100644 --- a/.agents/notes/implemented/architecture/2026-08-10-session-log-version-mechanism.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-10-session-log-version-mechanism.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-10-session-log-version-mechanism.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-10-session-log-version-mechanism.md -2026-08-10-session-log-version-mechanism.md: 9cb0940f767aa27d5a5106fb78b528c1e3e2695b -2026-08-10-session-log-version-mechanism.zh.md: e1424f24e5dd74b243fe1f0aebceb5d420b9b8c3 +/agent-note-session-log-versioning-one-integer-an-upgrade-chain-and-a-per-event-ignorable-marker: + en: a3c7418dfaa328a8 + zh: e702faa662f821ae +/agent-note-session-log-versioning-one-integer-an-upgrade-chain-and-a-per-event-ignorable-marker/problem: + en: c11f54e24be6cc3b + zh: c1c274fbb161a57b +/agent-note-session-log-versioning-one-integer-an-upgrade-chain-and-a-per-event-ignorable-marker/decision: + en: 084bcb4de484ef32 + zh: 1edf1445913ac7b1 +/agent-note-session-log-versioning-one-integer-an-upgrade-chain-and-a-per-event-ignorable-marker/decision/writer-and-publication-authority: + en: 461eaa03c6a4f441 + zh: 7e5b131326dc702c +/agent-note-session-log-versioning-one-integer-an-upgrade-chain-and-a-per-event-ignorable-marker/consequences: + en: 8ce6dcec183fab88 + zh: a43e9315ad147b15 +/agent-note-session-log-versioning-one-integer-an-upgrade-chain-and-a-per-event-ignorable-marker/alternatives-considered: + en: 2a1580516406ae53 + zh: 7a650804eb520be0 diff --git a/.agents/notes/implemented/architecture/2026-08-13-credential-records-and-authorization-flows.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-13-credential-records-and-authorization-flows.i18n.yaml index b54dd0639b..94fd1f56d0 100644 --- a/.agents/notes/implemented/architecture/2026-08-13-credential-records-and-authorization-flows.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-13-credential-records-and-authorization-flows.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-13-credential-records-and-authorization-flows.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-13-credential-records-and-authorization-flows.md -2026-08-13-credential-records-and-authorization-flows.md: 6bf65761c98689d62935d6e36a040e05c38aa653 -2026-08-13-credential-records-and-authorization-flows.zh.md: 72ec310c2ff0141f83096c805d5ccd60fe5cd57e +/agent-note-credential-records-and-authorization-flows: + en: f624412adde88819 + zh: ac1adbc505394ca2 +/agent-note-credential-records-and-authorization-flows/problem: + en: 7be98011b76b2376 + zh: e01cd9f1039c7875 +/agent-note-credential-records-and-authorization-flows/decision: + en: 57e30c6b56664fee + zh: ab1c7354b47f503e +/agent-note-credential-records-and-authorization-flows/decision/two-mechanisms-the-seams-needed-underneath: + en: e4d5663533e566a2 + zh: 212a1722b78ee727 +/agent-note-credential-records-and-authorization-flows/alternatives-considered: + en: bb484a8d612a43cd + zh: 2a85ba010ed083e1 +/agent-note-credential-records-and-authorization-flows/consequences: + en: ef7c5f6fa346c1d8 + zh: 439b0d8394015f1e +/agent-note-credential-records-and-authorization-flows/testing: + en: 6c8c01f75e6f916b + zh: 7c5c7491f64f2936 diff --git a/.agents/notes/implemented/architecture/2026-08-15-client-shells-and-dynamic-packages.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-15-client-shells-and-dynamic-packages.i18n.yaml index 57e892121c..3afca5571b 100644 --- a/.agents/notes/implemented/architecture/2026-08-15-client-shells-and-dynamic-packages.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-15-client-shells-and-dynamic-packages.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-15-client-shells-and-dynamic-packages.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-15-client-shells-and-dynamic-packages.md -2026-08-15-client-shells-and-dynamic-packages.md: ad2bb26b84253e859e567775eec3b06d73b0003b -2026-08-15-client-shells-and-dynamic-packages.zh.md: 70563962b3c613caa611c61a0c690d2e0e777def +/agent-note-client-shell-layering-and-dynamic-package-boundaries: + en: c8976de4e5547fdd + zh: 3d1bcb3273993af4 +/agent-note-client-shell-layering-and-dynamic-package-boundaries/problem: + en: bd5f38c7aba648dc + zh: 3c28670556b3b34d +/agent-note-client-shell-layering-and-dynamic-package-boundaries/decision: + en: a15c7c13f167e5ac + zh: a15c7c13f167e5ac +/agent-note-client-shell-layering-and-dynamic-package-boundaries/decision/layers-and-build-forms: + en: a1750de2d48551af + zh: ffea0b75c292f186 +/agent-note-client-shell-layering-and-dynamic-package-boundaries/decision/shared-module-requests: + en: cedddcca8a7bae6d + zh: a568a1130229f48c +/agent-note-client-shell-layering-and-dynamic-package-boundaries/decision/parser-preloading-and-react-handoff: + en: 4b503618b271fc28 + zh: e2148f44efa769d2 +/agent-note-client-shell-layering-and-dynamic-package-boundaries/decision/dependency-declarations: + en: 47c332b836c2933b + zh: ed190dbb14b98911 +/agent-note-client-shell-layering-and-dynamic-package-boundaries/alternatives-considered: + en: 2257178f8f474757 + zh: 7da85b5899b91520 +/agent-note-client-shell-layering-and-dynamic-package-boundaries/consequences: + en: c7653b12059aebd7 + zh: a79b63f28d18f8c4 diff --git a/.agents/notes/implemented/architecture/2026-08-18-experimental-agent-teams-packages.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-18-experimental-agent-teams-packages.i18n.yaml index 8a7e75ad27..c0aa66e83f 100644 --- a/.agents/notes/implemented/architecture/2026-08-18-experimental-agent-teams-packages.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-18-experimental-agent-teams-packages.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-18-experimental-agent-teams-packages.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-18-experimental-agent-teams-packages.md -2026-08-18-experimental-agent-teams-packages.md: 92eba148b328135301b196c9a17e49ee23ddb3f6 -2026-08-18-experimental-agent-teams-packages.zh.md: 6f4d004a78e32e2c27ad65648c446b3cd54c07ad +/agent-note-publish-agent-teams-under-experimental-package-names: + en: 4c772309d60d4ccc + zh: 91bf0acc208e5167 +/agent-note-publish-agent-teams-under-experimental-package-names/problem: + en: e45938d278a6c12d + zh: 93c790d466f7bd12 +/agent-note-publish-agent-teams-under-experimental-package-names/decision: + en: a2555b0c5a6f6f53 + zh: f7082ceb8542b0fb +/agent-note-publish-agent-teams-under-experimental-package-names/alternatives-considered: + en: 869decdfbc7b3466 + zh: b51f5ab731d1a84a +/agent-note-publish-agent-teams-under-experimental-package-names/consequences: + en: f827547f976bf92b + zh: d94e17b8fa2e8304 diff --git a/.agents/notes/implemented/architecture/2026-08-18-session-history-and-event-transport.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-18-session-history-and-event-transport.i18n.yaml index 3b16c5a3d9..478f9b70b4 100644 --- a/.agents/notes/implemented/architecture/2026-08-18-session-history-and-event-transport.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-18-session-history-and-event-transport.i18n.yaml @@ -1,6 +1,58 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-18-session-history-and-event-transport.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-18-session-history-and-event-transport.md -2026-08-18-session-history-and-event-transport.md: db5c403562101bca76c0d39a037a199b2ca164f3 -2026-08-18-session-history-and-event-transport.zh.md: 41ff3ea2dd538edb457e0db3108a900bab220e47 +/agent-note-session-history-control-state-and-remote-event-transport: + en: 79e15a9da0b4053b + zh: fb9719cd520abf7b +/agent-note-session-history-control-state-and-remote-event-transport/problem: + en: b40a730a4cd03535 + zh: 10d5a61824b53443 +/agent-note-session-history-control-state-and-remote-event-transport/decision: + en: bbe86a1833ab5547 + zh: 987a2ade8b4cb909 +/agent-note-session-history-control-state-and-remote-event-transport/decision/connection-generation-and-physical-connections: + en: c4342f89bf96a63b + zh: f8749f02bcfccc4e +/agent-note-session-history-control-state-and-remote-event-transport/decision/general-remote-stream-model: + en: fb2c7bcde3b1672a + zh: a05bd30be07e5413 +/agent-note-session-history-control-state-and-remote-event-transport/decision/general-remote-stream-model/remotestream: + en: d55c2ce88400e448 + zh: 344d510ab946bb9f +/agent-note-session-history-control-state-and-remote-event-transport/decision/general-remote-stream-model/remotesnapshotstream: + en: f2c1d2b00d9554fd + zh: c3e85cf344f7ef24 +/agent-note-session-history-control-state-and-remote-event-transport/decision/general-remote-stream-model/remotejournalstream: + en: d5d0d6a57a4fa581 + zh: 265973b157f957d9 +/agent-note-session-history-control-state-and-remote-event-transport/decision/session-controller: + en: e338ac27490a380f + zh: 12600011ec742e5b +/agent-note-session-history-control-state-and-remote-event-transport/decision/session-controller/activation-policy: + en: 534dcc62a26d305e + zh: 03d64abc0a46bbec +/agent-note-session-history-control-state-and-remote-event-transport/decision/session-controller/session-journal: + en: bb710f8cf35f2028 + zh: aae2cfb8cd848069 +/agent-note-session-history-control-state-and-remote-event-transport/decision/session-controller/session-live-control: + en: a11d627cd68650c3 + zh: 9aff565b9f712853 +/agent-note-session-history-control-state-and-remote-event-transport/decision/workspace-controller: + en: ce0c3fcff169412d + zh: 7076182817358dff +/agent-note-session-history-control-state-and-remote-event-transport/decision/remote-event: + en: c76291bf39999882 + zh: 76f032664fb91ead +/agent-note-session-history-control-state-and-remote-event-transport/decision/api-proxy-s-remaining-boundary: + en: 457408013eb78636 + zh: 126e9d263225d7c4 +/agent-note-session-history-control-state-and-remote-event-transport/alternatives-considered: + en: 22a77c3afd4df0d6 + zh: 661cf8d02d741f1d +/agent-note-session-history-control-state-and-remote-event-transport/verification: + en: 7328f28ba3e32f4c + zh: 2150f20437a473af +/agent-note-session-history-control-state-and-remote-event-transport/consequences: + en: 808ce6d1310876a2 + zh: d9e8fe2aa5cda617 diff --git a/.agents/notes/implemented/architecture/2026-08-19-session-projection-mandatory-seam.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-19-session-projection-mandatory-seam.i18n.yaml index 4830f124d8..24f76c7cb0 100644 --- a/.agents/notes/implemented/architecture/2026-08-19-session-projection-mandatory-seam.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-19-session-projection-mandatory-seam.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-19-session-projection-mandatory-seam.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-19-session-projection-mandatory-seam.md -2026-08-19-session-projection-mandatory-seam.md: e1c6835311228fcaf7a22140f1db8da748603186 -2026-08-19-session-projection-mandatory-seam.zh.md: 5d6a5169a556febae3f5c960b2d519c324d99863 +/agent-note-session-projections-as-a-required-reader-seam: + en: 41f30d473ff53ce2 + zh: 6851c4414f5331c1 +/agent-note-session-projections-as-a-required-reader-seam/problem: + en: c0c779c717cad546 + zh: 5d2916ac86bf5d84 +/agent-note-session-projections-as-a-required-reader-seam/decision: + en: a1c50d2f43334a88 + zh: d7736994733454b4 +/agent-note-session-projections-as-a-required-reader-seam/alternatives-considered: + en: aea3da939c90d240 + zh: 21e91c481cdd23b7 +/agent-note-session-projections-as-a-required-reader-seam/consequences: + en: 73325513ec70fbb2 + zh: 610bf34b9f9db420 diff --git a/.agents/notes/implemented/architecture/2026-08-20-client-session-conversation-ownership.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-20-client-session-conversation-ownership.i18n.yaml index d406110a99..a1044d0181 100644 --- a/.agents/notes/implemented/architecture/2026-08-20-client-session-conversation-ownership.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-20-client-session-conversation-ownership.i18n.yaml @@ -1,6 +1,151 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-20-client-session-conversation-ownership.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-client-session-conversation-ownership.md -2026-08-20-client-session-conversation-ownership.md: 0d2f19cff1d4625d678a25c87bcc55fc3f2bfad4 -2026-08-20-client-session-conversation-ownership.zh.md: fdb2420efff88e0a5a33dba79bebf0d072280453 +/agent-note-client-session-conversation-and-ui-ownership-layers: + en: 24e6b5894fbcdc97 + zh: 1fe37f9234be5ff4 +/agent-note-client-session-conversation-and-ui-ownership-layers/problem: + en: 87d3188b6f534c2a + zh: e805eb702d3f0f7f +/agent-note-client-session-conversation-and-ui-ownership-layers/decision: + en: 0db1b673e3486661 + zh: ce9fdf739a211943 +/agent-note-client-session-conversation-and-ui-ownership-layers/layering-principles: + en: 8fa111a6c0477c2c + zh: 89bfc65c4986c521 +/agent-note-client-session-conversation-and-ui-ownership-layers/layering-principles/controllers-are-react-free-logic-owners: + en: 821989170ad76994 + zh: 0ed142bea166fc3a +/agent-note-client-session-conversation-and-ui-ownership-layers/layering-principles/ui-adapters-own-react-integration: + en: 4d032e048364fb97 + zh: 82a435531efdaa78 +/agent-note-client-session-conversation-and-ui-ownership-layers/layering-principles/slot-scopes-and-standard-props-are-separate: + en: b6f585ca87e1fc6f + zh: 53fd58c3e93cf17c +/agent-note-client-session-conversation-and-ui-ownership-layers/package-ownership: + en: 2fc4b50a651b1847 + zh: 7dceeecb9c58e838 +/agent-note-client-session-conversation-and-ui-ownership-layers/overall-data-flow: + en: e7c11e82db080dd4 + zh: 5a8a501a128366d6 +/agent-note-client-session-conversation-and-ui-ownership-layers/session-controller-client: + en: b88f651b1bfb8b5e + zh: b88f651b1bfb8b5e +/agent-note-client-session-conversation-and-ui-ownership-layers/session-controller-client/scope-of-sessionsnapshot: + en: 0abb8da3074137f6 + zh: 92a0074930bb63b6 +/agent-note-client-session-conversation-and-ui-ownership-layers/session-controller-client/three-read-faces: + en: 87f83e04ee6bfe38 + zh: 9bf3548897e80e45 +/agent-note-client-session-conversation-and-ui-ownership-layers/session-controller-client/sessioneventsource: + en: 377ec73183b2e461 + zh: 6f24c1f723d20938 +/agent-note-client-session-conversation-and-ui-ownership-layers/session-controller-client/session-binding-lifecycle: + en: d03dd92afa683183 + zh: b9b7ae5d845bf472 +/agent-note-client-session-conversation-and-ui-ownership-layers/ui-session: + en: 860315b96703371d + zh: 860315b96703371d +/agent-note-client-session-conversation-and-ui-ownership-layers/ui-session/service-responsibilities: + en: d075ba28fd37bff2 + zh: e2d430d1f3e89b15 +/agent-note-client-session-conversation-and-ui-ownership-layers/ui-session/standard-source-registration: + en: e4be6d4b1d79b342 + zh: 7cb0e8c0f6358b50 +/agent-note-client-session-conversation-and-ui-ownership-layers/ui-session/scope-binding: + en: 84c20cce96035340 + zh: d1cc2a2e5f86f86b +/agent-note-client-session-conversation-and-ui-ownership-layers/ui-session/sessionprovider: + en: 5d9bdb1f784f97f2 + zh: a4b3de7a21b84fce +/agent-note-client-session-conversation-and-ui-ownership-layers/ui-session/pending-interactions: + en: 85e358a03ffac4ba + zh: 54b1d5ed6197f2c2 +/agent-note-client-session-conversation-and-ui-ownership-layers/workspace-controller-and-ui-workspace: + en: 45e5f41550e62a3d + zh: d4e6d8f5b397bb51 +/agent-note-client-session-conversation-and-ui-ownership-layers/workspace-controller-and-ui-workspace/scope-of-workspacesnapshot: + en: db0bb2a43bbdbbcc + zh: a064d7ffc42bb4a1 +/agent-note-client-session-conversation-and-ui-ownership-layers/workspace-controller-and-ui-workspace/ui-workspace-composition-responsibilities: + en: cb73b43d8b485bd0 + zh: 134538a67bf6da0d +/agent-note-client-session-conversation-and-ui-ownership-layers/ui-conversation: + en: b23aedfa06639f39 + zh: b23aedfa06639f39 +/agent-note-client-session-conversation-and-ui-ownership-layers/ui-conversation/assembly-core: + en: c004ba2b21b22344 + zh: ae66652c239ec213 +/agent-note-client-session-conversation-and-ui-ownership-layers/ui-conversation/definition-and-view-registries: + en: d35b868d88cff47d + zh: 0e718ca3efdbf224 +/agent-note-client-session-conversation-and-ui-ownership-layers/ui-conversation/conversation-react-adapter: + en: 913a8f9b4f481bff + zh: ca18aa731f15250f +/agent-note-client-session-conversation-and-ui-ownership-layers/ui-conversation/input-and-composer: + en: 0a38e5b9f71f06f9 + zh: 40077352131fae48 +/agent-note-client-session-conversation-and-ui-ownership-layers/chat-and-trajectory-targets: + en: 8ad17fee25bef35f + zh: b5e3d07111cdde7a +/agent-note-client-session-conversation-and-ui-ownership-layers/chat-and-trajectory-targets/chat-owner: + en: 43a4a38d9500ebd4 + zh: 2df24d5530ab11a7 +/agent-note-client-session-conversation-and-ui-ownership-layers/chat-and-trajectory-targets/trajectory-owner: + en: c8d48f4e7ac3a6f2 + zh: a65f680c30f6123c +/agent-note-client-session-conversation-and-ui-ownership-layers/approval-and-question: + en: 45e1a7d1a4f8b73a + zh: 712e01e736199846 +/agent-note-client-session-conversation-and-ui-ownership-layers/approval-and-question/stable-registration: + en: 877881c5ae993245 + zh: 6098103c5414c6e9 +/agent-note-client-session-conversation-and-ui-ownership-layers/approval-and-question/one-waterfall-request: + en: b1ff0285ab378448 + zh: 9acc318381df9cce +/agent-note-client-session-conversation-and-ui-ownership-layers/approval-and-question/one-pending-projection: + en: 4cbfb31b44db8d6e + zh: 110e5067c82bbce3 +/agent-note-client-session-conversation-and-ui-ownership-layers/ui-renderer-and-store: + en: d8de1632a217da9f + zh: 32e68fc042041f42 +/agent-note-client-session-conversation-and-ui-ownership-layers/ui-renderer-and-store/ui-renderer: + en: 928e5816ad6430ea + zh: b3e658f276d4e572 +/agent-note-client-session-conversation-and-ui-ownership-layers/ui-renderer-and-store/store: + en: bf24926000a4fc38 + zh: 702ecdb4aab9dc12 +/agent-note-client-session-conversation-and-ui-ownership-layers/ui-renderer-and-store/registration-and-release-order: + en: 7f9a4b5da9c857a4 + zh: 6e5d5c870fcea214 +/agent-note-client-session-conversation-and-ui-ownership-layers/composition-and-dependency-direction: + en: 6ec1176913cdabab + zh: b0a0c8f443e51d33 +/agent-note-client-session-conversation-and-ui-ownership-layers/developer-guidance: + en: 53c7e08a0e422d7e + zh: 57a1417c0a4d5dd5 +/agent-note-client-session-conversation-and-ui-ownership-layers/developer-guidance/choose-the-data-owner-first: + en: e16f4903a20d477c + zh: bfe217c7d93314ed +/agent-note-client-session-conversation-and-ui-ownership-layers/developer-guidance/add-session-scoped-data: + en: e5e6831f726d1e68 + zh: 1a12311f64b7da5c +/agent-note-client-session-conversation-and-ui-ownership-layers/developer-guidance/add-a-conversation-target: + en: a5ecfa4225fa559b + zh: e1da4db4f80e246b +/agent-note-client-session-conversation-and-ui-ownership-layers/developer-guidance/add-a-pending-interaction-domain: + en: 19985324015f1b4a + zh: 3055d88e1173a2db +/agent-note-client-session-conversation-and-ui-ownership-layers/developer-guidance/review-checks: + en: 2800c6393a75210d + zh: 7bdf8911d3f0bb22 +/agent-note-client-session-conversation-and-ui-ownership-layers/verification: + en: 04c54874beafe7ff + zh: e13dffa5d952069a +/agent-note-client-session-conversation-and-ui-ownership-layers/alternatives-considered: + en: 83dce7fe89397a9f + zh: 8076ebb1d61ba6bf +/agent-note-client-session-conversation-and-ui-ownership-layers/consequences: + en: 307497e3f0eb2158 + zh: c7189a9811edb4a2 diff --git a/.agents/notes/implemented/architecture/2026-08-21-deepseek-llm-api-request-extensions.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-21-deepseek-llm-api-request-extensions.i18n.yaml index 1d5d4521cf..800a60bd65 100644 --- a/.agents/notes/implemented/architecture/2026-08-21-deepseek-llm-api-request-extensions.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-21-deepseek-llm-api-request-extensions.i18n.yaml @@ -1,6 +1,37 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-21-deepseek-llm-api-request-extensions.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-21-deepseek-llm-api-request-extensions.md -2026-08-21-deepseek-llm-api-request-extensions.md: 7a3609a3f7d8b2aa6edb634643ef234b7e3e8c07 -2026-08-21-deepseek-llm-api-request-extensions.zh.md: 69426df3cc85851e448b98dc51af79555b8cbafc +/agent-note-deepseek-llm-api-request-extensions-for-session-logs-and-plugin-packages: + en: bbb93b705960a21b + zh: 0fc6fc150215f08f +/agent-note-deepseek-llm-api-request-extensions-for-session-logs-and-plugin-packages/problem: + en: 4945ce54f66df55c + zh: 9fbd833c1d8122a7 +/agent-note-deepseek-llm-api-request-extensions-for-session-logs-and-plugin-packages/decision: + en: 75b5f9e642b6c25c + zh: c775a113d5ea0626 +/agent-note-deepseek-llm-api-request-extensions-for-session-logs-and-plugin-packages/incremental-session-log-field: + en: edae015c24a2bc42 + zh: 0c7e23be17d9d424 +/agent-note-deepseek-llm-api-request-extensions-for-session-logs-and-plugin-packages/plugin-package-field: + en: 0e51b8d8a1bd60fc + zh: dd18fd176c3f101f +/agent-note-deepseek-llm-api-request-extensions-for-session-logs-and-plugin-packages/deferred-inventory-caching: + en: eb69576e756f4aa1 + zh: 5c1923159da3f7a2 +/agent-note-deepseek-llm-api-request-extensions-for-session-logs-and-plugin-packages/verification: + en: 0bda0074b5e11b44 + zh: 4989c1bb840c78ce +/agent-note-deepseek-llm-api-request-extensions-for-session-logs-and-plugin-packages/alternatives-considered: + en: 5faf7699272f99b4 + zh: 7a402e24c80131cf +/agent-note-deepseek-llm-api-request-extensions-for-session-logs-and-plugin-packages/alternatives-considered/why-not-request-relative-message-references: + en: 3f03c2028adf5814 + zh: c50f7f7b0af04655 +/agent-note-deepseek-llm-api-request-extensions-for-session-logs-and-plugin-packages/alternatives-considered/why-not-omit-assistant-chunks-or-overlapping-event-data: + en: b6eff63f49220dcc + zh: 8e4a6c785ed2256a +/agent-note-deepseek-llm-api-request-extensions-for-session-logs-and-plugin-packages/consequences: + en: c9a0a5323480eb3d + zh: 5df6e88de50038ce diff --git a/.agents/notes/implemented/architecture/2026-08-22-single-dsh-application-launcher.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-22-single-dsh-application-launcher.i18n.yaml index 0094a4b396..2390a9244b 100644 --- a/.agents/notes/implemented/architecture/2026-08-22-single-dsh-application-launcher.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-22-single-dsh-application-launcher.i18n.yaml @@ -1,6 +1,40 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-22-single-dsh-application-launcher.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-22-single-dsh-application-launcher.md -2026-08-22-single-dsh-application-launcher.md: 46a627eed652a0a0edaf7b900510b5d369efcdf0 -2026-08-22-single-dsh-application-launcher.zh.md: b7fa0f2b35c2fbf6c3a28f463b73170c84547a40 +/agent-note-one-dsh-launcher-for-application-profiles: + en: c0b608af89f3a9b4 + zh: 2995eef6243889d5 +/agent-note-one-dsh-launcher-for-application-profiles/problem: + en: 34b82725480cf15b + zh: 83cff42d5a38e64f +/agent-note-one-dsh-launcher-for-application-profiles/decision: + en: a15c7c13f167e5ac + zh: a15c7c13f167e5ac +/agent-note-one-dsh-launcher-for-application-profiles/decision/launch-scope: + en: 9cea027468d5d37c + zh: 359c6cb7842b8b7f +/agent-note-one-dsh-launcher-for-application-profiles/decision/profile-applications: + en: 44028538e06420d3 + zh: 71cf992b7847d822 +/agent-note-one-dsh-launcher-for-application-profiles/decision/typescript-sdk-customization: + en: 8ee88035cf64eeb3 + zh: 6184e50fc4d47348 +/agent-note-one-dsh-launcher-for-application-profiles/decision/python-runtime: + en: e154533170f1cdb6 + zh: 20f8f0d5e111f447 +/agent-note-one-dsh-launcher-for-application-profiles/decision/enforcement: + en: 9ce8d86b65064f38 + zh: 27b8ad426cb319a2 +/agent-note-one-dsh-launcher-for-application-profiles/existing-decisions-and-supersession: + en: 71599a4df773fe78 + zh: d12ae1625d11cc9c +/agent-note-one-dsh-launcher-for-application-profiles/alternatives-considered: + en: 763d9f86e10af3db + zh: e87b35f1f7425da7 +/agent-note-one-dsh-launcher-for-application-profiles/verification: + en: 0b883651974d3ac3 + zh: 8ed0bb3ee97a25f8 +/agent-note-one-dsh-launcher-for-application-profiles/consequences: + en: 8453d34835bf6ada + zh: 86308a497c969b81 diff --git a/.agents/notes/implemented/architecture/2026-08-23-client-derived-tool-presentation.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-23-client-derived-tool-presentation.i18n.yaml index dcadb91f94..d09a4b6a82 100644 --- a/.agents/notes/implemented/architecture/2026-08-23-client-derived-tool-presentation.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-23-client-derived-tool-presentation.i18n.yaml @@ -1,6 +1,229 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-23-client-derived-tool-presentation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-23-client-derived-tool-presentation.md -2026-08-23-client-derived-tool-presentation.md: 931276fa6d4c0590746b6c59eeae9f998f05629c -2026-08-23-client-derived-tool-presentation.zh.md: b930f98da17a1cb6ecbf605e3a9f37255ba75fc9 +/agent-note-client-derived-presentation-from-raw-session-tool-events: + en: de8d02e979715600 + zh: 1db4d0364c30a7e3 +/agent-note-client-derived-presentation-from-raw-session-tool-events/problem: + en: 9f34c53e647c69ca + zh: 551776c7cc9618b5 +/agent-note-client-derived-presentation-from-raw-session-tool-events/decision: + en: 5c8de416b8fa0fb1 + zh: 1662926ba8e17405 +/agent-note-client-derived-presentation-from-raw-session-tool-events/decision/goals-and-non-goals: + en: 4ff7b07cb79bc9de + zh: a74ec6e7ebbede0a +/agent-note-client-derived-presentation-from-raw-session-tool-events/terminology: + en: 021106dd41176715 + zh: 131caff7bd37251b +/agent-note-client-derived-presentation-from-raw-session-tool-events/architecture-and-ownership: + en: 5cc496057205b298 + zh: 160158394dfa2df3 +/agent-note-client-derived-presentation-from-raw-session-tool-events/architecture-and-ownership/tool-execution-and-persistence: + en: 675a1da36b918a3b + zh: 88b8d338e9cfcd79 +/agent-note-client-derived-presentation-from-raw-session-tool-events/architecture-and-ownership/host-journal-reads: + en: 36345a3eb5801cdf + zh: 498fd14beaaadd9c +/agent-note-client-derived-presentation-from-raw-session-tool-events/architecture-and-ownership/client-data-and-presentation: + en: 72e14ba086d89e90 + zh: a451a63c3ab9e5d8 +/agent-note-client-derived-presentation-from-raw-session-tool-events/architecture-and-ownership/production-consumer-audit: + en: 5351e75c1e417359 + zh: b14b28c44f723de5 +/agent-note-client-derived-presentation-from-raw-session-tool-events/data-flow: + en: 357a34a2f7796545 + zh: 671b1ef7b2c64cec +/agent-note-client-derived-presentation-from-raw-session-tool-events/data-flow/layer-responsibilities: + en: f6c95424849ed9c8 + zh: 0c7ef9254d9f20c0 +/agent-note-client-derived-presentation-from-raw-session-tool-events/remote-and-durable-data-contracts: + en: 6d865d0eb0c5e003 + zh: 1eb0fb7acfb30975 +/agent-note-client-derived-presentation-from-raw-session-tool-events/remote-and-durable-data-contracts/sessionevententry: + en: 178513914d9c931c + zh: 23b39e82c90a247e +/agent-note-client-derived-presentation-from-raw-session-tool-events/remote-and-durable-data-contracts/durable-log: + en: 6a0aa4dac1cf48d7 + zh: 23753410e5056612 +/agent-note-client-derived-presentation-from-raw-session-tool-events/remote-and-durable-data-contracts/presentationmeta: + en: 51f99cfca9c4c808 + zh: ce95bab241d306f7 +/agent-note-client-derived-presentation-from-raw-session-tool-events/host-design: + en: 16fd2b3e545ede21 + zh: 4d28f52132495441 +/agent-note-client-derived-presentation-from-raw-session-tool-events/host-design/performance-constraints: + en: 102b14e3eb9367ff + zh: d391099dbc41db24 +/agent-note-client-derived-presentation-from-raw-session-tool-events/client-session-and-conversation: + en: 46a772ac51da43a2 + zh: 8709a7e3e6a872f1 +/agent-note-client-derived-presentation-from-raw-session-tool-events/client-session-and-conversation/root-and-ptc-dispatch-subcalls: + en: 2c8ff511a5527a72 + zh: 3eeddc9686ff1709 +/agent-note-client-derived-presentation-from-raw-session-tool-events/client-session-and-conversation/missing-call-head: + en: b9efc339173e546e + zh: c7639861b3b96e83 +/agent-note-client-derived-presentation-from-raw-session-tool-events/client-session-and-conversation/argument-and-metadata-narrowing: + en: 1ec566ca574374c7 + zh: 4bab6b7050a57afa +/agent-note-client-derived-presentation-from-raw-session-tool-events/client-card-model-design: + en: f40f0a8ee8c055c0 + zh: 6957b7372956113c +/agent-note-client-derived-presentation-from-raw-session-tool-events/client-card-model-design/generic-tool-row: + en: 20ff82b092325c5c + zh: 1afd5441a9816117 +/agent-note-client-derived-presentation-from-raw-session-tool-events/client-card-model-design/terminal-card: + en: eab7f366df331b6e + zh: d82499e2a982206f +/agent-note-client-derived-presentation-from-raw-session-tool-events/client-card-model-design/diff-card: + en: ea384415c94f82da + zh: 5f146c6cb534e1db +/agent-note-client-derived-presentation-from-raw-session-tool-events/client-card-model-design/read-card: + en: 0fd9413ae837a36d + zh: 0e421eb162021983 +/agent-note-client-derived-presentation-from-raw-session-tool-events/client-card-model-design/search-card: + en: 5a655646431ad75b + zh: 67cafcbead983495 +/agent-note-client-derived-presentation-from-raw-session-tool-events/client-card-model-design/web-card: + en: bc6415353d231ae0 + zh: a4614630b60d1dc1 +/agent-note-client-derived-presentation-from-raw-session-tool-events/client-card-model-design/renderers-already-using-raw-blocks: + en: b8fc7a1a4dbdd45e + zh: ea97490599b29481 +/agent-note-client-derived-presentation-from-raw-session-tool-events/deliverables: + en: f1769a479af834d4 + zh: 083397eeed5263b8 +/agent-note-client-derived-presentation-from-raw-session-tool-events/fixtures-and-test-data: + en: e5b42aa311079bd7 + zh: ec4cf97037ece7e0 +/agent-note-client-derived-presentation-from-raw-session-tool-events/presentation-equivalence-matrix: + en: 30915c26728eeafe + zh: eea04dea7b4604a5 +/agent-note-client-derived-presentation-from-raw-session-tool-events/client-extension-contract: + en: 96619dfd5ef299cf + zh: 253df98eb42ad75e +/agent-note-client-derived-presentation-from-raw-session-tool-events/failures-and-fallback: + en: 4cca3e16a9f2d13b + zh: 6952abf98801837d +/agent-note-client-derived-presentation-from-raw-session-tool-events/same-named-host-providers: + en: 12b3304157f058ad + zh: 497fa0defe1bd2cd +/agent-note-client-derived-presentation-from-raw-session-tool-events/shipped-scope: + en: 25ddd2f604230fd0 + zh: 7f3b1b5863252635 +/agent-note-client-derived-presentation-from-raw-session-tool-events/shipped-scope/session-controller: + en: 23ff740eb2e5245f + zh: 72c9907849e56656 +/agent-note-client-derived-presentation-from-raw-session-tool-events/shipped-scope/session-controller-client: + en: 57d3babfb1ce3429 + zh: 80284ebf7ad31446 +/agent-note-client-derived-presentation-from-raw-session-tool-events/shipped-scope/ui-conversation-chat-and-trajectory: + en: dafc7a3c08c1823a + zh: 426ef3358597c64a +/agent-note-client-derived-presentation-from-raw-session-tool-events/shipped-scope/ui-tool-and-deliverables: + en: 9e090419d542afe8 + zh: 8e1b743d750bd402 +/agent-note-client-derived-presentation-from-raw-session-tool-events/shipped-scope/fixtures-documentation-and-generated-artifacts: + en: 99f628433b484f98 + zh: 65536e9b4c3dacc4 +/agent-note-client-derived-presentation-from-raw-session-tool-events/verification-matrix: + en: 5fae53c1eaed3f11 + zh: bbce23df01398151 +/agent-note-client-derived-presentation-from-raw-session-tool-events/verification-matrix/host: + en: 0150b57068fef08a + zh: 5fe2e638b0fd1aa8 +/agent-note-client-derived-presentation-from-raw-session-tool-events/verification-matrix/client-conversation: + en: b04bf4f1c89917b5 + zh: 8757c90691c48712 +/agent-note-client-derived-presentation-from-raw-session-tool-events/verification-matrix/client-card-model: + en: 7d57f2e54d287fce + zh: 6b96d4fa8e4a6b0f +/agent-note-client-derived-presentation-from-raw-session-tool-events/verification-matrix/deliverables: + en: 434f4f269d9b0858 + zh: 3eeb8ac42364fb25 +/agent-note-client-derived-presentation-from-raw-session-tool-events/verification-matrix/assembly-and-browser: + en: 5c43e9a729a57a4f + zh: aef26f6ef83f1fe1 +/agent-note-client-derived-presentation-from-raw-session-tool-events/verification-matrix/static-and-documentation: + en: d25ffb1f8f60e04c + zh: 3a105c9669a9b978 +/agent-note-client-derived-presentation-from-raw-session-tool-events/verification-commands: + en: f562776ceda2ac53 + zh: 24c833727dc5c260 +/agent-note-client-derived-presentation-from-raw-session-tool-events/shipped-invariants: + en: 3377510eb7639807 + zh: 1d7cdf2a67cf9bde +/agent-note-client-derived-presentation-from-raw-session-tool-events/alternatives-considered: + en: 6119e2aff3b6be5a + zh: 6119e2aff3b6be5a +/agent-note-client-derived-presentation-from-raw-session-tool-events/alternatives-considered/optimize-only-backscanargs-and-retain-views: + en: a478eeddf0f47cf7 + zh: e9943194d90cf793 +/agent-note-client-derived-presentation-from-raw-session-tool-events/alternatives-considered/add-a-presenter-registry-to-the-client: + en: 96a616a8296de2ad + zh: 988b7f46698aed1c +/agent-note-client-derived-presentation-from-raw-session-tool-events/alternatives-considered/have-the-conversation-tool-definition-produce-one-unified-view: + en: 088a7896e8967523 + zh: da6f8ddaaf2923a7 +/agent-note-client-derived-presentation-from-raw-session-tool-events/alternatives-considered/delete-presentationmeta: + en: 41c11f4e2c14917f + zh: f06d53dbd7170557 +/agent-note-client-derived-presentation-from-raw-session-tool-events/alternatives-considered/persist-canonical-tool-results: + en: a6b1064482cb48c5 + zh: 3fe58419d0aec36d +/agent-note-client-derived-presentation-from-raw-session-tool-events/alternatives-considered/delete-host-presenter-apis: + en: 6bfc4306addf18d4 + zh: f03c6460d4207e83 +/agent-note-client-derived-presentation-from-raw-session-tool-events/alternatives-considered/import-host-tool-implementations-into-the-client: + en: d709f38059905c10 + zh: f216be6b8cb18938 +/agent-note-client-derived-presentation-from-raw-session-tool-events/alternatives-considered/query-presentation-from-the-host-per-result: + en: bc8905288acaa820 + zh: ff551936bd5ea93f +/agent-note-client-derived-presentation-from-raw-session-tool-events/alternatives-considered/allow-presentation-enhancements: + en: fc270977e320fd0a + zh: bb77a11ec6973d03 +/agent-note-client-derived-presentation-from-raw-session-tool-events/alternatives-considered/accept-temporary-generic-degradation: + en: 1a8fd108d32bd199 + zh: 5cd1c7adf3fe824d +/agent-note-client-derived-presentation-from-raw-session-tool-events/consequences: + en: fc74ce3d77d3f6f1 + zh: 5bf52b18d86ea925 +/agent-note-client-derived-presentation-from-raw-session-tool-events/consequences/client-and-host-logic-drift: + en: 9314413ed5b41d10 + zh: 0cca0d80eb421b9c +/agent-note-client-derived-presentation-from-raw-session-tool-events/consequences/same-named-providers-lack-stable-identity: + en: 81e3e790bb32e2b2 + zh: 2b0f0194ee22e414 +/agent-note-client-derived-presentation-from-raw-session-tool-events/consequences/metadata-is-unknown-json: + en: 631d7726c1bfb908 + zh: 52e58e2e0aae1610 +/agent-note-client-derived-presentation-from-raw-session-tool-events/consequences/preset-owned-projection-availability: + en: c12c5a464eefe88a + zh: d184c0cefbbabfee +/agent-note-client-derived-presentation-from-raw-session-tool-events/consequences/two-targets-must-stay-synchronized: + en: 9ee330e015d9b569 + zh: 11d50bce62b91298 +/agent-note-client-derived-presentation-from-raw-session-tool-events/consequences/deliverables-has-a-hidden-dependency: + en: c9f4fc5ce7c0e6cc + zh: bb1b73b7313112e2 +/agent-note-client-derived-presentation-from-raw-session-tool-events/consequences/fixtures-can-create-false-confidence: + en: 5f21119c0a360eaa + zh: f656f35d802ec74a +/agent-note-client-derived-presentation-from-raw-session-tool-events/consequences/incorrectly-refreshing-snapshots: + en: aeab59c94afe3c5f + zh: 77378f5aa76e9056 +/agent-note-client-derived-presentation-from-raw-session-tool-events/consequences/documentation-drift: + en: 4c724d879b27bd5d + zh: 63b58c6ab26d7934 +/agent-note-client-derived-presentation-from-raw-session-tool-events/consequences/remote-protocol-narrowing: + en: d7e581086940fafa + zh: d452320fee6ef875 +/agent-note-client-derived-presentation-from-raw-session-tool-events/relationship-to-existing-decisions: + en: f7501cfad1c94062 + zh: 2574582ee86c3c4a +/agent-note-client-derived-presentation-from-raw-session-tool-events/deferred: + en: dcd92bc33fbb1885 + zh: 3d1ea8a6b3f3f3a7 diff --git a/.agents/notes/implemented/architecture/2026-08-23-locale-owned-client-ui-copy.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-23-locale-owned-client-ui-copy.i18n.yaml index 1aa080d1fe..49f6adf176 100644 --- a/.agents/notes/implemented/architecture/2026-08-23-locale-owned-client-ui-copy.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-23-locale-owned-client-ui-copy.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-23-locale-owned-client-ui-copy.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-23-locale-owned-client-ui-copy.md -2026-08-23-locale-owned-client-ui-copy.md: bc4d8efbce1f246f712e3afe6af40d1518e8cb17 -2026-08-23-locale-owned-client-ui-copy.zh.md: ce996a4aafc392e739bec2eccd8714cfeff7d8e9 +/agent-note-locale-owned-client-ui-copy: + en: 048ebc19d489b40d + zh: 681d1c4167f0101f +/agent-note-locale-owned-client-ui-copy/problem: + en: b007d31d9998b878 + zh: 857921e0d57288f9 +/agent-note-locale-owned-client-ui-copy/decision: + en: 8a5e0abec93fcb91 + zh: bf9fe95e48fc7eb6 +/agent-note-locale-owned-client-ui-copy/verification: + en: bc9daa07456e8496 + zh: 9edeae0d970cc6b2 +/agent-note-locale-owned-client-ui-copy/alternatives-considered: + en: b04fd6aaa9b4fff5 + zh: 7551d86cad9a862a +/agent-note-locale-owned-client-ui-copy/consequences: + en: fd435e249b7409e1 + zh: e0b147cfcb565516 diff --git a/.agents/notes/implemented/architecture/2026-08-24-browser-token-authentication.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-24-browser-token-authentication.i18n.yaml index af52bdcb23..a67b37efe1 100644 --- a/.agents/notes/implemented/architecture/2026-08-24-browser-token-authentication.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-24-browser-token-authentication.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-24-browser-token-authentication.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-24-browser-token-authentication.md -2026-08-24-browser-token-authentication.md: 47d6afe1bf4cd8169eb4e8ec92a30bf0fee32c8a -2026-08-24-browser-token-authentication.zh.md: 13ecf55e41c7bb1455177bdd6a87a3a83d94ca6f +/agent-note-browser-launch-token-authentication: + en: 7ab4daa548c2b5a7 + zh: 33a76129efc2079a +/agent-note-browser-launch-token-authentication/problem: + en: 01293500639c9d79 + zh: 6d19e4843955c811 +/agent-note-browser-launch-token-authentication/decision: + en: 063f9698b8a94287 + zh: 848b2c1134b7a100 +/agent-note-browser-launch-token-authentication/verification: + en: 189b36d0fc5f3a17 + zh: 08993cb585204fc0 +/agent-note-browser-launch-token-authentication/alternatives-considered: + en: 5275c87f19fe6eee + zh: ccb922367c4bb3e2 +/agent-note-browser-launch-token-authentication/consequences: + en: 0714a8a7cc74918a + zh: 0f3878b09463ab2e diff --git a/.agents/notes/implemented/architecture/2026-08-25-electron-desktop-packaging-and-updates.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-25-electron-desktop-packaging-and-updates.i18n.yaml index 6a9b597434..7dc21e59f4 100644 --- a/.agents/notes/implemented/architecture/2026-08-25-electron-desktop-packaging-and-updates.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-25-electron-desktop-packaging-and-updates.i18n.yaml @@ -1,6 +1,46 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-25-electron-desktop-packaging-and-updates.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-25-electron-desktop-packaging-and-updates.md -2026-08-25-electron-desktop-packaging-and-updates.md: a985e1c91a1ccdb9c4aab0bc519974f9b6fafd4a -2026-08-25-electron-desktop-packaging-and-updates.zh.md: 17ace865477d4fae3650b56d6725be07c7bd0e0f +/agent-note-package-and-update-the-electron-desktop-application: + en: eb6e843bc5a11195 + zh: b245e9a3615e01f0 +/agent-note-package-and-update-the-electron-desktop-application/problem: + en: 5a39322836f06cd9 + zh: 7a7ab48fe38a5788 +/agent-note-package-and-update-the-electron-desktop-application/decision: + en: bd6d1e19da0d5a87 + zh: f194ae90331a27ea +/agent-note-package-and-update-the-electron-desktop-application/ownership: + en: 50e16f318c5d0e1a + zh: 84b2ba8f1a6932b0 +/agent-note-package-and-update-the-electron-desktop-application/filesystem-layout: + en: 4990a8ba137e28f0 + zh: b12f68d30a5d18fa +/agent-note-package-and-update-the-electron-desktop-application/installation-and-resolution: + en: 29def175ab33b7d6 + zh: 87e55ec28c20c7c1 +/agent-note-package-and-update-the-electron-desktop-application/updates-and-recovery: + en: 9c9e8a54a11bec8b + zh: 305cf1f6ed374d0b +/agent-note-package-and-update-the-electron-desktop-application/security-and-release-policy: + en: 4fb110927a3ed7a9 + zh: 5a263577f097490a +/agent-note-package-and-update-the-electron-desktop-application/implementation: + en: 041a6d35ed61b149 + zh: 617c6b90a6f4fa4d +/agent-note-package-and-update-the-electron-desktop-application/alternatives-considered: + en: 10b1b0a8afe38def + zh: 0a4df988f72b8d11 +/agent-note-package-and-update-the-electron-desktop-application/consequences: + en: 44dc044cfcd6ec17 + zh: 5e978dec54783b4e +/agent-note-package-and-update-the-electron-desktop-application/review-decisions: + en: 54c4c2a4bcdfa834 + zh: c280351bb3bf085f +/agent-note-package-and-update-the-electron-desktop-application/risks: + en: af59c819ae700ee1 + zh: 6c0b4b80690fc6a2 +/agent-note-package-and-update-the-electron-desktop-application/related-proposals: + en: b6c0cbd39966f1ec + zh: 5c7a919abec643ba diff --git a/.agents/notes/implemented/architecture/2026-08-25-session-observations-and-projection-owned-client-state.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-25-session-observations-and-projection-owned-client-state.i18n.yaml index f53d8aec09..90546ac5db 100644 --- a/.agents/notes/implemented/architecture/2026-08-25-session-observations-and-projection-owned-client-state.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-25-session-observations-and-projection-owned-client-state.i18n.yaml @@ -1,6 +1,58 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-25-session-observations-and-projection-owned-client-state.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-25-session-observations-and-projection-owned-client-state.md -2026-08-25-session-observations-and-projection-owned-client-state.md: 8573ea89fae6f52a9d28cc75261aea529df4f075 -2026-08-25-session-observations-and-projection-owned-client-state.zh.md: 55c477e994df72ef8f6b6e4bb97b8b35e5783c9b +/agent-note-session-observations-and-projection-owned-client-state: + en: 00b84161c373744e + zh: 7243e7f32ae1fa3f +/agent-note-session-observations-and-projection-owned-client-state/problem: + en: af1f72affe6ae77e + zh: 3d76b6310bc572b1 +/agent-note-session-observations-and-projection-owned-client-state/decision: + en: 00e13f9c63b7820a + zh: b043556c3b8d9f50 +/agent-note-session-observations-and-projection-owned-client-state/decision/data-flow: + en: 480284ae1a6ce210 + zh: d42c72ada9f019f8 +/agent-note-session-observations-and-projection-owned-client-state/decision/observation-is-the-point-read-unit: + en: fac92f8547482a49 + zh: 60240c47fbe4611f +/agent-note-session-observations-and-projection-owned-client-state/decision/source-resolution-and-lifetime: + en: e550ae9892474276 + zh: fb6a2d9e91ebd4d9 +/agent-note-session-observations-and-projection-owned-client-state/decision/projection-execution-boundary: + en: b463e1854d2cc694 + zh: 84fb04c9ddeb2656 +/agent-note-session-observations-and-projection-owned-client-state/decision/read-audiences: + en: c94cd4f6ed488c24 + zh: 12f3b223fdd72c4a +/agent-note-session-observations-and-projection-owned-client-state/decision/replayable-client-facts-are-projection-owned: + en: efded09f0cd30a8e + zh: 5e16580a39ff3359 +/agent-note-session-observations-and-projection-owned-client-state/decision/client-merge-rules: + en: fb8740be674e4708 + zh: 7dc0c89558f51792 +/agent-note-session-observations-and-projection-owned-client-state/decision/domain-applications: + en: c45a0429091f1cf4 + zh: a76c7fe66e22e410 +/agent-note-session-observations-and-projection-owned-client-state/decision/failure-and-readiness-boundaries: + en: 0f90a8bccedf9e71 + zh: 8452dfdf0af00fb3 +/agent-note-session-observations-and-projection-owned-client-state/decision/ownership-matrix: + en: 4f25ea5ac5b18fb3 + zh: 30af4b15936fc455 +/agent-note-session-observations-and-projection-owned-client-state/decision/extension-rules: + en: 110ca8005f618ad1 + zh: 8f3e83d59334b278 +/agent-note-session-observations-and-projection-owned-client-state/decision/relationship-to-existing-decisions: + en: a794043297325db2 + zh: 6459213d8dc35b1b +/agent-note-session-observations-and-projection-owned-client-state/verification: + en: e1458c504be960a4 + zh: 12c565a2576450cb +/agent-note-session-observations-and-projection-owned-client-state/alternatives-considered: + en: a25138b4298cda16 + zh: 92799a9bd8867d47 +/agent-note-session-observations-and-projection-owned-client-state/consequences: + en: e1f8bd8fa68de603 + zh: 5afcd06f2611bc1e diff --git a/.agents/notes/implemented/architecture/2026-08-27-adjacent-agent-steer-messaging.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-27-adjacent-agent-steer-messaging.i18n.yaml index bc7d37ce4c..231ee0bf64 100644 --- a/.agents/notes/implemented/architecture/2026-08-27-adjacent-agent-steer-messaging.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-27-adjacent-agent-steer-messaging.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-27-adjacent-agent-steer-messaging.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-27-adjacent-agent-steer-messaging.md -2026-08-27-adjacent-agent-steer-messaging.md: 47d9bd05c24871a14f78ebfa0afb8c13a6c2754d -2026-08-27-adjacent-agent-steer-messaging.zh.md: 1fd0fc39b937287ac34a2862c7cb9cde90256c09 +/agent-note-adjacent-agents-share-one-steer-send-message-operation: + en: 758d31ae04ce0d4f + zh: 112475efbd52b9f6 +/agent-note-adjacent-agents-share-one-steer-send-message-operation/problem: + en: c988b8a3be4e6f19 + zh: b58011fd8d2e878e +/agent-note-adjacent-agents-share-one-steer-send-message-operation/decision: + en: 1188c699ce6e6ca2 + zh: 4d5b974cd1216f06 +/agent-note-adjacent-agents-share-one-steer-send-message-operation/decision/one-model-tool-and-one-return-instruction: + en: 8a4be155a4984ca8 + zh: 00c2a61da2443530 +/agent-note-adjacent-agents-share-one-steer-send-message-operation/decision/complete-removal-and-reintroduction-condition: + en: 5a9ec6478cf7430c + zh: f4c2f067cc72040e +/agent-note-adjacent-agents-share-one-steer-send-message-operation/alternatives-considered: + en: 1f62d5d938144666 + zh: dec0f30228c5b7a7 +/agent-note-adjacent-agents-share-one-steer-send-message-operation/consequences: + en: 6a01449bef67c9ab + zh: 9ed7184a4d48038c diff --git a/.agents/notes/implemented/architecture/2026-08-27-handle-based-session-persistence.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-27-handle-based-session-persistence.i18n.yaml index 0521855ea8..29242480fe 100644 --- a/.agents/notes/implemented/architecture/2026-08-27-handle-based-session-persistence.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-27-handle-based-session-persistence.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-27-handle-based-session-persistence.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-27-handle-based-session-persistence.md -2026-08-27-handle-based-session-persistence.md: e2f07856b7ef8ffd8180ed7ff515210c95dde29b -2026-08-27-handle-based-session-persistence.zh.md: 472a1024887ecca67245de27f52c68ec0b34caa1 +/agent-note-handle-based-session-persistence: + en: ca49a1cfae00a590 + zh: f1fe21b5dbaf0d68 +/agent-note-handle-based-session-persistence/problem: + en: e4a62db37d44cc11 + zh: 860058651d2817de +/agent-note-handle-based-session-persistence/decision: + en: 52184217a0939497 + zh: 404783efc001e6cc +/agent-note-handle-based-session-persistence/alternatives-considered: + en: f3f7a3abe905c97d + zh: 28018bc45290a455 +/agent-note-handle-based-session-persistence/consequences: + en: 5917a573cbdc5fa4 + zh: 3c3769070539a0a9 +/agent-note-handle-based-session-persistence/related: + en: 07a1b7d5a0f9b0f7 + zh: 9bfa134b62ff3df7 diff --git a/.agents/notes/implemented/architecture/2026-08-27-outbound-proxy-policy.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-27-outbound-proxy-policy.i18n.yaml index 0f7fcde21b..0d30f02d4f 100644 --- a/.agents/notes/implemented/architecture/2026-08-27-outbound-proxy-policy.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-27-outbound-proxy-policy.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-27-outbound-proxy-policy.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-27-outbound-proxy-policy.md -2026-08-27-outbound-proxy-policy.md: e588ff751fd18762fbe5e24aa17f9bbbc4ff8deb -2026-08-27-outbound-proxy-policy.zh.md: 57faea256120f5f76ecc4dab1bd8709003672fd0 +/agent-note-one-outbound-proxy-policy-installed-before-anything-can-request: + en: b19652a0e1cc1826 + zh: 4d3511e4f0db5b9d +/agent-note-one-outbound-proxy-policy-installed-before-anything-can-request/problem: + en: 70e5f3ed33010c98 + zh: 5437d943953f5a40 +/agent-note-one-outbound-proxy-policy-installed-before-anything-can-request/decision: + en: efe23161a54f70c5 + zh: e24ee097918b2724 +/agent-note-one-outbound-proxy-policy-installed-before-anything-can-request/alternatives-considered: + en: df44eb15557b95fe + zh: b757e53da4c0a99f +/agent-note-one-outbound-proxy-policy-installed-before-anything-can-request/consequences: + en: 6a4acbab915f1bd1 + zh: 2c8ffd62ba74ff96 +/agent-note-one-outbound-proxy-policy-installed-before-anything-can-request/testing: + en: 0d7eaa666c94a5cd + zh: 210fa098f154d137 diff --git a/.agents/notes/implemented/architecture/2026-08-28-ctx-remote-failure-vocabulary.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-28-ctx-remote-failure-vocabulary.i18n.yaml index 5952b7afe6..2e76fba547 100644 --- a/.agents/notes/implemented/architecture/2026-08-28-ctx-remote-failure-vocabulary.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-28-ctx-remote-failure-vocabulary.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-28-ctx-remote-failure-vocabulary.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-28-ctx-remote-failure-vocabulary.md -2026-08-28-ctx-remote-failure-vocabulary.md: 7238ae23b4581ab645b2bc9a780b77dc4a59d574 -2026-08-28-ctx-remote-failure-vocabulary.zh.md: db0b2969bc94c3d9c848b187a0521ce5ec387492 +/agent-note-one-remote-failure-vocabulary-for-ctx-remote: + en: 3aca057ba2c3ae29 + zh: 3d54024d40265a2a +/agent-note-one-remote-failure-vocabulary-for-ctx-remote/problem: + en: 990d46f713fb6303 + zh: 592cd6128a9640b1 +/agent-note-one-remote-failure-vocabulary-for-ctx-remote/decision: + en: 120e2fb97ac765d8 + zh: 5d5f110db4a9b717 +/agent-note-one-remote-failure-vocabulary-for-ctx-remote/code-ownership: + en: cc1d8b88f7349b77 + zh: 70f010e3310e2667 +/agent-note-one-remote-failure-vocabulary-for-ctx-remote/discrimination-by-code: + en: 8ca8ea2f3236569f + zh: ffca80a5157af245 +/agent-note-one-remote-failure-vocabulary-for-ctx-remote/fixed-host-facts: + en: 0dfb0ca5cf67b296 + zh: baaa890425996fb3 +/agent-note-one-remote-failure-vocabulary-for-ctx-remote/what-the-wire-carries: + en: 346e655fe98b95bd + zh: 24185f170ef97811 +/agent-note-one-remote-failure-vocabulary-for-ctx-remote/alternatives-considered: + en: d92f46d0827ad0d1 + zh: 640f223d3a27559b +/agent-note-one-remote-failure-vocabulary-for-ctx-remote/consequences: + en: 20d2d65d555ef680 + zh: f8a3de3ce72058c7 diff --git a/.agents/notes/implemented/architecture/2026-08-28-subprocess-native-containment.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-28-subprocess-native-containment.i18n.yaml index bfe7ee764b..76b43c4348 100644 --- a/.agents/notes/implemented/architecture/2026-08-28-subprocess-native-containment.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-28-subprocess-native-containment.i18n.yaml @@ -1,6 +1,37 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-28-subprocess-native-containment.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-28-subprocess-native-containment.md -2026-08-28-subprocess-native-containment.md: 88acee2d41fab878a0e50380cbb87eaece8e7296 -2026-08-28-subprocess-native-containment.zh.md: 53406f99531953a0330abf08be150da845f37aab +/agent-note-native-owners-contain-escaped-subprocess-descendants: + en: 161c05f390ea3f51 + zh: 1c1c83ad4f9780dd +/agent-note-native-owners-contain-escaped-subprocess-descendants/problem: + en: a88b160c6c1f57e5 + zh: 0b1a7cb68e9aaabd +/agent-note-native-owners-contain-escaped-subprocess-descendants/decision: + en: 0469a956a95bccdf + zh: 2c5ea38a2841e1ae +/agent-note-native-owners-contain-escaped-subprocess-descendants/decision/linux-scope-and-one-shot-bootstrap: + en: 582e6f5f5f7cc940 + zh: b47cee599d22aaa2 +/agent-note-native-owners-contain-escaped-subprocess-descendants/decision/windows-runner-and-job: + en: a6401ee73bb173b7 + zh: 45b9cc7fea6f7921 +/agent-note-native-owners-contain-escaped-subprocess-descendants/decision/private-dispatch-and-protocol: + en: bf25e4b385bf9299 + zh: 6ed1062fbe49f3cf +/agent-note-native-owners-contain-escaped-subprocess-descendants/decision/fallback-and-cleanup: + en: 19da14bf2234744f + zh: 8f723b1c9c8a3a58 +/agent-note-native-owners-contain-escaped-subprocess-descendants/existing-decisions-and-supersession: + en: 8f24a2276aff4bd2 + zh: a3a36dd28f3ab0e0 +/agent-note-native-owners-contain-escaped-subprocess-descendants/verification: + en: 900e10a3f9cd3b67 + zh: efc5d9f09a0e8e5a +/agent-note-native-owners-contain-escaped-subprocess-descendants/alternatives-considered: + en: 12bbc028fbb14667 + zh: 9fea4359308337bd +/agent-note-native-owners-contain-escaped-subprocess-descendants/consequences: + en: 0151145ee6281267 + zh: 5bd2e53ad58107e9 diff --git a/.agents/notes/implemented/architecture/2026-08-30-retain-ignorable-external-session-events.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-30-retain-ignorable-external-session-events.i18n.yaml index 0d29ace9ff..63a2bfdc06 100644 --- a/.agents/notes/implemented/architecture/2026-08-30-retain-ignorable-external-session-events.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-30-retain-ignorable-external-session-events.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-30-retain-ignorable-external-session-events.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-30-retain-ignorable-external-session-events.md -2026-08-30-retain-ignorable-external-session-events.md: e085e429a6ad49cf742694cec7dda05770a5b8a1 -2026-08-30-retain-ignorable-external-session-events.zh.md: 1fe4f81441503287961b993eae444fa4385f4803 +/agent-note-retain-ignorable-session-events-for-external-plugins: + en: 09f4f7ee764601c3 + zh: af6ead8e96015e51 +/agent-note-retain-ignorable-session-events-for-external-plugins/problem: + en: d2df1eb3602af45d + zh: fd162b1c214f1494 +/agent-note-retain-ignorable-session-events-for-external-plugins/decision: + en: a4162e65cf6768f3 + zh: bb700d9630642e7e +/agent-note-retain-ignorable-session-events-for-external-plugins/alternatives-considered: + en: 30ec097e3ba4e951 + zh: 3e90fc035d04b09b +/agent-note-retain-ignorable-session-events-for-external-plugins/consequences: + en: 5f65bfb81f172d49 + zh: 069d41d6bda9f8af diff --git a/.agents/notes/implemented/architecture/2026-08-31-alpha-historical-unknown-event-refusal.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-31-alpha-historical-unknown-event-refusal.i18n.yaml index c976a60147..4453d0d171 100644 --- a/.agents/notes/implemented/architecture/2026-08-31-alpha-historical-unknown-event-refusal.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-31-alpha-historical-unknown-event-refusal.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-31-alpha-historical-unknown-event-refusal.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-31-alpha-historical-unknown-event-refusal.md -2026-08-31-alpha-historical-unknown-event-refusal.md: c63b36f63206e0992416239483d908b0645a98c2 -2026-08-31-alpha-historical-unknown-event-refusal.zh.md: 231c46c11486b05a69a200b857a0ea6df35b6e79 +/agent-note-alpha-session-migration-refuses-every-unknown-historical-event: + en: 4c7472b402f5dd38 + zh: 1d7aa8233d13a083 +/agent-note-alpha-session-migration-refuses-every-unknown-historical-event/problem: + en: 8864f28d0139c490 + zh: 2aa7b6eceb5510c0 +/agent-note-alpha-session-migration-refuses-every-unknown-historical-event/decision: + en: 62afb095b98209a6 + zh: 55b3eae2a6f64989 +/agent-note-alpha-session-migration-refuses-every-unknown-historical-event/consequences: + en: 8416322aefd92a3d + zh: 6e06f732ae2f48fc +/agent-note-alpha-session-migration-refuses-every-unknown-historical-event/alternatives-considered: + en: 3adeafa6fb02ab56 + zh: daf6c67c43804da7 diff --git a/.agents/notes/implemented/architecture/2026-08-31-explicit-agent-runtime-identity.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-31-explicit-agent-runtime-identity.i18n.yaml index 4fac92ed8c..c28606ddd1 100644 --- a/.agents/notes/implemented/architecture/2026-08-31-explicit-agent-runtime-identity.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-31-explicit-agent-runtime-identity.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-31-explicit-agent-runtime-identity.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-31-explicit-agent-runtime-identity.md -2026-08-31-explicit-agent-runtime-identity.md: f52b8ec116c312a27306fe73dc0bd5b99fcd9039 -2026-08-31-explicit-agent-runtime-identity.zh.md: 6b6fd2f2ea1f1645069264f09fd53c3f71e1d02f +/agent-note-explicit-agent-identity-at-runtime-boundaries: + en: f5e76516df025fc5 + zh: 462fe05b46e6c1ea +/agent-note-explicit-agent-identity-at-runtime-boundaries/problem: + en: 0b737a098e4e19ce + zh: 97b4254c4533114f +/agent-note-explicit-agent-identity-at-runtime-boundaries/decision: + en: dfee8c7c574e0001 + zh: 3894ffa7beba4348 +/agent-note-explicit-agent-identity-at-runtime-boundaries/verification: + en: 85130faaa171036b + zh: 06e5e9fab32dbfb4 +/agent-note-explicit-agent-identity-at-runtime-boundaries/alternatives-considered: + en: 2c41456509d54d21 + zh: 5704ee9a2274e300 +/agent-note-explicit-agent-identity-at-runtime-boundaries/consequences: + en: 08ab86b89fc3ec6f + zh: 3866e6557858543a diff --git a/.agents/notes/implemented/architecture/2026-08-31-released-session-format-migrations.i18n.yaml b/.agents/notes/implemented/architecture/2026-08-31-released-session-format-migrations.i18n.yaml index 008e706bbf..38dbc1ec40 100644 --- a/.agents/notes/implemented/architecture/2026-08-31-released-session-format-migrations.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-08-31-released-session-format-migrations.i18n.yaml @@ -1,6 +1,67 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-31-released-session-format-migrations.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-08-31-released-session-format-migrations.md -2026-08-31-released-session-format-migrations.md: 00672af920cf8369022b4274c1c50552f5407a7e -2026-08-31-released-session-format-migrations.zh.md: 9404d8f454b7c17be69ae064c405c4dcc0794f88 +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages: + en: 1a1d3bd9c2311ed6 + zh: 366eded1272efd63 +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/problem: + en: a1f71d6123b80d10 + zh: 8e05da34ba92686a +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/problem/whole-artifact-performance-failure: + en: 85ba92c98dd97591 + zh: c464cdd860add9c7 +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/problem/the-interfaces-prevented-local-fixes-from-composing: + en: e582758acd683242 + zh: c5a5a27af1f33af7 +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/decision: + en: 8756dc3c6235ba0b + zh: 8089fde062466c5c +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/decision/stage-and-context-protocol: + en: ed34c76e1a2c0a42 + zh: 0efe92c6c9ea314e +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/decision/adjacent-version-ownership: + en: 31e5b2e26604110e + zh: 18d27da9b4661702 +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/decision/physical-codecs-and-packed-runs: + en: 42e8d5405375cba7 + zh: efd201181e47d579 +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/decision/jsonl-integration: + en: 662859038e888672 + zh: a1646f3ff5710e8d +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/decision/durable-format-and-publication-rules: + en: 6e2a76ae14612199 + zh: 3c90fd32d292f9d0 +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/problem-to-solution-mapping: + en: 65968c18c3d1b7e9 + zh: 2e43d7ce1391d554 +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/problem-to-solution-mapping/parent-catalog-prerequisites: + en: 81b40660b49dbfb0 + zh: 67cfa3f43b6eb53e +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/problem-to-solution-mapping/catalog-scan-measurements: + en: 6b7a79fb81e58bac + zh: 51fc00eaf3a0c3dc +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/verification: + en: 061a112f789c9966 + zh: e78b0b1a83837eae +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/verification/benchmark-input-and-meanings: + en: 3cbcde15a46b4136 + zh: fe899549758f8ee3 +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/verification/physical-decode: + en: 1c79e71ee17a156f + zh: 7563d24c9f2befe8 +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/verification/historical-file-cold-open: + en: 09fe5e0aa4f57c6e + zh: a103dc631d1b0b79 +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/verification/current-format-cold-open: + en: 60f7de284f6ded10 + zh: 877b300503a4615d +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/verification/streaming-serial-migration-breakdown: + en: b9183e6c34a960dd + zh: d64ffecb289e7b74 +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/consequences: + en: fa005a93cc0b0906 + zh: 248a08f307d4c1b7 +/agent-note-released-session-formats-migrate-through-stateful-streaming-stages/alternatives-considered: + en: b70193af15b1a2ea + zh: d8a23e47e6b9cf88 diff --git a/.agents/notes/implemented/architecture/2026-09-01-jobs-absorb-activity-record.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-01-jobs-absorb-activity-record.i18n.yaml index 497481e7d2..dcd4dd469f 100644 --- a/.agents/notes/implemented/architecture/2026-09-01-jobs-absorb-activity-record.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-01-jobs-absorb-activity-record.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-01-jobs-absorb-activity-record.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-01-jobs-absorb-activity-record.md -2026-09-01-jobs-absorb-activity-record.md: 508608f7eb694bf131bad9a25e856d32c7079559 -2026-09-01-jobs-absorb-activity-record.zh.md: 2c157d951042f1cd6f8a3a66129773bc99cd5b02 +/agent-note-the-job-registry-absorbs-the-observation-record-the-standalone-activity-seam-is-removed: + en: f407477a58d20fb6 + zh: b65bc22b9e1e21c3 +/agent-note-the-job-registry-absorbs-the-observation-record-the-standalone-activity-seam-is-removed/problem: + en: a4008f3bcd1e3bd0 + zh: fa8432ddc47003c4 +/agent-note-the-job-registry-absorbs-the-observation-record-the-standalone-activity-seam-is-removed/decision: + en: c7ada6a40d92daf4 + zh: bd16a02f295c4ae2 +/agent-note-the-job-registry-absorbs-the-observation-record-the-standalone-activity-seam-is-removed/alternatives-considered: + en: 00067552f2fcb740 + zh: aa23082899db1a1a +/agent-note-the-job-registry-absorbs-the-observation-record-the-standalone-activity-seam-is-removed/review-corrections: + en: 93db5342c848587a + zh: d4e67a47d573eb39 +/agent-note-the-job-registry-absorbs-the-observation-record-the-standalone-activity-seam-is-removed/consequences: + en: c1df52910a1ee554 + zh: 50fd15ed06f07f76 diff --git a/.agents/notes/implemented/architecture/2026-09-01-parent-owned-subagent-catalog.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-01-parent-owned-subagent-catalog.i18n.yaml index 59e3f84862..895e659b3a 100644 --- a/.agents/notes/implemented/architecture/2026-09-01-parent-owned-subagent-catalog.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-01-parent-owned-subagent-catalog.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-01-parent-owned-subagent-catalog.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-01-parent-owned-subagent-catalog.md -2026-09-01-parent-owned-subagent-catalog.md: 536ec33148bd675a974622b98ee23de812691dc0 -2026-09-01-parent-owned-subagent-catalog.zh.md: ec78ff9e4b7d54a7309baf21c383ec5ff83a19c8 +/agent-note-parent-owned-subagent-catalog-events: + en: 3fc04c5406fdcf8a + zh: a103082ae858dff3 +/agent-note-parent-owned-subagent-catalog-events/problem: + en: 5a991fec31578cea + zh: 13b75aa36eb22907 +/agent-note-parent-owned-subagent-catalog-events/decision: + en: 198354f20b5d0a42 + zh: 7a6b4392117a60b5 +/agent-note-parent-owned-subagent-catalog-events/alternatives-considered: + en: 7a3d4b9f69c243d8 + zh: 82b03d16ccc94dd2 +/agent-note-parent-owned-subagent-catalog-events/consequences: + en: 97f2a8beb039a075 + zh: 80efa9f6dd12d438 diff --git a/.agents/notes/implemented/architecture/2026-09-01-v2-embedded-assistant-streams.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-01-v2-embedded-assistant-streams.i18n.yaml index 3dcffdc51a..c171926d8d 100644 --- a/.agents/notes/implemented/architecture/2026-09-01-v2-embedded-assistant-streams.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-01-v2-embedded-assistant-streams.i18n.yaml @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-01-v2-embedded-assistant-streams.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-01-v2-embedded-assistant-streams.md -2026-09-01-v2-embedded-assistant-streams.md: 89b494959fcc10a2c9847908adcf13d5eedcd749 -2026-09-01-v2-embedded-assistant-streams.zh.md: 63cb425740cd2243361ec00a6dadad82c38f6f0f +/agent-note-embed-assistant-streams-in-v2-attempt-settlements: + en: ada7ae6629d0d4e4 + zh: cc1f9a43e87d2dee +/agent-note-embed-assistant-streams-in-v2-attempt-settlements/problem: + en: 9e95306554ecd1ca + zh: 40478697fbc94e33 +/agent-note-embed-assistant-streams-in-v2-attempt-settlements/decision: + en: 14558bfaf20998db + zh: d883b1dd6f024b93 +/agent-note-embed-assistant-streams-in-v2-attempt-settlements/decision/live-presentation-and-durable-replay: + en: daf667b45ce34da3 + zh: 25b17f7b3ec14d9e +/agent-note-embed-assistant-streams-in-v2-attempt-settlements/decision/released-v1-to-v2-migration: + en: c1b5a775aa073a9a + zh: 45a16998d636aec1 +/agent-note-embed-assistant-streams-in-v2-attempt-settlements/verification: + en: 64b75fcbb0c3f819 + zh: 6fe01443a7abec72 +/agent-note-embed-assistant-streams-in-v2-attempt-settlements/alternatives-considered: + en: 74cdc6838df6172e + zh: ebca79a08ff3ebe4 +/agent-note-embed-assistant-streams-in-v2-attempt-settlements/consequences: + en: fc745b93d5e92f50 + zh: 4fa418c30e1968b4 diff --git a/.agents/notes/implemented/architecture/2026-09-02-projcache-cross-version-read-compat.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-02-projcache-cross-version-read-compat.i18n.yaml index 87f3b7c351..6a8c9879cf 100644 --- a/.agents/notes/implemented/architecture/2026-09-02-projcache-cross-version-read-compat.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-02-projcache-cross-version-read-compat.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-02-projcache-cross-version-read-compat.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-02-projcache-cross-version-read-compat.md -2026-09-02-projcache-cross-version-read-compat.md: 160c5c796bacc6f672b06acc0df4246d7008c52b -2026-09-02-projcache-cross-version-read-compat.zh.md: cff7742f6c1f887b905a2c139e4157782aef677c +/agent-note-projection-cache-predecessor-recovery-and-session-format-binding-session-projcache-v3-v6-v7: + en: 5744de86025f278d + zh: 5ba2198c13ac54f9 +/agent-note-projection-cache-predecessor-recovery-and-session-format-binding-session-projcache-v3-v6-v7/problem: + en: f8d44a69c7b5fefe + zh: 76a4fb3d87698194 +/agent-note-projection-cache-predecessor-recovery-and-session-format-binding-session-projcache-v3-v6-v7/the-on-disk-generations: + en: 221b8afd2599e139 + zh: ba1de634b87edc71 +/agent-note-projection-cache-predecessor-recovery-and-session-format-binding-session-projcache-v3-v6-v7/decision: + en: 264e40c0fb90cdc1 + zh: 2e986615bbd656cf +/agent-note-projection-cache-predecessor-recovery-and-session-format-binding-session-projcache-v3-v6-v7/decision/v3-v6-v7-disposition: + en: fe188d164c08a7f5 + zh: 30aa9e9201621f35 +/agent-note-projection-cache-predecessor-recovery-and-session-format-binding-session-projcache-v3-v6-v7/decision/upgrade-matrix: + en: 5d515bd3cb34b0ee + zh: 0648563a966759c7 +/agent-note-projection-cache-predecessor-recovery-and-session-format-binding-session-projcache-v3-v6-v7/alternatives-considered: + en: c53e111219c5da0c + zh: 8c69f6fc2e776981 +/agent-note-projection-cache-predecessor-recovery-and-session-format-binding-session-projcache-v3-v6-v7/consequences: + en: ac8b2f4a66c926ea + zh: 5a415436c2fbc4ec +/agent-note-projection-cache-predecessor-recovery-and-session-format-binding-session-projcache-v3-v6-v7/testing: + en: 495058fe5708949d + zh: 67ed95abc946d418 diff --git a/.agents/notes/implemented/architecture/2026-09-02-system-prompt-as-surface-node.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-02-system-prompt-as-surface-node.i18n.yaml index 174aa2592e..6a5de04c23 100644 --- a/.agents/notes/implemented/architecture/2026-09-02-system-prompt-as-surface-node.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-02-system-prompt-as-surface-node.i18n.yaml @@ -1,6 +1,37 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-02-system-prompt-as-surface-node.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-02-system-prompt-as-surface-node.md -2026-09-02-system-prompt-as-surface-node.md: 1500fd2350f02ab5d8f203c0d62b98832c6c5de5 -2026-09-02-system-prompt-as-surface-node.zh.md: 306f347092caa3e9daf2494fa26d290b1c1ab9a7 +/agent-note-the-system-prompt-is-surface-node-0: + en: 449b745953058cff + zh: 4db99c7d1f06e6b9 +/agent-note-the-system-prompt-is-surface-node-0/problem: + en: 9ff2541082426e31 + zh: d8f0ca49d3548f9b +/agent-note-the-system-prompt-is-surface-node-0/decision: + en: 3911ea80c5466d5e + zh: a0d6844e6f8af462 +/agent-note-the-system-prompt-is-surface-node-0/decision/the-event: + en: 35302b956efc4999 + zh: e45ee0d001b63269 +/agent-note-the-system-prompt-is-surface-node-0/decision/the-operations: + en: a217a08932938062 + zh: 4924d99d55d9c973 +/agent-note-the-system-prompt-is-surface-node-0/decision/ownership-in-the-loop: + en: 88945024c2efe271 + zh: 05dca84a4ce5e614 +/agent-note-the-system-prompt-is-surface-node-0/decision/consumers: + en: 39f9f4acffcccdc6 + zh: 36b23a57e7d28950 +/agent-note-the-system-prompt-is-surface-node-0/decision/v2-to-v3-structural-conversion: + en: 131ae882d0a28735 + zh: ea4bc81f0ba5ddec +/agent-note-the-system-prompt-is-surface-node-0/alternatives-considered: + en: 067e96734ebbce89 + zh: 9f79bc0f4942675d +/agent-note-the-system-prompt-is-surface-node-0/consequences: + en: bccea8236b4c32b3 + zh: a1150784718a6639 +/agent-note-the-system-prompt-is-surface-node-0/testing: + en: f5b21c4863cd92bd + zh: 7d1efed827d55161 diff --git a/.agents/notes/implemented/architecture/2026-09-03-jobs-seam-consolidation.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-03-jobs-seam-consolidation.i18n.yaml index 1d1a4bc731..69dfebb312 100644 --- a/.agents/notes/implemented/architecture/2026-09-03-jobs-seam-consolidation.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-03-jobs-seam-consolidation.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-03-jobs-seam-consolidation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-03-jobs-seam-consolidation.md -2026-09-03-jobs-seam-consolidation.md: 2742ff1a80ec4cc4d8e5948f63d306abb9753733 -2026-09-03-jobs-seam-consolidation.zh.md: 1fa61919a27362ce42419b57e0960e9be86ea07e +/agent-note-one-output-ring-one-projection-one-event-stream-for-background-jobs: + en: f4cb113e6501a363 + zh: 55693cca6db201b0 +/agent-note-one-output-ring-one-projection-one-event-stream-for-background-jobs/problem: + en: 2e213085523c8ebe + zh: 28229d752ccc7ec4 +/agent-note-one-output-ring-one-projection-one-event-stream-for-background-jobs/decision: + en: a7e2bd18a7e647f0 + zh: 1d8f5500a3b0502a +/agent-note-one-output-ring-one-projection-one-event-stream-for-background-jobs/alternatives-considered: + en: d5d9d6c2c05e563b + zh: 66b2489d947365fe +/agent-note-one-output-ring-one-projection-one-event-stream-for-background-jobs/consequences: + en: 23b0112bba743396 + zh: 28f38ff246b4525f diff --git a/.agents/notes/implemented/architecture/2026-09-05-canonical-feedback-log.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-05-canonical-feedback-log.i18n.yaml index f62b326074..3793dc362f 100644 --- a/.agents/notes/implemented/architecture/2026-09-05-canonical-feedback-log.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-05-canonical-feedback-log.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-05-canonical-feedback-log.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-05-canonical-feedback-log.md -2026-09-05-canonical-feedback-log.md: ce7b705b24cb0a4f7432215e19589095a9afc719 -2026-09-05-canonical-feedback-log.zh.md: 7d970ff7aea4962ea52c764fec5b6c07e3669099 +/agent-note-canonical-feedback-log-and-request-delivery: + en: 7dd56e2d495370cf + zh: 0977ed8b2f45dbe5 +/agent-note-canonical-feedback-log-and-request-delivery/problem: + en: 702e5973c264ec35 + zh: 71b095565593629c +/agent-note-canonical-feedback-log-and-request-delivery/decision: + en: 7ae952bbc9193865 + zh: f120bed1d1782470 +/agent-note-canonical-feedback-log-and-request-delivery/alternatives-considered: + en: 9ddfc84ac3a25f3b + zh: f185250a0ec512ba +/agent-note-canonical-feedback-log-and-request-delivery/consequences: + en: f1f99907cd77bdef + zh: e97b76e4a19c5581 diff --git a/.agents/notes/implemented/architecture/2026-09-05-client-resource-model.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-05-client-resource-model.i18n.yaml index aba709660e..76c55ab2c1 100644 --- a/.agents/notes/implemented/architecture/2026-09-05-client-resource-model.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-05-client-resource-model.i18n.yaml @@ -1,6 +1,40 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-05-client-resource-model.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-05-client-resource-model.md -2026-09-05-client-resource-model.md: e6ad8dae331d8a6392585f5dc8eb8fc52150bdc3 -2026-09-05-client-resource-model.zh.md: d716aa8a42f5c3037a329deabd572a56ab1b0537 +/agent-note-client-resource-model: + en: 48276fc837820219 + zh: 2d99ee9eae22e1e0 +/agent-note-client-resource-model/problem: + en: 22aec3ac5b197342 + zh: 0cd0b1f8094addb3 +/agent-note-client-resource-model/decision: + en: 78afa8698a884b98 + zh: b33cfcae7e75660f +/agent-note-client-resource-model/decision/addresses: + en: 180e3e39813a93b1 + zh: 845befb7c760f7e1 +/agent-note-client-resource-model/decision/the-service: + en: f42277e961bb7209 + zh: 9f3f8a50ad55cf4a +/agent-note-client-resource-model/decision/the-hook: + en: 4f082c4f5a44320a + zh: eba5449b7a1fd52e +/agent-note-client-resource-model/decision/frames: + en: bc1c4e9a9e8e9b20 + zh: f80a77ee66943ce4 +/agent-note-client-resource-model/decision/lifecycle: + en: 4c11bfba97a54646 + zh: a07bda77e918d613 +/agent-note-client-resource-model/alternatives-considered: + en: 288b448e7f1de8af + zh: 997e10c66decce34 +/agent-note-client-resource-model/consequences: + en: 3eda54cb5d74ed00 + zh: ce60b6fef04acb9a +/agent-note-client-resource-model/testing: + en: ca2c610e4f0352ac + zh: fbaa69ee8de7e4c1 +/agent-note-client-resource-model/deferred: + en: 312b46f16d88f301 + zh: a530b3940859079c diff --git a/.agents/notes/implemented/architecture/2026-09-05-nonofficial-feedback-otel.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-05-nonofficial-feedback-otel.i18n.yaml index 58f161426a..fcea6899f3 100644 --- a/.agents/notes/implemented/architecture/2026-09-05-nonofficial-feedback-otel.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-05-nonofficial-feedback-otel.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-05-nonofficial-feedback-otel.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-05-nonofficial-feedback-otel.md -2026-09-05-nonofficial-feedback-otel.md: 8225d8bea030c4f09b60fd1a228f0425e9489d39 -2026-09-05-nonofficial-feedback-otel.zh.md: e8ea48b3fe2f228ef57ae1a20f92100dfc333f9c +/agent-note-explicit-feedback-only-upload-through-opentelemetry: + en: 96caaaf6a4efc8cf + zh: 2ef629917f3f2567 +/agent-note-explicit-feedback-only-upload-through-opentelemetry/problem: + en: 7849f56f36e297e8 + zh: b98da01a1fd5d974 +/agent-note-explicit-feedback-only-upload-through-opentelemetry/decision: + en: c4558bdfc95ee2f2 + zh: 4fc88ffa4512b66a +/agent-note-explicit-feedback-only-upload-through-opentelemetry/alternatives-considered: + en: 21376ce3ebef2662 + zh: d3168b64bdf093bf +/agent-note-explicit-feedback-only-upload-through-opentelemetry/consequences: + en: 7daf3ebf1bfd2124 + zh: f2cec93e3069a973 diff --git a/.agents/notes/implemented/architecture/2026-09-05-package-manifest-types.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-05-package-manifest-types.i18n.yaml index 1e9e2e658d..1cbd6713ec 100644 --- a/.agents/notes/implemented/architecture/2026-09-05-package-manifest-types.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-05-package-manifest-types.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-05-package-manifest-types.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-05-package-manifest-types.md -2026-09-05-package-manifest-types.md: dc018ba019028b942a17cd016c8670f2405c3bc7 -2026-09-05-package-manifest-types.zh.md: 8fd323bfe6058a6a062e3834a8630c0181a203fc +/agent-note-package-manifest-declaration-ownership: + en: 26d50551c7d49cf8 + zh: eac4a93af773c945 +/agent-note-package-manifest-declaration-ownership/problem: + en: bdc0fcaf27081889 + zh: 45eb034edd0bed82 +/agent-note-package-manifest-declaration-ownership/decision: + en: da43234e14fa9bd5 + zh: 0389015e086f4e25 +/agent-note-package-manifest-declaration-ownership/alternatives-considered: + en: bf99e75ffab5cb45 + zh: 398f5934858aaca5 +/agent-note-package-manifest-declaration-ownership/consequences: + en: ce7c3df526622bf2 + zh: 91d51dff77371cb0 diff --git a/.agents/notes/implemented/architecture/2026-09-05-read-only-session-migration-preparation.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-05-read-only-session-migration-preparation.i18n.yaml index c71a86687b..93080791e0 100644 --- a/.agents/notes/implemented/architecture/2026-09-05-read-only-session-migration-preparation.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-05-read-only-session-migration-preparation.i18n.yaml @@ -1,6 +1,52 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-05-read-only-session-migration-preparation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-05-read-only-session-migration-preparation.md -2026-09-05-read-only-session-migration-preparation.md: 081044e34d5071ba242792c588f43a3b83adddd5 -2026-09-05-read-only-session-migration-preparation.zh.md: 7406e7cf31112df6c9f6bb0d454f38d0cf7eb6a4 +/agent-note-historical-session-reads-prepare-before-write-publication: + en: 9b0c300b8c4ea348 + zh: fb248e39c7c82d21 +/agent-note-historical-session-reads-prepare-before-write-publication/problem: + en: 1064c02bdd0829f6 + zh: b8804a72c487d7f6 +/agent-note-historical-session-reads-prepare-before-write-publication/problem/serial-readiness-cost: + en: d1a38e3967176a41 + zh: 746d22a7b65bbacf +/agent-note-historical-session-reads-prepare-before-write-publication/problem/a-naive-split-would-break-lifecycle-guarantees: + en: b6c28b36e59cff21 + zh: 7c52d50d332204ad +/agent-note-historical-session-reads-prepare-before-write-publication/decision: + en: b1c9289331cc1b1c + zh: cddc6fba651201b3 +/agent-note-historical-session-reads-prepare-before-write-publication/decision/prepared-generation-api: + en: 70013314a5ab75c2 + zh: dc83dc7254554951 +/agent-note-historical-session-reads-prepare-before-write-publication/decision/preparation-ownership-and-cancellation: + en: 1e0583523a341ec1 + zh: a78b8cac656559e9 +/agent-note-historical-session-reads-prepare-before-write-publication/decision/read-handle-transition: + en: a74f92b2e6224c7e + zh: 0190d524f8c84770 +/agent-note-historical-session-reads-prepare-before-write-publication/decision/write-open-publication: + en: 9d2d50cb76754b74 + zh: 9ceed3652475f18d +/agent-note-historical-session-reads-prepare-before-write-publication/decision/follow-and-agent-promotion: + en: 692c29db3e7ab07e + zh: 7da0cfdbc80f407d +/agent-note-historical-session-reads-prepare-before-write-publication/problem-to-solution-mapping: + en: e067e187cd4d0a8c + zh: b0c79b635a637296 +/agent-note-historical-session-reads-prepare-before-write-publication/verification: + en: b2b07b60141996ac + zh: 5280ee3455b8c953 +/agent-note-historical-session-reads-prepare-before-write-publication/verification/first-opening-of-historical-data: + en: 048ea8684231ac22 + zh: 83591137f214478b +/agent-note-historical-session-reads-prepare-before-write-publication/verification/scheduling-observation-points: + en: a91766778611df3b + zh: 2a38f5a865dcd413 +/agent-note-historical-session-reads-prepare-before-write-publication/consequences: + en: 4482da434feb62a0 + zh: 38bf9bbb99d3e246 +/agent-note-historical-session-reads-prepare-before-write-publication/alternatives-considered: + en: c11bc9a1ad9a8568 + zh: 717da2fad77cff17 diff --git a/.agents/notes/implemented/architecture/2026-09-05-shared-client-control-primitives.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-05-shared-client-control-primitives.i18n.yaml index 55f30d278a..d7f7c0dc3b 100644 --- a/.agents/notes/implemented/architecture/2026-09-05-shared-client-control-primitives.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-05-shared-client-control-primitives.i18n.yaml @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-05-shared-client-control-primitives.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-05-shared-client-control-primitives.md -2026-09-05-shared-client-control-primitives.md: db8cb9a8bc515918867b27b216fe8edb50c392db -2026-09-05-shared-client-control-primitives.zh.md: 6d4b04a21bf224eaa32b5fbdfb2bf1c3a2cd804d +/agent-note-shared-client-control-primitives: + en: 53e5c771078f4383 + zh: 59e4cc45d06adbee +/agent-note-shared-client-control-primitives/problem: + en: 7a711c1cafe0be88 + zh: 7275b36fdd5094f6 +/agent-note-shared-client-control-primitives/decision: + en: cc335d6820b9ab1c + zh: e375bababc0fccdb +/agent-note-shared-client-control-primitives/finding-the-duplicates: + en: f50ed2aea00a34c5 + zh: a8a27c1d1e0177a8 +/agent-note-shared-client-control-primitives/what-stays-local: + en: e4fb0a84b9924d5a + zh: 30545265b2159f04 +/agent-note-shared-client-control-primitives/alternatives-considered: + en: f77deaa327bc5395 + zh: be8450b665be04bf +/agent-note-shared-client-control-primitives/testing: + en: 578f6bad674e4c40 + zh: 0a8f2e72bb4d1f61 +/agent-note-shared-client-control-primitives/consequences: + en: f94dd6f669d00276 + zh: a67de4bd3f242232 diff --git a/.agents/notes/implemented/architecture/2026-09-05-sidebar-tab-types-and-navigation.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-05-sidebar-tab-types-and-navigation.i18n.yaml index 577fbe18d0..f7b369d628 100644 --- a/.agents/notes/implemented/architecture/2026-09-05-sidebar-tab-types-and-navigation.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-05-sidebar-tab-types-and-navigation.i18n.yaml @@ -1,6 +1,43 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-05-sidebar-tab-types-and-navigation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-05-sidebar-tab-types-and-navigation.md -2026-09-05-sidebar-tab-types-and-navigation.md: 599ce36ed4bb1dfc2cce063a461903e1a4aeb40e -2026-09-05-sidebar-tab-types-and-navigation.zh.md: e4e8de5a389fea77aae705d63cc4fb16f88af647 +/agent-note-right-sidebar-tab-types-and-navigation: + en: 2860d8acc82e4a85 + zh: 7b09ac61a684e36d +/agent-note-right-sidebar-tab-types-and-navigation/problem: + en: 1db34c36cf2dc2bd + zh: 4d4e8d3f09ac18c6 +/agent-note-right-sidebar-tab-types-and-navigation/decision: + en: 905fd6fbedad540f + zh: 5420c0dff38012d8 +/agent-note-right-sidebar-tab-types-and-navigation/decision/the-type-registry-ctx-sidebarrighttabs: + en: 9c0a993b39b2c92f + zh: 0e0c008e425f47e4 +/agent-note-right-sidebar-tab-types-and-navigation/decision/bodies-and-titles-keyed-slot-seats-under-the-definition-s-id: + en: 9e80f2d213b394fe + zh: 79f2e5c504b9863e +/agent-note-right-sidebar-tab-types-and-navigation/decision/tab-occurrence-information: + en: 774c3bf80a48ffbe + zh: c513245789aa8efd +/agent-note-right-sidebar-tab-types-and-navigation/decision/navigation-ctx-sidebarright: + en: b32bad4c3b8c2cc8 + zh: 57ba7b8d3451e478 +/agent-note-right-sidebar-tab-types-and-navigation/decision/addresses: + en: eeb1e7e7478a2f2c + zh: bddbc5bc78245f63 +/agent-note-right-sidebar-tab-types-and-navigation/decision/entry-points: + en: 6386bde2654f9a0a + zh: 700439be6a01e162 +/agent-note-right-sidebar-tab-types-and-navigation/alternatives-considered: + en: 91fbca006e8de5bc + zh: f48d3ce1dd7b63bf +/agent-note-right-sidebar-tab-types-and-navigation/consequences: + en: 3cdb1159ee55d851 + zh: dcd068005e678a89 +/agent-note-right-sidebar-tab-types-and-navigation/testing: + en: 49449a6c8465c098 + zh: 1f476cc1226aa9cd +/agent-note-right-sidebar-tab-types-and-navigation/deferred: + en: fa27b7684e38329b + zh: d270e0cdcab73732 diff --git a/.agents/notes/implemented/architecture/2026-09-05-workspace-files-service.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-05-workspace-files-service.i18n.yaml index f44cffc1fa..d8cfb7a469 100644 --- a/.agents/notes/implemented/architecture/2026-09-05-workspace-files-service.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-05-workspace-files-service.i18n.yaml @@ -1,6 +1,52 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-05-workspace-files-service.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-05-workspace-files-service.md -2026-09-05-workspace-files-service.md: 65bebf18175d9a94452c92cd36ada3c5ef267ce5 -2026-09-05-workspace-files-service.zh.md: b4ca420042dc702f9bc1eaf5bb09f2667a19322d +/agent-note-workspace-file-service: + en: 4f48d3f949d8e3eb + zh: 4060f4e66c36439e +/agent-note-workspace-file-service/problem: + en: 55d969715a48c9b3 + zh: 755dab7523cd01c2 +/agent-note-workspace-file-service/decision: + en: 6ab2a1f635cfc87c + zh: 369e3ed9b6cdc159 +/agent-note-workspace-file-service/decision/package-topology: + en: 59c3648960630ff8 + zh: 1891f8659e660e45 +/agent-note-workspace-file-service/decision/the-workspacefiles-file-operations: + en: cb489857d97a1b11 + zh: b1a7880df5607c05 +/agent-note-workspace-file-service/decision/paths-on-the-wire: + en: 7b5a96adc08177bc + zh: ae4692e5e62e7de0 +/agent-note-workspace-file-service/decision/file-checks-and-workspace-containment: + en: 4399dcc29336f886 + zh: 69cf2fc174dc83a2 +/agent-note-workspace-file-service/decision/failures: + en: 0e419dd7bdcf38ba + zh: 6cb588a77593913c +/agent-note-workspace-file-service/decision/configuration: + en: 796ee295af0895bd + zh: 4dfa113ed19f5f9a +/agent-note-workspace-file-service/decision/the-readbyterange-seam-in-dsh-fs: + en: 24d84843c56a012a + zh: 058f959527589302 +/agent-note-workspace-file-service/decision/the-client-file-provider: + en: 0d42d4716dde706f + zh: 4e95b8af2df232b6 +/agent-note-workspace-file-service/decision/related-notes: + en: 6e8cfa03b5222af6 + zh: efdf8f17757fc378 +/agent-note-workspace-file-service/alternatives-considered: + en: 3d598eb6d03d05e5 + zh: 7dac0b7af471a651 +/agent-note-workspace-file-service/consequences: + en: 246bb7aed62f6c9b + zh: debf6d4129ee477b +/agent-note-workspace-file-service/testing: + en: 3ab0dabf8ef85258 + zh: c3d0a634bb5e2928 +/agent-note-workspace-file-service/deferred: + en: b033218338ca0122 + zh: aa48fa67f9eb36c3 diff --git a/.agents/notes/implemented/architecture/2026-09-06-embedded-stream-record-readers.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-06-embedded-stream-record-readers.i18n.yaml index f19cf66c4d..f95de9ad8f 100644 --- a/.agents/notes/implemented/architecture/2026-09-06-embedded-stream-record-readers.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-06-embedded-stream-record-readers.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-06-embedded-stream-record-readers.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-06-embedded-stream-record-readers.md -2026-09-06-embedded-stream-record-readers.md: efad86a4f940bf3b56d4b141a8fe1e3659c8dd9c -2026-09-06-embedded-stream-record-readers.zh.md: f7131a27171163954bca8b7013dc6d90f907c552 +/agent-note-embedded-assistant-stream-consumers-read-compact-records: + en: ddc3fed8aa76c1b8 + zh: 409dcb67ef28080e +/agent-note-embedded-assistant-stream-consumers-read-compact-records/problem: + en: 34ceceb99e246ae6 + zh: 0a18314b78557205 +/agent-note-embedded-assistant-stream-consumers-read-compact-records/decision: + en: ad50509c41a7dacf + zh: c8170641203a3184 +/agent-note-embedded-assistant-stream-consumers-read-compact-records/decision/measurements: + en: 2eedf644fa07e35a + zh: cb691c75fbeda518 +/agent-note-embedded-assistant-stream-consumers-read-compact-records/alternatives-considered: + en: 66b6007d582f7521 + zh: a33aa19f7c912fa2 +/agent-note-embedded-assistant-stream-consumers-read-compact-records/consequences: + en: 05cf037a97b4254d + zh: 1a45fae2447678c2 diff --git a/.agents/notes/implemented/architecture/2026-09-06-v3-canonical-session-envelopes.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-06-v3-canonical-session-envelopes.i18n.yaml index e834c8bf6f..85d812f262 100644 --- a/.agents/notes/implemented/architecture/2026-09-06-v3-canonical-session-envelopes.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-06-v3-canonical-session-envelopes.i18n.yaml @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-06-v3-canonical-session-envelopes.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-06-v3-canonical-session-envelopes.md -2026-09-06-v3-canonical-session-envelopes.md: 68d4386b9e06025fd44d6d9054a95fb51ec8bc3e -2026-09-06-v3-canonical-session-envelopes.zh.md: d3bfc17fa263f8edb0b6f73ce59c626d772dbc1e +/agent-note-canonical-v3-session-event-envelopes: + en: 17b0c507058d0bba + zh: cc281197005d02c8 +/agent-note-canonical-v3-session-event-envelopes/problem: + en: 60cc4d9e1122118f + zh: c1e8d767dc1999e8 +/agent-note-canonical-v3-session-event-envelopes/decision: + en: f75747b415bfd13b + zh: 18e5e35853e4b506 +/agent-note-canonical-v3-session-event-envelopes/decision/validation-ownership: + en: 6fb18468df0b93e1 + zh: 8dd4dd58a883884f +/agent-note-canonical-v3-session-event-envelopes/decision/released-v2-to-v3-conversion: + en: 1f76511cc4c2fcfd + zh: 77633f9860f14d9d +/agent-note-canonical-v3-session-event-envelopes/alternatives-considered: + en: 08c196bc596a0b2a + zh: 55bbbec345e9a078 +/agent-note-canonical-v3-session-event-envelopes/consequences: + en: 9e88dd3830fb0522 + zh: 8be0d8bde8d0d9d2 +/agent-note-canonical-v3-session-event-envelopes/verification: + en: 31ec0b1095035042 + zh: 05d9f08138da1136 diff --git a/.agents/notes/implemented/architecture/2026-09-07-prebuilt-system-primitives.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-07-prebuilt-system-primitives.i18n.yaml index c11c54f6a9..8a100c6c1a 100644 --- a/.agents/notes/implemented/architecture/2026-09-07-prebuilt-system-primitives.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-07-prebuilt-system-primitives.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-07-prebuilt-system-primitives.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-07-prebuilt-system-primitives.md -2026-09-07-prebuilt-system-primitives.md: 183cd3ea984cd779417493f0de17a770f38fc001 -2026-09-07-prebuilt-system-primitives.zh.md: f051bba92910086601aa48a877f360e276df524d +/agent-note-prebuilt-system-primitives: + en: eb306b6649dcf8a0 + zh: eab9d3d896e40603 +/agent-note-prebuilt-system-primitives/problem: + en: 1d7458b11272d21a + zh: 534ac9709711f964 +/agent-note-prebuilt-system-primitives/decision: + en: 80093fd5aae0005f + zh: 56f9aa9549c03e7c +/agent-note-prebuilt-system-primitives/alternatives-considered: + en: 8dc5c0319fe6c7eb + zh: 26722ae58a788d0b +/agent-note-prebuilt-system-primitives/consequences: + en: cd0a9aa852ac178b + zh: 6f5376d64625da88 diff --git a/.agents/notes/implemented/architecture/2026-09-07-sidebar-responsive-tab-info.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-07-sidebar-responsive-tab-info.i18n.yaml index 3a61bfea9c..dd4a23fe04 100644 --- a/.agents/notes/implemented/architecture/2026-09-07-sidebar-responsive-tab-info.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-07-sidebar-responsive-tab-info.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-07-sidebar-responsive-tab-info.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-07-sidebar-responsive-tab-info.md -2026-09-07-sidebar-responsive-tab-info.md: 96f7f047d00a33d6cd48b026ce7762929720d9d6 -2026-09-07-sidebar-responsive-tab-info.zh.md: f020068e71777272fd15a967de547ce153884402 +/agent-note-responsive-sidebar-and-injected-tab-information: + en: 63ced560202cf1a3 + zh: 1ec49cd5ae68f909 +/agent-note-responsive-sidebar-and-injected-tab-information/problem: + en: f9824b1d6f93d329 + zh: 36bc474f646a1a25 +/agent-note-responsive-sidebar-and-injected-tab-information/decision: + en: 1a055f79cb0afcde + zh: 78467751791d42d1 +/agent-note-responsive-sidebar-and-injected-tab-information/alternatives-considered: + en: c05a3ca9a201f01a + zh: b1b30e134a92c8ed +/agent-note-responsive-sidebar-and-injected-tab-information/consequences: + en: 852e827be572c626 + zh: 125ac90be15a5187 diff --git a/.agents/notes/implemented/architecture/2026-09-07-workspace-files-dual-face-package.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-07-workspace-files-dual-face-package.i18n.yaml index 2b1ef7d81a..2d222100c4 100644 --- a/.agents/notes/implemented/architecture/2026-09-07-workspace-files-dual-face-package.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-07-workspace-files-dual-face-package.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-07-workspace-files-dual-face-package.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-07-workspace-files-dual-face-package.md -2026-09-07-workspace-files-dual-face-package.md: adc900865cb8d5f19518828a9cb230a835d025f5 -2026-09-07-workspace-files-dual-face-package.zh.md: ccfa60417284129a280efd7ddad2ea275c242f1e +/agent-note-workspace-files-as-one-dual-face-api-package: + en: fee20bed1c4f69d2 + zh: 8897bf7430250d46 +/agent-note-workspace-files-as-one-dual-face-api-package/problem: + en: 057ac188f6269740 + zh: 4ed1c2f6c3015efb +/agent-note-workspace-files-as-one-dual-face-api-package/decision: + en: 36fdbb0b44b1bb5e + zh: 87a7a9b45231cf28 +/agent-note-workspace-files-as-one-dual-face-api-package/alternatives-considered: + en: 45a93fced31f5980 + zh: 9283fbda48828416 +/agent-note-workspace-files-as-one-dual-face-api-package/consequences: + en: d4558eea4ac3a00b + zh: e625747fd469f146 +/agent-note-workspace-files-as-one-dual-face-api-package/verification: + en: 4c49a2ec778623e8 + zh: 94eacb1ee8e4d36d diff --git a/.agents/notes/implemented/architecture/2026-09-08-desktop-bundled-runtime-and-external-plugins.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-08-desktop-bundled-runtime-and-external-plugins.i18n.yaml index 552cf1b424..6e302c76a3 100644 --- a/.agents/notes/implemented/architecture/2026-09-08-desktop-bundled-runtime-and-external-plugins.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-08-desktop-bundled-runtime-and-external-plugins.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-desktop-bundled-runtime-and-external-plugins.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-08-desktop-bundled-runtime-and-external-plugins.md -2026-09-08-desktop-bundled-runtime-and-external-plugins.md: 61fa9eafb72133d4cbba1b65193275cc8474f7e5 -2026-09-08-desktop-bundled-runtime-and-external-plugins.zh.md: 8d94d5823526ab4e615dab13f8453c8b6da5d8b6 +/agent-note-bundle-the-desktop-runtime-and-retain-external-plugins: + en: f4c2a14c7f0dbd02 + zh: 5c9b9b68885f3ee0 +/agent-note-bundle-the-desktop-runtime-and-retain-external-plugins/problem: + en: fe97fe6ba33cb23a + zh: c83a1f023c4e352d +/agent-note-bundle-the-desktop-runtime-and-retain-external-plugins/decision: + en: e01df5ba880c2972 + zh: e62074a6a9ba5685 +/agent-note-bundle-the-desktop-runtime-and-retain-external-plugins/package-ownership: + en: 37cae6b28fd359ef + zh: 63118e361fa8f84c +/agent-note-bundle-the-desktop-runtime-and-retain-external-plugins/transactions-and-upgrades: + en: 5bdc450be55832fb + zh: 3312fc9e5497e139 +/agent-note-bundle-the-desktop-runtime-and-retain-external-plugins/alternatives-considered: + en: 1558bba473382cbb + zh: b6a6467866ee254d +/agent-note-bundle-the-desktop-runtime-and-retain-external-plugins/consequences: + en: 6dfa581ec6879c5b + zh: f6c735ad6a00b2b3 diff --git a/.agents/notes/implemented/architecture/2026-09-08-desktop-welcome-window-material.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-08-desktop-welcome-window-material.i18n.yaml index 744cb14c8d..5de2a3a586 100644 --- a/.agents/notes/implemented/architecture/2026-09-08-desktop-welcome-window-material.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-08-desktop-welcome-window-material.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-desktop-welcome-window-material.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-08-desktop-welcome-window-material.md -2026-09-08-desktop-welcome-window-material.md: 4ee5f6d2934378b06754c4a8f134a4ca07a80840 -2026-09-08-desktop-welcome-window-material.zh.md: 1689af8481925c787c1d2412173fbd7d8c2f4b64 +/agent-note-desktop-welcome-window-material: + en: a362add86cddc144 + zh: c6f482e5f9a66bdf +/agent-note-desktop-welcome-window-material/problem: + en: 8578b584bda3abdc + zh: 85dcf44aab2cfd51 +/agent-note-desktop-welcome-window-material/decision: + en: df31ede930b7c3c0 + zh: c7fc4272bc6b2d85 +/agent-note-desktop-welcome-window-material/alternatives-considered: + en: 6e095dceffe75fa8 + zh: 679a6026afd735a7 +/agent-note-desktop-welcome-window-material/consequences: + en: 8ab73e6c67f4ce88 + zh: 6b1edad02f90ba5b diff --git a/.agents/notes/implemented/architecture/2026-09-08-document-preview-operations.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-08-document-preview-operations.i18n.yaml index 6ccdf5d446..ec7374517f 100644 --- a/.agents/notes/implemented/architecture/2026-09-08-document-preview-operations.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-08-document-preview-operations.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-document-preview-operations.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-08-document-preview-operations.md -2026-09-08-document-preview-operations.md: 220db6db0474f244f902cdeb89b297856243672b -2026-09-08-document-preview-operations.zh.md: 7b838711e5118b8fcc072e4efb753abfc9756b56 +/agent-note-document-preview-and-file-addresses: + en: fffa621b7586f221 + zh: d9c7e9bea55fc11f +/agent-note-document-preview-and-file-addresses/problem: + en: a35075e6babe3f7a + zh: 3a64ac57761e1009 +/agent-note-document-preview-and-file-addresses/decision: + en: d0a2923efefbcfe1 + zh: 34f71d092c0e706b +/agent-note-document-preview-and-file-addresses/alternatives-considered: + en: 8e9616e954df488c + zh: 10801341ec53bbe8 +/agent-note-document-preview-and-file-addresses/consequences: + en: cc810ba19e203ead + zh: 9421857a5eb2abe2 diff --git a/.agents/notes/implemented/architecture/2026-09-08-global-main-panels.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-08-global-main-panels.i18n.yaml index 35d6b7f310..d16bba3786 100644 --- a/.agents/notes/implemented/architecture/2026-09-08-global-main-panels.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-08-global-main-panels.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-global-main-panels.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-08-global-main-panels.md -2026-09-08-global-main-panels.md: 63530a6b498bd8099cf627d82c888846d3d96767 -2026-09-08-global-main-panels.zh.md: 776787c3de3b79ca7948dcf949ac0393f87e7808 +/agent-note-global-main-panels-without-default-ui-additions: + en: df950323f9032f3b + zh: d08172be0c9ca71c +/agent-note-global-main-panels-without-default-ui-additions/problem: + en: da6aa479acac3baf + zh: ed6316ea9953ff99 +/agent-note-global-main-panels-without-default-ui-additions/decision: + en: e732d64ac12c0ac5 + zh: e8ff462ae93bf259 +/agent-note-global-main-panels-without-default-ui-additions/alternatives-considered: + en: 18c8461d961490ee + zh: a26b37ff3aa15bbc +/agent-note-global-main-panels-without-default-ui-additions/consequences: + en: 31db82c87448a292 + zh: 1923a60d2f0845f9 diff --git a/.agents/notes/implemented/architecture/2026-09-09-awaited-agent-creation.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-09-awaited-agent-creation.i18n.yaml index 50f7a2eb8b..a8255aa82a 100644 --- a/.agents/notes/implemented/architecture/2026-09-09-awaited-agent-creation.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-09-awaited-agent-creation.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-awaited-agent-creation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-09-awaited-agent-creation.md -2026-09-09-awaited-agent-creation.md: 27353225a8d99d038d5c61b1eea0fa67d9120a55 -2026-09-09-awaited-agent-creation.zh.md: f664e89da0794acd1d2a6c0c8a4820a7056dcac6 +/agent-note-awaited-per-agent-initialization: + en: 982ac05aa02da2f0 + zh: 225f89c994efb1c4 +/agent-note-awaited-per-agent-initialization/problem: + en: 03e6b75365b29406 + zh: cc880a33cf2303d0 +/agent-note-awaited-per-agent-initialization/decision: + en: f1db71d1fdb4388e + zh: 6c5a43a770f4cffd +/agent-note-awaited-per-agent-initialization/alternatives-considered: + en: 466a9ebbb13f68c6 + zh: ab88fb34786d2c2b +/agent-note-awaited-per-agent-initialization/consequences: + en: d8cfe8d88ccacfc8 + zh: 8d2aa21408e6e40e diff --git a/.agents/notes/implemented/architecture/2026-09-09-consumer-owned-startup-strictness.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-09-consumer-owned-startup-strictness.i18n.yaml index bf6ed1340c..51149ea2fb 100644 --- a/.agents/notes/implemented/architecture/2026-09-09-consumer-owned-startup-strictness.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-09-consumer-owned-startup-strictness.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-consumer-owned-startup-strictness.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-09-consumer-owned-startup-strictness.md -2026-09-09-consumer-owned-startup-strictness.md: bbe975e13b251e2e0d18c4e002efbf1d362548f3 -2026-09-09-consumer-owned-startup-strictness.zh.md: 4bd2bfe026a13ccbd46215d2c0165b5a8c5327f7 +/agent-note-consumer-owned-startup-strictness: + en: 52b6747530b4c023 + zh: dc2f8c1f0c300d0a +/agent-note-consumer-owned-startup-strictness/problem: + en: 4548e7fbdbee5b5a + zh: 0078762ea92fa180 +/agent-note-consumer-owned-startup-strictness/decision: + en: eb2b83f5f65c6b6a + zh: b85a9aa4645c9a20 +/agent-note-consumer-owned-startup-strictness/alternatives-considered: + en: 1b67e062213184cd + zh: 91cc8a015de2bfe4 +/agent-note-consumer-owned-startup-strictness/consequences: + en: 283dec1b336c540d + zh: 2ed358079072cfff +/agent-note-consumer-owned-startup-strictness/testing: + en: d8cafae30ea1347b + zh: de47e4e7ba863261 diff --git a/.agents/notes/implemented/architecture/2026-09-09-deprecate-synchronous-session-event-reads.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-09-deprecate-synchronous-session-event-reads.i18n.yaml index 0cae49b087..f52d6e969f 100644 --- a/.agents/notes/implemented/architecture/2026-09-09-deprecate-synchronous-session-event-reads.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-09-deprecate-synchronous-session-event-reads.i18n.yaml @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-deprecate-synchronous-session-event-reads.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-09-deprecate-synchronous-session-event-reads.md -2026-09-09-deprecate-synchronous-session-event-reads.md: a2a86b0d6500269531ca1088738aaa612076bfb4 -2026-09-09-deprecate-synchronous-session-event-reads.zh.md: 38468708a5323b6ebf94377f3cc8f2c86dc95dde +/agent-note-deprecate-synchronous-reads-of-arbitrary-session-events: + en: c8011fa4e61dea2f + zh: afb60a2e5d39f6dc +/agent-note-deprecate-synchronous-reads-of-arbitrary-session-events/problem: + en: 95224617f6a308be + zh: 1d4187bb1e50efb4 +/agent-note-deprecate-synchronous-reads-of-arbitrary-session-events/decision: + en: 29d7cb4415f01a29 + zh: a414d90693e7150e +/agent-note-deprecate-synchronous-reads-of-arbitrary-session-events/decision/state-needed-after-resume: + en: e393309432e87d21 + zh: e1de0efa07abfdba +/agent-note-deprecate-synchronous-reads-of-arbitrary-session-events/decision/operations-that-require-complete-history: + en: 38653e50be5bd235 + zh: a2e4dead2ad61124 +/agent-note-deprecate-synchronous-reads-of-arbitrary-session-events/alternatives-considered: + en: 82d983c9c1110797 + zh: 2f491c4bb559b4f2 +/agent-note-deprecate-synchronous-reads-of-arbitrary-session-events/consequences: + en: eadd46697f6ad6bf + zh: 38de0e9a72c027e9 +/agent-note-deprecate-synchronous-reads-of-arbitrary-session-events/related-decisions: + en: 037813a1627520ee + zh: b0f7a75ab4c26bff diff --git a/.agents/notes/implemented/architecture/2026-09-09-desktop-build-release-validation.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-09-desktop-build-release-validation.i18n.yaml index c41d31830d..2516370b2e 100644 --- a/.agents/notes/implemented/architecture/2026-09-09-desktop-build-release-validation.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-09-desktop-build-release-validation.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-desktop-build-release-validation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-09-desktop-build-release-validation.md -2026-09-09-desktop-build-release-validation.md: 23aeeaa98d2647f8b9f54e94ea2aedaa82b19e55 -2026-09-09-desktop-build-release-validation.zh.md: 266bca5bbd593907c9a8fadd43050113ede94100 +/agent-note-verify-desktop-release-compatibility-during-packaging: + en: 4183cb362d89a8fb + zh: ede5e45ba6245b6b +/agent-note-verify-desktop-release-compatibility-during-packaging/problem: + en: ae3f1e31ba929c0e + zh: 1a42684e41531547 +/agent-note-verify-desktop-release-compatibility-during-packaging/decision: + en: 352372f213c43a76 + zh: 54dc9826254e56f2 +/agent-note-verify-desktop-release-compatibility-during-packaging/alternatives-considered: + en: 515cec0d22c8373c + zh: e3a5b3058b6316c2 +/agent-note-verify-desktop-release-compatibility-during-packaging/consequences: + en: 5193e3ce82faa984 + zh: 1bd7a31152e3b71c diff --git a/.agents/notes/implemented/architecture/2026-09-09-desktop-immediate-window-and-direct-start.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-09-desktop-immediate-window-and-direct-start.i18n.yaml index 628396c454..ecc422ab61 100644 --- a/.agents/notes/implemented/architecture/2026-09-09-desktop-immediate-window-and-direct-start.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-09-desktop-immediate-window-and-direct-start.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-desktop-immediate-window-and-direct-start.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-09-desktop-immediate-window-and-direct-start.md -2026-09-09-desktop-immediate-window-and-direct-start.md: e7ccf9b7456213d69795a40d9cd2a8509adfc44e -2026-09-09-desktop-immediate-window-and-direct-start.zh.md: c59cc91f0013293cbaf2c086822085000dd3afd2 +/agent-note-show-the-desktop-window-before-starting-the-host: + en: aed1efe0e21399a1 + zh: dd45a0ed4bfa731e +/agent-note-show-the-desktop-window-before-starting-the-host/problem: + en: bd8f14bc0beaac9e + zh: 20b0521f27ad231f +/agent-note-show-the-desktop-window-before-starting-the-host/decision: + en: 6ac14061a85b3da6 + zh: ec35f11c15b34be8 +/agent-note-show-the-desktop-window-before-starting-the-host/alternatives-considered: + en: 4d476b25f3647e1b + zh: 4a1b0252005c8c22 +/agent-note-show-the-desktop-window-before-starting-the-host/consequences: + en: 98119090f2133d33 + zh: 53ad4539d677ee4e diff --git a/.agents/notes/implemented/architecture/2026-09-09-plugin-management-in-the-web-sidebar.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-09-plugin-management-in-the-web-sidebar.i18n.yaml index 030a4eadb9..6c34e86274 100644 --- a/.agents/notes/implemented/architecture/2026-09-09-plugin-management-in-the-web-sidebar.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-09-plugin-management-in-the-web-sidebar.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-plugin-management-in-the-web-sidebar.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-09-plugin-management-in-the-web-sidebar.md -2026-09-09-plugin-management-in-the-web-sidebar.md: ba359aeefe3883445fd5f3e3dc164262e0613219 -2026-09-09-plugin-management-in-the-web-sidebar.zh.md: 91664deeb422c1dc6c34f826a85f398183128d1c +/agent-note-plugin-management-moves-to-the-web-sidebar: + en: efdb6c8f366dd2c2 + zh: 5c55e2882753d481 +/agent-note-plugin-management-moves-to-the-web-sidebar/problem: + en: b0d11556425397b0 + zh: 00968088bec13102 +/agent-note-plugin-management-moves-to-the-web-sidebar/decision: + en: eb93a33f64907b80 + zh: 4073f2da219ad798 +/agent-note-plugin-management-moves-to-the-web-sidebar/alternatives-considered: + en: e5cea1a5e97884be + zh: d5544ae935a48f0a +/agent-note-plugin-management-moves-to-the-web-sidebar/consequences: + en: 74c0051937f03444 + zh: 256b38ff34549a4d +/agent-note-plugin-management-moves-to-the-web-sidebar/testing: + en: 9d08eb02abc00595 + zh: 56c7d26016f9deec diff --git a/.agents/notes/implemented/architecture/2026-09-09-producer-owned-message-sources.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-09-producer-owned-message-sources.i18n.yaml index 1514b7c6d3..7a4ee1cacd 100644 --- a/.agents/notes/implemented/architecture/2026-09-09-producer-owned-message-sources.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-09-producer-owned-message-sources.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-producer-owned-message-sources.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-09-producer-owned-message-sources.md -2026-09-09-producer-owned-message-sources.md: 83f8cb9368b516b7b6fde8717f9e5f8e9d4f7d4e -2026-09-09-producer-owned-message-sources.zh.md: f5cdfc48286f7b92883938c8e316a7751580f52c +/agent-note-producer-owned-message-sources-at-the-v4-edge: + en: 57c1c2cecb09ee0f + zh: 30b6a2c42ce573ca +/agent-note-producer-owned-message-sources-at-the-v4-edge/problem: + en: 4633a3379711846d + zh: aca05b06105b2683 +/agent-note-producer-owned-message-sources-at-the-v4-edge/decision: + en: a6f3c4040206a623 + zh: f44c3343e36cac01 +/agent-note-producer-owned-message-sources-at-the-v4-edge/alternatives-considered: + en: 99e30ba3f8782544 + zh: 3b443115115389f8 +/agent-note-producer-owned-message-sources-at-the-v4-edge/consequences: + en: 18b1b6ccbf1f299b + zh: 1bc741beb049185e diff --git a/.agents/notes/implemented/architecture/2026-09-09-profile-resolution-generations.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-09-profile-resolution-generations.i18n.yaml index 1d1ecb3a28..c1cc88bcdd 100644 --- a/.agents/notes/implemented/architecture/2026-09-09-profile-resolution-generations.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-09-profile-resolution-generations.i18n.yaml @@ -1,6 +1,52 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-profile-resolution-generations.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-09-profile-resolution-generations.md -2026-09-09-profile-resolution-generations.md: 649c6c358fece5557031b4a21f3d3ebdd9dac8f7 -2026-09-09-profile-resolution-generations.zh.md: 4e84cc1f1b763c88b4ae96c4c44ae79de0d4c0d6 +/agent-note-add-immutable-profile-resolution-generations: + en: 6a4338564c01ad91 + zh: 241248cff9bd4cfc +/agent-note-add-immutable-profile-resolution-generations/problem: + en: 8e192c176fe48c4c + zh: adb965d650088eb0 +/agent-note-add-immutable-profile-resolution-generations/decision: + en: a3022a87337058c5 + zh: 1d53a08a25ed6eb3 +/agent-note-add-immutable-profile-resolution-generations/decision/one-selection-algorithm: + en: eae0faee66f97e5e + zh: 6d400543869aa7b3 +/agent-note-add-immutable-profile-resolution-generations/decision/ordinary-and-linked-package-examples: + en: f77ef79e2499a0dc + zh: 4bc28292763a1075 +/agent-note-add-immutable-profile-resolution-generations/decision/source-and-built-module-identity: + en: 53a9e92698ce9a5d + zh: 6124d446e8d4a532 +/agent-note-add-immutable-profile-resolution-generations/decision/immutable-generations: + en: cd4e64bd80f448a2 + zh: 585e1fbd8721ae99 +/agent-note-add-immutable-profile-resolution-generations/decision/shared-esm-and-commonjs-rule: + en: 0e0575a04a081b52 + zh: 94c74334939e6d13 +/agent-note-add-immutable-profile-resolution-generations/decision/active-plugin-list-and-package-metadata: + en: 031404dd5b36d408 + zh: de21e819edffbcf7 +/agent-note-add-immutable-profile-resolution-generations/decision/workers-and-generation-updates: + en: 99308bd758859e02 + zh: 35f1e7719fe80d2e +/agent-note-add-immutable-profile-resolution-generations/decision/additive-package-changes: + en: 718dfa7826783f2a + zh: 21c3d5fdfae9cb99 +/agent-note-add-immutable-profile-resolution-generations/decision/filesystem-and-runtime-carriers: + en: b0607713102a093d + zh: 2de9c33bfaa0e3e2 +/agent-note-add-immutable-profile-resolution-generations/decision/performance-and-verification: + en: bf7bd2f8371f54f3 + zh: 426c3b33af8874b8 +/agent-note-add-immutable-profile-resolution-generations/alternatives-considered: + en: 2426173c58a17a48 + zh: 0423b3700273accd +/agent-note-add-immutable-profile-resolution-generations/verification: + en: fbb17aa8fe62b1e8 + zh: 2ed091fdfd995fc8 +/agent-note-add-immutable-profile-resolution-generations/consequences: + en: 54cae20b2734a07e + zh: caa334f8f7a40452 diff --git a/.agents/notes/implemented/architecture/2026-09-09-workspace-file-read-authority.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-09-workspace-file-read-authority.i18n.yaml index eed28e3666..3d1c6c968a 100644 --- a/.agents/notes/implemented/architecture/2026-09-09-workspace-file-read-authority.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-09-workspace-file-read-authority.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-workspace-file-read-authority.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-09-workspace-file-read-authority.md -2026-09-09-workspace-file-read-authority.md: 140816e8c48a6628133cf9208d5b48545e2e5eaf -2026-09-09-workspace-file-read-authority.zh.md: 75ffee32c40930c459018ab0fde42d5324371ba8 +/agent-note-workspace-file-read-authority: + en: 7ca22246a308d511 + zh: c51c7343db9c8cfa +/agent-note-workspace-file-read-authority/problem: + en: ee5703dcce5d81c5 + zh: 6c1aec04723d211b +/agent-note-workspace-file-read-authority/decision: + en: 92dbdf6087e00f04 + zh: 2c8720a081d492f9 +/agent-note-workspace-file-read-authority/alternatives-considered: + en: 329e575be02d7392 + zh: a78f428b36d40f59 +/agent-note-workspace-file-read-authority/consequences: + en: 5596ccd54a474e24 + zh: d31721c8d39b7fdc diff --git a/.agents/notes/implemented/architecture/2026-09-10-command-identities-and-composer-file-action.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-10-command-identities-and-composer-file-action.i18n.yaml index 5ea95513d9..85ab4e3c03 100644 --- a/.agents/notes/implemented/architecture/2026-09-10-command-identities-and-composer-file-action.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-10-command-identities-and-composer-file-action.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-command-identities-and-composer-file-action.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-10-command-identities-and-composer-file-action.md -2026-09-10-command-identities-and-composer-file-action.md: 696c3486c5e007416da3fd5e7be1d4b41cb5f582 -2026-09-10-command-identities-and-composer-file-action.zh.md: 2ce803bad5d39a6d4f40b665fb4ef7456e987912 +/agent-note-command-identities-and-composer-owned-file-action: + en: 96db2d4653b47858 + zh: b914d79ab95b0e51 +/agent-note-command-identities-and-composer-owned-file-action/problem: + en: ad2c360593eb7a42 + zh: 503a9c31a5eb55e7 +/agent-note-command-identities-and-composer-owned-file-action/decision: + en: c78d13ee6a59c04d + zh: 53fc322d351e437b +/agent-note-command-identities-and-composer-owned-file-action/alternatives-considered: + en: 94ccabd1fe224408 + zh: bfa28806f0218ce8 +/agent-note-command-identities-and-composer-owned-file-action/consequences: + en: 08f25ff5e0d227cf + zh: a26663e5b7d9feeb diff --git a/.agents/notes/implemented/architecture/2026-09-10-compact-tool-details.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-10-compact-tool-details.i18n.yaml index 484c0c2a3b..50d4ce7a3d 100644 --- a/.agents/notes/implemented/architecture/2026-09-10-compact-tool-details.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-10-compact-tool-details.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-compact-tool-details.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-10-compact-tool-details.md -2026-09-10-compact-tool-details.md: 6c1f29c5554c74b01fc2a86c2dee3750a529a6b5 -2026-09-10-compact-tool-details.zh.md: d0822a48f100f9f21ef4706204087fcd1e627da4 +/agent-note-compact-tool-details-from-recorded-results: + en: 7495c26039484440 + zh: d1907caf1f139054 +/agent-note-compact-tool-details-from-recorded-results/problem: + en: e4ce66f2cdb08516 + zh: 3f45374f23fa8f3b +/agent-note-compact-tool-details-from-recorded-results/decision: + en: 668e06f5146a78de + zh: 4af1edf74eb8121c +/agent-note-compact-tool-details-from-recorded-results/alternatives-considered: + en: 1f0bf45e4ecc0bfa + zh: c46b173dc7ee180b +/agent-note-compact-tool-details-from-recorded-results/consequences: + en: e02acb07b752c285 + zh: b29f9a5ad44ff10f diff --git a/.agents/notes/implemented/architecture/2026-09-10-component-factories-and-local-slots.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-10-component-factories-and-local-slots.i18n.yaml index 993f4391a6..ede649c464 100644 --- a/.agents/notes/implemented/architecture/2026-09-10-component-factories-and-local-slots.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-10-component-factories-and-local-slots.i18n.yaml @@ -1,6 +1,34 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-component-factories-and-local-slots.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-10-component-factories-and-local-slots.md -2026-09-10-component-factories-and-local-slots.md: 801e77644d9d2c80c4a9f3cad263420d1deda163 -2026-09-10-component-factories-and-local-slots.zh.md: 3ccd5f01633a1aa4ae830e1ee41243f5d1b65cc5 +/agent-note-reusable-component-factories-with-local-slots: + en: c59d9a681b69c8e0 + zh: 987e95099a9bbe2a +/agent-note-reusable-component-factories-with-local-slots/problem: + en: ba5734b4b97a73b5 + zh: 29f3fc9b7b88f25a +/agent-note-reusable-component-factories-with-local-slots/decision: + en: 21aa3e44ee63ef30 + zh: dbbed5107b354ff1 +/agent-note-reusable-component-factories-with-local-slots/decision/opposite-registration-directions: + en: cbe40f4b1db77180 + zh: d471b9b15c1180a8 +/agent-note-reusable-component-factories-with-local-slots/decision/definition-and-occurrence-lifecycle: + en: 5b1dbbc3cdadb743 + zh: 8efdfb12b80d305d +/agent-note-reusable-component-factories-with-local-slots/decision/local-slots-and-ordinary-children: + en: 4efed23287a0332e + zh: fa4079f4e47dd3f3 +/agent-note-reusable-component-factories-with-local-slots/decision/first-shipped-use: + en: 39d1d419e793b2d9 + zh: e5aa14bace690f52 +/agent-note-reusable-component-factories-with-local-slots/decision/type-and-runtime-enforcement: + en: dfa80b7d19335a1f + zh: 19fddd013bac8cee +/agent-note-reusable-component-factories-with-local-slots/alternatives-considered: + en: b20072038b089ea9 + zh: 129aa0705c030356 +/agent-note-reusable-component-factories-with-local-slots/consequences: + en: 14271ca39d681ca6 + zh: 76bceb0182164a6d diff --git a/.agents/notes/implemented/architecture/2026-09-10-desktop-web-wrapper.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-10-desktop-web-wrapper.i18n.yaml index 62399c273d..2de0be6d61 100644 --- a/.agents/notes/implemented/architecture/2026-09-10-desktop-web-wrapper.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-10-desktop-web-wrapper.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-desktop-web-wrapper.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-10-desktop-web-wrapper.md -2026-09-10-desktop-web-wrapper.md: 4f43cc650777596c807cf79463edc7a9131db44b -2026-09-10-desktop-web-wrapper.zh.md: bc41b4f8eff1dca7fc3dd9b934dac257a9d10a6b +/agent-note-run-desktop-through-the-shared-web-application: + en: 1803d1966797a555 + zh: 6ab64a673a217d34 +/agent-note-run-desktop-through-the-shared-web-application/problem: + en: 085b445846af76c1 + zh: fdddf72401292bbd +/agent-note-run-desktop-through-the-shared-web-application/decision: + en: 7767ab2839440970 + zh: 9a998e72b728fd17 +/agent-note-run-desktop-through-the-shared-web-application/alternatives-considered: + en: 9c5dfbf9cc788040 + zh: 631f851909dd7234 +/agent-note-run-desktop-through-the-shared-web-application/consequences: + en: 43a80c01a8a95170 + zh: 0d7a2d1d1c676a61 diff --git a/.agents/notes/implemented/architecture/2026-09-10-image-offload-events.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-10-image-offload-events.i18n.yaml index 6953db3edf..6a7a9b2152 100644 --- a/.agents/notes/implemented/architecture/2026-09-10-image-offload-events.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-10-image-offload-events.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-image-offload-events.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-10-image-offload-events.md -2026-09-10-image-offload-events.md: e80c4ae17b148d9eb46517b92111a8d768160def -2026-09-10-image-offload-events.zh.md: 2aa2b8b1fbffd117b5d716aba28755a02a155bb8 +/agent-note-durable-image-offload-events: + en: 13b817438040d321 + zh: 490038f3c93551c7 +/agent-note-durable-image-offload-events/problem: + en: 93c2241e0f40fca1 + zh: fe3528cff00e07b3 +/agent-note-durable-image-offload-events/decision: + en: e1cbaf46e6a6a7be + zh: c3640a44c9be69af +/agent-note-durable-image-offload-events/alternatives-considered: + en: f1ab95c3bf1a17f8 + zh: 2708521190143182 +/agent-note-durable-image-offload-events/consequences: + en: 3a9b13af9673349b + zh: 7da10694e24edadc +/agent-note-durable-image-offload-events/testing: + en: 6fa4e40e7666aa68 + zh: e31ffd143463ca15 diff --git a/.agents/notes/implemented/architecture/2026-09-10-public-package-manifest.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-10-public-package-manifest.i18n.yaml index de121c7c16..493f5002ab 100644 --- a/.agents/notes/implemented/architecture/2026-09-10-public-package-manifest.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-10-public-package-manifest.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-public-package-manifest.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-10-public-package-manifest.md -2026-09-10-public-package-manifest.md: 2d35a3ad17c5aa62df4a5eccde351f325936a84f -2026-09-10-public-package-manifest.zh.md: 7dc03e5160b3837ea07e19469b1d8a0a4f64ebe6 +/agent-note-public-package-manifest-fields: + en: 1ea0f036c6d0ba67 + zh: 3e885b6827315f74 +/agent-note-public-package-manifest-fields/problem: + en: e4bafc2b26cae6d2 + zh: f8226b200b627c55 +/agent-note-public-package-manifest-fields/decision: + en: 9351e430c86c51fe + zh: 486496885b77824a +/agent-note-public-package-manifest-fields/alternatives-considered: + en: 656ef2c1e7853d01 + zh: 21c525fda71c6def +/agent-note-public-package-manifest-fields/consequences: + en: 7221805e563eceb2 + zh: d171144ecef841e9 diff --git a/.agents/notes/implemented/architecture/2026-09-10-windows-native-installer-pages.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-10-windows-native-installer-pages.i18n.yaml index 304ebc1404..30d6654c2d 100644 --- a/.agents/notes/implemented/architecture/2026-09-10-windows-native-installer-pages.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-10-windows-native-installer-pages.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-windows-native-installer-pages.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-10-windows-native-installer-pages.md -2026-09-10-windows-native-installer-pages.md: 93aa4839620207447ad85b1027a68fcfdc5d3e2c -2026-09-10-windows-native-installer-pages.zh.md: da28e22f82c6e403696904362bcbe6c8b96881b8 +/agent-note-native-windows-installer-pages: + en: 2170ba78b248756f + zh: 6e5852f4685fbc81 +/agent-note-native-windows-installer-pages/problem: + en: 5d148a332b151928 + zh: a79cdfd0f1556c58 +/agent-note-native-windows-installer-pages/decision: + en: 3357e9aca4862152 + zh: c2fa86534f9c8737 +/agent-note-native-windows-installer-pages/alternatives-considered: + en: a5b1e11a1b30ab99 + zh: 8495f05dc87b831a +/agent-note-native-windows-installer-pages/consequences: + en: 16243ca0777d1ff8 + zh: e35cb7f33a756b47 diff --git a/.agents/notes/implemented/architecture/2026-09-11-desktop-electron-node-runtime.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-11-desktop-electron-node-runtime.i18n.yaml index d8b4bc7ee7..65fd19d68d 100644 --- a/.agents/notes/implemented/architecture/2026-09-11-desktop-electron-node-runtime.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-11-desktop-electron-node-runtime.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-11-desktop-electron-node-runtime.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-11-desktop-electron-node-runtime.md -2026-09-11-desktop-electron-node-runtime.md: 71516bb930f8eee22c1c6a988b6dab596a53a215 -2026-09-11-desktop-electron-node-runtime.zh.md: 162908392b98ee6a666ca414b602207ad8344937 +/agent-note-use-electron-as-the-desktop-node-runtime: + en: 06290013c52b169d + zh: 5e876829cf708f34 +/agent-note-use-electron-as-the-desktop-node-runtime/problem: + en: 67e580ac6d9298d9 + zh: bb2bd7486090bde4 +/agent-note-use-electron-as-the-desktop-node-runtime/decision: + en: 3cac5d877b18179d + zh: 0376bce7b099e0a6 +/agent-note-use-electron-as-the-desktop-node-runtime/consequences: + en: b407d0ce648beea5 + zh: 7ab329aa1d7a237c +/agent-note-use-electron-as-the-desktop-node-runtime/alternatives-considered: + en: 880e255d56b45345 + zh: 5952d9685c564284 diff --git a/.agents/notes/implemented/architecture/2026-09-11-node-office-kit.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-11-node-office-kit.i18n.yaml index eea688362d..5879ae942a 100644 --- a/.agents/notes/implemented/architecture/2026-09-11-node-office-kit.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-11-node-office-kit.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-11-node-office-kit.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-11-node-office-kit.md -2026-09-11-node-office-kit.md: 2c95b7e27e059f6aaee21970fb30fca9ba1bb11b -2026-09-11-node-office-kit.zh.md: bec5d6bb59f987f629ebfd81bb753eee121566f3 +/agent-note-node-office-conversion-with-independently-packaged-engines: + en: 04142abd8eef58bc + zh: 1a2fe733f74e88ef +/agent-note-node-office-conversion-with-independently-packaged-engines/problem: + en: ac8ace90fa115f0d + zh: 18b9977031cbadeb +/agent-note-node-office-conversion-with-independently-packaged-engines/decision: + en: 61d2e96b5b3782c5 + zh: 49780b672e681b0e +/agent-note-node-office-conversion-with-independently-packaged-engines/alternatives-considered: + en: 70315a46124cbde7 + zh: ee258ed0ef7effb0 +/agent-note-node-office-conversion-with-independently-packaged-engines/consequences: + en: bb32631217be9743 + zh: 1ea86613ade03732 diff --git a/.agents/notes/implemented/architecture/2026-09-11-plugin-owned-message-projections.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-11-plugin-owned-message-projections.i18n.yaml index 86af0d0570..552e27d0a6 100644 --- a/.agents/notes/implemented/architecture/2026-09-11-plugin-owned-message-projections.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-11-plugin-owned-message-projections.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-11-plugin-owned-message-projections.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-11-plugin-owned-message-projections.md -2026-09-11-plugin-owned-message-projections.md: 9e1eca92567fc035d48c1c42ad86d371f2542c5b -2026-09-11-plugin-owned-message-projections.zh.md: b26b5d4549294b37665ac933944b7f51ef7a5717 +/agent-note-plugin-owned-message-projections: + en: 534c84d25c21d930 + zh: 30964b3e14ffaeac +/agent-note-plugin-owned-message-projections/problem: + en: bd3ad5505204ec0b + zh: 770b6089c760d99f +/agent-note-plugin-owned-message-projections/decision: + en: 2b33d4a1cfba0f53 + zh: 55347f3ecf234862 +/agent-note-plugin-owned-message-projections/alternatives-considered: + en: c6e4c770739dca68 + zh: 7bfcb3dda06a22a1 +/agent-note-plugin-owned-message-projections/consequences: + en: c2f3ff0b9639bec5 + zh: 357f90d9a3423751 diff --git a/.agents/notes/implemented/architecture/2026-09-11-posix-ssh-runtime.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-11-posix-ssh-runtime.i18n.yaml index d7adb64692..423de99127 100644 --- a/.agents/notes/implemented/architecture/2026-09-11-posix-ssh-runtime.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-11-posix-ssh-runtime.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-11-posix-ssh-runtime.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-11-posix-ssh-runtime.md -2026-09-11-posix-ssh-runtime.md: d54600faa68524b569f219627537ce250158d9b1 -2026-09-11-posix-ssh-runtime.zh.md: a6b3a84c37b0d7b4438e8c766ef4e010443fe744 +/agent-note-posix-ssh-execution-providers: + en: 416e4093259a80aa + zh: a04797294e6af446 +/agent-note-posix-ssh-execution-providers/problem: + en: f67f6add03a36e85 + zh: 656be288f8b2e1d2 +/agent-note-posix-ssh-execution-providers/decision: + en: b2d1e370d008f0f3 + zh: 3e98919538d3fb78 +/agent-note-posix-ssh-execution-providers/alternatives-considered: + en: 4efffb3edba91689 + zh: 40100a70e5f55a42 +/agent-note-posix-ssh-execution-providers/consequences: + en: f29359ab89feb084 + zh: db7505b8d4a5351a +/agent-note-posix-ssh-execution-providers/verification: + en: 822c7c029a77f3c0 + zh: 4a2eaaf3372cba8b +/agent-note-posix-ssh-execution-providers/deferred-work: + en: f300f112c9a09f7e + zh: b4708a0b7f596420 diff --git a/.agents/notes/implemented/architecture/2026-09-11-sandboxed-node-ptc-runtime.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-11-sandboxed-node-ptc-runtime.i18n.yaml index f40d8780e9..834d15576d 100644 --- a/.agents/notes/implemented/architecture/2026-09-11-sandboxed-node-ptc-runtime.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-11-sandboxed-node-ptc-runtime.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-11-sandboxed-node-ptc-runtime.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-11-sandboxed-node-ptc-runtime.md -2026-09-11-sandboxed-node-ptc-runtime.md: f851775460c5bd01760d31552bde8c691807ec06 -2026-09-11-sandboxed-node-ptc-runtime.zh.md: 94f3a37eb702a97161c1d08cec531fcffb3460f2 +/agent-note-sandboxed-node-execution-for-ptc: + en: 0fb682d787b23a30 + zh: a7bdbbe987f53dcb +/agent-note-sandboxed-node-execution-for-ptc/problem: + en: 66ac3d7ce7eb8e15 + zh: abb9d41b71900bbf +/agent-note-sandboxed-node-execution-for-ptc/decision: + en: cf072f53de09faca + zh: 9edd5c4a2bfaae5a +/agent-note-sandboxed-node-execution-for-ptc/decision/resolved-inputs-and-policy: + en: e93df995efab569a + zh: 850daf02d1207028 +/agent-note-sandboxed-node-execution-for-ptc/decision/control-and-lifetime: + en: 2c7a694b04951772 + zh: 133b95b0477b127f +/agent-note-sandboxed-node-execution-for-ptc/decision/resource-limits: + en: 84c73cf3ff33bc03 + zh: a228080683d6252c +/agent-note-sandboxed-node-execution-for-ptc/alternatives-considered: + en: 8ffcc2b32a2243d7 + zh: 81d48d38947abc76 +/agent-note-sandboxed-node-execution-for-ptc/consequences: + en: c0aa3a23a03ba234 + zh: 257c7d35a17abbea +/agent-note-sandboxed-node-execution-for-ptc/deferred-timeout-design: + en: 455d66252cd23253 + zh: bf3839a13dbaaab5 diff --git a/.agents/notes/implemented/architecture/2026-09-11-subprocess-control-pipe.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-11-subprocess-control-pipe.i18n.yaml index 5e270a8b60..991ebb72c1 100644 --- a/.agents/notes/implemented/architecture/2026-09-11-subprocess-control-pipe.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-11-subprocess-control-pipe.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-11-subprocess-control-pipe.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-11-subprocess-control-pipe.md -2026-09-11-subprocess-control-pipe.md: 438f840958cb2f7f576b899335602ecff1e8a5ef -2026-09-11-subprocess-control-pipe.zh.md: f4305d279342bb6c91162db5748ed49743d352c6 +/agent-note-subprocess-control-pipe: + en: dca4818e974b5b20 + zh: c4d2bd1dbb65e62e +/agent-note-subprocess-control-pipe/problem: + en: 64028c0449b6699c + zh: 6ad143bac0ce23bf +/agent-note-subprocess-control-pipe/decision: + en: 69dfe0cce4199d64 + zh: 80e2b847f9119372 +/agent-note-subprocess-control-pipe/alternatives-considered: + en: 8c677c2cf3cb15bd + zh: 4fccc1d9da7f041a +/agent-note-subprocess-control-pipe/consequences: + en: b5dd21f7c58f50a5 + zh: 24abcc7136d35211 diff --git a/.agents/notes/implemented/architecture/2026-09-11-windows-directory-installation.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-11-windows-directory-installation.i18n.yaml index 91e716d129..35bfbf6d4b 100644 --- a/.agents/notes/implemented/architecture/2026-09-11-windows-directory-installation.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-11-windows-directory-installation.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-11-windows-directory-installation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-11-windows-directory-installation.md -2026-09-11-windows-directory-installation.md: 8208c6cc4b28de8d1ab947cb8e6afba7bfa4f673 -2026-09-11-windows-directory-installation.zh.md: d337397e8ea654d14cccd0839460763b66a19457 +/agent-note-replace-windows-application-directories-after-staging: + en: 7cdd071dd6ad760f + zh: eb8510c6c09f0068 +/agent-note-replace-windows-application-directories-after-staging/problem: + en: fa0015dca8cd9e85 + zh: a826baa59c0a3bd1 +/agent-note-replace-windows-application-directories-after-staging/decision: + en: 5bec9a233d21bb35 + zh: 50e8ba778b14b48e +/agent-note-replace-windows-application-directories-after-staging/consequences: + en: 3562fbc117967fb3 + zh: 6600b28ea6202f68 +/agent-note-replace-windows-application-directories-after-staging/alternatives-considered: + en: 0971baacd045ddef + zh: c908624104e242f9 +/agent-note-replace-windows-application-directories-after-staging/verification: + en: 650fdccdf35ad9d3 + zh: 6069b9acb5f03878 diff --git a/.agents/notes/implemented/architecture/2026-09-12-browser-use-provider-registration.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-12-browser-use-provider-registration.i18n.yaml index d2e46abf6d..3c86f14974 100644 --- a/.agents/notes/implemented/architecture/2026-09-12-browser-use-provider-registration.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-12-browser-use-provider-registration.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-12-browser-use-provider-registration.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-12-browser-use-provider-registration.md -2026-09-12-browser-use-provider-registration.md: a0d3cfdbd798dadee6a9514dffdc619d95811c4d -2026-09-12-browser-use-provider-registration.zh.md: b0016b6655292ccb5259adcb5a07decedda2e21e +/agent-note-browser-use-provider-registration-and-session-ownership: + en: 68473a007451cf68 + zh: f7a8281c5a5a2e11 +/agent-note-browser-use-provider-registration-and-session-ownership/problem: + en: b3513236c712132d + zh: df7701029eae9b31 +/agent-note-browser-use-provider-registration-and-session-ownership/decision: + en: ffca30883c040835 + zh: 3bfc6ebae9a1fe55 +/agent-note-browser-use-provider-registration-and-session-ownership/alternatives-considered: + en: 44408473ef24d8f9 + zh: 448ca799d905e9a9 +/agent-note-browser-use-provider-registration-and-session-ownership/consequences: + en: 8eb33d4073f96236 + zh: 42c456f778e36485 diff --git a/.agents/notes/implemented/architecture/2026-09-12-computer-use-provider-registration.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-12-computer-use-provider-registration.i18n.yaml index b3c762547c..5867eb3e2a 100644 --- a/.agents/notes/implemented/architecture/2026-09-12-computer-use-provider-registration.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-12-computer-use-provider-registration.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-12-computer-use-provider-registration.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-12-computer-use-provider-registration.md -2026-09-12-computer-use-provider-registration.md: 52e51ac9c4f89b6ad730e647280ba3f0c04ea3c9 -2026-09-12-computer-use-provider-registration.zh.md: 2d8802e1d8cb3c5262cbc2ba6185262f949bca01 +/agent-note-computer-use-provider-registration: + en: 7179585d8663cf3c + zh: e0ac002425dfd40b +/agent-note-computer-use-provider-registration/problem: + en: 915ca3edbd83a8fd + zh: 98fe85c63c6b2135 +/agent-note-computer-use-provider-registration/decision: + en: 7166d067e8955c9b + zh: 719263b97c5874e8 +/agent-note-computer-use-provider-registration/alternatives-considered: + en: 12913da00ffb6aa6 + zh: cbb08d075d1b91c0 +/agent-note-computer-use-provider-registration/consequences: + en: eed0c10237bf13b1 + zh: e077a9b42e2d9e71 diff --git a/.agents/notes/implemented/architecture/2026-09-12-ptc-runtime-vocabulary.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-12-ptc-runtime-vocabulary.i18n.yaml index 64a55ac887..ac5f77829d 100644 --- a/.agents/notes/implemented/architecture/2026-09-12-ptc-runtime-vocabulary.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-12-ptc-runtime-vocabulary.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-12-ptc-runtime-vocabulary.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-12-ptc-runtime-vocabulary.md -2026-09-12-ptc-runtime-vocabulary.md: 86d2132b735166fb0ee7c4a4929d5ca64ba0880a -2026-09-12-ptc-runtime-vocabulary.zh.md: 5951c43b9554a6266d96cc60d99c11e84acc138f +/agent-note-ptc-runtime-vocabulary: + en: 4e585bb88c918c48 + zh: 1ee36889df928e84 +/agent-note-ptc-runtime-vocabulary/problem: + en: 1281bbda56bc41e0 + zh: 719dc99572bd7921 +/agent-note-ptc-runtime-vocabulary/decision: + en: b3ca07cb6a92f358 + zh: f3b763124b483563 +/agent-note-ptc-runtime-vocabulary/alternatives-considered: + en: 38af2c476cc408bc + zh: 9f1ebd14829250e3 +/agent-note-ptc-runtime-vocabulary/consequences: + en: bb68774fb0a4bcc3 + zh: b866e8763b3a4f74 diff --git a/.agents/notes/implemented/architecture/2026-09-13-workflow-ptc-sandbox-reuse.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-13-workflow-ptc-sandbox-reuse.i18n.yaml index dad55cc0ce..46f602667d 100644 --- a/.agents/notes/implemented/architecture/2026-09-13-workflow-ptc-sandbox-reuse.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-13-workflow-ptc-sandbox-reuse.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-13-workflow-ptc-sandbox-reuse.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-13-workflow-ptc-sandbox-reuse.md -2026-09-13-workflow-ptc-sandbox-reuse.md: 9454ffef28e1ab5ba7791a30f4bcd67093a34ba3 -2026-09-13-workflow-ptc-sandbox-reuse.zh.md: c51706065703866520bfcad11beffc02eb1f5551 +/agent-note-reuse-the-ptc-node-sandbox-for-workflows: + en: 6db90d1dcfccd294 + zh: 0b66b16319b023a0 +/agent-note-reuse-the-ptc-node-sandbox-for-workflows/problem: + en: 42235162e945e015 + zh: 4edc5633720cd6cc +/agent-note-reuse-the-ptc-node-sandbox-for-workflows/decision: + en: b55a2a59b8039cdd + zh: fd6bbe987a49266f +/agent-note-reuse-the-ptc-node-sandbox-for-workflows/alternatives-considered: + en: 56d9a25713227146 + zh: 2cd89bf6ccc3b3bd +/agent-note-reuse-the-ptc-node-sandbox-for-workflows/consequences: + en: e650b834a6f6a3f2 + zh: de677719cdd49047 diff --git a/.agents/notes/implemented/architecture/2026-09-14-current-profile-plugin-management.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-14-current-profile-plugin-management.i18n.yaml index 6ec18af290..e9aab02a20 100644 --- a/.agents/notes/implemented/architecture/2026-09-14-current-profile-plugin-management.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-14-current-profile-plugin-management.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-14-current-profile-plugin-management.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-14-current-profile-plugin-management.md -2026-09-14-current-profile-plugin-management.md: 8d4d4c40f033e490f09ebf8d367e1fb621037a6d -2026-09-14-current-profile-plugin-management.zh.md: a8dce606d00321bd96e643a9ba842581c961d6c1 +/agent-note-current-profile-plugin-management-shares-cli-transactions: + en: 86224d16fc754163 + zh: 1c9948a6f80f2544 +/agent-note-current-profile-plugin-management-shares-cli-transactions/problem: + en: 6bb727a659ba1503 + zh: d2ebf5c8164a807e +/agent-note-current-profile-plugin-management-shares-cli-transactions/decision: + en: 863b4369c39f3933 + zh: 7dd44a91ccaaef8f +/agent-note-current-profile-plugin-management-shares-cli-transactions/alternatives-considered: + en: 30c609de89084351 + zh: 27f2747ad9d9b752 +/agent-note-current-profile-plugin-management-shares-cli-transactions/consequences: + en: a51baa71aa3fe3f4 + zh: 291db9e4ba5723d2 diff --git a/.agents/notes/implemented/architecture/2026-09-14-deepseek-account-login.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-14-deepseek-account-login.i18n.yaml index 60eec8a71e..6580682ec7 100644 --- a/.agents/notes/implemented/architecture/2026-09-14-deepseek-account-login.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-14-deepseek-account-login.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-14-deepseek-account-login.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-14-deepseek-account-login.md -2026-09-14-deepseek-account-login.md: 458e020c2000fd3db5ee9806e99d4b653710cb1e -2026-09-14-deepseek-account-login.zh.md: 2fb59009302309a67e2c3ec99050685ba39b4212 +/agent-note-deepseek-account-browser-login: + en: 666b3732ccc1c2fb + zh: 37dffad1bb4e26ae +/agent-note-deepseek-account-browser-login/problem: + en: 67c00444d9dcf06d + zh: ef294910952ba052 +/agent-note-deepseek-account-browser-login/decision: + en: db9297d04d25d0f6 + zh: 20938f92c1563146 +/agent-note-deepseek-account-browser-login/alternatives-considered: + en: b7694861ea5282b6 + zh: a5ff57bdcc9fcf60 +/agent-note-deepseek-account-browser-login/consequences: + en: 348fcdb33c193cf2 + zh: ad82da41941d3afb +/agent-note-deepseek-account-browser-login/verification: + en: 881edcb454b941a6 + zh: 7dc5a9b7a066f623 +/agent-note-deepseek-account-browser-login/related: + en: 3efeda0686194f07 + zh: 9c3ddc3b8baf9381 diff --git a/.agents/notes/implemented/architecture/2026-09-14-deepseek-account-login.md b/.agents/notes/implemented/architecture/2026-09-14-deepseek-account-login.md index 458e020c20..165cd2d0a2 100644 --- a/.agents/notes/implemented/architecture/2026-09-14-deepseek-account-login.md +++ b/.agents/notes/implemented/architecture/2026-09-14-deepseek-account-login.md @@ -30,7 +30,7 @@ Putting the protocol in Electron duplicates the implementation for Web consumers Sign out removes the local grant before starting Platform POST /auth-api/v0/users/logout with the captured token. Remote failure never restores login. The provider retries at most five times after the initial request, with configurable exponential backoff starting at one second by default. Retry jobs retain only their old token, cannot change later login state, and end at provider shutdown without durable storage. Local credential deletion must succeed before publishing signed-out state. Sign out belongs to the sidebar account menu; Account settings owns profile, balance and sign-in. Both read one plugin-owned Host stream through framework hooks. -API keys and account grants remain separately stored. Account tokens have no expiry or refresh flow; exhausted logout retries can leave the removed token valid remotely. Provider initialization discards grants from a different configured Platform issuer locally, without remote revocation, so switching environments starts signed out instead of aborting Desktop startup. API keys and device identity survive this cleanup. Profile and balance query failures preserve login state; authorization-attempt deadlines apply only before token issuance. The same grant authenticates Platform current and get_user_summary queries on its configured issuer origin. Host preserves Platform-masked contact details and drops response tokens; account changes invalidate pending results. UI shows normal_wallets recharge balances and positive bonus_wallets in separate rows, so promotional credit is never presented as recharge funds. +API keys and account grants remain separately stored. Account tokens have no proactive refresh flow; exhausted logout retries can leave the removed token valid remotely. Provider initialization discards grants from a different configured Platform issuer locally, without remote revocation, so switching environments starts signed out instead of aborting Desktop startup. API keys and device identity survive this cleanup. Profile and balance HTTP 401 responses clear the rejected credential; other query failures preserve login state; authorization-attempt deadlines apply only before token issuance. The same grant authenticates Platform current and get_user_summary queries on its configured issuer origin. Host preserves Platform-masked contact details and drops response tokens; account changes invalidate pending results. UI shows normal_wallets recharge balances and positive bonus_wallets in separate rows, so promotional credit is never presented as recharge funds. The account plugin supplies choice, waiting, failure and timeout dialogs through settings.models.sign-in. The model package owns credential readiness and the existing API-key editor; the settings shell coordinates explicit reopening so login and API-key onboarding do not mount competing dialogs. diff --git a/.agents/notes/implemented/architecture/2026-09-14-deepseek-account-login.zh.md b/.agents/notes/implemented/architecture/2026-09-14-deepseek-account-login.zh.md index 2fb5900930..5e09c0a17c 100644 --- a/.agents/notes/implemented/architecture/2026-09-14-deepseek-account-login.zh.md +++ b/.agents/notes/implemented/architecture/2026-09-14-deepseek-account-login.zh.md @@ -30,7 +30,7 @@ Desktop profile 为 Host API 请求头提供原生平台信息。账号与更新 退出登录先删除本地授权,再使用捕获的 token 调用 Platform POST /auth-api/v0/users/logout。远程失败不会恢复登录态。首次请求失败后,提供者最多重试五次,使用可配置的指数退避,默认从一秒开始。重试任务只保留旧 token,不改变后续登录态,并在提供者关闭时结束,不持久化。本地凭证删除成功后才发布已退出状态。退出登录位于侧边栏账号菜单;账号设置负责资料、余额和登录。两者通过框架 hook 读取插件持有的同一条 Host 状态流。 -API Key 与账号记录独立保存。账号 token 没有过期或刷新流程;退登重试耗尽后,已从本地删除的 token 在远端仍可能有效。提供者初始化时在本地丢弃与配置的 Platform 来源不同的授权,不调用远端撤销,使环境切换以未登录态启动,而不导致 Desktop 启动失败。API Key 和设备标识保留。资料与余额查询失败保留登录态;授权尝试的有效期仅适用于 token 签发前。同一授权 token 可认证已配置签发来源上的 Platform current 和 get_user_summary 查询。Host 原样保留 Platform 脱敏后的联系方式并丢弃响应 token;账号变化使未完成结果失效。UI 分行显示 normal_wallets 充值余额与正额 bonus_wallets 赠金余额,避免将赠金额度显示为充值资金。 +API Key 与账号记录独立保存。账号 token 没有主动刷新流程;退登重试耗尽后,已从本地删除的 token 在远端仍可能有效。提供者初始化时在本地丢弃与配置的 Platform 来源不同的授权,不调用远端撤销,使环境切换以未登录态启动,而不导致 Desktop 启动失败。API Key 和设备标识保留。资料与余额接口的 HTTP 401 响应清除被拒绝的凭据,其他查询错误保留登录态;授权尝试的有效期仅适用于 token 签发前。同一授权 token 可认证已配置签发来源上的 Platform current 和 get_user_summary 查询。Host 原样保留 Platform 脱敏后的联系方式并丢弃响应 token;账号变化使未完成结果失效。UI 分行显示 normal_wallets 充值余额与正额 bonus_wallets 赠金余额,避免将赠金额度显示为充值资金。 账号插件通过 settings.models.sign-in 提供选择、等待、失败和超时对话框。模型包保留凭证就绪检查和现有 API Key 编辑器;设置外壳协调显式重开,避免登录与 API Key 引导同时挂载冲突的对话框。 diff --git a/.agents/notes/implemented/architecture/2026-09-14-independent-libreoffice-kit.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-14-independent-libreoffice-kit.i18n.yaml index c3570fad78..a0da60252b 100644 --- a/.agents/notes/implemented/architecture/2026-09-14-independent-libreoffice-kit.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-14-independent-libreoffice-kit.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-14-independent-libreoffice-kit.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-14-independent-libreoffice-kit.md -2026-09-14-independent-libreoffice-kit.md: 13efc41e56a4810273fbb6d9314eeda6053dbe92 -2026-09-14-independent-libreoffice-kit.zh.md: 720ca2ba3f57546825ae14b5b5f0b086fbb7f287 +/agent-note-independent-libreoffice-kit-ownership: + en: ee1625b5a309d9e6 + zh: c3e78e1b1aa92fd8 +/agent-note-independent-libreoffice-kit-ownership/problem: + en: 2fc4ac7bdd4a3474 + zh: 21ebdd3ac9264132 +/agent-note-independent-libreoffice-kit-ownership/decision: + en: 31200a9be3940dc0 + zh: 8e22be1d160ec3e4 +/agent-note-independent-libreoffice-kit-ownership/alternatives-considered: + en: 55175bb30630bf0c + zh: 788853ddd5f7a4e9 +/agent-note-independent-libreoffice-kit-ownership/consequences: + en: ace5eeafb4795ab6 + zh: 136489e75455c8e7 diff --git a/.agents/notes/implemented/architecture/2026-09-14-session-log-upload-default.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-14-session-log-upload-default.i18n.yaml index 420bcd267c..60583babce 100644 --- a/.agents/notes/implemented/architecture/2026-09-14-session-log-upload-default.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-14-session-log-upload-default.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-14-session-log-upload-default.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-14-session-log-upload-default.md -2026-09-14-session-log-upload-default.md: c1e7c9e050d1b1809ff3abba03fe4e17a3779daa -2026-09-14-session-log-upload-default.zh.md: d7b6e64098eca3fe07c43272fcba18a3790182e2 +/agent-note-default-deepseek-session-log-upload: + en: fcb31f3679ced0e2 + zh: 0e07b8a08f7e004f +/agent-note-default-deepseek-session-log-upload/problem: + en: f9721b730c7e70c7 + zh: 367e7839912cb726 +/agent-note-default-deepseek-session-log-upload/decision: + en: ec3b05fb70ae490f + zh: 59b0691e327855b4 +/agent-note-default-deepseek-session-log-upload/alternatives-considered: + en: 4cc4b61d76f84ff3 + zh: bdd29ea66037f744 +/agent-note-default-deepseek-session-log-upload/consequences: + en: 1302d84a3d2b168b + zh: aec67b793539f898 diff --git a/.agents/notes/implemented/architecture/2026-09-14-sidebar-layout-provider-recovery.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-14-sidebar-layout-provider-recovery.i18n.yaml index 515ead78da..621d099284 100644 --- a/.agents/notes/implemented/architecture/2026-09-14-sidebar-layout-provider-recovery.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-14-sidebar-layout-provider-recovery.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-14-sidebar-layout-provider-recovery.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-14-sidebar-layout-provider-recovery.md -2026-09-14-sidebar-layout-provider-recovery.md: f7ec0324f9205a556750e0af54eb856002a4ea74 -2026-09-14-sidebar-layout-provider-recovery.zh.md: 02440391e5601e3ba125c33c4c8971d4d46cbaa8 +/agent-note-sidebar-layout-persistence-and-provider-recovery: + en: 78dee80210908b7d + zh: 01a490734740a523 +/agent-note-sidebar-layout-persistence-and-provider-recovery/problem: + en: 8adb7105e89be803 + zh: 96c4e92e85b6980e +/agent-note-sidebar-layout-persistence-and-provider-recovery/decision: + en: aa09cb90f663dfe8 + zh: edaabb76aa6dc8de +/agent-note-sidebar-layout-persistence-and-provider-recovery/alternatives-considered: + en: 4a9b1234b0289ae7 + zh: 81854e0e9d32b6da +/agent-note-sidebar-layout-persistence-and-provider-recovery/consequences: + en: 4daf813b59205ca3 + zh: 917c2b975c9a67dd diff --git a/.agents/notes/implemented/architecture/2026-09-14-web-document-relative-app-routes.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-14-web-document-relative-app-routes.i18n.yaml index 8f06bf7290..7d6b05d9fa 100644 --- a/.agents/notes/implemented/architecture/2026-09-14-web-document-relative-app-routes.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-14-web-document-relative-app-routes.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-14-web-document-relative-app-routes.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-14-web-document-relative-app-routes.md -2026-09-14-web-document-relative-app-routes.md: fbf30253bbfcc23eb09847f93c1b1f047459d31b -2026-09-14-web-document-relative-app-routes.zh.md: c302ec88a4205239148132513d1ff2a4385033e8 +/agent-note-web-app-owned-routes-are-document-relative: + en: c31a8b2eeced1d7a + zh: 718b29b0f1e3f995 +/agent-note-web-app-owned-routes-are-document-relative/problem: + en: ce92162dd5ef0b2a + zh: a487cfd441b9fe1a +/agent-note-web-app-owned-routes-are-document-relative/decision: + en: 5d61f3f037df8f7e + zh: fbea19a5868d45b9 +/agent-note-web-app-owned-routes-are-document-relative/alternatives-considered: + en: 14cd7d83f28ef818 + zh: 5a429ab09dae43e5 +/agent-note-web-app-owned-routes-are-document-relative/consequences: + en: e3601f867e8c1825 + zh: 5c7ba5acb63a98a3 +/agent-note-web-app-owned-routes-are-document-relative/testing: + en: 3845fc2e126b858c + zh: 5a63b358be90e565 diff --git a/.agents/notes/implemented/architecture/2026-09-15-bounded-office-conversion.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-15-bounded-office-conversion.i18n.yaml index 2f64b37f55..a6d52473fa 100644 --- a/.agents/notes/implemented/architecture/2026-09-15-bounded-office-conversion.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-15-bounded-office-conversion.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-bounded-office-conversion.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-15-bounded-office-conversion.md -2026-09-15-bounded-office-conversion.md: b15aa5421c575451ddb4a7bf91169bcb2fa38d3c -2026-09-15-bounded-office-conversion.zh.md: f23c38096764cf32207125cc0c3ebbdf1c04d009 +/agent-note-bounded-shared-office-conversion: + en: 10c171aa2a5ab0c2 + zh: 13e8e134e3a68e98 +/agent-note-bounded-shared-office-conversion/problem: + en: b305613daff5a763 + zh: 1aba13289664f65c +/agent-note-bounded-shared-office-conversion/decision: + en: bcd0780f95f173bf + zh: 2a7f49db2575c59d +/agent-note-bounded-shared-office-conversion/alternatives-considered: + en: 9d5cfb7fa5f66bd6 + zh: 4f4133daa2f02f43 +/agent-note-bounded-shared-office-conversion/consequences: + en: c2800ff56c8f89d1 + zh: 3b3710072b59c443 +/agent-note-bounded-shared-office-conversion/related: + en: 2e7b1a0f01c1f617 + zh: ed2abc0181ea4abe diff --git a/.agents/notes/implemented/architecture/2026-09-15-client-session-references.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-15-client-session-references.i18n.yaml index 0a33e19e2c..f664219cd9 100644 --- a/.agents/notes/implemented/architecture/2026-09-15-client-session-references.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-15-client-session-references.i18n.yaml @@ -1,6 +1,49 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-client-session-references.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-15-client-session-references.md -2026-09-15-client-session-references.md: 162ef08875e5b0591b3b4099c9bdcadb18e7d175 -2026-09-15-client-session-references.zh.md: 3af8932f7c002b3b63de21c689ae91e3017a164e +/agent-note-client-session-references-reference-sources-and-ui-status: + en: 720fca3e1f085f8f + zh: 3480eb43eb5f0e44 +/agent-note-client-session-references-reference-sources-and-ui-status/problem: + en: 0f4d2b6e8b0393dc + zh: fe20aca8b4fd0701 +/agent-note-client-session-references-reference-sources-and-ui-status/decision: + en: a15c7c13f167e5ac + zh: 63bcc2ef60c2f344 +/agent-note-client-session-references-reference-sources-and-ui-status/decision/scope-and-ownership: + en: d9d52caab1468205 + zh: 1b7665610bb025c6 +/agent-note-client-session-references-reference-sources-and-ui-status/decision/addresses-bindings-and-references: + en: 3743abc8bca00348 + zh: d79e6a9311f0a2fe +/agent-note-client-session-references-reference-sources-and-ui-status/decision/acquisition-failure-and-release: + en: 84e9528d4f995460 + zh: f79f197d3dfbe8e9 +/agent-note-client-session-references-reference-sources-and-ui-status/decision/reference-sources-and-session-list-records: + en: e2de83d10542f93b + zh: 3855b38fc8c48ea3 +/agent-note-client-session-references-reference-sources-and-ui-status/decision/unified-ui-session-status: + en: 2d75aef5cf5f1fc8 + zh: 87a7051f24f9871a +/agent-note-client-session-references-reference-sources-and-ui-status/decision/explicit-providers-and-consumer-lifetimes: + en: 04802baa0147fec1 + zh: b86037bf2e4bc936 +/agent-note-client-session-references-reference-sources-and-ui-status/decision/main-area-navigation-and-presentation: + en: c46c9ca54ea9eaad + zh: 918dc8eebff5edf3 +/agent-note-client-session-references-reference-sources-and-ui-status/decision/presets-and-creation-flows: + en: 790eda215b64ee37 + zh: a4b5d3a61cc80cbc +/agent-note-client-session-references-reference-sources-and-ui-status/decision/host-event-context-ownership-and-typert: + en: eb3be89cf9431c44 + zh: bfc26899286b37ad +/agent-note-client-session-references-reference-sources-and-ui-status/alternatives-considered: + en: 658731de6bc235f3 + zh: be16e5067f450b6e +/agent-note-client-session-references-reference-sources-and-ui-status/verification: + en: b7a7bb90877fedc3 + zh: 8b39d7a9624d6b43 +/agent-note-client-session-references-reference-sources-and-ui-status/consequences: + en: aa1b46303452c3e8 + zh: 01571143251dfc61 diff --git a/.agents/notes/implemented/architecture/2026-09-15-desktop-native-fatal-recovery.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-15-desktop-native-fatal-recovery.i18n.yaml index a57f31af0a..b5ebc209af 100644 --- a/.agents/notes/implemented/architecture/2026-09-15-desktop-native-fatal-recovery.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-15-desktop-native-fatal-recovery.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-desktop-native-fatal-recovery.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-15-desktop-native-fatal-recovery.md -2026-09-15-desktop-native-fatal-recovery.md: fc1564b02e2f7b707d2b6f6d8e0947b1a78f142d -2026-09-15-desktop-native-fatal-recovery.zh.md: ceda54b4141c5fe58e6b385c86e6c1e4958dd261 +/agent-note-native-desktop-fatal-recovery: + en: 753dfd819203ac69 + zh: 5ea088778b13d940 +/agent-note-native-desktop-fatal-recovery/problem: + en: 9cf7ba7dfd36aee0 + zh: 356fdbb01870981e +/agent-note-native-desktop-fatal-recovery/decision: + en: a3b9aa3659117524 + zh: 6f25cb295c37cddd +/agent-note-native-desktop-fatal-recovery/alternatives-considered: + en: 624d62bc0b73c37a + zh: 81c3d7cd66782f73 +/agent-note-native-desktop-fatal-recovery/consequences: + en: 309a935614b0b6a1 + zh: 58db41cd59568a6d diff --git a/.agents/notes/implemented/architecture/2026-09-15-first-class-tool-role-messages.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-15-first-class-tool-role-messages.i18n.yaml index d44576c5b1..7ebb9aaaf1 100644 --- a/.agents/notes/implemented/architecture/2026-09-15-first-class-tool-role-messages.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-15-first-class-tool-role-messages.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-first-class-tool-role-messages.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-15-first-class-tool-role-messages.md -2026-09-15-first-class-tool-role-messages.md: 3749ad698890073634b1753d3370f9c9dc9a2e18 -2026-09-15-first-class-tool-role-messages.zh.md: c97d84a7b3ceaee17ebb6fe828bd739dba5fb0ea +/agent-note-first-class-tool-role-messages: + en: 7241f8eb82eda881 + zh: fecbc696803c619b +/agent-note-first-class-tool-role-messages/problem: + en: d1bff2dd3b7c5070 + zh: 866aecc4211992fd +/agent-note-first-class-tool-role-messages/decision: + en: fd6733aee2f00a16 + zh: 9dd9c2e7525ba9be +/agent-note-first-class-tool-role-messages/alternatives-considered: + en: 5f727366e0885a7a + zh: b1ac16578076c286 +/agent-note-first-class-tool-role-messages/consequences: + en: 6fb4a2047b748ba7 + zh: 5382786860f2e624 diff --git a/.agents/notes/implemented/architecture/2026-09-15-guided-plugin-installation.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-15-guided-plugin-installation.i18n.yaml index a5b7444619..9283aaa9e4 100644 --- a/.agents/notes/implemented/architecture/2026-09-15-guided-plugin-installation.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-15-guided-plugin-installation.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-guided-plugin-installation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-15-guided-plugin-installation.md -2026-09-15-guided-plugin-installation.md: 451b1f316eebfdce9c9efcffbf48202177d04343 -2026-09-15-guided-plugin-installation.zh.md: 0c228695828238b4dbfdae7d2153e0358e92360c +/agent-note-guided-plugin-installation: + en: 6b8375e59efb720e + zh: d94f130f72639233 +/agent-note-guided-plugin-installation/problem: + en: edefff7cd986a509 + zh: a270839fa86976a2 +/agent-note-guided-plugin-installation/decision: + en: b661fb786e7182c5 + zh: 4cdeb584639fda23 +/agent-note-guided-plugin-installation/alternatives-considered: + en: be64b541f4d81e7c + zh: 8600531c08ab4288 +/agent-note-guided-plugin-installation/consequences: + en: e4536b20f3587497 + zh: a8eeb1d3c578b785 +/agent-note-guided-plugin-installation/testing: + en: 1e121dca5f7dc572 + zh: bcdb1b6482cc1af6 diff --git a/.agents/notes/implemented/architecture/2026-09-15-guided-plugin-installation.md b/.agents/notes/implemented/architecture/2026-09-15-guided-plugin-installation.md index 451b1f316e..68bd519b7c 100644 --- a/.agents/notes/implemented/architecture/2026-09-15-guided-plugin-installation.md +++ b/.agents/notes/implemented/architecture/2026-09-15-guided-plugin-installation.md @@ -14,7 +14,7 @@ The install dialog put a spec straight into `pnpm add` and showed pnpm's termina **A failed or cancelled installation restores the profile files.** `installBundle` snapshots `package.json` and `pnpm-lock.yaml` before pnpm runs and puts them back when pnpm fails, when the run is cancelled, or when the package pnpm added declares no bundle patch. This reverses, for installations only, the [manager's decision](2026-09-14-current-profile-plugin-management.md) to retain partial changes: an installation that did not produce a usable bundle must not leave a dependency the page cannot show. Removals keep that decision. Downloaded files can stay under `node_modules` and the pnpm store. -**A failed run is classified where the facts are.** `classifyInstallFailure` reads how the run ended and what pnpm printed — its `ERR_PNPM_*` codes and Node's errno names — into `packageResult.kind`. The client shows the kind as one line and folds pnpm's output behind the details. Parsing the log is confined to this one function with a fixture-driven test. +**A failed run is classified where the facts are.** `classifyInstallFailure` reads how the run ended and what pnpm printed — its `ERR_PNPM_*` codes and Node's errno names — into `packageResult.kind`. A run the manager terminated is classified `timeout` whatever exit status the signal left behind, so installation restores the files and removal reports failure instead of reading it as a success ([run bounds](../bug-fix/2026-09-23-bounded-pnpm-runs.md)). The client shows the kind as one line and folds pnpm's output behind the details. Parsing the log is confined to this one function with a fixture-driven test. **GitHub connection failures have a short budget before installation.** The Host runs a read-only `git ls-remote` check with the profile's Git and proxy configuration and a default `githubConnectionTimeoutMs` of 5000 ms. Credential helpers and prompts are disabled for this check, so authentication cannot consume the connection budget. Only network failures and timeouts prevent pnpm from starting; pnpm still owns authentication, HTTPS-to-SSH fallback, ref resolution and the full installation. The budget does not limit downloads or builds. The existing failure kind and `failedAt: 'spec-host'` let the Client show a connection error or timeout and offer a domestic registry for a replacement package spec. Cancellation and manager disposal terminate the check and its descendants before settling. diff --git a/.agents/notes/implemented/architecture/2026-09-15-guided-plugin-installation.zh.md b/.agents/notes/implemented/architecture/2026-09-15-guided-plugin-installation.zh.md index 0c22869582..f3cbefedeb 100644 --- a/.agents/notes/implemented/architecture/2026-09-15-guided-plugin-installation.zh.md +++ b/.agents/notes/implemented/architecture/2026-09-15-guided-plugin-installation.zh.md @@ -14,7 +14,7 @@ Status: implemented **失败或被取消的安装恢复 profile 文件。** `installBundle` 在 pnpm 运行前快照 `package.json` 与 `pnpm-lock.yaml`,在 pnpm 失败、运行被取消、或 pnpm 装入的包没有声明组合包 patch 时把它们放回去。这只针对安装反转了[管理器的决定](2026-09-14-current-profile-plugin-management.zh.md)中"保留部分改动"的部分:没有产出可用组合包的安装,不能留下一个页面无法显示的依赖。删除仍沿用那个决定。已下载文件可能留在 `node_modules` 与 pnpm 缓存中。 -**失败在事实所在处分类。** `classifyInstallFailure` 依据运行的结束方式和 pnpm 的输出——它的 `ERR_PNPM_*` 码和 Node 的 errno 名——给出 `packageResult.kind`。客户端把 kind 显示成一句话,把 pnpm 输出折叠进详情。对日志的解析只存在于这一个函数,用夹具驱动的测试钉住。 +**失败在事实所在处分类。** `classifyInstallFailure` 依据运行的结束方式和 pnpm 的输出——它的 `ERR_PNPM_*` 码和 Node 的 errno 名——给出 `packageResult.kind`。被管理器终止的运行,不论信号留下什么退出状态都归类为 `timeout`,因此安装会还原文件,删除则报告失败而不会读成成功([运行上界](../bug-fix/2026-09-23-bounded-pnpm-runs.zh.md))。客户端把 kind 显示成一句话,把 pnpm 输出折叠进详情。对日志的解析只存在于这一个函数,用夹具驱动的测试钉住。 **GitHub 连接失败在安装前有单独的短时限。** 宿主通过只读的 `git ls-remote` 检查连接,沿用 profile 的 Git 与代理配置,`githubConnectionTimeoutMs` 默认为 5000 毫秒。这次检查禁用凭据助手和认证提示,避免认证过程占用连接预算。只有网络失败与超时会阻止 pnpm 启动;认证、HTTPS 到 SSH 的回退、ref 解析及完整安装仍由 pnpm 负责。时限不约束下载或构建。已有的失败类型与 `failedAt: 'spec-host'` 让客户端显示连接失败或超时,并提供国内镜像供用户输入另一个包名。取消安装或销毁管理器会先终止检查及其子进程,再结束操作。 diff --git a/.agents/notes/implemented/architecture/2026-09-15-narrow-pi-ai-runtime-imports.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-15-narrow-pi-ai-runtime-imports.i18n.yaml index 3201431720..7e6309f2da 100644 --- a/.agents/notes/implemented/architecture/2026-09-15-narrow-pi-ai-runtime-imports.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-15-narrow-pi-ai-runtime-imports.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-narrow-pi-ai-runtime-imports.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-15-narrow-pi-ai-runtime-imports.md -2026-09-15-narrow-pi-ai-runtime-imports.md: 307d880f3fce22b0e1b96efb9c3a220a511eff15 -2026-09-15-narrow-pi-ai-runtime-imports.zh.md: 139983446a2f0cd5315629c4e0a632f8c125a837 +/agent-note-narrow-pi-ai-runtime-imports: + en: d29340bbc4bf0e5b + zh: 12a39c4efe53b580 +/agent-note-narrow-pi-ai-runtime-imports/problem: + en: 4b2048b356064ada + zh: 9926d7c54da73852 +/agent-note-narrow-pi-ai-runtime-imports/decision: + en: d425c01ec05ee7f2 + zh: 8d58d6db913720c4 +/agent-note-narrow-pi-ai-runtime-imports/alternatives-considered: + en: c663ce67f3831d3f + zh: de280dc149d5a6a0 +/agent-note-narrow-pi-ai-runtime-imports/consequences: + en: 9707284a83c1294a + zh: c53be621aac00fc9 diff --git a/.agents/notes/implemented/architecture/2026-09-15-platform-office-engines.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-15-platform-office-engines.i18n.yaml index 7ba1bf8a3e..c20b10b6fe 100644 --- a/.agents/notes/implemented/architecture/2026-09-15-platform-office-engines.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-15-platform-office-engines.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-platform-office-engines.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-15-platform-office-engines.md -2026-09-15-platform-office-engines.md: 4272054672c6163f22b910ab64b6472a9dbdfb4c -2026-09-15-platform-office-engines.zh.md: d0a317333049734415ab9c0c05a5624b63b27447 +/agent-note-one-office-engine-per-platform: + en: 5ba8eea6deb11824 + zh: 7d1cb289fa278c74 +/agent-note-one-office-engine-per-platform/problem: + en: 803030fa18966fef + zh: bb1bbd185860f533 +/agent-note-one-office-engine-per-platform/decision: + en: 8cea2cb889666af7 + zh: 346adb1e99787c78 +/agent-note-one-office-engine-per-platform/alternatives-considered: + en: d406d0a9f4dd503a + zh: b2685e11d706799e +/agent-note-one-office-engine-per-platform/consequences: + en: 7e236c479975eee6 + zh: 94a8e0e8883bd324 diff --git a/.agents/notes/implemented/architecture/2026-09-16-creator-persistent-plugin-management.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-16-creator-persistent-plugin-management.i18n.yaml index 2e5d7be1ec..0c59a93381 100644 --- a/.agents/notes/implemented/architecture/2026-09-16-creator-persistent-plugin-management.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-16-creator-persistent-plugin-management.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-creator-persistent-plugin-management.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-16-creator-persistent-plugin-management.md -2026-09-16-creator-persistent-plugin-management.md: 04ccbb83fe6d2f5c460f53100a9087cce119ea4d -2026-09-16-creator-persistent-plugin-management.zh.md: 91afa00cd3f0adb8b21a52ee958bac61bc0912fc +/agent-note-creator-mode-installs-persistent-plugin-bundles: + en: c73c641d920a1431 + zh: c8ee5e861cc8bad3 +/agent-note-creator-mode-installs-persistent-plugin-bundles/problem: + en: 44615a7a0939054e + zh: b8efa721321ba0d7 +/agent-note-creator-mode-installs-persistent-plugin-bundles/decision: + en: 3530a89a72e35bdd + zh: 3601941563747b5d +/agent-note-creator-mode-installs-persistent-plugin-bundles/alternatives-considered: + en: af527d8aabdfd59c + zh: 34388da992d2ab56 +/agent-note-creator-mode-installs-persistent-plugin-bundles/consequences: + en: f27b9e492a6035e0 + zh: 3d7832ad169b7daa diff --git a/.agents/notes/implemented/architecture/2026-09-16-desktop-cos-upload-transport.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-16-desktop-cos-upload-transport.i18n.yaml index ecb789a14d..8a90598c63 100644 --- a/.agents/notes/implemented/architecture/2026-09-16-desktop-cos-upload-transport.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-16-desktop-cos-upload-transport.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-desktop-cos-upload-transport.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-16-desktop-cos-upload-transport.md -2026-09-16-desktop-cos-upload-transport.md: 84504b32fd02d1fbaf8276b4f1baf7d85f7dcbd5 -2026-09-16-desktop-cos-upload-transport.zh.md: 2a2080f95b39ab433b4ccb3bec60e5ba61f52dc9 +/agent-note-upload-desktop-releases-through-the-tencent-cos-sdk: + en: acead237faaa9390 + zh: ca5d23451f3b4577 +/agent-note-upload-desktop-releases-through-the-tencent-cos-sdk/problem: + en: 74f8515cdbb2a0aa + zh: a00d1b08db6d6158 +/agent-note-upload-desktop-releases-through-the-tencent-cos-sdk/decision: + en: 54cef8eacccce2e8 + zh: 8bad9ce5c932e0dd +/agent-note-upload-desktop-releases-through-the-tencent-cos-sdk/testing: + en: c15a405f365ca499 + zh: ee59d1b593473ee7 +/agent-note-upload-desktop-releases-through-the-tencent-cos-sdk/alternatives-considered: + en: faae1f132d6cd404 + zh: 1683143fbe6b07ce +/agent-note-upload-desktop-releases-through-the-tencent-cos-sdk/consequences: + en: 2453f558b12db1ec + zh: 15d77bfb842f9b31 diff --git a/.agents/notes/implemented/architecture/2026-09-16-experimental-voice-input.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-16-experimental-voice-input.i18n.yaml index 65566f68ce..9845fb1909 100644 --- a/.agents/notes/implemented/architecture/2026-09-16-experimental-voice-input.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-16-experimental-voice-input.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-experimental-voice-input.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-16-experimental-voice-input.md -2026-09-16-experimental-voice-input.md: 30c81ab233f27242dcf1fe2ef89bbb86542f9c04 -2026-09-16-experimental-voice-input.zh.md: 76aa8d6fc4bea32f194b20d05db4bf49af0be313 +/agent-note-experimental-voice-input-with-explicit-recognition-providers: + en: 8d4bb68acfedbb76 + zh: e2fd06ac5d0d1f21 +/agent-note-experimental-voice-input-with-explicit-recognition-providers/problem: + en: 098f766687e70ec0 + zh: 5f75407de5357c36 +/agent-note-experimental-voice-input-with-explicit-recognition-providers/decision: + en: ac3b8f0534c8bc4b + zh: 8480dbb4bdf9e695 +/agent-note-experimental-voice-input-with-explicit-recognition-providers/alternatives-considered: + en: 660a547861d966ad + zh: d597eac0b15d81b4 +/agent-note-experimental-voice-input-with-explicit-recognition-providers/consequences: + en: 75189a3d36b12ccd + zh: 2d88b1c723a2f02e diff --git a/.agents/notes/implemented/architecture/2026-09-16-plugin-configuration-on-the-plugins-page.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-16-plugin-configuration-on-the-plugins-page.i18n.yaml index 8a8f6629f8..a857ff2101 100644 --- a/.agents/notes/implemented/architecture/2026-09-16-plugin-configuration-on-the-plugins-page.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-16-plugin-configuration-on-the-plugins-page.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-plugin-configuration-on-the-plugins-page.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-16-plugin-configuration-on-the-plugins-page.md -2026-09-16-plugin-configuration-on-the-plugins-page.md: 700ada15385d0ff95e2f7f1cc58545a28677a507 -2026-09-16-plugin-configuration-on-the-plugins-page.zh.md: 23935312d2b09a524a1571f81c18ad8b5ffafc3f +/agent-note-plugin-configuration-on-the-plugins-page: + en: e3cb8f2cfd31ee99 + zh: 75c7c498bb5b29e4 +/agent-note-plugin-configuration-on-the-plugins-page/problem: + en: 9ca845902f1df3a2 + zh: 41e3157a843a511e +/agent-note-plugin-configuration-on-the-plugins-page/decision: + en: edce6321f96653c1 + zh: b9af8efeff5a05ed +/agent-note-plugin-configuration-on-the-plugins-page/consequences: + en: d3d131d6c46bc32e + zh: eb7c06f119dfbe8d +/agent-note-plugin-configuration-on-the-plugins-page/alternatives-considered: + en: 14c6db09f23c2005 + zh: 979730121cd837c3 +/agent-note-plugin-configuration-on-the-plugins-page/testing: + en: b58fdf0d5922f52b + zh: 0b999255d2b9b832 diff --git a/.agents/notes/implemented/architecture/2026-09-16-size-neutral-product-icon-weights.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-16-size-neutral-product-icon-weights.i18n.yaml index 758bca04da..de00746f9a 100644 --- a/.agents/notes/implemented/architecture/2026-09-16-size-neutral-product-icon-weights.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-16-size-neutral-product-icon-weights.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-size-neutral-product-icon-weights.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-16-size-neutral-product-icon-weights.md -2026-09-16-size-neutral-product-icon-weights.md: 3850fcbddfef6d096f648d5b3efa73790f40f8c1 -2026-09-16-size-neutral-product-icon-weights.zh.md: 84031677e9b13b8dbf3b8e5d959359824e0c94fc +/agent-note-size-neutral-product-icon-weights: + en: f0d742af33e3297e + zh: 5db6cdc26635d843 +/agent-note-size-neutral-product-icon-weights/problem: + en: aae2bf56f8695ee8 + zh: 491fa683d7cc580f +/agent-note-size-neutral-product-icon-weights/decision: + en: c0680b384d4198c8 + zh: a34f4481b7784b4f +/agent-note-size-neutral-product-icon-weights/alternatives-considered: + en: bda83cdc7a7c59a9 + zh: d3592cdf068556ea +/agent-note-size-neutral-product-icon-weights/consequences: + en: bceee31f65a32e69 + zh: d8fad0a01f1a7e7a diff --git a/.agents/notes/implemented/architecture/2026-09-16-user-terminal-permissions.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-16-user-terminal-permissions.i18n.yaml index e8df386371..f065cf26a3 100644 --- a/.agents/notes/implemented/architecture/2026-09-16-user-terminal-permissions.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-16-user-terminal-permissions.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-user-terminal-permissions.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-16-user-terminal-permissions.md -2026-09-16-user-terminal-permissions.md: f45b96419c34f8ebddc30431b42c9859c46de6b9 -2026-09-16-user-terminal-permissions.zh.md: 62bb152a1b899d026c8d7bddb350317ba12f14cf +/agent-note-user-terminal-permissions: + en: 806fc2a4c3bc2294 + zh: dfdae2dc3c49b0b3 +/agent-note-user-terminal-permissions/problem: + en: 2948b4f40ebe9d3b + zh: a59676148531470f +/agent-note-user-terminal-permissions/decision: + en: 23aad535d7f8d41e + zh: 543ecefce61bee7f +/agent-note-user-terminal-permissions/alternatives-considered: + en: a4f8d5ac653db322 + zh: 9671639c5a2c746b +/agent-note-user-terminal-permissions/consequences: + en: b1c2a8059cd44cc2 + zh: 83aba1c4de722bdc diff --git a/.agents/notes/implemented/architecture/2026-09-17-account-provider-signout.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-17-account-provider-signout.i18n.yaml new file mode 100644 index 0000000000..883bb12bc0 --- /dev/null +++ b/.agents/notes/implemented/architecture/2026-09-17-account-provider-signout.i18n.yaml @@ -0,0 +1,19 @@ +# Bilingual-pair consistency record for 2026-09-17-account-provider-signout.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: +# pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-17-account-provider-signout.md +/agent-note-account-provider-and-active-request-cancellation: + en: 3b8b363041dd596b + zh: 7c9b2eb195435b1f +/agent-note-account-provider-and-active-request-cancellation/problem: + en: 8d4d00e33af763b2 + zh: 61977c82d66ae9bf +/agent-note-account-provider-and-active-request-cancellation/decision: + en: d5eb12a1644c6226 + zh: 513d4f22ab74e039 +/agent-note-account-provider-and-active-request-cancellation/alternatives-considered: + en: a072026c1495a1ca + zh: bf053cc04fb33914 +/agent-note-account-provider-and-active-request-cancellation/consequences: + en: 8fd00b6d69b380c0 + zh: 3830dc3a93d5de3c diff --git a/.agents/notes/implemented/architecture/2026-09-17-account-provider-signout.md b/.agents/notes/implemented/architecture/2026-09-17-account-provider-signout.md new file mode 100644 index 0000000000..6b8ef842c5 --- /dev/null +++ b/.agents/notes/implemented/architecture/2026-09-17-account-provider-signout.md @@ -0,0 +1,27 @@ +# Agent Note: Account provider and active request cancellation + +Status: implemented + +English | [中文](2026-09-17-account-provider-signout.zh.md) + +## Problem + +Selecting credentials from login state changes the billing identity of an existing provider route. Sign-out also needs to stop account-dependent work without classifying requests from settings that may have changed while a request or tool is still running. + +## Decision + +`deepseek-official` and `deepseek-account` are independent routes sharing the DeepSeek protocol implementation. Each adapter has exactly one credential resolver and authentication header mode. Neither route falls back to the other credential. The account service retains the origin and issuer validation defined by the [login decision](2026-09-14-deepseek-account-login.md). + +Account cancellation reads each running Agent’s latest `Session.requestContext()` instead of maintaining another provider field. This logged value remains through tools and retries and follows the next bound request. Idle Agents are excluded. During a new turn’s first preparation it can still name the previous turn’s account route, so sign-out can also interrupt an API-key turn that has not bound its new request yet. A missing account credential rejects a first request without a previous context before transport. + +Successful local sign-out publishes an account event. The platform account provider installs the account module’s listener, which enumerates the Agent registry and cancels matching account routes through `Agent.cancel`, preserving inboxes. The account controller shares its predicate for sign-out confirmation. Each registered child is classified independently; existing parent-owned cancellation still applies to children whose lifetime is attached to a cancelled parent. The existing HTTP signal carries cancellation to transport. + +## Alternatives considered + +A historical set of providers wrongly cancels a turn after it switches to an API-key route. Current settings misclassify an older in-flight request. A second provider field or module-global map duplicates information already recorded in request context. A login-level cancellation signal duplicates the existing Agent and HTTP cancellation chain. + +## Consequences + +Model selection exposes both routes, and choosing an account route requires login even when an API key exists. The `llm-deepseek-account` and `llm-deepseek-api-key` plugins independently own catalogs, connection settings, and credentials; both use the `llm-deepseek` protocol library. Cancellation preserves queued input without waking it automatically. The recorded hook reason produces a localized conversation notice without changing durable event types. + +Behavior tests cover credential separation, first preparation, tool-stage cancellation, and route replacement. The SDK account-provider-signout scenario boots the shipped profile and records interrupted output plus the cancellation cause. diff --git a/.agents/notes/implemented/architecture/2026-09-17-account-provider-signout.zh.md b/.agents/notes/implemented/architecture/2026-09-17-account-provider-signout.zh.md new file mode 100644 index 0000000000..588dd38bf9 --- /dev/null +++ b/.agents/notes/implemented/architecture/2026-09-17-account-provider-signout.zh.md @@ -0,0 +1,27 @@ +# Agent Note: 账号提供方与当前请求取消 + +Status: implemented + +[English](2026-09-17-account-provider-signout.md) | 中文 + +## Problem + +根据登录态选择凭证会改变现有提供方路由的计费身份。退登也需要停止依赖账号的任务,不能根据请求或工具运行期间可能已经改变的设置判断归属。 + +## Decision + +`deepseek-official` 和 `deepseek-account` 是独立路由,共享 DeepSeek 协议实现。每个适配器仅有一个凭证解析器和认证请求头模式。两条路由均不回退到另一凭证。账号服务保留[登录决策](2026-09-14-deepseek-account-login.zh.md)定义的来源及签发方校验。 + +账号取消读取运行中 Agent 最近的 `Session.requestContext()`,不维护额外提供方字段。该已记录值在工具和重试阶段保留,随下一次绑定请求更新;空闲 Agent 不计入。新轮次首次准备期间,它仍可能指向上一轮的账号路由,因此退登也可能打断尚未绑定新请求的 API key 轮次。没有历史上下文的首请求若缺少账号凭据,会在传输前失败。 + +本地退登成功后发布账号事件。Platform 账号提供方安装账号模块的监听器,遍历 Agent 注册表,通过 `Agent.cancel` 取消匹配的账号路由并保留收件箱。账号控制器的退登确认复用同一判断函数。每个已注册子代理独立分类;生命周期绑定到已取消父代理的子代理仍受现有父级取消规则约束。现有 HTTP 信号将取消传递到传输层。 + +## Alternatives considered + +历史提供方集合会在轮次切换到 API Key 路由后仍错误取消它。当前设置会误判更早的在途请求。额外的提供方字段或模块级全局映射重复保存请求上下文中已有的信息。登录级取消信号重复现有 Agent 与 HTTP 取消链路。 + +## Consequences + +模型选择展示两条路由,即使存在 API Key,选择账号路由仍要求登录。两个路由分别由 `llm-deepseek-account` 和 `llm-deepseek-api-key` 注册,拥有独立的模型目录与连接设置,共用 `llm-deepseek` 协议实现。取消保留排队输入,不自动唤醒。已记录的 hook 原因生成本地化对话提示,无须改变持久事件类型。 + +行为测试覆盖凭证分离、首请求准备、工具阶段取消及路由替换。SDK account-provider-signout 场景启动随附 profile,记录被中断的输出和取消原因。 diff --git a/.agents/notes/implemented/architecture/2026-09-17-developer-session-changes.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-17-developer-session-changes.i18n.yaml index db3f3c7cb5..70fd453cb1 100644 --- a/.agents/notes/implemented/architecture/2026-09-17-developer-session-changes.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-17-developer-session-changes.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-developer-session-changes.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-17-developer-session-changes.md -2026-09-17-developer-session-changes.md: 0545dfa4344f8ed87fe6343e13901647a5ccdac4 -2026-09-17-developer-session-changes.zh.md: 81c53115aaf4447dac358febcbd1310bb2a36cb2 +/agent-note-developer-messages-for-incremental-session-changes: + en: 1460291daf64190e + zh: 0456570fdcfbff56 +/agent-note-developer-messages-for-incremental-session-changes/problem: + en: 4b02ed98a500205c + zh: e1a075f6a8251059 +/agent-note-developer-messages-for-incremental-session-changes/decision: + en: 5fecb076fa475b6d + zh: b59c76222ec00123 +/agent-note-developer-messages-for-incremental-session-changes/alternatives-considered: + en: a9ec42fb650d6cd8 + zh: c748181c603e675f +/agent-note-developer-messages-for-incremental-session-changes/consequences: + en: 28e92dab15059d0c + zh: 31b4f1955d82c02c diff --git a/.agents/notes/implemented/architecture/2026-09-17-frame-shell-leading-window-chrome-seat.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-17-frame-shell-leading-window-chrome-seat.i18n.yaml index 08712a98da..16d3ced836 100644 --- a/.agents/notes/implemented/architecture/2026-09-17-frame-shell-leading-window-chrome-seat.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-17-frame-shell-leading-window-chrome-seat.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-frame-shell-leading-window-chrome-seat.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-17-frame-shell-leading-window-chrome-seat.md -2026-09-17-frame-shell-leading-window-chrome-seat.md: cc3ef576900e38dc26c46438fd5d490ac4361be0 -2026-09-17-frame-shell-leading-window-chrome-seat.zh.md: c652f313d4f4863decc14e556a1674487d1d3fea +/agent-note-frame-owned-shell-leading-window-chrome-seat: + en: 3e2cfa57af6b53e7 + zh: 78fe101ad11a6330 +/agent-note-frame-owned-shell-leading-window-chrome-seat/problem: + en: 09b5defb78287f7e + zh: b7333ce5077914a2 +/agent-note-frame-owned-shell-leading-window-chrome-seat/decision: + en: 04853eeed03a00c5 + zh: 9542acfaa6258842 +/agent-note-frame-owned-shell-leading-window-chrome-seat/alternatives-considered: + en: 81e997e43d185834 + zh: 38eda1f9a4bac318 +/agent-note-frame-owned-shell-leading-window-chrome-seat/consequences: + en: 7d95c4c155f8e3c3 + zh: b3f88fe2fb7a77f0 +/agent-note-frame-owned-shell-leading-window-chrome-seat/testing: + en: 2fcc157c9c4f0b81 + zh: 3b0e6135b1c10db1 diff --git a/.agents/notes/implemented/architecture/2026-09-17-native-v4-read-validation.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-17-native-v4-read-validation.i18n.yaml index c3afeacd89..cfe428cf55 100644 --- a/.agents/notes/implemented/architecture/2026-09-17-native-v4-read-validation.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-17-native-v4-read-validation.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-native-v4-read-validation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-17-native-v4-read-validation.md -2026-09-17-native-v4-read-validation.md: b111e9f1dd4aae6557b7893a9f334445ef0c85bc -2026-09-17-native-v4-read-validation.zh.md: 20f1dc53b6eda42834e169c18f7b269e2933d27c +/agent-note-mandatory-native-v4-relationship-validation: + en: 67bc5b987df97d21 + zh: 173eb273e11a24a9 +/agent-note-mandatory-native-v4-relationship-validation/problem: + en: cfb527c1c2ca661a + zh: b61a906330cdaf97 +/agent-note-mandatory-native-v4-relationship-validation/decision: + en: 14feaf74a58d5609 + zh: 8aea80c89110e638 +/agent-note-mandatory-native-v4-relationship-validation/alternatives-considered: + en: d6296e00a6b30d48 + zh: 9f7074c69fb42e5f +/agent-note-mandatory-native-v4-relationship-validation/consequences: + en: b76aaca1c35dcc6c + zh: b933c2518c64c60c diff --git a/.agents/notes/implemented/architecture/2026-09-17-persistence-attribution-policy.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-17-persistence-attribution-policy.i18n.yaml index e2b272908e..2cb18a5a75 100644 --- a/.agents/notes/implemented/architecture/2026-09-17-persistence-attribution-policy.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-17-persistence-attribution-policy.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-persistence-attribution-policy.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-17-persistence-attribution-policy.md -2026-09-17-persistence-attribution-policy.md: 19bebc8bc186f4b2b7e2e561fb6a53ceadcebabf -2026-09-17-persistence-attribution-policy.zh.md: 3561c1d1afca5402cb94b1578603c4f1a2fc89a4 +/agent-note-recorded-user-source-attribution-compatibility: + en: db7dca9aee8a5f49 + zh: 1c5aace5cb896738 +/agent-note-recorded-user-source-attribution-compatibility/problem: + en: 21904d2f57e4e159 + zh: 589fe41a93ec9e5d +/agent-note-recorded-user-source-attribution-compatibility/decision: + en: 10bd45b099218280 + zh: c21ab6c74dd1afbf +/agent-note-recorded-user-source-attribution-compatibility/alternatives-considered: + en: 2e1b3bcd9e00b5be + zh: e5a1725390346470 +/agent-note-recorded-user-source-attribution-compatibility/consequences: + en: cb2b35edfe2a006f + zh: e73c28367e78c44c diff --git a/.agents/notes/implemented/architecture/2026-09-17-plugin-detail-page-extension-slots.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-17-plugin-detail-page-extension-slots.i18n.yaml index 5bd9f6000c..5b7f7e9b6b 100644 --- a/.agents/notes/implemented/architecture/2026-09-17-plugin-detail-page-extension-slots.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-17-plugin-detail-page-extension-slots.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-plugin-detail-page-extension-slots.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-17-plugin-detail-page-extension-slots.md -2026-09-17-plugin-detail-page-extension-slots.md: d4bbca0c4466fbb78a8c56cfc4e327100385368f -2026-09-17-plugin-detail-page-extension-slots.zh.md: f07efc3d3cadded04a7551867680cc058d532943 +/agent-note-plugin-detail-pages-as-an-extension-point: + en: 71b432dfc4475c08 + zh: a9f9a7e272c32093 +/agent-note-plugin-detail-pages-as-an-extension-point/problem: + en: 39f7e246e6ab3beb + zh: dba3ba5206d81d8d +/agent-note-plugin-detail-pages-as-an-extension-point/decision: + en: df2cba037b6bcb4d + zh: 82d0a5dc61a1716c +/agent-note-plugin-detail-pages-as-an-extension-point/alternatives-considered: + en: cdcc8710be8ab1be + zh: d82781a3c353984f +/agent-note-plugin-detail-pages-as-an-extension-point/consequences: + en: 0567cb3fbfbdb4f8 + zh: 256811c9a7271da1 +/agent-note-plugin-detail-pages-as-an-extension-point/testing: + en: 8957db157d2f743e + zh: fb24db99bb5a55aa diff --git a/.agents/notes/implemented/architecture/2026-09-17-process-local-blank-sessions.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-17-process-local-blank-sessions.i18n.yaml index e89e510aea..25c6bed4ad 100644 --- a/.agents/notes/implemented/architecture/2026-09-17-process-local-blank-sessions.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-17-process-local-blank-sessions.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-process-local-blank-sessions.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-17-process-local-blank-sessions.md -2026-09-17-process-local-blank-sessions.md: 58d222185ae67c1f70874c0d0a73910eaa1e0e5b -2026-09-17-process-local-blank-sessions.zh.md: 0f3fdf050931d11a80e92d98577ac8b42628bb60 +/agent-note-writer-acquisition-for-blank-session-reuse: + en: a78ef0f5b14debe5 + zh: 8b7ef954fe622783 +/agent-note-writer-acquisition-for-blank-session-reuse/problem: + en: 837ebb0071a5611b + zh: 23d0f0713889ead6 +/agent-note-writer-acquisition-for-blank-session-reuse/decision: + en: 932bc5c0be3721de + zh: 000425c5f053e74e +/agent-note-writer-acquisition-for-blank-session-reuse/alternatives-considered: + en: 2a67a53f7f396ba8 + zh: 6df6ccc071fb0de2 +/agent-note-writer-acquisition-for-blank-session-reuse/consequences: + en: 2e1f1894337689a2 + zh: d0cab07cc48083ee +/agent-note-writer-acquisition-for-blank-session-reuse/verification: + en: 4680e845e2ab294e + zh: ea5890c5ffb09831 diff --git a/.agents/notes/implemented/architecture/2026-09-17-session-row-menu-actions-slot.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-17-session-row-menu-actions-slot.i18n.yaml index 0a9151134f..40bc5939fe 100644 --- a/.agents/notes/implemented/architecture/2026-09-17-session-row-menu-actions-slot.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-17-session-row-menu-actions-slot.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-session-row-menu-actions-slot.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-17-session-row-menu-actions-slot.md -2026-09-17-session-row-menu-actions-slot.md: 034144b2b7c9d260f41565d3835687e52353c381 -2026-09-17-session-row-menu-actions-slot.zh.md: 6ad15d263fd41a0ad97a386506c8f581290d032f +/agent-note-session-row-actions-as-slot-lists: + en: 6c14eadc272cbe5f + zh: d0fb9907cddcae5a +/agent-note-session-row-actions-as-slot-lists/problem: + en: 1afb986570a4bb49 + zh: 22862e82275038b7 +/agent-note-session-row-actions-as-slot-lists/decision: + en: 7a353dd9c0642f56 + zh: e503a953cccfdc47 +/agent-note-session-row-actions-as-slot-lists/alternatives-considered: + en: 19fc0c951e9e49b5 + zh: 9010c3fb55b71ce0 +/agent-note-session-row-actions-as-slot-lists/consequences: + en: cfc90eb041452a48 + zh: 882748ceb29f21ea diff --git a/.agents/notes/implemented/architecture/2026-09-17-settings-pages-as-companion-packages.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-17-settings-pages-as-companion-packages.i18n.yaml index 665be1daa4..34faaaba25 100644 --- a/.agents/notes/implemented/architecture/2026-09-17-settings-pages-as-companion-packages.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-17-settings-pages-as-companion-packages.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-settings-pages-as-companion-packages.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-17-settings-pages-as-companion-packages.md -2026-09-17-settings-pages-as-companion-packages.md: de2f2897938fcc158c49bed772f399b4d9328d19 -2026-09-17-settings-pages-as-companion-packages.zh.md: 27d00faa156f0f48c6dc3995930be9ca629a732d +/agent-note-settings-pages-as-companion-packages: + en: ada5eadeb6e921e4 + zh: 1cc804b1720c2c98 +/agent-note-settings-pages-as-companion-packages/problem: + en: 8c23fffd3cef6ea8 + zh: 6072e1e4197afd7c +/agent-note-settings-pages-as-companion-packages/decision: + en: d0610e0445b8fdb7 + zh: 5e8af1fce960cae5 +/agent-note-settings-pages-as-companion-packages/alternatives-considered: + en: cc29e94d925d84b4 + zh: bdaec6d6ff2d511a +/agent-note-settings-pages-as-companion-packages/consequences: + en: ef4733505d43fb1e + zh: 320475e4b5a0f5e0 +/agent-note-settings-pages-as-companion-packages/testing: + en: 92bef8e1c609359b + zh: c4f2016243441b1e diff --git a/.agents/notes/implemented/architecture/2026-09-17-shared-office-runtime.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-17-shared-office-runtime.i18n.yaml index f3e123135e..4aa201536b 100644 --- a/.agents/notes/implemented/architecture/2026-09-17-shared-office-runtime.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-17-shared-office-runtime.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-shared-office-runtime.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-17-shared-office-runtime.md -2026-09-17-shared-office-runtime.md: 25b6ddccbb5b17b93bec2c0b024dfcb63e94abc3 -2026-09-17-shared-office-runtime.zh.md: 99dffe8d0233e60480689ff983b6261cbb83bb7b +/agent-note-shared-office-runtime-for-desktop-and-sdk: + en: 28af688a50a2d5c6 + zh: ee73d6dd4fab9184 +/agent-note-shared-office-runtime-for-desktop-and-sdk/problem: + en: 4d08aed08c8aff27 + zh: d618b4ac68832867 +/agent-note-shared-office-runtime-for-desktop-and-sdk/decision: + en: f92ce88d82a076ed + zh: 341e486effad4b6d +/agent-note-shared-office-runtime-for-desktop-and-sdk/alternatives-considered: + en: d85334a384a32a7d + zh: 61c370390d9fdcf9 +/agent-note-shared-office-runtime-for-desktop-and-sdk/consequences: + en: f236fec61d99ba16 + zh: 859ee94e05a95aa4 diff --git a/.agents/notes/implemented/architecture/2026-09-17-web-feature-routes-and-route-gate.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-17-web-feature-routes-and-route-gate.i18n.yaml index 4531b00628..735a46bdc2 100644 --- a/.agents/notes/implemented/architecture/2026-09-17-web-feature-routes-and-route-gate.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-17-web-feature-routes-and-route-gate.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-web-feature-routes-and-route-gate.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-17-web-feature-routes-and-route-gate.md -2026-09-17-web-feature-routes-and-route-gate.md: 3939bdcd0c53e766827e8fcf05f64fb4d284c59b -2026-09-17-web-feature-routes-and-route-gate.zh.md: fb329c8fc1f93b9f979612b7163e838cc521428b +/agent-note-feature-routes-follow-the-document-base-and-a-gate-keeps-them-there: + en: ca746e8d558cfc31 + zh: 3524931b0bf9991f +/agent-note-feature-routes-follow-the-document-base-and-a-gate-keeps-them-there/problem: + en: d4a1124ae3b6f6a8 + zh: 4814da5d08947bc7 +/agent-note-feature-routes-follow-the-document-base-and-a-gate-keeps-them-there/decision: + en: 5b89e02010c2da46 + zh: d11e67d86ef27908 +/agent-note-feature-routes-follow-the-document-base-and-a-gate-keeps-them-there/alternatives-considered: + en: d90dbd0c95914085 + zh: 6256f4fd76a7cb55 +/agent-note-feature-routes-follow-the-document-base-and-a-gate-keeps-them-there/consequences: + en: 94530852d7746ddb + zh: ad2383c465053822 +/agent-note-feature-routes-follow-the-document-base-and-a-gate-keeps-them-there/testing: + en: 95c952092857cb53 + zh: 232cd731afcd3288 diff --git a/.agents/notes/implemented/architecture/2026-09-17-workspace-file-binary-transfer.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-17-workspace-file-binary-transfer.i18n.yaml index 7eef4b0fa9..5fbbb120e6 100644 --- a/.agents/notes/implemented/architecture/2026-09-17-workspace-file-binary-transfer.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-17-workspace-file-binary-transfer.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-workspace-file-binary-transfer.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-17-workspace-file-binary-transfer.md -2026-09-17-workspace-file-binary-transfer.md: b419c8bd15f51246825ceddf2905ec055bbc70ae -2026-09-17-workspace-file-binary-transfer.zh.md: 9cf3d7074c3d536a5c8a39732231c6996d6f6ead +/agent-note-binary-workspace-file-transfer: + en: ea1888ee2f867b71 + zh: fd32b8b9f29347cb +/agent-note-binary-workspace-file-transfer/problem: + en: 7da36071204124c9 + zh: c90cdeaef381b252 +/agent-note-binary-workspace-file-transfer/decision: + en: e1e0224605793212 + zh: 4e55f4b57a4b8739 +/agent-note-binary-workspace-file-transfer/alternatives-considered: + en: c548577bd53db153 + zh: 2880f3751b7fcad3 +/agent-note-binary-workspace-file-transfer/consequences: + en: 44733fbb2102c581 + zh: a0290e25401a40de +/agent-note-binary-workspace-file-transfer/validation: + en: 6d62210510b842d8 + zh: 6c5a2436ed59c354 diff --git a/.agents/notes/implemented/architecture/2026-09-18-agent-teams-single-bundle.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-18-agent-teams-single-bundle.i18n.yaml index ecf9b0571e..83ed8c5841 100644 --- a/.agents/notes/implemented/architecture/2026-09-18-agent-teams-single-bundle.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-18-agent-teams-single-bundle.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-18-agent-teams-single-bundle.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-18-agent-teams-single-bundle.md -2026-09-18-agent-teams-single-bundle.md: b417061d24928877d8d31739e1e3bde6b8512d51 -2026-09-18-agent-teams-single-bundle.zh.md: ed20dac79f39f6648767d57556ed97b42d0e1c65 +/agent-note-enable-agent-teams-with-one-bundle: + en: c595b526791a8dfd + zh: 61f4bf6948e41bee +/agent-note-enable-agent-teams-with-one-bundle/problem: + en: 8dd802c775d24e42 + zh: 53cf2818dd93181e +/agent-note-enable-agent-teams-with-one-bundle/decision: + en: d513c3239b59b2ee + zh: 7692b7ae43befc9d +/agent-note-enable-agent-teams-with-one-bundle/alternatives-considered: + en: 32952c4e1b6f486d + zh: 6c9b91eaf0460d30 +/agent-note-enable-agent-teams-with-one-bundle/consequences: + en: be92cb1ce7c86cb6 + zh: 0da06f76df72f97e +/agent-note-enable-agent-teams-with-one-bundle/verification: + en: 8fc694c4c84401f1 + zh: 6540462f6896bef7 diff --git a/.agents/notes/implemented/architecture/2026-09-18-chat-navigation-performance.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-18-chat-navigation-performance.i18n.yaml index 257088effa..d8ea21a542 100644 --- a/.agents/notes/implemented/architecture/2026-09-18-chat-navigation-performance.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-18-chat-navigation-performance.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-18-chat-navigation-performance.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-18-chat-navigation-performance.md -2026-09-18-chat-navigation-performance.md: d82c68098fc422abb181ed4e5e1ca41189cd0951 -2026-09-18-chat-navigation-performance.zh.md: 9c2f81a51ce53660aabf2dd1e729d02e8028b7b6 +/agent-note-bound-turn-navigation-work-and-batch-historical-jumps: + en: c37ea37bfa045a00 + zh: 88a75b8739e99fb5 +/agent-note-bound-turn-navigation-work-and-batch-historical-jumps/problem: + en: c3ca28379b414fc5 + zh: 4a25378cef3f2259 +/agent-note-bound-turn-navigation-work-and-batch-historical-jumps/decision: + en: a15c7c13f167e5ac + zh: a15c7c13f167e5ac +/agent-note-bound-turn-navigation-work-and-batch-historical-jumps/decision/fixed-pitch-virtual-rail: + en: 79e61c0dbffe6f01 + zh: 47dd4758d115f8bb +/agent-note-bound-turn-navigation-work-and-batch-historical-jumps/decision/two-layer-transcript-navigation: + en: 022a8ad83ac099f1 + zh: b4393e39bfdd401d +/agent-note-bound-turn-navigation-work-and-batch-historical-jumps/decision/one-publication-per-historical-jump: + en: 510e80edc58ebdea + zh: cfbff46bff1e43bb +/agent-note-bound-turn-navigation-work-and-batch-historical-jumps/decision/theoretical-work-model: + en: 6786e39e812ad355 + zh: eca00072cf880a08 +/agent-note-bound-turn-navigation-work-and-batch-historical-jumps/alternatives-considered: + en: f590762936560d5c + zh: 0fc836bf1841733e +/agent-note-bound-turn-navigation-work-and-batch-historical-jumps/consequences: + en: 5f50c3d4a539f48c + zh: 5aee80a99d52233e diff --git a/.agents/notes/implemented/architecture/2026-09-18-declarative-agent-presets.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-18-declarative-agent-presets.i18n.yaml index 8c41c47eeb..41b02cd5ae 100644 --- a/.agents/notes/implemented/architecture/2026-09-18-declarative-agent-presets.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-18-declarative-agent-presets.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-18-declarative-agent-presets.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-18-declarative-agent-presets.md -2026-09-18-declarative-agent-presets.md: 55ec173b33b7ddd62c88c68afc8b7546074aae0a -2026-09-18-declarative-agent-presets.zh.md: 60c81de4d981818f805b1014c2e3f05f16d1e8a9 +/agent-note-declarative-agent-presets-and-retained-revisions: + en: 0a9b9ab7a29ddce9 + zh: 10893a464cde0f97 +/agent-note-declarative-agent-presets-and-retained-revisions/problem: + en: 725f773bb350218e + zh: dd8fbc09ef48208d +/agent-note-declarative-agent-presets-and-retained-revisions/decision: + en: fa2ac428de2ba3d0 + zh: c75da98e1cf076ef +/agent-note-declarative-agent-presets-and-retained-revisions/alternatives-considered: + en: 09f40eab4659e9f6 + zh: 7a70da0d0ae6845b +/agent-note-declarative-agent-presets-and-retained-revisions/consequences: + en: 24179c31261b0942 + zh: 651c61bb5e53fd78 +/agent-note-declarative-agent-presets-and-retained-revisions/testing: + en: d1a38a45212d4ebd + zh: 6ca7a86078515284 diff --git a/.agents/notes/implemented/architecture/2026-09-18-localized-package-metadata.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-18-localized-package-metadata.i18n.yaml index 89a7fa2cc4..828454ccca 100644 --- a/.agents/notes/implemented/architecture/2026-09-18-localized-package-metadata.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-18-localized-package-metadata.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-18-localized-package-metadata.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-18-localized-package-metadata.md -2026-09-18-localized-package-metadata.md: a7e41cccbbce63547e8e5f175ec2350bcf515bc2 -2026-09-18-localized-package-metadata.zh.md: d70aed2a57db4c474245806d4bd3db0129f4beb4 +/agent-note-plugin-owned-localized-display-metadata: + en: b78ee8e580f068ea + zh: 17dd59c9b6273897 +/agent-note-plugin-owned-localized-display-metadata/problem: + en: 4022a58baf82e77d + zh: 8439268ed4df9b69 +/agent-note-plugin-owned-localized-display-metadata/decision: + en: f6c3e24681977f48 + zh: 84ae52ec62f4af96 +/agent-note-plugin-owned-localized-display-metadata/existing-decisions: + en: a84f44d6a3179d47 + zh: 8fb62f08bec5f75d +/agent-note-plugin-owned-localized-display-metadata/alternatives-considered: + en: abbdb1b8ab360380 + zh: edfe6c06b1d67fd7 +/agent-note-plugin-owned-localized-display-metadata/verification: + en: 8541a2431321ef61 + zh: 77599e0855d93da9 +/agent-note-plugin-owned-localized-display-metadata/consequences: + en: 2a4547c9657038df + zh: 1a4bebd06d2b9e38 diff --git a/.agents/notes/implemented/architecture/2026-09-18-plugin-install-registries.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-18-plugin-install-registries.i18n.yaml index 7ca268a8fc..ac4c62e4a0 100644 --- a/.agents/notes/implemented/architecture/2026-09-18-plugin-install-registries.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-18-plugin-install-registries.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-18-plugin-install-registries.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-18-plugin-install-registries.md -2026-09-18-plugin-install-registries.md: bee870a87b1f5427af8f05a32396bd52bd1524b7 -2026-09-18-plugin-install-registries.zh.md: 65fe35c78910d1cdf1ce45aea7d9fa7ae8617006 +/agent-note-plugin-install-registries: + en: 88c789616a978d0c + zh: 27c9b37d12be8a6a +/agent-note-plugin-install-registries/problem: + en: 0b7713b33c9b665b + zh: eab1dac3e14c8587 +/agent-note-plugin-install-registries/decision: + en: 23bb185c5795943d + zh: 7939b6a738290adf +/agent-note-plugin-install-registries/alternatives-considered: + en: 247f164eaf0196fa + zh: 7863dcfed12161c0 +/agent-note-plugin-install-registries/consequences: + en: 9a4c2233b869350a + zh: 86562a4c8573d1c1 +/agent-note-plugin-install-registries/testing: + en: 6c7a39b22be31df7 + zh: 6eee9b14ed9be704 diff --git a/.agents/notes/implemented/architecture/2026-09-18-profile-plugin-host-runtime-instances.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-18-profile-plugin-host-runtime-instances.i18n.yaml index d8c7d77519..4325837109 100644 --- a/.agents/notes/implemented/architecture/2026-09-18-profile-plugin-host-runtime-instances.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-18-profile-plugin-host-runtime-instances.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-18-profile-plugin-host-runtime-instances.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-18-profile-plugin-host-runtime-instances.md -2026-09-18-profile-plugin-host-runtime-instances.md: 76135318b3a935e4588c360df3210618a6c69216 -2026-09-18-profile-plugin-host-runtime-instances.zh.md: b2229574876b0ad326348ababd6b6fca6f3a1ac2 +/agent-note-profile-plugins-share-the-installation-s-host-runtime-instances: + en: 04d5248dde932469 + zh: 877d263ca4b0beef +/agent-note-profile-plugins-share-the-installation-s-host-runtime-instances/problem: + en: f9c4830ba4be20bc + zh: be46323e2eae9247 +/agent-note-profile-plugins-share-the-installation-s-host-runtime-instances/decision: + en: bcd92c487ebfab32 + zh: c50478b864562f0d +/agent-note-profile-plugins-share-the-installation-s-host-runtime-instances/alternatives-considered: + en: 1443d5fc869ffcf9 + zh: 76b21473d2892e7f +/agent-note-profile-plugins-share-the-installation-s-host-runtime-instances/consequences: + en: 075067e84219ae67 + zh: 035c60f3e11783d5 diff --git a/.agents/notes/implemented/architecture/2026-09-18-volatile-config-references.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-18-volatile-config-references.i18n.yaml index ef7c78129d..729ecfe793 100644 --- a/.agents/notes/implemented/architecture/2026-09-18-volatile-config-references.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-18-volatile-config-references.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-18-volatile-config-references.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-18-volatile-config-references.md -2026-09-18-volatile-config-references.md: afaa6affdc3d18da182ec069126033cb55393b72 -2026-09-18-volatile-config-references.zh.md: 3d8800cb92dec4da80b698cb8b3c073331ed266f +/agent-note-volatile-configuration-references: + en: 6a5845c609acc131 + zh: f63fc95d58f06272 +/agent-note-volatile-configuration-references/problem: + en: da97e9a3eabc9a36 + zh: bca53a3021689d06 +/agent-note-volatile-configuration-references/decision: + en: 5798a8dd943987b1 + zh: 090d2b49958c3158 +/agent-note-volatile-configuration-references/alternatives-considered: + en: cf68e95cde8ff288 + zh: 817667d5c8c93056 +/agent-note-volatile-configuration-references/consequences: + en: 7941168bdfa2dc96 + zh: 29385474a4902a8a diff --git a/.agents/notes/implemented/architecture/2026-09-19-lossless-projection-checkpoint-json.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-19-lossless-projection-checkpoint-json.i18n.yaml index a66f2afe77..93be98ebc5 100644 --- a/.agents/notes/implemented/architecture/2026-09-19-lossless-projection-checkpoint-json.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-19-lossless-projection-checkpoint-json.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-lossless-projection-checkpoint-json.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-19-lossless-projection-checkpoint-json.md -2026-09-19-lossless-projection-checkpoint-json.md: 9c7d15dbd2d570eaa544f168d2c2ef882558d5ca -2026-09-19-lossless-projection-checkpoint-json.zh.md: 8c2b720358351af33a6d07888002c65d0cc30363 +/agent-note-lossless-projection-checkpoint-json: + en: 2b7b5f9e5da030df + zh: 76d65ddc85776939 +/agent-note-lossless-projection-checkpoint-json/problem: + en: 26e613246f31ee5a + zh: e0aa1e2f63bce802 +/agent-note-lossless-projection-checkpoint-json/decision: + en: 01161e9c42142971 + zh: e05e52d2af7fc4c5 +/agent-note-lossless-projection-checkpoint-json/alternatives-considered: + en: 1d64345d3d72ed5f + zh: 4c9d3410cfd815b3 +/agent-note-lossless-projection-checkpoint-json/consequences: + en: 94b619dc13cfff0b + zh: c432227d3333175f diff --git a/.agents/notes/implemented/architecture/2026-09-19-profile-owned-live-configuration.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-19-profile-owned-live-configuration.i18n.yaml index 8c966f2cfd..599afcc6f0 100644 --- a/.agents/notes/implemented/architecture/2026-09-19-profile-owned-live-configuration.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-19-profile-owned-live-configuration.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-profile-owned-live-configuration.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-19-profile-owned-live-configuration.md -2026-09-19-profile-owned-live-configuration.md: 7acf10986987960a9748308c9fe19060a97cfcc0 -2026-09-19-profile-owned-live-configuration.zh.md: c9b88462a5e0a8601d9dcd83f7d82b49e7ce5b5c +/agent-note-keep-live-configuration-in-the-owning-profile: + en: 4331f70f04ab7bac + zh: 68dece695f6f43a8 +/agent-note-keep-live-configuration-in-the-owning-profile/problem: + en: 2abacff687661d28 + zh: 2d7ba3ae27dba888 +/agent-note-keep-live-configuration-in-the-owning-profile/decision: + en: 66c3884425cfb90a + zh: 0fe6a1f1a576470b +/agent-note-keep-live-configuration-in-the-owning-profile/alternatives-considered: + en: 4089464ad1fb60bd + zh: 3168e9e4a205145d +/agent-note-keep-live-configuration-in-the-owning-profile/consequences: + en: 6033aaa12b2a521b + zh: 43934413c97670de diff --git a/.agents/notes/implemented/architecture/2026-09-19-profile-resolution-lookup-order.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-19-profile-resolution-lookup-order.i18n.yaml index da2d68745b..8892007905 100644 --- a/.agents/notes/implemented/architecture/2026-09-19-profile-resolution-lookup-order.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-19-profile-resolution-lookup-order.i18n.yaml @@ -1,6 +1,64 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-profile-resolution-lookup-order.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-19-profile-resolution-lookup-order.md -2026-09-19-profile-resolution-lookup-order.md: 6dfb5511afe885875a778b8a4f1b7c5fc3c0d842 -2026-09-19-profile-resolution-lookup-order.zh.md: 2474a9b040cb4917e71b7002d36c1e61fe3bc106 +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer: + en: 7754ffbd03cff339 + zh: cbf34c74b346654a +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer/problem: + en: 51374538814c0796 + zh: ebd74420bec9687a +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer/decision: + en: d69f81d4fc545e29 + zh: 9fc532af8015cb28 +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer/decision/part-1-resolution-rules: + en: de6ea16534218e69 + zh: fd8e1d470a2cf056 +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer/decision/part-1-resolution-rules/1-the-ancestor-chain-node-s-ancestor-node-modules-lookup: + en: 197a263bc0152b74 + zh: ab05b5033f0a74e0 +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer/decision/part-1-resolution-rules/2-the-interception-layer-the-runtime-resolution-occupies-dsh-home-profiles-node-modules-package: + en: 7acd592cb967f08f + zh: 5b20fd69c832287b +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer/decision/part-1-resolution-rules/3-linked-directories-peer-interception-at-each-ancestor-position: + en: 8b0ded021ddb87b4 + zh: 2f4d5c33dadf50e7 +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer/decision/part-1-resolution-rules/4-what-the-interception-layer-holds-the-runtime-resolution-s-scan-contents: + en: 5fffd66f08d4b977 + zh: 020ef8953b20cc8a +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer/decision/part-1-resolution-rules/5-hook-coverage: + en: 644f6f9a6ff8d6c8 + zh: 7a81f928551e9041 +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer/decision/part-1-resolution-rules/6-package-directories-and-module-files: + en: c85f82cb1c60360e + zh: c535f1c0ec58345e +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer/decision/part-2-walkthroughs: + en: 906e0d58e3c2aff3 + zh: ccc3a709034865b9 +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer/decision/part-2-walkthroughs/table-1-ancestor-chain-and-interception-for-esm-and-commonjs-across-request-forms: + en: c88d52e8715281f6 + zh: f69aaf44655bc935 +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer/decision/part-2-walkthroughs/table-2-interception-position-for-the-web-and-desktop-profiles: + en: e9dce1779952a066 + zh: d51cf26a192f3f91 +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer/decision/part-2-walkthroughs/table-3-ancestor-chain-when-a-plugin-is-linked-outside-the-tree: + en: 6fc9735fac937ec2 + zh: e9502a116339c7c3 +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer/decision/part-3-developer-integration-guide: + en: 35f27b53d995d59f + zh: 58a47c7bfced79a0 +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer/decision/part-3-developer-integration-guide/1-normal-installation: + en: d0bed60317e6e3a8 + zh: 5714160678adc049 +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer/decision/part-3-developer-integration-guide/2-development-mode-the-plugin-repository-is-outside-the-profile-tree: + en: d7ec5a747ebcb93e + zh: 7e1d0724973b32c1 +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer/alternatives-considered: + en: 5466618bb5e3d4d9 + zh: 7d0b6d727e33d0d1 +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer/verification: + en: 328fbaca95eac5ff + zh: b41fbe45097d3ea9 +/agent-note-resolve-profile-modules-along-the-ancestor-chain-with-an-interception-layer/consequences: + en: 4a748267ef8d0480 + zh: 0ecc79b3c82bf9bb diff --git a/.agents/notes/implemented/architecture/2026-09-19-projection-cache-listing-identity-and-cached-rows.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-19-projection-cache-listing-identity-and-cached-rows.i18n.yaml index ea121beb8c..fa28db5307 100644 --- a/.agents/notes/implemented/architecture/2026-09-19-projection-cache-listing-identity-and-cached-rows.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-19-projection-cache-listing-identity-and-cached-rows.i18n.yaml @@ -1,6 +1,49 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-projection-cache-listing-identity-and-cached-rows.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-19-projection-cache-listing-identity-and-cached-rows.md -2026-09-19-projection-cache-listing-identity-and-cached-rows.md: 61b82e5003ba4b634230941f5d3df65e65491e25 -2026-09-19-projection-cache-listing-identity-and-cached-rows.zh.md: ef49d90bc68ca501f7496adbac1d1aa8a5d706a7 +/agent-note-projection-cache-read-only-face-matches-the-lifecycle-identity-the-client-store-separates-cached-and-sequenced-rows: + en: 04813e762d48995c + zh: b0ed6656adc7c5f0 +/agent-note-projection-cache-read-only-face-matches-the-lifecycle-identity-the-client-store-separates-cached-and-sequenced-rows/problem: + en: 2e7f99c81fbc941f + zh: b0fac7cd5eb86ffe +/agent-note-projection-cache-read-only-face-matches-the-lifecycle-identity-the-client-store-separates-cached-and-sequenced-rows/problem/mechanism: + en: faa32b20dc128571 + zh: d01263a543be675d +/agent-note-projection-cache-read-only-face-matches-the-lifecycle-identity-the-client-store-separates-cached-and-sequenced-rows/problem/the-cache-s-two-uses-and-where-validation-lives: + en: 7bec01a054dffbad + zh: e158b106a079a770 +/agent-note-projection-cache-read-only-face-matches-the-lifecycle-identity-the-client-store-separates-cached-and-sequenced-rows/problem/the-client-store-cannot-guarantee-that-connected-data-replaces-hints: + en: 597b346459a9d8b0 + zh: f7282a40061d645c +/agent-note-projection-cache-read-only-face-matches-the-lifecycle-identity-the-client-store-separates-cached-and-sequenced-rows/decision: + en: a15c7c13f167e5ac + zh: a15c7c13f167e5ac +/agent-note-projection-cache-read-only-face-matches-the-lifecycle-identity-the-client-store-separates-cached-and-sequenced-rows/decision/two-read-faces-the-cut-is-compared-only-on-the-fold-face: + en: 30bb0f92e2ba046b + zh: 25ae7e78a5887643 +/agent-note-projection-cache-read-only-face-matches-the-lifecycle-identity-the-client-store-separates-cached-and-sequenced-rows/decision/why-the-read-only-face-may-skip-the-cut: + en: 1138b58239be186b + zh: cf5fc5f1d3f21bd3 +/agent-note-projection-cache-read-only-face-matches-the-lifecycle-identity-the-client-store-separates-cached-and-sequenced-rows/decision/consumers: + en: 5b8c1e5eb06f7d59 + zh: 4018838c3390342a +/agent-note-projection-cache-read-only-face-matches-the-lifecycle-identity-the-client-store-separates-cached-and-sequenced-rows/decision/the-client-store-separates-cached-and-sequenced-rows: + en: 8a4e9e9ac2ada06f + zh: b5884535cd934f72 +/agent-note-projection-cache-read-only-face-matches-the-lifecycle-identity-the-client-store-separates-cached-and-sequenced-rows/decision/what-stays-untouched: + en: 1cefba02bbfb2647 + zh: 5a96942565ab9d72 +/agent-note-projection-cache-read-only-face-matches-the-lifecycle-identity-the-client-store-separates-cached-and-sequenced-rows/decision/worst-case-walked-through: + en: 396d75331b3b0143 + zh: 2eb41ac09de87de0 +/agent-note-projection-cache-read-only-face-matches-the-lifecycle-identity-the-client-store-separates-cached-and-sequenced-rows/alternatives-considered: + en: d71031c0dc256d80 + zh: 753c948a90a0c9ad +/agent-note-projection-cache-read-only-face-matches-the-lifecycle-identity-the-client-store-separates-cached-and-sequenced-rows/consequences: + en: c95faf40ca336afb + zh: 95d6030671113056 +/agent-note-projection-cache-read-only-face-matches-the-lifecycle-identity-the-client-store-separates-cached-and-sequenced-rows/testing: + en: 20aef0e3d10b7f98 + zh: 478b2d22eb3fcc2a diff --git a/.agents/notes/implemented/architecture/2026-09-19-remote-duplex-stream.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-19-remote-duplex-stream.i18n.yaml index d5903d0fc2..eba3d7545a 100644 --- a/.agents/notes/implemented/architecture/2026-09-19-remote-duplex-stream.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-19-remote-duplex-stream.i18n.yaml @@ -1,6 +1,142 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-remote-duplex-stream.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-19-remote-duplex-stream.md -2026-09-19-remote-duplex-stream.md: 0f1f6a575f6871d37822c5829fe4531261b8e95b -2026-09-19-remote-duplex-stream.zh.md: d3982aa433aa3ce84b945bb5831cef8064472853 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context: + en: c52d4b55f470a50f + zh: d2d446516b1011bc +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/problem: + en: 70a969dce3283824 + zh: 18c61bf840a6518a +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/problem/current-state: + en: 8fb06638898de59e + zh: 79ed0cfe79e40be1 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/problem/three-unrelated-uplink-mechanisms: + en: 386be7b691ab63e7 + zh: 935e0db22ae1cf5d +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/problem/concrete-costs: + en: f374976b43645d15 + zh: 26b2c7aaafa41fba +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/problem/relation-to-background-jobs: + en: 5e67475010d52ddb + zh: ce23aad2d4aa0d67 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/problem/goals: + en: 1f8e6d20dd4b2bf7 + zh: c6939e72e9bac277 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/decision: + en: a15c7c13f167e5ac + zh: ff261e3705c47ff0 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/decision/in-one-sentence: + en: 943208904785f7eb + zh: bda1969132a16101 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/decision/terms: + en: 401703adbd9cc1c2 + zh: 56d960c0b6fdff57 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/decision/type-signatures: + en: 5f9cd00890b6f4c3 + zh: 600ecba7e60b63f6 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/decision/host-face: + en: 37f59749e1703ca8 + zh: d220eded761d83c0 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/decision/host-face/how-the-invocation-context-reaches-the-method: + en: a7180d3c194cf9d9 + zh: 0dd7833e0e5d0a71 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/decision/peerscope: + en: 202aa6e8e8b04bd6 + zh: b1fc897c09074a7c +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/decision/client-face: + en: 9f10347a73402b8b + zh: b939c7a254a8e579 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/decision/wire-frames: + en: 490c19bf403bc76f + zh: 55ad5cff840d0421 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/decision/logical-stream-state-machine: + en: 438963f156ea05b1 + zh: e738fca49b9bc1cc +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/decision/logical-stream-state-machine/host-side: + en: 959d7f191895af71 + zh: 9b70e5e36233e301 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/decision/logical-stream-state-machine/client-side: + en: 6a6f94f54a29c1ed + zh: 1306602bae8a219b +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/decision/half-close-and-termination: + en: 52e2097ea66452e8 + zh: 0cc058365773a792 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/decision/cancellation-wait-lifetime: + en: a21405b6607345a7 + zh: 70b3be4327ab59d5 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/decision/ordering-guarantees: + en: d176a388014d0bf8 + zh: db4a4988dcb36690 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/decision/backpressure: + en: 607a1afd89892d15 + zh: a0aa85124340458c +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/decision/security-and-validation: + en: 46a0c0b3ce1e5671 + zh: 7743707de42b1d1d +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/decision/in-process-and-worker-carriers: + en: ec339e57dc2c0603 + zh: 3570be8c094ea24c +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/decision/relation-to-events: + en: a011793e5a4400ed + zh: df8b20115f0348b8 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/type-and-wire-definitions: + en: b8a63bcefdea2704 + zh: d2aa576cf736b1b7 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/type-and-wire-definitions/typert-protocol-packages-typert-protocol-src: + en: e1b2ae30d8a8a62d + zh: 8790a068aa3a10e9 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/type-and-wire-definitions/typert-generator-packages-typert-generator-src: + en: 3b0b1398141b9a3d + zh: 6a96f6785c59dad3 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/type-and-wire-definitions/two-names-one-entry-point: + en: 59188926c8e586de + zh: 3298be0413d14274 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/type-and-wire-definitions/gateway-host-packages-api-gateway-src: + en: 9c8122ce6048a432 + zh: 58f28ebe6d484a9d +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/type-and-wire-definitions/gateway-host-mux-stream-server-ts: + en: eb4b18a979c0665d + zh: 148bf697825ddc49 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/type-and-wire-definitions/gateway-client-packages-api-gateway-src-client: + en: 26dcd8bebdc8d974 + zh: e74bcef7c549e70c +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/placement: + en: 41128746334320c7 + zh: 558a676340aae3a2 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/key-sequences: + en: 130e4f9ec7296a10 + zh: 2a5aa1302a8db61a +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/key-sequences/open-uplink-half-close-downlink-end: + en: 3e8f671254c2b462 + zh: d2dba924dfc0f09e +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/key-sequences/client-dispose: + en: a5b474d42af07bd9 + zh: df2bd41480beb07e +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/key-sequences/inbox-overflow: + en: 32b009b9d90dc36c + zh: 52590ffa9bf9f90b +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/boundary-matrix: + en: c6a08daa98e3c189 + zh: 0c9dbe16f4cdaa79 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/error-codes: + en: 7da8cacc0a6892f2 + zh: e22ca8d3d9161568 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/minimal-echo-method: + en: b42ab0932f8b31b4 + zh: 7fed8cb5b6e36788 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/alternatives-considered: + en: 04e72789417d6e3a + zh: b57c5cc68dff45a5 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/consequences: + en: 07524e0c2dc22ad5 + zh: 5bf4f27160d78b43 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/testing: + en: 5c8188930b9d4fdb + zh: 1d94e6563cedde13 +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/deferred: + en: 3b99a327464edc3e + zh: dcffdc75369925dc +/agent-note-remote-duplex-stream-one-kind-of-stream-an-uplink-channel-and-an-invocation-context/related: + en: f8995f478dc1d478 + zh: 96621e80a4d3cefc diff --git a/.agents/notes/implemented/architecture/2026-09-19-remote-duplex-stream.md b/.agents/notes/implemented/architecture/2026-09-19-remote-duplex-stream.md index 0f1f6a575f..ea8e8cebcc 100644 --- a/.agents/notes/implemented/architecture/2026-09-19-remote-duplex-stream.md +++ b/.agents/notes/implemented/architecture/2026-09-19-remote-duplex-stream.md @@ -276,6 +276,12 @@ Parsing rules: `item` has exactly the keys `type` and `streamId` plus an optiona | `item` received after `end` | Any | The stream fails with a `gateway/protocol` error frame and aborts; the socket stays open | | `item` / `end` with an unknown `streamId` | Any | Ignored, like `cancel`: after the Host ends a stream and deletes its id, uplink frames still in flight from the Client are normal and must not take down the other streams on the same socket | +### Cancellation wait lifetime + +`cancellableStream`, `UplinkDecoder.next()`, and the Client uplink pump each create a cancellation or stop promise per read. `Promise.race` does not remove the losing input's reaction when a read completes: reusing a stream-wide pending promise retains completed races and their item results until that promise settles or becomes unreachable. Read-local promises keep retained cancellation state independent of the number of delivered items. + +The Host downlink clears its current reject callback after each read and checks cancellation before reading again. The uplink decoder retains only pending reads: abort rejects them, while normal close resolves all of them with `done`, including overlapping reads. The Client pump drops its stop promise after each read and does not start another read after stopping. Source iterators retain their existing release ownership; closing the Host uplink still precedes returning the method iterator. + ### Ordering guarantees Frames on one socket arrive in total order: a logical stream's `open`, `item`…, `end` reach the Host in send order, and uplink items enter `uplink()` in the order of `send`. There is no cross-direction ordering guarantee between uplink and downlink; a protocol that needs request-response pairing carries its own sequence numbers. @@ -538,6 +544,10 @@ for await (const reply of stream) replies.push(reply) // ['> a', '> b'] ## Alternatives considered +**A shared cancellation controller for all three reading loops.** Each loop already has an owner with distinct close behavior. Read-local promises bound retained state without moving those responsibilities into a new abstraction. + +**Requiring source iterators to cancel their own `next()`.** Gateway accepts arbitrary iterables, whose pending reads need not respond to cancellation or `return()`. Gateway must still wake its own waiters independently of source cleanup. + **A separate `mode: 'duplex'` plus a reserved parameter `uplink: AsyncIterable` alongside `signal`.** Special logic everywhere: the analyzer must recognize a second reserved parameter and its position rules, the generated signature gains a parameter, load time must validate `duplex ⟺ uplink`, and because the mux does not know the method mode, the Gateway must reject uplink frames on behalf of `'stream'` methods. Duplex is an inherent property of the transport-layer stream, not a mode of the method: the carrier already has `streamId`, `open`, and `cancel`; the uplink adds just two more frames, which any stream can receive and which are simply not sent when unused. **Declaring the uplink type in a decorator option, `@Remote({ mode: 'stream', uplink: 'JobInputFrame' })`.** A string reference to a type name is not checked by the compiler and breaks on rename. The return-type alias puts both types in one compiler-visible place. @@ -572,6 +582,8 @@ for await (const reply of stream) replies.push(reply) // ['> a', '> b'] ## Testing +Retention cases in `gateway-stream.host.spec.ts` and `gateway.client.spec.ts` count live iterator results after a full GC while the streams remain open. Lifecycle cases cover normal close waking multiple pending uplink reads, cancellation between reads, synchronous abort followed by a source exception, and termination during a Client send. + - `packages/api/gateway/tests/echo-stream.host.spec.ts`: the same echo method passes through the WebSocket carrier and through the in-process carrier. - Gateway Host: exact-key validation in frame parsing; `UplinkInbox` buffering during opening, `item` after `end`, overflow, ignored unknown `streamId`, and cleanup on socket closure; `UplinkDecoder` delivery with and without a codec and abort on decode failure; `uplink()` taken only once; the `extend({ invocation })` view and the origin of `peer`; `cancellableStream` closing the uplink before `return()`. - Gateway Client: the handle's `send` (JSON validation, queued before open, throws after termination), idempotent `end`, `dispose` driving the `cancel` frame and ending later reads; the pump's three exits; the pump stopping as soon as a terminal frame arrives. diff --git a/.agents/notes/implemented/architecture/2026-09-19-remote-duplex-stream.zh.md b/.agents/notes/implemented/architecture/2026-09-19-remote-duplex-stream.zh.md index d3982aa433..2e119bf054 100644 --- a/.agents/notes/implemented/architecture/2026-09-19-remote-duplex-stream.zh.md +++ b/.agents/notes/implemented/architecture/2026-09-19-remote-duplex-stream.zh.md @@ -276,6 +276,12 @@ export type RemoteStreamServerMessage = | `end` 之后又收到 `item` | 任意 | 该流以 `gateway/protocol` 错误帧失败并中止;socket 不关闭 | | 未知 `streamId` 的 `item` / `end` | 任意 | 忽略,与 `cancel` 相同:Host 结束流并删除 id 后,客户端在途的上行帧属正常现象,不能连累同一 socket 上的其他流 | +### 取消等待的生命周期 + +`cancellableStream`、`UplinkDecoder.next()` 和 Client 上行泵各自为单次读取创建取消或停止 Promise。读取完成后,`Promise.race` 不会移除另一输入上的 reaction:复用流级未完成 Promise 会保留已完成的竞争及其读取结果,直到该 Promise 完成或不可达。单次读取的 Promise 使取消状态的保留量不随已交付项数增长。 + +Host 下行在每次读取后清除当前拒绝回调,并在再次读取前检查取消状态。上行解码器只保留尚未完成的读取:取消时拒绝这些读取,正常关闭则以 `done` 唤醒全部读取,包括重叠的读取。Client 泵在每次读取后移除停止 Promise,停止后不再发起读取。源迭代器的释放仍由原有所有者负责;Host 仍先关闭上行,再返回方法迭代器。 + ### 顺序保证 同一条 socket 上的帧全序到达:一条逻辑流的 `open`、`item`…、`end` 按发送顺序到达 Host;上行项进入 `uplink()` 的顺序就是 `send` 的顺序。上行与下行之间没有跨方向顺序保证;需要请求应答配对的协议自带序号。 @@ -538,6 +544,10 @@ for await (const reply of stream) replies.push(reply) // ['> a', '> b'] ## 考虑过的替代方案 +**三处读取循环共用一个取消控制器。** 每处循环已有自己的所有者和不同的关闭行为。单次读取的 Promise 能限制保留状态,不需要把这些职责迁入新抽象。 + +**要求源迭代器自行取消 `next()`。** Gateway 接受任意 iterable,其待处理读取不一定响应取消或 `return()`。Gateway 仍需独立于源清理来唤醒自己的等待者。 + **独立的 `mode: 'duplex'` 加一个与 `signal` 同级的保留参数 `uplink: AsyncIterable`。** 每一处都是特殊逻辑:analyzer 要认第二个保留参数及其位置规则,生成签名多一个参数,加载期要校验 `duplex ⟺ uplink`,mux 不知道方法模式所以网关要替 `'stream'` 方法拒绝上行帧。双工是传输层流的固有性质,不是方法的一种模式:载体本来就有 `streamId`、`open`、`cancel`,上行只是再加两种帧,任何流都能收,不用就不发。 **用装饰器选项声明上行类型,`@Remote({ mode: 'stream', uplink: 'JobInputFrame' })`。** 字符串引用类型名不受编译器约束,重命名即断。返回类型别名把两个类型写在同一个编译器可见的位置。 @@ -572,6 +582,8 @@ for await (const reply of stream) replies.push(reply) // ['> a', '> b'] ## 测试 +`gateway-stream.host.spec.ts` 和 `gateway.client.spec.ts` 中的保留对象用例在流保持打开时进行全量 GC,再统计存活的迭代结果。生命周期用例覆盖正常关闭唤醒多个待处理上行读取、两次读取之间的取消、源同步取消后抛错,以及 Client 发送期间流结束。 + - `packages/api/gateway/tests/echo-stream.host.spec.ts`:同一个 echo 方法分别穿过 WebSocket 载体与进程内载体。 - 网关 Host:帧解析的精确键校验;`UplinkInbox` 的 opening 缓冲、`end` 后 `item`、超限、未知 `streamId` 忽略、socket 关闭时的收尾;`UplinkDecoder` 有无 codec 两种交付与解码失败中止;`uplink()` 只能取一次;`extend({ invocation })` 视图与 `peer` 的来源;`cancellableStream` 先关 uplink 再 `return()`。 - 网关 Client:句柄的 `send`(JSON 校验、open 前入队、终止后抛错)、`end` 幂等、`dispose` 驱动 `cancel` 帧并结束后续读取;泵的三种退出;终止帧到达即停泵。 diff --git a/.agents/notes/implemented/architecture/2026-09-19-window-drag-coverage-contract.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-19-window-drag-coverage-contract.i18n.yaml new file mode 100644 index 0000000000..d2ba163848 --- /dev/null +++ b/.agents/notes/implemented/architecture/2026-09-19-window-drag-coverage-contract.i18n.yaml @@ -0,0 +1,25 @@ +# Bilingual-pair consistency record for 2026-09-19-window-drag-coverage-contract.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: +# pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-19-window-drag-coverage-contract.md +/agent-note-window-drag-coverage-as-a-contract: + en: 120846e859b20561 + zh: 9511a261d15f87b5 +/agent-note-window-drag-coverage-as-a-contract/problem: + en: e4a1c339c31fb1b5 + zh: 0e9db2a9ba74e6c7 +/agent-note-window-drag-coverage-as-a-contract/decision: + en: 1cef50cc0c973afb + zh: c97495c70292f32c +/agent-note-window-drag-coverage-as-a-contract/alternatives-considered: + en: d3c08cbcee308605 + zh: 93bc631a31c16855 +/agent-note-window-drag-coverage-as-a-contract/consequences: + en: d312ce6aad9dc358 + zh: 96905d1acb95ed7c +/agent-note-window-drag-coverage-as-a-contract/testing: + en: bac710df115cac90 + zh: 236874d8df1caa27 +/agent-note-window-drag-coverage-as-a-contract/manual-state-matrix: + en: 8b86cf80458055b1 + zh: 55cece531251548a diff --git a/.agents/notes/implemented/architecture/2026-09-19-window-drag-coverage-contract.md b/.agents/notes/implemented/architecture/2026-09-19-window-drag-coverage-contract.md new file mode 100644 index 0000000000..c73d9230a4 --- /dev/null +++ b/.agents/notes/implemented/architecture/2026-09-19-window-drag-coverage-contract.md @@ -0,0 +1,64 @@ +# Agent Note: Window drag coverage as a contract + +Status: implemented + +English | [中文](2026-09-19-window-drag-coverage-contract.zh.md) + +## Problem + +The macOS desktop window's draggable area is authored twice. The layout decides where chrome rows are — their heights and what they contain — while hand-written app-region declarations decide what drags: one row declaration per chrome row (the sidebar's top strip and logo row, ui-dockkit's strip row, the Conversation header, the plugin manager's page heads, the Platform overlay's return bar) plus per-box subtractions spread across ui-web, ui-settings-general and ui-sidebar-right. The two descriptions are kept in step by hand, so they drift: a row whose box does not match the band leaves chrome outside the drag surface (the reported "the header drags, but some blank runs and controls do not") or puts content inside it (a press that misses a control by a few pixels drags the window, and a double click there runs the system's title-bar action). + +## Decision + +Coverage becomes a contract with four executed parts: + +1. ui-web's `window-drag/regions.ts` publishes the composition rule as an executable model — a point is draggable when the last collected app-region box containing it declares `drag`, the geometry-in-DOM-order composition the native window applies — together with `INTERACTIVE_SELECTOR`, the single source for the interactive subtraction ui-web base.css declares. The base-styles spec asserts the sheet declares exactly that list, so the two cannot drift. +2. The shell declares the darwin drag surface exactly once: `html[data-platform='darwin'] [data-window-drag]` in ui-web base.css. Every chrome row marks its own element in markup, so the row's box is the window's draggable geometry and no fixed band has to match any row's height. The ui-theme app-region gate holds a manifest that pairs each row's markup mark with its sheet, its class selector and its authored height, and refuses a mark on any element the manifest does not name — so a row that stops marking itself, an unmarked row added to the composition, and a mark on a content container all fail the same gate. +3. The browser lane gains `window-drag-coverage`, which boots the shipped composition in Chromium with `data-platform='darwin'` and asserts, through the model, that no interactive box lies inside the drag surface, plus per-row probes for the chrome rows and a page whose head row marks itself while its scrollable body stays content. +4. The shell owns the one recollection watcher — ui-web's `window-drag/recall.ts`, installed by the boot kernel. It measures every marked row once per frame while the surface can be moving, sets `data-window-drag-recall` on the body for each frame whose geometry changed, and clears it once the geometry holds still through a short grace window, so a report that arrives before a CSS transition moves anything cannot end the loop on its first unchanged sample. It reports every reason the surface can move: a DOM change touching a marked row or the container holding one, a marked row's box resizing, and a transition or animation starting on an element that holds a marked row. No chrome row carries a pulse of its own. + +The native half — whether a press really drags or reaches the page — stays a checklist, because no keyless CI lane reaches the window server: the state matrix below is run for any change to this layer. + +## Alternatives considered + +**Publishing measured rectangles from JavaScript as synthetic drag boxes.** Geometry would have to be re-derived at pointer cadence, and one stale frame is exactly the swallow class this work removes; CSS-derived regions cannot be stale by construction. + +**A global background drag (the `movableByWindowBackground` reading).** Dragging anywhere that is not a control would break text selection and blank-area clicks. + +**One drag declaration per row in each row's own sheet.** That was this work's first shape, with a manifest pinning each row's height and the band over it. Every sheet then restates the window's geometry, and a row whose box moves in layout alone still has to be re-declared in CSS; one shell rule over a markup mark keeps the declaration count at one, and the manifest pairs the marks with the geometry that the gate can still check. + +**Pinning current coverage as one golden snapshot.** That would freeze the two failure classes next to the correct behaviour; the manifest separates the invariant (no swallowed control) from the gaps (a budget that only shrinks). + +## Consequences + +- A new control needs no drag declaration: the interactive selector subtracts it. A new chrome row marks its element `data-window-drag` and adds a manifest entry pinning its height, so no band arithmetic and no other sheet changes. +- A row's own box is the whole draggable geometry, and a content container is never one. The plugin manager's detail views mark the head row they share, not the detail container they are rendered in: marking the container would drag the window over its text and form labels, and the lane samples the body below that head to keep it so. +- No coverage gap remains: every chrome row owns its run, and the gate asserts the whole package tree declares the drag surface in exactly two places — the shell's mark rule and the Windows caption row. The plugin manager's page head and its detail views' shared head row include the 48px clearance inside the row, so the entry-page gap closed with them. +- The settings overlay portals beside `#root` (like the Modal primitive) and dropped its per-sheet `no-drag` rule: a covering surface inside the root precedes the columns' chrome, so a drag row declared later would override its subtraction, and ui-web base.css's `body > :not(#root)` rule subtracts a portalled one wherever it overlaps a drag row. The browser lane asserts that placement with the overlay open. Because a step's onboarding overlay marks only `#root` inert, the panel closes when an onboarding step mounts rather than staying focusable behind it. +- The Platform overlay's return bar is a darwin drag row only. Its former per-sheet `app-region: drag` carried no platform scope, so Windows dragged the window from that 48px bar; under the one scoped rule the bar declares drag on macOS alone, where it is the window's top strip. Windows keeps the native caption row as its drag surface, and the shell ships no Linux desktop target. The manual state matrix gains a cell for this bar. +- A row that slides across a hidden/visible edge cannot rely on the layout change alone: Electron recollects the window's drag rects only when a computed app-region value changes (electron#32341), and Blink skips hidden boxes when it collects them. The watcher closes that gap for every row at once — it re-arms on a DOM change that touches a marked row or on a marked row's box resizing, then pulses each frame in which a box moved — so the right panel carries no pulse of its own. + +## Testing + +- `packages/client/web/tests/window-drag-regions.client.spec.ts` — the composition rule, including order sensitivity and box edges. +- `packages/client/web/tests/base-styles.client.spec.ts` — base.css declares the model's interactive selector, the one darwin drag rule, and the recall mark's subtraction. +- `packages/client/ui-theme/tests/app-region-styles.client.spec.ts` — drag ownership, the row manifest, and each row's mark; a mark outside the manifest or a changed row height fails. +- `packages/client/ui-dockkit/tests/app-region-styles.client.spec.ts` — the strip row's own subtraction; its drag is the markup mark's, so the sheet declares none. +- `packages/client/web/tests/window-drag-recall.client.spec.ts` — the watcher through its two seams: what re-arms it, what it ignores, the settle loop, the shell defaults, and disposal. +- `apps/web/tests/window-drag-coverage.e2e.ts` — real Chromium: no swallowed control, per-row probes, a detail page whose head row drags while its body does not, and the recall pulse the shell fires while the right panel slides. +- Real-machine verification (2026-09-20, both platforms, HID-level pointer input plus window-frame readback): the macOS matrix above ran on a real `hiddenInset` window and the Windows cells ran on a Windows 11 ARM64 VM — chrome rows drag, content and the covering overlay do not, controls keep their clicks, and the right panel's strip row drags after its slide. + +## Manual state matrix + +Run on the packaged macOS app for any change to this layer. Each cell means both halves: drag the row's blank run (the window must move) and click the row's controls (they must act rather than drag). + +| State | Rows to walk | +| --- | --- | +| Sidebar expanded, Conversation selected, view tabs shown | sidebar top strip, sidebar logo row, conversation title row, conversation tab-strip row, every control in those rows | +| Sidebar expanded, Conversation selected, single view (no tabs) | same rows, plus the transcript's first rows below the header | +| Sidebar collapsed | Conversation header over the centre, `shell.leading` seat controls, reopen and New session | +| Right sidebar pushed | panel strip row and its controls, the pane body run below the strip, the pane divider's top run | +| Right sidebar fullscreen | panel strip row at the traffic lights, first pane's strip inset, its controls | +| Entry page (guide, plugin manager, settings) | page head with its 48px clearance, its first control row, and a detail page's head row over its body | +| Window fullscreen on/off | every row above with the traffic lights hidden, in both sidebar states | +| Double click in a chrome row's blank run | on Windows the caption row takes the system title-bar action (maximize/restore); on macOS the darwin rows are app-region areas rather than a title bar, so no system action is expected there — only the controls keep their own double click | diff --git a/.agents/notes/implemented/architecture/2026-09-19-window-drag-coverage-contract.zh.md b/.agents/notes/implemented/architecture/2026-09-19-window-drag-coverage-contract.zh.md new file mode 100644 index 0000000000..81fb9bbcc2 --- /dev/null +++ b/.agents/notes/implemented/architecture/2026-09-19-window-drag-coverage-contract.zh.md @@ -0,0 +1,64 @@ +# Agent Note: 把窗口拖拽覆盖变成契约 + +Status: implemented + +[English](2026-09-19-window-drag-coverage-contract.md) | 中文 + +## Problem + +macOS 桌面窗口的可拖区域被写了两遍。布局决定 chrome 行在哪——它们多高、装了什么;手写的 app-region 声明决定什么能拖:每个 chrome 行一条行声明(侧栏顶条与 logo 行、ui-dockkit 的 strip 行、会话 header、插件管理的页头、Platform 浮层的返回栏),加上散落在 ui-web、ui-settings-general、ui-sidebar-right 的逐盒减除。两份描述靠人肉保持一致,于是会漂:盒子与 band 不匹配的行,要么有 chrome 落在拖拽面之外(就是反馈里的"header 能拖,但有些空白与控制不能"),要么有内容落进拖拽面(点偏几个像素就变成拖窗口,双击那里还会触发系统标题栏行为)。 + +## Decision + +覆盖变成由四部分组成的、可执行的契约: + +1. ui-web 的 `window-drag/regions.ts` 把合成规则发布成可执行模型——当包含某点的最后一个 app-region 盒声明 `drag` 时该点可拖,这正是原生窗口施加的"按 DOM 顺序的几何合成"——并发布 `INTERACTIVE_SELECTOR`,作为 ui-web base.css 交互减除的唯一来源。base-styles spec 断言样式表声明的正是该列表,两者无法漂移。 +2. 外壳只声明一次 darwin 拖拽面:ui-web base.css 里的 `html[data-platform='darwin'] [data-window-drag]`。每个 chrome 行在 markup 里给自己的元素打标,于是该行自己的盒子就是窗口的可拖几何,不需要任何固定 band 去匹配行高。ui-theme 的 app-region 门禁持有一份清单,把每行的 markup 标记与其样式表、类选择器和写死的高度配成一条,并拒绝清单未点名的元素上的标记——行不再打标、新增未打标的行、把标记打在内容容器上,都会在同一条门禁上失败。 +3. 浏览器车道增加 `window-drag-coverage`:以 `data-platform='darwin'` 在 Chromium 里启动真实组合,用模型断言没有任何交互盒落在拖拽面内,并对各 chrome 行逐一探测,另加一个"页头行打标、其可滚动正文保持内容"的页面。 +4. 外壳持有唯一那个重收集 watcher——ui-web 的 `window-drag/recall.ts`,由引导内核安装。在表面可能移动期间,它每帧测量每个被打标的行,凡该帧几何发生变化就在 body 上打 `data-window-drag-recall`;几何在一段很短的宽限窗口内保持不动之后才清掉,这样在 CSS transition 真正移动任何东西之前到达的一次报告,不会在它第一帧未测到变化时就终止循环。它会报告表面可能移动的每一种原因:触及被打标行或承载它的容器的 DOM 变化、被打标行的盒子尺寸变化,以及持有被打标行的元素上开始的 transition 或 animation。任何 chrome 行都不再自带脉冲。 + +原生那一半——一次按下到底是拖窗口还是到达页面——仍是清单,因为没有无密钥 CI 车道能到达窗口服务器:对本层的任何改动都要走下面的状态矩阵。 + +## Alternatives considered + +**用 JavaScript 测量矩形并发布合成 drag 盒。** 几何得按指针节拍重新推导,而一帧陈旧正是这项工作要消除的吞点击类别;CSS 推导的区域在构造上不可能陈旧。 + +**全局背景拖拽(`movableByWindowBackground` 的读法)。** 只要不是控件就能拖,会破坏文本选择与空白处点击。 + +**每个行在自己的样式表里各声明一条 drag。** 这是本项工作最初的样子,并配一份清单钉住每行高度与覆盖它的 band。那样每个样式表都要复述窗口几何,而且只在布局里移动的盒子仍得在 CSS 里重新声明;改成"markup 打标 + 外壳一条规则"后声明只有一处,清单则继续把标记与门禁能查的几何配起来。 + +**把当前覆盖钉成一张金标准快照。** 那会把两类故障和正确行为一起冻住;清单把不变量(不得吞掉控件)与缺口(只许缩小的预算)分开。 + +## Consequences + +- 新控件不需要任何 drag 声明:交互选择器会减除它。新 chrome 行只需给元素打上 `data-window-drag` 并在清单里加一条钉住高度,无需 band 算术,也不牵动其它样式表。 +- 行自己的盒子就是完整的可拖几何,内容容器永远不是。插件管理的详情视图给它们共用的页头行打标,而不是给它所在的详情容器打标:标记容器会让窗口在它的正文与表单 label 上拖动;车道会采样该页头下方的正文来守住这一点。 +- 不再有任何缺口:每个 chrome 行自持其拖拽段,门禁断言整个包树只在两处声明拖拽面——外壳的标记规则与 Windows 标题栏行。插件管理页头与其详情视图共用的页头行都把 48px 避让量包含在行内,入口页那条缺口也随之关闭。 +- settings 浮层现在与 Modal primitive 一样 portal 到 `#root` 之外,并删掉了它自己那条 no-drag:挂在 root 内的覆盖层先于各列 chrome,后声明的 drag 行会盖掉它的减除;portal 之后由 ui-web base.css 的 `body > :not(#root)` 规则在它与 drag 行重叠处减除。车道在浮层打开时会断言这个归属。由于 onboarding 步骤的浮层只把 `#root` 置为 inert,onboarding 步骤挂载时面板会自行关闭,而不是留在它背后仍可聚焦。 +- Platform overlay 的返回栏只是 darwin 的 drag 行。它原先那条按表声明的 `app-region: drag` 没有任何平台限定,因此 Windows 上也能从这条 48px 栏拖动窗口;改到唯一那条带作用域的规则之后,该栏只在 macOS 上声明 drag,在那里它就是窗口顶条。Windows 保留原生标题栏行作为拖拽面,且外壳没有 Linux 桌面目标。人工状态矩阵会为这条栏增加一格。 +- 跨越隐藏/显示边界滑动的行不能只靠布局变化:只有当计算出的 app-region 值变化时,Electron 才会重新收集窗口的拖拽矩形(electron#32341),而 Blink 收集时会跳过隐藏的盒子。watcher 一次性把这个缺口对所有行补上——它在"触及被打标行的 DOM 变化"或"被打标行的盒子尺寸变化"时重新启动,随后在盒子仍在移动的每一帧发脉冲——因此右栏不再自带任何脉冲。 + +## Testing + +- `packages/client/web/tests/window-drag-regions.client.spec.ts` —— 合成规则,含顺序敏感与盒子边界。 +- `packages/client/web/tests/base-styles.client.spec.ts` —— base.css 声明的正是模型的交互选择器、唯一那条 darwin drag 规则,以及 recall 标记的减除。 +- `packages/client/ui-theme/tests/app-region-styles.client.spec.ts` —— 拖拽所有权、行清单与每行的标记;清单之外的标记或行高变化即失败。 +- `packages/client/ui-dockkit/tests/app-region-styles.client.spec.ts` —— strip 行自己的减除;它的 drag 属于 markup 标记,因此样式表一条都不声明。 +- `packages/client/web/tests/window-drag-recall.client.spec.ts` —— 通过两个 seam 驱动 watcher:什么会重新启动它、什么被它忽略、收敛循环、外壳默认值,以及销毁。 +- `apps/web/tests/window-drag-coverage.e2e.ts` —— 真 Chromium:无控件被吞、逐行探测、一个页头行可拖而正文不可拖的详情页,以及右栏滑动期间外壳发出的 recall 脉冲。 +- 真机验收(2026-09-20,双平台,HID 级指针输入 + 窗口矩形读数):上面的 macOS 矩阵在真实 `hiddenInset` 窗口上跑过,Windows 各格在 Windows 11 ARM64 虚拟机上跑过——chrome 行可拖、正文与覆盖浮层不可拖、控件保留点击、右栏 strip 行在滑入后可拖。 + +## Manual state matrix + +对本层的任何改动都要在打包 macOS 应用上跑。每个格子包含两半:拖该行的空白段(窗口必须移动),点该行的控件(必须生效而不是拖动)。 + +| 状态 | 要走的行 | +| --- | --- | +| 侧栏展开、选中会话、显示视图 tab | 侧栏顶条、侧栏 logo 行、会话标题行、会话 tab 条行,以及这些行里的每个控件 | +| 侧栏展开、选中会话、单视图(无 tab) | 同上,外加 header 之下的转录区首行 | +| 侧栏收起 | 覆盖中列的 会话 header、`shell.leading` 座的控件、重新打开与新会话 | +| 右栏 push | 面板 strip 行及其控件、strip 下方的 pane body 段、分栏分隔条的顶部一段 | +| 右栏 fullscreen | 红绿灯处的面板 strip 行、首格 strip 内边距、其控件 | +| 入口页(开始页、插件管理、设置) | 含 48px 避让量的页头、它的首个控件行,以及详情页页头行与其正文 | +| 窗口全屏开关 | 以上各行在红绿灯隐藏时、两种侧栏状态各一遍 | +| 在 chrome 行空白段双击 | Windows 上 caption 行走系统标题栏行为(最大化/还原);macOS 上 darwin 行只是 app-region 区域而非标题栏,因此那里没有系统动作——只有控件保留自己的双击 | diff --git a/.agents/notes/implemented/architecture/2026-09-20-sidebar-retained-tab-layout.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-20-sidebar-retained-tab-layout.i18n.yaml index 061872368c..641b4a5806 100644 --- a/.agents/notes/implemented/architecture/2026-09-20-sidebar-retained-tab-layout.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-20-sidebar-retained-tab-layout.i18n.yaml @@ -1,6 +1,34 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-20-sidebar-retained-tab-layout.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-20-sidebar-retained-tab-layout.md -2026-09-20-sidebar-retained-tab-layout.md: 9579a0ba47c56f1d533f066fddd37e7ddf443346 -2026-09-20-sidebar-retained-tab-layout.zh.md: 365ad5682c8610cab5dc855984e58b4303bfae49 +/agent-note-stable-sidebar-tab-mounting-and-session-retention: + en: 79bf4b50c50b52d4 + zh: cfd15cdb020ef7c8 +/agent-note-stable-sidebar-tab-mounting-and-session-retention/problem: + en: fd5b83cd022f1696 + zh: fd14a1bc7f5d9119 +/agent-note-stable-sidebar-tab-mounting-and-session-retention/decision: + en: 3e604325fdf0e8b5 + zh: ddf00764a68532d4 +/agent-note-stable-sidebar-tab-mounting-and-session-retention/decision/layout-ownership: + en: 7095df7c949b8e3c + zh: e7410e44eaa97797 +/agent-note-stable-sidebar-tab-mounting-and-session-retention/decision/session-and-tab-lifetime: + en: 60a4450a1a4f398c + zh: cc0054505b973c91 +/agent-note-stable-sidebar-tab-mounting-and-session-retention/decision/provider-responsibilities: + en: a34c228751a1a329 + zh: 8e8b962b55e7c68e +/agent-note-stable-sidebar-tab-mounting-and-session-retention/decision/retention-versus-recovery: + en: aabfa99401aa0f73 + zh: 465ebf723c4393aa +/agent-note-stable-sidebar-tab-mounting-and-session-retention/alternatives-considered: + en: 84cfe7613657bfdb + zh: 4a0a499eb5d36d22 +/agent-note-stable-sidebar-tab-mounting-and-session-retention/consequences: + en: 9569f8398823e0da + zh: 9b95fb2f5d53b963 +/agent-note-stable-sidebar-tab-mounting-and-session-retention/verification: + en: 8d6fd48c494ba5f6 + zh: 1aa02f822f58d73b diff --git a/.agents/notes/implemented/architecture/2026-09-20-sidebar-retained-tab-layout.md b/.agents/notes/implemented/architecture/2026-09-20-sidebar-retained-tab-layout.md index 9579a0ba47..3c1e23ad93 100644 --- a/.agents/notes/implemented/architecture/2026-09-20-sidebar-retained-tab-layout.md +++ b/.agents/notes/implemented/architecture/2026-09-20-sidebar-retained-tab-layout.md @@ -17,7 +17,7 @@ Sidebar owns live-body retention, independently of Browser navigation and Worksp - `DockLayout` renders the Sidebar's one or two horizontal panes with stable tab siblings. The existing recursive `DockSurface` and separate `FloatLayer` remain available for general split-tree rendering; the layout engine and serialized format are unchanged. - Every tab has a stable Grid cell, frame, Header container and Body container. Explicit Grid columns determine docking placement; Flex assigns Header and Body height. Floating changes that same frame to `position: fixed` without changing its parent or replacing Body. - A floating frame's zero-sized Grid cell establishes a stacking context at the float layer. CSS `order` expresses float depth within that layer; DOM order stays sorted by tab identity. Raising many floats cannot increment their layer past menus. Selection and strip order never reorder the content-node list. -- Common ancestors have no transform, clipping or enclosing stacking context. Docked cells own collapse transforms and visibility; each frame clips its content. Fullscreen changes the same root's width and docked layer. Existing window-drag region pulses remain, but no RAF copies content positions. +- Common ancestors have no transform, clipping or enclosing stacking context. Docked cells own collapse transforms and visibility; each frame clips its content. Fullscreen changes the same root's width and docked layer. The right panel carries no window-drag pulse of its own: one shell-owned watcher measures the marked rows each frame while the surface can move and pulses the recall mark itself, so no layout code copies content positions. - Split and float gestures retain their existing measurements and operation state. These update user-selected split fractions and float rectangles, not a second Browser rectangle. Browser resize and content sizing use normal CSS layout. ### Session and tab lifetime diff --git a/.agents/notes/implemented/architecture/2026-09-20-sidebar-retained-tab-layout.zh.md b/.agents/notes/implemented/architecture/2026-09-20-sidebar-retained-tab-layout.zh.md index 365ad5682c..000174a0c3 100644 --- a/.agents/notes/implemented/architecture/2026-09-20-sidebar-retained-tab-layout.zh.md +++ b/.agents/notes/implemented/architecture/2026-09-20-sidebar-retained-tab-layout.zh.md @@ -17,7 +17,7 @@ Sidebar 负责活 Body 的保留,不依赖 Browser 导航和 Workspace 存储 - `DockLayout` 用稳定的 Tab 兄弟节点渲染 Sidebar 的一个或两个水平 Pane。现有递归 `DockSurface` 和独立 `FloatLayer` 仍可用于通用分割树渲染;布局引擎和序列化格式不变。 - 每个 Tab 都有稳定的 Grid cell、frame、Header 容器和 Body 容器。显式 Grid 列决定停靠归属,Flex 分配 Header 与 Body 的高度。浮动只把同一个 frame 改为 `position: fixed`,不改父节点或替换 Body。 - 浮动 frame 的零尺寸 Grid cell 在浮窗层建立层叠上下文。CSS `order` 表达该层内的浮窗深度,DOM 顺序始终按 Tab 身份排序。大量浮窗置顶不会把层级递增到菜单之上;选中项和 Tab 条排序均不重排内容节点列表。 -- 共同祖先不设置 transform、裁剪或包住全部内容的层叠上下文。停靠 cell 负责收起 transform 和显隐,各 frame 裁剪自身内容。Fullscreen 修改同一个根的宽度和停靠层级。窗口拖动区域的既有脉冲仍保留,但没有 RAF 复制内容位置。 +- 共同祖先不设置 transform、裁剪或包住全部内容的层叠上下文。停靠 cell 负责收起 transform 和显隐,各 frame 裁剪自身内容。Fullscreen 修改同一个根的宽度和停靠层级。右栏不再自带窗口拖拽脉冲:由外壳唯一那个 watcher 在表面可能移动时逐帧测量被打标行并自行脉冲 recall 标记,因此没有布局代码复制内容位置。 - 分栏与浮窗手势沿用原有测量和操作状态,更新用户选择的分栏比例与浮窗矩形,而非维护第二份 Browser 矩形。窗口缩放和内容尺寸变化由普通 CSS 布局处理。 ### 会话与 Tab 生命周期 diff --git a/.agents/notes/implemented/architecture/2026-09-21-conversation-build-groups.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-21-conversation-build-groups.i18n.yaml index 1bd7d91641..f715253877 100644 --- a/.agents/notes/implemented/architecture/2026-09-21-conversation-build-groups.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-21-conversation-build-groups.i18n.yaml @@ -1,6 +1,43 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-21-conversation-build-groups.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-21-conversation-build-groups.md -2026-09-21-conversation-build-groups.md: bccb48b0e40a076bbcb59aaca9e9ef6208e9469d -2026-09-21-conversation-build-groups.zh.md: 5d2ec9e684c75b3db3568c4f046129431295f736 +/agent-note-definition-owned-grouping-with-generic-node-group-assembly: + en: 011f264e0aea8d0c + zh: d0ad8b4334af619e +/agent-note-definition-owned-grouping-with-generic-node-group-assembly/problem: + en: 83dd98f48ee30a1a + zh: 66dec35b4b54f291 +/agent-note-definition-owned-grouping-with-generic-node-group-assembly/decision: + en: d4216ce4d80382e8 + zh: 9ee608af410e81e0 +/agent-note-definition-owned-grouping-with-generic-node-group-assembly/decision/responsibilities: + en: d7cf1bd544f163ee + zh: 2433f3faa5f5abcb +/agent-note-definition-owned-grouping-with-generic-node-group-assembly/decision/related-decisions: + en: d8307dcaf2a9ac72 + zh: 4852b1e2a4d09af0 +/agent-note-definition-owned-grouping-with-generic-node-group-assembly/definition-input-state-and-registration: + en: 9fb89bddbfd75627 + zh: 950c319db123c637 +/agent-note-definition-owned-grouping-with-generic-node-group-assembly/node-group-references-and-updates: + en: 13034cf7eb143055 + zh: 4ff0c0be55028258 +/agent-note-definition-owned-grouping-with-generic-node-group-assembly/assembly-order-and-lifecycle: + en: 52a1bbfe6e9bcac7 + zh: dabbcd108f68bd14 +/agent-note-definition-owned-grouping-with-generic-node-group-assembly/concrete-implementation-locations: + en: 85715eb77bf73713 + zh: 7e6c90830b65281b +/agent-note-definition-owned-grouping-with-generic-node-group-assembly/react-reading-and-presentation: + en: 7636207f33e971a4 + zh: ace1f5bbaf5a01b5 +/agent-note-definition-owned-grouping-with-generic-node-group-assembly/alternatives-considered: + en: 21a74f9031f86a92 + zh: c6abd0a5dfbf56a8 +/agent-note-definition-owned-grouping-with-generic-node-group-assembly/verification: + en: b42409d029fc0fde + zh: 0f8ab7d206cab772 +/agent-note-definition-owned-grouping-with-generic-node-group-assembly/consequences: + en: 96f1d81b28534661 + zh: 8cb1c7a0f000c335 diff --git a/.agents/notes/implemented/architecture/2026-09-21-creator-skills-progressive-disclosure.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-21-creator-skills-progressive-disclosure.i18n.yaml index 61830cb7cd..4a59755b21 100644 --- a/.agents/notes/implemented/architecture/2026-09-21-creator-skills-progressive-disclosure.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-21-creator-skills-progressive-disclosure.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-21-creator-skills-progressive-disclosure.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-21-creator-skills-progressive-disclosure.md -2026-09-21-creator-skills-progressive-disclosure.md: bdd70beda7c92584a336cda856d196ac23d1f968 -2026-09-21-creator-skills-progressive-disclosure.zh.md: 265d9db21a5288b4d589078ff85a75eb74f3b237 +/agent-note-creator-skills-disclose-progressively-and-may-read-sources: + en: 374f4a41f3026e59 + zh: 4e7f90d18b03fd14 +/agent-note-creator-skills-disclose-progressively-and-may-read-sources/problem: + en: 1808717550a5e7ba + zh: e18dd5a813a2398d +/agent-note-creator-skills-disclose-progressively-and-may-read-sources/decision: + en: b83fb74f03ca75a7 + zh: e4f6b1c73ef96787 +/agent-note-creator-skills-disclose-progressively-and-may-read-sources/alternatives-considered: + en: d36d4f610925060a + zh: c0ed56b6c631789e +/agent-note-creator-skills-disclose-progressively-and-may-read-sources/consequences: + en: ed908afe74adf3bc + zh: 62a3cfba359dfbb6 diff --git a/.agents/notes/implemented/architecture/2026-09-21-live-config-inspect-provider.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-21-live-config-inspect-provider.i18n.yaml index eae4bb9b59..a9e885fe52 100644 --- a/.agents/notes/implemented/architecture/2026-09-21-live-config-inspect-provider.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-21-live-config-inspect-provider.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-21-live-config-inspect-provider.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-21-live-config-inspect-provider.md -2026-09-21-live-config-inspect-provider.md: b4be50852693665780da37b03c130339afa0ef57 -2026-09-21-live-config-inspect-provider.zh.md: e1eead7b68f12be320e5c34b621178f44cd26282 +/agent-note-live-plugin-config-inspection-replaces-the-host-builtin-provider: + en: f57edbb8b3fa60ae + zh: 8d0fa0eb73bbdaf1 +/agent-note-live-plugin-config-inspection-replaces-the-host-builtin-provider/problem: + en: e01cc31ce200b24b + zh: 7462a52c3e59ec87 +/agent-note-live-plugin-config-inspection-replaces-the-host-builtin-provider/decision: + en: a7d21366030c31ac + zh: 047299df13e504b7 +/agent-note-live-plugin-config-inspection-replaces-the-host-builtin-provider/alternatives-considered: + en: a19dba57a4108fc6 + zh: 2e64893e8bcf6513 +/agent-note-live-plugin-config-inspection-replaces-the-host-builtin-provider/consequences: + en: efa454977043c76d + zh: d6bf61ac47310d3e diff --git a/.agents/notes/implemented/architecture/2026-09-22-fatal-diagnostics-and-crash-reports.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-22-fatal-diagnostics-and-crash-reports.i18n.yaml index 89a855ae78..567f3220b2 100644 --- a/.agents/notes/implemented/architecture/2026-09-22-fatal-diagnostics-and-crash-reports.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-09-22-fatal-diagnostics-and-crash-reports.i18n.yaml @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-22-fatal-diagnostics-and-crash-reports.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-22-fatal-diagnostics-and-crash-reports.md -2026-09-22-fatal-diagnostics-and-crash-reports.md: 01cbb24fc84b19465a15e9f82c03ae87621b5fe9 -2026-09-22-fatal-diagnostics-and-crash-reports.zh.md: 38f6a6802b61b128ab6b8ffda0465691c5244523 +/agent-note-fatal-diagnostics-and-desktop-crash-reports: + en: a87890699e70ccc6 + zh: 189d21b852a20760 +/agent-note-fatal-diagnostics-and-desktop-crash-reports/problem: + en: f7d0c561d7576f9a + zh: ac96a7d1c470c8cf +/agent-note-fatal-diagnostics-and-desktop-crash-reports/decision: + en: ac461e0ea1702ecc + zh: 745def8581dc7974 +/agent-note-fatal-diagnostics-and-desktop-crash-reports/relationship-to-earlier-decisions: + en: 157e52fc4036044a + zh: e474d9c9a36f1381 +/agent-note-fatal-diagnostics-and-desktop-crash-reports/relationship-to-the-desktop-logging-design: + en: 7dc438912d10574a + zh: 07d05f9f17043d67 +/agent-note-fatal-diagnostics-and-desktop-crash-reports/testing: + en: 864a8e71e3b3378b + zh: a71807db24d9409c +/agent-note-fatal-diagnostics-and-desktop-crash-reports/consequences: + en: a9bf0176caf92221 + zh: 169d31d00bd28585 +/agent-note-fatal-diagnostics-and-desktop-crash-reports/alternatives-considered: + en: 5b5cf601759d1ff1 + zh: 2171128e2b3aa799 diff --git a/.agents/notes/implemented/architecture/2026-09-22-tool-call-three-phases.i18n.yaml b/.agents/notes/implemented/architecture/2026-09-22-tool-call-three-phases.i18n.yaml new file mode 100644 index 0000000000..48da0f768d --- /dev/null +++ b/.agents/notes/implemented/architecture/2026-09-22-tool-call-three-phases.i18n.yaml @@ -0,0 +1,34 @@ +# Bilingual-pair consistency record for 2026-09-22-tool-call-three-phases.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: +# pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-09-22-tool-call-three-phases.md +/agent-note-tool-calls-own-preparation-dispatch-and-results-by-callid: + en: d8d1cdcedf0b5d8e + zh: 79e4466489558365 +/agent-note-tool-calls-own-preparation-dispatch-and-results-by-callid/problem: + en: 0539e5f25f594681 + zh: 5446bd08229eab9b +/agent-note-tool-calls-own-preparation-dispatch-and-results-by-callid/decision: + en: a15c7c13f167e5ac + zh: 63bcc2ef60c2f344 +/agent-note-tool-calls-own-preparation-dispatch-and-results-by-callid/decision/one-tool-owns-three-stages: + en: ea65da88c3df35bb + zh: a71afb4683a75290 +/agent-note-tool-calls-own-preparation-dispatch-and-results-by-callid/decision/start-marks-an-initialization-candidate: + en: 696a180246e23391 + zh: aeb2b1fdcfdf9631 +/agent-note-tool-calls-own-preparation-dispatch-and-results-by-callid/decision/converge-on-final-state-without-replaying-preparation: + en: 603cbcf3379ad4f7 + zh: e34d87ea348c756b +/agent-note-tool-calls-own-preparation-dispatch-and-results-by-callid/decision/shared-rows-reuse-their-existing-presentation: + en: 24536588cd0c979b + zh: 992d4c4657d6d034 +/agent-note-tool-calls-own-preparation-dispatch-and-results-by-callid/decision/relationship-to-existing-records: + en: bd4984f66c507785 + zh: 4d2372fdbc4c3cec +/agent-note-tool-calls-own-preparation-dispatch-and-results-by-callid/alternatives-considered: + en: 505095bec889700e + zh: b77c492de3e8641a +/agent-note-tool-calls-own-preparation-dispatch-and-results-by-callid/consequences: + en: 3cf36b54240013da + zh: 67e663b431bc67d2 diff --git a/.agents/notes/implemented/architecture/2026-09-22-tool-call-three-phases.md b/.agents/notes/implemented/architecture/2026-09-22-tool-call-three-phases.md new file mode 100644 index 0000000000..f43eaf1a68 --- /dev/null +++ b/.agents/notes/implemented/architecture/2026-09-22-tool-call-three-phases.md @@ -0,0 +1,67 @@ +# Agent Note: Tool calls own preparation, dispatch, and results by callId + +Status: implemented + +English | [中文](2026-09-22-tool-call-three-phases.zh.md) + +## Problem + +The model often provides a tool name and call ID while it is still generating arguments, but `tool/call` arrives only after the entire Assistant stream ends. When one response contains several calls, an earlier call waits for later calls even after its own arguments are complete. File content is part of the arguments to `write`, so this delay can last several seconds. + +Creating tool nodes only at `tool/call` presents that interval as no tool activity. Putting a preparing call in an Assistant part instead requires the Group to switch references between Assistant and Tool nodes. Preparation and dispatch belong to one tool lifecycle and do not require two cooperating nodes. + +## Decision + +### One Tool owns three stages + +The [Tool Definition](../../../../packages/client/ui-chat/src/client/conversation-nodes/tool.ts) groups calls by callId and supplies explicit stage data to tool components. + +| Stage | Creation or update evidence | Available data and presentation | +|---|---|---| +| `preparing` | A live delta with a call ID and tool name | Call identity, name, and time; no complete arguments, and one non-expandable row. An opt-in Hook can read the raw argument prefix. | +| `start` | `tool/call` | Complete arguments; enables the tool's existing call presentation. | +| `result` | `tool/result` | The result and any complete arguments paired within the loaded window. | + +An argument block ending does not trigger dispatch presentation. Showing preparation changes neither model requests, tool dispatch timing, Session events, nor the persisted format. An empty argument string does not stand in for a dispatched call. + +### Start marks an initialization candidate + +The [Conversation Definition](../../../../packages/client/ui-conversation/src/client/contract/conversation.ts) retains its match/start/update interface and existing roles. Durable events and transient deltas may both match as start. The earliest start in the current event sequence initializes State; every later Match, including another start for the same ID, goes through update. + +A named tool delta and `tool/call` are both initialization candidates. A live delta can create preparation; a historical `tool/call` creates the dispatched stage directly. Matching still reads only the current event, without Context lookup, additional roles, registries, or separate caches. + +Successful stream settlement publishes the final Assistant message while retaining transient deltas until `step/end`. Each `tool/call` updates its existing callId; the Assistant keeps its live ordering anchor until the same cleanup. Failed, interrupted, or abandoned streams retire their deltas immediately. On retirement the Assembler reselects starts and recomputes State from remaining Matches. Undispatched preparations hide without synthetic execution results. + +### Converge on final state without replaying preparation + +Historical pages do not expand settled Assistant messages into live deltas. Reconnection restores only an attempt that is still live. Live presentation may follow preparing → start → result, while history follows start → result directly. Equal durable events produce equal final state; intermediate presentation and preparation-group identity need not match. + +Groups include Tool nodes from preparation onward and classify and count them by tool name. AssistantNodeView does not search tool blocks, and Groups neither encode tool groupPart values nor take over tool lifecycles. Grouping retains the [node-input grouping decision](2026-09-21-conversation-build-groups.md); the Builder does not interpret preparation business rules. + +### Shared rows reuse their existing presentation + +[ToolRow](../../../../packages/client/ui-tool/src/client/tool/components/ToolRow.tsx) reuses the existing icon, title, and row component across all stages. The shared row model selects the tool title and combines any generic tool-name prefix with the available argument summary. Preparation has no complete arguments or result, and the shared argument parser returns null without parsing JSON. The existing slot Hook binding optionally exposes a call-scoped raw prefix; it adds no preparation registration mechanism. ToolRow prevents preparation rows from expanding. + +Read, read_image, write/edit, search, web, todo, question, details, and the generic fallback use this path. Custom rows such as Bash, Skill, Present, and Cordis keep their own preparation branches. No automatic/custom registration declaration or second tool-classification list in ToolTree is introduced. + +### Relationship to existing records + +This decision replaces the [business-node assembly](2026-08-09-client-conversation-node-assembly.md) restriction that starts must be durable and a Context may receive only one start. That record's stable IDs, business Definitions, Contexts, Locations, predecessor dependencies, and target Builder responsibilities remain applicable. + +## Alternatives considered + +**Create nodes only at `tool/call`.** This cannot show a known tool identity while arguments are being generated and leaves a visible wait in multi-call responses. + +**Transfer presentation through Assistant parts and Groups.** A tool would need two presentation sources, additional deduplication, and identity transfer. Lifecycle ownership becomes distributed, and renderers must recover Assistant content from part identifiers. + +**Persist or replay preparing.** Preparation describes current generation; durable calls and results already suffice to reconstruct the final presentation. Reproducing the same intermediate process adds unnecessary state and event interpretation. + +**Add a preparation registration mechanism.** Generic tools already share ToolRow and argument models, including reusable icons and titles. Additional declarations or configuration for this stage would maintain another representation of tool presentation. + +## Consequences + +- A tool may appear before its arguments are complete, but preparation neither implies execution nor exposes interactions requiring arguments. +- Multiple starts with one ID belong to one lifecycle. Independent calls must use distinct IDs; a second-start error no longer detects identity reuse. +- The shared row primitive is reused across stages. Write/edit separate preparing and dispatched components so only the former subscribes to raw arguments; custom rows may also switch internal components by stage. +- Partial JSON parsing and `useToolCallDelta` are not provided. `useToolCallArgumentsPartial` exposes the existing Step's raw prefix without a second accumulator; write/edit use only its length for preparation progress. +- Assembly tests separately cover live preparation, withdrawal, active-stream reconstruction, durable history, and paged convergence. Component tests cover argument-free presentation and stage changes; a recorded session covers browser preparation and reload results. diff --git a/.agents/notes/implemented/architecture/2026-09-22-tool-call-three-phases.zh.md b/.agents/notes/implemented/architecture/2026-09-22-tool-call-three-phases.zh.md new file mode 100644 index 0000000000..accbd2e966 --- /dev/null +++ b/.agents/notes/implemented/architecture/2026-09-22-tool-call-three-phases.zh.md @@ -0,0 +1,67 @@ +# Agent Note: 工具调用按 callId 管理准备、派发与结果 + +Status: implemented + +[English](2026-09-22-tool-call-three-phases.md) | 中文 + +## 问题 + +模型生成工具参数时,工具名和调用 ID 往往已经可用,但 `tool/call` 要等整条 Assistant 流结束后才到达。一次响应包含多个调用时,前一个调用即使已经生成完整参数,仍要等待后续调用。文件正文也属于 `write` 参数,这段等待可能持续数秒。 + +只从 `tool/call` 创建工具节点,会把这段时间表现为没有工具活动;把准备中的调用放在 Assistant 片段里,又需要 Group 在 Assistant 与正式 Tool 节点之间切换引用。准备态和正式调用属于同一个工具生命周期,不应由两个节点配合表达。 + +## 决策 + +### 同一个 Tool 拥有三个阶段 + +[Tool Definition](../../../../packages/client/ui-chat/src/client/conversation-nodes/tool.ts) 按 callId 聚合调用,向工具组件提供明确的阶段数据。 + +| 阶段 | 创建或更新依据 | 可用数据与展示 | +|---|---|---| +| `preparing` | 带调用 ID 和工具名的实时 delta | 调用身份、名称和时间;不提供完整参数,只显示不可展开的一行。可选钩子可读取原始参数前缀。 | +| `start` | `tool/call` | 完整参数;启用工具原有的调用展示。 | +| `result` | `tool/result` | 调用结果,以及当前窗口内可配对的完整参数。 | + +参数块结束不触发派发阶段。展示准备态不改变模型请求、工具派发时机、Session 事件或持久化格式,也不把空参数字符串伪装成正式调用。 + +### start 表示可创建入口 + +沿用 [Conversation Definition](../../../../packages/client/ui-conversation/src/client/contract/conversation.ts) 的 `match/start/update` 接口和既有角色。持久事件与瞬态 delta 都可以匹配为 start;当前事件序列中最早的 start 初始化 State,后续 Match,包括同 ID 的其他 start,都交给 update。 + +Tool 的具名 delta 和 `tool/call` 都是创建入口。实时先收到 delta,就从 preparing 创建;历史先收到 `tool/call`,就从 start 创建。匹配函数仍然只读取当前事件,不查询 Context,不增加角色、注册表或旁路缓存。 + +成功流结束时发布最终 Assistant 消息,瞬态 delta 保留到 `step/end`。每个 `tool/call` 更新已有 callId;Assistant 的实时排序锚点也保留到同一次清理。失败、中断或废弃的流立即移除 delta。清理时,Assembler 从剩余 Match 重新选择 start 并重算 State;未派发的准备节点隐藏,不合成执行结果。 + +### 最终状态收敛,不重现准备过程 + +历史分页不把已结束 Assistant 消息展开为实时 delta。重连只恢复仍在生成的活跃流。实时展示可以经历 preparing → start → result,历史回放可以直接经历 start → result;相同持久事件得到相同最终状态即可,不要求中间过程或准备态分组身份一致。 + +Group 从准备阶段起就聚合 Tool 节点,按工具名分类和计数。AssistantNodeView 不查找工具块,Group 不编码工具 groupPart,也不接替工具生命周期。分组仍遵循[节点输入的分组决策](2026-09-21-conversation-build-groups.zh.md),Builder 不解释准备态业务。 + +### 通用行复用现有外壳 + +[ToolRow](../../../../packages/client/ui-tool/src/client/tool/components/ToolRow.tsx) 在三个阶段复用既有图标、标题和行组件。公共行模型选择工具标题,并组合通用工具名前缀与已有参数摘要。准备阶段没有完整参数或结果,共享参数解析入口直接返回 null,不解析 JSON。既有 slot 钩子绑定可选地提供当前调用的原始前缀,不增加准备态注册机制;ToolRow 禁止准备行展开。 + +read、read_image、write/edit、search、web、todo、question、details 和通用回退使用这条路径。Bash、Skill、Present、Cordis 等自定义外壳保留自己的准备态分支。不增加自动/自管注册声明,不在 ToolTree 维护另一份工具分类名单。 + +### 与已有记录的关系 + +本记录替代[业务节点组装](2026-08-09-client-conversation-node-assembly.zh.md)中“start 只能是持久事件,同一 Context 只能收到一次 start”的限制。该记录的稳定 ID、业务 Definition、Context、Location、前序依赖和目标 Builder 职责继续适用。 + +## 考虑过的替代方案 + +**只在 `tool/call` 创建节点。** 无法展示参数生成期间已经确定的工具身份,多调用响应仍有明显空等。 + +**通过 Assistant 片段和 Group 转接。** 工具需要两种展示来源、额外去重和身份衔接;生命周期归属分散,渲染器还要根据片段标识反查 Assistant 内容。 + +**保存或回放 preparing。** 准备态只描述当前生成过程,持久调用和结果已经足以重建最终展示;恢复相同中间过程会增加不必要的状态和事件解释。 + +**新增准备态注册机制。** 通用工具已经共享 ToolRow 和参数模型,已有图标与标题可以直接复用。仅为这一阶段增加声明或配置,会多维护一套工具展示信息。 + +## 影响 + +- 工具可以在参数完整前出现,但准备展示不表示工具已经执行,也不暴露依赖参数的交互。 +- 同一 ID 的多个 start 被视为同一个生命周期;业务必须为独立调用提供不同 ID,不能再依赖第二个 start 报错检测身份复用。 +- 各阶段复用通用行基础组件。write/edit 分离准备态与派发后组件,只有前者订阅原始参数;自定义外壳也可按阶段切换内部组件。 +- 不提供部分 JSON 解析或 `useToolCallDelta`。`useToolCallArgumentsPartial` 暴露既有 Step 的原始前缀,不另建累积器;write/edit 只使用其长度展示准备进度。 +- 组装测试分别覆盖实时准备态、撤回、活跃流重建、持久历史与分页收敛;组件测试检查无参数展示和阶段切换,录制会话覆盖浏览器中的准备态与重载结果。 diff --git a/.agents/notes/implemented/bug-fix/2026-07-20-jsonl-storage-identity.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-07-20-jsonl-storage-identity.i18n.yaml index 84feb26de2..5247ed21c3 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-20-jsonl-storage-identity.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-07-20-jsonl-storage-identity.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-20-jsonl-storage-identity.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-20-jsonl-storage-identity.md -2026-07-20-jsonl-storage-identity.md: 5224ebf6bebc42b4b72e14243c1af6c02f366372 -2026-07-20-jsonl-storage-identity.zh.md: 05b7150edb99cdf336b9df90bc8e3cc1df9848a3 +/agent-note-bind-jsonl-session-identity-before-mutation: + en: 1d52db2391f1433e + zh: 3bcb9dca6b77bfdd +/agent-note-bind-jsonl-session-identity-before-mutation/problem: + en: 960d783083269ddd + zh: ef52b53d99b520d1 +/agent-note-bind-jsonl-session-identity-before-mutation/decision: + en: 3fc8ab92d1f0f98b + zh: 855b863c7d90cdd9 +/agent-note-bind-jsonl-session-identity-before-mutation/alternatives-considered: + en: 5269f154c37cb8de + zh: 983f18775457361a +/agent-note-bind-jsonl-session-identity-before-mutation/consequences: + en: 2c88ff974542760f + zh: 489996a16ba6907b diff --git a/.agents/notes/implemented/bug-fix/2026-07-31-fail-loud-releases-the-terminal.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-07-31-fail-loud-releases-the-terminal.i18n.yaml index 438bf04d9c..dbd450eb86 100644 --- a/.agents/notes/implemented/bug-fix/2026-07-31-fail-loud-releases-the-terminal.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-07-31-fail-loud-releases-the-terminal.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-31-fail-loud-releases-the-terminal.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-31-fail-loud-releases-the-terminal.md -2026-07-31-fail-loud-releases-the-terminal.md: 9c8aa41e960764c6d9311c49a8757a25b3996b78 -2026-07-31-fail-loud-releases-the-terminal.zh.md: e44d4672dcf768c33d94b801809cf7aa653aa62f +/agent-note-fail-loud-releases-the-terminal-before-exiting: + en: c070ae81b744a18b + zh: 8379e89b11e263c4 +/agent-note-fail-loud-releases-the-terminal-before-exiting/problem: + en: 705893ebb3a11d92 + zh: 7d19929c62213a3c +/agent-note-fail-loud-releases-the-terminal-before-exiting/decision: + en: a28315c307acdf90 + zh: fb7b2df986ffdffc +/agent-note-fail-loud-releases-the-terminal-before-exiting/alternatives-considered: + en: 5ee239978e8f1ece + zh: 55267740c7726c25 +/agent-note-fail-loud-releases-the-terminal-before-exiting/consequences: + en: 19241cdfdb6c4e56 + zh: 24534e8660ae2f96 +/agent-note-fail-loud-releases-the-terminal-before-exiting/testing: + en: 8a7b0c74ec32d5a0 + zh: 5bbb564ecc8a9870 diff --git a/.agents/notes/implemented/bug-fix/2026-08-03-cli-signal-shutdown-escalation.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-08-03-cli-signal-shutdown-escalation.i18n.yaml index 07c0e1b202..23c1697c7e 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-03-cli-signal-shutdown-escalation.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-08-03-cli-signal-shutdown-escalation.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-03-cli-signal-shutdown-escalation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-03-cli-signal-shutdown-escalation.md -2026-08-03-cli-signal-shutdown-escalation.md: 2f8bdce548318b2172e8e0a5807958e5f8189179 -2026-08-03-cli-signal-shutdown-escalation.zh.md: 8e3b90ff158b896f363165708e34d4a300cf4677 +/agent-note-bounded-escalating-signal-shutdown-for-web-and-headless: + en: d8f8ef8811dfe378 + zh: ca728da97cb35920 +/agent-note-bounded-escalating-signal-shutdown-for-web-and-headless/problem: + en: 1042d3e1c2cb1e45 + zh: d32f05dd83eee04b +/agent-note-bounded-escalating-signal-shutdown-for-web-and-headless/decision: + en: 5738aa92d9185c4f + zh: 1999e41d43063c12 +/agent-note-bounded-escalating-signal-shutdown-for-web-and-headless/alternatives-considered: + en: 53239a7e43d70aa1 + zh: d5ab1cc4c52513e6 +/agent-note-bounded-escalating-signal-shutdown-for-web-and-headless/consequences: + en: 888679c978b87125 + zh: c68d962f516f675e +/agent-note-bounded-escalating-signal-shutdown-for-web-and-headless/testing: + en: e2dd8e925ff94a13 + zh: b9430f38c27982ff diff --git a/.agents/notes/implemented/bug-fix/2026-08-06-bwrap-private-pid-namespace.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-08-06-bwrap-private-pid-namespace.i18n.yaml index ada86f1ca9..a261460c22 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-06-bwrap-private-pid-namespace.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-08-06-bwrap-private-pid-namespace.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-06-bwrap-private-pid-namespace.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-bwrap-private-pid-namespace.md -2026-08-06-bwrap-private-pid-namespace.md: c7c83fd274c5dcd6634bdb78a909f1366e1926ba -2026-08-06-bwrap-private-pid-namespace.zh.md: fa53d4eb66669236d3e4ed82b2a4df3adff6dfc5 +/agent-note-isolate-bwrap-from-the-host-pid-namespace: + en: 56e719d5aa015e57 + zh: 2568d89bb33ab663 +/agent-note-isolate-bwrap-from-the-host-pid-namespace/problem: + en: 2da6f0dd324f054d + zh: 4a414f04e638aa47 +/agent-note-isolate-bwrap-from-the-host-pid-namespace/decision: + en: d1000f28dd8cd2c6 + zh: 9b35f7085ae68b99 +/agent-note-isolate-bwrap-from-the-host-pid-namespace/alternatives-considered: + en: e794f6d8578bffef + zh: 61feee3ed99c615d +/agent-note-isolate-bwrap-from-the-host-pid-namespace/verification: + en: 7f9a12f088ce869f + zh: 8d1ea7519de1605d +/agent-note-isolate-bwrap-from-the-host-pid-namespace/consequences: + en: 4543b72f4d669fdf + zh: 7576f60bac467013 diff --git a/.agents/notes/implemented/bug-fix/2026-08-06-host-backed-web-preferences.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-08-06-host-backed-web-preferences.i18n.yaml index 67810e388a..82875f587c 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-06-host-backed-web-preferences.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-08-06-host-backed-web-preferences.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-06-host-backed-web-preferences.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-host-backed-web-preferences.md -2026-08-06-host-backed-web-preferences.md: 4b8d52887554899f2aee9253e65354e4c0fc7e46 -2026-08-06-host-backed-web-preferences.zh.md: 9c61de71981c9e4950889cf94eba2645b9247aa8 +/agent-note-persist-web-user-preferences-through-host-settings: + en: da28d8677a4d9f9c + zh: a5311ab734f576d3 +/agent-note-persist-web-user-preferences-through-host-settings/problem: + en: 18b583ecb58b9e06 + zh: 55570d758b75852a +/agent-note-persist-web-user-preferences-through-host-settings/decision: + en: 2846c0d0f8615da7 + zh: 511d61ea4ea6efa6 +/agent-note-persist-web-user-preferences-through-host-settings/alternatives-considered: + en: a91ebb47ec1ee356 + zh: d5ce0b7f48195093 +/agent-note-persist-web-user-preferences-through-host-settings/consequences: + en: 7defab72acfd5e78 + zh: 566cbbd3eb3cd9e3 diff --git a/.agents/notes/implemented/bug-fix/2026-08-07-cancel-convergence-wake-latch.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-08-07-cancel-convergence-wake-latch.i18n.yaml index ca1680270c..8f8930a2f0 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-07-cancel-convergence-wake-latch.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-08-07-cancel-convergence-wake-latch.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-07-cancel-convergence-wake-latch.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-07-cancel-convergence-wake-latch.md -2026-08-07-cancel-convergence-wake-latch.md: a6540a7b46b3e4af4058c7549ff056b92fcc708d -2026-08-07-cancel-convergence-wake-latch.zh.md: 2c4f368feaaca91386cac0a5a833ecd8e9f2e1e1 +/agent-note-latch-wake-ups-that-land-in-the-cancel-convergence-window: + en: 0b877f8208b50162 + zh: dd6b6af7d96a5f86 +/agent-note-latch-wake-ups-that-land-in-the-cancel-convergence-window/problem: + en: 4539f5fa2c7dc7e4 + zh: f7b6cbe04ca0ffc2 +/agent-note-latch-wake-ups-that-land-in-the-cancel-convergence-window/decision: + en: 23d5dbc6b75ca908 + zh: 116ae93f6a48e6ed +/agent-note-latch-wake-ups-that-land-in-the-cancel-convergence-window/alternatives-considered: + en: 6df22ff84b2dc081 + zh: 38d1559935b66fb9 +/agent-note-latch-wake-ups-that-land-in-the-cancel-convergence-window/consequences: + en: 7d72c68239cd7e31 + zh: 19045871dcceb4bf diff --git a/.agents/notes/implemented/bug-fix/2026-08-07-ptc-executor-collapse.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-08-07-ptc-executor-collapse.i18n.yaml index 528aa1f781..a3575ac176 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-07-ptc-executor-collapse.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-08-07-ptc-executor-collapse.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-07-ptc-executor-collapse.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-07-ptc-executor-collapse.md -2026-08-07-ptc-executor-collapse.md: e034d30ff54673ecef98faf5c632b92c2d39aa2f -2026-08-07-ptc-executor-collapse.zh.md: 03f93a323533b8507043c2fa8653b4c51c5fd56e +/agent-note-ptc-mode-collapses-the-executor-not-just-the-wire: + en: 7958ca7ba1201af2 + zh: bc7f74c91444eed6 +/agent-note-ptc-mode-collapses-the-executor-not-just-the-wire/problem: + en: a6fcd5114ffde259 + zh: 05940375a30756d0 +/agent-note-ptc-mode-collapses-the-executor-not-just-the-wire/decision: + en: 66f55639766a6d02 + zh: a8819b045463a927 +/agent-note-ptc-mode-collapses-the-executor-not-just-the-wire/alternatives-considered: + en: 6119e2aff3b6be5a + zh: e01a6c669a9ec6aa +/agent-note-ptc-mode-collapses-the-executor-not-just-the-wire/alternatives-considered/filter-get-the-registry-view-by-mode: + en: 31b6fed689eea5db + zh: ace070ad616bca62 +/agent-note-ptc-mode-collapses-the-executor-not-just-the-wire/alternatives-considered/filter-at-the-agent-loop-entry: + en: 9dbdb9939baccd49 + zh: 11437030cd211000 +/agent-note-ptc-mode-collapses-the-executor-not-just-the-wire/alternatives-considered/reject-via-a-shipped-guard: + en: 9011947651f58129 + zh: 1d4a0c622680f13f +/agent-note-ptc-mode-collapses-the-executor-not-just-the-wire/alternatives-considered/keep-schema-omission-only-status-quo: + en: 0d4759646b19917a + zh: 1a1bef7617c52f9c +/agent-note-ptc-mode-collapses-the-executor-not-just-the-wire/consequences: + en: 9120e68ba25bd30a + zh: 6ec4bea5df8668a1 diff --git a/.agents/notes/implemented/bug-fix/2026-08-10-child-agents-join-their-parent-preset.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-08-10-child-agents-join-their-parent-preset.i18n.yaml index 027bf3babb..e86b334e45 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-10-child-agents-join-their-parent-preset.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-08-10-child-agents-join-their-parent-preset.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-10-child-agents-join-their-parent-preset.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-10-child-agents-join-their-parent-preset.md -2026-08-10-child-agents-join-their-parent-preset.md: 7de247a7a3f75f467ebf5c8387eb8fb8e2f7e009 -2026-08-10-child-agents-join-their-parent-preset.zh.md: c9d392cd75ee9c06005aa53f4f68a8153fc7633b +/agent-note-child-agents-join-their-parent-s-preset-composition: + en: ad623e2fef93c033 + zh: a37abf059f39aefa +/agent-note-child-agents-join-their-parent-s-preset-composition/problem: + en: 0b8d70c073523bc1 + zh: 6bba76a467508149 +/agent-note-child-agents-join-their-parent-s-preset-composition/decision: + en: 13a3452527f35bc6 + zh: 6c319f554184e578 +/agent-note-child-agents-join-their-parent-s-preset-composition/alternatives-considered: + en: 88a48e6bba3d30e2 + zh: 842d835a7a9db434 +/agent-note-child-agents-join-their-parent-s-preset-composition/testing: + en: 458a2aa1ae046253 + zh: 59fad52e881989ed +/agent-note-child-agents-join-their-parent-s-preset-composition/consequences: + en: 09fd94b5ceaa95e6 + zh: bf8e4e22f5b70b45 diff --git a/.agents/notes/implemented/bug-fix/2026-08-17-durable-web-queue-recovery.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-08-17-durable-web-queue-recovery.i18n.yaml index 5c76962fef..63f61fbc54 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-17-durable-web-queue-recovery.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-08-17-durable-web-queue-recovery.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-17-durable-web-queue-recovery.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-17-durable-web-queue-recovery.md -2026-08-17-durable-web-queue-recovery.md: 0f18cd7a2b9491d6a8bdfa960409d97a5338f95d -2026-08-17-durable-web-queue-recovery.zh.md: 476c1b2fe88156ba8c34e281ff1d1e5663c7913c +/agent-note-recover-the-web-queue-from-durable-inbox-state: + en: df261933e13adb0a + zh: 369772acd6fe0e48 +/agent-note-recover-the-web-queue-from-durable-inbox-state/problem: + en: 79fe907a6201ed27 + zh: 55d0de6b6518f946 +/agent-note-recover-the-web-queue-from-durable-inbox-state/decision: + en: 2e64d021a2009eec + zh: b3f7d5ba2a6f6322 +/agent-note-recover-the-web-queue-from-durable-inbox-state/verification: + en: bab880ec7de69673 + zh: 769f2641856fde60 +/agent-note-recover-the-web-queue-from-durable-inbox-state/alternatives-considered: + en: df29962ab5d779ee + zh: 2593f0973b725d54 +/agent-note-recover-the-web-queue-from-durable-inbox-state/consequences: + en: ffa16214aa1f0efd + zh: 7915524221acac0c diff --git a/.agents/notes/implemented/bug-fix/2026-08-17-subagent-message-settlement-ordering.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-08-17-subagent-message-settlement-ordering.i18n.yaml index 3ef4fd1d6c..fcd7dd96b2 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-17-subagent-message-settlement-ordering.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-08-17-subagent-message-settlement-ordering.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-17-subagent-message-settlement-ordering.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-17-subagent-message-settlement-ordering.md -2026-08-17-subagent-message-settlement-ordering.md: b383dc290949a3a22ed48e1e639b145e39dbb211 -2026-08-17-subagent-message-settlement-ordering.zh.md: 330c19b20b966d9f719fb61ee1bf5272e0cc8287 +/agent-note-child-agent-messages-precede-their-settlement-notices: + en: b46c628c107fbdfe + zh: 829b71dae5e73e0f +/agent-note-child-agent-messages-precede-their-settlement-notices/problem: + en: 82e6c4d5db64a818 + zh: 3610573f1521409e +/agent-note-child-agent-messages-precede-their-settlement-notices/decision: + en: 94a44265545ff53e + zh: 06db7c1bacb6b120 +/agent-note-child-agent-messages-precede-their-settlement-notices/decision/ordering-across-parent-states: + en: 2bceedd85283e6ed + zh: 6c11a3519fe9b941 +/agent-note-child-agent-messages-precede-their-settlement-notices/decision/verification: + en: b2d6b562739ea61c + zh: 33f56b3220b00953 +/agent-note-child-agent-messages-precede-their-settlement-notices/alternatives-considered: + en: a81f4efd6c32125e + zh: d38898c6b3352ad8 +/agent-note-child-agent-messages-precede-their-settlement-notices/consequences: + en: 3b8532d48efb656a + zh: 971bced6f6bed59d diff --git a/.agents/notes/implemented/bug-fix/2026-08-24-alpha-routed-image-quality-ladders.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-08-24-alpha-routed-image-quality-ladders.i18n.yaml index e2e60901af..d82479170d 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-24-alpha-routed-image-quality-ladders.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-08-24-alpha-routed-image-quality-ladders.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-24-alpha-routed-image-quality-ladders.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-24-alpha-routed-image-quality-ladders.md -2026-08-24-alpha-routed-image-quality-ladders.md: cdf5e7bd908782781e66a4f6494428f0f174e258 -2026-08-24-alpha-routed-image-quality-ladders.zh.md: fbe8215b0ca1c606cd66d60fe1109d2f9aa1cbad +/agent-note-alpha-routed-image-quality-ladders-replace-colour-count-codec-routing: + en: b2c958d45911a787 + zh: b826c61174b3640f +/agent-note-alpha-routed-image-quality-ladders-replace-colour-count-codec-routing/problem: + en: bcb73f4711d40348 + zh: 6e26853ea4728e4d +/agent-note-alpha-routed-image-quality-ladders-replace-colour-count-codec-routing/decision: + en: aabf20046a7a15e9 + zh: dba0c5261a3af1e5 +/agent-note-alpha-routed-image-quality-ladders-replace-colour-count-codec-routing/alternatives-considered: + en: 95a42e3e2313790b + zh: 116043c295d7aa12 +/agent-note-alpha-routed-image-quality-ladders-replace-colour-count-codec-routing/consequences: + en: 3ce6acd960671b52 + zh: 1ec81d76130d338d diff --git a/.agents/notes/implemented/bug-fix/2026-08-31-win32-picker-path-string-read.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-08-31-win32-picker-path-string-read.i18n.yaml index 989c66f145..3ffc1ac876 100644 --- a/.agents/notes/implemented/bug-fix/2026-08-31-win32-picker-path-string-read.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-08-31-win32-picker-path-string-read.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-31-win32-picker-path-string-read.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-31-win32-picker-path-string-read.md -2026-08-31-win32-picker-path-string-read.md: 63b2a2ea5ee88b5fa3ac79aca98350f58067fd1e -2026-08-31-win32-picker-path-string-read.zh.md: 8afc6610a0cf1c7c8649f9e1c62c26b3d89f5a03 +/agent-note-read-the-win32-picker-path-without-a-fixed-size-unmanaged-view: + en: abd03a3bff03600e + zh: 8a4a21ecc7cae78b +/agent-note-read-the-win32-picker-path-without-a-fixed-size-unmanaged-view/problem: + en: 1835aa6f42229a1f + zh: 928cb408e879fc41 +/agent-note-read-the-win32-picker-path-without-a-fixed-size-unmanaged-view/decision: + en: 831ea941c84193ef + zh: b7a1842d9843bf0d +/agent-note-read-the-win32-picker-path-without-a-fixed-size-unmanaged-view/alternatives-considered: + en: 8c0a9a1620504f50 + zh: 7f439ecb6ca5a618 +/agent-note-read-the-win32-picker-path-without-a-fixed-size-unmanaged-view/consequences: + en: 616bc4293a0b1856 + zh: ed8cf574d7a126cc diff --git a/.agents/notes/implemented/bug-fix/2026-09-03-normalized-unread-fs-tool-diagnostic.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-03-normalized-unread-fs-tool-diagnostic.i18n.yaml index 573390ed70..40c0a993a5 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-03-normalized-unread-fs-tool-diagnostic.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-03-normalized-unread-fs-tool-diagnostic.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-03-normalized-unread-fs-tool-diagnostic.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-03-normalized-unread-fs-tool-diagnostic.md -2026-09-03-normalized-unread-fs-tool-diagnostic.md: 01287a080641e1272f9759532ae7333866c6352e -2026-09-03-normalized-unread-fs-tool-diagnostic.zh.md: 5aba96ce761376e8609267f251433fee11c9f114 +/agent-note-normalized-unread-filesystem-tool-diagnostic: + en: 103e786a598d2ee3 + zh: 13d637140685f63a +/agent-note-normalized-unread-filesystem-tool-diagnostic/problem: + en: 89cfcff2f9895623 + zh: dd1cd21d431e5161 +/agent-note-normalized-unread-filesystem-tool-diagnostic/decision: + en: 0c59c5193131ca44 + zh: da48f204aef62c99 +/agent-note-normalized-unread-filesystem-tool-diagnostic/alternatives-considered: + en: dbb9cbdafd0f2764 + zh: ed8bef943f12b21d +/agent-note-normalized-unread-filesystem-tool-diagnostic/consequences: + en: 20abbdbfa3aa4edc + zh: d0555aac68cb7a1f diff --git a/.agents/notes/implemented/bug-fix/2026-09-03-root-marker-metadata-failures.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-03-root-marker-metadata-failures.i18n.yaml index 3c4cb67d7d..9789836b6d 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-03-root-marker-metadata-failures.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-03-root-marker-metadata-failures.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-03-root-marker-metadata-failures.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-03-root-marker-metadata-failures.md -2026-09-03-root-marker-metadata-failures.md: e31ef646d7190a1239684f7b66a118deb9ae1087 -2026-09-03-root-marker-metadata-failures.zh.md: 4b62f4e01ba56074a10dbcb3ae37c4478fe82379 +/agent-note-root-marker-metadata-failures: + en: c351be96177b2ea5 + zh: a094d77aaffd1fbe +/agent-note-root-marker-metadata-failures/problem: + en: 3d88594600ede55b + zh: fd9e36f5b72d8aee +/agent-note-root-marker-metadata-failures/decision: + en: 8131fbf06980774f + zh: 21a3c48edbe9ab99 +/agent-note-root-marker-metadata-failures/alternatives-considered: + en: 2070e244fd8ffc91 + zh: 31324cd0d5ace0a9 +/agent-note-root-marker-metadata-failures/consequences: + en: a459fc1a7a8353a3 + zh: 144b373b0988b633 +/agent-note-root-marker-metadata-failures/verification: + en: 4c912e5effdaedb7 + zh: 1b28ba3dea9170dd diff --git a/.agents/notes/implemented/bug-fix/2026-09-03-user-owned-goal-pause-activation.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-03-user-owned-goal-pause-activation.i18n.yaml index f4d9692b37..c75a62877c 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-03-user-owned-goal-pause-activation.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-03-user-owned-goal-pause-activation.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-03-user-owned-goal-pause-activation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-03-user-owned-goal-pause-activation.md -2026-09-03-user-owned-goal-pause-activation.md: d58566938ef87ca2f25fd94d726dc28209f61b2b -2026-09-03-user-owned-goal-pause-activation.zh.md: 675d61009f0a7d0f98c8f6d7568466d6651f2a42 +/agent-note-user-owned-goal-pause-exposes-live-activation: + en: 07749eb6ac180964 + zh: b9c1165739fc45bf +/agent-note-user-owned-goal-pause-exposes-live-activation/problem: + en: 9f044f22e6782773 + zh: 6c17c53aa75280fd +/agent-note-user-owned-goal-pause-exposes-live-activation/decision: + en: 2cc4ab097350a88f + zh: db10825a6285f3c5 +/agent-note-user-owned-goal-pause-exposes-live-activation/alternatives-considered: + en: 640afdb17164b06b + zh: 92d33c139c40b2a1 +/agent-note-user-owned-goal-pause-exposes-live-activation/consequences: + en: d73e412f853612ee + zh: 96630d28e3c431e1 +/agent-note-user-owned-goal-pause-exposes-live-activation/testing: + en: 9d103a90036f5d06 + zh: df5440c8a4640e93 diff --git a/.agents/notes/implemented/bug-fix/2026-09-04-busy-send-button-follows-enter-setting.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-04-busy-send-button-follows-enter-setting.i18n.yaml index 0dfc11edca..4248c352c7 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-04-busy-send-button-follows-enter-setting.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-04-busy-send-button-follows-enter-setting.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-04-busy-send-button-follows-enter-setting.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-04-busy-send-button-follows-enter-setting.md -2026-09-04-busy-send-button-follows-enter-setting.md: 2db0848e3ce3b7a1b6b07ff6d6d23c06b23be5ef -2026-09-04-busy-send-button-follows-enter-setting.zh.md: 7062f60320c4bc56f15f57388e79df9ce0e45c2f +/agent-note-the-busy-send-button-follows-the-enter-setting: + en: d0e9f804958ee8ce + zh: e5cd102fbdd12ff1 +/agent-note-the-busy-send-button-follows-the-enter-setting/problem: + en: c378dfa9efcc0758 + zh: 785c3b9ee99c66a4 +/agent-note-the-busy-send-button-follows-the-enter-setting/decision: + en: 101e21100f8afd7d + zh: 76979af8aee15976 +/agent-note-the-busy-send-button-follows-the-enter-setting/verification: + en: eb886930b09445bd + zh: 1e671f8f81868490 +/agent-note-the-busy-send-button-follows-the-enter-setting/alternatives-considered: + en: d47aa278a2103890 + zh: 313f75c7fb8ccd5c +/agent-note-the-busy-send-button-follows-the-enter-setting/consequences: + en: a067e427615a682a + zh: d72074056e1def4a diff --git a/.agents/notes/implemented/bug-fix/2026-09-05-continuous-client-recovery.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-05-continuous-client-recovery.i18n.yaml index a2bba51f16..f08907aa62 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-05-continuous-client-recovery.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-05-continuous-client-recovery.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-05-continuous-client-recovery.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-05-continuous-client-recovery.md -2026-09-05-continuous-client-recovery.md: 2eacaca4f8d4b76ab8d82bb10bb8cfa4c80cbd65 -2026-09-05-continuous-client-recovery.zh.md: 96908b1217ca1caa17514e16522080fa342e6813 +/agent-note-continuous-client-connection-recovery: + en: f0fee6b344250d4c + zh: 713ea72ca8d6565a +/agent-note-continuous-client-connection-recovery/problem: + en: 70259bdedbf6b449 + zh: b0a3014c27483a09 +/agent-note-continuous-client-connection-recovery/decision: + en: db9ac3c08a3eaf0b + zh: 68c9ce30d8d5c7e2 +/agent-note-continuous-client-connection-recovery/alternatives-considered: + en: 2e94feca66d912af + zh: 8fc4e81b797d4553 +/agent-note-continuous-client-connection-recovery/consequences: + en: cd99c771043a23d5 + zh: 8559757fa8098fbe +/agent-note-continuous-client-connection-recovery/testing: + en: 39fdcfb5c6b52a96 + zh: 276de310ed1bbc39 diff --git a/.agents/notes/implemented/bug-fix/2026-09-05-nested-terminal-cards.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-05-nested-terminal-cards.i18n.yaml index d62438d1f3..e0fdd0b674 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-05-nested-terminal-cards.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-05-nested-terminal-cards.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-05-nested-terminal-cards.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-05-nested-terminal-cards.md -2026-09-05-nested-terminal-cards.md: c5946a332f2879588cb6ee334404fdaa92a8cb28 -2026-09-05-nested-terminal-cards.zh.md: 74056014ce5b9ac38574c5551420a4e25808b9b4 +/agent-note-nested-terminal-cards: + en: acc1dadeee5e1aeb + zh: a589c28cf1aff307 +/agent-note-nested-terminal-cards/problem: + en: 1bd9adbd90b66871 + zh: 0a87672dffc07bae +/agent-note-nested-terminal-cards/decision: + en: 075b10a41974411e + zh: cc3341afff14f61b +/agent-note-nested-terminal-cards/alternatives-considered: + en: c585eb14efb10514 + zh: c5a1cc87fc4edacc +/agent-note-nested-terminal-cards/consequences: + en: a7abcb5b95a020cc + zh: 27fe3216944de8c3 +/agent-note-nested-terminal-cards/verification: + en: 0133972e958fccce + zh: 52d4d3e29b7346e0 diff --git a/.agents/notes/implemented/bug-fix/2026-09-05-patch-plugin-file-urls.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-05-patch-plugin-file-urls.i18n.yaml index 2653e7d928..3bcf021adf 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-05-patch-plugin-file-urls.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-05-patch-plugin-file-urls.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-05-patch-plugin-file-urls.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-05-patch-plugin-file-urls.md -2026-09-05-patch-plugin-file-urls.md: bad63355ce74b520b5e49b94deeefb2d648b71f4 -2026-09-05-patch-plugin-file-urls.zh.md: 775a576324dd2856f490cf3ce3ba907965737fc2 +/agent-note-file-urls-for-inserted-patch-plugins: + en: 0da1360de4441566 + zh: aa617df23150096d +/agent-note-file-urls-for-inserted-patch-plugins/problem: + en: 68de71db96c5e4b5 + zh: c88db125cddb54a4 +/agent-note-file-urls-for-inserted-patch-plugins/decision: + en: 09bb824857b8fb60 + zh: 859da30ff296688c +/agent-note-file-urls-for-inserted-patch-plugins/alternatives-considered: + en: e53a86bc1c71a6ff + zh: 514b48c8734fca17 +/agent-note-file-urls-for-inserted-patch-plugins/consequences: + en: 9b9628919e52c617 + zh: 195935e5d905d81d diff --git a/.agents/notes/implemented/bug-fix/2026-09-05-pi-ai-upgrade-compatibility.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-05-pi-ai-upgrade-compatibility.i18n.yaml index e188205736..88960b1f51 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-05-pi-ai-upgrade-compatibility.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-05-pi-ai-upgrade-compatibility.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-05-pi-ai-upgrade-compatibility.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-05-pi-ai-upgrade-compatibility.md -2026-09-05-pi-ai-upgrade-compatibility.md: e28d911facae33fcf278a6824376f889e3416d77 -2026-09-05-pi-ai-upgrade-compatibility.zh.md: 408669ddc963a505254529acaab4c19e9774c6b1 +/agent-note-pi-ai-upgrade-compatibility: + en: faa0207498bd36c7 + zh: 2c6c209849dcce32 +/agent-note-pi-ai-upgrade-compatibility/problem: + en: 0a106a9d74115ce5 + zh: a65945e32455944e +/agent-note-pi-ai-upgrade-compatibility/decision: + en: 978b93bba58cfaf9 + zh: 847360ba75d67abc +/agent-note-pi-ai-upgrade-compatibility/alternatives-considered: + en: bcfd595bb17c3cd6 + zh: b7d4346e9c50f95d +/agent-note-pi-ai-upgrade-compatibility/consequences: + en: 0b634c9d7567aa57 + zh: c8ae82694e5fae12 diff --git a/.agents/notes/implemented/bug-fix/2026-09-05-session-reference-model-budget.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-05-session-reference-model-budget.i18n.yaml index 623fcdf1b1..57f613df55 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-05-session-reference-model-budget.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-05-session-reference-model-budget.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-05-session-reference-model-budget.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-05-session-reference-model-budget.md -2026-09-05-session-reference-model-budget.md: 0654f2b89187727668fddb97ab6e982bacd82dc1 -2026-09-05-session-reference-model-budget.zh.md: 84f4fee76c7fb54f3ec37f0ae3417cc56d772af7 +/agent-note-model-relative-session-reference-budgets: + en: 6d4d5e9c678c93cb + zh: 7023bca0480a27df +/agent-note-model-relative-session-reference-budgets/problem: + en: 2bc7bc4083a96c5d + zh: d0d290871def4abf +/agent-note-model-relative-session-reference-budgets/decision: + en: e686c4ed659fc44c + zh: 41484c0431a53177 +/agent-note-model-relative-session-reference-budgets/alternatives-considered: + en: 77148c41d109895a + zh: dba534347f0e0877 +/agent-note-model-relative-session-reference-budgets/consequences: + en: 6ee6a4b3229ff378 + zh: 9e30e71ac15da8c4 diff --git a/.agents/notes/implemented/bug-fix/2026-09-05-session-reference-spill-reuse.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-05-session-reference-spill-reuse.i18n.yaml index 577e94fdc8..05f653cf57 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-05-session-reference-spill-reuse.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-05-session-reference-spill-reuse.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-05-session-reference-spill-reuse.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-05-session-reference-spill-reuse.md -2026-09-05-session-reference-spill-reuse.md: 2a24e3adf28c70df8feb726700376df6f06dee87 -2026-09-05-session-reference-spill-reuse.zh.md: 346ed1a39ee65a560cf9e74e519ae45c2ce133e1 +/agent-note-reuse-spill-storage-for-truncated-session-references: + en: 9691f4ba51c41f8b + zh: 5c1719f1ef901639 +/agent-note-reuse-spill-storage-for-truncated-session-references/problem: + en: 50a1ef10604acb5f + zh: 128abfd3e43740dc +/agent-note-reuse-spill-storage-for-truncated-session-references/decision: + en: 058598a9e6c65fcf + zh: 7760170bbc53396d +/agent-note-reuse-spill-storage-for-truncated-session-references/alternatives-considered: + en: fccf1c25876b92a0 + zh: 7d5c7c3d240132c3 +/agent-note-reuse-spill-storage-for-truncated-session-references/consequences: + en: 2bff957549afe59b + zh: 30c6be54168fe183 +/agent-note-reuse-spill-storage-for-truncated-session-references/verification: + en: e015a599fc71a65f + zh: 0812b5b9a64a8673 +/agent-note-reuse-spill-storage-for-truncated-session-references/related-decisions: + en: 7a53914026e82df7 + zh: 3c802bbf63117485 diff --git a/.agents/notes/implemented/bug-fix/2026-09-06-environment-prompt-suffix.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-06-environment-prompt-suffix.i18n.yaml index 69715a797c..1e5d9065c2 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-06-environment-prompt-suffix.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-06-environment-prompt-suffix.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-06-environment-prompt-suffix.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-06-environment-prompt-suffix.md -2026-09-06-environment-prompt-suffix.md: 3438df0fec7b3296084c94b7db68d2800c6d6c98 -2026-09-06-environment-prompt-suffix.zh.md: 102d1196639ac7d7a754a24fc5a93bc93c1d05ba +/agent-note-environment-facts-follow-reusable-prompt-instructions: + en: 8677e5d20233627f + zh: 684772490164fbdf +/agent-note-environment-facts-follow-reusable-prompt-instructions/problem: + en: 7b20207cd4dc1583 + zh: ca5014aa437a5239 +/agent-note-environment-facts-follow-reusable-prompt-instructions/decision: + en: 0f28a61d659c0f4d + zh: d2ef431d15a54d57 +/agent-note-environment-facts-follow-reusable-prompt-instructions/alternatives-considered: + en: 9fb4ff8a8786ce2d + zh: 25820720365b489f +/agent-note-environment-facts-follow-reusable-prompt-instructions/consequences: + en: 212b29160c254854 + zh: e6a1ea253e8f7780 +/agent-note-environment-facts-follow-reusable-prompt-instructions/testing: + en: d5132186efc6afcd + zh: e5cc036c7c8ed68e diff --git a/.agents/notes/implemented/bug-fix/2026-09-06-windows-python-console-spawn-wait.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-06-windows-python-console-spawn-wait.i18n.yaml index 65ea0bac5e..be90b83299 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-06-windows-python-console-spawn-wait.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-06-windows-python-console-spawn-wait.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-06-windows-python-console-spawn-wait.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-06-windows-python-console-spawn-wait.md -2026-09-06-windows-python-console-spawn-wait.md: 036062bdf459e4cbb69a6c31d3160c78ec1fad4c -2026-09-06-windows-python-console-spawn-wait.zh.md: d0870be84066b885e1622438a9fbc277f56a6bcf +/agent-note-wait-for-the-windows-python-console-runtime: + en: 97ffbd17152279cc + zh: 9a223670f273471b +/agent-note-wait-for-the-windows-python-console-runtime/problem: + en: 26ea75714d6fbbea + zh: 49441436e362a868 +/agent-note-wait-for-the-windows-python-console-runtime/decision: + en: 6ef15038eb5e0786 + zh: 92e319fbb8133d52 +/agent-note-wait-for-the-windows-python-console-runtime/alternatives-considered: + en: 2cc100a4b8724d40 + zh: 6ba47c76f304a460 +/agent-note-wait-for-the-windows-python-console-runtime/consequences: + en: ec5c2a7082012ed5 + zh: 32027ea20bd32acf diff --git a/.agents/notes/implemented/bug-fix/2026-09-07-pi-ai-settings-catalog-recovery.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-07-pi-ai-settings-catalog-recovery.i18n.yaml index 43f6f3b14c..130a3812c0 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-07-pi-ai-settings-catalog-recovery.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-07-pi-ai-settings-catalog-recovery.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-07-pi-ai-settings-catalog-recovery.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-07-pi-ai-settings-catalog-recovery.md -2026-09-07-pi-ai-settings-catalog-recovery.md: 21fe532a491775ff875f6b9bcb000d917a95e13c -2026-09-07-pi-ai-settings-catalog-recovery.zh.md: 80bd0758e13b767671f4cec52ee3832c9250651f +/agent-note-repairable-pi-ai-settings-after-catalog-changes: + en: 69bf6edd0515636c + zh: cb5039a98dc8b736 +/agent-note-repairable-pi-ai-settings-after-catalog-changes/problem: + en: acc6a5afd829fde0 + zh: a2173b59b670efe2 +/agent-note-repairable-pi-ai-settings-after-catalog-changes/decision: + en: 37034d76d7542f46 + zh: a6423ba488fe272c +/agent-note-repairable-pi-ai-settings-after-catalog-changes/alternatives-considered: + en: 1dcabe193953fa1b + zh: 02263349cdbdc843 +/agent-note-repairable-pi-ai-settings-after-catalog-changes/consequences: + en: d2f89ce8cec55c6e + zh: 20fab7854366ae05 +/agent-note-repairable-pi-ai-settings-after-catalog-changes/testing: + en: 30c8172b88231251 + zh: 54aee9d1dffa8566 diff --git a/.agents/notes/implemented/bug-fix/2026-09-07-typert-package-local-forwarding-imports.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-07-typert-package-local-forwarding-imports.i18n.yaml index 71b7d891d1..53a10eeede 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-07-typert-package-local-forwarding-imports.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-07-typert-package-local-forwarding-imports.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-07-typert-package-local-forwarding-imports.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-07-typert-package-local-forwarding-imports.md -2026-09-07-typert-package-local-forwarding-imports.md: 33e4334edef732b9c498ad2397151bd9c2c16f1f -2026-09-07-typert-package-local-forwarding-imports.zh.md: ea4babdb4b58981fb16f499c7986279fa18dbc58 +/agent-note-follow-package-local-forwarding-modules-in-typert-references: + en: ebacf2fc1c764589 + zh: c14b1752a01b2775 +/agent-note-follow-package-local-forwarding-modules-in-typert-references/problem: + en: 0ed0703cdd876132 + zh: ab759d1a2137bdd8 +/agent-note-follow-package-local-forwarding-modules-in-typert-references/decision: + en: e828847b069ef3f8 + zh: 95e9425c02dd8215 +/agent-note-follow-package-local-forwarding-modules-in-typert-references/alternatives-considered: + en: 49a0984c31c2b993 + zh: fb6d093474130a75 +/agent-note-follow-package-local-forwarding-modules-in-typert-references/consequences: + en: 7e196e1cffcb31e1 + zh: 7d096507578c1731 diff --git a/.agents/notes/implemented/bug-fix/2026-09-07-win32-picker-foreground-alt-key.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-07-win32-picker-foreground-alt-key.i18n.yaml index 0a54d83ab9..6088c5898e 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-07-win32-picker-foreground-alt-key.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-07-win32-picker-foreground-alt-key.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-07-win32-picker-foreground-alt-key.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-07-win32-picker-foreground-alt-key.md -2026-09-07-win32-picker-foreground-alt-key.md: cd1bae56845c74bf8fb0b3c0e6b8e6bab8032daf -2026-09-07-win32-picker-foreground-alt-key.zh.md: 8cbacaee97892b2ba6feb3d0250212fa9d393376 +/agent-note-foreground-activation-for-the-win32-picker-via-a-synthesized-alt-press: + en: bbd08341a635d6a8 + zh: 94d4ea2412237630 +/agent-note-foreground-activation-for-the-win32-picker-via-a-synthesized-alt-press/problem: + en: b21a34182868057e + zh: 54cb143a2a11479b +/agent-note-foreground-activation-for-the-win32-picker-via-a-synthesized-alt-press/decision: + en: d4cff7cc9b5c9379 + zh: a8f3e238799a18ce +/agent-note-foreground-activation-for-the-win32-picker-via-a-synthesized-alt-press/alternatives-considered: + en: dd3491b3b760f330 + zh: 81ca7b6603379713 +/agent-note-foreground-activation-for-the-win32-picker-via-a-synthesized-alt-press/consequences: + en: 6e7c7c46cc48a95d + zh: bbed46fb61e53700 diff --git a/.agents/notes/implemented/bug-fix/2026-09-10-built-bundle-css-exemption.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-10-built-bundle-css-exemption.i18n.yaml index 4f985d74f7..7fc8e02b71 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-10-built-bundle-css-exemption.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-10-built-bundle-css-exemption.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-built-bundle-css-exemption.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-10-built-bundle-css-exemption.md -2026-09-10-built-bundle-css-exemption.md: e5a55689696f885b8ea9411a5b3a7598295fff35 -2026-09-10-built-bundle-css-exemption.zh.md: 1c1aab35df72497946b02bf2a7f67a2271c804e5 +/agent-note-built-bundle-exemption-for-a-failing-stylesheet: + en: 7eea80c07cea261d + zh: 936523023c0b527d +/agent-note-built-bundle-exemption-for-a-failing-stylesheet/problem: + en: ca5c97dd0ad51b66 + zh: 8491ee495b0c625e +/agent-note-built-bundle-exemption-for-a-failing-stylesheet/decision: + en: cd272aa1bfd34a14 + zh: d184be63053f73b8 +/agent-note-built-bundle-exemption-for-a-failing-stylesheet/alternatives-considered: + en: 7f0eb995b7f00d73 + zh: aaf7b18f7bb2c20d +/agent-note-built-bundle-exemption-for-a-failing-stylesheet/consequences: + en: 767857f0bbd93ca8 + zh: f49bf34e304a7dee diff --git a/.agents/notes/implemented/bug-fix/2026-09-10-deepseek-image-token-calculator-v41.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-10-deepseek-image-token-calculator-v41.i18n.yaml index 2ff4007876..f98968b567 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-10-deepseek-image-token-calculator-v41.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-10-deepseek-image-token-calculator-v41.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-deepseek-image-token-calculator-v41.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-10-deepseek-image-token-calculator-v41.md -2026-09-10-deepseek-image-token-calculator-v41.md: 668738221ebe3e634be7e4fe9d07c9627e0ceb4a -2026-09-10-deepseek-image-token-calculator-v41.zh.md: a483282c6da667c2b8e32accb091e065419d44fc +/agent-note-deepseek-image-token-estimator-on-the-v41-calculator: + en: 3e0b96f522d5e2c9 + zh: a05009e8f9cbe5d4 +/agent-note-deepseek-image-token-estimator-on-the-v41-calculator/problem: + en: c47a183a3192d1ae + zh: bbc157ff44423dd3 +/agent-note-deepseek-image-token-estimator-on-the-v41-calculator/decision: + en: 17f8c045d3222266 + zh: aead3e0de01980d9 +/agent-note-deepseek-image-token-estimator-on-the-v41-calculator/alternatives-considered: + en: 8f5bb52220ead193 + zh: f267fda075b19963 +/agent-note-deepseek-image-token-estimator-on-the-v41-calculator/consequences: + en: 0a41bb795e221c3f + zh: b4840b79c78691cf diff --git a/.agents/notes/implemented/bug-fix/2026-09-10-deepseek-v41-request-image-projection.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-10-deepseek-v41-request-image-projection.i18n.yaml index ece05b1229..eb27fa1ee7 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-10-deepseek-v41-request-image-projection.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-10-deepseek-v41-request-image-projection.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-deepseek-v41-request-image-projection.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-10-deepseek-v41-request-image-projection.md -2026-09-10-deepseek-v41-request-image-projection.md: 2bf7ac3f7f09ff7aea1067030f4474306d3f9a8e -2026-09-10-deepseek-v41-request-image-projection.zh.md: 4f0a8cfd3a71d54a54bf74d6819235ed7d0749f8 +/agent-note-deepseek-request-images-on-the-published-token-grid: + en: 67401dae42c79c06 + zh: 19ab8d82fec9ec25 +/agent-note-deepseek-request-images-on-the-published-token-grid/problem: + en: 3c86cfcbd6895dc5 + zh: 68cb8bd4c1ef2d24 +/agent-note-deepseek-request-images-on-the-published-token-grid/decision: + en: 0c1257b4fd77d7ad + zh: b1134f24c8f58ded +/agent-note-deepseek-request-images-on-the-published-token-grid/alternatives-considered: + en: c5d3470b62129fde + zh: 26c9abf1e4a4f49f +/agent-note-deepseek-request-images-on-the-published-token-grid/consequences: + en: 95bc8d0d09928dee + zh: 090292fa154e854f diff --git a/.agents/notes/implemented/bug-fix/2026-09-11-incremental-terminal-retention.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-11-incremental-terminal-retention.i18n.yaml index 29767853c0..aa5f93f3c7 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-11-incremental-terminal-retention.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-11-incremental-terminal-retention.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-11-incremental-terminal-retention.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-11-incremental-terminal-retention.md -2026-09-11-incremental-terminal-retention.md: 7e2507775bc39ed2599c2af1173f949bbf352145 -2026-09-11-incremental-terminal-retention.zh.md: 6c6fb95fa0c593ae2b7abb0007d5e7c6fc9f4e7d +/agent-note-incremental-terminal-retention: + en: b00300b3ace789da + zh: c267be719b3c8814 +/agent-note-incremental-terminal-retention/problem: + en: 0c3232a4a2429315 + zh: c6b3c6224bc9031d +/agent-note-incremental-terminal-retention/decision: + en: 43bb3c2d0d561231 + zh: 8dacb0720f28d490 +/agent-note-incremental-terminal-retention/measurement-design: + en: 925815f8ae326179 + zh: 188ee3f695ece8de +/agent-note-incremental-terminal-retention/measurement-design/local-reference-measurements: + en: a049c0a118648de7 + zh: 2c31044ff11b9029 +/agent-note-incremental-terminal-retention/alternatives-considered: + en: 0af1fcbc28320b5b + zh: 8e1cfc843821dd77 +/agent-note-incremental-terminal-retention/consequences: + en: c60008ba652dffd2 + zh: 3210329182096f39 diff --git a/.agents/notes/implemented/bug-fix/2026-09-12-linux-scope-direct-kill-settlement.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-12-linux-scope-direct-kill-settlement.i18n.yaml index d3c3388a18..192ea7ceec 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-12-linux-scope-direct-kill-settlement.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-12-linux-scope-direct-kill-settlement.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-12-linux-scope-direct-kill-settlement.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-12-linux-scope-direct-kill-settlement.md -2026-09-12-linux-scope-direct-kill-settlement.md: e89d8f801d6f7fb1309f50e0bc3dbad69aa797d0 -2026-09-12-linux-scope-direct-kill-settlement.zh.md: 7ab43107491ec24d5e39a62c401d245b61bb744d +/agent-note-join-direct-termination-before-rejecting-linux-scope-cleanup: + en: 6a72b66b6d0cf21b + zh: be432bfebb8e9919 +/agent-note-join-direct-termination-before-rejecting-linux-scope-cleanup/problem: + en: be042a28c1154171 + zh: 7b8356c9dcb159be +/agent-note-join-direct-termination-before-rejecting-linux-scope-cleanup/decision: + en: 75b071e48715ff29 + zh: 3f1d710f54ed3b1b +/agent-note-join-direct-termination-before-rejecting-linux-scope-cleanup/alternatives-considered: + en: ea3f33dd6c9bab88 + zh: 6f274fcd86b231a7 +/agent-note-join-direct-termination-before-rejecting-linux-scope-cleanup/consequences: + en: 4f7e7535b49b22fe + zh: 10447b3c42a341a2 diff --git a/.agents/notes/implemented/bug-fix/2026-09-13-partitioned-coverage-location-canonicalization.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-13-partitioned-coverage-location-canonicalization.i18n.yaml index 2f76639c0d..baae5ed39f 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-13-partitioned-coverage-location-canonicalization.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-13-partitioned-coverage-location-canonicalization.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-13-partitioned-coverage-location-canonicalization.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-13-partitioned-coverage-location-canonicalization.md -2026-09-13-partitioned-coverage-location-canonicalization.md: 54e5aaefe9551d1357f1c60201212873a1c7aef7 -2026-09-13-partitioned-coverage-location-canonicalization.zh.md: 1aa4b8de844a1f0e544d2bbb223641dbbfeff3da +/agent-note-canonicalize-partition-coverage-locations-before-the-blob-merge: + en: 9346bcf9fc59bea8 + zh: 170ebd969ac038bd +/agent-note-canonicalize-partition-coverage-locations-before-the-blob-merge/problem: + en: c2f8792fb6ec46d1 + zh: cc01e2e2ff14f367 +/agent-note-canonicalize-partition-coverage-locations-before-the-blob-merge/decision: + en: 07f37eb8430ef8ee + zh: bc2910040b90291c +/agent-note-canonicalize-partition-coverage-locations-before-the-blob-merge/divergent-statement-maps-across-vite-environments: + en: 4f6d088fd7e272fc + zh: d44463ee8485b060 +/agent-note-canonicalize-partition-coverage-locations-before-the-blob-merge/testing: + en: 59a8515f97eb4c63 + zh: 86d655d454da2c63 +/agent-note-canonicalize-partition-coverage-locations-before-the-blob-merge/alternatives-considered: + en: 8c7efd287cf0e56b + zh: 2ed0477918e10f4e +/agent-note-canonicalize-partition-coverage-locations-before-the-blob-merge/consequences: + en: c7a2e99922697cb6 + zh: 0c98a57b00263bf8 diff --git a/.agents/notes/implemented/bug-fix/2026-09-14-chat-presentation-defaults.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-14-chat-presentation-defaults.i18n.yaml index 9ce88177ba..e671a8aa27 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-14-chat-presentation-defaults.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-14-chat-presentation-defaults.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-14-chat-presentation-defaults.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-14-chat-presentation-defaults.md -2026-09-14-chat-presentation-defaults.md: 6703a14e2ad108c4b43dd50692a44c159cf3ea5a -2026-09-14-chat-presentation-defaults.zh.md: 67ca433339ecf6e44d3f74b6c3ff9e465f802b0b +/agent-note-keep-chat-presentation-independent-of-trajectory-inspection: + en: 72d5bc0911e0bc3f + zh: 1fc58f89bdc53b56 +/agent-note-keep-chat-presentation-independent-of-trajectory-inspection/problem: + en: 2102a58c1baafe54 + zh: 939872d86e013f94 +/agent-note-keep-chat-presentation-independent-of-trajectory-inspection/decision: + en: f77e394352fe8d8e + zh: 7c4c9b066874dc9b +/agent-note-keep-chat-presentation-independent-of-trajectory-inspection/alternatives-considered: + en: f4c1b9c9998e3355 + zh: f684e39ffabce5e6 +/agent-note-keep-chat-presentation-independent-of-trajectory-inspection/consequences: + en: bb15d68e46b10b8e + zh: 8506ab5775d04fe8 diff --git a/.agents/notes/implemented/bug-fix/2026-09-14-web-diff-context.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-14-web-diff-context.i18n.yaml index 286919457a..8a44818fd8 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-14-web-diff-context.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-14-web-diff-context.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-14-web-diff-context.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-14-web-diff-context.md -2026-09-14-web-diff-context.md: 072af0966689d475d7fdd1df83861fa847f3745f -2026-09-14-web-diff-context.zh.md: cd165a443451fc5ba580078b1b431a2788671dbe +/agent-note-web-diff-cards-compare-contextual-content: + en: 2dc5ae1577ba6173 + zh: 0b580f4e70eddc72 +/agent-note-web-diff-cards-compare-contextual-content/problem: + en: 73aa63782984835f + zh: 41982214968dcca8 +/agent-note-web-diff-cards-compare-contextual-content/decision: + en: d8c9e2af5843c87d + zh: 5487925fa1a66da8 +/agent-note-web-diff-cards-compare-contextual-content/alternatives-considered: + en: b5d00cc913db27c9 + zh: ef72c91cff5ebcce +/agent-note-web-diff-cards-compare-contextual-content/measurement: + en: 839be054edf51392 + zh: 3d2a51e634b39eb2 +/agent-note-web-diff-cards-compare-contextual-content/consequences: + en: 1900b6984a59765c + zh: 8f3755fcdf8f2562 diff --git a/.agents/notes/implemented/bug-fix/2026-09-14-windows-lock-release-probe.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-14-windows-lock-release-probe.i18n.yaml index d98d216298..4816998bc8 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-14-windows-lock-release-probe.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-14-windows-lock-release-probe.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-14-windows-lock-release-probe.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-14-windows-lock-release-probe.md -2026-09-14-windows-lock-release-probe.md: 76a21f655fc8c1b299e3507beffabfacde3ac0d9 -2026-09-14-windows-lock-release-probe.zh.md: 292203d3931225f0000d56cd5cb5d700ecb0bcc7 +/agent-note-windows-lock-release-before-contention-probing: + en: ec7e0474bd96df26 + zh: 20a70a6284cb0269 +/agent-note-windows-lock-release-before-contention-probing/problem: + en: cc9630ce8e232e8a + zh: 16f3541a58eac0ef +/agent-note-windows-lock-release-before-contention-probing/decision: + en: 9230417f2af237d4 + zh: 6fbef7a6d6e1e4d0 +/agent-note-windows-lock-release-before-contention-probing/alternatives-considered: + en: ba6d9e4c01c8f25b + zh: 8899bcf11d45b258 +/agent-note-windows-lock-release-before-contention-probing/consequences: + en: fc268a94ceeb3a96 + zh: b14be62df4a4bfad diff --git a/.agents/notes/implemented/bug-fix/2026-09-15-client-session-blank-reconciliation.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-15-client-session-blank-reconciliation.i18n.yaml index 154afe129e..196679568b 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-15-client-session-blank-reconciliation.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-15-client-session-blank-reconciliation.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-client-session-blank-reconciliation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-15-client-session-blank-reconciliation.md -2026-09-15-client-session-blank-reconciliation.md: 7213636e32702c4c51887adba3da019f49b8703c -2026-09-15-client-session-blank-reconciliation.zh.md: 4b50340fea668b6d850c1d00787dda3874b61e0c +/agent-note-keep-accepted-session-presentation-across-list-refreshes: + en: cb6cc54ba8dbdb04 + zh: 49155298ed676aa9 +/agent-note-keep-accepted-session-presentation-across-list-refreshes/problem: + en: 43f5cb3e859ff15c + zh: 6aaf24dbd90601ba +/agent-note-keep-accepted-session-presentation-across-list-refreshes/decision: + en: a96b274615d2b533 + zh: 1610d9bc4bddd29f +/agent-note-keep-accepted-session-presentation-across-list-refreshes/alternatives-considered: + en: c1d81465f7ae6906 + zh: 668641e19a3e5088 +/agent-note-keep-accepted-session-presentation-across-list-refreshes/consequences: + en: 488d87360f50c682 + zh: 68408e517189ac93 +/agent-note-keep-accepted-session-presentation-across-list-refreshes/verification: + en: 4c16904319ae2745 + zh: 06bf9126b7f504ec +/agent-note-keep-accepted-session-presentation-across-list-refreshes/related-decisions: + en: 99d6b7e450a8dc09 + zh: 46a6df4730514668 diff --git a/.agents/notes/implemented/bug-fix/2026-09-15-linear-session-list-cache.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-15-linear-session-list-cache.i18n.yaml index d3b6770fac..a4a8a32d4e 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-15-linear-session-list-cache.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-15-linear-session-list-cache.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-linear-session-list-cache.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-15-linear-session-list-cache.md -2026-09-15-linear-session-list-cache.md: fb09950f77c224d2b85bb76792bdf8c3c87e33f5 -2026-09-15-linear-session-list-cache.zh.md: b877f0659fff4e1b3d48aa4250e634120ddc365f +/agent-note-linear-session-list-cache-reconciliation: + en: 7b6289de90982e71 + zh: 0c020de607402bbd +/agent-note-linear-session-list-cache-reconciliation/problem: + en: b94ff168ba0310a8 + zh: 8d9fe4af8b047c86 +/agent-note-linear-session-list-cache-reconciliation/decision: + en: 1d85980590014837 + zh: 2e03befc8ac84f0e +/agent-note-linear-session-list-cache-reconciliation/alternatives-considered: + en: 2085e3ccec11084a + zh: 55f5f5156d03e20c +/agent-note-linear-session-list-cache-reconciliation/consequences: + en: 54f1788954da5704 + zh: dad3478c7f3b46f6 diff --git a/.agents/notes/implemented/bug-fix/2026-09-15-messages-v1-base-url.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-15-messages-v1-base-url.i18n.yaml index 106b30af30..312f8cf353 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-15-messages-v1-base-url.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-15-messages-v1-base-url.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-messages-v1-base-url.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-15-messages-v1-base-url.md -2026-09-15-messages-v1-base-url.md: d9014756eacd1752495bfecb52860634ece08ae1 -2026-09-15-messages-v1-base-url.zh.md: 8f5803e4bdc68195164e187d1aa8cd537f71c5d6 +/agent-note-exact-v1-recognition-for-messages-base-urls: + en: 8e65836ea970f866 + zh: 54ef0765d2c39be8 +/agent-note-exact-v1-recognition-for-messages-base-urls/problem: + en: d6d0baca328ce1cd + zh: 152d5c7793674ed2 +/agent-note-exact-v1-recognition-for-messages-base-urls/decision: + en: 037fe11400e2e666 + zh: 5941d8f7364e45b8 +/agent-note-exact-v1-recognition-for-messages-base-urls/alternatives-considered: + en: 5615cd72ec115068 + zh: 772d9a557d46c43d +/agent-note-exact-v1-recognition-for-messages-base-urls/consequences: + en: 90a3b42b98cf99e0 + zh: 50e45634f1bd5ecb diff --git a/.agents/notes/implemented/bug-fix/2026-09-15-trajectory-attachment-presentation.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-15-trajectory-attachment-presentation.i18n.yaml index cc6eb7ff26..da4262d0ea 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-15-trajectory-attachment-presentation.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-15-trajectory-attachment-presentation.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-trajectory-attachment-presentation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-15-trajectory-attachment-presentation.md -2026-09-15-trajectory-attachment-presentation.md: 03d737d67e626497bbcb957911b1578e0dadd5fb -2026-09-15-trajectory-attachment-presentation.zh.md: 55c63bf3d97de2e3e102e92730ce4d2637547d6b +/agent-note-consistent-trajectory-attachment-presentation: + en: 44651b6372b8e74e + zh: 8e1df22f6c969427 +/agent-note-consistent-trajectory-attachment-presentation/problem: + en: 3a02d475408db611 + zh: 49ef7f0e91917e13 +/agent-note-consistent-trajectory-attachment-presentation/decision: + en: 9a37a61d84813db3 + zh: 546cf3d1734289ee +/agent-note-consistent-trajectory-attachment-presentation/decision/ownership: + en: d453afd765988e76 + zh: eeb4c7d40fe578dc +/agent-note-consistent-trajectory-attachment-presentation/alternatives-considered: + en: f32a7ff301caf058 + zh: fbea3a171a300aef +/agent-note-consistent-trajectory-attachment-presentation/consequences: + en: da70caa5b98ac85d + zh: 52a5379c3adaa62f +/agent-note-consistent-trajectory-attachment-presentation/verification: + en: 145819ab133854c3 + zh: f9a440d57c12a257 diff --git a/.agents/notes/implemented/bug-fix/2026-09-16-desktop-window-menus.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-16-desktop-window-menus.i18n.yaml index 9c2cdd061a..c17e77792b 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-16-desktop-window-menus.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-16-desktop-window-menus.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-desktop-window-menus.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-16-desktop-window-menus.md -2026-09-16-desktop-window-menus.md: 8a5343404e0cb3d2e7c4e20248a8b29f3bfbec47 -2026-09-16-desktop-window-menus.zh.md: d6ee6412462aecf49557a7994a683d37bf8e7253 +/agent-note-desktop-standard-macos-window-menus: + en: 7a3fc575043bc839 + zh: 5ab70cfa35509b3e +/agent-note-desktop-standard-macos-window-menus/problem: + en: 75c201a0a687b59d + zh: 34593038f673d06f +/agent-note-desktop-standard-macos-window-menus/decision: + en: ea0310537d0251d9 + zh: daf3f8a745bb2872 +/agent-note-desktop-standard-macos-window-menus/alternatives-considered: + en: e2d3ed82f6247910 + zh: 7e449d21f0601f65 +/agent-note-desktop-standard-macos-window-menus/consequences: + en: 54527f9422525fb8 + zh: 285fd6ffda5ff4fd +/agent-note-desktop-standard-macos-window-menus/testing: + en: 0c05c0044532f891 + zh: cff254b44b3c7a2d diff --git a/.agents/notes/implemented/bug-fix/2026-09-16-messages-historical-tool-input.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-16-messages-historical-tool-input.i18n.yaml index e6974943f5..d0f3da21b3 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-16-messages-historical-tool-input.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-16-messages-historical-tool-input.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-messages-historical-tool-input.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-16-messages-historical-tool-input.md -2026-09-16-messages-historical-tool-input.md: 85e4047bb5274eb7c7adb458d564e1268d4ea81e -2026-09-16-messages-historical-tool-input.zh.md: 5a8c31dbee32094f124102ccac9ffb7b8b81b177 +/agent-note-replay-malformed-historical-tool-input-through-messages: + en: 88cdfca30918b47f + zh: 1203d380805f81e4 +/agent-note-replay-malformed-historical-tool-input-through-messages/problem: + en: b9f848905bb31969 + zh: 7c56aab1a15cfc85 +/agent-note-replay-malformed-historical-tool-input-through-messages/decision: + en: ee7c586820c28e54 + zh: fced4d6c50c7d227 +/agent-note-replay-malformed-historical-tool-input-through-messages/alternatives-considered: + en: c7d7275282a83780 + zh: c0c570f156ac546f +/agent-note-replay-malformed-historical-tool-input-through-messages/consequences: + en: 4d1447eb8ea0f7f4 + zh: cf232f6bb1d60d4e diff --git a/.agents/notes/implemented/bug-fix/2026-09-16-present-delayed-windows-installer.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-16-present-delayed-windows-installer.i18n.yaml index f8d7bd6adf..e64fb33fd5 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-16-present-delayed-windows-installer.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-16-present-delayed-windows-installer.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-present-delayed-windows-installer.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-16-present-delayed-windows-installer.md -2026-09-16-present-delayed-windows-installer.md: d4ffcfdc1183bbc414cfdd82595053c959a9975c -2026-09-16-present-delayed-windows-installer.zh.md: bf97ed8a4f6c7184d1e048c21f7975c90fb4a9cb +/agent-note-present-delayed-windows-installer: + en: 4451eeb66010bc3d + zh: 7b5e60d779a9eb41 +/agent-note-present-delayed-windows-installer/problem: + en: 7835e64ac8ea1825 + zh: aac3b323204b08b9 +/agent-note-present-delayed-windows-installer/decision: + en: adea34850b8df240 + zh: da68a90a4144092f +/agent-note-present-delayed-windows-installer/alternatives-considered: + en: 66f936fe39452162 + zh: 4d0e192fb37afffe +/agent-note-present-delayed-windows-installer/consequences: + en: 6431f3c88199ecaf + zh: 9f30f647fdab4e64 diff --git a/.agents/notes/implemented/bug-fix/2026-09-16-session-writer-held-feedback.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-16-session-writer-held-feedback.i18n.yaml index 61b6c1c780..3d896f268f 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-16-session-writer-held-feedback.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-16-session-writer-held-feedback.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-session-writer-held-feedback.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-16-session-writer-held-feedback.md -2026-09-16-session-writer-held-feedback.md: 922987996c4abd32857cd0f54cec4394566cf97f -2026-09-16-session-writer-held-feedback.zh.md: 6a1aa7993a8f36c50cb5fed0180d6523af44c177 +/agent-note-session-writer-contention-feedback: + en: 31fc83d11f79fbac + zh: ec2e62f56a83ff3c +/agent-note-session-writer-contention-feedback/problem: + en: ce6f2ed854986c2a + zh: 74b28d3282f610e8 +/agent-note-session-writer-contention-feedback/decision: + en: a2c50e7614d183fd + zh: c4057682bc25cb23 +/agent-note-session-writer-contention-feedback/alternatives-considered: + en: 43f74d015db77ab1 + zh: 38c7ffda0a33ecac +/agent-note-session-writer-contention-feedback/consequences: + en: 230c23cceae0ad46 + zh: 8ec04813b825b509 diff --git a/.agents/notes/implemented/bug-fix/2026-09-16-windows-subprocess-console-visibility.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-16-windows-subprocess-console-visibility.i18n.yaml index b6d4fe5084..879cde4ff0 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-16-windows-subprocess-console-visibility.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-16-windows-subprocess-console-visibility.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-windows-subprocess-console-visibility.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-16-windows-subprocess-console-visibility.md -2026-09-16-windows-subprocess-console-visibility.md: 281525e960b049d5871cde9f5da5c8f928654440 -2026-09-16-windows-subprocess-console-visibility.zh.md: 04abf7154b4b384ca521b9d232c7dfb398f5ed99 +/agent-note-hide-windows-subprocess-console-windows-at-creation: + en: be47c56d2dd977d1 + zh: 3ab8a9a18e7f545d +/agent-note-hide-windows-subprocess-console-windows-at-creation/problem: + en: b76c3b25b8616076 + zh: d14facfdf3948bc4 +/agent-note-hide-windows-subprocess-console-windows-at-creation/decision: + en: 56b951a948c6d007 + zh: 301031638a642517 +/agent-note-hide-windows-subprocess-console-windows-at-creation/alternatives-considered: + en: 9dcf5702a5032d69 + zh: 493c2709d441d52c +/agent-note-hide-windows-subprocess-console-windows-at-creation/consequences: + en: 0bfe83068c6fe3ee + zh: 2bdc9eb64c6f7b66 diff --git a/.agents/notes/implemented/bug-fix/2026-09-17-multiline-display-dollar-math.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-17-multiline-display-dollar-math.i18n.yaml index 632151646e..e17980cb32 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-17-multiline-display-dollar-math.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-17-multiline-display-dollar-math.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-multiline-display-dollar-math.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-17-multiline-display-dollar-math.md -2026-09-17-multiline-display-dollar-math.md: 03628953148f157a15447b7e83fea9525c5e3149 -2026-09-17-multiline-display-dollar-math.zh.md: ed0ef3f46a2b5232f7c585175dcad4de6ebb9974 +/agent-note-multi-line-display-dollar-math: + en: 8f57c77aa43fbd6c + zh: ef5192184e4923d5 +/agent-note-multi-line-display-dollar-math/problem: + en: e4b73644a982844c + zh: 48f86358242d6ccc +/agent-note-multi-line-display-dollar-math/decision: + en: d6b136b1f62285b7 + zh: aba323bfdb800162 +/agent-note-multi-line-display-dollar-math/alternatives-considered: + en: e0833b5674e648e7 + zh: b0472020b07099b9 +/agent-note-multi-line-display-dollar-math/consequences: + en: 70f16597bd640e93 + zh: 0e0c9005f331e514 +/agent-note-multi-line-display-dollar-math/testing: + en: f17a1453df91ce88 + zh: 4f15be0139e8b694 diff --git a/.agents/notes/implemented/bug-fix/2026-09-17-thinking-markdown.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-17-thinking-markdown.i18n.yaml index 6377a233cb..9290c75e26 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-17-thinking-markdown.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-17-thinking-markdown.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-thinking-markdown.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-17-thinking-markdown.md -2026-09-17-thinking-markdown.md: 6990fc6277d7d1c0a088a50cfb88694b2d9c55c7 -2026-09-17-thinking-markdown.zh.md: 963626088e50a44bcf76c7fc7ec3653e93fcd2c9 +/agent-note-compact-markdown-for-thinking: + en: 2b71ec7a5294e982 + zh: 0c33248c5d07ec74 +/agent-note-compact-markdown-for-thinking/problem: + en: c14bd1618741736a + zh: dc1fff84736cb4f7 +/agent-note-compact-markdown-for-thinking/decision: + en: adb4f711ecf2011a + zh: 791f7bf3b8d23458 +/agent-note-compact-markdown-for-thinking/alternatives-considered: + en: d5bf82e0de012900 + zh: a639fd02e00b5d09 +/agent-note-compact-markdown-for-thinking/consequences: + en: d69b13246a34047c + zh: 4c1a6520053261ef diff --git a/.agents/notes/implemented/bug-fix/2026-09-18-messages-input-history-compatibility.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-18-messages-input-history-compatibility.i18n.yaml index 259613bc28..4d97265632 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-18-messages-input-history-compatibility.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-18-messages-input-history-compatibility.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-18-messages-input-history-compatibility.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-18-messages-input-history-compatibility.md -2026-09-18-messages-input-history-compatibility.md: dd974fb1ae883716002a1381f4c374dee792b3b3 -2026-09-18-messages-input-history-compatibility.zh.md: 6e850328db63d5ae5cb508aa3529e9f2507182b0 +/agent-note-replay-assistant-blocks-in-messages-user-input: + en: 2928aedee63465ba + zh: 0492dcc6604e2292 +/agent-note-replay-assistant-blocks-in-messages-user-input/problem: + en: d42b7147df73f498 + zh: f77ef429363c2da8 +/agent-note-replay-assistant-blocks-in-messages-user-input/decision: + en: 0b5629b321be7181 + zh: 3449958cde376d59 +/agent-note-replay-assistant-blocks-in-messages-user-input/alternatives-considered: + en: 3801041c0f9c4d8a + zh: 71d80b08183e8b30 +/agent-note-replay-assistant-blocks-in-messages-user-input/consequences: + en: c1770c7aa4097c42 + zh: 80ab7f2b66408ad7 diff --git a/.agents/notes/implemented/bug-fix/2026-09-19-declared-session-attachment-carriers.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-19-declared-session-attachment-carriers.i18n.yaml index a49e4b2351..a1c2b57fdb 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-19-declared-session-attachment-carriers.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-19-declared-session-attachment-carriers.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-declared-session-attachment-carriers.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-19-declared-session-attachment-carriers.md -2026-09-19-declared-session-attachment-carriers.md: 1619624800dc5e1ee8d6a4f4b64b84a6c80078c2 -2026-09-19-declared-session-attachment-carriers.zh.md: bd66b1c80469e2adbd7becc1b015d390978becc6 +/agent-note-declared-session-attachment-carriers: + en: ec696589b6d29694 + zh: fca0e8292a840d47 +/agent-note-declared-session-attachment-carriers/problem: + en: 2c3544ea223fd86c + zh: fee865c0ce374115 +/agent-note-declared-session-attachment-carriers/decision: + en: 7538fa848fbbeff8 + zh: 6fd10f3683cadef0 +/agent-note-declared-session-attachment-carriers/alternatives-considered: + en: 3307cfd109d19377 + zh: a0051b257807e6d0 +/agent-note-declared-session-attachment-carriers/consequences: + en: 9d028f075b96f121 + zh: c5da5f89f7b75efc +/agent-note-declared-session-attachment-carriers/verification: + en: f297ee8e56e7e69e + zh: e6bc44cb7711b778 diff --git a/.agents/notes/implemented/bug-fix/2026-09-19-session-local-subagent-migration.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-19-session-local-subagent-migration.i18n.yaml index e2f0f66dda..5618368313 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-19-session-local-subagent-migration.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-19-session-local-subagent-migration.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-session-local-subagent-migration.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-19-session-local-subagent-migration.md -2026-09-19-session-local-subagent-migration.md: 26911ea6e2cb31126d13e4c8c6488ff3b45563e6 -2026-09-19-session-local-subagent-migration.zh.md: 673040a3dc73d3665e42013a4704ef2d5911b23d +/agent-note-complete-parent-catalogs-without-migrating-child-catalogs: + en: 352c234841bc0905 + zh: 89be7b695aec5931 +/agent-note-complete-parent-catalogs-without-migrating-child-catalogs/problem: + en: 5ca0c3232895a9dd + zh: cb89e5464d4a5f99 +/agent-note-complete-parent-catalogs-without-migrating-child-catalogs/decision: + en: 7a368a5ad8dc3e0c + zh: 11ca2af33de30d8f +/agent-note-complete-parent-catalogs-without-migrating-child-catalogs/alternatives-considered: + en: 7272107ab68ceefd + zh: 8b8bba44c9e0c402 +/agent-note-complete-parent-catalogs-without-migrating-child-catalogs/consequences: + en: 7caecc8516419375 + zh: cc966c325896737d diff --git a/.agents/notes/implemented/bug-fix/2026-09-19-v3-incomplete-child-catalog-evidence.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-19-v3-incomplete-child-catalog-evidence.i18n.yaml index bf6d6c2fd0..3b1c733004 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-19-v3-incomplete-child-catalog-evidence.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-19-v3-incomplete-child-catalog-evidence.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-v3-incomplete-child-catalog-evidence.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-19-v3-incomplete-child-catalog-evidence.md -2026-09-19-v3-incomplete-child-catalog-evidence.md: 400a84f376a7babc0a95492ca33a3bcd0761cd79 -2026-09-19-v3-incomplete-child-catalog-evidence.zh.md: 535951630bc600647724d50107e74e83ab626739 +/agent-note-preserve-v3-sessions-with-incomplete-child-catalog-evidence: + en: ff7fbd846f8edf2f + zh: 8f4703ea0b0d7cc9 +/agent-note-preserve-v3-sessions-with-incomplete-child-catalog-evidence/problem: + en: a5d524599f02e77f + zh: b79687f999f4024c +/agent-note-preserve-v3-sessions-with-incomplete-child-catalog-evidence/decision: + en: cfd781300b663010 + zh: 6f7865d5619a1e52 +/agent-note-preserve-v3-sessions-with-incomplete-child-catalog-evidence/alternatives-considered: + en: b7ce0d1b6b280d7f + zh: 3deeaef73a3a7856 +/agent-note-preserve-v3-sessions-with-incomplete-child-catalog-evidence/consequences: + en: 9f8b6446f6cdea60 + zh: d0a07674bf8434c4 diff --git a/.agents/notes/implemented/bug-fix/2026-09-20-session-open-read-coordination.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-20-session-open-read-coordination.i18n.yaml index 802ab740bd..1ca3737cda 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-20-session-open-read-coordination.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-20-session-open-read-coordination.i18n.yaml @@ -1,6 +1,37 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-20-session-open-read-coordination.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-20-session-open-read-coordination.md -2026-09-20-session-open-read-coordination.md: a4907df1d7dd38e4c532c38fb6ff10362a4a3898 -2026-09-20-session-open-read-coordination.zh.md: 759a45d8c52a62ea7a0b30ceed4003f8804a42c3 +/agent-note-session-opening-cache-identity-and-read-ordering: + en: 1ea618d07f8d8f28 + zh: 25332949ef7af87e +/agent-note-session-opening-cache-identity-and-read-ordering/problem: + en: 490984caf5af4323 + zh: 273ac6284e1ff67f +/agent-note-session-opening-cache-identity-and-read-ordering/decision: + en: a15c7c13f167e5ac + zh: 63bcc2ef60c2f344 +/agent-note-session-opening-cache-identity-and-read-ordering/decision/identify-the-cache-producer-with-a-service-owned-symbol: + en: 56bec761deb63aad + zh: 8b16c2b7582aeb3f +/agent-note-session-opening-cache-identity-and-read-ordering/decision/auxiliary-rpcs-wait-for-the-current-conversation-s-initial-open-to-succeed: + en: 3a09e82c1fb032e4 + zh: c1ef33b75ab0e734 +/agent-note-session-opening-cache-identity-and-read-ordering/decision/conversations-use-follow-catalog-branches-retain-explicit-reads: + en: 181653d75354df80 + zh: 7984321c5a2715d5 +/agent-note-session-opening-cache-identity-and-read-ordering/implementation-scope: + en: 84310b075ac5537b + zh: 6bf16dbf06353a39 +/agent-note-session-opening-cache-identity-and-read-ordering/alternatives-considered: + en: 7d64c8151ffef2a0 + zh: b899a22f4d070a78 +/agent-note-session-opening-cache-identity-and-read-ordering/consequences: + en: 51a45af1622d7e4d + zh: f33fecfa0f889af7 +/agent-note-session-opening-cache-identity-and-read-ordering/verification-and-known-gaps: + en: 13437882143e2025 + zh: 586bcd68eaa03969 +/agent-note-session-opening-cache-identity-and-read-ordering/relationship-to-existing-records: + en: 8b479aee5c808180 + zh: aa0220e664f9e9a6 diff --git a/.agents/notes/implemented/bug-fix/2026-09-20-windows-embedded-mandatory-update.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-20-windows-embedded-mandatory-update.i18n.yaml index 259202f1a0..48e79b967c 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-20-windows-embedded-mandatory-update.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-20-windows-embedded-mandatory-update.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-20-windows-embedded-mandatory-update.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-20-windows-embedded-mandatory-update.md -2026-09-20-windows-embedded-mandatory-update.md: 99577a4d85adc3fe13ea0ae262d5aa1af6128237 -2026-09-20-windows-embedded-mandatory-update.zh.md: abe4a9577d8e11d8de2089dc53ef07433e10bbdb +/agent-note-windows-embedded-mandatory-update: + en: fb52005dc1f55b5d + zh: dda7e46555da6d03 +/agent-note-windows-embedded-mandatory-update/problem: + en: df8f2127905913d7 + zh: 64d27253ce39e031 +/agent-note-windows-embedded-mandatory-update/decision: + en: f238482836ae80da + zh: df856cba1b715056 +/agent-note-windows-embedded-mandatory-update/alternatives-considered: + en: 9564f979909f0743 + zh: 6730e42a123b707a +/agent-note-windows-embedded-mandatory-update/consequences: + en: 64cd6585a98f01cd + zh: 8bca9eb88aa55d8e diff --git a/.agents/notes/implemented/bug-fix/2026-09-21-multimodal-tool-result-retention.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-21-multimodal-tool-result-retention.i18n.yaml index 78d945e72c..82aabefd0d 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-21-multimodal-tool-result-retention.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-21-multimodal-tool-result-retention.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-21-multimodal-tool-result-retention.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-21-multimodal-tool-result-retention.md -2026-09-21-multimodal-tool-result-retention.md: 41470724911d3086878d206f82c76ad9a4993146 -2026-09-21-multimodal-tool-result-retention.zh.md: 8e6d4953f7380d45235ac13f9f245e2e005f1abf +/agent-note-multimodal-tool-result-retention: + en: aa04c4148785f8ca + zh: b08c44c8484ea5d2 +/agent-note-multimodal-tool-result-retention/problem: + en: 9e8765ea40441f36 + zh: 3ca2616499d3c9fc +/agent-note-multimodal-tool-result-retention/decision: + en: a65eeedad585fc4b + zh: 82aae7ef0148282b +/agent-note-multimodal-tool-result-retention/alternatives-considered: + en: c670e96a46c93540 + zh: efccc4d3423e5ac0 +/agent-note-multimodal-tool-result-retention/consequences: + en: 7fdf51600bb0ffd7 + zh: 0ad7f06887b1c859 diff --git a/.agents/notes/implemented/bug-fix/2026-09-21-persistent-pwsh-keeps-controlled-prompt.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-21-persistent-pwsh-keeps-controlled-prompt.i18n.yaml index 4f16b7775b..48e34b2079 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-21-persistent-pwsh-keeps-controlled-prompt.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-21-persistent-pwsh-keeps-controlled-prompt.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-21-persistent-pwsh-keeps-controlled-prompt.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-21-persistent-pwsh-keeps-controlled-prompt.md -2026-09-21-persistent-pwsh-keeps-controlled-prompt.md: 3fd42b77d4536215f34c32643526dbb03d21674f -2026-09-21-persistent-pwsh-keeps-controlled-prompt.zh.md: 88d4e2deef26af4ad92ef4a69d8ae17403027f70 +/agent-note-persistent-pwsh-keeps-the-backend-s-controlled-prompt: + en: 78c6e7e3340581dc + zh: 64e16ab608caa610 +/agent-note-persistent-pwsh-keeps-the-backend-s-controlled-prompt/problem: + en: 0cd51c293e96d9eb + zh: 6eb89ee3f1b7a851 +/agent-note-persistent-pwsh-keeps-the-backend-s-controlled-prompt/decision: + en: edd5cbb51ddad62f + zh: d7c41f09a9453992 +/agent-note-persistent-pwsh-keeps-the-backend-s-controlled-prompt/alternatives-considered: + en: a3920fa51dd5ac79 + zh: 29c3f8364f64115e +/agent-note-persistent-pwsh-keeps-the-backend-s-controlled-prompt/consequences: + en: d43b72fb5aa0c6da + zh: c4c9a27d5c7c6338 diff --git a/.agents/notes/implemented/bug-fix/2026-09-22-chat-scroll-follow-and-footer-geometry.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-22-chat-scroll-follow-and-footer-geometry.i18n.yaml index ceb40894c4..e10cbc61b1 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-22-chat-scroll-follow-and-footer-geometry.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-22-chat-scroll-follow-and-footer-geometry.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-22-chat-scroll-follow-and-footer-geometry.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-22-chat-scroll-follow-and-footer-geometry.md -2026-09-22-chat-scroll-follow-and-footer-geometry.md: 56cd1681eef23162df2595a138545ade25e34212 -2026-09-22-chat-scroll-follow-and-footer-geometry.zh.md: 9979688d52373ae7a64a3f4fc22b932b43091b34 +/agent-note-separate-chat-clipping-and-independent-follow-intent: + en: a95aae5eecac228c + zh: 01b7df574c3d010f +/agent-note-separate-chat-clipping-and-independent-follow-intent/problem: + en: 8e4310ee05cf535c + zh: bd57ba36ebe8c201 +/agent-note-separate-chat-clipping-and-independent-follow-intent/decision: + en: afe3cf3bb5a92039 + zh: bb11f9f4bcd8f329 +/agent-note-separate-chat-clipping-and-independent-follow-intent/alternatives-considered: + en: 014e7974ce1cadae + zh: 63c1743c598413e4 +/agent-note-separate-chat-clipping-and-independent-follow-intent/verification: + en: 235dc4e251fa8124 + zh: 2c08ab5e14213b54 +/agent-note-separate-chat-clipping-and-independent-follow-intent/consequences: + en: aa1367b399806ab7 + zh: f98a8b416d9a70c8 diff --git a/.agents/notes/implemented/bug-fix/2026-09-22-input-echo-admission-ownership.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-22-input-echo-admission-ownership.i18n.yaml index 6ba4b3a015..6f58c8d30c 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-22-input-echo-admission-ownership.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-22-input-echo-admission-ownership.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-22-input-echo-admission-ownership.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-22-input-echo-admission-ownership.md -2026-09-22-input-echo-admission-ownership.md: 227857bd8168aa1d7f51b621737c2ed0ab572632 -2026-09-22-input-echo-admission-ownership.zh.md: 1d64de220a3c6d5c9357770175c79266b8f9f063 +/agent-note-input-echoes-retain-display-ownership-through-admission: + en: 987905631fdf4244 + zh: 2b2a1db249903717 +/agent-note-input-echoes-retain-display-ownership-through-admission/problem: + en: a56f673056a7d913 + zh: a06acdb9f3e1afd3 +/agent-note-input-echoes-retain-display-ownership-through-admission/decision: + en: b570ae20a428f554 + zh: b3cf1ebc56fbe78c +/agent-note-input-echoes-retain-display-ownership-through-admission/alternatives-considered: + en: 9ee59841301a61f4 + zh: 7ad35e485294dce1 +/agent-note-input-echoes-retain-display-ownership-through-admission/verification: + en: a1373e299a536929 + zh: 13405143c3bb9331 +/agent-note-input-echoes-retain-display-ownership-through-admission/consequences: + en: 027d6bae744c47e0 + zh: c9f397bc631298b9 diff --git a/.agents/notes/implemented/bug-fix/2026-09-22-windows-open-through-shell-resolution.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-22-windows-open-through-shell-resolution.i18n.yaml index 420cb47036..3a1ef4f137 100644 --- a/.agents/notes/implemented/bug-fix/2026-09-22-windows-open-through-shell-resolution.i18n.yaml +++ b/.agents/notes/implemented/bug-fix/2026-09-22-windows-open-through-shell-resolution.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-22-windows-open-through-shell-resolution.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-22-windows-open-through-shell-resolution.md -2026-09-22-windows-open-through-shell-resolution.md: 7bfe559e7f26b96fa37d3bbed44f0403d4e51b59 -2026-09-22-windows-open-through-shell-resolution.zh.md: ff33455da1653f9d24f9ddcc21c1594e8875bb5e +/agent-note-windows-opens-go-through-explorer-exe: + en: 315c5e87180365ba + zh: 4bc29f09bb3900d3 +/agent-note-windows-opens-go-through-explorer-exe/problem: + en: bc2c92e4247ea71e + zh: ca20fdeccc58e883 +/agent-note-windows-opens-go-through-explorer-exe/decision: + en: 4cf76bcb52a7beef + zh: a55a5bd9a4b85063 +/agent-note-windows-opens-go-through-explorer-exe/alternatives-considered: + en: 64712f720fca44a1 + zh: aad98e46f0c7a6bb +/agent-note-windows-opens-go-through-explorer-exe/consequences: + en: d06af93b608037c9 + zh: 38b1a4c840b0ce51 +/agent-note-windows-opens-go-through-explorer-exe/verification: + en: c7ff7cb42072737c + zh: 9bbf5ff6596938a0 diff --git a/.agents/notes/implemented/bug-fix/2026-09-23-bounded-pnpm-runs.i18n.yaml b/.agents/notes/implemented/bug-fix/2026-09-23-bounded-pnpm-runs.i18n.yaml new file mode 100644 index 0000000000..1978750d50 --- /dev/null +++ b/.agents/notes/implemented/bug-fix/2026-09-23-bounded-pnpm-runs.i18n.yaml @@ -0,0 +1,28 @@ +# Bilingual-pair consistency record for 2026-09-23-bounded-pnpm-runs.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: +# pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-09-23-bounded-pnpm-runs.md +/agent-note-bounding-a-pnpm-run-that-stops-progressing: + en: c2bd52dec2a41d84 + zh: 80dae83761a09a60 +/agent-note-bounding-a-pnpm-run-that-stops-progressing/problem: + en: 227a287fe7127eae + zh: 5d7eae54a4a75f8c +/agent-note-bounding-a-pnpm-run-that-stops-progressing/decision: + en: 6a574e5b6d536b5b + zh: 92a9bb15d983e7db +/agent-note-bounding-a-pnpm-run-that-stops-progressing/why-a-silence-bound-rather-than-a-duration-bound: + en: 31287e4e71e7f10f + zh: ff57c96539d51972 +/agent-note-bounding-a-pnpm-run-that-stops-progressing/alternatives-considered: + en: 125710ae84911ed4 + zh: 5f35dbcda4447bea +/agent-note-bounding-a-pnpm-run-that-stops-progressing/testing: + en: eb3c4907aec48db3 + zh: 56b7168b732c782a +/agent-note-bounding-a-pnpm-run-that-stops-progressing/related: + en: a9c6d0a071ea9834 + zh: 0702183c645d03b9 +/agent-note-bounding-a-pnpm-run-that-stops-progressing/consequences: + en: c13a64cd3dd381e9 + zh: 83d2db47153e3d8c diff --git a/.agents/notes/implemented/bug-fix/2026-09-23-bounded-pnpm-runs.md b/.agents/notes/implemented/bug-fix/2026-09-23-bounded-pnpm-runs.md new file mode 100644 index 0000000000..7ce6b1776e --- /dev/null +++ b/.agents/notes/implemented/bug-fix/2026-09-23-bounded-pnpm-runs.md @@ -0,0 +1,59 @@ +# Agent Note: Bounding a pnpm run that stops progressing + +Status: implemented + +English | [中文](2026-09-23-bounded-pnpm-runs.zh.md) + +## Problem + +A profile package operation could hold the profile write lock forever. A `dsh web` process held `~/.dsh/profiles/web/package.json.lock` for 22 minutes after its pnpm child printed `Done in 2s`: that child never exited, so the operation awaited an end that never came, the lock was never released, and every later management call in the process queued behind it. pnpm 11.13.0 consumes its one-shot worker-pool teardown once, re-creates the pool lazily afterwards, and unreferences a worker only during destruction, so the pool keeps the parent process alive with no repository-side change able to fix it. + +A second cause reaches the same end by another route: a lifecycle script that inherited pnpm's stdout and stderr keeps those pipes open after pnpm exits, so a reader waiting for end of file never sees one, and the lock stays held while that reader waits. + +## Decision + +- A run completes when its process exits, not when its pipes end. The operation awaits the raw child's `exit` event and races execa's promise, which resolves only once the piped stdio closes. +- The pipes then drain under a fixed 2000 ms grace period, after which this operation closes them. Failure classification reads a tail pnpm writes before it exits, so the grace period belongs to finishing a run rather than to deployment configuration. +- Only the close this drain causes is ignored. A reading that failed before the cut still surfaces as the run's failure, and the log records that the tail was cut short. +- A run whose captured output stays silent for `idleTimeoutMs` is terminated, reports `timedOut` beside its own exit status, and is not asked of the next registry, which bounds how long one operation can hold the lock. +- A terminated run is classified `timeout` whatever exit status the signal left behind. Installation and removal report failure instead of success, so a manifest pnpm had half written is restored rather than activated. +- A terminated run stops its whole process tree and waits for it to disappear before the caller restores the profile and releases the lock, because an approved lifecycle script runs as a child of pnpm and outlives it. execa's `killDescendants` addresses the tree on every kill path, including cancellation, and is passed only for a captured run, so a run that inherits the terminal keeps the caller's process group. +- `dsh plugin` inherits the caller's terminal and captures nothing, so no silence bound applies to it and its operator keeps the ability to interrupt. + +## Why a silence bound rather than a duration bound + +A capture-only run that prints nothing for ten minutes is stuck: pnpm reports its own progress and its scripts' output there. A total duration bound would instead kill legitimate work, because a non-TTY pnpm prints a build script's output when that script finishes, and a native build on a slow machine compiles silently for longer than any fixed budget we could justify for it. Silence separates a stalled run from a slow one without guessing a duration, and 600000 ms leaves an approved build ten times the slowest silent stretch maintainers expect from it. + +## Alternatives considered + +**Wait for execa's promise.** execa resolves after the piped stdio ends, which is the end a held pipe withholds, so the completion signal had to move to the process itself. + +**Bound total duration instead of silence.** A stalled run and a compiling run are indistinguishable by duration alone, and the bound would destroy legitimate work whenever the machine is slow enough. + +**Terminate only the pnpm process.** An approved `postinstall` keeps writing into the profile after the operation reports a timeout and releases the lock, so a later restoration races that script. Reproduced with a local dependency whose postinstall writes a file, and with pnpm 11.13.0. + +**Detach the run and reap the tree later.** Rollback and lock release must happen after the tree stopped writing, and deferring the reap leaves open exactly the window this decision closes. + +**Keep the pipes as the completion signal and bound only that wait.** The drain does bound the wait, but a stalled worker pool never ends its pipes, so the process exit remains the completion signal. + +## Testing + +| Evidence | Behaviour | +|---|---| +| [operations.spec.ts](../../../../packages/boot/plugin-manager/tests/operations.spec.ts) | Silence-bound termination, a run that trapped the signal and exited 0, the bounded drain over a held pipe, a reading failure that still surfaces through the cut, a rejection reason that is not an Error, and the cut notice. | +| [operations-process.spec.ts](../../../../packages/boot/plugin-manager/tests/operations-process.spec.ts) | Real descendants: a pipe that outlives its process still drains, and a stalled run's tree is stopped before the operation returns, so a marker its script would have written never appears. | +| [run-tree.spec.ts](../../../../packages/boot/plugin-manager/tests/run-tree.spec.ts) | Platform group-leadership decisions, the probe target each platform addresses, and the wait bound. | +| [manager.spec.ts](../../../../packages/boot/plugin-manager/tests/manager.spec.ts) | A terminated run that exited 0 restores the manifest, reports `timeout`, and is not activated; a terminated removal reports failure. | + +The real-process cases cover POSIX only: Windows cannot stage a descendant that keeps inherited pipes open past its parent, and the drain itself is platform-independent. With those cases skipped, the mocked cases still hold the per-file coverage gate on Windows. + +## Related + +[Guided plugin installation](../architecture/2026-09-15-guided-plugin-installation.md) remains the owner of what an installation or removal does with a finished run: the manifest snapshot it restores, the classification it renders, and the cancellation contract. This note owns only how a run ends and how long it may hold the profile lock. + +## Consequences + +- A stalled run is reported up to `idleTimeoutMs` late and the profile lock is held for that long. A silent but healthy native build longer than the default is killed and classified `timeout`; a profile that compiles such a dependency raises `idleTimeoutMs`, trading slower stall detection for tolerance. +- A cut tail is incomplete, so the failure classification and the returned output see only what pnpm wrote inside the grace period. The diagnostic log records the cut. +- Terminating a run kills its whole tree, so a lifecycle script that had already started is stopped instead of being allowed to finish. +- The bound is a workaround for a third-party defect (issue #4981, PR #4982) and becomes unnecessary once pnpm tears down its worker pool before a command returns. diff --git a/.agents/notes/implemented/bug-fix/2026-09-23-bounded-pnpm-runs.zh.md b/.agents/notes/implemented/bug-fix/2026-09-23-bounded-pnpm-runs.zh.md new file mode 100644 index 0000000000..1cb91132cc --- /dev/null +++ b/.agents/notes/implemented/bug-fix/2026-09-23-bounded-pnpm-runs.zh.md @@ -0,0 +1,59 @@ +# Agent Note: 为停止推进的 pnpm 运行设界 + +Status: implemented + +[English](2026-09-23-bounded-pnpm-runs.md) | 中文 + +## 问题 + +一次 profile 包操作可能永久持有 profile 写锁。某个 `dsh web` 进程在其 pnpm 子进程打印 `Done in 2s` 之后仍持有 `~/.dsh/profiles/web/package.json.lock` 达 22 分钟:该子进程从未退出,于是操作等待一个永不到来的结束点,锁始终未释放,进程内后续每一次管理调用都排在它后面。pnpm 11.13.0 只消费一次性的 worker 池收尾,之后又惰性重建该池,并且只在销毁时才对 worker 取消引用,因此该池会让父进程一直存活,仓库侧无从修复。 + +第二条成因以另一条路径导致同一结果:继承了 pnpm stdout 与 stderr 的生命周期脚本会在 pnpm 退出后继续持有这些管道,于是等待文件结束的读取方永远等不到,锁在读等期间一直被持有。 + +## 决策 + +- 运行的完成点是进程退出,而非管道结束。操作等待原始子进程的 `exit` 事件,并与 execa 的 promise 竞速;后者只在管道化 stdio 关闭后才 resolve。 +- 随后管道在一个固定的 2000 毫秒宽限窗口内排空,窗口结束后由本次操作关闭它们。失败分类读取的是 pnpm 退出前写入的尾部,因此该宽限属于「完成一次运行」,而不是部署配置项。 +- 只有本次排空造成的关闭才被忽略。切断之前的读取失败仍作为该运行的失败上报,日志会记录尾部被切断。 +- 捕获输出的运行若在 `idleTimeoutMs` 内没有任何输出即被终止,在自身退出状态之外报告 `timedOut`,且不再询问下一个注册表,从而使单次操作持有锁的时长有上界。 +- 被终止的运行不论信号留下什么退出状态都归类为 `timeout`。安装与删除都报告失败而非成功,因此 pnpm 只写了一半的 manifest 会被还原,而不会被启用。 +- 被终止的运行会停止整棵进程树并等待其消失,之后调用方才还原 profile 并释放锁,因为获批的生命周期脚本是 pnpm 的子进程且存活更久。execa 的 `killDescendants` 覆盖每一条 kill 路径(含取消),且只对捕获输出的运行启用,因此继承终端的运行仍留在调用方的进程组内。 +- `dsh plugin` 继承调用方终端、不捕获输出,因此不受静默上界约束,其操作者仍可中断。 + +## 为何用静默上界而非时长上界 + +只捕获输出、十分钟没有任何输出的运行已经卡住:pnpm 自身的进度与脚本输出都写在那里。而总时长上界会误杀正当工作,因为非 TTY 的 pnpm 只在该脚本结束时才打印它的输出,慢机器上的原生构建以超过任何可辩护固定预算的时间静默编译。静默把卡住的运行与较慢的运行区分开,无需猜测时长;600000 毫秒给获批构建留下的静默余量,是维护者预期的最慢静默时长的十倍。 + +## 考虑过的替代方案 + +**等待 execa 的 promise。** execa 在管道化 stdio 结束后才 resolve,而那正是被持有管道扣住不发的结束点,因此完成信号必须移到进程本身。 + +**改为对总时长设界。** 仅凭时长无法区分卡住的运行与正在编译的运行,而且只要机器够慢,这个上界就会破坏正当工作。 + +**只终止 pnpm 进程。** 获批的 `postinstall` 会在操作报告超时并释放锁之后继续写入 profile,于是后续的还原与该脚本互相竞争。已用 pnpm 11.13.0 与一个 postinstall 会写文件的本地依赖复现。 + +**让运行脱离父进程、稍后再回收进程树。** 还原与释放锁必须在进程树停止写入之后发生,推迟回收恰好留下本决策要关闭的那个窗口。 + +**保留管道作为完成信号,只对该等待设界。** 排空确实为等待设了界,但卡住的 worker 池永不结束其管道,因此进程退出仍是完成信号。 + +## 验证 + +| 证据 | 覆盖行为 | +|---|---| +| [operations.spec.ts](../../../../packages/boot/plugin-manager/tests/operations.spec.ts) | 静默上界终止、捕获信号后以 0 退出的运行、持有管道下的有界排空、经切断仍上报的读取失败、非 Error 的拒绝原因,以及切断提示。 | +| [operations-process.spec.ts](../../../../packages/boot/plugin-manager/tests/operations-process.spec.ts) | 真实孙进程:存活超过其父进程的管道仍能排空;卡住运行的进程树在操作返回前被停止,因此其脚本本应写入的标记不会出现。 | +| [run-tree.spec.ts](../../../../packages/boot/plugin-manager/tests/run-tree.spec.ts) | 各平台的进程组归属判定、各平台探测的目标,以及等待上界。 | +| [manager.spec.ts](../../../../packages/boot/plugin-manager/tests/manager.spec.ts) | 以 0 退出的被终止运行会还原 manifest、报告 `timeout` 且不被启用;被终止的删除报告失败。 | + +真进程用例仅覆盖 POSIX:Windows 无法搭出「孙进程在其父进程退出后仍持有继承管道」的前提,而排空本身与平台无关。跳过这些用例时,mock 用例仍能在 Windows 上满足逐文件覆盖率门禁。 + +## 相关 + +[引导式插件安装](../architecture/2026-09-15-guided-plugin-installation.zh.md)仍是「安装或删除如何处理一次已结束运行」的归属:它还原的 manifest 快照、渲染的分类与取消约定。本记录只负责运行如何结束,以及它可以持有 profile 锁多久。 + +## 后果 + +- 卡住的运行最迟在 `idleTimeoutMs` 之后才被报告,profile 锁在这段时间内一直被持有。静默但健康、且超过默认值的原生构建会被终止并归类为 `timeout`;需要编译此类依赖的 profile 应提高 `idleTimeoutMs`,以更慢的卡住检测换取容忍度。 +- 被切断的尾部不完整,因此失败分类与返回输出只看到 pnpm 在宽限窗口内写入的内容。诊断日志记录了这次切断。 +- 终止运行会杀掉整棵进程树,因此已经开始的生命周期脚本会被停止,而不会被允许跑完。 +- 该上界是针对第三方缺陷的变通(issue #4981、PR #4982);一旦 pnpm 在命令返回前完成其 worker 池收尾,它就不再必要。 diff --git a/.agents/notes/implemented/feature/2026-06-15-ptc.i18n.yaml b/.agents/notes/implemented/feature/2026-06-15-ptc.i18n.yaml index 0e6c3a467b..4a99a03276 100644 --- a/.agents/notes/implemented/feature/2026-06-15-ptc.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-06-15-ptc.i18n.yaml @@ -1,6 +1,49 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-15-ptc.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-06-15-ptc.md -2026-06-15-ptc.md: d5ed3fc79d4586d3754b7273e08970fb066fe6e9 -2026-06-15-ptc.zh.md: 1434db5c352cdb14b857dc5d4ca3bb2f5332e98e +/agent-note-ptc-mode-the-model-writes-typescript-against-the-tool-registry: + en: 9506116227b22bd0 + zh: c2d42a9f483cfbe3 +/agent-note-ptc-mode-the-model-writes-typescript-against-the-tool-registry/problem: + en: 4b312be894531bee + zh: d655648ea5843ef5 +/agent-note-ptc-mode-the-model-writes-typescript-against-the-tool-registry/decision: + en: 371abc68ce278a5c + zh: 3fa8d28213794932 +/agent-note-ptc-mode-the-model-writes-typescript-against-the-tool-registry/decision/per-program-execution-controls: + en: da694641e1d009de + zh: 9d7492d39039af66 +/agent-note-ptc-mode-the-model-writes-typescript-against-the-tool-registry/decision/the-registry-owns-the-mode: + en: 55287fedeaaee6d8 + zh: d2afe242e84acc43 +/agent-note-ptc-mode-the-model-writes-typescript-against-the-tool-registry/decision/the-run-code-tool-and-the-dispatch-bridge: + en: 8811a9c5e28488fd + zh: 6937645281b79fb9 +/agent-note-ptc-mode-the-model-writes-typescript-against-the-tool-registry/decision/observability-tool-ptc-dispatch: + en: b8e4cf9433c7ee18 + zh: e5f4e8d7d03d3a7b +/agent-note-ptc-mode-the-model-writes-typescript-against-the-tool-registry/decision/the-ptc-runtime-seam: + en: 4c423f4e9cef6055 + zh: 5c23a3637eb420c0 +/agent-note-ptc-mode-the-model-writes-typescript-against-the-tool-registry/decision/the-node-process-runtime: + en: 0b846ed33977e383 + zh: e45158758d657f9a +/agent-note-ptc-mode-the-model-writes-typescript-against-the-tool-registry/decision/trust-posture: + en: d62b41a6a5c58e5f + zh: ef72c5a9b32b370e +/agent-note-ptc-mode-the-model-writes-typescript-against-the-tool-registry/decision/what-the-model-sees: + en: 43653fd91ab9165b + zh: 6ddfa853e69b2d80 +/agent-note-ptc-mode-the-model-writes-typescript-against-the-tool-registry/consequences: + en: 761eb6c1aeb7af18 + zh: 5434456a3d0a1b65 +/agent-note-ptc-mode-the-model-writes-typescript-against-the-tool-registry/testing: + en: f5d287f610962a48 + zh: 88368e1df517b087 +/agent-note-ptc-mode-the-model-writes-typescript-against-the-tool-registry/alternatives-considered: + en: 90110f91f6f6130f + zh: 25d28433840f91a4 +/agent-note-ptc-mode-the-model-writes-typescript-against-the-tool-registry/risks: + en: 7743b1b621b8e6c7 + zh: 70c33a5b306ca71c diff --git a/.agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.i18n.yaml b/.agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.i18n.yaml index 4e2bd8d28d..4b48c194fe 100644 --- a/.agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.i18n.yaml @@ -1,6 +1,52 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-18-compaction-capability-seam.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.md -2026-06-18-compaction-capability-seam.md: 7d8b4f5011385f306aec4c6374d3402427fb3cc4 -2026-06-18-compaction-capability-seam.zh.md: 6a255bb05e0b3c90077af051bd24744305f3833e +/agent-note-compaction-as-a-capability-seam-abstract-contract-basic-backend: + en: 6808ccbe73762daa + zh: 11f3669e6ae4512c +/agent-note-compaction-as-a-capability-seam-abstract-contract-basic-backend/problem: + en: ed3fddc1dce0f229 + zh: fab2663b344cd851 +/agent-note-compaction-as-a-capability-seam-abstract-contract-basic-backend/decision: + en: a15c7c13f167e5ac + zh: 63bcc2ef60c2f344 +/agent-note-compaction-as-a-capability-seam-abstract-contract-basic-backend/decision/compaction-is-a-capability-seam-with-separate-service-definition-and-service-provider-roles: + en: 785c69730accbb4d + zh: ee9bd2a8a7dc3b72 +/agent-note-compaction-as-a-capability-seam-abstract-contract-basic-backend/decision/the-contract-depends-on-dsh-session-and-dsh-llm-a-deliberate-deviation: + en: 5c07a5a6429f6752 + zh: 8bf83da6e0563a66 +/agent-note-compaction-as-a-capability-seam-abstract-contract-basic-backend/decision/three-abstract-operations-algorithm-in-the-backend: + en: 62191e0e65c79673 + zh: cbaa5bece0f5b45a +/agent-note-compaction-as-a-capability-seam-abstract-contract-basic-backend/decision/automatic-pressure-runs-after-successful-durable-step-work: + en: b246f9837c9c9a6b + zh: c19c51456c8fd8b7 +/agent-note-compaction-as-a-capability-seam-abstract-contract-basic-backend/decision/retention-is-turn-agnostic-tool-pairing-balance-is-the-only-structural-guard: + en: 3126c249c48e90b9 + zh: dc82bc9a37d90474 +/agent-note-compaction-as-a-capability-seam-abstract-contract-basic-backend/decision/head-anchoring-one-auto-checkpoint-always-at-the-head: + en: 26f187b321217e4c + zh: b324dcdb6da4bf02 +/agent-note-compaction-as-a-capability-seam-abstract-contract-basic-backend/decision/approximate-convergence-invariant: + en: 4870032f23833fc4 + zh: b30180c31ba84a5a +/agent-note-compaction-as-a-capability-seam-abstract-contract-basic-backend/decision/surface-replacement-compaction-events-are-log-only-one-user-message-carries-the-summary: + en: 6d50dfe66a35f6fb + zh: 6ff9e66553f10ac6 +/agent-note-compaction-as-a-capability-seam-abstract-contract-basic-backend/decision/checkpoint-framing-incremental-merge-backend-private: + en: 1c71cf67450e78d5 + zh: fb44b3cf5cee070a +/agent-note-compaction-as-a-capability-seam-abstract-contract-basic-backend/decision/blocking-via-a-log-recorded-lock-plus-a-crash-recoverable-failure-taxonomy: + en: 5aed57a49e031b1e + zh: 1424f332197ef541 +/agent-note-compaction-as-a-capability-seam-abstract-contract-basic-backend/alternatives-considered: + en: 24a7bb1949445136 + zh: 7914ea99f498ed67 +/agent-note-compaction-as-a-capability-seam-abstract-contract-basic-backend/consequences: + en: 400bf1cadb974d04 + zh: 7612a4634ae98b32 +/agent-note-compaction-as-a-capability-seam-abstract-contract-basic-backend/testing: + en: 843476bd607fe832 + zh: 50be0b06553a54d0 diff --git a/.agents/notes/implemented/feature/2026-06-21-subagent-capability-seam.i18n.yaml b/.agents/notes/implemented/feature/2026-06-21-subagent-capability-seam.i18n.yaml index 1445f54bbb..2362f9cac7 100644 --- a/.agents/notes/implemented/feature/2026-06-21-subagent-capability-seam.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-06-21-subagent-capability-seam.i18n.yaml @@ -1,6 +1,46 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-21-subagent-capability-seam.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-06-21-subagent-capability-seam.md -2026-06-21-subagent-capability-seam.md: 6eedb3a4b03cd919aa8888853fac5fdaf3f74fe0 -2026-06-21-subagent-capability-seam.zh.md: 7e73fdc58f4b537ca2f6be481e359b267af31d96 +/agent-note-subagent-capability-seam: + en: 3c051f92759dd9c4 + zh: fceee1b8289f2779 +/agent-note-subagent-capability-seam/problem: + en: 5c81597e6dc16c39 + zh: c30c6b5dce12bfae +/agent-note-subagent-capability-seam/alternatives-considered: + en: 6119e2aff3b6be5a + zh: 76136ef5249c23eb +/agent-note-subagent-capability-seam/alternatives-considered/why-not-the-bash-seam-shape: + en: 3a01c98c45de8585 + zh: 7f87d8bd6d348dae +/agent-note-subagent-capability-seam/decision: + en: a15c7c13f167e5ac + zh: 63bcc2ef60c2f344 +/agent-note-subagent-capability-seam/decision/the-three-package-boundary: + en: c470cd9518cebc8b + zh: 228b559f73c58f2b +/agent-note-subagent-capability-seam/decision/the-primitive-async-start-subagentrun: + en: 08250dc4d5faf918 + zh: 1b413cb438af6796 +/agent-note-subagent-capability-seam/decision/two-kinds-of-optional-capability-discovered-two-ways: + en: d2a27fcacc46ca76 + zh: 4e8cca931fcaec2c +/agent-note-subagent-capability-seam/decision/fork-vs-fresh-are-separate-backends-not-a-flag: + en: a8e071639738ea79 + zh: 3fd7cc7427843efe +/agent-note-subagent-capability-seam/decision/child-isolation-and-the-parent-log: + en: e970f97f27d11f4a + zh: 34ece0dfe5ec6185 +/agent-note-subagent-capability-seam/decision/synchronous-collect-first-cut: + en: a14200a7abfa532f + zh: ee4f8c08deb0ee99 +/agent-note-subagent-capability-seam/decision/transport-provider-selection-is-config-not-model-facing: + en: 3dab95ec93f918df + zh: 4c3c7d4e8357bf63 +/agent-note-subagent-capability-seam/testing: + en: 324951447c43d01a + zh: b04388c4665302d2 +/agent-note-subagent-capability-seam/consequences: + en: c60d3fb1012f52b4 + zh: f46ab4b214941622 diff --git a/.agents/notes/implemented/feature/2026-06-30-interception-extension-points.i18n.yaml b/.agents/notes/implemented/feature/2026-06-30-interception-extension-points.i18n.yaml index 8ed643d29b..b5de0ccbcd 100644 --- a/.agents/notes/implemented/feature/2026-06-30-interception-extension-points.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-06-30-interception-extension-points.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-30-interception-extension-points.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-06-30-interception-extension-points.md -2026-06-30-interception-extension-points.md: 5adffd1679c97cc69cf18991913113b84d88ba3c -2026-06-30-interception-extension-points.zh.md: c3aa374a22d58c5185a3bd8e79b4040a04bd43e3 +/agent-note-interception-extension-points-the-typed-decision-surface-a-hook-programs-against: + en: 623ca9ecb3ed4c8e + zh: 5d5639dea9a6a541 +/agent-note-interception-extension-points-the-typed-decision-surface-a-hook-programs-against/problem: + en: 7ce5525628f7fc7d + zh: 53f27e5423da86f8 +/agent-note-interception-extension-points-the-typed-decision-surface-a-hook-programs-against/decision: + en: dc7daa9100978a8b + zh: c87aa08a4e085b7b +/agent-note-interception-extension-points-the-typed-decision-surface-a-hook-programs-against/decision/the-tool-pipeline-gives-each-phase-one-kind-of-authority: + en: 65553dedec611132 + zh: 5b002349db90b83f +/agent-note-interception-extension-points-the-typed-decision-surface-a-hook-programs-against/decision/three-load-bearing-loop-decisions: + en: d91bda956aa8bad9 + zh: 12bc8f819bf62ed2 +/agent-note-interception-extension-points-the-typed-decision-surface-a-hook-programs-against/decision/pre-tool-input-rewrite-is-a-separate-consistency-decision: + en: bea1cab63d0470f1 + zh: b3a1dba46e346109 +/agent-note-interception-extension-points-the-typed-decision-surface-a-hook-programs-against/decision/boundaries: + en: 30c23a1087faca81 + zh: 03d58723ee6b1a37 +/agent-note-interception-extension-points-the-typed-decision-surface-a-hook-programs-against/alternatives-considered: + en: d05468299caa114d + zh: d0b0eecf36456130 +/agent-note-interception-extension-points-the-typed-decision-surface-a-hook-programs-against/consequences: + en: 830c7bab979652be + zh: 7266e2d0780e9d67 diff --git a/.agents/notes/implemented/feature/2026-07-05-dynamic-workflows.i18n.yaml b/.agents/notes/implemented/feature/2026-07-05-dynamic-workflows.i18n.yaml index 8fe72e240d..b70097f9c9 100644 --- a/.agents/notes/implemented/feature/2026-07-05-dynamic-workflows.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-05-dynamic-workflows.i18n.yaml @@ -1,6 +1,40 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-05-dynamic-workflows.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-07-05-dynamic-workflows.md -2026-07-05-dynamic-workflows.md: c7245704b0734c1508fe7f001e6429f594ebdd1d -2026-07-05-dynamic-workflows.zh.md: a4502d7d6b3acf1aebc4a5b36caccf50859bab01 +/agent-note-dynamic-workflows-a-script-driven-multi-agent-orchestration-seam: + en: 472dec484bf937c1 + zh: 1d6c38c699d43828 +/agent-note-dynamic-workflows-a-script-driven-multi-agent-orchestration-seam/problem: + en: e890f8ac24054d94 + zh: 45ec14140f62e1c9 +/agent-note-dynamic-workflows-a-script-driven-multi-agent-orchestration-seam/decision: + en: 16af14c0c9fc54ee + zh: 463dd56b53d05ea7 +/agent-note-dynamic-workflows-a-script-driven-multi-agent-orchestration-seam/decision/the-script-contract-claude-code-compatible: + en: 889beb90c3650f25 + zh: b1ba5dac3c77f8d2 +/agent-note-dynamic-workflows-a-script-driven-multi-agent-orchestration-seam/decision/the-seam-dsh-workflow: + en: d37f01afb4d9cd6a + zh: 5648b981b61e6624 +/agent-note-dynamic-workflows-a-script-driven-multi-agent-orchestration-seam/decision/the-engine-dsh-workflow-ptc-shared-node-process-execution: + en: 7567d5fcf218e4b5 + zh: 2ba33b1237df9e4a +/agent-note-dynamic-workflows-a-script-driven-multi-agent-orchestration-seam/decision/the-consumer-dsh-tool-workflow: + en: 00b015ee9db948fb + zh: 6dac8d8aaf0b32d2 +/agent-note-dynamic-workflows-a-script-driven-multi-agent-orchestration-seam/decision/the-foundation-structured-output-on-the-subagent-seam: + en: 40ad0d1f23ffa7db + zh: 23a81a277fb24cd9 +/agent-note-dynamic-workflows-a-script-driven-multi-agent-orchestration-seam/testing: + en: a1607694b584dcbc + zh: 29c9c7560f0fcf56 +/agent-note-dynamic-workflows-a-script-driven-multi-agent-orchestration-seam/deferred-documented-non-goals: + en: 2bff807d808bfa13 + zh: add602509c0a826c +/agent-note-dynamic-workflows-a-script-driven-multi-agent-orchestration-seam/alternatives-considered: + en: 44a36cb0a91546cc + zh: f4ed8c49f3764d7a +/agent-note-dynamic-workflows-a-script-driven-multi-agent-orchestration-seam/consequences: + en: bfd2d827ffb20587 + zh: 310c4fe77f48aa4e diff --git a/.agents/notes/implemented/feature/2026-07-06-approval-seam.i18n.yaml b/.agents/notes/implemented/feature/2026-07-06-approval-seam.i18n.yaml index f3eb596443..6b8dc5e1c0 100644 --- a/.agents/notes/implemented/feature/2026-07-06-approval-seam.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-06-approval-seam.i18n.yaml @@ -1,6 +1,55 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-06-approval-seam.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-07-06-approval-seam.md -2026-07-06-approval-seam.md: 03a4269dd7712f88d73e0439f944e6bf5bce14b5 -2026-07-06-approval-seam.zh.md: f11e0956c90cd60c9e34c7ccdee62111b5653545 +/agent-note-the-approval-seam-one-shot-permission-decisions-over-a-waterfall-of-answerers: + en: 5a500ddf8910f3b2 + zh: 0461f97e3c905d72 +/agent-note-the-approval-seam-one-shot-permission-decisions-over-a-waterfall-of-answerers/problem: + en: 0903931cf3fd2d9b + zh: ae39e774ffa66c36 +/agent-note-the-approval-seam-one-shot-permission-decisions-over-a-waterfall-of-answerers/decision: + en: 058d4bd95d3c55d3 + zh: a861c6a59340b121 +/agent-note-the-approval-seam-one-shot-permission-decisions-over-a-waterfall-of-answerers/decision/how-a-deployment-uses-it: + en: d0bcdfb988eaeadc + zh: 5ce6fd8f89b503fc +/agent-note-the-approval-seam-one-shot-permission-decisions-over-a-waterfall-of-answerers/decision/design-detail: + en: a6d7884e4359af3a + zh: e72588705942000a +/agent-note-the-approval-seam-one-shot-permission-decisions-over-a-waterfall-of-answerers/decision/design-detail/the-seam-mechanism-and-policy-split: + en: 0aa6f3a90921d1ea + zh: c4a734f84800dae8 +/agent-note-the-approval-seam-one-shot-permission-decisions-over-a-waterfall-of-answerers/decision/design-detail/ask-routing-in-dsh-tools: + en: 1d4478059f608fd2 + zh: 4a1d12e4ccb766b5 +/agent-note-the-approval-seam-one-shot-permission-decisions-over-a-waterfall-of-answerers/decision/design-detail/the-per-session-policy-tier: + en: 4eaf3ae10290dc6a + zh: 0cb65c79a5e9effc +/agent-note-the-approval-seam-one-shot-permission-decisions-over-a-waterfall-of-answerers/decision/design-detail/the-acp-answerer: + en: bbfb8c3f1cb34b12 + zh: 4f8f51a027a09a03 +/agent-note-the-approval-seam-one-shot-permission-decisions-over-a-waterfall-of-answerers/decision/design-detail/audit-and-what-the-model-sees: + en: d9f129e893e76bec + zh: 92929dbc54c65a5b +/agent-note-the-approval-seam-one-shot-permission-decisions-over-a-waterfall-of-answerers/decision/design-detail/entities-and-dependencies: + en: 08abe894f74bcb00 + zh: a94052662c8536c7 +/agent-note-the-approval-seam-one-shot-permission-decisions-over-a-waterfall-of-answerers/decision/testing: + en: 01356985c175fcda + zh: b1bb3b68f619e698 +/agent-note-the-approval-seam-one-shot-permission-decisions-over-a-waterfall-of-answerers/deferred: + en: 3a9a1ddf86364f14 + zh: ec8413e23f171bd2 +/agent-note-the-approval-seam-one-shot-permission-decisions-over-a-waterfall-of-answerers/alternatives-considered: + en: ae974b0f43a29b4e + zh: bbc4662c0c63b6c1 +/agent-note-the-approval-seam-one-shot-permission-decisions-over-a-waterfall-of-answerers/consequences: + en: 9d2097d7b796dd63 + zh: 4f1a0493dc109b12 +/agent-note-the-approval-seam-one-shot-permission-decisions-over-a-waterfall-of-answerers/faq: + en: 85f3a8270d96497d + zh: b97bedebc08f23f0 +/agent-note-the-approval-seam-one-shot-permission-decisions-over-a-waterfall-of-answerers/prior-art: + en: 964a5c6afd4724d6 + zh: 1a386e1376860105 diff --git a/.agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml b/.agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml index 0c0d28aa76..ea0738686e 100644 --- a/.agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml @@ -1,6 +1,61 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-06-sandbox.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-07-06-sandbox.md -2026-07-06-sandbox.md: f2c703ba67bc16529605250d35ed181412f05494 -2026-07-06-sandbox.zh.md: ff4d4ed592dc4235903555528a029b4b295d972e +/agent-note-the-subprocess-sandbox-confinement-seam-native-runners-escalation-and-per-session-modes: + en: b36f59d0746e94f1 + zh: 0d0f8e19917a9eae +/agent-note-the-subprocess-sandbox-confinement-seam-native-runners-escalation-and-per-session-modes/problem: + en: 045e61bb682755dc + zh: ac95eb64ce892f8d +/agent-note-the-subprocess-sandbox-confinement-seam-native-runners-escalation-and-per-session-modes/decision: + en: f4748553d52935ff + zh: 1802a543c6d989ef +/agent-note-the-subprocess-sandbox-confinement-seam-native-runners-escalation-and-per-session-modes/decision/how-a-deployment-uses-it: + en: 956a2c069b1ac0b1 + zh: ebf91494b8107ced +/agent-note-the-subprocess-sandbox-confinement-seam-native-runners-escalation-and-per-session-modes/decision/design-detail: + en: a6d7884e4359af3a + zh: e72588705942000a +/agent-note-the-subprocess-sandbox-confinement-seam-native-runners-escalation-and-per-session-modes/decision/design-detail/scope-grounding: + en: 0c09534b59e2063e + zh: 5225d6750d13b9d7 +/agent-note-the-subprocess-sandbox-confinement-seam-native-runners-escalation-and-per-session-modes/decision/design-detail/the-seam-ctx-sandbox: + en: 2c98e8c0bd8a9ff1 + zh: 661b58f81f6e05c6 +/agent-note-the-subprocess-sandbox-confinement-seam-native-runners-escalation-and-per-session-modes/decision/design-detail/local-backends-and-the-shipped-launcher: + en: 5c6bf38f958b07d0 + zh: 22bf9fac71eb643d +/agent-note-the-subprocess-sandbox-confinement-seam-native-runners-escalation-and-per-session-modes/decision/design-detail/asynchronous-preparation: + en: 7bc0fab85c7c91d0 + zh: 3eafcde6b1e3249c +/agent-note-the-subprocess-sandbox-confinement-seam-native-runners-escalation-and-per-session-modes/decision/design-detail/the-bash-consumer: + en: af561a23104227cd + zh: ac6fd59518d1bb55 +/agent-note-the-subprocess-sandbox-confinement-seam-native-runners-escalation-and-per-session-modes/decision/design-detail/escalation-one-approved-wider-retry-after-a-denial: + en: 035640e276225e97 + zh: 09fd95921529369b +/agent-note-the-subprocess-sandbox-confinement-seam-native-runners-escalation-and-per-session-modes/decision/design-detail/per-session-modes-the-session-log-as-the-store: + en: 6805c807f584961c + zh: 687fd4ad687e4dee +/agent-note-the-subprocess-sandbox-confinement-seam-native-runners-escalation-and-per-session-modes/decision/design-detail/in-process-tools: + en: 73cd47df9f2acbd0 + zh: 877db86c2a36a9ab +/agent-note-the-subprocess-sandbox-confinement-seam-native-runners-escalation-and-per-session-modes/decision/testing: + en: c0189d491354eb48 + zh: ac68b07188402f9c +/agent-note-the-subprocess-sandbox-confinement-seam-native-runners-escalation-and-per-session-modes/deferred-phases: + en: f28b530000b8495e + zh: f256b8b32c4ce4ef +/agent-note-the-subprocess-sandbox-confinement-seam-native-runners-escalation-and-per-session-modes/alternatives-considered: + en: eabe577b837f3de2 + zh: 4ef0167c895766a6 +/agent-note-the-subprocess-sandbox-confinement-seam-native-runners-escalation-and-per-session-modes/consequences: + en: c0d8279a677a0ef1 + zh: 3518fc05f8700c0b +/agent-note-the-subprocess-sandbox-confinement-seam-native-runners-escalation-and-per-session-modes/faq: + en: de45c2a398b8abe6 + zh: 93be112960b40736 +/agent-note-the-subprocess-sandbox-confinement-seam-native-runners-escalation-and-per-session-modes/prior-art: + en: a51744b1cafca339 + zh: 1d27f49f1aa550af diff --git a/.agents/notes/implemented/feature/2026-07-07-mcp-client-plugin.i18n.yaml b/.agents/notes/implemented/feature/2026-07-07-mcp-client-plugin.i18n.yaml index 2d9a9b05e4..751b41f4c6 100644 --- a/.agents/notes/implemented/feature/2026-07-07-mcp-client-plugin.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-07-mcp-client-plugin.i18n.yaml @@ -1,6 +1,94 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-07-mcp-client-plugin.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-07-07-mcp-client-plugin.md -2026-07-07-mcp-client-plugin.md: dd793b67bf2043fa88377d50837df40faadf3fbf -2026-07-07-mcp-client-plugin.zh.md: 5056118df0185f1e7ec2b1ea06818ed920d2af26 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools: + en: 7d41e632fd40efe0 + zh: 4c7f6410b74a5bd3 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/problem: + en: 7cef5ed5bc88fba5 + zh: 795917e3321148ab +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/decision: + en: a15c7c13f167e5ac + zh: 63bcc2ef60c2f344 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/decision/package: + en: 90a6e5a22fa99a36 + zh: 4280a5feecd3e6c1 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/decision/sdk: + en: f69bbd1cfca85fa0 + zh: 9b21abc7e3eeb2fd +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/decision/scope: + en: 32cd57e8d3ea1ac1 + zh: 7c14401492f22c32 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/decision/plugin-shape: + en: 3d6e4726e5c890a6 + zh: 888123ed412544a7 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/decision/configuration: + en: a244e4d7a8294424 + zh: 4be5ed51345a660e +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/decision/lifecycle: + en: b428a4e72dec4ba0 + zh: c070db6fdd2d3c7f +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/decision/tool-discovery-and-registration: + en: 75da266ca8141a90 + zh: 078e3a969273ed9b +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/decision/public-name-normalization: + en: eb0511bd6173c99c + zh: c5fc98231a733699 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/decision/name-conflict-handling: + en: 88210585c857f934 + zh: fc0d90d572d6ba45 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/decision/naming-invariants: + en: 1e2ce84605977339 + zh: 3b3c9d120c0262a7 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/decision/tool-execution: + en: c82db842e7a6f3db + zh: ace9e266cd6c4203 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/decision/subprocess-environment-stdio-transport: + en: d599a7db35e1f96d + zh: a2655e0410565c93 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/decision/disconnection-crash: + en: e8207a70c6511778 + zh: aa281be51d85be13 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/alternatives-considered: + en: 6119e2aff3b6be5a + zh: 76136ef5249c23eb +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/alternatives-considered/mcp-server-side-expose-harness-tools-to-external-mcp-clients: + en: 831148b7e748eaa3 + zh: 845172ccc64d7a65 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/alternatives-considered/capability-seam-three-package-split-interface-impl-consumer: + en: caefc1146f9b2b16 + zh: 9c4a5d55019d8002 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/alternatives-considered/auto-reconnect-with-exponential-backoff: + en: e92d18530feb1ee3 + zh: 2fecc50b4b6a96d9 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/alternatives-considered/bridge-resources-and-prompts: + en: 606ee33502fa60cc + zh: 0c21afec01caf4c2 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/alternatives-considered/raw-model-facing-tool-names-with-an-optional-toolprefix: + en: ef886d275ac5734c + zh: 304c578e674f50a2 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/alternatives-considered/server-only-namespace-github-create-issue-no-mcp-marker: + en: d18be656bd334d18 + zh: b7cdc2d580e9f2ab +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/alternatives-considered/deriving-the-namespace-from-the-server-announced-serverinfo-name: + en: 17bc5d831e3d06a7 + zh: 6b9e2f5cd76d12f8 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/alternatives-considered/preserve-multiple-textblocks-in-tool-result: + en: 184f6d75be815400 + zh: a284afac1e2b80e2 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/alternatives-considered/replace-the-canonical-mcp-result-with-core-contentblock: + en: d5d253f8e466bab9 + zh: 7d93b7fa1c2219ed +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/alternatives-considered/add-a-generic-richcontent-service-or-perform-i-o-in-output-render: + en: 687c220df3767635 + zh: c87dd8700edc9291 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/alternatives-considered/let-each-image-returning-tool-special-case-ptc-mode-parents: + en: a5fc7b17970699ce + zh: 2d7bd23621f62597 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/testing: + en: 4bb5be21c1097a57 + zh: d12bf01bb70e1bc3 +/agent-note-mcp-client-plugin-connect-to-external-mcp-servers-and-bridge-their-tools/consequences: + en: ef35ec18568b38e5 + zh: ca85076585c2b787 diff --git a/.agents/notes/implemented/feature/2026-07-08-self-referential-cordis-toolset.i18n.yaml b/.agents/notes/implemented/feature/2026-07-08-self-referential-cordis-toolset.i18n.yaml index 2b37bdad0a..67063fa1b4 100644 --- a/.agents/notes/implemented/feature/2026-07-08-self-referential-cordis-toolset.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-08-self-referential-cordis-toolset.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-08-self-referential-cordis-toolset.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-07-08-self-referential-cordis-toolset.md -2026-07-08-self-referential-cordis-toolset.md: 278c71051de1fb897c8735b39dff0b66c43a5626 -2026-07-08-self-referential-cordis-toolset.zh.md: 8a8e197e197fb6b53b52426d5ad9a33fd09e78c9 +/agent-note-cordis-runtime-inspection-and-runner-isolation: + en: d96c123d1989b22b + zh: 4a53cdd763955f19 +/agent-note-cordis-runtime-inspection-and-runner-isolation/problem: + en: 29d1465c348331e9 + zh: 25dbc885f5d7ee7d +/agent-note-cordis-runtime-inspection-and-runner-isolation/decision: + en: 8a4cbb660f2409d7 + zh: 2219e39468e6baee +/agent-note-cordis-runtime-inspection-and-runner-isolation/alternatives-considered: + en: 637137a3b035c211 + zh: 5a667bfe2446a5f8 +/agent-note-cordis-runtime-inspection-and-runner-isolation/consequences: + en: a21f854954e01db6 + zh: c16bbe7c3580b394 diff --git a/.agents/notes/implemented/feature/2026-07-10-parallel-tool-call-execution.i18n.yaml b/.agents/notes/implemented/feature/2026-07-10-parallel-tool-call-execution.i18n.yaml index f317a3d223..4b82a34a31 100644 --- a/.agents/notes/implemented/feature/2026-07-10-parallel-tool-call-execution.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-10-parallel-tool-call-execution.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-10-parallel-tool-call-execution.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-07-10-parallel-tool-call-execution.md -2026-07-10-parallel-tool-call-execution.md: d5d26e03a2081569a8dba4de966201abc312d420 -2026-07-10-parallel-tool-call-execution.zh.md: 707428985c872dcbbc82f59124f0d60aef7f1090 +/agent-note-parallel-tool-call-execution-by-per-call-safety: + en: bbc8567dc50716d1 + zh: 4ddef348cc74b39c +/agent-note-parallel-tool-call-execution-by-per-call-safety/problem: + en: 41ffece5e72e022f + zh: e813a3efb9c12646 +/agent-note-parallel-tool-call-execution-by-per-call-safety/decision: + en: 532bb7268d9b93ce + zh: ad47162233222ab0 +/agent-note-parallel-tool-call-execution-by-per-call-safety/scheduling-and-ordering: + en: f0906d03fef98e7b + zh: f9e43c4c832c9a05 +/agent-note-parallel-tool-call-execution-by-per-call-safety/safety-contract: + en: 16c4ee08b65ead23 + zh: df80d6e49982615b +/agent-note-parallel-tool-call-execution-by-per-call-safety/configuration-and-declarations: + en: e112957ed8a48039 + zh: 37d63f9ea4968fb2 +/agent-note-parallel-tool-call-execution-by-per-call-safety/verification: + en: eb5a6aa84980f0ab + zh: eed2680a160e8ed2 +/agent-note-parallel-tool-call-execution-by-per-call-safety/alternatives-considered: + en: 44f8fb5851ba4e39 + zh: 4d75c937ac5277f7 +/agent-note-parallel-tool-call-execution-by-per-call-safety/consequences: + en: 5e5b2a1c7d850f83 + zh: b63311f28eb69366 diff --git a/.agents/notes/implemented/feature/2026-07-12-subagent-persona-tool-filter-and-depth.i18n.yaml b/.agents/notes/implemented/feature/2026-07-12-subagent-persona-tool-filter-and-depth.i18n.yaml index 13820af392..431d5f60ec 100644 --- a/.agents/notes/implemented/feature/2026-07-12-subagent-persona-tool-filter-and-depth.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-12-subagent-persona-tool-filter-and-depth.i18n.yaml @@ -1,6 +1,37 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-12-subagent-persona-tool-filter-and-depth.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-07-12-subagent-persona-tool-filter-and-depth.md -2026-07-12-subagent-persona-tool-filter-and-depth.md: f848b92a7a5647995330e2bf26796dde1b43a3f8 -2026-07-12-subagent-persona-tool-filter-and-depth.zh.md: 3360b27c9feb5950cc3f338c89e48a4c902e2ac8 +/agent-note-configure-subagent-persona-tool-visibility-and-depth: + en: ea51f1e98afc88b7 + zh: 6aa0101b8de5097f +/agent-note-configure-subagent-persona-tool-visibility-and-depth/problem: + en: 311bc04b9c36ab53 + zh: 0c52e6493e9350a5 +/agent-note-configure-subagent-persona-tool-visibility-and-depth/decision: + en: 79b3fcfaaaaccf9e + zh: 0287bfb41c7b9707 +/agent-note-configure-subagent-persona-tool-visibility-and-depth/decision/persona-is-a-scoped-shadow: + en: 8b299c99d26aa5c3 + zh: 6956efbd236cef8e +/agent-note-configure-subagent-persona-tool-visibility-and-depth/decision/tool-filtering-is-one-live-global-view-rule: + en: a9fe46283ea28722 + zh: 7b7d1be7c070b893 +/agent-note-configure-subagent-persona-tool-visibility-and-depth/decision/depth-is-an-absolute-tree-cap: + en: 9145bec4e3f7eb5b + zh: 986276925cb064d9 +/agent-note-configure-subagent-persona-tool-visibility-and-depth/decision/capability-gating-keeps-providers-honest: + en: 5334afafefdb0f59 + zh: 7e96c9a08bbc3d1a +/agent-note-configure-subagent-persona-tool-visibility-and-depth/decision/unpublished-setup-makes-the-first-request-correct: + en: 3c988dfff07c8da3 + zh: 8ce2fbcc438e7dd8 +/agent-note-configure-subagent-persona-tool-visibility-and-depth/visibility-is-not-authority: + en: d0db5310a87ff8e4 + zh: 4b9f502238cd4bae +/agent-note-configure-subagent-persona-tool-visibility-and-depth/alternatives-considered: + en: 78ae41331d8fcc3e + zh: a93ee10b3e30c267 +/agent-note-configure-subagent-persona-tool-visibility-and-depth/consequences: + en: d5f05d63b7a01dd8 + zh: f0be1e88b06d8cc9 diff --git a/.agents/notes/implemented/feature/2026-07-14-cross-family-fs-sandbox.i18n.yaml b/.agents/notes/implemented/feature/2026-07-14-cross-family-fs-sandbox.i18n.yaml index 021837de21..938869414c 100644 --- a/.agents/notes/implemented/feature/2026-07-14-cross-family-fs-sandbox.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-14-cross-family-fs-sandbox.i18n.yaml @@ -1,6 +1,37 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-14-cross-family-fs-sandbox.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-07-14-cross-family-fs-sandbox.md -2026-07-14-cross-family-fs-sandbox.md: 0fe1d4078797eceb9f3f0f9c319bba62acd6b08c -2026-07-14-cross-family-fs-sandbox.zh.md: 021923c7e3c4653991377cd9b5bccf18c9a4bf65 +/agent-note-cross-family-file-sandbox-one-policy-home-a-sandboxed-fs-provider-and-fs-escalation-parity: + en: d971839c319030fa + zh: 29d8cc0ec85337af +/agent-note-cross-family-file-sandbox-one-policy-home-a-sandboxed-fs-provider-and-fs-escalation-parity/problem: + en: 2ce70b520caa28b5 + zh: 6f023332dd48bf83 +/agent-note-cross-family-file-sandbox-one-policy-home-a-sandboxed-fs-provider-and-fs-escalation-parity/decision: + en: dd825d09d6d850ed + zh: 0c355b56ff17d099 +/agent-note-cross-family-file-sandbox-one-policy-home-a-sandboxed-fs-provider-and-fs-escalation-parity/decision/ctx-sandboxpolicy-one-home-for-mode-and-workspace-root: + en: e8ef62a480614c1a + zh: 90c29f6845e2f437 +/agent-note-cross-family-file-sandbox-one-policy-home-a-sandboxed-fs-provider-and-fs-escalation-parity/decision/dsh-fs-sandbox-enforcement-inside-the-provider: + en: 077a767b86dd7860 + zh: e8797afed2f65fa6 +/agent-note-cross-family-file-sandbox-one-policy-home-a-sandboxed-fs-provider-and-fs-escalation-parity/decision/tool-parity-one-denial-marker-one-escalation-flow: + en: f1fed3aaf3a1482c + zh: d4bc7989477b3a0b +/agent-note-cross-family-file-sandbox-one-policy-home-a-sandboxed-fs-provider-and-fs-escalation-parity/decision/the-enforcement-point-provider-not-intent-gate: + en: 98549276110ac457 + zh: d680c26086c68a8c +/agent-note-cross-family-file-sandbox-one-policy-home-a-sandboxed-fs-provider-and-fs-escalation-parity/decision/out-of-scope: + en: 9157891a477f17bd + zh: 58d926d0b86bc4fd +/agent-note-cross-family-file-sandbox-one-policy-home-a-sandboxed-fs-provider-and-fs-escalation-parity/alternatives-considered: + en: 669431ca494a7783 + zh: e875a63c553135e1 +/agent-note-cross-family-file-sandbox-one-policy-home-a-sandboxed-fs-provider-and-fs-escalation-parity/consequences: + en: 3848066c5a8c56ef + zh: 048cdf6cb8dbde4d +/agent-note-cross-family-file-sandbox-one-policy-home-a-sandboxed-fs-provider-and-fs-escalation-parity/testing: + en: dc226f5a587ff7d4 + zh: 55f5d937d6bc86e9 diff --git a/.agents/notes/implemented/feature/2026-07-16-harness-level-loop.i18n.yaml b/.agents/notes/implemented/feature/2026-07-16-harness-level-loop.i18n.yaml index 550d23413e..624d9c4025 100644 --- a/.agents/notes/implemented/feature/2026-07-16-harness-level-loop.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-16-harness-level-loop.i18n.yaml @@ -1,6 +1,46 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-16-harness-level-loop.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-07-16-harness-level-loop.md -2026-07-16-harness-level-loop.md: 54adc1aad63e8968c9e0d276a075cd42abf021fd -2026-07-16-harness-level-loop.zh.md: 9e1a7e73fbf1fab1807b59b3b7816cdfcc6f45df +/agent-note-harness-level-goal-based-execution: + en: 20d103f4160b124d + zh: 36e888ebeec1d366 +/agent-note-harness-level-goal-based-execution/problem: + en: b0294f40b8915f39 + zh: 786bcecd8e0df343 +/agent-note-harness-level-goal-based-execution/decision: + en: f9d2e5774bca2d5b + zh: 375683705a21f16c +/agent-note-harness-level-goal-based-execution/decision/vocabulary-and-policy-boundary: + en: 213a55ec1ef4dd58 + zh: 56076b8524188153 +/agent-note-harness-level-goal-based-execution/decision/package-topology-and-owning-verbs: + en: fb8e9df7705a2293 + zh: ffe7040bdad4fa64 +/agent-note-harness-level-goal-based-execution/decision/durable-goal-state-and-live-authority: + en: ef386ad58ff3bcaf + zh: 9517886000faf515 +/agent-note-harness-level-goal-based-execution/decision/same-session-continuation: + en: 669447319e89b06a + zh: 2a08e6a8622aabd1 +/agent-note-harness-level-goal-based-execution/decision/human-and-model-interactions: + en: 8923f16b40a2f331 + zh: 697417b21f475c1e +/agent-note-harness-level-goal-based-execution/decision/fresh-agent-ralph-execution: + en: 3cc9d8fee8dfbd41 + zh: 2c4bf8aab739b0e8 +/agent-note-harness-level-goal-based-execution/decision/external-design-lineage: + en: 4a7b290a2649720c + zh: 1a2f32667061e7b4 +/agent-note-harness-level-goal-based-execution/decision/verification: + en: cb538a23eb170008 + zh: fdd00c5ca70918a1 +/agent-note-harness-level-goal-based-execution/alternatives-considered: + en: 5f4c2ba58601587c + zh: a7e2028dd8bc23c1 +/agent-note-harness-level-goal-based-execution/consequences: + en: 31d109628ee650f4 + zh: 2278dd884e6a088a +/agent-note-harness-level-goal-based-execution/known-limitations-and-deferred-work: + en: 2bc0e7709c516ed0 + zh: 614b4ddf8ca6ebc6 diff --git a/.agents/notes/implemented/feature/2026-07-16-persistent-pty-sessions.i18n.yaml b/.agents/notes/implemented/feature/2026-07-16-persistent-pty-sessions.i18n.yaml index b1b7365597..ac9be41f4d 100644 --- a/.agents/notes/implemented/feature/2026-07-16-persistent-pty-sessions.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-16-persistent-pty-sessions.i18n.yaml @@ -1,6 +1,49 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-16-persistent-pty-sessions.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-07-16-persistent-pty-sessions.md -2026-07-16-persistent-pty-sessions.md: d62587ced78be75de121fe907ca258d07a2830a1 -2026-07-16-persistent-pty-sessions.zh.md: a26c3ed852b3a18842585e19ecb2a6994f8d9117 +/agent-note-persistent-pty-sessions: + en: c7796dc579fe7fb3 + zh: 2126be0b08124ca5 +/agent-note-persistent-pty-sessions/problem: + en: cd408e9b6e9705e8 + zh: 7811f9216b6961fa +/agent-note-persistent-pty-sessions/decision: + en: 5656c117648160c8 + zh: 7f7c3de8e2ea6d9a +/agent-note-persistent-pty-sessions/decision/package-topology: + en: 0187ac573d06a360 + zh: 13e08f4f22bacfff +/agent-note-persistent-pty-sessions/decision/agent-ownership-and-identity: + en: 9bf79081f102eb51 + zh: 34855888f0614b47 +/agent-note-persistent-pty-sessions/decision/security-and-process-boundary: + en: 10d84442483e1d40 + zh: c970ae058e2e0f6d +/agent-note-persistent-pty-sessions/decision/six-model-facing-tools: + en: b92715f36550c728 + zh: e18d7e0e2363347a +/agent-note-persistent-pty-sessions/decision/local-readiness-detection: + en: cd8b4032a624c277 + zh: 47f0d8c15f1c9cad +/agent-note-persistent-pty-sessions/decision/model-visible-output-and-durability: + en: 1b504ab41b47216d + zh: 8fb3d360b3a4e6a1 +/agent-note-persistent-pty-sessions/decision/process-tree-teardown: + en: e96a972845bc3513 + zh: d76d7dfb80985e9d +/agent-note-persistent-pty-sessions/decision/composition-and-rollout: + en: db49b6dff73d8772 + zh: 1f2182fd2c7dc3af +/agent-note-persistent-pty-sessions/decision/deferred-work: + en: c0ae6d86dd5c0635 + zh: 737bd3fda903d5e3 +/agent-note-persistent-pty-sessions/alternatives-considered: + en: cda0998b2bb05b7d + zh: 7cc5683a6dfd64be +/agent-note-persistent-pty-sessions/verification: + en: 08cd5f0369ee69e9 + zh: 3e9b13ba1f8b6bff +/agent-note-persistent-pty-sessions/consequences: + en: f8784b2ca03fc80a + zh: e20e38014292f86a diff --git a/.agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.i18n.yaml b/.agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.i18n.yaml index 3a30f6624d..c67f4a0d57 100644 --- a/.agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.i18n.yaml @@ -1,6 +1,34 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-19-model-facing-goal-tools.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.md -2026-07-19-model-facing-goal-tools.md: 2c05c8aa0ee2caecb0264fa87984085b3df5d785 -2026-07-19-model-facing-goal-tools.zh.md: f16055e52e4a3d6a4db423699a36929f6f8c4cd2 +/agent-note-model-facing-same-session-goal-tools: + en: 4d9b039620654dd6 + zh: e8703b6a1723f910 +/agent-note-model-facing-same-session-goal-tools/problem: + en: f8e860155bfc0b43 + zh: 3279c90b622e8c08 +/agent-note-model-facing-same-session-goal-tools/decision: + en: 0ab1e1c40cb2dac9 + zh: b4180b6681c130b2 +/agent-note-model-facing-same-session-goal-tools/decision/tools-and-model-contract: + en: 288a819f644611c9 + zh: d6bd7986ba091519 +/agent-note-model-facing-same-session-goal-tools/decision/execution-authority: + en: 63a9e7e85303b9f1 + zh: d3f1d0c225103cfe +/agent-note-model-facing-same-session-goal-tools/decision/blocking-threshold: + en: 398de9518db40d11 + zh: b7f36c4061ca7e78 +/agent-note-model-facing-same-session-goal-tools/testing: + en: 92650dd6648ca455 + zh: 5b57276a6a983fea +/agent-note-model-facing-same-session-goal-tools/alternatives-considered: + en: e84b9fc4823bcc1e + zh: a125628e4746bf50 +/agent-note-model-facing-same-session-goal-tools/consequences: + en: e254571a176b37e5 + zh: 01f76aff35e3618d +/agent-note-model-facing-same-session-goal-tools/known-limitations-and-deferred-work: + en: 5b043a930afd4a13 + zh: d91e8a61de2590a4 diff --git a/.agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.i18n.yaml b/.agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.i18n.yaml index 62b98a691a..722d00ad1a 100644 --- a/.agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.i18n.yaml @@ -1,6 +1,34 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-19-persisted-same-session-goal-domain.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.md -2026-07-19-persisted-same-session-goal-domain.md: 4ddc02c3bd3b7bbf04b3c6867a76673431309460 -2026-07-19-persisted-same-session-goal-domain.zh.md: 2bb937b0f637e54ab6d9a6e10ebe237849e08171 +/agent-note-persisted-same-session-goal-domain: + en: 05f6641270399579 + zh: 962259d5bd3b3e16 +/agent-note-persisted-same-session-goal-domain/problem: + en: 45e351264fabe761 + zh: 6513999a7d83a528 +/agent-note-persisted-same-session-goal-domain/decision: + en: 7efc52c6215aa755 + zh: e570a4f82e69300b +/agent-note-persisted-same-session-goal-domain/decision/durable-record-and-replay: + en: d4520ec456f4023a + zh: 2ffcb155955539e5 +/agent-note-persisted-same-session-goal-domain/decision/lifecycle-and-live-activation: + en: d68c058ff7a49fee + zh: cbcdbce1aade7758 +/agent-note-persisted-same-session-goal-domain/decision/service-boundary: + en: 0bff035a2664e7c0 + zh: ba303bd3ec64151b +/agent-note-persisted-same-session-goal-domain/testing: + en: 9fb97674d1dd45ac + zh: c56df41a9aa6767a +/agent-note-persisted-same-session-goal-domain/alternatives-considered: + en: b8bae793bb1c922d + zh: 4abb28a01b1fc7f3 +/agent-note-persisted-same-session-goal-domain/consequences: + en: fa46d172b9d01b52 + zh: 54c40631d1719624 +/agent-note-persisted-same-session-goal-domain/known-limitations-and-deferred-work: + en: 21f5c50b4eafa028 + zh: 4cad975fb10501bd diff --git a/.agents/notes/implemented/feature/2026-07-19-plugin-command-registration.i18n.yaml b/.agents/notes/implemented/feature/2026-07-19-plugin-command-registration.i18n.yaml index 8a975fd9bd..a8a8205207 100644 --- a/.agents/notes/implemented/feature/2026-07-19-plugin-command-registration.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-19-plugin-command-registration.i18n.yaml @@ -1,6 +1,37 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-19-plugin-command-registration.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-07-19-plugin-command-registration.md -2026-07-19-plugin-command-registration.md: f5033c6ac52dd09371d67ba5b54f0aa2cdba8024 -2026-07-19-plugin-command-registration.zh.md: 55f3a58f0e1f4c1ee6dfd7105e968a1a466f7806 +/agent-note-plugin-owned-human-command-registration: + en: f1509f79bd9e2445 + zh: 30f62b9b4f611f9d +/agent-note-plugin-owned-human-command-registration/problem: + en: 628dcc0bda181677 + zh: 71b110588f89c2b4 +/agent-note-plugin-owned-human-command-registration/decision: + en: acf2742722ab7c85 + zh: e0bdbd6fd0bf51b1 +/agent-note-plugin-owned-human-command-registration/decision/registry-contract: + en: 1b3daffaa9a8b56e + zh: fa99bb6bc553cafb +/agent-note-plugin-owned-human-command-registration/decision/scope-and-lifecycle: + en: 6d55a0d4b1b9606a + zh: 34bf959ef332630f +/agent-note-plugin-owned-human-command-registration/decision/direct-dispatch-and-cancellation: + en: 074ee61a689493cb + zh: 580035e2a4c82d4f +/agent-note-plugin-owned-human-command-registration/decision/tui-mapping: + en: 00f0f8b697d9e1ff + zh: 9c4ceb0024e50835 +/agent-note-plugin-owned-human-command-registration/testing: + en: 0679c206796636a6 + zh: ca2cc5df6aa3aa2e +/agent-note-plugin-owned-human-command-registration/alternatives-considered: + en: ffb2f060314a17b2 + zh: e7707cf5faf80227 +/agent-note-plugin-owned-human-command-registration/consequences: + en: 6b8525a4ca3213a8 + zh: 286a336a68669f72 +/agent-note-plugin-owned-human-command-registration/known-limitations-and-deferred-work: + en: 5e2417d5b1237526 + zh: dbfeea7c7ac38cf0 diff --git a/.agents/notes/implemented/feature/2026-07-20-ptc-typed-tool-returns.i18n.yaml b/.agents/notes/implemented/feature/2026-07-20-ptc-typed-tool-returns.i18n.yaml index b083ea6a1e..1d59d0072b 100644 --- a/.agents/notes/implemented/feature/2026-07-20-ptc-typed-tool-returns.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-20-ptc-typed-tool-returns.i18n.yaml @@ -1,6 +1,40 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-20-ptc-typed-tool-returns.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-07-20-ptc-typed-tool-returns.md -2026-07-20-ptc-typed-tool-returns.md: 08e760b95a40386bccc8c7a2722d289da10e3dff -2026-07-20-ptc-typed-tool-returns.zh.md: c2883740e1eeadbf6fb2413496104ff08a9bd1f7 +/agent-note-typed-tool-returns-in-ptc-mode: + en: 4b7c45b382db3a40 + zh: 96e9210446ec35ed +/agent-note-typed-tool-returns-in-ptc-mode/problem: + en: cf7610bb16ff04af + zh: 73b00b539dbaecd9 +/agent-note-typed-tool-returns-in-ptc-mode/decision: + en: 55bb889404c89f4a + zh: f9a9091569fbf7b4 +/agent-note-typed-tool-returns-in-ptc-mode/decision/generated-sdk: + en: 30583e9ac6715952 + zh: 3a85c9482abf574c +/agent-note-typed-tool-returns-in-ptc-mode/decision/binding-values-and-failures: + en: ecb95cafa2dc1297 + zh: ccdf300ca936ca12 +/agent-note-typed-tool-returns-in-ptc-mode/decision/outer-result-and-output-ledger: + en: d907d0a8205157e1 + zh: 1ed99168266a7ca4 +/agent-note-typed-tool-returns-in-ptc-mode/decision/typed-handles-and-lifetime: + en: c5d9997ae7c7362d + zh: 1da8883d17d2748e +/agent-note-typed-tool-returns-in-ptc-mode/decision/persistence-metadata-and-spill: + en: 4d1e5f83f15f99cc + zh: b7f41a084cb23745 +/agent-note-typed-tool-returns-in-ptc-mode/testing: + en: 728513c779f031f8 + zh: f6d869f18add7242 +/agent-note-typed-tool-returns-in-ptc-mode/alternatives-considered: + en: dedd87b9b35d8fab + zh: 78db4c7e8c4e5f61 +/agent-note-typed-tool-returns-in-ptc-mode/consequences: + en: 7c2ee65532ab76f8 + zh: 3fb074c69909d390 +/agent-note-typed-tool-returns-in-ptc-mode/known-limitations-and-deferred-work: + en: a42af629ad6872cc + zh: 41e5c0bb3de0ae4d diff --git a/.agents/notes/implemented/feature/2026-07-21-follow-instruction-symlinks.i18n.yaml b/.agents/notes/implemented/feature/2026-07-21-follow-instruction-symlinks.i18n.yaml index 77a58fcc17..b85229745f 100644 --- a/.agents/notes/implemented/feature/2026-07-21-follow-instruction-symlinks.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-21-follow-instruction-symlinks.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-21-follow-instruction-symlinks.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-07-21-follow-instruction-symlinks.md -2026-07-21-follow-instruction-symlinks.md: a6b4cb5d465d2ebf7088d8e3a04fbb32503e2e15 -2026-07-21-follow-instruction-symlinks.zh.md: a44f89d8ec3c636a875059aabe0683c6bf1da851 +/agent-note-follow-symlinked-instruction-files: + en: aa37067267aa70ff + zh: 75aff9256b49199f +/agent-note-follow-symlinked-instruction-files/problem: + en: 81e1947150ceb054 + zh: 97575f09a9e57db4 +/agent-note-follow-symlinked-instruction-files/decision: + en: 911b5bb48a95afd0 + zh: 1a38e50602b86bc4 +/agent-note-follow-symlinked-instruction-files/decision/trust-boundary-and-residual-risk: + en: 31ea638766861600 + zh: a270db3c868585b0 +/agent-note-follow-symlinked-instruction-files/alternatives-considered: + en: cf5e62b7cae4f0dc + zh: ff7d5821958efeac +/agent-note-follow-symlinked-instruction-files/consequences: + en: b0ee45a9e4d95dd5 + zh: 338d3758f400a651 diff --git a/.agents/notes/implemented/feature/2026-07-23-session-telemetry-otel-revival.i18n.yaml b/.agents/notes/implemented/feature/2026-07-23-session-telemetry-otel-revival.i18n.yaml index c193f39ddd..8f2fe2b211 100644 --- a/.agents/notes/implemented/feature/2026-07-23-session-telemetry-otel-revival.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-23-session-telemetry-otel-revival.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-23-session-telemetry-otel-revival.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-07-23-session-telemetry-otel-revival.md -2026-07-23-session-telemetry-otel-revival.md: dc52ee87ef78107d674e49af3c20c255266f0414 -2026-07-23-session-telemetry-otel-revival.zh.md: f647ea289684eca648fe797011daad858612546f +/agent-note-session-telemetry-seam-with-mandatory-redaction-and-the-otel-backend: + en: 36222884462b86d2 + zh: 2f834557e3fa3baa +/agent-note-session-telemetry-seam-with-mandatory-redaction-and-the-otel-backend/problem: + en: d3383b495424d118 + zh: 4e6ffc8ebfa7f741 +/agent-note-session-telemetry-seam-with-mandatory-redaction-and-the-otel-backend/decision: + en: 85b950a67315023c + zh: cb4c08338c30b226 +/agent-note-session-telemetry-seam-with-mandatory-redaction-and-the-otel-backend/alternatives-considered: + en: 01838eefca2bc117 + zh: fc71f5449d095b27 +/agent-note-session-telemetry-seam-with-mandatory-redaction-and-the-otel-backend/consequences: + en: 487d440abfc7e3a9 + zh: a31d6abc8a0176c6 diff --git a/.agents/notes/implemented/feature/2026-07-25-subagent-policy-inheritance.i18n.yaml b/.agents/notes/implemented/feature/2026-07-25-subagent-policy-inheritance.i18n.yaml index 892090c52d..eef9430a5a 100644 --- a/.agents/notes/implemented/feature/2026-07-25-subagent-policy-inheritance.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-25-subagent-policy-inheritance.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-25-subagent-policy-inheritance.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-07-25-subagent-policy-inheritance.md -2026-07-25-subagent-policy-inheritance.md: 8ca63bd511a275acbfda5ddee8cb50af51c348a1 -2026-07-25-subagent-policy-inheritance.zh.md: 630c69274e8e9cba07a6152395149757be3d6560 +/agent-note-in-process-subagent-policy-inheritance-the-child-starts-under-the-parent-s-sandbox-override: + en: 02b7ba888360c75c + zh: 42a6d20927622c9c +/agent-note-in-process-subagent-policy-inheritance-the-child-starts-under-the-parent-s-sandbox-override/problem: + en: 476b4a1b9ada2d8a + zh: 15b8051d22bb1dd0 +/agent-note-in-process-subagent-policy-inheritance-the-child-starts-under-the-parent-s-sandbox-override/decision: + en: dc11e7e52cdd4704 + zh: e000adedb13f2a98 +/agent-note-in-process-subagent-policy-inheritance-the-child-starts-under-the-parent-s-sandbox-override/decision/what-a-blocked-child-experiences: + en: 3b6ff196a06c2420 + zh: c04cb8bd81eb1c4b +/agent-note-in-process-subagent-policy-inheritance-the-child-starts-under-the-parent-s-sandbox-override/alternatives-considered: + en: 2f659b5b3b6faa21 + zh: c3712d0b6f8903c9 +/agent-note-in-process-subagent-policy-inheritance-the-child-starts-under-the-parent-s-sandbox-override/consequences: + en: 1b0a242aa33a8005 + zh: 426f83e118771b8e diff --git a/.agents/notes/implemented/feature/2026-07-26-ptc-live-parallel-dispatch.i18n.yaml b/.agents/notes/implemented/feature/2026-07-26-ptc-live-parallel-dispatch.i18n.yaml index ae720a62ac..07e8978506 100644 --- a/.agents/notes/implemented/feature/2026-07-26-ptc-live-parallel-dispatch.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-26-ptc-live-parallel-dispatch.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-26-ptc-live-parallel-dispatch.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-07-26-ptc-live-parallel-dispatch.md -2026-07-26-ptc-live-parallel-dispatch.md: f064314098af9c074f7cd06dc9ceea3df4c91c76 -2026-07-26-ptc-live-parallel-dispatch.zh.md: 70cbebcdc30c5771a2c29f36b588232822e19269 +/agent-note-ptc-mode-live-dispatch-lifecycle-and-native-contract-parallelism: + en: f546683c54ae7d6b + zh: 1c0760c5f49f0188 +/agent-note-ptc-mode-live-dispatch-lifecycle-and-native-contract-parallelism/problem: + en: ce16b44b1db07ec0 + zh: 30681dab84948cd8 +/agent-note-ptc-mode-live-dispatch-lifecycle-and-native-contract-parallelism/decision: + en: 7ac907f773ff9d50 + zh: 86982428baf83cde +/agent-note-ptc-mode-live-dispatch-lifecycle-and-native-contract-parallelism/alternatives-considered: + en: b015fa95b46e5fd5 + zh: b4fe283a1ab598c1 +/agent-note-ptc-mode-live-dispatch-lifecycle-and-native-contract-parallelism/consequences: + en: d16ba3a88fa7d528 + zh: 8c374a14a4f34cfe diff --git a/.agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.i18n.yaml b/.agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.i18n.yaml index 21f75ab4b4..770368862d 100644 --- a/.agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.i18n.yaml @@ -1,6 +1,37 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-27-web-subagent-conversations.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-subagent-conversations.md -2026-07-27-web-subagent-conversations.md: 3798a5a2e5deb8b3801298def31c3a1890877796 -2026-07-27-web-subagent-conversations.zh.md: 4531528dd2a58baff3aaeaf53f20e037fce6cec4 +/agent-note-web-subagent-catalog-and-human-continuation: + en: c6373db2300cb803 + zh: 4d0589f21ec284ff +/agent-note-web-subagent-catalog-and-human-continuation/problem: + en: dfdbe64d34f9e05b + zh: 4cb7a92a6d3dc3e3 +/agent-note-web-subagent-catalog-and-human-continuation/decision: + en: 8892eea7f62d45ed + zh: 18f64966ff53e38b +/agent-note-web-subagent-catalog-and-human-continuation/design-context: + en: 3c44fc5af90bc807 + zh: 478538d028a52858 +/agent-note-web-subagent-catalog-and-human-continuation/product-contract: + en: 2060d607d1cd1ef3 + zh: e7100887358625c4 +/agent-note-web-subagent-catalog-and-human-continuation/host-adapter-and-wire-contract: + en: e0e82599b0a8d3bf + zh: e671e1f0f98795b4 +/agent-note-web-subagent-catalog-and-human-continuation/client-object-layer-and-presentation: + en: c0c891d86b1f7e1e + zh: c7b8da2bee81755d +/agent-note-web-subagent-catalog-and-human-continuation/default-web-assembly: + en: 6d4d8db99535aa18 + zh: 803554b55a67acb1 +/agent-note-web-subagent-catalog-and-human-continuation/alternatives-considered: + en: 427f0a8ace8ad692 + zh: 876771621858f77d +/agent-note-web-subagent-catalog-and-human-continuation/testing: + en: 0c2f7f5cc473ecff + zh: 00b2c22e109b3429 +/agent-note-web-subagent-catalog-and-human-continuation/consequences: + en: 143fc76c6d09e8fb + zh: 01a042fb32b0d6e0 diff --git a/.agents/notes/implemented/feature/2026-07-27-workspace-registration-deletion.i18n.yaml b/.agents/notes/implemented/feature/2026-07-27-workspace-registration-deletion.i18n.yaml index ff57ba5953..ff719e7b97 100644 --- a/.agents/notes/implemented/feature/2026-07-27-workspace-registration-deletion.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-27-workspace-registration-deletion.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-27-workspace-registration-deletion.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-workspace-registration-deletion.md -2026-07-27-workspace-registration-deletion.md: 1d9804cfc4e2d44ea6c44f69b69dd6b10578f08a -2026-07-27-workspace-registration-deletion.zh.md: 54e10b67a7607e32b08609fe00191da87d75f7e8 +/agent-note-workspace-registration-deletion: + en: 68262d0cd61db2ae + zh: bb2f78757972aae6 +/agent-note-workspace-registration-deletion/problem: + en: a51dbe0190d4dff0 + zh: 25b6c3083ee60627 +/agent-note-workspace-registration-deletion/decision: + en: 70182cd2979bdfd6 + zh: a6580a23cfbe6c07 +/agent-note-workspace-registration-deletion/durable-commit-and-publication: + en: f97d526274c3608b + zh: b0ae161f4e9febb8 +/agent-note-workspace-registration-deletion/client-convergence: + en: 84e56775e22ecf23 + zh: ab146e3179868efb +/agent-note-workspace-registration-deletion/confirmation-interaction: + en: 95178832030a9697 + zh: 3a2bd50680ed0c97 +/agent-note-workspace-registration-deletion/alternatives-considered: + en: d7b866f763db5364 + zh: 5e0865d42522d189 +/agent-note-workspace-registration-deletion/verification: + en: a7e98d39e3ffdba7 + zh: 9c4f8168e3fff83e +/agent-note-workspace-registration-deletion/consequences: + en: 3a50bfb5d93f6ef7 + zh: 80b8dd19b2d50b16 diff --git a/.agents/notes/implemented/feature/2026-07-28-continuable-subagent-conversations.i18n.yaml b/.agents/notes/implemented/feature/2026-07-28-continuable-subagent-conversations.i18n.yaml index 1369b927e3..e3f1e8bb08 100644 --- a/.agents/notes/implemented/feature/2026-07-28-continuable-subagent-conversations.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-28-continuable-subagent-conversations.i18n.yaml @@ -1,6 +1,52 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-28-continuable-subagent-conversations.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-continuable-subagent-conversations.md -2026-07-28-continuable-subagent-conversations.md: a30966c4d614fda837bc2bac95f6b6e411de9791 -2026-07-28-continuable-subagent-conversations.zh.md: 59a02a211e0ca861f819a7524e4d69ad09acdbbc +/agent-note-continuable-subagents: + en: 14c7d31032237174 + zh: ac2666670a0ca5ab +/agent-note-continuable-subagents/problem: + en: a72071eeedb77402 + zh: 818d16ce429fd610 +/agent-note-continuable-subagents/decision: + en: 445a8c9783aad214 + zh: 9b5c576bb76100a4 +/agent-note-continuable-subagents/decision/materialization-and-public-operations: + en: c7c55e5738a7c0d8 + zh: 54849d8938f7c77f +/agent-note-continuable-subagents/decision/durable-session-and-live-activation: + en: 92fd7302d4c8f2e5 + zh: e821764c07070ebc +/agent-note-continuable-subagents/decision/activation-lifecycle: + en: 68215c0ae5628608 + zh: fdf038decac8f07a +/agent-note-continuable-subagents/decision/one-inbox-and-follow-up-delivery: + en: 065399ce5b1de59e + zh: b60af3c37851323e +/agent-note-continuable-subagents/decision/child-ownership: + en: 503fb4311cd94674 + zh: 376fa98ec4d22b20 +/agent-note-continuable-subagents/decision/adjacent-agent-messaging: + en: a6899f5a82d5dceb + zh: 0671b89b2dca9c4e +/agent-note-continuable-subagents/decision/agent-and-human-scheduling: + en: 8c861f3846fef1b5 + zh: 8cc3d668d73c7748 +/agent-note-continuable-subagents/decision/authority-and-recorded-sender-identity: + en: f5ba7e9c5339ceef + zh: 31ae1b2f57e44463 +/agent-note-continuable-subagents/decision/durability-disposal-and-recovery: + en: 276626f3b6d4a080 + zh: 806f9c4786bc4004 +/agent-note-continuable-subagents/decision/scope: + en: a47eed90de23351c + zh: 2351e4acbfe4c8e1 +/agent-note-continuable-subagents/alternatives-considered: + en: 485aef32231dac62 + zh: 5e2c103afb3e2d6f +/agent-note-continuable-subagents/consequences: + en: fa5a6b4bf262b8dd + zh: 4bffd7b8cc2efae5 +/agent-note-continuable-subagents/consequences/accepted-costs: + en: 4d4330ee4d7c3f31 + zh: 8fd11ba0625fb76d diff --git a/.agents/notes/implemented/feature/2026-07-28-skill-invocation-policy.i18n.yaml b/.agents/notes/implemented/feature/2026-07-28-skill-invocation-policy.i18n.yaml index 4e16712b96..55f7304827 100644 --- a/.agents/notes/implemented/feature/2026-07-28-skill-invocation-policy.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-28-skill-invocation-policy.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-28-skill-invocation-policy.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-skill-invocation-policy.md -2026-07-28-skill-invocation-policy.md: 614a0058e3887c6977cf92b4bcf7d15557215996 -2026-07-28-skill-invocation-policy.zh.md: a49cb96ea63af72d5abc41406097fcfb1b06739a +/agent-note-independent-model-and-user-skill-invocation-policy: + en: d5f87e846ef041b1 + zh: 273e87043d19a709 +/agent-note-independent-model-and-user-skill-invocation-policy/problem: + en: 9fc564115fca4b22 + zh: 3a414ee5c1f7f842 +/agent-note-independent-model-and-user-skill-invocation-policy/decision: + en: dbd7aabf9fdd7c37 + zh: d71a2fd355e30fd1 +/agent-note-independent-model-and-user-skill-invocation-policy/alternatives-considered: + en: fdffcd101a494c4a + zh: db802bf9bc04ae74 +/agent-note-independent-model-and-user-skill-invocation-policy/consequences: + en: 94071073367396eb + zh: 5afca22d8140b5c0 diff --git a/.agents/notes/implemented/feature/2026-07-30-queued-manual-compaction.i18n.yaml b/.agents/notes/implemented/feature/2026-07-30-queued-manual-compaction.i18n.yaml index 73f3dd021b..9da56d634b 100644 --- a/.agents/notes/implemented/feature/2026-07-30-queued-manual-compaction.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-30-queued-manual-compaction.i18n.yaml @@ -1,6 +1,43 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-30-queued-manual-compaction.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-queued-manual-compaction.md -2026-07-30-queued-manual-compaction.md: 3efd1a490148b34b0ee76800ed795dfaab280743 -2026-07-30-queued-manual-compaction.zh.md: 2da3f494afcdb0e0db47a0adb2e2a6101f7ef2e6 +/agent-note-queued-manual-compaction-with-one-durable-lock: + en: 45504a64618db51a + zh: f8dfebaf42ee4ddf +/agent-note-queued-manual-compaction-with-one-durable-lock/problem: + en: ffd033e0cea4b612 + zh: 63fa18871f038eb7 +/agent-note-queued-manual-compaction-with-one-durable-lock/decision: + en: a15c7c13f167e5ac + zh: 63bcc2ef60c2f344 +/agent-note-queued-manual-compaction-with-one-durable-lock/decision/compact-is-a-command-over-a-backend-independent-seam: + en: a8631732e038e08d + zh: 68cb705f38ddfa57 +/agent-note-queued-manual-compaction-with-one-durable-lock/decision/idle-maintenance-is-synchronously-claimed: + en: a11c700f32838561 + zh: c20636c5f7efabaf +/agent-note-queued-manual-compaction-with-one-durable-lock/decision/one-parameterized-transaction-owns-every-bracket: + en: 7b75672fafc370c9 + zh: 4fb473856c9c7265 +/agent-note-queued-manual-compaction-with-one-durable-lock/decision/bracket-first-deliberately-differs-from-the-surveyed-implementations: + en: 309671a79b437033 + zh: 86e0f366aed73c35 +/agent-note-queued-manual-compaction-with-one-durable-lock/decision/markers-are-time-points-not-an-event-container: + en: e9d8043178dc946f + zh: 56808150ba2ab275 +/agent-note-queued-manual-compaction-with-one-durable-lock/decision/end-seed-distinguishes-live-and-stale-orphans: + en: cc767e216225e117 + zh: 4ec7dbc179f96c37 +/agent-note-queued-manual-compaction-with-one-durable-lock/decision/reference-implementation-boundaries: + en: 97b121c53b8f3b68 + zh: 13d86db92c30bef1 +/agent-note-queued-manual-compaction-with-one-durable-lock/alternatives-considered: + en: f1c5bae090425598 + zh: 60a30f851d85dfb0 +/agent-note-queued-manual-compaction-with-one-durable-lock/verification: + en: 37587419460fcf36 + zh: e45c752f93d5a87e +/agent-note-queued-manual-compaction-with-one-durable-lock/consequences: + en: b8c71ea1d1db7b8e + zh: 0d276bb8317ada91 diff --git a/.agents/notes/implemented/feature/2026-07-30-web-remote-markdown-images.i18n.yaml b/.agents/notes/implemented/feature/2026-07-30-web-remote-markdown-images.i18n.yaml index afe776d402..aea31db0d2 100644 --- a/.agents/notes/implemented/feature/2026-07-30-web-remote-markdown-images.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-30-web-remote-markdown-images.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-30-web-remote-markdown-images.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-remote-markdown-images.md -2026-07-30-web-remote-markdown-images.md: 23dc699aab87597b7b5bfee83d0d745d4798303e -2026-07-30-web-remote-markdown-images.zh.md: 54db9b25e9f558d77c84bb67c05fadea2c9086ac +/agent-note-remote-web-markdown-images: + en: a11eadff0703761d + zh: 59841eaf2993b7c4 +/agent-note-remote-web-markdown-images/problem: + en: 97447c93b654eda7 + zh: 456a3ceed4967d0a +/agent-note-remote-web-markdown-images/decision: + en: 8dfbdb81dff9cae3 + zh: 217042998b65c158 +/agent-note-remote-web-markdown-images/alternatives-considered: + en: 32a4116e8ffc4b16 + zh: 59dd991fede9ac71 +/agent-note-remote-web-markdown-images/consequences: + en: 12b97c75c5d19308 + zh: ee8102b7d01e579b diff --git a/.agents/notes/implemented/feature/2026-07-31-even-out-shipped-tool-rosters.i18n.yaml b/.agents/notes/implemented/feature/2026-07-31-even-out-shipped-tool-rosters.i18n.yaml index 1f490bce21..2a3d4bae8d 100644 --- a/.agents/notes/implemented/feature/2026-07-31-even-out-shipped-tool-rosters.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-31-even-out-shipped-tool-rosters.i18n.yaml @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-31-even-out-shipped-tool-rosters.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-even-out-shipped-tool-rosters.md -2026-07-31-even-out-shipped-tool-rosters.md: 90efaeb4734c806bc1bdc63d883c4e3158792a13 -2026-07-31-even-out-shipped-tool-rosters.zh.md: 4379ffbcd23ea80acd6801ea260fb686cd955fa5 +/agent-note-even-out-the-shipped-tool-rosters: + en: aa8ec8438dc609aa + zh: 28172207b09ea3ad +/agent-note-even-out-the-shipped-tool-rosters/problem: + en: 69e127b53366cf66 + zh: 63f783ac453d4cbe +/agent-note-even-out-the-shipped-tool-rosters/decision: + en: 45662b711bd9a201 + zh: 845cd2a9193cbe0f +/agent-note-even-out-the-shipped-tool-rosters/decision/what-stays-unmounted-and-why: + en: 7a74b42b428b9cf9 + zh: 4f534ccd26b9ecc4 +/agent-note-even-out-the-shipped-tool-rosters/decision/mcp-is-a-dependency-not-a-row: + en: 45358314e6adae26 + zh: 85ca6a6ce7bbf947 +/agent-note-even-out-the-shipped-tool-rosters/testing: + en: 07e46125d49a2068 + zh: 83a1b2737768651b +/agent-note-even-out-the-shipped-tool-rosters/alternatives-considered: + en: cf41f0bf700af59c + zh: 1dcaafe6bb944d92 +/agent-note-even-out-the-shipped-tool-rosters/consequences: + en: cf1821c985507b13 + zh: 0f7396a06d1b19fb diff --git a/.agents/notes/implemented/feature/2026-07-31-web-default-search.i18n.yaml b/.agents/notes/implemented/feature/2026-07-31-web-default-search.i18n.yaml index ce197d5093..f398e72a4e 100644 --- a/.agents/notes/implemented/feature/2026-07-31-web-default-search.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-31-web-default-search.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-31-web-default-search.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-default-search.md -2026-07-31-web-default-search.md: fed162cf2552e0209599634a7f215c48c1943339 -2026-07-31-web-default-search.zh.md: 3f39ef7d9f3adbc1c43a327faac78b21a08654de +/agent-note-default-web-search-in-shipped-compositions: + en: 030dc2ef246ba33d + zh: 94cc720adfd3d4ef +/agent-note-default-web-search-in-shipped-compositions/problem: + en: cd5af0c73d578874 + zh: 29e14c7ff1c77391 +/agent-note-default-web-search-in-shipped-compositions/decision: + en: 7062647c8e227743 + zh: 26bdd8dc4b0cd7ad +/agent-note-default-web-search-in-shipped-compositions/alternatives-considered: + en: f28e0f1183e755ce + zh: 2cbf256a33d99686 +/agent-note-default-web-search-in-shipped-compositions/consequences: + en: d69965f3be327186 + zh: 4e2b10bb0a227f0a diff --git a/.agents/notes/implemented/feature/2026-07-31-web-workspace-file-links.i18n.yaml b/.agents/notes/implemented/feature/2026-07-31-web-workspace-file-links.i18n.yaml index a8899fea13..25355eb4d5 100644 --- a/.agents/notes/implemented/feature/2026-07-31-web-workspace-file-links.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-07-31-web-workspace-file-links.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-31-web-workspace-file-links.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-workspace-file-links.md -2026-07-31-web-workspace-file-links.md: 1fd58deafa99f6c84371d2a2c3975eae86522ac2 -2026-07-31-web-workspace-file-links.zh.md: 8cb1d06562398a832fed0743a7c06894d0a4212b +/agent-note-opening-a-produced-file-from-the-web-ui: + en: bdfcd62110aaefa2 + zh: 92981f1fe8ca52c9 +/agent-note-opening-a-produced-file-from-the-web-ui/problem: + en: 06ba78ace240645c + zh: 07a46477d41ddcee +/agent-note-opening-a-produced-file-from-the-web-ui/decision: + en: a3d6e9aa14dc6fb8 + zh: d9696d46eb4a348d +/agent-note-opening-a-produced-file-from-the-web-ui/alternatives-considered: + en: ba9603055aea84aa + zh: 3ab217f1b1ccb3b6 +/agent-note-opening-a-produced-file-from-the-web-ui/consequences: + en: aa460548654a89a5 + zh: ebb8e51f5cd18f0b diff --git a/.agents/notes/implemented/feature/2026-08-02-pwsh-tool-bash-parity.i18n.yaml b/.agents/notes/implemented/feature/2026-08-02-pwsh-tool-bash-parity.i18n.yaml index 66983526a5..4ac0e96629 100644 --- a/.agents/notes/implemented/feature/2026-08-02-pwsh-tool-bash-parity.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-02-pwsh-tool-bash-parity.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-02-pwsh-tool-bash-parity.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-02-pwsh-tool-bash-parity.md -2026-08-02-pwsh-tool-bash-parity.md: cc2e7797c07ee8fd8c876cb30f9154a8ee2903c3 -2026-08-02-pwsh-tool-bash-parity.zh.md: b7949f1a5145fb6dac06bc47eeee488497b169d6 +/agent-note-pwsh-tool-bash-parity: + en: 76e33af7ff962cd2 + zh: 392f3d5f7100c564 +/agent-note-pwsh-tool-bash-parity/problem: + en: de5bfad14ef58243 + zh: fe8168a215719127 +/agent-note-pwsh-tool-bash-parity/decision: + en: 169a42b6c2dc965d + zh: 4172091b0299c748 +/agent-note-pwsh-tool-bash-parity/alternatives-considered: + en: 7dc381c52b191bc9 + zh: 6c07393519d3bb21 +/agent-note-pwsh-tool-bash-parity/consequences: + en: ea302108933e8a69 + zh: 563db786f22d07fa diff --git a/.agents/notes/implemented/feature/2026-08-04-claude-code-and-codex-subagent-backends.i18n.yaml b/.agents/notes/implemented/feature/2026-08-04-claude-code-and-codex-subagent-backends.i18n.yaml index d95f30747e..dc33cc6355 100644 --- a/.agents/notes/implemented/feature/2026-08-04-claude-code-and-codex-subagent-backends.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-04-claude-code-and-codex-subagent-backends.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-04-claude-code-and-codex-subagent-backends.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-claude-code-and-codex-subagent-backends.md -2026-08-04-claude-code-and-codex-subagent-backends.md: d11b200e95cbb0769ad30ae88cb976c7921c80f8 -2026-08-04-claude-code-and-codex-subagent-backends.zh.md: 5899a27bb8ad592d9b83b7d19e681bef375525fb +/agent-note-claude-code-and-codex-subagent-backends: + en: 0f3599cefa53ad5b + zh: 988c28cdd9ee4e61 +/agent-note-claude-code-and-codex-subagent-backends/problem: + en: dbd5758c1c46b303 + zh: ca5b8479f4358c9b +/agent-note-claude-code-and-codex-subagent-backends/decision: + en: caf8c74c3466b27a + zh: 5b1daf0a738221cd +/agent-note-claude-code-and-codex-subagent-backends/decision/ownership-and-lifecycle: + en: 1c106b8b0063fee2 + zh: 0a38a1ffbe93086d +/agent-note-claude-code-and-codex-subagent-backends/codex-provider: + en: 5835894b4ac2e182 + zh: c1fcbd2b2b7e0ea0 +/agent-note-claude-code-and-codex-subagent-backends/claude-code-provider: + en: 81a92541d399b155 + zh: d73a1f20c34982bb +/agent-note-claude-code-and-codex-subagent-backends/distribution-and-evidence: + en: ff6d6216e5ce11dd + zh: 6198c006ba8c61e7 +/agent-note-claude-code-and-codex-subagent-backends/alternatives-considered: + en: 10b5b282fac03988 + zh: bf9fb4899f2c8e16 +/agent-note-claude-code-and-codex-subagent-backends/consequences: + en: 4154bcdc7ad9ff7c + zh: e2bc1f2010bb48a9 diff --git a/.agents/notes/implemented/feature/2026-08-05-agent-teams.i18n.yaml b/.agents/notes/implemented/feature/2026-08-05-agent-teams.i18n.yaml index 4eb9df8cb0..1f9b21f587 100644 --- a/.agents/notes/implemented/feature/2026-08-05-agent-teams.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-05-agent-teams.i18n.yaml @@ -1,6 +1,40 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-05-agent-teams.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-05-agent-teams.md -2026-08-05-agent-teams.md: 6333e511ba1e71823cfa55c27ba46b2665d1ef15 -2026-08-05-agent-teams.zh.md: 3fed1302146406f71d63c7ff2df8f031a91c9804 +/agent-note-durable-agent-teams-over-continuable-children: + en: c914d8148bfc4bf9 + zh: a8115f87c0ac6cae +/agent-note-durable-agent-teams-over-continuable-children/problem: + en: bab62798c2dc07b4 + zh: fe42c5abf9127d37 +/agent-note-durable-agent-teams-over-continuable-children/decision: + en: 58568b3a9b5f60d5 + zh: 02d67b6cb0736c0a +/agent-note-durable-agent-teams-over-continuable-children/profile-delegation: + en: 3a66308576f74247 + zh: 3453f0bcce88033d +/agent-note-durable-agent-teams-over-continuable-children/team-identity: + en: 83e446c928a20c47 + zh: b0a2bd24419dd815 +/agent-note-durable-agent-teams-over-continuable-children/provisioning-and-recovery: + en: 085846d0078c0898 + zh: 40b2ca3ae6864451 +/agent-note-durable-agent-teams-over-continuable-children/mailbox-and-task-transactions: + en: ab2ad55021eb34e0 + zh: 2d1996df7a69201d +/agent-note-durable-agent-teams-over-continuable-children/shared-checkout-boundary: + en: 3969de3b44e412c8 + zh: 12be5854816cb808 +/agent-note-durable-agent-teams-over-continuable-children/web-projection: + en: e6348054f024725b + zh: 8740636e99940308 +/agent-note-durable-agent-teams-over-continuable-children/alternatives-considered: + en: bb266fe7a97f0828 + zh: 7c86c2d6d11ba02a +/agent-note-durable-agent-teams-over-continuable-children/testing: + en: 151b462649212acf + zh: 983c4bee7b71c1e3 +/agent-note-durable-agent-teams-over-continuable-children/consequences: + en: c3740ae56809e537 + zh: 76a1e77d14cb6f26 diff --git a/.agents/notes/implemented/feature/2026-08-05-context-form-vocabulary.i18n.yaml b/.agents/notes/implemented/feature/2026-08-05-context-form-vocabulary.i18n.yaml index bcd3dfd359..19c93bd64d 100644 --- a/.agents/notes/implemented/feature/2026-08-05-context-form-vocabulary.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-05-context-form-vocabulary.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-05-context-form-vocabulary.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-05-context-form-vocabulary.md -2026-08-05-context-form-vocabulary.md: e1c909b761fee60ebacb306ef204a4212a03baa4 -2026-08-05-context-form-vocabulary.zh.md: 4d595bf52fba2f7323643ddc47bd365ce6508c9e +/agent-note-producer-declared-context-forms: + en: a88151ac41197659 + zh: 4aaffb71b4ae04ea +/agent-note-producer-declared-context-forms/problem: + en: 74c06aa0b3e5337e + zh: c13364dbaebabba1 +/agent-note-producer-declared-context-forms/decision: + en: e97830627fd8245f + zh: 0b035c15ed09902d +/agent-note-producer-declared-context-forms/why-not-a-presenter-registry: + en: feb1b16eeb312e0c + zh: 9eb3c5af2d510235 +/agent-note-producer-declared-context-forms/alternatives-considered: + en: 86f7f90f4c573316 + zh: d8008512145a89b4 +/agent-note-producer-declared-context-forms/testing: + en: 5910183c18c3341e + zh: 7c5d4e538a66533f +/agent-note-producer-declared-context-forms/consequences: + en: 15d3d98980ea3919 + zh: 4e14b65420de0df3 diff --git a/.agents/notes/implemented/feature/2026-08-05-durable-web-schedule.i18n.yaml b/.agents/notes/implemented/feature/2026-08-05-durable-web-schedule.i18n.yaml index a2330d603f..95f9c571b7 100644 --- a/.agents/notes/implemented/feature/2026-08-05-durable-web-schedule.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-05-durable-web-schedule.i18n.yaml @@ -1,6 +1,37 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-05-durable-web-schedule.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-05-durable-web-schedule.md -2026-08-05-durable-web-schedule.md: b09ab752c9db0587b49dbe50a152144b9ff19515 -2026-08-05-durable-web-schedule.zh.md: 8d84be3e3589969245fa41f433166eabacdf3951 +/agent-note-durable-session-local-reminders: + en: c40fc2bc6dd1b469 + zh: c3932a1c8c60579b +/agent-note-durable-session-local-reminders/problem: + en: 75d2d50c48475d22 + zh: 293c507e9e516f29 +/agent-note-durable-session-local-reminders/decision: + en: 7fd21223d6306a39 + zh: b792a415d9dccba0 +/agent-note-durable-session-local-reminders/decision/session-log-authority-and-tools: + en: 23a928cba17217d6 + zh: 7995b144db6e4c70 +/agent-note-durable-session-local-reminders/decision/explicit-absolute-time-boundary: + en: 2e1fe906d42245aa + zh: bd21d4a2dd7d8afc +/agent-note-durable-session-local-reminders/decision/bounded-fixed-rate-semantics: + en: 2ebada22d530b18a + zh: 90e7dd128c8ba54a +/agent-note-durable-session-local-reminders/decision/live-delivery-lifecycle: + en: e69281749cf18500 + zh: 9ce38e39e486f2d6 +/agent-note-durable-session-local-reminders/decision/read-only-web-catalog: + en: 6ea0fcb2512d1434 + zh: ef9e430200677c9f +/agent-note-durable-session-local-reminders/alternatives-considered: + en: d86b5e8b0380c22a + zh: e6b6fce158608b08 +/agent-note-durable-session-local-reminders/verification: + en: 716fce79e742ecfa + zh: 6abb1480f1b9e2d9 +/agent-note-durable-session-local-reminders/consequences: + en: 7abf5e7d73b32153 + zh: c178fb3f1f28dee4 diff --git a/.agents/notes/implemented/feature/2026-08-06-continuable-subagent-interrupt.i18n.yaml b/.agents/notes/implemented/feature/2026-08-06-continuable-subagent-interrupt.i18n.yaml index ff0246f556..a030f39da0 100644 --- a/.agents/notes/implemented/feature/2026-08-06-continuable-subagent-interrupt.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-06-continuable-subagent-interrupt.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-06-continuable-subagent-interrupt.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-06-continuable-subagent-interrupt.md -2026-08-06-continuable-subagent-interrupt.md: e865415bbba4ea196afd7d075a079412f18e5a1e -2026-08-06-continuable-subagent-interrupt.zh.md: ed4981bdac12a5c8b09b2e8dbc6363817e4d7dea +/agent-note-continuable-subagent-current-turn-interrupt: + en: 0940bfeaf12caf8c + zh: e6a1da625950371d +/agent-note-continuable-subagent-current-turn-interrupt/problem: + en: be2b1e9ef5bb2511 + zh: 36c7ee54c37c0700 +/agent-note-continuable-subagent-current-turn-interrupt/decision: + en: db543685b2fd2f88 + zh: fcc848c04036253c +/agent-note-continuable-subagent-current-turn-interrupt/alternatives-considered: + en: e7e953783cc4a332 + zh: be5d47a503b47170 +/agent-note-continuable-subagent-current-turn-interrupt/consequences: + en: 4a7ea28d02c66b63 + zh: bad8d6e58b45bd81 +/agent-note-continuable-subagent-current-turn-interrupt/testing: + en: e46413bc89f9238e + zh: 4fb1639ae696e9a4 diff --git a/.agents/notes/implemented/feature/2026-08-06-manager-owned-subagent-settlement-delivery.i18n.yaml b/.agents/notes/implemented/feature/2026-08-06-manager-owned-subagent-settlement-delivery.i18n.yaml index a8b84e3d55..c405aca74b 100644 --- a/.agents/notes/implemented/feature/2026-08-06-manager-owned-subagent-settlement-delivery.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-06-manager-owned-subagent-settlement-delivery.i18n.yaml @@ -1,6 +1,43 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-06-manager-owned-subagent-settlement-delivery.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-06-manager-owned-subagent-settlement-delivery.md -2026-08-06-manager-owned-subagent-settlement-delivery.md: 7f6cfc90862b5bb32368b4b0e1fbe068ba0cbf66 -2026-08-06-manager-owned-subagent-settlement-delivery.zh.md: 23c5506f79d4d95308b0533e8d507ac856c4d85e +/agent-note-settlement-delivery-belongs-to-the-continuation-manager: + en: e8e4fec15acfe5d4 + zh: 6dac0279cf244edc +/agent-note-settlement-delivery-belongs-to-the-continuation-manager/problem: + en: 325f283354af59f6 + zh: 059179e883da78c2 +/agent-note-settlement-delivery-belongs-to-the-continuation-manager/decision: + en: 472a34f28ed5200a + zh: 70dcbbd2e26dc32f +/agent-note-settlement-delivery-belongs-to-the-continuation-manager/decision/closing-text: + en: 229151705efda8a9 + zh: b4e94b52280a2076 +/agent-note-settlement-delivery-belongs-to-the-continuation-manager/decision/runtime-source: + en: b2e4931dfb6c21b1 + zh: 9bf619cd5b697e68 +/agent-note-settlement-delivery-belongs-to-the-continuation-manager/decision/two-ordering-rules-and-why-the-manager-owns-them: + en: 34fad866d5c6377b + zh: e865e2cb70c3e00a +/agent-note-settlement-delivery-belongs-to-the-continuation-manager/decision/establishment-holds-ownership-open: + en: bcaf3f22ba44fa01 + zh: d7b0968990f41a66 +/agent-note-settlement-delivery-belongs-to-the-continuation-manager/decision/scheduling: + en: 3d1862329727a379 + zh: 92fcf4ffd366ea30 +/agent-note-settlement-delivery-belongs-to-the-continuation-manager/decision/the-epoch-s-own-log-is-the-whole-account: + en: f444a596a75f0180 + zh: ec9c0b61a38a3458 +/agent-note-settlement-delivery-belongs-to-the-continuation-manager/decision/snapshot-coverage: + en: 9e50e4014df1d5b0 + zh: 1a111b53a149a21b +/agent-note-settlement-delivery-belongs-to-the-continuation-manager/alternatives-considered: + en: dd3073a05a8e13bd + zh: e58debc18a591077 +/agent-note-settlement-delivery-belongs-to-the-continuation-manager/consequences: + en: 10ebfbc70ff94e20 + zh: c32a335007de89d1 +/agent-note-settlement-delivery-belongs-to-the-continuation-manager/consequences/accepted-risks: + en: 615cd09443411b4d + zh: f74b5dcab43975d3 diff --git a/.agents/notes/implemented/feature/2026-08-08-web-background-job-display.i18n.yaml b/.agents/notes/implemented/feature/2026-08-08-web-background-job-display.i18n.yaml index ce21dc1c9a..adc20bec51 100644 --- a/.agents/notes/implemented/feature/2026-08-08-web-background-job-display.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-08-web-background-job-display.i18n.yaml @@ -1,6 +1,40 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-08-web-background-job-display.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-08-web-background-job-display.md -2026-08-08-web-background-job-display.md: 1ebd600e4d423f95ad663c333572a990d0c9efa7 -2026-08-08-web-background-job-display.zh.md: 56d062b5079e15c90cffc30b538efe162bc19d9d +/agent-note-web-background-job-display: + en: 78eff738bc5ed554 + zh: c8a8a83853fa806b +/agent-note-web-background-job-display/problem: + en: 41ddca92193cbbf1 + zh: ec8f39ad20044d1c +/agent-note-web-background-job-display/decision: + en: 50058c6557e05f15 + zh: bbf35bb475474cd8 +/agent-note-web-background-job-display/decision/wire-shape: + en: 4d6b92cbfde80add + zh: d32e0421100eeb71 +/agent-note-web-background-job-display/decision/the-task-registry-change-feed: + en: a7a9416ab3b325dc + zh: 448820bad0224785 +/agent-note-web-background-job-display/decision/the-session-controller-carrier: + en: e9ef574e65e8fb7d + zh: d1a6e446c48a0921 +/agent-note-web-background-job-display/decision/the-client-mirror: + en: 6185994020e639ee + zh: df9b464f95c0f3e2 +/agent-note-web-background-job-display/decision/the-header-action: + en: 8985aa8f6ade32c3 + zh: 94ea0844ed8649b5 +/agent-note-web-background-job-display/decision/what-this-deliberately-does-not-do: + en: c9ff2d1fec1459d9 + zh: b28a573ca9fbb1c2 +/agent-note-web-background-job-display/alternatives-considered: + en: a648d1748674d866 + zh: 0f68b82476121c38 +/agent-note-web-background-job-display/testing: + en: f41d5017ea4beabb + zh: cb216dd1d802ebe2 +/agent-note-web-background-job-display/consequences: + en: 5204e04c3ed02d53 + zh: 9eaa9b52b69be7b2 diff --git a/.agents/notes/implemented/feature/2026-08-08-windows-acl-restricted-token-sandbox.i18n.yaml b/.agents/notes/implemented/feature/2026-08-08-windows-acl-restricted-token-sandbox.i18n.yaml index 65bc426f49..cfa5b6c2ad 100644 --- a/.agents/notes/implemented/feature/2026-08-08-windows-acl-restricted-token-sandbox.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-08-windows-acl-restricted-token-sandbox.i18n.yaml @@ -1,6 +1,37 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-08-windows-acl-restricted-token-sandbox.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-08-windows-acl-restricted-token-sandbox.md -2026-08-08-windows-acl-restricted-token-sandbox.md: 65780b9bba31605db02dc9be4c1b2454c74eb0f4 -2026-08-08-windows-acl-restricted-token-sandbox.zh.md: fe9aadb97b172d77d65ca6b0a843f05751075502 +/agent-note-windows-sandbox-rung-raw-acl-restricted-tokens-over-mxc-and-appcontainer: + en: cfc871213b6d8360 + zh: 18ff96c2272fee09 +/agent-note-windows-sandbox-rung-raw-acl-restricted-tokens-over-mxc-and-appcontainer/problem: + en: 86e01a1c009ac595 + zh: 91844972d41dd6f9 +/agent-note-windows-sandbox-rung-raw-acl-restricted-tokens-over-mxc-and-appcontainer/decision: + en: 125dea7427047966 + zh: 5d0bfd3921b38714 +/agent-note-windows-sandbox-rung-raw-acl-restricted-tokens-over-mxc-and-appcontainer/how-the-restriction-works-why-no-new-identity: + en: ac9b3d800889ea39 + zh: 9db1065b6027f65f +/agent-note-windows-sandbox-rung-raw-acl-restricted-tokens-over-mxc-and-appcontainer/alternatives-considered: + en: 6119e2aff3b6be5a + zh: 4237c596c10e1ee9 +/agent-note-windows-sandbox-rung-raw-acl-restricted-tokens-over-mxc-and-appcontainer/alternatives-considered/why-not-mxc-microsoft-xcontainer: + en: 0bb56896664ab257 + zh: de921ecab11cf572 +/agent-note-windows-sandbox-rung-raw-acl-restricted-tokens-over-mxc-and-appcontainer/alternatives-considered/why-not-appcontainer: + en: 6e7ed26630c25476 + zh: edd52735b36b0b12 +/agent-note-windows-sandbox-rung-raw-acl-restricted-tokens-over-mxc-and-appcontainer/alternatives-considered/why-not-landstrip: + en: e2c573d90c4ddeb9 + zh: f0259213e1321722 +/agent-note-windows-sandbox-rung-raw-acl-restricted-tokens-over-mxc-and-appcontainer/consequences: + en: b9f3a7c6890707f1 + zh: c9a344b50732c296 +/agent-note-windows-sandbox-rung-raw-acl-restricted-tokens-over-mxc-and-appcontainer/testing: + en: b223cb2cf13193c9 + zh: 61ddd0a0b99f8f56 +/agent-note-windows-sandbox-rung-raw-acl-restricted-tokens-over-mxc-and-appcontainer/related: + en: dd16f0c5815df991 + zh: df3c1cf511ee52bf diff --git a/.agents/notes/implemented/feature/2026-08-10-subagent-approval-pinned-never.i18n.yaml b/.agents/notes/implemented/feature/2026-08-10-subagent-approval-pinned-never.i18n.yaml index b4d5d4a95a..0841a07056 100644 --- a/.agents/notes/implemented/feature/2026-08-10-subagent-approval-pinned-never.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-10-subagent-approval-pinned-never.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-10-subagent-approval-pinned-never.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-10-subagent-approval-pinned-never.md -2026-08-10-subagent-approval-pinned-never.md: a21c6b966b1ad00ed63e0fe87b0ce982f0daf490 -2026-08-10-subagent-approval-pinned-never.zh.md: 32f367303559eecbfd5049cd370e48c8ce57de33 +/agent-note-delegated-subagents-run-with-approvals-pinned-to-never: + en: f38cf8f2c67fc976 + zh: a4b357a3452383c3 +/agent-note-delegated-subagents-run-with-approvals-pinned-to-never/problem: + en: fa1add8bd8bb3733 + zh: 35ac0951e676acaf +/agent-note-delegated-subagents-run-with-approvals-pinned-to-never/decision: + en: 2d2e42923663abc7 + zh: 5728346e7c5ea291 +/agent-note-delegated-subagents-run-with-approvals-pinned-to-never/alternatives-considered: + en: 32fe1eb5bd7cd5ab + zh: ea437edee4fbc1c6 +/agent-note-delegated-subagents-run-with-approvals-pinned-to-never/consequences: + en: 4503eecfc7f17fed + zh: 1f201ba769ec0354 diff --git a/.agents/notes/implemented/feature/2026-08-11-background-job-completion-wakes-an-idle-owner.i18n.yaml b/.agents/notes/implemented/feature/2026-08-11-background-job-completion-wakes-an-idle-owner.i18n.yaml index 3b96b194f6..562d31b711 100644 --- a/.agents/notes/implemented/feature/2026-08-11-background-job-completion-wakes-an-idle-owner.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-11-background-job-completion-wakes-an-idle-owner.i18n.yaml @@ -1,6 +1,34 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-11-background-job-completion-wakes-an-idle-owner.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-11-background-job-completion-wakes-an-idle-owner.md -2026-08-11-background-job-completion-wakes-an-idle-owner.md: f13f09d326dc7b4e7b2998f3124f70c185c50922 -2026-08-11-background-job-completion-wakes-an-idle-owner.zh.md: f9b563ebbf90e2ca19d1fc5ca9fa5b028e4429f1 +/agent-note-background-job-completion-wakes-an-idle-owner: + en: b761777a02303d0e + zh: a65eb415e75bcac5 +/agent-note-background-job-completion-wakes-an-idle-owner/problem: + en: da112fe20077acdf + zh: b0e3e099c3aacde5 +/agent-note-background-job-completion-wakes-an-idle-owner/decision: + en: c5d7901d87803d0c + zh: 8a1e473e88f3e400 +/agent-note-background-job-completion-wakes-an-idle-owner/decision/the-busy-owner-keeps-injection: + en: 841588bc73fc4613 + zh: 7fb4095bd55ee241 +/agent-note-background-job-completion-wakes-an-idle-owner/decision/the-cap-on-consecutive-wakes-is-opt-in-and-it-is-not-time: + en: fa9f572f763bc6b0 + zh: f3924fa49d2be22d +/agent-note-background-job-completion-wakes-an-idle-owner/decision/teardown-claims-the-report: + en: f79257596c755a32 + zh: 856bf42492425f9c +/agent-note-background-job-completion-wakes-an-idle-owner/decision/completion-is-announced-last: + en: 9cab013b3513f1e0 + zh: 78ea1b05df94d8a8 +/agent-note-background-job-completion-wakes-an-idle-owner/alternatives-considered: + en: debb2c9b924474c3 + zh: 90e2cefc230e3ec8 +/agent-note-background-job-completion-wakes-an-idle-owner/consequences: + en: a2a6f76c8cc92d57 + zh: 6eed3e6a5c75dfb9 +/agent-note-background-job-completion-wakes-an-idle-owner/consequences/accepted-risks: + en: 2141374aa4f79a2b + zh: acff1b68abf2db7e diff --git a/.agents/notes/implemented/feature/2026-08-11-deepseek-request-user-id-header.i18n.yaml b/.agents/notes/implemented/feature/2026-08-11-deepseek-request-user-id-header.i18n.yaml index 4d8cfe3580..8f60e2293e 100644 --- a/.agents/notes/implemented/feature/2026-08-11-deepseek-request-user-id-header.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-11-deepseek-request-user-id-header.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-11-deepseek-request-user-id-header.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-11-deepseek-request-user-id-header.md -2026-08-11-deepseek-request-user-id-header.md: 54f59a3f69a933af4f80d629f32f5089676263f6 -2026-08-11-deepseek-request-user-id-header.zh.md: 4904a08fcf4320211fd4253403bddda062bd496e +/agent-note-deepseek-request-user-and-session-identity-headers: + en: 6888d1c6a57a6839 + zh: e3817ccbcd782a44 +/agent-note-deepseek-request-user-and-session-identity-headers/problem: + en: fdeb3bc22bab88c0 + zh: 089ea4713776fb7a +/agent-note-deepseek-request-user-and-session-identity-headers/decision: + en: b168d3c975d191aa + zh: fdd92a1a92f87537 +/agent-note-deepseek-request-user-and-session-identity-headers/verification: + en: 3984cb1cb953605e + zh: 59e06d6eac8070d7 +/agent-note-deepseek-request-user-and-session-identity-headers/alternatives-considered: + en: 2233f9f6a934a48f + zh: c73d1db971239742 +/agent-note-deepseek-request-user-and-session-identity-headers/consequences: + en: 1621a8eab7787622 + zh: 636cf922cf76d2bc diff --git a/.agents/notes/implemented/feature/2026-08-11-minimal-profiles-bare-two-tool-runtime.i18n.yaml b/.agents/notes/implemented/feature/2026-08-11-minimal-profiles-bare-two-tool-runtime.i18n.yaml index 98786c2a8b..13d32374f6 100644 --- a/.agents/notes/implemented/feature/2026-08-11-minimal-profiles-bare-two-tool-runtime.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-11-minimal-profiles-bare-two-tool-runtime.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-11-minimal-profiles-bare-two-tool-runtime.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-11-minimal-profiles-bare-two-tool-runtime.md -2026-08-11-minimal-profiles-bare-two-tool-runtime.md: 8cfa4aa71e33317947d0661641df1e6e814f5e90 -2026-08-11-minimal-profiles-bare-two-tool-runtime.zh.md: f1f916bdde92fd104c3d879ff058b2e0474eef38 +/agent-note-minimal-profiles-use-a-bare-runtime: + en: b086c2a8d0fca111 + zh: 3c81b90a2818e7ff +/agent-note-minimal-profiles-use-a-bare-runtime/problem: + en: 725fe45436a65f26 + zh: 97f96497173bec4f +/agent-note-minimal-profiles-use-a-bare-runtime/decision: + en: ef9aa81743b6bc46 + zh: 86bcf7e3a7e34f4b +/agent-note-minimal-profiles-use-a-bare-runtime/verification: + en: c9d0b2145e4c1271 + zh: 186919163b20379c +/agent-note-minimal-profiles-use-a-bare-runtime/alternatives-considered: + en: 35b3346928cb6c3f + zh: 6e60d1073b5a95e3 +/agent-note-minimal-profiles-use-a-bare-runtime/consequences: + en: 462abbbe168de14c + zh: 13f9e257a5f18984 diff --git a/.agents/notes/implemented/feature/2026-08-15-product-subagent-noninteractive-permissions.i18n.yaml b/.agents/notes/implemented/feature/2026-08-15-product-subagent-noninteractive-permissions.i18n.yaml index 7e9849194b..c0058f198d 100644 --- a/.agents/notes/implemented/feature/2026-08-15-product-subagent-noninteractive-permissions.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-15-product-subagent-noninteractive-permissions.i18n.yaml @@ -1,6 +1,34 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-15-product-subagent-noninteractive-permissions.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-15-product-subagent-noninteractive-permissions.md -2026-08-15-product-subagent-noninteractive-permissions.md: 1ec45f9adafa2364f9d0f37f3914d97054942226 -2026-08-15-product-subagent-noninteractive-permissions.zh.md: 80e99d9ee47da859456faf66560d42e73c88cf3d +/agent-note-product-subagents-use-profile-selected-non-interactive-permissions: + en: feb20636c72ade23 + zh: fd2e9f192a3fa527 +/agent-note-product-subagents-use-profile-selected-non-interactive-permissions/problem: + en: 905b54b06f35015a + zh: b0b3a79e9f92b33d +/agent-note-product-subagents-use-profile-selected-non-interactive-permissions/decision: + en: a4635e16af21d478 + zh: 6cd59ad7e2bb9885 +/agent-note-product-subagents-use-profile-selected-non-interactive-permissions/decision/claude-code: + en: dbbd5e37924de6f7 + zh: 33c327f0737894c4 +/agent-note-product-subagents-use-profile-selected-non-interactive-permissions/decision/codex: + en: 75114f6529699ebd + zh: 19dab70be62fb3d7 +/agent-note-product-subagents-use-profile-selected-non-interactive-permissions/decision/failure-diagnostic: + en: 5439f8ab6ad61d42 + zh: 4b3f9bee3794b2f2 +/agent-note-product-subagents-use-profile-selected-non-interactive-permissions/decision/ownership-and-lifecycle: + en: 987eec9a67ba131d + zh: 735399cd3ac78a45 +/agent-note-product-subagents-use-profile-selected-non-interactive-permissions/verification: + en: 16a02354fe427b8e + zh: 948225be10331c8d +/agent-note-product-subagents-use-profile-selected-non-interactive-permissions/alternatives-considered: + en: 7b6bbb52fd5e4cbc + zh: c8e7ab515cd6c0db +/agent-note-product-subagents-use-profile-selected-non-interactive-permissions/consequences: + en: 6e995471b4cb9ff4 + zh: 9baf59015a911310 diff --git a/.agents/notes/implemented/feature/2026-08-18-arbitrary-seq-session-fork.i18n.yaml b/.agents/notes/implemented/feature/2026-08-18-arbitrary-seq-session-fork.i18n.yaml index 792f97a11a..167308d649 100644 --- a/.agents/notes/implemented/feature/2026-08-18-arbitrary-seq-session-fork.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-18-arbitrary-seq-session-fork.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-18-arbitrary-seq-session-fork.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-18-arbitrary-seq-session-fork.md -2026-08-18-arbitrary-seq-session-fork.md: c02ba6c1f24462224cb7f4f245d82063f29c4d61 -2026-08-18-arbitrary-seq-session-fork.zh.md: fe78e505313b2177435abd93e1d8056972b2646b +/agent-note-exact-event-session-forks-with-shared-crash-repair: + en: f75e952184cae150 + zh: 32c2519c85aa6822 +/agent-note-exact-event-session-forks-with-shared-crash-repair/problem: + en: e01b73d9d4b50c50 + zh: 14f7816869b76241 +/agent-note-exact-event-session-forks-with-shared-crash-repair/decision: + en: 0b7afc12950ce308 + zh: 384d26f698a344a7 +/agent-note-exact-event-session-forks-with-shared-crash-repair/alternatives-considered: + en: 49544ba70825c8e9 + zh: 41c7dceb9241fc5a +/agent-note-exact-event-session-forks-with-shared-crash-repair/consequences: + en: a829fc736a132d89 + zh: 03b116766bd44d64 +/agent-note-exact-event-session-forks-with-shared-crash-repair/testing: + en: f15e826fa12a4f55 + zh: fe053fa01304e072 diff --git a/.agents/notes/implemented/feature/2026-08-18-model-selected-subagent-routes.i18n.yaml b/.agents/notes/implemented/feature/2026-08-18-model-selected-subagent-routes.i18n.yaml index 5e0f82335f..2095b6be29 100644 --- a/.agents/notes/implemented/feature/2026-08-18-model-selected-subagent-routes.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-18-model-selected-subagent-routes.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-18-model-selected-subagent-routes.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-18-model-selected-subagent-routes.md -2026-08-18-model-selected-subagent-routes.md: 9cdbdbec3b79a93043fa6ae95a6a6dedf6072086 -2026-08-18-model-selected-subagent-routes.zh.md: 3b81f5417339325dd60884049a853d1094a9f1eb +/agent-note-model-selected-subagent-routes: + en: 1e719fd754836549 + zh: 603cce7a5f9ec6bd +/agent-note-model-selected-subagent-routes/problem: + en: f4010276228f4441 + zh: 50ac98640dbf519a +/agent-note-model-selected-subagent-routes/decision: + en: 39836773d1830515 + zh: 537c96bfa93573e7 +/agent-note-model-selected-subagent-routes/alternatives-considered: + en: 3b9fd91294fbfd27 + zh: 2854dd690ead3d15 +/agent-note-model-selected-subagent-routes/consequences: + en: 55969d3742da39ce + zh: a248167f9bb2fa4e +/agent-note-model-selected-subagent-routes/related-decisions: + en: 28c4eb2e90488ff0 + zh: ba59bb2fafdd4720 diff --git a/.agents/notes/implemented/feature/2026-08-20-unified-image-request-pipeline.i18n.yaml b/.agents/notes/implemented/feature/2026-08-20-unified-image-request-pipeline.i18n.yaml index 4f9e640fe2..6e1c636324 100644 --- a/.agents/notes/implemented/feature/2026-08-20-unified-image-request-pipeline.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-20-unified-image-request-pipeline.i18n.yaml @@ -1,6 +1,37 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-20-unified-image-request-pipeline.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-20-unified-image-request-pipeline.md -2026-08-20-unified-image-request-pipeline.md: b79eeb7d908d664362851c28bda64dab163aac89 -2026-08-20-unified-image-request-pipeline.zh.md: 444234715256c48167b0b45dbd8843a9c80079f7 +/agent-note-unified-normalized-attachments-request-versions-and-provider-files: + en: 79d1a6f50ac76c3d + zh: 9af0070009537602 +/agent-note-unified-normalized-attachments-request-versions-and-provider-files/problem: + en: 7ce3a351a1492dd0 + zh: 7c7e3bb6799822f8 +/agent-note-unified-normalized-attachments-request-versions-and-provider-files/decision: + en: 98e7aad889f5b79c + zh: 84b24f6fd9209fcf +/agent-note-unified-normalized-attachments-request-versions-and-provider-files/decision/provider-independent-normalized-attachment: + en: 75b1d3732f3a9d05 + zh: c8683df3c6f0c989 +/agent-note-unified-normalized-attachments-request-versions-and-provider-files/decision/deterministic-request-versions: + en: 8afa51d02643bd40 + zh: d27d9a5b09fc6d74 +/agent-note-unified-normalized-attachments-request-versions-and-provider-files/decision/stable-handles: + en: 1b204c138b0d8e6c + zh: 3d6a2e82372e6825 +/agent-note-unified-normalized-attachments-request-versions-and-provider-files/decision/deepseek-files-lifecycle: + en: b35a18963d122b21 + zh: faa21c45cef3555a +/agent-note-unified-normalized-attachments-request-versions-and-provider-files/decision/diagnostics: + en: e4c79434bedfc385 + zh: 9e7de1061629ef5e +/agent-note-unified-normalized-attachments-request-versions-and-provider-files/alternatives-considered: + en: 7bfd39c761549b85 + zh: 6ac48c5842f7df91 +/agent-note-unified-normalized-attachments-request-versions-and-provider-files/verification: + en: 7697f72ce5a7d969 + zh: 733ca1e0a05ae4ed +/agent-note-unified-normalized-attachments-request-versions-and-provider-files/consequences: + en: 1a6ef14a3e13b502 + zh: bc4ab273755b2739 diff --git a/.agents/notes/implemented/feature/2026-08-22-fire-and-forget-webhook-sessions.i18n.yaml b/.agents/notes/implemented/feature/2026-08-22-fire-and-forget-webhook-sessions.i18n.yaml index 3877584618..99cd729035 100644 --- a/.agents/notes/implemented/feature/2026-08-22-fire-and-forget-webhook-sessions.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-22-fire-and-forget-webhook-sessions.i18n.yaml @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-22-fire-and-forget-webhook-sessions.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-22-fire-and-forget-webhook-sessions.md -2026-08-22-fire-and-forget-webhook-sessions.md: 08f718b8063c7ca0d78e93f547c0e0c33c183d07 -2026-08-22-fire-and-forget-webhook-sessions.zh.md: f015d993e61864bbc21d9d55fc331c25118fbde3 +/agent-note-fire-and-forget-webhook-sessions: + en: adb18c2b0d575306 + zh: 2605913ffe5bafaa +/agent-note-fire-and-forget-webhook-sessions/problem: + en: 394e062b7e8f31a0 + zh: bcb26075cf62115c +/agent-note-fire-and-forget-webhook-sessions/decision: + en: 08ff83adfec1a7da + zh: 871b9998631f22ac +/agent-note-fire-and-forget-webhook-sessions/provider-adapters: + en: 8eb2865f18fcf018 + zh: 1b73dfd634a8c07a +/agent-note-fire-and-forget-webhook-sessions/session-creation: + en: fbc57974dd81bf5a + zh: 1a4810df6b7a776f +/agent-note-fire-and-forget-webhook-sessions/alternatives-considered: + en: 59634068f7c22476 + zh: 844472f7a5e9de91 +/agent-note-fire-and-forget-webhook-sessions/verification: + en: e2a3192fc68b1ade + zh: 63c2b07bf5f32696 +/agent-note-fire-and-forget-webhook-sessions/consequences: + en: 8b40a7c91834a281 + zh: 882125d8070d77c1 diff --git a/.agents/notes/implemented/feature/2026-08-22-standard-acp-automation-controls.i18n.yaml b/.agents/notes/implemented/feature/2026-08-22-standard-acp-automation-controls.i18n.yaml index 872993adb4..b6b5b90bc1 100644 --- a/.agents/notes/implemented/feature/2026-08-22-standard-acp-automation-controls.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-22-standard-acp-automation-controls.i18n.yaml @@ -1,6 +1,37 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-22-standard-acp-automation-controls.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-22-standard-acp-automation-controls.md -2026-08-22-standard-acp-automation-controls.md: dd1e39b84f942417640f741f17a211276b67872c -2026-08-22-standard-acp-automation-controls.zh.md: 2d7160bda164949799652bc2e3e3ab95afdafb0c +/agent-note-standard-acp-v1-automation-controls: + en: e6a4b457afbf12ac + zh: b1d83f4892e05f99 +/agent-note-standard-acp-v1-automation-controls/problem: + en: ba88135e9528b4c7 + zh: 8bc1be92b1f5178e +/agent-note-standard-acp-v1-automation-controls/decision: + en: 0a2b2a83aca7d189 + zh: 8de789db33953283 +/agent-note-standard-acp-v1-automation-controls/per-session-ownership: + en: 5b98c5e68eccfe76 + zh: c22dc47ad8003f22 +/agent-note-standard-acp-v1-automation-controls/persistent-session-controls: + en: 122752f1cb116417 + zh: 96971bcc1fed4a8a +/agent-note-standard-acp-v1-automation-controls/standard-configuration-options: + en: 61cb15891965c67a + zh: a0a958094b60951f +/agent-note-standard-acp-v1-automation-controls/standard-mcp-mapping: + en: 57acbe1c89af4c6b + zh: 3417e3d4b1874d94 +/agent-note-standard-acp-v1-automation-controls/semantic-update-projection: + en: 8e5128cd34629af3 + zh: 6132e78ddf9b3cf9 +/agent-note-standard-acp-v1-automation-controls/alternatives-considered: + en: fc94c87f43787d95 + zh: 17850ecc35e6ab9d +/agent-note-standard-acp-v1-automation-controls/verification: + en: 08e2b98606d9d362 + zh: 99d6aef7c89e287f +/agent-note-standard-acp-v1-automation-controls/consequences: + en: 9f839d4720f07d28 + zh: 5164ae3eb5b52385 diff --git a/.agents/notes/implemented/feature/2026-08-24-activity-observation-seam.i18n.yaml b/.agents/notes/implemented/feature/2026-08-24-activity-observation-seam.i18n.yaml index 548e9f5b36..d5220cd2f4 100644 --- a/.agents/notes/implemented/feature/2026-08-24-activity-observation-seam.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-24-activity-observation-seam.i18n.yaml @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-24-activity-observation-seam.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-24-activity-observation-seam.md -2026-08-24-activity-observation-seam.md: 21fe08fd21ad95eec7a83f6f29b9b94514358bb9 -2026-08-24-activity-observation-seam.zh.md: ffb6766b3e5d226d324ea2894a6e3f758cf1932a +/agent-note-the-activity-observation-seam-ctx-activities-and-live-output-streaming-to-the-web-client: + en: 7fe6230c2327e0b5 + zh: 13a07f7926f6861c +/agent-note-the-activity-observation-seam-ctx-activities-and-live-output-streaming-to-the-web-client/problem: + en: 8b50b64ed5a852bd + zh: 21d651e0109dc641 +/agent-note-the-activity-observation-seam-ctx-activities-and-live-output-streaming-to-the-web-client/decision: + en: 88b51276287344bd + zh: 0827faa6c822e4a5 +/agent-note-the-activity-observation-seam-ctx-activities-and-live-output-streaming-to-the-web-client/decision/why-not-durable-session-events-the-control-stream-or-the-jobs-seam: + en: 58d884216caa6d85 + zh: aa47eb76bdb1ece0 +/agent-note-the-activity-observation-seam-ctx-activities-and-live-output-streaming-to-the-web-client/decision/two-cursor-regimes-kept-separate: + en: 7ab433f08fa6140a + zh: d001a90815b0156b +/agent-note-the-activity-observation-seam-ctx-activities-and-live-output-streaming-to-the-web-client/alternatives-considered: + en: 4462632fd94010c1 + zh: 01d1285f2ac6e42c +/agent-note-the-activity-observation-seam-ctx-activities-and-live-output-streaming-to-the-web-client/testing: + en: 26687866bbf7be90 + zh: 32dea8052bd5465b +/agent-note-the-activity-observation-seam-ctx-activities-and-live-output-streaming-to-the-web-client/consequences: + en: e975f4f2410e8619 + zh: 42f16406950a4d6f diff --git a/.agents/notes/implemented/feature/2026-08-24-user-authorized-subagent-model-routes.i18n.yaml b/.agents/notes/implemented/feature/2026-08-24-user-authorized-subagent-model-routes.i18n.yaml index 697f943349..75bb4b5177 100644 --- a/.agents/notes/implemented/feature/2026-08-24-user-authorized-subagent-model-routes.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-24-user-authorized-subagent-model-routes.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-24-user-authorized-subagent-model-routes.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-24-user-authorized-subagent-model-routes.md -2026-08-24-user-authorized-subagent-model-routes.md: ef6f90d2cc1ec79e1381d75fd8cc25c568af3067 -2026-08-24-user-authorized-subagent-model-routes.zh.md: 23519bfc6619718e1cbf98dbad65eccd90353c0a +/agent-note-user-authorized-subagent-model-routes: + en: 572df418f108d72b + zh: d17c31e1c4150155 +/agent-note-user-authorized-subagent-model-routes/problem: + en: 3238dfb7db7dfdd8 + zh: ec3bdd9a9da0a321 +/agent-note-user-authorized-subagent-model-routes/decision: + en: 0166e452a774ade5 + zh: 747061b9424b3610 +/agent-note-user-authorized-subagent-model-routes/alternatives-considered: + en: e41c17226190ea8b + zh: d3b1395fafe75f01 +/agent-note-user-authorized-subagent-model-routes/consequences: + en: f1927d31ffc1dee9 + zh: b0fed04b80043c71 +/agent-note-user-authorized-subagent-model-routes/related-decisions: + en: 0b54fad7171103ec + zh: 8cf1d007a42fb991 diff --git a/.agents/notes/implemented/feature/2026-08-25-feedback-gated-telemetry-default.i18n.yaml b/.agents/notes/implemented/feature/2026-08-25-feedback-gated-telemetry-default.i18n.yaml index 511e99e65e..ee45f9f6ea 100644 --- a/.agents/notes/implemented/feature/2026-08-25-feedback-gated-telemetry-default.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-25-feedback-gated-telemetry-default.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-25-feedback-gated-telemetry-default.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-25-feedback-gated-telemetry-default.md -2026-08-25-feedback-gated-telemetry-default.md: 1a5ecd6b34415650db5e5068d96f9d2dc5f30e42 -2026-08-25-feedback-gated-telemetry-default.zh.md: 55936aa4045214b627ecaad39d898b1898a50fc9 +/agent-note-feedback-gated-session-telemetry-default: + en: 213a794503e0d7bc + zh: e086babdf2ad52c9 +/agent-note-feedback-gated-session-telemetry-default/problem: + en: 46b3efd996067d48 + zh: fc59ee763b07987e +/agent-note-feedback-gated-session-telemetry-default/decision: + en: 4136623e5589a592 + zh: db7bc5e9e6ebc19f +/agent-note-feedback-gated-session-telemetry-default/alternatives-considered: + en: 14b51f0de8771943 + zh: 616afb4097857368 +/agent-note-feedback-gated-session-telemetry-default/consequences: + en: d3ed844cc1e29b0b + zh: 76838815edb0a450 diff --git a/.agents/notes/implemented/feature/2026-08-25-promote-open-anywhere-plugin.i18n.yaml b/.agents/notes/implemented/feature/2026-08-25-promote-open-anywhere-plugin.i18n.yaml index a806e17e4e..9c2732ed18 100644 --- a/.agents/notes/implemented/feature/2026-08-25-promote-open-anywhere-plugin.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-25-promote-open-anywhere-plugin.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-25-promote-open-anywhere-plugin.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-25-promote-open-anywhere-plugin.md -2026-08-25-promote-open-anywhere-plugin.md: e5a435d24c2400b68fad8cccb094b176ad83f590 -2026-08-25-promote-open-anywhere-plugin.zh.md: 108091f3e7c2736063d67bc6b2d7fe0c039b35db +/agent-note-promote-open-anywhere-from-community-plugin-to-first-party-package: + en: 279cf946b4f6c386 + zh: cf76602956b811de +/agent-note-promote-open-anywhere-from-community-plugin-to-first-party-package/problem: + en: 08d8d5454fdc2e75 + zh: 22381ce00cb51148 +/agent-note-promote-open-anywhere-from-community-plugin-to-first-party-package/decision: + en: 26a46d3b6f21288a + zh: 94c32f789b3e28ac +/agent-note-promote-open-anywhere-from-community-plugin-to-first-party-package/alternatives-considered: + en: cc7c2ed172e4de3f + zh: b8fed28d9ee835c5 +/agent-note-promote-open-anywhere-from-community-plugin-to-first-party-package/consequences: + en: 5be6b2891e3429c9 + zh: 68ffcff52676824f diff --git a/.agents/notes/implemented/feature/2026-08-26-generic-file-upload.i18n.yaml b/.agents/notes/implemented/feature/2026-08-26-generic-file-upload.i18n.yaml index 6019a38f89..49360cffec 100644 --- a/.agents/notes/implemented/feature/2026-08-26-generic-file-upload.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-26-generic-file-upload.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-26-generic-file-upload.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-26-generic-file-upload.md -2026-08-26-generic-file-upload.md: 196d048da9ffc1342cd62cb9c25674b7cecaffac -2026-08-26-generic-file-upload.zh.md: fce7cef76cf36060f55165d009c568480abb0f16 +/agent-note-generic-file-upload: + en: e82308b967a63c32 + zh: 743f8f4eda638827 +/agent-note-generic-file-upload/problem: + en: e7c3b5d7702714fe + zh: 268f162b553b37d1 +/agent-note-generic-file-upload/decision: + en: 31c7ad96c6ab82c8 + zh: 806922fc8fcd1242 +/agent-note-generic-file-upload/alternatives-considered: + en: 23f386b05e4e79ef + zh: 0756c4fa30e8d0eb +/agent-note-generic-file-upload/consequences: + en: e07df040738c45bb + zh: 9de3b560cb104bd3 +/agent-note-generic-file-upload/testing: + en: 3a50ac370d51cda9 + zh: d490f58922f8795b +/agent-note-generic-file-upload/related: + en: f7e186f0decb4e79 + zh: e5bc9fbd24b6d626 diff --git a/.agents/notes/implemented/feature/2026-08-26-human-job-kill.i18n.yaml b/.agents/notes/implemented/feature/2026-08-26-human-job-kill.i18n.yaml index 151857373f..787b132459 100644 --- a/.agents/notes/implemented/feature/2026-08-26-human-job-kill.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-26-human-job-kill.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-26-human-job-kill.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-26-human-job-kill.md -2026-08-26-human-job-kill.md: efffdbd85bf2fa665565ff584a6938cfee827516 -2026-08-26-human-job-kill.zh.md: 206acca008518dd689351e40a99ff1571f3d1a8f +/agent-note-human-job-kill-an-unclaimed-terminal-report-instead-of-a-second-cancellation-path: + en: d47dedfab1caa170 + zh: 00bb8cd62ed79d54 +/agent-note-human-job-kill-an-unclaimed-terminal-report-instead-of-a-second-cancellation-path/problem: + en: 3690502ccc80b5a3 + zh: cfd3c378e3921864 +/agent-note-human-job-kill-an-unclaimed-terminal-report-instead-of-a-second-cancellation-path/decision: + en: ccd3751d2ecaba5c + zh: f8f820f9492a9bf3 +/agent-note-human-job-kill-an-unclaimed-terminal-report-instead-of-a-second-cancellation-path/alternatives-considered: + en: 74a385c561d8854a + zh: c131a4e386d9b976 +/agent-note-human-job-kill-an-unclaimed-terminal-report-instead-of-a-second-cancellation-path/testing: + en: 094513090d51adfc + zh: b6598110da6c5793 +/agent-note-human-job-kill-an-unclaimed-terminal-report-instead-of-a-second-cancellation-path/consequences: + en: 0bcec15bd9c760fe + zh: 754269206f110f69 diff --git a/.agents/notes/implemented/feature/2026-08-26-shell-execute-projection-and-jobs-at-start.i18n.yaml b/.agents/notes/implemented/feature/2026-08-26-shell-execute-projection-and-jobs-at-start.i18n.yaml index 5359a7b2cd..428a985b5b 100644 --- a/.agents/notes/implemented/feature/2026-08-26-shell-execute-projection-and-jobs-at-start.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-26-shell-execute-projection-and-jobs-at-start.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-26-shell-execute-projection-and-jobs-at-start.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-26-shell-execute-projection-and-jobs-at-start.md -2026-08-26-shell-execute-projection-and-jobs-at-start.md: 2a03cd9f99645c10377dc9d2a5fdc68cb5ab0a4a -2026-08-26-shell-execute-projection-and-jobs-at-start.zh.md: bdc6cc432dbb8e3a0a8d0fc86cf055f3938ff201 +/agent-note-one-shell-execute-foreground-as-a-projection-timeout-as-a-bounded-wait-on-the-job: + en: bbc82e3f79a66fcb + zh: 6c348491e0db97b0 +/agent-note-one-shell-execute-foreground-as-a-projection-timeout-as-a-bounded-wait-on-the-job/problem: + en: e0e1292e5a785322 + zh: 34ec6572ed6cf406 +/agent-note-one-shell-execute-foreground-as-a-projection-timeout-as-a-bounded-wait-on-the-job/decision: + en: 332ddaffd22e473f + zh: 15c0ff6808316770 +/agent-note-one-shell-execute-foreground-as-a-projection-timeout-as-a-bounded-wait-on-the-job/alternatives-considered: + en: d888a561fafa5bb3 + zh: 719d687f2b3e4c10 +/agent-note-one-shell-execute-foreground-as-a-projection-timeout-as-a-bounded-wait-on-the-job/testing: + en: 65f59286de9fa00a + zh: 664d7f82a1479153 +/agent-note-one-shell-execute-foreground-as-a-projection-timeout-as-a-bounded-wait-on-the-job/consequences: + en: 5a5278fc96afacc1 + zh: cc088ea97c6249c9 diff --git a/.agents/notes/implemented/feature/2026-08-27-continuable-subagent-human-inbox-control.i18n.yaml b/.agents/notes/implemented/feature/2026-08-27-continuable-subagent-human-inbox-control.i18n.yaml index 25749576f7..db46bc5f64 100644 --- a/.agents/notes/implemented/feature/2026-08-27-continuable-subagent-human-inbox-control.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-27-continuable-subagent-human-inbox-control.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-27-continuable-subagent-human-inbox-control.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-continuable-subagent-human-inbox-control.md -2026-08-27-continuable-subagent-human-inbox-control.md: 6bf8ceb2b8eab7138a1e617bb97e475d5cfa8172 -2026-08-27-continuable-subagent-human-inbox-control.zh.md: 081fb84f75afcc94339ae3bf627480081bc56d89 +/agent-note-human-inbox-controls-for-continuable-subagents: + en: 42b7ed7255c6c527 + zh: c3faf95870ba0e0c +/agent-note-human-inbox-controls-for-continuable-subagents/problem: + en: 4241f01a3a205ff5 + zh: 415c642ad379a53c +/agent-note-human-inbox-controls-for-continuable-subagents/decision: + en: 4f8c53964ac18aff + zh: 31d747618ca608cc +/agent-note-human-inbox-controls-for-continuable-subagents/alternatives-considered: + en: c1f10fb70c8bb500 + zh: 4dc0ec6cac95595c +/agent-note-human-inbox-controls-for-continuable-subagents/consequences: + en: 5fdc5b07eae2633c + zh: 1359d126d182d219 diff --git a/.agents/notes/implemented/feature/2026-08-28-auto-review.i18n.yaml b/.agents/notes/implemented/feature/2026-08-28-auto-review.i18n.yaml index b0a8d7fa60..4e846fcbce 100644 --- a/.agents/notes/implemented/feature/2026-08-28-auto-review.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-28-auto-review.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-28-auto-review.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-28-auto-review.md -2026-08-28-auto-review.md: 13b3769b97c27b2ef4ac5cf4f6c2c2dde6323e7f -2026-08-28-auto-review.zh.md: bf7d70b85be43a0b9f451dd20e3bcd5c4b879cd3 +/agent-note-experimental-auto-review-before-each-tool-call: + en: 66cfb9da0816f4f2 + zh: 79f66b9713964a5e +/agent-note-experimental-auto-review-before-each-tool-call/problem: + en: 492ba2355360d81a + zh: 825c0e7ab1cf4beb +/agent-note-experimental-auto-review-before-each-tool-call/decision: + en: 8bf58a9d5c800af6 + zh: 3bb386279301fbbf +/agent-note-experimental-auto-review-before-each-tool-call/decision/effects-and-authority: + en: 55a79d8572fb4332 + zh: f63d03d0f3bb5811 +/agent-note-experimental-auto-review-before-each-tool-call/decision/one-complete-reviewer-request: + en: d93bd9b8af6b0bfc + zh: 9514c2e5554a721e +/agent-note-experimental-auto-review-before-each-tool-call/decision/result-and-cancellation: + en: 7952d0f88e7b7753 + zh: ea85c96f9d0b78a1 +/agent-note-experimental-auto-review-before-each-tool-call/decision/process-catalog-and-children: + en: c305e3506fb4febc + zh: aecc99cda8be3de2 +/agent-note-experimental-auto-review-before-each-tool-call/alternatives-considered: + en: fe97128ed05b9e43 + zh: 4aaa344933fa89b4 +/agent-note-experimental-auto-review-before-each-tool-call/consequences: + en: 1aca35a6d0784f67 + zh: 51cfa397db101600 diff --git a/.agents/notes/implemented/feature/2026-08-31-cross-process-session-write-lease.i18n.yaml b/.agents/notes/implemented/feature/2026-08-31-cross-process-session-write-lease.i18n.yaml index 0451d6edcb..679466e91b 100644 --- a/.agents/notes/implemented/feature/2026-08-31-cross-process-session-write-lease.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-31-cross-process-session-write-lease.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-31-cross-process-session-write-lease.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-08-31-cross-process-session-write-lease.md -2026-08-31-cross-process-session-write-lease.md: bf02ce3eddfb5bcfe2a7d6bd6a6701c47d5f28a4 -2026-08-31-cross-process-session-write-lease.zh.md: b287ab7d6cb4202745fd1112bcb313cb261d674e +/agent-note-cross-process-session-write-lease: + en: 700d2cb4cbf2ba75 + zh: 04a6283f685f4b8a +/agent-note-cross-process-session-write-lease/problem: + en: fa5063a7f8ec786f + zh: f3f7f955d146f00c +/agent-note-cross-process-session-write-lease/decision: + en: fd3a65b3d53ad2d7 + zh: a795f9665045966a +/agent-note-cross-process-session-write-lease/alternatives-considered: + en: c67ce2d14445140a + zh: dd0f531b6e540f9e +/agent-note-cross-process-session-write-lease/consequences: + en: d2a681fa574ebd04 + zh: 4af2e372011bbd59 diff --git a/.agents/notes/implemented/feature/2026-09-01-workflow-run-in-background.i18n.yaml b/.agents/notes/implemented/feature/2026-09-01-workflow-run-in-background.i18n.yaml index 1bc2f5e95d..c220a01232 100644 --- a/.agents/notes/implemented/feature/2026-09-01-workflow-run-in-background.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-01-workflow-run-in-background.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-01-workflow-run-in-background.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-01-workflow-run-in-background.md -2026-09-01-workflow-run-in-background.md: 5a141b384186e7b4f9e8125c37eaf2c01a614a6d -2026-09-01-workflow-run-in-background.zh.md: 102a398d95eef6df07443a919c19dae57b5c1e74 +/agent-note-workflow-runs-gain-run-in-background-over-the-job-registry: + en: f009de4a29acc7d0 + zh: d207b3722564338d +/agent-note-workflow-runs-gain-run-in-background-over-the-job-registry/problem: + en: 4ef955f5184800a3 + zh: 8e4e74557efac4ca +/agent-note-workflow-runs-gain-run-in-background-over-the-job-registry/decision: + en: b0bc1669a6e61b1e + zh: 99ba5afe693aed9d +/agent-note-workflow-runs-gain-run-in-background-over-the-job-registry/alternatives-considered: + en: 70c9a5dd502eae0c + zh: 2b4f7b6a83cfec18 +/agent-note-workflow-runs-gain-run-in-background-over-the-job-registry/consequences: + en: 439882b972d28d4e + zh: 3bd61f42e29f490c diff --git a/.agents/notes/implemented/feature/2026-09-02-in-history-system-prompt-replacement.i18n.yaml b/.agents/notes/implemented/feature/2026-09-02-in-history-system-prompt-replacement.i18n.yaml index 0c14aed1d7..52afcd886f 100644 --- a/.agents/notes/implemented/feature/2026-09-02-in-history-system-prompt-replacement.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-02-in-history-system-prompt-replacement.i18n.yaml @@ -1,6 +1,34 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-02-in-history-system-prompt-replacement.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-02-in-history-system-prompt-replacement.md -2026-09-02-in-history-system-prompt-replacement.md: aaaf44d6388e6daf98acf8b1a93a61f1d7c55703 -2026-09-02-in-history-system-prompt-replacement.zh.md: 73003b04de82f45154f9c673654cc492eb62a4fd +/agent-note-in-history-system-prompt-replacement-for-cache-stable-prompt-changes: + en: 7b69ac848815886a + zh: db7a9f4000fe5359 +/agent-note-in-history-system-prompt-replacement-for-cache-stable-prompt-changes/problem: + en: 03d0dad3061794af + zh: 4dbef64cd45c4064 +/agent-note-in-history-system-prompt-replacement-for-cache-stable-prompt-changes/decision: + en: da6d3f0677f0343b + zh: 8b5dcf7e1108edc9 +/agent-note-in-history-system-prompt-replacement-for-cache-stable-prompt-changes/decision/capability: + en: 2f23fa55e1ce652c + zh: 335695fc654ab1db +/agent-note-in-history-system-prompt-replacement-for-cache-stable-prompt-changes/decision/the-decision-rule: + en: 3734096cc35b0c86 + zh: 7b6f4ceaae602c87 +/agent-note-in-history-system-prompt-replacement-for-cache-stable-prompt-changes/decision/presentation-and-accounting: + en: 00a91b4fb592e1e4 + zh: dac2e4f0a3ee9ecf +/agent-note-in-history-system-prompt-replacement-for-cache-stable-prompt-changes/decision/compaction: + en: c21a3e7a773860e5 + zh: 566669e245ccdbaf +/agent-note-in-history-system-prompt-replacement-for-cache-stable-prompt-changes/alternatives-considered: + en: bb8f951694de2aea + zh: d53960bf0ec052c7 +/agent-note-in-history-system-prompt-replacement-for-cache-stable-prompt-changes/consequences: + en: beda064bcd194a2a + zh: 8a3bb81d5edcd60a +/agent-note-in-history-system-prompt-replacement-for-cache-stable-prompt-changes/testing: + en: 4b09d253309f2d4d + zh: f897ffad3a1b2fbe diff --git a/.agents/notes/implemented/feature/2026-09-04-right-sidebar-docking-infrastructure.i18n.yaml b/.agents/notes/implemented/feature/2026-09-04-right-sidebar-docking-infrastructure.i18n.yaml index 137c5eba63..091e991d76 100644 --- a/.agents/notes/implemented/feature/2026-09-04-right-sidebar-docking-infrastructure.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-04-right-sidebar-docking-infrastructure.i18n.yaml @@ -1,6 +1,43 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-04-right-sidebar-docking-infrastructure.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-04-right-sidebar-docking-infrastructure.md -2026-09-04-right-sidebar-docking-infrastructure.md: c5bfb75730f2037826723bc7fd0aa2bb01005d1e -2026-09-04-right-sidebar-docking-infrastructure.zh.md: 4959032b53f84654205a1973aee781acb356f999 +/agent-note-right-sidebar-docking-infrastructure: + en: 850908fd93d39f7e + zh: 371d9b0d946c2cb4 +/agent-note-right-sidebar-docking-infrastructure/problem: + en: dae256ae605900f2 + zh: 11e9c51126ad836c +/agent-note-right-sidebar-docking-infrastructure/decision: + en: a30a377c8df0e654 + zh: f2577e74c6be3e88 +/agent-note-right-sidebar-docking-infrastructure/decision/package-topology: + en: 7dfd8ad3a822b421 + zh: 338151c69866c7d5 +/agent-note-right-sidebar-docking-infrastructure/decision/layout-engine: + en: af79bc03cd8e8f72 + zh: 88145221570301bf +/agent-note-right-sidebar-docking-infrastructure/decision/the-frame-s-right-column: + en: 78c5b5bf86d0293a + zh: 28b8856d88b78d1e +/agent-note-right-sidebar-docking-infrastructure/decision/state: + en: 7a73e989059c0871 + zh: ef4f8783fc5f3229 +/agent-note-right-sidebar-docking-infrastructure/decision/beyond-the-surface: + en: 82b5fd9d88c3ea43 + zh: d8581e996abbe034 +/agent-note-right-sidebar-docking-infrastructure/decision/entry-points-and-removals: + en: e9cb121a18afadc2 + zh: 37ff2e89d5641e11 +/agent-note-right-sidebar-docking-infrastructure/alternatives-considered: + en: 6569babd25fc0599 + zh: f9d93c937b2cad60 +/agent-note-right-sidebar-docking-infrastructure/consequences: + en: deb3f1a934c49958 + zh: 040de05a3c602858 +/agent-note-right-sidebar-docking-infrastructure/testing: + en: c7ca930dede9f819 + zh: 44c76a4faefe7268 +/agent-note-right-sidebar-docking-infrastructure/deferred: + en: 6c2cd149c6ecf2b0 + zh: b2673dee64de6bd6 diff --git a/.agents/notes/implemented/feature/2026-09-05-sidebar-text-preview-and-file-tree.i18n.yaml b/.agents/notes/implemented/feature/2026-09-05-sidebar-text-preview-and-file-tree.i18n.yaml index 0d328978e1..7c077c2da7 100644 --- a/.agents/notes/implemented/feature/2026-09-05-sidebar-text-preview-and-file-tree.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-05-sidebar-text-preview-and-file-tree.i18n.yaml @@ -1,6 +1,37 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-05-sidebar-text-preview-and-file-tree.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-05-sidebar-text-preview-and-file-tree.md -2026-09-05-sidebar-text-preview-and-file-tree.md: e978043545b7f172f2b67053fe44b5936ea9b529 -2026-09-05-sidebar-text-preview-and-file-tree.zh.md: 088d4a58c973843ac5085cfaa1ca9980387bcc8f +/agent-note-sidebar-text-preview-and-file-tree: + en: 2f9ef6cc50ad825d + zh: 5ec8592ac9963f85 +/agent-note-sidebar-text-preview-and-file-tree/problem: + en: 4e647765dfcd2ef9 + zh: 2c362ffdee7ff3d4 +/agent-note-sidebar-text-preview-and-file-tree/decision: + en: f8ea6a52a404b064 + zh: c91528d66487bb33 +/agent-note-sidebar-text-preview-and-file-tree/decision/the-guide: + en: cc4eaeefe4de9a02 + zh: bc9e727d6316ae88 +/agent-note-sidebar-text-preview-and-file-tree/decision/the-text-preview: + en: efc84d800d52a69e + zh: 0061138d7cd12ae7 +/agent-note-sidebar-text-preview-and-file-tree/decision/the-file-tree: + en: f03013eee6c293de + zh: 54796ac3da91047f +/agent-note-sidebar-text-preview-and-file-tree/alternatives-considered: + en: 87fddbd01f117061 + zh: 1810d283202db648 +/agent-note-sidebar-text-preview-and-file-tree/consequences: + en: 00b1675fcd76ad0d + zh: caf3eb340c74aef7 +/agent-note-sidebar-text-preview-and-file-tree/testing: + en: 2987a6417b7e4c14 + zh: 97eeb97e67536c70 +/agent-note-sidebar-text-preview-and-file-tree/deferred: + en: 6c788b26fb65227b + zh: 1bafda76bac92edd +/agent-note-sidebar-text-preview-and-file-tree/related: + en: 0a2531b19968c69b + zh: 4065017075aa11cc diff --git a/.agents/notes/implemented/feature/2026-09-07-composer-session-stats-pills.i18n.yaml b/.agents/notes/implemented/feature/2026-09-07-composer-session-stats-pills.i18n.yaml index d4ef512e91..b54791c599 100644 --- a/.agents/notes/implemented/feature/2026-09-07-composer-session-stats-pills.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-07-composer-session-stats-pills.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-07-composer-session-stats-pills.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-07-composer-session-stats-pills.md -2026-09-07-composer-session-stats-pills.md: 50d3d3294ed012773657ba9849e45835c361d8be -2026-09-07-composer-session-stats-pills.zh.md: 97b91b601e62e8b06ab13a764babb4dd3b25bfce +/agent-note-composer-session-stats-two-icon-pills-with-click-open-stat-dialogs: + en: 76e613674da56884 + zh: 4c9c5d750eace3e0 +/agent-note-composer-session-stats-two-icon-pills-with-click-open-stat-dialogs/problem: + en: 654462fa4eeb58dc + zh: 7c9cd57947ab8639 +/agent-note-composer-session-stats-two-icon-pills-with-click-open-stat-dialogs/decision: + en: 27eb1718cd80b39b + zh: e39576842a3578c1 +/agent-note-composer-session-stats-two-icon-pills-with-click-open-stat-dialogs/alternatives-considered: + en: 7798b1fb9824b920 + zh: 7e75cd154ab58a0b +/agent-note-composer-session-stats-two-icon-pills-with-click-open-stat-dialogs/consequences: + en: c078fb870536eec6 + zh: 17076d824c74ee9d diff --git a/.agents/notes/implemented/feature/2026-09-07-deepseek-messages-adapter.i18n.yaml b/.agents/notes/implemented/feature/2026-09-07-deepseek-messages-adapter.i18n.yaml index 13e41b76da..65061d8855 100644 --- a/.agents/notes/implemented/feature/2026-09-07-deepseek-messages-adapter.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-07-deepseek-messages-adapter.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-07-deepseek-messages-adapter.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-07-deepseek-messages-adapter.md -2026-09-07-deepseek-messages-adapter.md: 29f712e57c8048ddb0c05b5f56fd4793c52bec5f -2026-09-07-deepseek-messages-adapter.zh.md: 3cf60fc2101fb835423b74a6532e5edcc5bee911 +/agent-note-deepseek-through-the-anthropic-messages-protocol: + en: 4d1dc31d47e3e8b1 + zh: b80687f6506860d5 +/agent-note-deepseek-through-the-anthropic-messages-protocol/problem: + en: 6c9d47e829752afe + zh: 98bd3b5300bfea8c +/agent-note-deepseek-through-the-anthropic-messages-protocol/decision: + en: 3c28330671a1e6db + zh: 0d7ef9a8cf22c51f +/agent-note-deepseek-through-the-anthropic-messages-protocol/alternatives-considered: + en: 4297bc439e8b23e4 + zh: 2bb4dec78040d81e +/agent-note-deepseek-through-the-anthropic-messages-protocol/consequences: + en: 76aa9259724323d2 + zh: 0aac83847bbd4ab6 diff --git a/.agents/notes/implemented/feature/2026-09-07-model-switch-notice.i18n.yaml b/.agents/notes/implemented/feature/2026-09-07-model-switch-notice.i18n.yaml index a3796aa548..d1cc740eac 100644 --- a/.agents/notes/implemented/feature/2026-09-07-model-switch-notice.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-07-model-switch-notice.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-07-model-switch-notice.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-07-model-switch-notice.md -2026-09-07-model-switch-notice.md: cb2f915f13b5fa277977b7a768a3531074126f2a -2026-09-07-model-switch-notice.zh.md: b6dd8da02732e4b6c6b2102aef6074b8f136d37d +/agent-note-model-visible-route-change-notices: + en: 8e372ee5814c99d1 + zh: 3fd0faa18fc02f75 +/agent-note-model-visible-route-change-notices/problem: + en: 0c0be027f271e132 + zh: c4f6aa9217633f43 +/agent-note-model-visible-route-change-notices/decision: + en: 86dbb17229ae9634 + zh: 6b0af5f12441461c +/agent-note-model-visible-route-change-notices/alternatives-considered: + en: 9e8ac73976d39c99 + zh: e637370a5f2b0de8 +/agent-note-model-visible-route-change-notices/consequences: + en: 93976aae03285052 + zh: 27791c4f1f36dc92 diff --git a/.agents/notes/implemented/feature/2026-09-07-session-prose-local-media-display.i18n.yaml b/.agents/notes/implemented/feature/2026-09-07-session-prose-local-media-display.i18n.yaml index daa947a20c..ddf9d83bdd 100644 --- a/.agents/notes/implemented/feature/2026-09-07-session-prose-local-media-display.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-07-session-prose-local-media-display.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-07-session-prose-local-media-display.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-07-session-prose-local-media-display.md -2026-09-07-session-prose-local-media-display.md: fe769d1cbe0b54eed355a7e699bf853a497820cb -2026-09-07-session-prose-local-media-display.zh.md: 2cfff4016f42a13d94a1097602ff2dadbd28d2a7 +/agent-note-session-prose-local-media-paths-display-through-a-same-origin-file-route: + en: 58736e33d45c5578 + zh: 224ab6304833ce7f +/agent-note-session-prose-local-media-paths-display-through-a-same-origin-file-route/problem: + en: 934cbf480461e9e6 + zh: 986d53c72b94cfe4 +/agent-note-session-prose-local-media-paths-display-through-a-same-origin-file-route/decision: + en: 37e189446dd25601 + zh: 0321b091e2250650 +/agent-note-session-prose-local-media-paths-display-through-a-same-origin-file-route/alternatives-considered: + en: b184da259c41e4de + zh: 5c75e50fa595a30e +/agent-note-session-prose-local-media-paths-display-through-a-same-origin-file-route/consequences: + en: 9929a8ad123b21b0 + zh: ac5bf7f3a317d180 +/agent-note-session-prose-local-media-paths-display-through-a-same-origin-file-route/testing: + en: 3c29c3c506a993b2 + zh: 2dfac506ae2ff93a diff --git a/.agents/notes/implemented/feature/2026-09-08-composer-menu-sections-and-localized-rows.i18n.yaml b/.agents/notes/implemented/feature/2026-09-08-composer-menu-sections-and-localized-rows.i18n.yaml index 93a617d08b..9956298fd4 100644 --- a/.agents/notes/implemented/feature/2026-09-08-composer-menu-sections-and-localized-rows.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-08-composer-menu-sections-and-localized-rows.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-composer-menu-sections-and-localized-rows.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-08-composer-menu-sections-and-localized-rows.md -2026-09-08-composer-menu-sections-and-localized-rows.md: 50b97ce2c7e59d53bf5607fef74a799a359d27c8 -2026-09-08-composer-menu-sections-and-localized-rows.zh.md: 92bcb04bfe9b4f7b5581c80d7c0b843f98096e52 +/agent-note-composer-menu-sections-localized-rows-and-the-file-row: + en: c917d19351c56a78 + zh: f443c8b88e4f71dd +/agent-note-composer-menu-sections-localized-rows-and-the-file-row/problem: + en: 3047bf5dd9f33e93 + zh: 34b017add5329b49 +/agent-note-composer-menu-sections-localized-rows-and-the-file-row/decision: + en: 7f9b8265d826561e + zh: e2eca2e3f58d296f +/agent-note-composer-menu-sections-localized-rows-and-the-file-row/alternatives-considered: + en: a7806a39ab7a1bac + zh: 421815a13d53e306 +/agent-note-composer-menu-sections-localized-rows-and-the-file-row/consequences: + en: 8d4daba9e67cdfaa + zh: 6ef43f58f9abf3bc diff --git a/.agents/notes/implemented/feature/2026-09-08-desktop-uninstall-preserve-dsh-home.i18n.yaml b/.agents/notes/implemented/feature/2026-09-08-desktop-uninstall-preserve-dsh-home.i18n.yaml index 3bdaabeccf..ea1536b2ae 100644 --- a/.agents/notes/implemented/feature/2026-09-08-desktop-uninstall-preserve-dsh-home.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-08-desktop-uninstall-preserve-dsh-home.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-desktop-uninstall-preserve-dsh-home.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-08-desktop-uninstall-preserve-dsh-home.md -2026-09-08-desktop-uninstall-preserve-dsh-home.md: 921d9681aa6a26c39e8861d2156dc868237f5b37 -2026-09-08-desktop-uninstall-preserve-dsh-home.zh.md: cb9187bb6d7c3f619dc083fcc3b36cca09494515 +/agent-note-windows-uninstall-retains-the-harness-home: + en: ae26a8eee5e5ef6e + zh: 2549190b3d8890e1 +/agent-note-windows-uninstall-retains-the-harness-home/problem: + en: 7e0091e3af8b52d8 + zh: b40193a58711c6a5 +/agent-note-windows-uninstall-retains-the-harness-home/decision: + en: fd2608389491a1f8 + zh: b007e1d35a049292 +/agent-note-windows-uninstall-retains-the-harness-home/alternatives-considered: + en: f3a2c8263d598b30 + zh: 226a3203c940bdd3 +/agent-note-windows-uninstall-retains-the-harness-home/deferred: + en: 7d13267e5928961a + zh: 79398501c8e099dd +/agent-note-windows-uninstall-retains-the-harness-home/consequences: + en: 9f94a327edbd7685 + zh: fa53c77c2d9df54d diff --git a/.agents/notes/implemented/feature/2026-09-08-feedback-dialog-and-categories.i18n.yaml b/.agents/notes/implemented/feature/2026-09-08-feedback-dialog-and-categories.i18n.yaml index c18c6397ed..5de5db011a 100644 --- a/.agents/notes/implemented/feature/2026-09-08-feedback-dialog-and-categories.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-08-feedback-dialog-and-categories.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-feedback-dialog-and-categories.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-08-feedback-dialog-and-categories.md -2026-09-08-feedback-dialog-and-categories.md: 1d544e6ef978c10008ac62768b6faaf9eaaf8b73 -2026-09-08-feedback-dialog-and-categories.zh.md: 6e58820bf308a3a9f7d15b64027f90e7e6771bd4 +/agent-note-feedback-dialog-categories-and-the-acknowledgement-toast: + en: 0ca76fe002b0b0fc + zh: 14fa2772a6a23e25 +/agent-note-feedback-dialog-categories-and-the-acknowledgement-toast/problem: + en: 90ac7f116156c209 + zh: 20274add2ffbcdc0 +/agent-note-feedback-dialog-categories-and-the-acknowledgement-toast/decision: + en: 4cde40e5b1ad6beb + zh: fb49e47434faf06f +/agent-note-feedback-dialog-categories-and-the-acknowledgement-toast/alternatives-considered: + en: 3713257ee75869da + zh: 5892d375fe8d0764 +/agent-note-feedback-dialog-categories-and-the-acknowledgement-toast/consequences: + en: a55c05291a78e922 + zh: 1373131586665daf diff --git a/.agents/notes/implemented/feature/2026-09-08-file-display-through-filesystem.i18n.yaml b/.agents/notes/implemented/feature/2026-09-08-file-display-through-filesystem.i18n.yaml index 0817dcd4f1..efe36291ac 100644 --- a/.agents/notes/implemented/feature/2026-09-08-file-display-through-filesystem.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-08-file-display-through-filesystem.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-file-display-through-filesystem.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-08-file-display-through-filesystem.md -2026-09-08-file-display-through-filesystem.md: b1f93f8c9fbd245ad69bc732b2a599c6e0abeb0d -2026-09-08-file-display-through-filesystem.zh.md: faa3fdb757c9a3fc60cae37692a559158e02ceee +/agent-note-authenticated-file-display-reuses-filesystem-byte-reads: + en: 1db6d91b6011384e + zh: 68152c2e3fff2931 +/agent-note-authenticated-file-display-reuses-filesystem-byte-reads/problem: + en: c8e25473775da151 + zh: af807ea30d423858 +/agent-note-authenticated-file-display-reuses-filesystem-byte-reads/decision: + en: d448ed98f635fd14 + zh: 81795f947a0c1c99 +/agent-note-authenticated-file-display-reuses-filesystem-byte-reads/alternatives-considered: + en: 80e52b422305ca28 + zh: d0e38b1cd96be951 +/agent-note-authenticated-file-display-reuses-filesystem-byte-reads/consequences: + en: 15ec0dd18d621f24 + zh: e4925a96395edd8c +/agent-note-authenticated-file-display-reuses-filesystem-byte-reads/testing: + en: 9d28b1552a2decde + zh: 6ea9f91992bcfa1a diff --git a/.agents/notes/implemented/feature/2026-09-08-present-workspace-source-files.i18n.yaml b/.agents/notes/implemented/feature/2026-09-08-present-workspace-source-files.i18n.yaml index 057e138853..e2c08a0acd 100644 --- a/.agents/notes/implemented/feature/2026-09-08-present-workspace-source-files.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-08-present-workspace-source-files.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-present-workspace-source-files.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-08-present-workspace-source-files.md -2026-09-08-present-workspace-source-files.md: 52cc3e9cdbcd30d378117a327b86062523a2cb3e -2026-09-08-present-workspace-source-files.zh.md: 99b7b9df1d9ca2da2175df1ae7e9d8acbb5c5fdd +/agent-note-present-declares-workspace-source-files: + en: 8e9f703ce074f949 + zh: 37e27d1591d31b9d +/agent-note-present-declares-workspace-source-files/problem: + en: 8598b8d2e92bcfa1 + zh: e3ae5fc294711095 +/agent-note-present-declares-workspace-source-files/decision: + en: 481549ced705b010 + zh: 8cad3ea14f84decf +/agent-note-present-declares-workspace-source-files/alternatives-considered: + en: b959eae9786351da + zh: 030c06051d6ac4be +/agent-note-present-declares-workspace-source-files/consequences: + en: 98cd6d2356003a58 + zh: 6e0b46c4ec6ba4b5 diff --git a/.agents/notes/implemented/feature/2026-09-08-shared-file-type-icons.i18n.yaml b/.agents/notes/implemented/feature/2026-09-08-shared-file-type-icons.i18n.yaml index 35f8f4dc56..569b09933e 100644 --- a/.agents/notes/implemented/feature/2026-09-08-shared-file-type-icons.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-08-shared-file-type-icons.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-shared-file-type-icons.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-08-shared-file-type-icons.md -2026-09-08-shared-file-type-icons.md: 5dbe0ade14c15e1d509f56eba6e0266c61089c46 -2026-09-08-shared-file-type-icons.zh.md: 9dbccdf10f188b30dcbbbe11d45b238af42ca112 +/agent-note-shared-file-type-icons: + en: d83f437754356503 + zh: 7f5b673537312d8c +/agent-note-shared-file-type-icons/problem: + en: 67d8c2d11e0ae0a2 + zh: fb2a576b528db3ad +/agent-note-shared-file-type-icons/decision: + en: 418ba69021928ba0 + zh: 7fc1b5cef5f22004 +/agent-note-shared-file-type-icons/alternatives-considered: + en: 67dc36a02b841541 + zh: cf262c343957ff69 +/agent-note-shared-file-type-icons/testing: + en: 16768b2ea13d16ef + zh: e7455e31220bb2e6 +/agent-note-shared-file-type-icons/consequences: + en: fb30a1c743dbe885 + zh: 858fb79479434d69 diff --git a/.agents/notes/implemented/feature/2026-09-08-sidebar-default-pages.i18n.yaml b/.agents/notes/implemented/feature/2026-09-08-sidebar-default-pages.i18n.yaml index e6392aa970..b7a60a735c 100644 --- a/.agents/notes/implemented/feature/2026-09-08-sidebar-default-pages.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-08-sidebar-default-pages.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-sidebar-default-pages.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-08-sidebar-default-pages.md -2026-09-08-sidebar-default-pages.md: 13374ab294cab74b54ada8550a6dff5af2cd9cd1 -2026-09-08-sidebar-default-pages.zh.md: 6730a87fbe9c59ef6d448fe0f2d4c3c2cb75e6bb +/agent-note-sidebar-default-pages: + en: 0b6b9c156b3653d9 + zh: f4650c41660ea99d +/agent-note-sidebar-default-pages/problem: + en: 48127a7f5a873a52 + zh: a722f139876a415a +/agent-note-sidebar-default-pages/decision: + en: b6707d5c48eb414a + zh: c920061739304dfc +/agent-note-sidebar-default-pages/alternatives-considered: + en: 8d981eef6c5088b8 + zh: 0bc9541a7f7d7b53 +/agent-note-sidebar-default-pages/consequences: + en: eb418364a7c202e2 + zh: d2372099a1ed3e6e diff --git a/.agents/notes/implemented/feature/2026-09-08-sidebar-last-tab-close-rules.i18n.yaml b/.agents/notes/implemented/feature/2026-09-08-sidebar-last-tab-close-rules.i18n.yaml index 2846db77ba..a4049b0446 100644 --- a/.agents/notes/implemented/feature/2026-09-08-sidebar-last-tab-close-rules.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-08-sidebar-last-tab-close-rules.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-sidebar-last-tab-close-rules.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-08-sidebar-last-tab-close-rules.md -2026-09-08-sidebar-last-tab-close-rules.md: ed76b0ad0b8bbadcf5eace12a7da3bd38c733d0e -2026-09-08-sidebar-last-tab-close-rules.zh.md: bcc54c0c39cc65434f21ef8f6f81a382b6eecdb7 +/agent-note-last-tab-close-rules-on-the-sidebar-s-docked-surface: + en: 4f38145de396b08f + zh: 3e65231a5ebb8fdd +/agent-note-last-tab-close-rules-on-the-sidebar-s-docked-surface/problem: + en: 90a9c3dc146c7d11 + zh: a12b784b66fa3979 +/agent-note-last-tab-close-rules-on-the-sidebar-s-docked-surface/decision: + en: a760dcb29bb9645c + zh: ad4dafd7d5b407e7 +/agent-note-last-tab-close-rules-on-the-sidebar-s-docked-surface/alternatives-considered: + en: 4e2673d521d6540e + zh: 0d5f0b99ea80d5ff +/agent-note-last-tab-close-rules-on-the-sidebar-s-docked-surface/consequences: + en: 3e43dd3066e8b05b + zh: ed6ed81abb18131b diff --git a/.agents/notes/implemented/feature/2026-09-09-headless-machine-readable-run-surface.i18n.yaml b/.agents/notes/implemented/feature/2026-09-09-headless-machine-readable-run-surface.i18n.yaml index d704c77ad2..f4cc113bc2 100644 --- a/.agents/notes/implemented/feature/2026-09-09-headless-machine-readable-run-surface.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-09-headless-machine-readable-run-surface.i18n.yaml @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-headless-machine-readable-run-surface.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-09-headless-machine-readable-run-surface.md -2026-09-09-headless-machine-readable-run-surface.md: 317f213095f86e94104c013139390cdf988f95fe -2026-09-09-headless-machine-readable-run-surface.zh.md: 0114f87aef4f25db0887663464973bb2f762b2d5 +/agent-note-headless-machine-readable-run-surface: + en: bcf2251478004e35 + zh: 70ade47c837c6bab +/agent-note-headless-machine-readable-run-surface/problem: + en: 9d2c64ed47b82129 + zh: bb0de126368e9f07 +/agent-note-headless-machine-readable-run-surface/decision: + en: ed08acff9c4ea030 + zh: 484c2646de4aa5d8 +/agent-note-headless-machine-readable-run-surface/decision/command-line-contract: + en: 59470d5c2eba0a57 + zh: 342c1ac9042c6b46 +/agent-note-headless-machine-readable-run-surface/decision/event-stream: + en: b6837e3de1305559 + zh: 183956da3319a126 +/agent-note-headless-machine-readable-run-surface/decision/session-identity: + en: ebb2c5da4ea076a9 + zh: a706416d290e7424 +/agent-note-headless-machine-readable-run-surface/consequences: + en: 1ba14087f533dd8e + zh: 66f4aa9d63a0da23 +/agent-note-headless-machine-readable-run-surface/alternatives-considered: + en: 42f321bd399f906e + zh: 3b13791afa256781 diff --git a/.agents/notes/implemented/feature/2026-09-09-present-filesystem-access.i18n.yaml b/.agents/notes/implemented/feature/2026-09-09-present-filesystem-access.i18n.yaml index 5bb1142826..4b6f724f0b 100644 --- a/.agents/notes/implemented/feature/2026-09-09-present-filesystem-access.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-09-present-filesystem-access.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-present-filesystem-access.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-09-present-filesystem-access.md -2026-09-09-present-filesystem-access.md: 5c9d5bec47c73ac1c5952b887d56e582148a4cea -2026-09-09-present-filesystem-access.zh.md: 6387f07b17276b3455d19d650b4ae031a7efda4c +/agent-note-present-follows-session-filesystem-access: + en: 33cf0a75284f8392 + zh: 5299af2f77bf6fd8 +/agent-note-present-follows-session-filesystem-access/problem: + en: dda1953cb567c3dc + zh: 3c447175454c844a +/agent-note-present-follows-session-filesystem-access/decision: + en: 2668dd51b07e2653 + zh: 3cd895017f568c42 +/agent-note-present-follows-session-filesystem-access/alternatives-considered: + en: 85336cd165610ddf + zh: 75608e3bfeab5dc5 +/agent-note-present-follows-session-filesystem-access/consequences: + en: e31784fe619d4d1c + zh: 7cadc3941a0c7b33 diff --git a/.agents/notes/implemented/feature/2026-09-09-ptc-trajectory-code-inspection.i18n.yaml b/.agents/notes/implemented/feature/2026-09-09-ptc-trajectory-code-inspection.i18n.yaml index d88fb31e2e..6ae3a85d71 100644 --- a/.agents/notes/implemented/feature/2026-09-09-ptc-trajectory-code-inspection.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-09-ptc-trajectory-code-inspection.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-ptc-trajectory-code-inspection.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-09-ptc-trajectory-code-inspection.md -2026-09-09-ptc-trajectory-code-inspection.md: 19779d20e8d08ce0ca9678ab6626765faa13cf65 -2026-09-09-ptc-trajectory-code-inspection.zh.md: 7cdb2321d61893e43426798d311847662450d289 +/agent-note-inspect-recorded-ptc-source-in-trajectory: + en: 29f601adfcaa6019 + zh: bdd1c59d1bbbff62 +/agent-note-inspect-recorded-ptc-source-in-trajectory/problem: + en: 6b49bc4faca04ae0 + zh: 60165937e0a7c71d +/agent-note-inspect-recorded-ptc-source-in-trajectory/decision: + en: 43dd488c270c1664 + zh: 3fdf6d374c49fee3 +/agent-note-inspect-recorded-ptc-source-in-trajectory/alternatives-considered: + en: bbf705774c5c608a + zh: 1af9b4aa3d4fa025 +/agent-note-inspect-recorded-ptc-source-in-trajectory/consequences: + en: c680634fe8b95880 + zh: 7660cd3354522ef8 diff --git a/.agents/notes/implemented/feature/2026-09-09-sidebar-and-preview-interaction-polish.i18n.yaml b/.agents/notes/implemented/feature/2026-09-09-sidebar-and-preview-interaction-polish.i18n.yaml index 6906decd2f..e82abbb700 100644 --- a/.agents/notes/implemented/feature/2026-09-09-sidebar-and-preview-interaction-polish.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-09-sidebar-and-preview-interaction-polish.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-sidebar-and-preview-interaction-polish.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-09-sidebar-and-preview-interaction-polish.md -2026-09-09-sidebar-and-preview-interaction-polish.md: eba8bd3a2314c7eaf18cd9982aa4e599665dbc62 -2026-09-09-sidebar-and-preview-interaction-polish.zh.md: 93d88d41e99f50621c80d69d615e39852b715c89 +/agent-note-sidebar-and-preview-interaction-polish: + en: bce3b5bc9f49bbff + zh: bebc5b0ce3a370a7 +/agent-note-sidebar-and-preview-interaction-polish/problem: + en: 2d6e8ec1b08dcce9 + zh: 75e1c454d71da103 +/agent-note-sidebar-and-preview-interaction-polish/decision: + en: 7358c236daed510b + zh: 93cf67bbffa2c20b +/agent-note-sidebar-and-preview-interaction-polish/alternatives-considered: + en: c828e83875412d49 + zh: d0277bf0d1f5d7a9 +/agent-note-sidebar-and-preview-interaction-polish/consequences: + en: cb7cb72724552f2b + zh: 05705b4795ade85f diff --git a/.agents/notes/implemented/feature/2026-09-09-web-sidebar-terminal.i18n.yaml b/.agents/notes/implemented/feature/2026-09-09-web-sidebar-terminal.i18n.yaml index 76ed3e8786..73ba0975be 100644 --- a/.agents/notes/implemented/feature/2026-09-09-web-sidebar-terminal.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-09-web-sidebar-terminal.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-web-sidebar-terminal.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-09-web-sidebar-terminal.md -2026-09-09-web-sidebar-terminal.md: 09be4a142f615750799e01106eac7a9b52cbad48 -2026-09-09-web-sidebar-terminal.zh.md: c2ac1468756ee08c713855979119662390ffeadb +/agent-note-web-sidebar-terminals: + en: dfb245f871011059 + zh: d64c0bd9cbe5f652 +/agent-note-web-sidebar-terminals/problem: + en: 71813b1cb1f750ba + zh: 64d2b999933ccd98 +/agent-note-web-sidebar-terminals/decision: + en: d73dc0a37bd7c9dd + zh: f5c6cf8cce36090a +/agent-note-web-sidebar-terminals/alternatives-considered: + en: 0c129fba63a60777 + zh: c334f34dd71bbaf6 +/agent-note-web-sidebar-terminals/consequences: + en: d710787595b5dc89 + zh: 4df9518c32698f85 +/agent-note-web-sidebar-terminals/related: + en: 94540c743da01fc4 + zh: 53e3d9d2268153d1 diff --git a/.agents/notes/implemented/feature/2026-09-10-composer-reference-previews.i18n.yaml b/.agents/notes/implemented/feature/2026-09-10-composer-reference-previews.i18n.yaml index ee5d2b3fa2..e5beccba4f 100644 --- a/.agents/notes/implemented/feature/2026-09-10-composer-reference-previews.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-10-composer-reference-previews.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-composer-reference-previews.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-10-composer-reference-previews.md -2026-09-10-composer-reference-previews.md: e9425851c1dc4ac0c8dc588d3b234c173eeb9262 -2026-09-10-composer-reference-previews.zh.md: c47718468bf1e38469140c12c1096b7bc5da0f40 +/agent-note-composer-reference-previews: + en: 4077f5f4bb6cbbc1 + zh: 0ed641c53ecc9ff9 +/agent-note-composer-reference-previews/problem: + en: b6c93af7ecb4f6df + zh: e6efd6ac2e2193fc +/agent-note-composer-reference-previews/decision: + en: f895747aad30a9ea + zh: 1a736bbf64f82041 +/agent-note-composer-reference-previews/alternatives-considered: + en: c76709c683a56316 + zh: a6708957a465c3ce +/agent-note-composer-reference-previews/consequences: + en: d67f32b4450e8c71 + zh: 7d3a8c6588959e04 diff --git a/.agents/notes/implemented/feature/2026-09-10-symmetric-message-feedback-submission.i18n.yaml b/.agents/notes/implemented/feature/2026-09-10-symmetric-message-feedback-submission.i18n.yaml index bc63e89dd9..9a45958b42 100644 --- a/.agents/notes/implemented/feature/2026-09-10-symmetric-message-feedback-submission.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-10-symmetric-message-feedback-submission.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-symmetric-message-feedback-submission.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-10-symmetric-message-feedback-submission.md -2026-09-10-symmetric-message-feedback-submission.md: 51c754dbd3ecc566e15ec1b7a276fc2a3cf7c551 -2026-09-10-symmetric-message-feedback-submission.zh.md: 0ba5d1a1c53f08b76c5bbc32b84687c3dcd38ec2 +/agent-note-symmetric-message-feedback-submission: + en: 40f6c11f8f4332a2 + zh: fa31c26c296f892c +/agent-note-symmetric-message-feedback-submission/problem: + en: f5afa64229a1e8db + zh: b73e730754f33cc5 +/agent-note-symmetric-message-feedback-submission/decision: + en: a8a9598cb30f8f8e + zh: 3073219d585bc5fd +/agent-note-symmetric-message-feedback-submission/alternatives-considered: + en: b425d01d854f8962 + zh: f74131c171c9f74a +/agent-note-symmetric-message-feedback-submission/consequences: + en: 833bc3370c02fd1e + zh: 2718d60cdf762436 diff --git a/.agents/notes/implemented/feature/2026-09-11-desktop-mandatory-update-client.i18n.yaml b/.agents/notes/implemented/feature/2026-09-11-desktop-mandatory-update-client.i18n.yaml index 32ae05e725..0e6f21dae4 100644 --- a/.agents/notes/implemented/feature/2026-09-11-desktop-mandatory-update-client.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-11-desktop-mandatory-update-client.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-11-desktop-mandatory-update-client.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-11-desktop-mandatory-update-client.md -2026-09-11-desktop-mandatory-update-client.md: ff55f30836a37e49229adac6414cb3a98bca4d6c -2026-09-11-desktop-mandatory-update-client.zh.md: 6c17a9fbd0ce2741b635b742be682d4c5fd9f8c6 +/agent-note-desktop-mandatory-update-client-and-blocking-window: + en: 059254153764a162 + zh: 17dfd84fd2ba6eea +/agent-note-desktop-mandatory-update-client-and-blocking-window/problem: + en: f1aeaa7df97a744f + zh: 039b2cccd9a45198 +/agent-note-desktop-mandatory-update-client-and-blocking-window/decision: + en: fc0fa9c713fb74e8 + zh: 783f643486eeccaa +/agent-note-desktop-mandatory-update-client-and-blocking-window/alternatives-considered: + en: 136afb04a37db4a1 + zh: 2b049e0d9fd8aa27 +/agent-note-desktop-mandatory-update-client-and-blocking-window/consequences: + en: 6f7a3decf4f0504f + zh: 16241131d1053989 diff --git a/.agents/notes/implemented/feature/2026-09-11-sidebar-document-preview-polish.i18n.yaml b/.agents/notes/implemented/feature/2026-09-11-sidebar-document-preview-polish.i18n.yaml index fe0979cdb2..bffd9997fe 100644 --- a/.agents/notes/implemented/feature/2026-09-11-sidebar-document-preview-polish.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-11-sidebar-document-preview-polish.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-11-sidebar-document-preview-polish.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-11-sidebar-document-preview-polish.md -2026-09-11-sidebar-document-preview-polish.md: b78141881513167a08050afb287eb4d1bcb43995 -2026-09-11-sidebar-document-preview-polish.zh.md: 43016af0dff72ed09a19271535912ba9abd65d9c +/agent-note-sidebar-document-preview-polish: + en: f6de5780a080c43b + zh: 43c5fe472e41c955 +/agent-note-sidebar-document-preview-polish/problem: + en: 4a52e0a397d95c28 + zh: ecaeb3f570c775da +/agent-note-sidebar-document-preview-polish/decision: + en: 6292b936ed7ee1bb + zh: 1758900c96a6811b +/agent-note-sidebar-document-preview-polish/alternatives-considered: + en: e2e5b8bbd191385e + zh: 29b37f3ec312f5ca +/agent-note-sidebar-document-preview-polish/consequences: + en: 38951cfb55e9214c + zh: 6ca3845e206be2da diff --git a/.agents/notes/implemented/feature/2026-09-11-turn-changed-files-card.i18n.yaml b/.agents/notes/implemented/feature/2026-09-11-turn-changed-files-card.i18n.yaml index 376ac2b6d8..26ab339a79 100644 --- a/.agents/notes/implemented/feature/2026-09-11-turn-changed-files-card.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-11-turn-changed-files-card.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-11-turn-changed-files-card.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-11-turn-changed-files-card.md -2026-09-11-turn-changed-files-card.md: 0c41783c6d5d02fecd0c85298aed1f07f5c8a65f -2026-09-11-turn-changed-files-card.zh.md: f417b31b899529b664664926c832c28f4b1be6ba +/agent-note-turn-changed-files-card: + en: 21aea14160ab0796 + zh: c8b389f1b684f677 +/agent-note-turn-changed-files-card/problem: + en: f3416b4d37371155 + zh: 52e22bd5a90358e5 +/agent-note-turn-changed-files-card/decision: + en: 75a1a9aa9b204844 + zh: 941fdb3556ebe035 +/agent-note-turn-changed-files-card/alternatives-considered: + en: 7ade7ce52c2a320d + zh: 18832d5f45568429 +/agent-note-turn-changed-files-card/consequences: + en: 33504bcb31f30f84 + zh: c6626b532701fcc7 diff --git a/.agents/notes/implemented/feature/2026-09-12-mcp-resources-and-instructions.i18n.yaml b/.agents/notes/implemented/feature/2026-09-12-mcp-resources-and-instructions.i18n.yaml index 44220ef7f3..05daf52fa7 100644 --- a/.agents/notes/implemented/feature/2026-09-12-mcp-resources-and-instructions.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-12-mcp-resources-and-instructions.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-12-mcp-resources-and-instructions.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-12-mcp-resources-and-instructions.md -2026-09-12-mcp-resources-and-instructions.md: a5eabd6170507d5a4df295b8554e6da47b40b9be -2026-09-12-mcp-resources-and-instructions.zh.md: 44890b23944f482a2e1a38483029f1e61caebbe1 +/agent-note-on-demand-mcp-resources-and-scoped-server-instructions: + en: 052fc1f95f280688 + zh: fdfacc841597d4da +/agent-note-on-demand-mcp-resources-and-scoped-server-instructions/problem: + en: 0d6c75e85a04c36a + zh: fe5043f324369cdd +/agent-note-on-demand-mcp-resources-and-scoped-server-instructions/decision: + en: 69a021dd23820bb8 + zh: 447d2d8d03f12896 +/agent-note-on-demand-mcp-resources-and-scoped-server-instructions/alternatives-considered: + en: 02bc8e76ce4d68ab + zh: 0991cc64ff9e3011 +/agent-note-on-demand-mcp-resources-and-scoped-server-instructions/verification: + en: 41694d9121383436 + zh: 781ea7503ea149f1 +/agent-note-on-demand-mcp-resources-and-scoped-server-instructions/consequences: + en: 432b24aa763eff2e + zh: 236825ede84e2c0d diff --git a/.agents/notes/implemented/feature/2026-09-12-mcp-sdk-protocol-negotiation.i18n.yaml b/.agents/notes/implemented/feature/2026-09-12-mcp-sdk-protocol-negotiation.i18n.yaml index 61450c1d3c..25b2735cf8 100644 --- a/.agents/notes/implemented/feature/2026-09-12-mcp-sdk-protocol-negotiation.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-12-mcp-sdk-protocol-negotiation.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-12-mcp-sdk-protocol-negotiation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-12-mcp-sdk-protocol-negotiation.md -2026-09-12-mcp-sdk-protocol-negotiation.md: 74f027cead92688b0af71c1028d536b26f2a8059 -2026-09-12-mcp-sdk-protocol-negotiation.zh.md: bc8a9a41b8ccd8cbc844b4b9de8b39a646d1dcbf +/agent-note-mcp-sdk-protocol-negotiation: + en: 9228ca2f4da2f41b + zh: 7cd10429865c3f2d +/agent-note-mcp-sdk-protocol-negotiation/problem: + en: bd614e17c62d137e + zh: ee71fdcd310a9592 +/agent-note-mcp-sdk-protocol-negotiation/decision: + en: ed7b45ffcaeffedd + zh: 2287d525ec04006c +/agent-note-mcp-sdk-protocol-negotiation/alternatives-considered: + en: 1fba2ebdcc100c37 + zh: 45c384641d3b0300 +/agent-note-mcp-sdk-protocol-negotiation/consequences: + en: 1a50179c0254517c + zh: 046e4f72bfc2ea89 diff --git a/.agents/notes/implemented/feature/2026-09-13-macos-hidden-titlebar-vibrancy.i18n.yaml b/.agents/notes/implemented/feature/2026-09-13-macos-hidden-titlebar-vibrancy.i18n.yaml index d15870537e..ccb4558c12 100644 --- a/.agents/notes/implemented/feature/2026-09-13-macos-hidden-titlebar-vibrancy.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-13-macos-hidden-titlebar-vibrancy.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-13-macos-hidden-titlebar-vibrancy.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-13-macos-hidden-titlebar-vibrancy.md -2026-09-13-macos-hidden-titlebar-vibrancy.md: 807c79d06c468e01b8b9df3f18a32e5fbaba1e90 -2026-09-13-macos-hidden-titlebar-vibrancy.zh.md: a521aff7624b1f9dbab18e7d0f02f61af0bdc24a +/agent-note-macos-hidden-titlebar-with-vibrancy-sidebar: + en: 1872fd56128fb565 + zh: dc7b04d80eda9880 +/agent-note-macos-hidden-titlebar-with-vibrancy-sidebar/problem: + en: 199f00b0e7f3c09c + zh: bb331fc8d7d46bbd +/agent-note-macos-hidden-titlebar-with-vibrancy-sidebar/decision: + en: f59c3d276d0fb5c0 + zh: 85509dca9810cd4d +/agent-note-macos-hidden-titlebar-with-vibrancy-sidebar/alternatives-considered: + en: 28d920253012bd11 + zh: ae6a27f959d5afe3 +/agent-note-macos-hidden-titlebar-with-vibrancy-sidebar/consequences: + en: e08ce133c72863d8 + zh: e67b5c3bff579d86 +/agent-note-macos-hidden-titlebar-with-vibrancy-sidebar/testing: + en: a075febd9b78dc5f + zh: 7c59a9b7f0798dac diff --git a/.agents/notes/implemented/feature/2026-09-13-macos-hidden-titlebar-vibrancy.md b/.agents/notes/implemented/feature/2026-09-13-macos-hidden-titlebar-vibrancy.md index 807c79d06c..7e69fea3a4 100644 --- a/.agents/notes/implemented/feature/2026-09-13-macos-hidden-titlebar-vibrancy.md +++ b/.agents/notes/implemented/feature/2026-09-13-macos-hidden-titlebar-vibrancy.md @@ -18,11 +18,11 @@ Every macOS web-side adjustment keys off `html[data-platform='darwin']`, which o **Native theme sync.** The vibrancy material follows `nativeTheme.themeSource`, which otherwise tracks the OS appearance and diverges from the app's own theme preference. The ui-theme boot script and ui-layout `ThemePresenter` publish `html[data-ds-theme-source]` (`light`, `dark`, or `system`; a fixed preference, including registered theme ids, publishes its resolved scheme). The app preload observes the attribute and forwards it over `dsh-desktop:native-theme-set`; main validates the value and the sender (the main window's WebContents, including its local static Web document) and assigns `nativeTheme.themeSource`. Publishing the preference rather than the resolved scheme preserves OS-follow while the preference is `system`. -**Sidebar top strip and full hide.** On darwin the sidebar opens with a 52px top strip that clears the traffic lights and carries the collapse toggle; the frame's `.leadingBand` drag band covers the same 52px geometry, so the strip declares no app-region of its own and the toggle subtracts itself through the base.css interactive rule. Collapsing the sidebar hides the column entirely — `computeColumns` takes an explicit `collapsedWidth` and the AppFrame passes 0 on darwin desktop — instead of the 56px rail the other platforms keep. The reopen affordances live in the frame's root-scoped `shell.leading` window-chrome seat, which the AppFrame mounts only while the column is fully hidden; ui-sidebar registers `HeaderLeadingControls` (open sidebar + New Session, reusing the shell's inject face and locale) into it. The seat placement, the `--dsh-frame-leading-clearance` variable panels pad by, and the removal of the earlier conversation-header seat are owned by the [shell.leading Agent Note](../architecture/2026-09-17-frame-shell-leading-window-chrome-seat.md). +**Sidebar top strip and full hide.** On darwin the sidebar opens with a 52px top strip that clears the traffic lights and carries the collapse toggle; the strip marks itself `data-window-drag`, so its own 52px box is the window's drag region (ui-web base.css declares the one darwin drag rule) and the toggle subtracts itself through the base.css interactive rule. Collapsing the sidebar hides the column entirely — `computeColumns` takes an explicit `collapsedWidth` and the AppFrame passes 0 on darwin desktop — instead of the 56px rail the other platforms keep. The reopen affordances live in the frame's root-scoped `shell.leading` window-chrome seat, which the AppFrame mounts only while the column is fully hidden; ui-sidebar registers `HeaderLeadingControls` (open sidebar + New Session, reusing the shell's inject face and locale) into it. The seat placement, the `--dsh-frame-leading-clearance` variable panels pad by, and the removal of the earlier conversation-header seat are owned by the [shell.leading Agent Note](../architecture/2026-09-17-frame-shell-leading-window-chrome-seat.md). **Window fullscreen marker.** macOS fullscreen hides the traffic lights, so layouts built around them must relax. The main process relays `isFullScreen()` over `dsh-desktop:window-fullscreen` on `enter-full-screen`, `leave-full-screen`, and each `did-finish-load`; the app preload's `syncWindowFullscreen()` mirrors it onto `html[data-fullscreen]`. Consumers: the AppFrame drops `--dsh-frame-leading-clearance` to 84px and moves the seat to `left: 12px`, the sidebar's `.topStrip` moves the toggle to the strip's left edge, and the right sidebar's fullscreen panel resets its first pane's dockkit strip inset to the ordinary 10px. -**Drag regions.** Electron computes drag regions from window geometry in DOM order, not stacking, so `-webkit-app-region: drag` is declared only inside the two allowlisted stylesheets: ui-layout `AppFrame.module.css` (the darwin `.leadingBand`, a 52px full-width `pointer-events: none` strip rendered as the frame's first child, and the Windows caption `.frame::before`) and ui-sidebar `SidebarRoot.module.css` (`.logoRow`, which extends the band below 52px). Everything interactive subtracts itself through two global ui-web base.css rules: one `:is(...)` selector opting out every interactive element (buttons, links, inputs, roles, `[tabindex]`), and one `body > :not(#root)` rule covering every overlay portaled beside `#root`. Because the drag bands mount before all content, any later no-drag box wins; content containers never declare drag, which would override earlier-mounted overlays. +**Drag regions.** Electron computes drag regions from window geometry in DOM order, not stacking, so the shell declares `-webkit-app-region: drag` once, over the mark a chrome row puts on its own box, each row's box being its draggable geometry. The ui-theme app-region gate's `CHROME_ROWS` manifest is the list of rows that must carry the mark, so this note keeps only the mechanism. The frame declares none — the Windows caption row is that platform's own chrome — so no fixed band has to match any row's height. Everything interactive subtracts itself through two global ui-web base.css rules: one `:is(...)` selector opting out every interactive element (buttons, links, inputs, roles, `[tabindex]`), and one `body > :not(#root)` rule covering every overlay portaled beside `#root`. The ordering rule those two rest on: a surface that covers the window and must stay clickable portals beside `#root` (the settings overlay does), which puts it after every drag row in document order; content containers never declare drag, which would override earlier-mounted overlays. The [coverage contract note](../architecture/2026-09-19-window-drag-coverage-contract.md) owns the manifest, the browser lane, and the manual state matrix. **Fullscreen traffic-light clearance.** ui-dockkit publishes the tab strip's start inset as `--dsh-dockkit-strip-inline-start` (fallback the design's own 10px). The right sidebar's fullscreen presentation on darwin sets 88px on the panel body and resets 10px for every non-first split cell's subtree, so exactly the pane touching the window's top-left corner clears the lights at any split depth. @@ -43,9 +43,9 @@ Every macOS web-side adjustment keys off `html[data-platform='darwin']`, which o - The macOS window gains a translucent sidebar and hidden titlebar at zero cost to other platforms: every rule is scoped to `[data-platform='darwin']`, which only the Electron preload sets. - The vibrancy material follows the app theme, including third-party registered themes (their resolved scheme). Screenshots and screen recordings differ from the flat web rendering. - The reopen controls occupy the frame's `shell.leading` seat, a public slot in the client catalog; the earlier `conversation.session.header.leading` seat is removed ([shell.leading Agent Note](../architecture/2026-09-17-frame-shell-leading-window-chrome-seat.md)). -- Drag-region ownership is a window-global invariant: `-webkit-app-region: drag` appears only inside the two allowlisted stylesheets (ui-layout `AppFrame.module.css`: darwin `.leadingBand` and Windows caption `.frame::before`; ui-sidebar `SidebarRoot.module.css`: `.logoRow`); other packages rely on the base.css opt-outs or add a scoped `no-drag`, never a new drag surface. The ui-theme app-region stylesheet gate enforces the allowlist over every package stylesheet. +- Drag-region ownership is a window-global invariant: `-webkit-app-region: drag` appears only in ui-web `base.css` (the one darwin rule over `data-window-drag`) and in ui-layout `AppFrame.module.css` (the Windows caption `.frame::before`); other packages rely on the base.css opt-outs or add a scoped `no-drag`, never a new drag surface. The ui-theme app-region gate pairs each chrome row's markup mark with its sheet, selector, and authored height, and refuses a mark anywhere else. - The transparent window plus vibrancy is accepted to look different in screen sharing and may flash on startup; the transparent `backgroundColor` mitigates the flash. ## Testing -ui-theme boot and ui-layout presenter specs pin the `data-ds-theme-source` publication and disposal. The ui-sidebar apply spec pins the `shell.leading` registration (component, locale, shared inject face) and its removal on teardown; the ui-layout app-frame spec pins the seat's darwin mount. The desktop main-startup spec pins the fullscreen relay (transitions, reloads, destroyed-window guard, darwin-only registration) and the preload-platform spec pins the `html[data-fullscreen]` mirror. The ui-theme corner-shape and full-round style gates cover the new stylesheet, and its app-region style gate pins drag-region ownership to the two allowlisted stylesheets across every package stylesheet. +ui-theme boot and ui-layout presenter specs pin the `data-ds-theme-source` publication and disposal. The ui-sidebar apply spec pins the `shell.leading` registration (component, locale, shared inject face) and its removal on teardown; the ui-layout app-frame spec pins the seat's darwin mount. The desktop main-startup spec pins the fullscreen relay (transitions, reloads, destroyed-window guard, darwin-only registration) and the preload-platform spec pins the `html[data-fullscreen]` mirror. The ui-theme corner-shape and full-round style gates cover the new stylesheet, and its app-region gate pins the one darwin drag rule and every chrome row's markup mark. diff --git a/.agents/notes/implemented/feature/2026-09-13-macos-hidden-titlebar-vibrancy.zh.md b/.agents/notes/implemented/feature/2026-09-13-macos-hidden-titlebar-vibrancy.zh.md index a521aff762..fbba185740 100644 --- a/.agents/notes/implemented/feature/2026-09-13-macos-hidden-titlebar-vibrancy.zh.md +++ b/.agents/notes/implemented/feature/2026-09-13-macos-hidden-titlebar-vibrancy.zh.md @@ -18,11 +18,11 @@ Electron 主进程在 darwin 上以 `titleBarStyle: 'hiddenInset'`、`trafficLig **原生主题同步。** 毛玻璃材质跟随 `nativeTheme.themeSource`,后者默认跟踪系统外观,会与应用自身的主题偏好背离。ui-theme 引导脚本与 ui-layout 的 `ThemePresenter` 发布 `html[data-ds-theme-source]`(`light`、`dark` 或 `system`;固定偏好——包括注册主题 id——发布其解析后的配色)。应用 preload 观察该属性并经 `dsh-desktop:native-theme-set` 转发;主进程校验取值与发送者(主窗口的 WebContents,包括其本地静态 Web 文档)后赋给 `nativeTheme.themeSource`。发布偏好而非解析值,可在偏好为 `system` 时保留跟随系统。 -**侧边栏顶部条与完全隐藏。** darwin 上侧边栏展开时有一条 52px 的顶部条,避开红绿灯并承载收起按钮;框架的 `.leadingBand` 拖拽带覆盖同一 52px 几何,顶部条自身不声明 app-region,按钮经 base.css 交互规则自行减除。收起侧边栏时整列隐藏——`computeColumns` 接受显式 `collapsedWidth`,AppFrame 在 darwin 桌面传 0——而非其他平台保留的 56px rail。重新打开的入口位于框架 root 作用域的 `shell.leading` 窗口 chrome 座,由 AppFrame 仅在整列隐藏时挂载;ui-sidebar 向其注册 `HeaderLeadingControls`(打开侧边栏 + 新会话,复用 shell 的 inject face 与 locale)。座的位置、面板用于避让的 `--dsh-frame-leading-clearance` 变量,以及早先会话头部座的移除,归 [shell.leading Agent Note](../architecture/2026-09-17-frame-shell-leading-window-chrome-seat.zh.md) 所有。 +**侧边栏顶部条与完全隐藏。** darwin 上侧边栏展开时有一条 52px 的顶部条,避开红绿灯并承载收起按钮;顶部条自己打上 `data-window-drag`,于是它自身那 52px 盒子就是窗口的拖拽区(唯一的 darwin drag 规则由 ui-web base.css 声明),按钮经 base.css 交互规则自行减除。收起侧边栏时整列隐藏——`computeColumns` 接受显式 `collapsedWidth`,AppFrame 在 darwin 桌面传 0——而非其他平台保留的 56px rail。重新打开的入口位于框架 root 作用域的 `shell.leading` 窗口 chrome 座,由 AppFrame 仅在整列隐藏时挂载;ui-sidebar 向其注册 `HeaderLeadingControls`(打开侧边栏 + 新会话,复用 shell 的 inject face 与 locale)。座的位置、面板用于避让的 `--dsh-frame-leading-clearance` 变量,以及早先会话头部座的移除,归 [shell.leading Agent Note](../architecture/2026-09-17-frame-shell-leading-window-chrome-seat.zh.md) 所有。 **窗口全屏标记。** macOS 全屏隐藏红绿灯,围绕它们构建的布局必须放松。主进程在 `enter-full-screen`、`leave-full-screen` 与每次 `did-finish-load` 时经 `dsh-desktop:window-fullscreen` 转发 `isFullScreen()`;应用 preload 的 `syncWindowFullscreen()` 把它镜像到 `html[data-fullscreen]`。消费者:AppFrame 把 `--dsh-frame-leading-clearance` 降到 84px 并把座移到 `left: 12px`,侧边栏 `.topStrip` 把收起按钮移到条带左端,右侧边栏全屏面板把首格 pane 的 dockkit strip 内边距重置回常规 10px。 -**拖拽区。** Electron 按 DOM 顺序以窗口几何计算拖拽区,不看层叠,因此 `-webkit-app-region: drag` 只在两个允许清单样式表内声明:ui-layout `AppFrame.module.css`(darwin 的 `.leadingBand`——52px 全宽、`pointer-events: none`、作为框架第一个子元素渲染的条带——与 Windows 顶栏 `.frame::before`)和 ui-sidebar `SidebarRoot.module.css`(`.logoRow`,把拖拽带向 52px 以下延伸)。所有可交互内容通过 ui-web base.css 的两条全局规则自行减除:一条 `:is(...)` 选择器让每个交互元素(按钮、链接、输入框、role、`[tabindex]`)退出拖拽,一条 `body > :not(#root)` 规则覆盖所有 portal 到 `#root` 之外的浮层。拖拽带先于全部内容挂载,任何靠后的 no-drag 盒子必然生效;内容容器永不声明 drag——那会覆盖更早挂载的浮层。 +**拖拽区。** Electron 按 DOM 顺序以窗口几何计算拖拽区,不看层叠,因此外壳只声明一次 `-webkit-app-region: drag`,作用于 chrome 行打在自身盒子上的标记,行自身的盒子就是它的可拖几何;哪些行必须带这个标记由 ui-theme app-region 门禁的 `CHROME_ROWS` 清单拥有,本 note 只保留机制。框架不再声明任何 drag——Windows 标题栏行是那个平台自己的 chrome——因此没有一条固定带子需要匹配某一行的高度。所有可交互内容通过 ui-web base.css 的两条全局规则自行减除:一条 `:is(...)` 选择器让每个交互元素(按钮、链接、输入框、role、`[tabindex]`)退出拖拽,一条 `body > :not(#root)` 规则覆盖所有 portal 到 `#root` 之外的浮层。这两条规则依赖的顺序约定:覆盖窗口且必须可点的表面 portal 到 `#root` 之外(settings 浮层即如此),从而在文档顺序上晚于所有 drag 行;内容容器永不声明 drag——那会覆盖更早挂载的浮层。清单、浏览器车道与人工状态矩阵归 [覆盖契约 note](../architecture/2026-09-19-window-drag-coverage-contract.zh.md)。 **全屏避开红绿灯。** ui-dockkit 把 tab 条起始内边距发布为 `--dsh-dockkit-strip-inline-start`(回退为设计自身的 10px)。右侧边栏全屏形态在 darwin 上对面板主体设 88px,并对每个非首格 split 单元的子树重置为 10px,使得任意分屏深度下恰好只有触及窗口左上角的 pane 避开红绿灯。 @@ -43,9 +43,9 @@ Electron 主进程在 darwin 上以 `titleBarStyle: 'hiddenInset'`、`trafficLig - macOS 窗口获得半透明侧边栏与隐藏标题栏,对其他平台零成本:所有规则限定在 `[data-platform='darwin']` 下,该属性仅由 Electron preload 设置。 - 毛玻璃材质跟随应用主题,含第三方注册主题(取其解析配色)。截图与录屏与纯 Web 的平面渲染不同。 - 重新打开控件占据框架的 `shell.leading` 座,是客户端 catalog 中的公开 slot;早先的 `conversation.session.header.leading` 座已移除([shell.leading Agent Note](../architecture/2026-09-17-frame-shell-leading-window-chrome-seat.zh.md))。 -- 拖拽区归属是窗口级全局不变量:`-webkit-app-region: drag` 只出现在两个允许清单样式表内(ui-layout `AppFrame.module.css`:darwin `.leadingBand` 与 Windows 顶栏 `.frame::before`;ui-sidebar `SidebarRoot.module.css`:`.logoRow`);其他包依赖 base.css 的退出规则或添加限定范围的 `no-drag`,永不新增拖拽面。ui-theme 的 app-region 样式门禁对全部包内样式表强制该允许清单。 +- 拖拽区归属是窗口级全局不变量:`-webkit-app-region: drag` 只出现在 ui-web `base.css`(作用于 `data-window-drag` 的唯一 darwin 规则)与 ui-layout `AppFrame.module.css`(Windows 顶栏 `.frame::before`)内;其他包依赖 base.css 的退出规则或添加限定范围的 `no-drag`,永不新增拖拽面。ui-theme 的 app-region 门禁把每个 chrome 行的 markup 标记与它的样式表、选择器和写死高度配成一条,并拒绝别处的标记。 - 接受透明窗口 + 毛玻璃在屏幕共享中呈现不同、启动可能闪烁;透明 `backgroundColor` 缓解闪烁。 ## Testing -ui-theme 引导与 ui-layout presenter 测试钉住 `data-ds-theme-source` 的发布与清除。ui-sidebar apply 测试钉住 `shell.leading` 注册(组件、locale、共享 inject face)及 teardown 移除;ui-layout 的 app-frame 测试钉住 darwin 下座的挂载。desktop main-startup 测试钉住全屏转发(状态切换、重载、已销毁窗口守卫、仅 darwin 注册),preload-platform 测试钉住 `html[data-fullscreen]` 镜像。ui-theme 的 corner-shape 与 full-round 样式门覆盖新样式表,其 app-region 样式门在全部包内样式表上把拖拽区归属钉在两个允许清单样式表内。 +ui-theme 引导与 ui-layout presenter 测试钉住 `data-ds-theme-source` 的发布与清除。ui-sidebar apply 测试钉住 `shell.leading` 注册(组件、locale、共享 inject face)及 teardown 移除;ui-layout 的 app-frame 测试钉住 darwin 下座的挂载。desktop main-startup 测试钉住全屏转发(状态切换、重载、已销毁窗口守卫、仅 darwin 注册),preload-platform 测试钉住 `html[data-fullscreen]` 镜像。ui-theme 的 corner-shape 与 full-round 样式门覆盖新样式表,其 app-region 门禁钉住唯一那条 darwin drag 规则与每个 chrome 行的 markup 标记。 diff --git a/.agents/notes/implemented/feature/2026-09-13-mcp-resources-in-profiles.i18n.yaml b/.agents/notes/implemented/feature/2026-09-13-mcp-resources-in-profiles.i18n.yaml index ea2358fcd3..854c136a37 100644 --- a/.agents/notes/implemented/feature/2026-09-13-mcp-resources-in-profiles.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-13-mcp-resources-in-profiles.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-13-mcp-resources-in-profiles.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-13-mcp-resources-in-profiles.md -2026-09-13-mcp-resources-in-profiles.md: 236cd2849383e32fee523c56a43aae2fcae1f07a -2026-09-13-mcp-resources-in-profiles.zh.md: d2e0fbc45cdffe16ac482173d75c13329b98b868 +/agent-note-mcp-resource-availability-follows-configured-servers: + en: 2f520034ae7711ed + zh: 0e76516042ef51c1 +/agent-note-mcp-resource-availability-follows-configured-servers/problem: + en: 729c308d0bb4e142 + zh: 42df44189f83a701 +/agent-note-mcp-resource-availability-follows-configured-servers/decision: + en: 6d79d22b7a2d118a + zh: 9e7aaccbcb6535c0 +/agent-note-mcp-resource-availability-follows-configured-servers/alternatives-considered: + en: e60cb2c45a8a8cf7 + zh: e74f3b9ca5157278 +/agent-note-mcp-resource-availability-follows-configured-servers/verification: + en: d07e735ad317655c + zh: c9419acac96f0740 +/agent-note-mcp-resource-availability-follows-configured-servers/consequences: + en: 270341820e2713d4 + zh: d56cdd72625fd570 diff --git a/.agents/notes/implemented/feature/2026-09-14-composer-selection-keyboard.i18n.yaml b/.agents/notes/implemented/feature/2026-09-14-composer-selection-keyboard.i18n.yaml index 9c3ae26c74..ce405a2db5 100644 --- a/.agents/notes/implemented/feature/2026-09-14-composer-selection-keyboard.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-14-composer-selection-keyboard.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-14-composer-selection-keyboard.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-14-composer-selection-keyboard.md -2026-09-14-composer-selection-keyboard.md: 675e7239108604c51f4e9a82b98e164833ff9173 -2026-09-14-composer-selection-keyboard.zh.md: 2b296a609cdd76a407fd4ddcc5855eef2fcfa047 +/agent-note-composer-selection-surfaces-mirror-the-composer-s-enter-and-escape-keys: + en: d3af1337a24bd411 + zh: ebf464a7f3d9b5c3 +/agent-note-composer-selection-surfaces-mirror-the-composer-s-enter-and-escape-keys/problem: + en: e5f4084d8eda4d0e + zh: 4dc98999d008fecd +/agent-note-composer-selection-surfaces-mirror-the-composer-s-enter-and-escape-keys/decision: + en: d6a84d4b3d935fbb + zh: b842b20d197fc1a6 +/agent-note-composer-selection-surfaces-mirror-the-composer-s-enter-and-escape-keys/alternatives-considered: + en: f062131fb8b9cbcf + zh: a14b718ed6381b3f +/agent-note-composer-selection-surfaces-mirror-the-composer-s-enter-and-escape-keys/verification: + en: 81508f6216c1cde0 + zh: 764a8cafea8594e5 +/agent-note-composer-selection-surfaces-mirror-the-composer-s-enter-and-escape-keys/consequences: + en: 1310807e3a7a259d + zh: c35aca580ee553b7 diff --git a/.agents/notes/implemented/feature/2026-09-14-desktop-primary-runtime.i18n.yaml b/.agents/notes/implemented/feature/2026-09-14-desktop-primary-runtime.i18n.yaml index 27bbadb4ae..56a6a1ef1e 100644 --- a/.agents/notes/implemented/feature/2026-09-14-desktop-primary-runtime.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-14-desktop-primary-runtime.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-14-desktop-primary-runtime.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-14-desktop-primary-runtime.md -2026-09-14-desktop-primary-runtime.md: a1491ca0c47e40c6d5b885c9f6a42ccf8180b78c -2026-09-14-desktop-primary-runtime.zh.md: 6447086a6948ed262699b62061eb44af8d6071d7 +/agent-note-desktop-primary-runtime: + en: aac537d0aef9e6c3 + zh: 30166e8f8627087f +/agent-note-desktop-primary-runtime/problem: + en: 36bf235f0821ef6a + zh: a86bf07af03d54a3 +/agent-note-desktop-primary-runtime/decision: + en: b3b104e314762322 + zh: 77478c007893201f +/agent-note-desktop-primary-runtime/alternatives-considered: + en: 566fd91c30cb0a0a + zh: 70758ae2617f6ebb +/agent-note-desktop-primary-runtime/consequences: + en: d0583f2397b7f778 + zh: cf42263bc62ee947 diff --git a/.agents/notes/implemented/feature/2026-09-14-docs-mermaid-viewer.i18n.yaml b/.agents/notes/implemented/feature/2026-09-14-docs-mermaid-viewer.i18n.yaml index a2eba8f020..f43d81c749 100644 --- a/.agents/notes/implemented/feature/2026-09-14-docs-mermaid-viewer.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-14-docs-mermaid-viewer.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-14-docs-mermaid-viewer.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-14-docs-mermaid-viewer.md -2026-09-14-docs-mermaid-viewer.md: 5cb4bae84fcafb49c559b7678e9a9dc1aa961ab0 -2026-09-14-docs-mermaid-viewer.zh.md: 665ab65e48e15651ebb9323e96e6a950c0b48deb +/agent-note-documentation-diagram-and-image-viewer: + en: c43de97ff7fbe82d + zh: 5e2ecb9d39255ad7 +/agent-note-documentation-diagram-and-image-viewer/problem: + en: 3630dd02a8e8dfdf + zh: f25b00903e05bd05 +/agent-note-documentation-diagram-and-image-viewer/decision: + en: e82d48a7ebee05c8 + zh: af5c517d1d728f07 +/agent-note-documentation-diagram-and-image-viewer/alternatives-considered: + en: bdebec164a27c787 + zh: 8acb59417c96b807 +/agent-note-documentation-diagram-and-image-viewer/consequences: + en: f7bc4c0588dda49d + zh: 9261c0bde08031b1 diff --git a/.agents/notes/implemented/feature/2026-09-14-unattended-browser-terminal-reclamation.i18n.yaml b/.agents/notes/implemented/feature/2026-09-14-unattended-browser-terminal-reclamation.i18n.yaml index b8b927d5ab..11e6f533a5 100644 --- a/.agents/notes/implemented/feature/2026-09-14-unattended-browser-terminal-reclamation.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-14-unattended-browser-terminal-reclamation.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-14-unattended-browser-terminal-reclamation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-14-unattended-browser-terminal-reclamation.md -2026-09-14-unattended-browser-terminal-reclamation.md: 6eca6faa222ed744b8ebd4ef59b2dbaec25fd8ce -2026-09-14-unattended-browser-terminal-reclamation.zh.md: 9065fe53a7d7970c4523beaffb08b3df30a4944f +/agent-note-two-hour-reclamation-of-unattended-browser-terminals: + en: 7d9283383e551b42 + zh: c9d9ed029a0afcf2 +/agent-note-two-hour-reclamation-of-unattended-browser-terminals/problem: + en: bd5cfc222df1a98c + zh: b58a3570a98298ee +/agent-note-two-hour-reclamation-of-unattended-browser-terminals/decision: + en: 079c8a1e95099239 + zh: 613d888fd7bf6b61 +/agent-note-two-hour-reclamation-of-unattended-browser-terminals/alternatives-considered: + en: 165fedee22bdb52e + zh: 6b9b7054ddb2a3a9 +/agent-note-two-hour-reclamation-of-unattended-browser-terminals/consequences: + en: ded45621bb710e52 + zh: f5f9624fa5f608e8 diff --git a/.agents/notes/implemented/feature/2026-09-15-bundled-office-skills.i18n.yaml b/.agents/notes/implemented/feature/2026-09-15-bundled-office-skills.i18n.yaml index 00f68c0337..d220a04f6f 100644 --- a/.agents/notes/implemented/feature/2026-09-15-bundled-office-skills.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-15-bundled-office-skills.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-bundled-office-skills.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-15-bundled-office-skills.md -2026-09-15-bundled-office-skills.md: 089ca0326a7c53d4ee023608010efd49a8616db2 -2026-09-15-bundled-office-skills.zh.md: cd10aa863b1149594e9eb6b6a8e479511424f20d +/agent-note-bundled-office-skills-with-structural-verification: + en: 8cc7012d7343c387 + zh: 8565543be5d94a56 +/agent-note-bundled-office-skills-with-structural-verification/problem: + en: d1e1e74b0fa286de + zh: 61ce855e4726d4a3 +/agent-note-bundled-office-skills-with-structural-verification/decision: + en: 486c2b40a0a4fe3c + zh: 317f47318b27e8f8 +/agent-note-bundled-office-skills-with-structural-verification/alternatives-considered: + en: c5389aef638deb0c + zh: a11a99a269e81c6a +/agent-note-bundled-office-skills-with-structural-verification/consequences: + en: a6035aefa4443df3 + zh: f87c6f099e4f3c7d diff --git a/.agents/notes/implemented/feature/2026-09-15-changed-file-diff-preview.i18n.yaml b/.agents/notes/implemented/feature/2026-09-15-changed-file-diff-preview.i18n.yaml index bb657950e7..b52514834c 100644 --- a/.agents/notes/implemented/feature/2026-09-15-changed-file-diff-preview.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-15-changed-file-diff-preview.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-changed-file-diff-preview.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-15-changed-file-diff-preview.md -2026-09-15-changed-file-diff-preview.md: e265c1f4528f2de3a95ce0fab3e20cab1c83a3f6 -2026-09-15-changed-file-diff-preview.zh.md: 48571cd9866cb01e31609c90500d26b19802bb8e +/agent-note-turn-review-tab: + en: cdcf921443075122 + zh: 177609e61939922a +/agent-note-turn-review-tab/problem: + en: 91d904d836519a4b + zh: c0aec4e184ff924b +/agent-note-turn-review-tab/decision: + en: 8169e63f8bf8416d + zh: 24c1e3fb394983e3 +/agent-note-turn-review-tab/alternatives-considered: + en: e648f82b78a2c0d3 + zh: f4e6511766ace168 +/agent-note-turn-review-tab/consequences: + en: 2147596d8c6574da + zh: db8b2e1ce86465df diff --git a/.agents/notes/implemented/feature/2026-09-15-continuable-activation-capacity.i18n.yaml b/.agents/notes/implemented/feature/2026-09-15-continuable-activation-capacity.i18n.yaml index be51075feb..a373848ad2 100644 --- a/.agents/notes/implemented/feature/2026-09-15-continuable-activation-capacity.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-15-continuable-activation-capacity.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-continuable-activation-capacity.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-15-continuable-activation-capacity.md -2026-09-15-continuable-activation-capacity.md: a6403d10fd4bcfb73147a0482293429e108939e2 -2026-09-15-continuable-activation-capacity.zh.md: 75cf6ca7a352d503cfffef29416c0990f98185db +/agent-note-shared-continuable-activation-capacity: + en: 56a51d29c97b2c8e + zh: c99085a3b2deb97c +/agent-note-shared-continuable-activation-capacity/problem: + en: f940cc05cf90362d + zh: 1cdb4281d845c0da +/agent-note-shared-continuable-activation-capacity/decision: + en: e03ae0d516885585 + zh: bd81d197e097b1ee +/agent-note-shared-continuable-activation-capacity/alternatives-considered: + en: 54aefa812e00ce1e + zh: 08251d541b7991df +/agent-note-shared-continuable-activation-capacity/consequences: + en: 4792e84eeaac32ee + zh: 4c941792d03130a0 +/agent-note-shared-continuable-activation-capacity/verification: + en: f599edb8fb0112af + zh: a66f9102a79234f0 diff --git a/.agents/notes/implemented/feature/2026-09-15-docs-page-markdown-actions.i18n.yaml b/.agents/notes/implemented/feature/2026-09-15-docs-page-markdown-actions.i18n.yaml index 776fa5a823..87e8807409 100644 --- a/.agents/notes/implemented/feature/2026-09-15-docs-page-markdown-actions.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-15-docs-page-markdown-actions.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-docs-page-markdown-actions.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-15-docs-page-markdown-actions.md -2026-09-15-docs-page-markdown-actions.md: ff4002fd69d670b743b7394544cf8486b141b5ce -2026-09-15-docs-page-markdown-actions.zh.md: 4e2db5e55f47104d1b2f401099648cc1d6a7dc34 +/agent-note-page-markdown-actions-in-the-documentation-site: + en: 135670d1e466e923 + zh: b071c98c104c6aa5 +/agent-note-page-markdown-actions-in-the-documentation-site/problem: + en: d8c4d91741fe4a3f + zh: 0dae755314b52d9d +/agent-note-page-markdown-actions-in-the-documentation-site/decision: + en: b02d9faf0f2dfa91 + zh: 994a9755e0ddf16c +/agent-note-page-markdown-actions-in-the-documentation-site/alternatives-considered: + en: 96b23eb170e4edf2 + zh: 63e91e6c425afe1b +/agent-note-page-markdown-actions-in-the-documentation-site/consequences: + en: 57a6d0707d1793cd + zh: b63d4f3f82f8c38f diff --git a/.agents/notes/implemented/feature/2026-09-15-docs-platform-command-tabs.i18n.yaml b/.agents/notes/implemented/feature/2026-09-15-docs-platform-command-tabs.i18n.yaml index f6c0f88653..ceadaacf73 100644 --- a/.agents/notes/implemented/feature/2026-09-15-docs-platform-command-tabs.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-15-docs-platform-command-tabs.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-docs-platform-command-tabs.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-15-docs-platform-command-tabs.md -2026-09-15-docs-platform-command-tabs.md: 4d44d1191a7ffc1601e15aa4d9f119a90e06b0dd -2026-09-15-docs-platform-command-tabs.zh.md: 450765b52d1507fa9b9e6a20a1854e6861655838 +/agent-note-platform-command-tabs-in-the-python-sdk-guide: + en: 3d96f04869d2a2fb + zh: 4a6ebfb3ccf9c69d +/agent-note-platform-command-tabs-in-the-python-sdk-guide/problem: + en: 8fb6ad2440352a06 + zh: 0809a5c9866e52ee +/agent-note-platform-command-tabs-in-the-python-sdk-guide/decision: + en: 0ec36e0eccea6209 + zh: 5df6069c60a55f31 +/agent-note-platform-command-tabs-in-the-python-sdk-guide/alternatives-considered: + en: a98aa2b8d03f11aa + zh: 0aefaa161a20a24e +/agent-note-platform-command-tabs-in-the-python-sdk-guide/consequences: + en: f3af5502a73e7725 + zh: 4ca34dfd993fcc21 diff --git a/.agents/notes/implemented/feature/2026-09-15-markdown-file-preview-links.i18n.yaml b/.agents/notes/implemented/feature/2026-09-15-markdown-file-preview-links.i18n.yaml index 182ff386d9..43efd357fe 100644 --- a/.agents/notes/implemented/feature/2026-09-15-markdown-file-preview-links.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-15-markdown-file-preview-links.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-markdown-file-preview-links.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-15-markdown-file-preview-links.md -2026-09-15-markdown-file-preview-links.md: d9d535afc5b005ae453bd7623e05c411e4d6932b -2026-09-15-markdown-file-preview-links.zh.md: 63c18e284b785ed5686721a0b04cf73c78c0ceb3 +/agent-note-markdown-file-preview-links: + en: 98c528496f33598e + zh: 640619a2dfa0255e +/agent-note-markdown-file-preview-links/problem: + en: ba7789f83fadbe95 + zh: 34bcaa0aed5f5c3b +/agent-note-markdown-file-preview-links/decision: + en: b986fe2640c2ebf4 + zh: e69700b233e7bd69 +/agent-note-markdown-file-preview-links/alternatives-considered: + en: d8a4d6ab17eb2880 + zh: 089419d53f71305a +/agent-note-markdown-file-preview-links/consequences: + en: c0fc2dd3d860edfa + zh: 129aa543b4a39e10 diff --git a/.agents/notes/implemented/feature/2026-09-15-profile-command-shorthand.i18n.yaml b/.agents/notes/implemented/feature/2026-09-15-profile-command-shorthand.i18n.yaml index 2ef9ed7383..5665220ce2 100644 --- a/.agents/notes/implemented/feature/2026-09-15-profile-command-shorthand.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-15-profile-command-shorthand.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-profile-command-shorthand.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-15-profile-command-shorthand.md -2026-09-15-profile-command-shorthand.md: 15bdf30b98eb814e299e8e2c3af3756b1f59aad1 -2026-09-15-profile-command-shorthand.zh.md: 77ffd2324fc8fe518368fce44f52ad85274eb7b5 +/agent-note-profile-command-shorthand: + en: 35f20a1162b8407f + zh: 33d263d534df0b1d +/agent-note-profile-command-shorthand/problem: + en: b5c950343e5fbe8c + zh: df2a055d2c0b3f53 +/agent-note-profile-command-shorthand/decision: + en: cc8d5ebd595fee34 + zh: 99cb3ade0f17fb7b +/agent-note-profile-command-shorthand/alternatives-considered: + en: 8d10eee94348e187 + zh: 5930dee3861058e1 +/agent-note-profile-command-shorthand/consequences: + en: bbfeb6e59bb8ba55 + zh: fc33289f717cb805 diff --git a/.agents/notes/implemented/feature/2026-09-15-sidebar-workspace-hierarchy.i18n.yaml b/.agents/notes/implemented/feature/2026-09-15-sidebar-workspace-hierarchy.i18n.yaml index fe452cfeb2..5f0daf0064 100644 --- a/.agents/notes/implemented/feature/2026-09-15-sidebar-workspace-hierarchy.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-15-sidebar-workspace-hierarchy.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-sidebar-workspace-hierarchy.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-15-sidebar-workspace-hierarchy.md -2026-09-15-sidebar-workspace-hierarchy.md: 82e63684ec1d8c5d86e062b125aff6e1144ef8fa -2026-09-15-sidebar-workspace-hierarchy.zh.md: 07f9ff89b6e33fd4d46b5e386b4240ad12c177c5 +/agent-note-sidebar-workspace-hierarchy: + en: 6be9fd74b0422158 + zh: ba6dbc81479b75b5 +/agent-note-sidebar-workspace-hierarchy/problem: + en: dc209dd9d8c73af4 + zh: cc5384ba15ea0be0 +/agent-note-sidebar-workspace-hierarchy/decision: + en: 9f34c1e903475d25 + zh: 6b22b19f6da3d390 +/agent-note-sidebar-workspace-hierarchy/alternatives-considered: + en: b30322d71fc7c464 + zh: 36b218a82690cd19 +/agent-note-sidebar-workspace-hierarchy/consequences: + en: bf890a80351fa883 + zh: 05da81c7026a5204 diff --git a/.agents/notes/implemented/feature/2026-09-16-browser-excel-preview.i18n.yaml b/.agents/notes/implemented/feature/2026-09-16-browser-excel-preview.i18n.yaml index 5edfca99c1..caa8355929 100644 --- a/.agents/notes/implemented/feature/2026-09-16-browser-excel-preview.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-16-browser-excel-preview.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-browser-excel-preview.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-16-browser-excel-preview.md -2026-09-16-browser-excel-preview.md: 8a4bbd5dc838bc79e61f9b412af43b912a8fe019 -2026-09-16-browser-excel-preview.zh.md: f04170b28fe4c6d267b12958f47a392638bfaadb +/agent-note-browser-excel-preview-with-saved-formula-results: + en: 2437d7b03a82ed8b + zh: 7ca514afeba1ffde +/agent-note-browser-excel-preview-with-saved-formula-results/problem: + en: 518507d82a9f15f5 + zh: b857b75e0359ae6d +/agent-note-browser-excel-preview-with-saved-formula-results/decision: + en: f962826fcf5e3949 + zh: 8a9932d86332fb47 +/agent-note-browser-excel-preview-with-saved-formula-results/alternatives-considered: + en: 8d7ac06eaa3ba42c + zh: b6e43ae09e4df4fa +/agent-note-browser-excel-preview-with-saved-formula-results/consequences: + en: 62595b9a9b948422 + zh: 0618904d9ebfa7fc diff --git a/.agents/notes/implemented/feature/2026-09-16-open-in-default-app-for-sidebar-files.i18n.yaml b/.agents/notes/implemented/feature/2026-09-16-open-in-default-app-for-sidebar-files.i18n.yaml index 7614cd0318..e3f4c53695 100644 --- a/.agents/notes/implemented/feature/2026-09-16-open-in-default-app-for-sidebar-files.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-16-open-in-default-app-for-sidebar-files.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-open-in-default-app-for-sidebar-files.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-16-open-in-default-app-for-sidebar-files.md -2026-09-16-open-in-default-app-for-sidebar-files.md: fa7506be77e8a62e5dfd97b59de6ebc4be510ae0 -2026-09-16-open-in-default-app-for-sidebar-files.zh.md: af124182dc1b38658ff55736277e499e963a6281 +/agent-note-open-sidebar-previewed-files-in-the-default-application: + en: 948e52b8edac6120 + zh: 0898da7049f15ca5 +/agent-note-open-sidebar-previewed-files-in-the-default-application/problem: + en: 6caae0cf235cdb1d + zh: e80f02c05d65598a +/agent-note-open-sidebar-previewed-files-in-the-default-application/decision: + en: ebd2273122d077db + zh: 8a596d0a49fb4e4e +/agent-note-open-sidebar-previewed-files-in-the-default-application/alternatives-considered: + en: f42e5763bf52e401 + zh: 4b2d954904505fc9 +/agent-note-open-sidebar-previewed-files-in-the-default-application/consequences: + en: 618062f56d294415 + zh: 5eb57d17854fa805 diff --git a/.agents/notes/implemented/feature/2026-09-16-performance-usage-preference.i18n.yaml b/.agents/notes/implemented/feature/2026-09-16-performance-usage-preference.i18n.yaml index 2da6cd2bfa..369511d545 100644 --- a/.agents/notes/implemented/feature/2026-09-16-performance-usage-preference.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-16-performance-usage-preference.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-performance-usage-preference.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-16-performance-usage-preference.md -2026-09-16-performance-usage-preference.md: 36ab30561fccc6c824ee8483f5a533a9178f11c5 -2026-09-16-performance-usage-preference.zh.md: ecfd19c41c861116d18829b355bf8c8df4ea929a +/agent-note-performance-and-usage-detail-preference: + en: 6179732355b5c019 + zh: 3a620cf25a5580c4 +/agent-note-performance-and-usage-detail-preference/problem: + en: 3b420f5fb2952b3e + zh: 6fa1ef1090e595ec +/agent-note-performance-and-usage-detail-preference/decision: + en: 953b5fcaed000c9e + zh: 2ff9d6ff0535d846 +/agent-note-performance-and-usage-detail-preference/alternatives-considered: + en: 7c676c0b192d03eb + zh: 2e994f30fc99c5d4 +/agent-note-performance-and-usage-detail-preference/consequences: + en: 2bc7b780efbae1e9 + zh: c7ecaffd29dfbbff diff --git a/.agents/notes/implemented/feature/2026-09-16-sandbox-same-mode.i18n.yaml b/.agents/notes/implemented/feature/2026-09-16-sandbox-same-mode.i18n.yaml index 426e7d8c80..dfc86aee32 100644 --- a/.agents/notes/implemented/feature/2026-09-16-sandbox-same-mode.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-16-sandbox-same-mode.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-sandbox-same-mode.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-16-sandbox-same-mode.md -2026-09-16-sandbox-same-mode.md: f1b7c3ae05103363f47f28fab1ae534a8a8b04c2 -2026-09-16-sandbox-same-mode.zh.md: 0bb04415230ec7a0f0f3fdd3c7f00bd7b76d9d9b +/agent-note-repeated-sandbox-modes-need-no-approval: + en: 85325770757063d8 + zh: 9c55052551299ddf +/agent-note-repeated-sandbox-modes-need-no-approval/problem: + en: 0d5832fd63b9cd7b + zh: f07b20a91b92de25 +/agent-note-repeated-sandbox-modes-need-no-approval/decision: + en: b102948c4acbdd96 + zh: 7220f043716d571c +/agent-note-repeated-sandbox-modes-need-no-approval/alternatives-considered: + en: fb337915525ed95c + zh: d0584f998f0a3b8f +/agent-note-repeated-sandbox-modes-need-no-approval/consequences: + en: bde9f3b22f5159c2 + zh: 105c24546f0943bb diff --git a/.agents/notes/implemented/feature/2026-09-16-shared-subagent-settings-card.i18n.yaml b/.agents/notes/implemented/feature/2026-09-16-shared-subagent-settings-card.i18n.yaml index e98c3c4e39..eab4632401 100644 --- a/.agents/notes/implemented/feature/2026-09-16-shared-subagent-settings-card.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-16-shared-subagent-settings-card.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-shared-subagent-settings-card.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-16-shared-subagent-settings-card.md -2026-09-16-shared-subagent-settings-card.md: d9457b3e9b9786d77dcced4cac8ca1086914699a -2026-09-16-shared-subagent-settings-card.zh.md: ccde0c97df24239b4e5113fecbaec6e85f19b145 +/agent-note-shared-subagent-settings-card: + en: 63fcf9d6ab8a601d + zh: 0f824893329679f2 +/agent-note-shared-subagent-settings-card/problem: + en: a63f47c29f3a6305 + zh: 9f2150e9a9c5bc4b +/agent-note-shared-subagent-settings-card/decision: + en: 2c4056b23e053d3a + zh: d46c391f9b5be135 +/agent-note-shared-subagent-settings-card/alternatives-considered: + en: 8674979fbd8197f1 + zh: 6c2169803839f70b +/agent-note-shared-subagent-settings-card/consequences: + en: 4a3671620dfa64b6 + zh: eb6eb20e864f77a1 +/agent-note-shared-subagent-settings-card/verification: + en: 8d9956c13fb6658b + zh: 3d95564e51595bca diff --git a/.agents/notes/implemented/feature/2026-09-16-sidebar-browser.i18n.yaml b/.agents/notes/implemented/feature/2026-09-16-sidebar-browser.i18n.yaml index fac9746b09..70686c479d 100644 --- a/.agents/notes/implemented/feature/2026-09-16-sidebar-browser.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-16-sidebar-browser.i18n.yaml @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-sidebar-browser.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-16-sidebar-browser.md -2026-09-16-sidebar-browser.md: eff143cc042da7c6455152f684ec83dfa654a1ec -2026-09-16-sidebar-browser.zh.md: a037c2fb54be745a3a85f43561c0bd587873c008 +/agent-note-sandboxed-sidebar-browser: + en: eae586a5966353a5 + zh: ca3a7283e3fae594 +/agent-note-sandboxed-sidebar-browser/problem: + en: 5236141e90e42b81 + zh: 1af6306b20797603 +/agent-note-sandboxed-sidebar-browser/decision: + en: 9e89a0fe77cd8b9f + zh: 7aba8507320cf504 +/agent-note-sandboxed-sidebar-browser/web-navigation-states: + en: 6aec277c70600c7d + zh: e2b53f01072b2423 +/agent-note-sandboxed-sidebar-browser/electron-carrier: + en: dd20fa5656fc5779 + zh: 94b5908de0695755 +/agent-note-sandboxed-sidebar-browser/alternatives-considered: + en: 73919eb8d5618982 + zh: 18d2f5becae72790 +/agent-note-sandboxed-sidebar-browser/verification: + en: 91563b2be0b76a37 + zh: 24e55764bc85b8ae +/agent-note-sandboxed-sidebar-browser/consequences: + en: d9844d90ebdeb553 + zh: 7f05c8e911bd73c4 diff --git a/.agents/notes/implemented/feature/2026-09-16-unified-model-input-controls.i18n.yaml b/.agents/notes/implemented/feature/2026-09-16-unified-model-input-controls.i18n.yaml index e74186da34..4a74dfb669 100644 --- a/.agents/notes/implemented/feature/2026-09-16-unified-model-input-controls.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-16-unified-model-input-controls.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-unified-model-input-controls.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-16-unified-model-input-controls.md -2026-09-16-unified-model-input-controls.md: 73913880924577caf86b30990baef98efdbe751e -2026-09-16-unified-model-input-controls.zh.md: 691ca5229c017919e708bf7df92285dee25ef6b4 +/agent-note-unified-model-input-controls: + en: a22f2dd1b73eb314 + zh: 1f43526fa6af593a +/agent-note-unified-model-input-controls/problem: + en: e28035e73033057d + zh: 262cf7551cdb783a +/agent-note-unified-model-input-controls/decision: + en: 6b4872a76d480c8a + zh: f833a14a48d2e9d7 +/agent-note-unified-model-input-controls/alternatives-considered: + en: 83f8ffa39259a9f4 + zh: e158cb5868c82d74 +/agent-note-unified-model-input-controls/consequences: + en: 768bb77e3a4d72be + zh: 81080b075b0cc26c diff --git a/.agents/notes/implemented/feature/2026-09-16-windows-desktop-titlebar.i18n.yaml b/.agents/notes/implemented/feature/2026-09-16-windows-desktop-titlebar.i18n.yaml index d85ac2b2b2..6c3b3ddfe0 100644 --- a/.agents/notes/implemented/feature/2026-09-16-windows-desktop-titlebar.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-16-windows-desktop-titlebar.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-windows-desktop-titlebar.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-16-windows-desktop-titlebar.md -2026-09-16-windows-desktop-titlebar.md: 17fd2aac308cff0b4357a0c39c3fe757cfc60f5b -2026-09-16-windows-desktop-titlebar.zh.md: 05903d86960942204d7b18d4155266c144effc1a +/agent-note-windows-desktop-caption-and-application-menus: + en: 4220f3c0d8058ca7 + zh: 4751c2cffb9b8e2a +/agent-note-windows-desktop-caption-and-application-menus/problem: + en: 9a3d1b6d02197c6b + zh: 5eba9f9bf6928430 +/agent-note-windows-desktop-caption-and-application-menus/decision: + en: be4b50d09caa5d46 + zh: 20b0572be5941b0c +/agent-note-windows-desktop-caption-and-application-menus/alternatives-considered: + en: db7703a7a37ac5da + zh: 704a2a289b8f7cb0 +/agent-note-windows-desktop-caption-and-application-menus/consequences: + en: a52bfa0c00b4e26d + zh: c479cc99fd1bff03 +/agent-note-windows-desktop-caption-and-application-menus/testing: + en: d72a6473a7d385cf + zh: ededb7391908db38 diff --git a/.agents/notes/implemented/feature/2026-09-17-compact-translucent-menu-surfaces.i18n.yaml b/.agents/notes/implemented/feature/2026-09-17-compact-translucent-menu-surfaces.i18n.yaml index cf44de1cb6..101417360a 100644 --- a/.agents/notes/implemented/feature/2026-09-17-compact-translucent-menu-surfaces.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-17-compact-translucent-menu-surfaces.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-compact-translucent-menu-surfaces.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-17-compact-translucent-menu-surfaces.md -2026-09-17-compact-translucent-menu-surfaces.md: 08fcb2d851e4c75ce9069fc797e8dbcb070acc5b -2026-09-17-compact-translucent-menu-surfaces.zh.md: 8e13634995d46b7414f17bbb51443df85cb3ac3c +/agent-note-compact-translucent-menu-surfaces: + en: 629cdf857a84d1f3 + zh: 676a34bac03903be +/agent-note-compact-translucent-menu-surfaces/problem: + en: f1ff5b408b409003 + zh: 1f548352bc075cc4 +/agent-note-compact-translucent-menu-surfaces/decision: + en: 30cbe72206e81f96 + zh: 21cb393871fe6420 +/agent-note-compact-translucent-menu-surfaces/alternatives-considered: + en: f06228674ee82029 + zh: 385603bebcd17d5f +/agent-note-compact-translucent-menu-surfaces/consequences: + en: e76746c0b95549df + zh: 9ff34644703d565c diff --git a/.agents/notes/implemented/feature/2026-09-17-developer-tools-settings.i18n.yaml b/.agents/notes/implemented/feature/2026-09-17-developer-tools-settings.i18n.yaml index 6485deaade..1609de0af7 100644 --- a/.agents/notes/implemented/feature/2026-09-17-developer-tools-settings.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-17-developer-tools-settings.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-developer-tools-settings.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-17-developer-tools-settings.md -2026-09-17-developer-tools-settings.md: 5ae8861efa701042e0730310ddb23f6f559d14d7 -2026-09-17-developer-tools-settings.zh.md: e7a9d3c28d53ba9fe14c970bd48f2a6031248e58 +/agent-note-shared-developer-tool-settings: + en: 353fa09368362d0f + zh: b36c06c8b49833b1 +/agent-note-shared-developer-tool-settings/problem: + en: e22ee243b1503319 + zh: b53c1a932d547f55 +/agent-note-shared-developer-tool-settings/decision: + en: 3fc14af35b025970 + zh: 0e6047f33b7e91db +/agent-note-shared-developer-tool-settings/alternatives-considered: + en: df1b80e5b8d2a178 + zh: 0136d16fc44d57bf +/agent-note-shared-developer-tool-settings/consequences: + en: c1e05aebc88fc12c + zh: 0ace5bced7b32437 diff --git a/.agents/notes/implemented/feature/2026-09-17-persistent-plan-cards.i18n.yaml b/.agents/notes/implemented/feature/2026-09-17-persistent-plan-cards.i18n.yaml index da8a49ddb6..bc17196684 100644 --- a/.agents/notes/implemented/feature/2026-09-17-persistent-plan-cards.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-17-persistent-plan-cards.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-persistent-plan-cards.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-17-persistent-plan-cards.md -2026-09-17-persistent-plan-cards.md: 096c89c7ed3e52293787a2724b0c7231ae3740ae -2026-09-17-persistent-plan-cards.zh.md: 95cce3fed84dd802195b87f593654b7d511933cb +/agent-note-persistent-plan-cards-and-sidebar-reading: + en: e84bc0e16f40cafb + zh: b11a06e7800e3f9a +/agent-note-persistent-plan-cards-and-sidebar-reading/problem: + en: 273400b515da3a1d + zh: 13b508617f08c6d0 +/agent-note-persistent-plan-cards-and-sidebar-reading/decision: + en: 243abb4fe9944c97 + zh: 6e66ddceb9c89aee +/agent-note-persistent-plan-cards-and-sidebar-reading/alternatives-considered: + en: f1f8dbe0f29b89cd + zh: 4fc73f1f4b4bcbae +/agent-note-persistent-plan-cards-and-sidebar-reading/consequences: + en: 4d1740b16711041d + zh: 412ac19a3705045e diff --git a/.agents/notes/implemented/feature/2026-09-17-sidebar-file-and-directory-auto-refresh.i18n.yaml b/.agents/notes/implemented/feature/2026-09-17-sidebar-file-and-directory-auto-refresh.i18n.yaml index bee0b26a39..f8fc347f32 100644 --- a/.agents/notes/implemented/feature/2026-09-17-sidebar-file-and-directory-auto-refresh.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-17-sidebar-file-and-directory-auto-refresh.i18n.yaml @@ -1,6 +1,73 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-sidebar-file-and-directory-auto-refresh.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-17-sidebar-file-and-directory-auto-refresh.md -2026-09-17-sidebar-file-and-directory-auto-refresh.md: f509a8cf2642d3ca816d40e9e9817d3c962c79a6 -2026-09-17-sidebar-file-and-directory-auto-refresh.zh.md: ff7a950aa86c663d4f5d2fb8e20d64bb2b077f6b +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees: + en: 8dfe4436b064776d + zh: acb3f1e2fae231f4 +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/problem: + en: f7e7751fe98be91e + zh: e1d6c4f042c7d75d +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/decision: + en: b51a6972761816ef + zh: 6f50b2a09b8d6abc +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/implementation-and-responsibilities: + en: 79480338424c1829 + zh: c32ff30ccf3d9b87 +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/implementation-and-responsibilities/fs-and-host: + en: ca63fb903b447c2d + zh: 3014adbdb0a890ee +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/implementation-and-responsibilities/client-and-sidebar: + en: 5cb8326d8a5b0407 + zh: a31173f990276856 +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/watch-requests-and-notifications: + en: 025ba83ae78824df + zh: 264d74d2bdfe3d27 +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/watch-requests-and-notifications/one-stream-per-explicit-target: + en: 75d1c4e35d0f4d74 + zh: a6b11f70a64d6922 +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/watch-requests-and-notifications/os-watching-and-access-scope: + en: 48af866f541caf04 + zh: c3df4edf7f7ddb4a +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/complete-file-preview-data-flow: + en: f8468653186b2a60 + zh: 0c624d957c9ce332 +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/html-resourcegroup: + en: 0f2419d75906ca0a + zh: 3ff0dbb7382ba02c +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/automatic-refresh-controls: + en: a00c8265a48e910d + zh: e1aa7c639a4e2c10 +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/complete-files-panel-data-flow: + en: d688642e5f272d48 + zh: 96088fbc0471aeae +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/directory-node-tree-and-lifecycle: + en: 2ea8615be8d5229b + zh: 0c73fa4ebb06445e +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/user-flows: + en: eb4005a334103895 + zh: e2c207faffa64e57 +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/user-flows/edit-a-previewed-file: + en: 2b7d90550ad49eff + zh: a8136d5d00390635 +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/user-flows/browse-changing-directories: + en: d375f21c1ae106ef + zh: 5a39f248cc98f20a +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/user-flows/deletion-renaming-and-failure: + en: 4f343f7a6c4d3ba4 + zh: a4390843a20f8dde +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/readiness-races-and-refresh-coalescing: + en: caadd187479e9074 + zh: 3deedd8093f60703 +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/alternatives-considered: + en: 8a8c19229647c760 + zh: 2de283fc2c815e65 +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/verification: + en: e8143b93c93b4dc2 + zh: a90105eb5823a2ff +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/consequences: + en: 8faa05de777dea21 + zh: 2f0b1ff65bdba75b +/agent-note-on-demand-watching-and-automatic-refresh-for-sidebar-previews-and-file-trees/relationship-to-existing-agent-notes: + en: 8ddc059f64cb3b1c + zh: f6d6836458ef9522 diff --git a/.agents/notes/implemented/feature/2026-09-17-state-dot-visual-language.i18n.yaml b/.agents/notes/implemented/feature/2026-09-17-state-dot-visual-language.i18n.yaml index d86602a99e..711a40b14b 100644 --- a/.agents/notes/implemented/feature/2026-09-17-state-dot-visual-language.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-17-state-dot-visual-language.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-state-dot-visual-language.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-17-state-dot-visual-language.md -2026-09-17-state-dot-visual-language.md: 751abbaa33919721c7e71738ad9b6bed744fcad7 -2026-09-17-state-dot-visual-language.zh.md: 9746ec9af79e15fc41ea8e6601cc52c1cfafba02 +/agent-note-statedot-solid-marks-and-loading-spinner: + en: 74ca1dda90213e27 + zh: 14851ca8d3d4617d +/agent-note-statedot-solid-marks-and-loading-spinner/problem: + en: 4739e4079e950c72 + zh: 4633fc299da13565 +/agent-note-statedot-solid-marks-and-loading-spinner/decision: + en: 98dd1c4ac95913b9 + zh: c3c53bae1ffc430a +/agent-note-statedot-solid-marks-and-loading-spinner/alternatives-considered: + en: 962827b807ebf026 + zh: dfe83e98956dd2cd +/agent-note-statedot-solid-marks-and-loading-spinner/testing: + en: 9d5f7bfb69b7bded + zh: 281db4c0e7ddd8c2 +/agent-note-statedot-solid-marks-and-loading-spinner/consequences: + en: 17a7a8d9c3923666 + zh: 84d941223b079f2b diff --git a/.agents/notes/implemented/feature/2026-09-18-session-pin-and-sidebar-archive.i18n.yaml b/.agents/notes/implemented/feature/2026-09-18-session-pin-and-sidebar-archive.i18n.yaml index 39b7b53e98..a74636286a 100644 --- a/.agents/notes/implemented/feature/2026-09-18-session-pin-and-sidebar-archive.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-18-session-pin-and-sidebar-archive.i18n.yaml @@ -1,6 +1,34 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-18-session-pin-and-sidebar-archive.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-18-session-pin-and-sidebar-archive.md -2026-09-18-session-pin-and-sidebar-archive.md: ac580979b9419e3f00af860e2dce2655fec51908 -2026-09-18-session-pin-and-sidebar-archive.zh.md: d4719fe75bb8aa1e2ebe9b89d4d80182a7597447 +/agent-note-session-pinning-and-the-sidebar-archived-filter: + en: f21362fdb86cdb6c + zh: b14889b8b7a717a3 +/agent-note-session-pinning-and-the-sidebar-archived-filter/problem: + en: 8a33826809d1dd8f + zh: b37aa33a8e2ed8d8 +/agent-note-session-pinning-and-the-sidebar-archived-filter/decision: + en: c483432158826f12 + zh: 2fc1e96f276420a7 +/agent-note-session-pinning-and-the-sidebar-archived-filter/decision/complete-session-order: + en: 321a47984818bbb9 + zh: a55d22a44e7b7155 +/agent-note-session-pinning-and-the-sidebar-archived-filter/decision/archive-restoration: + en: 0e16cb25af1f2bb1 + zh: 026fdf7bfa1c104c +/agent-note-session-pinning-and-the-sidebar-archived-filter/decision/archived-visibility-and-row-motion: + en: 83dd778a865f2cf5 + zh: 7636166749f63633 +/agent-note-session-pinning-and-the-sidebar-archived-filter/decision/persistence: + en: 4bcb0398b47334aa + zh: fa386724afa99a77 +/agent-note-session-pinning-and-the-sidebar-archived-filter/alternatives-considered: + en: 3bf6fc0c22b17377 + zh: 0fc64131ee8be859 +/agent-note-session-pinning-and-the-sidebar-archived-filter/consequences: + en: a487faf9af215726 + zh: a92cae8b15fba541 +/agent-note-session-pinning-and-the-sidebar-archived-filter/related: + en: 6c67f3a071f80c15 + zh: e0455cddc9c4bea9 diff --git a/.agents/notes/implemented/feature/2026-09-19-windows-acl-mandatory-integrity-confinement.i18n.yaml b/.agents/notes/implemented/feature/2026-09-19-windows-acl-mandatory-integrity-confinement.i18n.yaml index 4ab68b411e..5058cd26a1 100644 --- a/.agents/notes/implemented/feature/2026-09-19-windows-acl-mandatory-integrity-confinement.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-19-windows-acl-mandatory-integrity-confinement.i18n.yaml @@ -1,6 +1,40 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-windows-acl-mandatory-integrity-confinement.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-19-windows-acl-mandatory-integrity-confinement.md -2026-09-19-windows-acl-mandatory-integrity-confinement.md: f53765f34a7d6d9bcae8b06839c30731a054165d -2026-09-19-windows-acl-mandatory-integrity-confinement.zh.md: a963fd7f549ca2e995f74893c95f1620034664eb +/agent-note-windows-sandbox-delete-confinement-mandatory-integrity-plus-an-ambient-delete-deny: + en: 2255e36ca94e90fa + zh: 7bfa70db175ce842 +/agent-note-windows-sandbox-delete-confinement-mandatory-integrity-plus-an-ambient-delete-deny/problem: + en: adb85f1842b69545 + zh: 42a0ebb3b8015a74 +/agent-note-windows-sandbox-delete-confinement-mandatory-integrity-plus-an-ambient-delete-deny/decision: + en: 08406f9c720d66c1 + zh: b9c81901488d73b5 +/agent-note-windows-sandbox-delete-confinement-mandatory-integrity-plus-an-ambient-delete-deny/alternatives-considered: + en: 6119e2aff3b6be5a + zh: 4237c596c10e1ee9 +/agent-note-windows-sandbox-delete-confinement-mandatory-integrity-plus-an-ambient-delete-deny/alternatives-considered/why-not-make-the-label-revocable-per-session: + en: 198f33d224035c53 + zh: 63068271658034e7 +/agent-note-windows-sandbox-delete-confinement-mandatory-integrity-plus-an-ambient-delete-deny/alternatives-considered/why-not-untrusted-integrity-for-read-only-mode: + en: 5f53545a83ccd02c + zh: f8fd05c1f3440e41 +/agent-note-windows-sandbox-delete-confinement-mandatory-integrity-plus-an-ambient-delete-deny/alternatives-considered/why-not-deny-file-delete-child-with-oi-ci: + en: 78a36aa70395d214 + zh: 0dd32d8ca513cb43 +/agent-note-windows-sandbox-delete-confinement-mandatory-integrity-plus-an-ambient-delete-deny/alternatives-considered/why-not-drop-the-confinement-layer-and-document-the-escape: + en: 9ff963493255783c + zh: 41b5577792e977cd +/agent-note-windows-sandbox-delete-confinement-mandatory-integrity-plus-an-ambient-delete-deny/alternatives-considered/why-not-give-each-workspace-its-own-integrity-level: + en: c39c82f7b745d672 + zh: 7b38d3c4b889dac6 +/agent-note-windows-sandbox-delete-confinement-mandatory-integrity-plus-an-ambient-delete-deny/consequences: + en: 4930b2596686d377 + zh: 022a62051a58181e +/agent-note-windows-sandbox-delete-confinement-mandatory-integrity-plus-an-ambient-delete-deny/testing: + en: 6c1deeacdbff418d + zh: 4d7c546e19da5e53 +/agent-note-windows-sandbox-delete-confinement-mandatory-integrity-plus-an-ambient-delete-deny/related: + en: e4b631df90dd1efa + zh: abc66bfbf8ea2c52 diff --git a/.agents/notes/implemented/feature/2026-09-20-config-schema-dump-validation-policy.i18n.yaml b/.agents/notes/implemented/feature/2026-09-20-config-schema-dump-validation-policy.i18n.yaml index c93f11edb2..9575bd914d 100644 --- a/.agents/notes/implemented/feature/2026-09-20-config-schema-dump-validation-policy.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-20-config-schema-dump-validation-policy.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-20-config-schema-dump-validation-policy.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-20-config-schema-dump-validation-policy.md -2026-09-20-config-schema-dump-validation-policy.md: a0f15b6aad1f534f80db15185a9a70d5c22bc7c2 -2026-09-20-config-schema-dump-validation-policy.zh.md: d94f040057e0a221057a8410523e1e154a8ae166 +/agent-note-config-schema-dump-validation-policy: + en: 3934f170891561da + zh: 3f54f8a830b766ee +/agent-note-config-schema-dump-validation-policy/problem: + en: c0baf581702ed4e8 + zh: eb9ab134045c2e18 +/agent-note-config-schema-dump-validation-policy/decision: + en: 047d67040b39f999 + zh: f7eccdb59e9e72bd +/agent-note-config-schema-dump-validation-policy/alternatives-considered: + en: be0e67675b0a6bf3 + zh: 361c7fd4eb482f3a +/agent-note-config-schema-dump-validation-policy/consequences: + en: 5df3531b64f09edd + zh: 03e1a9f15248b171 diff --git a/.agents/notes/implemented/feature/2026-09-20-default-workspace.i18n.yaml b/.agents/notes/implemented/feature/2026-09-20-default-workspace.i18n.yaml index 89b4d5dabf..eec425be40 100644 --- a/.agents/notes/implemented/feature/2026-09-20-default-workspace.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-20-default-workspace.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-20-default-workspace.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-20-default-workspace.md -2026-09-20-default-workspace.md: 1674079403b17fb1bd984052a85975609179cad0 -2026-09-20-default-workspace.zh.md: 81a7c96efa3d8b8d4673b684b59babe339706f29 +/agent-note-first-use-default-workspace: + en: cf68fedc85ef73ad + zh: a48dfa96ac11585a +/agent-note-first-use-default-workspace/problem: + en: 952ca70e83872f88 + zh: 471b4e39dba2039a +/agent-note-first-use-default-workspace/decision: + en: 7f51354b3082f290 + zh: 8f6ce1c14f11f888 +/agent-note-first-use-default-workspace/alternatives-considered: + en: 65c93ecfbbcf22a9 + zh: c88ed47852200752 +/agent-note-first-use-default-workspace/consequences: + en: ab39d4e9302a2641 + zh: 8921bb8451ef2d0e diff --git a/.agents/notes/implemented/feature/2026-09-20-desktop-browser-webview.i18n.yaml b/.agents/notes/implemented/feature/2026-09-20-desktop-browser-webview.i18n.yaml index 254189ee9f..b30c8e7897 100644 --- a/.agents/notes/implemented/feature/2026-09-20-desktop-browser-webview.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-20-desktop-browser-webview.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-20-desktop-browser-webview.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-20-desktop-browser-webview.md -2026-09-20-desktop-browser-webview.md: e69114a90f50d51542e9b6a0d40daef05a93001f -2026-09-20-desktop-browser-webview.zh.md: b0ab8b1a7058ae9cbb1258977cb4c4e2d8c40614 +/agent-note-retained-desktop-browser-webviews: + en: 59456b799c9d5d5e + zh: 19a88c553986b463 +/agent-note-retained-desktop-browser-webviews/problem: + en: c6abffbd4077e427 + zh: a7a0a2c2a99cc70b +/agent-note-retained-desktop-browser-webviews/decision: + en: f4970f18902b8974 + zh: 2b1a5fa3fc05f256 +/agent-note-retained-desktop-browser-webviews/decision/storage-ownership: + en: fac51097030c3670 + zh: 86868bc1b9a6d8cf +/agent-note-retained-desktop-browser-webviews/decision/initial-guest-policy: + en: 21ab346f9a98863c + zh: efa115f530d22de3 +/agent-note-retained-desktop-browser-webviews/alternatives-considered: + en: 884daa089df32dcc + zh: 7e16d740897555c9 +/agent-note-retained-desktop-browser-webviews/consequences: + en: 01d4a2e6f638d5e9 + zh: 9804b00edea2b03c diff --git a/.agents/notes/implemented/feature/2026-09-20-developer-tools-default-on.i18n.yaml b/.agents/notes/implemented/feature/2026-09-20-developer-tools-default-on.i18n.yaml index aa7199eff4..7467604771 100644 --- a/.agents/notes/implemented/feature/2026-09-20-developer-tools-default-on.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-20-developer-tools-default-on.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-20-developer-tools-default-on.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-20-developer-tools-default-on.md -2026-09-20-developer-tools-default-on.md: 42c89faed11b966ac8ea0882236af9bf13557702 -2026-09-20-developer-tools-default-on.zh.md: a684844f5ba53a0bebdd1c3a3a3ade1ed150cc31 +/agent-note-developer-tools-default-on-after-preference-resolution: + en: 9e6062c94dd70c14 + zh: 3c04f278da2016a5 +/agent-note-developer-tools-default-on-after-preference-resolution/problem: + en: 81d08fb192b8e83b + zh: 90a841219f86bc12 +/agent-note-developer-tools-default-on-after-preference-resolution/decision: + en: 8a3fbb5281d1b313 + zh: 320b845842676375 +/agent-note-developer-tools-default-on-after-preference-resolution/alternatives-considered: + en: 7d9ecd04554103c4 + zh: 2706bb78fcc6072d +/agent-note-developer-tools-default-on-after-preference-resolution/consequences: + en: 54622ff5338afba9 + zh: 494d55213b2751a0 diff --git a/.agents/notes/implemented/feature/2026-09-21-archive-stops-running-session-work.i18n.yaml b/.agents/notes/implemented/feature/2026-09-21-archive-stops-running-session-work.i18n.yaml index d6f9f2b719..cda575574b 100644 --- a/.agents/notes/implemented/feature/2026-09-21-archive-stops-running-session-work.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-21-archive-stops-running-session-work.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-21-archive-stops-running-session-work.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-21-archive-stops-running-session-work.md -2026-09-21-archive-stops-running-session-work.md: 2df18c00e6a561e3d85820cbf472bacf5acd9b1d -2026-09-21-archive-stops-running-session-work.zh.md: 423a01bd2feab61c62fa0f4b4b4296674e6b24e4 +/agent-note-archiving-a-session-with-running-work: + en: 0fbbf70c0c7c2bfa + zh: 5d3119ee84af3796 +/agent-note-archiving-a-session-with-running-work/problem: + en: 7926983089aebab2 + zh: 366e32db00674a83 +/agent-note-archiving-a-session-with-running-work/decision: + en: ba02c1b57e6ca76b + zh: 2908fcda98c4734e +/agent-note-archiving-a-session-with-running-work/alternatives-considered: + en: c9d0a5c8d9924ad6 + zh: f848ba8fa3c0d030 +/agent-note-archiving-a-session-with-running-work/consequences: + en: 977e6f36e62c0618 + zh: 706de6bc6bb06282 diff --git a/.agents/notes/implemented/feature/2026-09-22-unbounded-completion-wakes-by-default.i18n.yaml b/.agents/notes/implemented/feature/2026-09-22-unbounded-completion-wakes-by-default.i18n.yaml index 24ad5190da..a107523e07 100644 --- a/.agents/notes/implemented/feature/2026-09-22-unbounded-completion-wakes-by-default.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-09-22-unbounded-completion-wakes-by-default.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-22-unbounded-completion-wakes-by-default.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-09-22-unbounded-completion-wakes-by-default.md -2026-09-22-unbounded-completion-wakes-by-default.md: 8760154054de423240e16d93e3db5ae01521820a -2026-09-22-unbounded-completion-wakes-by-default.zh.md: e5560bc7ced5a8ca9ab55ea56ba309676d78b568 +/agent-note-background-job-completion-wakes-are-unbounded-by-default: + en: 5c8e5c0ff2d19ab9 + zh: a046e3297aba3904 +/agent-note-background-job-completion-wakes-are-unbounded-by-default/problem: + en: 32fdd5fa938fc279 + zh: f8f97f806157eea1 +/agent-note-background-job-completion-wakes-are-unbounded-by-default/decision: + en: 7e4ee951808e1860 + zh: 8dad4884d259cdc3 +/agent-note-background-job-completion-wakes-are-unbounded-by-default/alternatives-considered: + en: 62630b7ec477bf7b + zh: 0640a01ac9d22722 +/agent-note-background-job-completion-wakes-are-unbounded-by-default/consequences: + en: ba000076db02ccb7 + zh: 1aa1e7d45d6512fe diff --git a/.agents/notes/implemented/process/2026-06-11-quality-gates.i18n.yaml b/.agents/notes/implemented/process/2026-06-11-quality-gates.i18n.yaml index 5dedd0a1fb..515c9508fd 100644 --- a/.agents/notes/implemented/process/2026-06-11-quality-gates.i18n.yaml +++ b/.agents/notes/implemented/process/2026-06-11-quality-gates.i18n.yaml @@ -1,6 +1,16 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-11-quality-gates.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-06-11-quality-gates.md -2026-06-11-quality-gates.md: b4bcbcbb6e47ccbb3ed193300c4a8b2daa3901c0 -2026-06-11-quality-gates.zh.md: 64179fd7b13bf5de3d82bf9bf8819f6230b46238 +/agent-note-mechanical-quality-gates-over-prose-guidelines: + en: ee219fd65689e5ea + zh: a5eb719557f02ad6 +/agent-note-mechanical-quality-gates-over-prose-guidelines/problem: + en: 526b060333ea2457 + zh: 182f46699589aff5 +/agent-note-mechanical-quality-gates-over-prose-guidelines/decision: + en: c6d1551e56d22b99 + zh: 6b7efc184274b7ac +/agent-note-mechanical-quality-gates-over-prose-guidelines/consequences: + en: 7bf0c081f242501e + zh: 30f892fbd982f1b2 diff --git a/.agents/notes/implemented/process/2026-06-16-pnpm-over-yarn.i18n.yaml b/.agents/notes/implemented/process/2026-06-16-pnpm-over-yarn.i18n.yaml index 2a7d105492..d4354efa31 100644 --- a/.agents/notes/implemented/process/2026-06-16-pnpm-over-yarn.i18n.yaml +++ b/.agents/notes/implemented/process/2026-06-16-pnpm-over-yarn.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-16-pnpm-over-yarn.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-06-16-pnpm-over-yarn.md -2026-06-16-pnpm-over-yarn.md: 4a8560a0216e614f4ea06c0a1aac3a553abcaf8d -2026-06-16-pnpm-over-yarn.zh.md: 4955cf88834a56d89ba1c4c1866c72cf647ccbd3 +/agent-note-pnpm-as-the-package-manager-instead-of-yarn-4: + en: 2c8be5b7d3dae8c7 + zh: e6d4d5dc41455f52 +/agent-note-pnpm-as-the-package-manager-instead-of-yarn-4/problem: + en: a397e5f0a83c3306 + zh: 5ced99f94dae9e30 +/agent-note-pnpm-as-the-package-manager-instead-of-yarn-4/decision: + en: cadbbd8b1bab85ef + zh: 31fcb11ddbcb79c3 +/agent-note-pnpm-as-the-package-manager-instead-of-yarn-4/alternatives-considered: + en: 20e2ebed65f92625 + zh: f1717d69d271fb43 +/agent-note-pnpm-as-the-package-manager-instead-of-yarn-4/consequences: + en: 024fefe88e8bbc95 + zh: 018dc287c07d6483 diff --git a/.agents/notes/implemented/process/2026-06-17-ts-build-config.i18n.yaml b/.agents/notes/implemented/process/2026-06-17-ts-build-config.i18n.yaml index 6ee41d8ba1..3d3e5e065d 100644 --- a/.agents/notes/implemented/process/2026-06-17-ts-build-config.i18n.yaml +++ b/.agents/notes/implemented/process/2026-06-17-ts-build-config.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-17-ts-build-config.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-06-17-ts-build-config.md -2026-06-17-ts-build-config.md: 05b70cb836491e8a3e6c66deb38773b5351e69e8 -2026-06-17-ts-build-config.zh.md: d42d9b7abe6368b3ed8e0f32605e866e214f1e7c +/agent-note-tsc-first-build-and-one-compiler-ownership: + en: 98c341593a211f00 + zh: 5c051e3aaff4847e +/agent-note-tsc-first-build-and-one-compiler-ownership/problem: + en: 62307ddfb9e110cb + zh: 236bdad7df92a028 +/agent-note-tsc-first-build-and-one-compiler-ownership/decision: + en: e2b61f1e0549117d + zh: 596ca8cf8207f2b5 +/agent-note-tsc-first-build-and-one-compiler-ownership/alternatives-considered: + en: 9b143ba610f06e2f + zh: 7832be7816aec7e6 +/agent-note-tsc-first-build-and-one-compiler-ownership/consequences: + en: 05b0f4a3a96e9435 + zh: 2903da5edbaf3cb7 diff --git a/.agents/notes/implemented/process/2026-07-02-bilingual-docs-and-pairing-gate.i18n.yaml b/.agents/notes/implemented/process/2026-07-02-bilingual-docs-and-pairing-gate.i18n.yaml index 213fa7b96a..59b17b44ff 100644 --- a/.agents/notes/implemented/process/2026-07-02-bilingual-docs-and-pairing-gate.i18n.yaml +++ b/.agents/notes/implemented/process/2026-07-02-bilingual-docs-and-pairing-gate.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-02-bilingual-docs-and-pairing-gate.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-07-02-bilingual-docs-and-pairing-gate.md -2026-07-02-bilingual-docs-and-pairing-gate.md: 9448c9dcd75cae0ab39fd62b418fd3aa3b5e4484 -2026-07-02-bilingual-docs-and-pairing-gate.zh.md: b843de91e2fb92d05c81387f49853c4ca413228f +/agent-note-bilingual-documentation-via-paired-sibling-files-and-a-pairing-gate: + en: 04529b9cc16be36d + zh: 5fb4377453231503 +/agent-note-bilingual-documentation-via-paired-sibling-files-and-a-pairing-gate/problem: + en: 0ca5c6556229e3ee + zh: 6dacd60a7dc4bff4 +/agent-note-bilingual-documentation-via-paired-sibling-files-and-a-pairing-gate/decision: + en: 46b0ca2b0f45eb6c + zh: 3ddcd36e9ef8d134 +/agent-note-bilingual-documentation-via-paired-sibling-files-and-a-pairing-gate/verification: + en: 8fbf681b863a831c + zh: e5ba11a549a92612 +/agent-note-bilingual-documentation-via-paired-sibling-files-and-a-pairing-gate/alternatives-considered: + en: 995a746c59ea7b6c + zh: 04a248329dc0d04b +/agent-note-bilingual-documentation-via-paired-sibling-files-and-a-pairing-gate/industry-precedent: + en: 6b5d62086bfd3868 + zh: 219dad72943f590a +/agent-note-bilingual-documentation-via-paired-sibling-files-and-a-pairing-gate/consequences: + en: 65f9f024d99d438f + zh: ff624c8be88c5830 diff --git a/.agents/notes/implemented/process/2026-07-04-doc-tiers-and-budgets.i18n.yaml b/.agents/notes/implemented/process/2026-07-04-doc-tiers-and-budgets.i18n.yaml index 06f10621ec..e72a4d0af7 100644 --- a/.agents/notes/implemented/process/2026-07-04-doc-tiers-and-budgets.i18n.yaml +++ b/.agents/notes/implemented/process/2026-07-04-doc-tiers-and-budgets.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-04-doc-tiers-and-budgets.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-07-04-doc-tiers-and-budgets.md -2026-07-04-doc-tiers-and-budgets.md: 209504218d18e97ae6da65bed9a22da40d2a7681 -2026-07-04-doc-tiers-and-budgets.zh.md: 9c866424d84b4fefa5ffe95efa21a3cf7d3c321a +/agent-note-documentation-structure-tiers-and-budgets: + en: f2add84f6fdb18d0 + zh: 7f97fab8f9234bb9 +/agent-note-documentation-structure-tiers-and-budgets/problem: + en: 6ecec6cc312745dd + zh: ac1244b6113b89da +/agent-note-documentation-structure-tiers-and-budgets/decision: + en: 8a3a2e086af59a6c + zh: d1d45a4a108031a2 +/agent-note-documentation-structure-tiers-and-budgets/alternatives-considered: + en: 8275e8f6ffe18def + zh: 06a5af3e5581f45b +/agent-note-documentation-structure-tiers-and-budgets/consequences: + en: 76c254b56618cef6 + zh: 1f1264d6879df20c diff --git a/.agents/notes/implemented/process/2026-07-05-uniform-agent-note-format.i18n.yaml b/.agents/notes/implemented/process/2026-07-05-uniform-agent-note-format.i18n.yaml index 95a5b0ee27..c860b4f1d3 100644 --- a/.agents/notes/implemented/process/2026-07-05-uniform-agent-note-format.i18n.yaml +++ b/.agents/notes/implemented/process/2026-07-05-uniform-agent-note-format.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-05-uniform-agent-note-format.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-07-05-uniform-agent-note-format.md -2026-07-05-uniform-agent-note-format.md: c05d81c700b81f0d619173a261f405b1cc039df1 -2026-07-05-uniform-agent-note-format.zh.md: 13991632e70cfab1c65170ba5f2350f47ad1acd0 +/agent-note-one-gated-in-file-format-for-agent-notes: + en: 1d02708a467f4a07 + zh: 3c924198ec72c881 +/agent-note-one-gated-in-file-format-for-agent-notes/problem: + en: 71bd2d16e40c3ed7 + zh: 485862218afcdc00 +/agent-note-one-gated-in-file-format-for-agent-notes/decision: + en: 246ec96b0c1da90d + zh: 12a06608ffdf28f8 +/agent-note-one-gated-in-file-format-for-agent-notes/alternatives-considered: + en: 330044b841da3ab9 + zh: e909207cbcbc5edb +/agent-note-one-gated-in-file-format-for-agent-notes/consequences: + en: 345e6318b76b1a06 + zh: 63cef25e59d91654 diff --git a/.agents/notes/implemented/process/2026-07-06-node-engine-floor.i18n.yaml b/.agents/notes/implemented/process/2026-07-06-node-engine-floor.i18n.yaml index 5687bcd853..18ab194298 100644 --- a/.agents/notes/implemented/process/2026-07-06-node-engine-floor.i18n.yaml +++ b/.agents/notes/implemented/process/2026-07-06-node-engine-floor.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-06-node-engine-floor.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-07-06-node-engine-floor.md -2026-07-06-node-engine-floor.md: e2fe7661f43b77f544de2c3a555e5d756f260ea2 -2026-07-06-node-engine-floor.zh.md: e7d41e81281aa1d335780cf4edd65749ccb1db84 +/agent-note-raise-the-node-lts-engine-floor-to-22-19: + en: 01f43f2b4c6bd4fa + zh: 7f34e5b3c1c55419 +/agent-note-raise-the-node-lts-engine-floor-to-22-19/problem: + en: d7bf1b1699ce0dc8 + zh: f10dfd0e4787bb44 +/agent-note-raise-the-node-lts-engine-floor-to-22-19/decision: + en: 0051c0d8c1948f63 + zh: cbab7aa0f53f7200 +/agent-note-raise-the-node-lts-engine-floor-to-22-19/consequences: + en: 0b9fbe932d9a8b1f + zh: 642e19d06caecef2 +/agent-note-raise-the-node-lts-engine-floor-to-22-19/alternatives-considered: + en: c433389b2064eaf9 + zh: 57de2af812def1c4 diff --git a/.agents/notes/implemented/process/2026-07-06-parallel-pre-push-gates.i18n.yaml b/.agents/notes/implemented/process/2026-07-06-parallel-pre-push-gates.i18n.yaml index 482b7bc689..60dff04b5b 100644 --- a/.agents/notes/implemented/process/2026-07-06-parallel-pre-push-gates.i18n.yaml +++ b/.agents/notes/implemented/process/2026-07-06-parallel-pre-push-gates.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-06-parallel-pre-push-gates.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-07-06-parallel-pre-push-gates.md -2026-07-06-parallel-pre-push-gates.md: 9773a86428545608d184112ec4ab95136d4690d0 -2026-07-06-parallel-pre-push-gates.zh.md: 4d0e15a3389d276ea4b1c51224c96b864b0958a0 +/agent-note-parallel-pre-push-gates: + en: d5ee83ee15159e15 + zh: 07a6599af21d98a9 +/agent-note-parallel-pre-push-gates/problem: + en: 896ffdae7d51cc19 + zh: eed0d7e80456bd8e +/agent-note-parallel-pre-push-gates/decision: + en: c95d213689164ad6 + zh: da85165d13b26d58 +/agent-note-parallel-pre-push-gates/verification: + en: c7124c68afb12a8e + zh: 0a0269476ae353f3 +/agent-note-parallel-pre-push-gates/alternatives-considered: + en: d54f4ed806116b2e + zh: 38725684130bb843 +/agent-note-parallel-pre-push-gates/consequences: + en: 5d22505a7c041e41 + zh: ba1010f18d3e8302 diff --git a/.agents/notes/implemented/process/2026-07-12-package-model-experience-contract.i18n.yaml b/.agents/notes/implemented/process/2026-07-12-package-model-experience-contract.i18n.yaml index 1d988cd081..0496ff4408 100644 --- a/.agents/notes/implemented/process/2026-07-12-package-model-experience-contract.i18n.yaml +++ b/.agents/notes/implemented/process/2026-07-12-package-model-experience-contract.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-12-package-model-experience-contract.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-07-12-package-model-experience-contract.md -2026-07-12-package-model-experience-contract.md: 8462cc20e8de43927cd04b73cfdb11a0c3d77336 -2026-07-12-package-model-experience-contract.zh.md: 040412f3afe4f5854d1945a6e638d6a517464f7f +/agent-note-package-model-experience-contract: + en: c14f97f66251831b + zh: a7ef93d593a72215 +/agent-note-package-model-experience-contract/problem: + en: 69034b9a9ba40d49 + zh: 016b64cb54c4c873 +/agent-note-package-model-experience-contract/decision: + en: f67c13ad41004520 + zh: 28cf10f7d217f626 +/agent-note-package-model-experience-contract/alternatives-considered: + en: 206bc943c04313b1 + zh: 6d295d9da6675854 +/agent-note-package-model-experience-contract/consequences: + en: dc6057b8836bb3fc + zh: 6e41a27a99ae0339 diff --git a/.agents/notes/implemented/process/2026-07-19-remove-generated-agent-note-index.i18n.yaml b/.agents/notes/implemented/process/2026-07-19-remove-generated-agent-note-index.i18n.yaml index 7b91c29627..42524fde30 100644 --- a/.agents/notes/implemented/process/2026-07-19-remove-generated-agent-note-index.i18n.yaml +++ b/.agents/notes/implemented/process/2026-07-19-remove-generated-agent-note-index.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-19-remove-generated-agent-note-index.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-07-19-remove-generated-agent-note-index.md -2026-07-19-remove-generated-agent-note-index.md: 60dba14064ffe294228968cdb111920696fe7d63 -2026-07-19-remove-generated-agent-note-index.zh.md: 912aea133068a727856475df21516a28b2d27876 +/agent-note-keep-agent-notes-discoverable-without-a-generated-index: + en: aedcead60a29472a + zh: 0b17ad37acb4a92e +/agent-note-keep-agent-notes-discoverable-without-a-generated-index/problem: + en: 8a66ca1096aab8f4 + zh: f9774f5f3e7d0a31 +/agent-note-keep-agent-notes-discoverable-without-a-generated-index/decision: + en: 2b02e79f20d9be1b + zh: 5dec073afcee9c2e +/agent-note-keep-agent-notes-discoverable-without-a-generated-index/alternatives-considered: + en: 0317d3d10b97f004 + zh: 9315c31a17f7057a +/agent-note-keep-agent-notes-discoverable-without-a-generated-index/consequences: + en: 631728aa0d482555 + zh: 910a749ae88d4c83 diff --git a/.agents/notes/implemented/process/2026-07-19-web-styling-system.i18n.yaml b/.agents/notes/implemented/process/2026-07-19-web-styling-system.i18n.yaml index f9fe8dd6ff..7889068a5c 100644 --- a/.agents/notes/implemented/process/2026-07-19-web-styling-system.i18n.yaml +++ b/.agents/notes/implemented/process/2026-07-19-web-styling-system.i18n.yaml @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-19-web-styling-system.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-07-19-web-styling-system.md -2026-07-19-web-styling-system.md: b4d647924ab6ab172cd7a7e2531a10a2a7e62981 -2026-07-19-web-styling-system.zh.md: e7384575cf69099c8a95610f61c85b5bcb80d300 +/agent-note-web-styling-system-the-token-framework-and-engineering-constraints: + en: 60e793c38185c08c + zh: 8f4d4644e3502c31 +/agent-note-web-styling-system-the-token-framework-and-engineering-constraints/problem: + en: aa546850f8c51cd1 + zh: bba14f66aaf1e06a +/agent-note-web-styling-system-the-token-framework-and-engineering-constraints/decision: + en: 72a1d3545d1ebd6d + zh: f2fdc9006468aa72 +/agent-note-web-styling-system-the-token-framework-and-engineering-constraints/engineering-constraints: + en: 39f1984d96e609ed + zh: 14eda6caf43c5514 +/agent-note-web-styling-system-the-token-framework-and-engineering-constraints/the-execution-shape-for-agents: + en: 10342491b9dcc1a7 + zh: cd23d8c2f8ef3d26 +/agent-note-web-styling-system-the-token-framework-and-engineering-constraints/division-of-labor-with-web-styling-md: + en: 91e06333e11b1417 + zh: c743f392dbd9391f +/agent-note-web-styling-system-the-token-framework-and-engineering-constraints/consequences: + en: 128333a6495cbfa0 + zh: f165ef2f3d76f216 +/agent-note-web-styling-system-the-token-framework-and-engineering-constraints/alternatives-considered: + en: 6579ca659b112618 + zh: f1a650f4af1b8cc2 diff --git a/.agents/notes/implemented/process/2026-07-20-gui-testing-system.i18n.yaml b/.agents/notes/implemented/process/2026-07-20-gui-testing-system.i18n.yaml index 8d3f060672..d91e7a4590 100644 --- a/.agents/notes/implemented/process/2026-07-20-gui-testing-system.i18n.yaml +++ b/.agents/notes/implemented/process/2026-07-20-gui-testing-system.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-20-gui-testing-system.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-07-20-gui-testing-system.md -2026-07-20-gui-testing-system.md: 3fdb9a596dd18861ea8b765da129656942778f96 -2026-07-20-gui-testing-system.zh.md: e49d5a2f848e7f4847c7761ee0a487ce6fd3220e +/agent-note-gui-testing-system-the-three-tier-structure: + en: 66959d1c7c3cad28 + zh: 1e29f27d36c45909 +/agent-note-gui-testing-system-the-three-tier-structure/problem: + en: 1c54e58ea993ef6a + zh: 73108687fa58a6f2 +/agent-note-gui-testing-system-the-three-tier-structure/decision: + en: 4c6e52549113c2c7 + zh: 586175edee8b128c +/agent-note-gui-testing-system-the-three-tier-structure/lane-map: + en: 81d53390f31e540e + zh: 272a2b2b93269c45 +/agent-note-gui-testing-system-the-three-tier-structure/anti-regression-discipline: + en: 80fe1589a6236740 + zh: 30e1911d37865c49 +/agent-note-gui-testing-system-the-three-tier-structure/consequences: + en: 22f2475a438c639c + zh: aafab5ff60b7c644 +/agent-note-gui-testing-system-the-three-tier-structure/alternatives-considered: + en: 19e29023b70018b0 + zh: d47ff8e62a0befb6 diff --git a/.agents/notes/implemented/process/2026-07-21-serial-cross-platform-ci-reference.i18n.yaml b/.agents/notes/implemented/process/2026-07-21-serial-cross-platform-ci-reference.i18n.yaml index 2ce7922815..42a4a26dc0 100644 --- a/.agents/notes/implemented/process/2026-07-21-serial-cross-platform-ci-reference.i18n.yaml +++ b/.agents/notes/implemented/process/2026-07-21-serial-cross-platform-ci-reference.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-21-serial-cross-platform-ci-reference.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-07-21-serial-cross-platform-ci-reference.md -2026-07-21-serial-cross-platform-ci-reference.md: 24022fea271d677a4588bd5dc9c7cb5b417ca8b7 -2026-07-21-serial-cross-platform-ci-reference.zh.md: c9fbc84d8ff91803acc6bcd008607fc03136b832 +/agent-note-serial-cross-platform-ci-reference: + en: 4dd700fefdda5d17 + zh: 3a6a9bc2a28b3f39 +/agent-note-serial-cross-platform-ci-reference/problem: + en: 4fb1c27a631b32d3 + zh: 9dbe9a4b9aadfca9 +/agent-note-serial-cross-platform-ci-reference/decision: + en: f547014d316c1385 + zh: f13b09a4a778adaa +/agent-note-serial-cross-platform-ci-reference/alternatives-considered: + en: bc72a1e194e3b0e2 + zh: 9a92cbac88adc7a7 +/agent-note-serial-cross-platform-ci-reference/consequences: + en: 7042125ce6a209d4 + zh: ef2be4fa8a4d6320 diff --git a/.agents/notes/implemented/process/2026-07-26-ci-failover-runbook.i18n.yaml b/.agents/notes/implemented/process/2026-07-26-ci-failover-runbook.i18n.yaml index 1be4833f09..14ae915151 100644 --- a/.agents/notes/implemented/process/2026-07-26-ci-failover-runbook.i18n.yaml +++ b/.agents/notes/implemented/process/2026-07-26-ci-failover-runbook.i18n.yaml @@ -1,6 +1,40 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-26-ci-failover-runbook.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-07-26-ci-failover-runbook.md -2026-07-26-ci-failover-runbook.md: d46f9d140860580011e06aa3b51bb8618a23a114 -2026-07-26-ci-failover-runbook.zh.md: a229d46f16d959356e9108842edd557420e699ae +/agent-note-ci-failover-runbook-hosted-pools-in-house-pool: + en: 677b522817e84e2f + zh: f8518a7033b0fd54 +/agent-note-ci-failover-runbook-hosted-pools-in-house-pool/problem: + en: 317fafe666a76953 + zh: c886a5a4bccceda0 +/agent-note-ci-failover-runbook-hosted-pools-in-house-pool/decision: + en: 2520d6c0d2bfe1a6 + zh: 616c70b8b1026109 +/agent-note-ci-failover-runbook-hosted-pools-in-house-pool/decision/release-rehearsals-share-the-linux-switch: + en: 7fdad4f7d060d659 + zh: 6773db9b7d62cd0a +/agent-note-ci-failover-runbook-hosted-pools-in-house-pool/decision/what-the-in-house-pool-is: + en: 00d8934ed30e838c + zh: bdb5584fbaf27c7d +/agent-note-ci-failover-runbook-hosted-pools-in-house-pool/decision/what-the-in-house-pool-is/windows-pool: + en: f395af725d1deaf1 + zh: 896cedbb36c13758 +/agent-note-ci-failover-runbook-hosted-pools-in-house-pool/decision/switch-any-repository-writer-1-minute-no-merge: + en: 2e3829fd72d6b1b0 + zh: 563f0abade7974f9 +/agent-note-ci-failover-runbook-hosted-pools-in-house-pool/capacity-during-failover: + en: 4095da1b492d7484 + zh: 0c0bb9c97e4af977 +/agent-note-ci-failover-runbook-hosted-pools-in-house-pool/capacity-during-failover/switch-back: + en: 63cf911019db8d2f + zh: 5eb3903b0ceb30db +/agent-note-ci-failover-runbook-hosted-pools-in-house-pool/capacity-during-failover/trust-boundary: + en: c05bc0ceba304ff0 + zh: 19ae9a2d70f25d33 +/agent-note-ci-failover-runbook-hosted-pools-in-house-pool/alternatives-considered: + en: e68b70d7caca52f1 + zh: e6f0be792105a9e6 +/agent-note-ci-failover-runbook-hosted-pools-in-house-pool/consequences: + en: f66e0aa401136799 + zh: 657188692959955e diff --git a/.agents/notes/implemented/process/2026-07-26-dependencies-over-hand-rolling.i18n.yaml b/.agents/notes/implemented/process/2026-07-26-dependencies-over-hand-rolling.i18n.yaml index edc74a719e..5d93d0272b 100644 --- a/.agents/notes/implemented/process/2026-07-26-dependencies-over-hand-rolling.i18n.yaml +++ b/.agents/notes/implemented/process/2026-07-26-dependencies-over-hand-rolling.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-26-dependencies-over-hand-rolling.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-07-26-dependencies-over-hand-rolling.md -2026-07-26-dependencies-over-hand-rolling.md: 53336e5a2dc8970422dcf8a161a31eb01f8155e4 -2026-07-26-dependencies-over-hand-rolling.zh.md: deec00d87f2c514dbf16cac0e96cdf00ec055958 +/agent-note-prefer-maintained-dependencies-over-hand-rolling: + en: 5cf63576459c1942 + zh: c3f2dbc5e4656693 +/agent-note-prefer-maintained-dependencies-over-hand-rolling/problem: + en: 5c13c4dd8707db61 + zh: b788b35b54bec861 +/agent-note-prefer-maintained-dependencies-over-hand-rolling/decision: + en: 2b8c6ea6c61732cd + zh: 946b2ef6142eaca3 +/agent-note-prefer-maintained-dependencies-over-hand-rolling/alternatives-considered: + en: c3575c5c8b4a6e51 + zh: f20aa07eefed8a3b +/agent-note-prefer-maintained-dependencies-over-hand-rolling/consequences: + en: abac778b1b57b62a + zh: 7cd7b253d637726b diff --git a/.agents/notes/implemented/process/2026-07-26-frozen-agent-note-archive.i18n.yaml b/.agents/notes/implemented/process/2026-07-26-frozen-agent-note-archive.i18n.yaml index c8bfb9d43c..1b44f40971 100644 --- a/.agents/notes/implemented/process/2026-07-26-frozen-agent-note-archive.i18n.yaml +++ b/.agents/notes/implemented/process/2026-07-26-frozen-agent-note-archive.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-26-frozen-agent-note-archive.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-07-26-frozen-agent-note-archive.md -2026-07-26-frozen-agent-note-archive.md: e9ecfa78f53a5912608201654e2c56e399defccd -2026-07-26-frozen-agent-note-archive.zh.md: 9a3ce2e6e21864f2754f627be6f7576bfc1f9076 +/agent-note-freeze-low-future-value-agent-notes-outside-the-active-corpus: + en: f6883e4627411644 + zh: e034e9b350dfd622 +/agent-note-freeze-low-future-value-agent-notes-outside-the-active-corpus/problem: + en: cef0f05fd8dfd6a1 + zh: 228107eb6c00a91a +/agent-note-freeze-low-future-value-agent-notes-outside-the-active-corpus/decision: + en: 453cf66046816477 + zh: af5bb77e849416a1 +/agent-note-freeze-low-future-value-agent-notes-outside-the-active-corpus/alternatives-considered: + en: 7637deef67f3ec14 + zh: 7f43606e487fab67 +/agent-note-freeze-low-future-value-agent-notes-outside-the-active-corpus/consequences: + en: 679af41e64d0dd15 + zh: ebbead84f8b8e1df diff --git a/.agents/notes/implemented/process/2026-07-27-worktree-local-lefthook.i18n.yaml b/.agents/notes/implemented/process/2026-07-27-worktree-local-lefthook.i18n.yaml index 5bb1f929e1..5d29f39a16 100644 --- a/.agents/notes/implemented/process/2026-07-27-worktree-local-lefthook.i18n.yaml +++ b/.agents/notes/implemented/process/2026-07-27-worktree-local-lefthook.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-27-worktree-local-lefthook.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-07-27-worktree-local-lefthook.md -2026-07-27-worktree-local-lefthook.md: 42adc1ed1d60d1462a3fb6600b22b7d77b6ae28e -2026-07-27-worktree-local-lefthook.zh.md: b4b905967861606154a4bf63f4dbb6b4eb469e92 +/agent-note-make-lefthook-installation-worktree-local: + en: 2a11ec534041e270 + zh: 9cbd4adbaecd1b32 +/agent-note-make-lefthook-installation-worktree-local/problem: + en: b3ec2245644b46e6 + zh: 83de1cb620f9ddcf +/agent-note-make-lefthook-installation-worktree-local/decision: + en: 577d90ff7e03ebaf + zh: dc680155c0c3a2a1 +/agent-note-make-lefthook-installation-worktree-local/alternatives-considered: + en: d7100b0d2c95a3f9 + zh: 070c38c4d0d1331a +/agent-note-make-lefthook-installation-worktree-local/consequences: + en: ea991f7a0d5c0bf2 + zh: e7f7b3c9215213ba diff --git a/.agents/notes/implemented/process/2026-07-30-generated-third-party-notices.i18n.yaml b/.agents/notes/implemented/process/2026-07-30-generated-third-party-notices.i18n.yaml index c92bdd5546..91cb4b1f67 100644 --- a/.agents/notes/implemented/process/2026-07-30-generated-third-party-notices.i18n.yaml +++ b/.agents/notes/implemented/process/2026-07-30-generated-third-party-notices.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-30-generated-third-party-notices.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-07-30-generated-third-party-notices.md -2026-07-30-generated-third-party-notices.md: 71f1fd0a5b650d53c5ef21438e17e0a6e162bdf5 -2026-07-30-generated-third-party-notices.zh.md: e3adb43e4b407945a8cca88105de689407b5908b +/agent-note-generated-third-party-notices: + en: 762fe10c2750eb0a + zh: 24f5efdf4cc1755e +/agent-note-generated-third-party-notices/problem: + en: e6929494e60041a2 + zh: 15bec8e8baabcab2 +/agent-note-generated-third-party-notices/decision: + en: 4d9ab23559067da3 + zh: 8de95de194393187 +/agent-note-generated-third-party-notices/testing: + en: 194f87f780991068 + zh: 58096d2339576d20 +/agent-note-generated-third-party-notices/alternatives-considered: + en: 093ddc027e296bf0 + zh: 6b9e64d99dcefa11 +/agent-note-generated-third-party-notices/consequences: + en: 860b806c5d393c98 + zh: 51b4ca11e2d3802a diff --git a/.agents/notes/implemented/process/2026-08-02-native-github-stacks-and-optional-rebases.i18n.yaml b/.agents/notes/implemented/process/2026-08-02-native-github-stacks-and-optional-rebases.i18n.yaml index 360c8ca687..88fc7212bb 100644 --- a/.agents/notes/implemented/process/2026-08-02-native-github-stacks-and-optional-rebases.i18n.yaml +++ b/.agents/notes/implemented/process/2026-08-02-native-github-stacks-and-optional-rebases.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-02-native-github-stacks-and-optional-rebases.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-08-02-native-github-stacks-and-optional-rebases.md -2026-08-02-native-github-stacks-and-optional-rebases.md: 394f0d7b4557bd306ae020d3edb5339fbcd2f068 -2026-08-02-native-github-stacks-and-optional-rebases.zh.md: 6266619fa1b2e58b50377b2ddb268632bb6cce08 +/agent-note-native-github-stacks-and-optional-pr-rebases: + en: 9427ca53db68d50b + zh: 9e72b34deee3bb9f +/agent-note-native-github-stacks-and-optional-pr-rebases/problem: + en: 21312af191207fa6 + zh: 86306b4c6dd08a0c +/agent-note-native-github-stacks-and-optional-pr-rebases/decision: + en: 893a172d6f0fc764 + zh: 5fdeca6898882bb2 +/agent-note-native-github-stacks-and-optional-pr-rebases/verification: + en: eac5830cd3dd385e + zh: 8e272a5cf2e54519 +/agent-note-native-github-stacks-and-optional-pr-rebases/alternatives-considered: + en: 9c601bc6dee773f1 + zh: 72fb6396e76ba2a5 +/agent-note-native-github-stacks-and-optional-pr-rebases/consequences: + en: 7cb31f6445970432 + zh: 0da95a9f9b521bea diff --git a/.agents/notes/implemented/process/2026-08-03-package-anchored-subsystem-pages.i18n.yaml b/.agents/notes/implemented/process/2026-08-03-package-anchored-subsystem-pages.i18n.yaml index 1e3b097d4c..b427a1cc50 100644 --- a/.agents/notes/implemented/process/2026-08-03-package-anchored-subsystem-pages.i18n.yaml +++ b/.agents/notes/implemented/process/2026-08-03-package-anchored-subsystem-pages.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-03-package-anchored-subsystem-pages.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-08-03-package-anchored-subsystem-pages.md -2026-08-03-package-anchored-subsystem-pages.md: ea98bae0c54b45351712a75b5c2387c5f57fae71 -2026-08-03-package-anchored-subsystem-pages.zh.md: 4da4211f4e29eff0d30bd3da5d5035ad2a928ee5 +/agent-note-package-anchored-subsystem-pages-and-thin-group-readmes: + en: 48a39166064d9f0d + zh: c23ba48570aab506 +/agent-note-package-anchored-subsystem-pages-and-thin-group-readmes/problem: + en: 244099e9da9c15ce + zh: 72b5dd59abe0133a +/agent-note-package-anchored-subsystem-pages-and-thin-group-readmes/decision: + en: b8c1668317997b2c + zh: 62d0ef605bfa3d3c +/agent-note-package-anchored-subsystem-pages-and-thin-group-readmes/alternatives-considered: + en: 07b4fc9048074b31 + zh: d14c862196f545fa +/agent-note-package-anchored-subsystem-pages-and-thin-group-readmes/consequences: + en: 9a6d02787410d14d + zh: e63d7023f49d5750 diff --git a/.agents/notes/implemented/process/2026-08-08-automatic-translation-pairing-merges.i18n.yaml b/.agents/notes/implemented/process/2026-08-08-automatic-translation-pairing-merges.i18n.yaml deleted file mode 100644 index 5e46e610a1..0000000000 --- a/.agents/notes/implemented/process/2026-08-08-automatic-translation-pairing-merges.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/process/2026-08-08-automatic-translation-pairing-merges.md -2026-08-08-automatic-translation-pairing-merges.md: ac4e0c11290abfd48d0f3caf037062aa2fe36c4d -2026-08-08-automatic-translation-pairing-merges.zh.md: 820ebdbe8c20988c4e917704db2f1994ae830fad diff --git a/.agents/notes/implemented/process/2026-08-08-browser-gif-evidence-chain.i18n.yaml b/.agents/notes/implemented/process/2026-08-08-browser-gif-evidence-chain.i18n.yaml index e09c768aba..402eb36c98 100644 --- a/.agents/notes/implemented/process/2026-08-08-browser-gif-evidence-chain.i18n.yaml +++ b/.agents/notes/implemented/process/2026-08-08-browser-gif-evidence-chain.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-08-browser-gif-evidence-chain.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-browser-gif-evidence-chain.md -2026-08-08-browser-gif-evidence-chain.md: 8a7c28792bbab178cac6ba6743628882a15fdf6e -2026-08-08-browser-gif-evidence-chain.zh.md: ff9b6cc729c23dd9f3ba170752fa05fe65c7fb53 +/agent-note-browser-gifs-preserve-one-evidence-chain: + en: acd1abc5215025db + zh: 13d04f81ebb47d18 +/agent-note-browser-gifs-preserve-one-evidence-chain/problem: + en: 427edb924ca3106e + zh: 2115278719f9fd25 +/agent-note-browser-gifs-preserve-one-evidence-chain/decision: + en: 1a098893e7e55ff8 + zh: c2912855cfc4a2bb +/agent-note-browser-gifs-preserve-one-evidence-chain/alternatives-considered: + en: 7c8b16109ffaf01a + zh: d978945c49912639 +/agent-note-browser-gifs-preserve-one-evidence-chain/consequences: + en: 18e112842a2a0ac8 + zh: bb562ffcbd660b83 diff --git a/.agents/notes/implemented/process/2026-08-08-native-windows-pull-request-ci.i18n.yaml b/.agents/notes/implemented/process/2026-08-08-native-windows-pull-request-ci.i18n.yaml index 7ad3923251..8a421fe006 100644 --- a/.agents/notes/implemented/process/2026-08-08-native-windows-pull-request-ci.i18n.yaml +++ b/.agents/notes/implemented/process/2026-08-08-native-windows-pull-request-ci.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-08-native-windows-pull-request-ci.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-native-windows-pull-request-ci.md -2026-08-08-native-windows-pull-request-ci.md: 64c4366ee8d60dd0137e6e4eb5473c0450204efe -2026-08-08-native-windows-pull-request-ci.zh.md: 48725cdc58ab7b8db22461da64236c6de3bb3027 +/agent-note-wine-and-native-windows-ci: + en: 9c96424c10b83c6b + zh: b2adf0c650fbf529 +/agent-note-wine-and-native-windows-ci/problem: + en: 3e229ecf646af866 + zh: d358507b1e1d381f +/agent-note-wine-and-native-windows-ci/decision: + en: f557cb00e1b457c1 + zh: eeaec8412ddb315a +/agent-note-wine-and-native-windows-ci/alternatives-considered: + en: f6c5e77fe3f05739 + zh: 8de640d12d3a38c4 +/agent-note-wine-and-native-windows-ci/consequences: + en: 58069228d4e904c6 + zh: 2601a48b82400903 diff --git a/.agents/notes/implemented/process/2026-08-08-unified-github-label-taxonomy.i18n.yaml b/.agents/notes/implemented/process/2026-08-08-unified-github-label-taxonomy.i18n.yaml index 8c6982cd71..3abc0c9d28 100644 --- a/.agents/notes/implemented/process/2026-08-08-unified-github-label-taxonomy.i18n.yaml +++ b/.agents/notes/implemented/process/2026-08-08-unified-github-label-taxonomy.i18n.yaml @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-08-unified-github-label-taxonomy.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-unified-github-label-taxonomy.md -2026-08-08-unified-github-label-taxonomy.md: 1748f9b77ed2922035c5e75ac4a2eee047f413d3 -2026-08-08-unified-github-label-taxonomy.zh.md: 3b221a5f3db43597656f46dfc505cdfda38c75db +/agent-note-unified-github-label-taxonomy: + en: 59560a685380483f + zh: 1bf2324f05c8968a +/agent-note-unified-github-label-taxonomy/problem: + en: 8c0c360d500f22f0 + zh: 97c815076ee9b53b +/agent-note-unified-github-label-taxonomy/decision: + en: 398fb26c5da12e42 + zh: 02c16ca5058283bc +/agent-note-unified-github-label-taxonomy/decision/kinds: + en: 04e51bc9313727a0 + zh: 443388bc0472c368 +/agent-note-unified-github-label-taxonomy/decision/areas: + en: b8d485a8222d0938 + zh: 8fbb27557db98023 +/agent-note-unified-github-label-taxonomy/decision/issues-and-migrations: + en: 6d720c37cf806ae6 + zh: c16c420482d02067 +/agent-note-unified-github-label-taxonomy/alternatives-considered: + en: 57740baaeda04f6d + zh: 8da0aabac6b06424 +/agent-note-unified-github-label-taxonomy/consequences: + en: 41169a21b2ac9801 + zh: 5506bf106f95163d diff --git a/.agents/notes/implemented/process/2026-08-09-committed-artifact-citations.i18n.yaml b/.agents/notes/implemented/process/2026-08-09-committed-artifact-citations.i18n.yaml index febe070830..e8b85c04de 100644 --- a/.agents/notes/implemented/process/2026-08-09-committed-artifact-citations.i18n.yaml +++ b/.agents/notes/implemented/process/2026-08-09-committed-artifact-citations.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-09-committed-artifact-citations.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-08-09-committed-artifact-citations.md -2026-08-09-committed-artifact-citations.md: 66dec38755fbe366385349e65da3dbc0ff632769 -2026-08-09-committed-artifact-citations.zh.md: ebc4541e56c4481005700cf16aa03881c9fb005d +/agent-note-cite-committed-artifacts-never-design-session-ordinals: + en: c97b89961652ab9f + zh: a2ecdc61c29652a6 +/agent-note-cite-committed-artifacts-never-design-session-ordinals/problem: + en: 79dc8b3d2c600d91 + zh: e7b16c9e276e565f +/agent-note-cite-committed-artifacts-never-design-session-ordinals/decision: + en: 83f88200cfa66c98 + zh: 3db6822a92701d64 +/agent-note-cite-committed-artifacts-never-design-session-ordinals/alternatives-considered: + en: cdf3ce2ccd530449 + zh: f24bb73190b4b22b +/agent-note-cite-committed-artifacts-never-design-session-ordinals/verification: + en: fb9ce345704f7da4 + zh: 3148c6bbf67ad87f +/agent-note-cite-committed-artifacts-never-design-session-ordinals/consequences: + en: 53fe33cd40aa7133 + zh: 4eaf89d5dea43c62 diff --git a/.agents/notes/implemented/process/2026-08-09-concrete-prose-names-actors-and-recorded-facts.i18n.yaml b/.agents/notes/implemented/process/2026-08-09-concrete-prose-names-actors-and-recorded-facts.i18n.yaml index 4326e893cf..eb5e443f1b 100644 --- a/.agents/notes/implemented/process/2026-08-09-concrete-prose-names-actors-and-recorded-facts.i18n.yaml +++ b/.agents/notes/implemented/process/2026-08-09-concrete-prose-names-actors-and-recorded-facts.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-09-concrete-prose-names-actors-and-recorded-facts.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-08-09-concrete-prose-names-actors-and-recorded-facts.md -2026-08-09-concrete-prose-names-actors-and-recorded-facts.md: 91f7913ff0cabafdd1c089e618d7864b9a085147 -2026-08-09-concrete-prose-names-actors-and-recorded-facts.zh.md: 315850711adb234fa2bd9a92d9bd69fea5077230 +/agent-note-concrete-prose-names-actors-and-recorded-facts: + en: fbfbd92c8f73d34c + zh: fc48118b80f5dbb9 +/agent-note-concrete-prose-names-actors-and-recorded-facts/problem: + en: f0228c15ff233209 + zh: b6183fdc8dd705a0 +/agent-note-concrete-prose-names-actors-and-recorded-facts/decision: + en: 833658027dc8e2d7 + zh: a360c4aa7b4dde7f +/agent-note-concrete-prose-names-actors-and-recorded-facts/alternatives-considered: + en: 08a988b00edf03b2 + zh: 8614c5edbc46ca36 +/agent-note-concrete-prose-names-actors-and-recorded-facts/consequences: + en: 18e6d0b597186220 + zh: 744ed1b795929bba diff --git a/.agents/notes/implemented/process/2026-08-10-event-directed-pr-review-status.i18n.yaml b/.agents/notes/implemented/process/2026-08-10-event-directed-pr-review-status.i18n.yaml index 4d9e3fafc1..6d96599459 100644 --- a/.agents/notes/implemented/process/2026-08-10-event-directed-pr-review-status.i18n.yaml +++ b/.agents/notes/implemented/process/2026-08-10-event-directed-pr-review-status.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-10-event-directed-pr-review-status.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-08-10-event-directed-pr-review-status.md -2026-08-10-event-directed-pr-review-status.md: 37b8086a081145e8c16ceb29d489fbc38a7f0d43 -2026-08-10-event-directed-pr-review-status.zh.md: cc0dad8554f869d51965c30d2648937c54dc2b75 +/agent-note-event-directed-pr-review-status-commands: + en: 936b85c184551acf + zh: faf32b3209539114 +/agent-note-event-directed-pr-review-status-commands/problem: + en: 3e00a9cb6c0e53ec + zh: 1bd27ceea8a424ce +/agent-note-event-directed-pr-review-status-commands/decision: + en: 3b661de4e6fbf401 + zh: 2fb7f7adb4f846e4 +/agent-note-event-directed-pr-review-status-commands/verification: + en: 46301d11d2f1c8df + zh: daa44a617912c315 +/agent-note-event-directed-pr-review-status-commands/alternatives-considered: + en: 8b5ec4d7fc09a9ab + zh: d72ebe462bb2e9d2 +/agent-note-event-directed-pr-review-status-commands/consequences: + en: e3d39dca9122531b + zh: 262098573f196b93 diff --git a/.agents/notes/implemented/process/2026-08-10-npm-release-sequences.i18n.yaml b/.agents/notes/implemented/process/2026-08-10-npm-release-sequences.i18n.yaml index bd7e432b63..40e0e18b71 100644 --- a/.agents/notes/implemented/process/2026-08-10-npm-release-sequences.i18n.yaml +++ b/.agents/notes/implemented/process/2026-08-10-npm-release-sequences.i18n.yaml @@ -1,6 +1,52 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-10-npm-release-sequences.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-08-10-npm-release-sequences.md -2026-08-10-npm-release-sequences.md: 6a4f9d1ec23d1fd1c7b74630e106974b680fe41a -2026-08-10-npm-release-sequences.zh.md: d33d48e4458a62951aa957e694dd70eedcf2a6c8 +/agent-note-private-npm-publication-as-three-independent-sequences: + en: 176f873a6b094838 + zh: 9baeba69cbaea9cf +/agent-note-private-npm-publication-as-three-independent-sequences/problem: + en: b94462e04e350571 + zh: 07cef78e4cf7a9ac +/agent-note-private-npm-publication-as-three-independent-sequences/decision: + en: a15c7c13f167e5ac + zh: 63bcc2ef60c2f344 +/agent-note-private-npm-publication-as-three-independent-sequences/decision/three-independent-sequences: + en: 6cd23b2407935500 + zh: 6d50f5f4fb867342 +/agent-note-private-npm-publication-as-three-independent-sequences/decision/versions-land-in-the-repository-from-a-local-command-ci-only-checks-and-uploads: + en: 71d4cda384013bfb + zh: 909d853c18496925 +/agent-note-private-npm-publication-as-three-independent-sequences/decision/vendor-publish-what-changed-and-let-tags-be-the-ledger: + en: 7f578bb18f7f8693 + zh: 49f25210f7c1a61f +/agent-note-private-npm-publication-as-three-independent-sequences/decision/publication-runs-only-on-github-and-the-registry-decides-what-goes-out: + en: 4f399390f58d7a34 + zh: 9df67248acfc61c8 +/agent-note-private-npm-publication-as-three-independent-sequences/decision/workspace-internal-references-use-the-workspace-protocol: + en: 6cff087e7e2d0ac7 + zh: 5d45a3abdd960d9c +/agent-note-private-npm-publication-as-three-independent-sequences/decision/published-dependency-faces-use-an-explicit-policy: + en: 30a64e0e919a27c0 + zh: 19729d7ebee35439 +/agent-note-private-npm-publication-as-three-independent-sequences/decision/an-optional-dependency-is-never-loaded-at-module-scope: + en: d83f6cf38529c5b5 + zh: 4df5659b2154d3b7 +/agent-note-private-npm-publication-as-three-independent-sequences/decision/release-family-objects: + en: e8bb80d936e2cbbd + zh: bc4ae297e98a5446 +/agent-note-private-npm-publication-as-three-independent-sequences/decision/workflow-shape-pack-on-pr-push-publish-from-a-manual-dispatch-workflow: + en: ea0acc6409da4d5c + zh: ac0bd2fe41f4fe67 +/agent-note-private-npm-publication-as-three-independent-sequences/decision/repository-changes-this-carried: + en: c505237cad2c4128 + zh: 55364ba462536680 +/agent-note-private-npm-publication-as-three-independent-sequences/decision/relationship-to-the-earlier-proposal: + en: 298382a27013dcfb + zh: ab89cf392232f9bb +/agent-note-private-npm-publication-as-three-independent-sequences/alternatives-considered: + en: 11877d09e5a84f6e + zh: ea372c779254be93 +/agent-note-private-npm-publication-as-three-independent-sequences/consequences: + en: f961ebb927e30b5c + zh: 019f1628fb1f2c56 diff --git a/.agents/notes/implemented/process/2026-08-18-in-job-partitioned-coverage.i18n.yaml b/.agents/notes/implemented/process/2026-08-18-in-job-partitioned-coverage.i18n.yaml index b11aba495c..47454c2346 100644 --- a/.agents/notes/implemented/process/2026-08-18-in-job-partitioned-coverage.i18n.yaml +++ b/.agents/notes/implemented/process/2026-08-18-in-job-partitioned-coverage.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-18-in-job-partitioned-coverage.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-08-18-in-job-partitioned-coverage.md -2026-08-18-in-job-partitioned-coverage.md: 3eafecc02f45b470e13ca426ad005f053a852472 -2026-08-18-in-job-partitioned-coverage.zh.md: 457e352992519b1845b0a592cc9d5a235d29df9d +/agent-note-in-job-partitioned-coverage: + en: eb25ff049a1ecc31 + zh: d7430b14ccea5707 +/agent-note-in-job-partitioned-coverage/problem: + en: ab6dcac4ca2bbfb3 + zh: c754cc8077671b25 +/agent-note-in-job-partitioned-coverage/decision: + en: ae23ea86587c23e8 + zh: b9868c5c76238d9a +/agent-note-in-job-partitioned-coverage/failure-and-output-semantics: + en: c73ddbc65107e34e + zh: dbc7649637f8d1c0 +/agent-note-in-job-partitioned-coverage/verification: + en: 81dcaebd4b96229c + zh: 76b3332b183f6c44 +/agent-note-in-job-partitioned-coverage/alternatives-considered: + en: 82f314bd434b0059 + zh: 7b64e90b74f428e5 +/agent-note-in-job-partitioned-coverage/consequences: + en: 146e997017ee6e47 + zh: cd5e5d2d9b0b47b9 diff --git a/.agents/notes/implemented/process/2026-08-19-remove-knip.i18n.yaml b/.agents/notes/implemented/process/2026-08-19-remove-knip.i18n.yaml index aee415539b..1d76a326bd 100644 --- a/.agents/notes/implemented/process/2026-08-19-remove-knip.i18n.yaml +++ b/.agents/notes/implemented/process/2026-08-19-remove-knip.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-19-remove-knip.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-08-19-remove-knip.md -2026-08-19-remove-knip.md: 5e7e898e05a7e6a6e087b8784f7f49e71cf8fc37 -2026-08-19-remove-knip.zh.md: f6bca8661648efd565dc0bbec86ca2c76738ea85 +/agent-note-remove-knip-from-repository-gates: + en: adba00071ebc35c8 + zh: 44f778106e0b9965 +/agent-note-remove-knip-from-repository-gates/problem: + en: 5b2ece5e6f3775e0 + zh: 4fbc60619afdb7e2 +/agent-note-remove-knip-from-repository-gates/decision: + en: c5d7ae84ed863e29 + zh: 409dca40c2a63940 +/agent-note-remove-knip-from-repository-gates/alternatives-considered: + en: 95363dbc293712f3 + zh: 9cbcb9937081f5f0 +/agent-note-remove-knip-from-repository-gates/consequences: + en: 7466ca9e99d0bb27 + zh: 2ac417bc23865e14 diff --git a/.agents/notes/implemented/process/2026-08-26-ban-ambiguous-origin-label.i18n.yaml b/.agents/notes/implemented/process/2026-08-26-ban-ambiguous-origin-label.i18n.yaml index c1d9874a82..064bf1cbf2 100644 --- a/.agents/notes/implemented/process/2026-08-26-ban-ambiguous-origin-label.i18n.yaml +++ b/.agents/notes/implemented/process/2026-08-26-ban-ambiguous-origin-label.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-26-ban-ambiguous-origin-label.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-08-26-ban-ambiguous-origin-label.md -2026-08-26-ban-ambiguous-origin-label.md: b4c161a8a963e0aebdb3dcf24b8aac028429f349 -2026-08-26-ban-ambiguous-origin-label.zh.md: 2d592f44429d8622b5a42c55c7f92eae6da96800 +/agent-note-ban-an-ambiguous-origin-label: + en: 98843ceb0ee72c06 + zh: e4963bfe0e1b1314 +/agent-note-ban-an-ambiguous-origin-label/problem: + en: e3c5b3a689f7a3cc + zh: 676620dfb5303bed +/agent-note-ban-an-ambiguous-origin-label/decision: + en: bb8507460f159ad1 + zh: 357b5e6065cf389c +/agent-note-ban-an-ambiguous-origin-label/alternatives-considered: + en: 50421d71ea80fef9 + zh: 512625bd4dac0734 +/agent-note-ban-an-ambiguous-origin-label/consequences: + en: 51a4f9c099f993f1 + zh: 655bcf2eda1835ff diff --git a/.agents/notes/implemented/process/2026-08-26-published-dependency-faces.i18n.yaml b/.agents/notes/implemented/process/2026-08-26-published-dependency-faces.i18n.yaml index 02670de7a5..19ca92d47b 100644 --- a/.agents/notes/implemented/process/2026-08-26-published-dependency-faces.i18n.yaml +++ b/.agents/notes/implemented/process/2026-08-26-published-dependency-faces.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-26-published-dependency-faces.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-08-26-published-dependency-faces.md -2026-08-26-published-dependency-faces.md: f188ccc0fc91b2899ccb618d3000a9b3cb94eb59 -2026-08-26-published-dependency-faces.zh.md: d59bb724ceb15f6eae65b509f8437a5dcfa05a23 +/agent-note-published-dependency-faces-and-bounded-peer-relays: + en: 553313933867d0f4 + zh: 11288efed41eea50 +/agent-note-published-dependency-faces-and-bounded-peer-relays/problem: + en: a8357e7e0735ad71 + zh: 5217d99a4ef921c7 +/agent-note-published-dependency-faces-and-bounded-peer-relays/decision: + en: a15c7c13f167e5ac + zh: 63bcc2ef60c2f344 +/agent-note-published-dependency-faces-and-bounded-peer-relays/decision/package-selection: + en: 5ea13b09ae774437 + zh: ef9dbccada39107a +/agent-note-published-dependency-faces-and-bounded-peer-relays/decision/dependency-sections: + en: b1c3e9a87b8bb1ea + zh: 5cfd8b4db39805b7 +/agent-note-published-dependency-faces-and-bounded-peer-relays/decision/maintainer-workflow: + en: 5983475fa551ca90 + zh: a5519f4817f65e8c +/agent-note-published-dependency-faces-and-bounded-peer-relays/decision/performance-verification: + en: 4ef3cc92457794fd + zh: 16ac73ea9760223b +/agent-note-published-dependency-faces-and-bounded-peer-relays/alternatives-considered: + en: e1c6f1cebc9dc6d2 + zh: 8c4b1959cdd6b3f2 +/agent-note-published-dependency-faces-and-bounded-peer-relays/consequences: + en: 70e475315e0898e2 + zh: bcb54a35da49fc99 diff --git a/.agents/notes/implemented/process/2026-08-28-ci-node-compile-cache-data-disk.i18n.yaml b/.agents/notes/implemented/process/2026-08-28-ci-node-compile-cache-data-disk.i18n.yaml index 4fd1361ca9..9413c6b4fd 100644 --- a/.agents/notes/implemented/process/2026-08-28-ci-node-compile-cache-data-disk.i18n.yaml +++ b/.agents/notes/implemented/process/2026-08-28-ci-node-compile-cache-data-disk.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-28-ci-node-compile-cache-data-disk.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-08-28-ci-node-compile-cache-data-disk.md -2026-08-28-ci-node-compile-cache-data-disk.md: 3f5f7eb2f00a37b635b63093f60c66688b82316b -2026-08-28-ci-node-compile-cache-data-disk.zh.md: c55a6c73cf98f0dd0b31b50d64e7937ee9e14305 +/agent-note-redirect-the-node-compile-cache-to-the-data-volume-runner-temp: + en: 52bb1466b8f7f8fe + zh: fa7c282d3d207e53 +/agent-note-redirect-the-node-compile-cache-to-the-data-volume-runner-temp/problem: + en: 3efe58882ca81bf7 + zh: 14f802e97e26f03d +/agent-note-redirect-the-node-compile-cache-to-the-data-volume-runner-temp/decision: + en: cb66e6c4ad73b50b + zh: 43540cec116e342a +/agent-note-redirect-the-node-compile-cache-to-the-data-volume-runner-temp/verification: + en: e23de17356f97224 + zh: b28bcafb4d1a72ad +/agent-note-redirect-the-node-compile-cache-to-the-data-volume-runner-temp/alternatives-considered: + en: 6119e2aff3b6be5a + zh: e01a6c669a9ec6aa +/agent-note-redirect-the-node-compile-cache-to-the-data-volume-runner-temp/alternatives-considered/why-not-disable-the-compile-cache-entirely: + en: cee8de5b45031309 + zh: 6ce10a304e63bdbb +/agent-note-redirect-the-node-compile-cache-to-the-data-volume-runner-temp/alternatives-considered/why-not-add-node-compile-cache-to-the-dsh-residue-sweep: + en: 7e06d9c4df7a9f56 + zh: f3151fe2671fd91e +/agent-note-redirect-the-node-compile-cache-to-the-data-volume-runner-temp/alternatives-considered/why-not-job-level-env-or-gate-step-env-only: + en: 4ba6c9a14bafbc80 + zh: 410149f4a3e930e6 +/agent-note-redirect-the-node-compile-cache-to-the-data-volume-runner-temp/consequences: + en: 083e2665e1550111 + zh: 70560c09ca2b3750 diff --git a/.agents/notes/implemented/process/2026-09-02-project-local-issue-planning-fields.i18n.yaml b/.agents/notes/implemented/process/2026-09-02-project-local-issue-planning-fields.i18n.yaml index 305f975303..c092807a5a 100644 --- a/.agents/notes/implemented/process/2026-09-02-project-local-issue-planning-fields.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-02-project-local-issue-planning-fields.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-02-project-local-issue-planning-fields.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-02-project-local-issue-planning-fields.md -2026-09-02-project-local-issue-planning-fields.md: e44fe0f002c40309beaeb4af3ccdd975714777e6 -2026-09-02-project-local-issue-planning-fields.zh.md: 28308d48994dbb144f7e7934a1058cef35942c20 +/agent-note-project-local-issue-planning-fields: + en: 9791d03a5df4c38c + zh: 19cbbf884294402b +/agent-note-project-local-issue-planning-fields/problem: + en: d01d052a9f366f35 + zh: b18600b91aad9a7c +/agent-note-project-local-issue-planning-fields/decision: + en: 21db463121897497 + zh: fd0551038412fd17 +/agent-note-project-local-issue-planning-fields/verification: + en: 7d1ef3eb9aac465d + zh: 68280a4511bce360 +/agent-note-project-local-issue-planning-fields/alternatives-considered: + en: b51a8fbc92bb7b5f + zh: 9316e86ac82c0a1b +/agent-note-project-local-issue-planning-fields/consequences: + en: d3614b91a0a6523a + zh: 773a31194e293014 diff --git a/.agents/notes/implemented/process/2026-09-03-semantic-issue-templates-and-policy.i18n.yaml b/.agents/notes/implemented/process/2026-09-03-semantic-issue-templates-and-policy.i18n.yaml index 782e6472d4..68c4e68e70 100644 --- a/.agents/notes/implemented/process/2026-09-03-semantic-issue-templates-and-policy.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-03-semantic-issue-templates-and-policy.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-03-semantic-issue-templates-and-policy.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-03-semantic-issue-templates-and-policy.md -2026-09-03-semantic-issue-templates-and-policy.md: 96b1981b21e901841d88b09d68a0e7e31ca140a2 -2026-09-03-semantic-issue-templates-and-policy.zh.md: 706cd59047fe5121964183bbc27efc8961a493ed +/agent-note-semantic-issue-templates-and-presentation-neutral-policy: + en: e1e183193c798bf4 + zh: db76ac954cd3038f +/agent-note-semantic-issue-templates-and-presentation-neutral-policy/problem: + en: 5da7b92d65316469 + zh: 30bc615947b3a8aa +/agent-note-semantic-issue-templates-and-presentation-neutral-policy/decision: + en: a351c272ef520bb9 + zh: 98db942d18da7565 +/agent-note-semantic-issue-templates-and-presentation-neutral-policy/verification: + en: 90912d4c58b9e35d + zh: 811eaab5bdd54ab4 +/agent-note-semantic-issue-templates-and-presentation-neutral-policy/alternatives-considered: + en: 520ba80ce03e05b4 + zh: 50df33c59c4c837d +/agent-note-semantic-issue-templates-and-presentation-neutral-policy/consequences: + en: c762b95945320c61 + zh: 935f6e7290c06811 diff --git a/.agents/notes/implemented/process/2026-09-06-evidence-driven-performance-skill.i18n.yaml b/.agents/notes/implemented/process/2026-09-06-evidence-driven-performance-skill.i18n.yaml index 52ccc34d2c..a9cf40b2dc 100644 --- a/.agents/notes/implemented/process/2026-09-06-evidence-driven-performance-skill.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-06-evidence-driven-performance-skill.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-06-evidence-driven-performance-skill.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-06-evidence-driven-performance-skill.md -2026-09-06-evidence-driven-performance-skill.md: 221287ef03386f53d61458db7a280142dfde690a -2026-09-06-evidence-driven-performance-skill.zh.md: 90e2c1aa5778d23492bec4f2049ce158433e2363 +/agent-note-evidence-driven-performance-optimization-workflow: + en: 0a63ab9dc4847f40 + zh: f8ba9a608396c47c +/agent-note-evidence-driven-performance-optimization-workflow/problem: + en: 2e0cb63ef966a541 + zh: 1853e223e530708e +/agent-note-evidence-driven-performance-optimization-workflow/decision: + en: bd0e363221108421 + zh: fc83dc1020d53f4e +/agent-note-evidence-driven-performance-optimization-workflow/historical-evidence: + en: 2d913642c87e5a01 + zh: 45fce898640c87e8 +/agent-note-evidence-driven-performance-optimization-workflow/alternatives-considered: + en: 70d016cd8e541933 + zh: 2ebeb9cbeba8129e +/agent-note-evidence-driven-performance-optimization-workflow/consequences: + en: 961c634c37340937 + zh: 9a528567223f7bfa diff --git a/.agents/notes/implemented/process/2026-09-06-master-only-platform-ci.i18n.yaml b/.agents/notes/implemented/process/2026-09-06-master-only-platform-ci.i18n.yaml index a331c0727e..0397c20321 100644 --- a/.agents/notes/implemented/process/2026-09-06-master-only-platform-ci.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-06-master-only-platform-ci.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-06-master-only-platform-ci.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-06-master-only-platform-ci.md -2026-09-06-master-only-platform-ci.md: fcdc413d644c1129635a7f33fe80bdec1b4a0b7a -2026-09-06-master-only-platform-ci.zh.md: 4fb55d5e95f8fe75e6d1efb8b57295b8e8469e8d +/agent-note-master-only-platform-ci: + en: fed101c5775cbbcd + zh: b407efdb4c46cfe2 +/agent-note-master-only-platform-ci/problem: + en: 85cf39297a859208 + zh: c959bf7f94ebc50b +/agent-note-master-only-platform-ci/decision: + en: 98b8ecd3b4cfe5e5 + zh: 2c622950ea7afd42 +/agent-note-master-only-platform-ci/alternatives-considered: + en: 71ce7f8bb8a31323 + zh: 45f97b72eb9c6971 +/agent-note-master-only-platform-ci/consequences: + en: 523bbd6a59c120bf + zh: a9d834b5c32a911f diff --git a/.agents/notes/implemented/process/2026-09-06-node-compatibility-selfhosted.i18n.yaml b/.agents/notes/implemented/process/2026-09-06-node-compatibility-selfhosted.i18n.yaml index 93aad86a87..7cc692226f 100644 --- a/.agents/notes/implemented/process/2026-09-06-node-compatibility-selfhosted.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-06-node-compatibility-selfhosted.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-06-node-compatibility-selfhosted.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-06-node-compatibility-selfhosted.md -2026-09-06-node-compatibility-selfhosted.md: 0ed422711426268efcb3b7cf37b6e19c52feba55 -2026-09-06-node-compatibility-selfhosted.zh.md: 2e58e3e7983b370050484bb8455cfa8554af494e +/agent-note-isolated-node-compatibility-jobs-on-self-hosted-linux: + en: 21c12c8bd0c44122 + zh: b07f0ffc18092f0d +/agent-note-isolated-node-compatibility-jobs-on-self-hosted-linux/problem: + en: 6bcedb8e3f0dce21 + zh: 83e88ed593259292 +/agent-note-isolated-node-compatibility-jobs-on-self-hosted-linux/decision: + en: 14f1348f993b9102 + zh: a94e1b802e6a8c39 +/agent-note-isolated-node-compatibility-jobs-on-self-hosted-linux/alternatives-considered: + en: 93217ca46c2cefb8 + zh: 77a167c69f59111c +/agent-note-isolated-node-compatibility-jobs-on-self-hosted-linux/consequences: + en: 116d255b8d1b846c + zh: 931754a68e4f75c6 +/agent-note-isolated-node-compatibility-jobs-on-self-hosted-linux/verification: + en: d0b1f1431fae737b + zh: 6cf4f4d654a9525d diff --git a/.agents/notes/implemented/process/2026-09-06-preview-hosted-runner-sizing.i18n.yaml b/.agents/notes/implemented/process/2026-09-06-preview-hosted-runner-sizing.i18n.yaml index 3156f6b0bd..6bd758533f 100644 --- a/.agents/notes/implemented/process/2026-09-06-preview-hosted-runner-sizing.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-06-preview-hosted-runner-sizing.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-06-preview-hosted-runner-sizing.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-06-preview-hosted-runner-sizing.md -2026-09-06-preview-hosted-runner-sizing.md: 414a17bf8a47f901e61ed271e9b2cf3dee3415b8 -2026-09-06-preview-hosted-runner-sizing.zh.md: 91a67b90b6617fea4dfa77672cb7e78412f462ee +/agent-note-measured-github-hosted-pr-preview-sizing: + en: 987e2592c644030d + zh: 55f306766247e4a4 +/agent-note-measured-github-hosted-pr-preview-sizing/problem: + en: bc382c3ef9c28709 + zh: 27e50735d80696a2 +/agent-note-measured-github-hosted-pr-preview-sizing/decision: + en: 9988e6268f8fc5b8 + zh: e92f3922b49b193d +/agent-note-measured-github-hosted-pr-preview-sizing/decision/measurements: + en: 768cd2ecf9d33c87 + zh: 693ea069a5275736 +/agent-note-measured-github-hosted-pr-preview-sizing/alternatives-considered: + en: 04f845ddb2a86e31 + zh: 993c6f82f5119f66 +/agent-note-measured-github-hosted-pr-preview-sizing/consequences: + en: ed9e8446f4579f5d + zh: c899cdd070e6befa diff --git a/.agents/notes/implemented/process/2026-09-06-python-runtime-windows-hosted.i18n.yaml b/.agents/notes/implemented/process/2026-09-06-python-runtime-windows-hosted.i18n.yaml index 4836b9f8c0..52e1d7fc30 100644 --- a/.agents/notes/implemented/process/2026-09-06-python-runtime-windows-hosted.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-06-python-runtime-windows-hosted.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-06-python-runtime-windows-hosted.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-06-python-runtime-windows-hosted.md -2026-09-06-python-runtime-windows-hosted.md: 95b762f2247c791536ae0902287ba40e20066258 -2026-09-06-python-runtime-windows-hosted.zh.md: e3f27788b0b620b4a7215b98bdc42b7d6957d5d7 +/agent-note-windows-python-runtime-ci-stays-on-github-hosted-windows: + en: d36b4627e3216a22 + zh: aabdaed56959936a +/agent-note-windows-python-runtime-ci-stays-on-github-hosted-windows/problem: + en: 81d36185575e6d77 + zh: 19003ab154d93394 +/agent-note-windows-python-runtime-ci-stays-on-github-hosted-windows/decision: + en: 1169dd58149ad6b4 + zh: aeebaf9ca8769de6 +/agent-note-windows-python-runtime-ci-stays-on-github-hosted-windows/alternatives-considered: + en: 817e77f011ea35c8 + zh: 2087bc653620a60f +/agent-note-windows-python-runtime-ci-stays-on-github-hosted-windows/consequences: + en: c31f88bace48ff9e + zh: 4698cd5ee3152e87 diff --git a/.agents/notes/implemented/process/2026-09-06-release-rehearsal-selfhosted.i18n.yaml b/.agents/notes/implemented/process/2026-09-06-release-rehearsal-selfhosted.i18n.yaml index a8ce01be68..9e35b7e987 100644 --- a/.agents/notes/implemented/process/2026-09-06-release-rehearsal-selfhosted.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-06-release-rehearsal-selfhosted.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-06-release-rehearsal-selfhosted.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-06-release-rehearsal-selfhosted.md -2026-09-06-release-rehearsal-selfhosted.md: 415ae4716e9bc0ae9b165afc807f6f41e8a57e04 -2026-09-06-release-rehearsal-selfhosted.zh.md: a6fa441d01e66cea998d77a9b1be588053ac60a5 +/agent-note-trusted-release-rehearsals-on-persistent-linux-runners: + en: 1bccf6bdafd4cc76 + zh: 28ce63be303697f1 +/agent-note-trusted-release-rehearsals-on-persistent-linux-runners/problem: + en: c458bf4244320194 + zh: fbd5f64cf8875725 +/agent-note-trusted-release-rehearsals-on-persistent-linux-runners/decision: + en: d51d35350d91f19b + zh: 65297576aff64e8a +/agent-note-trusted-release-rehearsals-on-persistent-linux-runners/alternatives-considered: + en: cd04297045b93d7b + zh: 9eacc1d9c6c10726 +/agent-note-trusted-release-rehearsals-on-persistent-linux-runners/consequences: + en: 90c50dda81822e7c + zh: 9c3ff4df4d2d9533 diff --git a/.agents/notes/implemented/process/2026-09-07-selective-issue-policy-evaluation.i18n.yaml b/.agents/notes/implemented/process/2026-09-07-selective-issue-policy-evaluation.i18n.yaml index 435048c1ba..b8002f1c9e 100644 --- a/.agents/notes/implemented/process/2026-09-07-selective-issue-policy-evaluation.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-07-selective-issue-policy-evaluation.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-07-selective-issue-policy-evaluation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-07-selective-issue-policy-evaluation.md -2026-09-07-selective-issue-policy-evaluation.md: 5e05bef320980b6069ede9edb0d40446ddd27b0f -2026-09-07-selective-issue-policy-evaluation.zh.md: 37c531e14e485499a3cb76d042d4c17438d413a0 +/agent-note-selective-issue-policy-evaluation: + en: b0f986e68a7b7d74 + zh: cffd2efae38626ef +/agent-note-selective-issue-policy-evaluation/problem: + en: 5af4901a5e9576fb + zh: eb089750b27129b1 +/agent-note-selective-issue-policy-evaluation/decision: + en: 99e6c76f04a4d49b + zh: 2631ff72b4db3bdf +/agent-note-selective-issue-policy-evaluation/alternatives-considered: + en: 89631c2a92ab079a + zh: 37b94f76ec6dc36a +/agent-note-selective-issue-policy-evaluation/consequences: + en: 6013a044827444e5 + zh: 69f767a1d534761a +/agent-note-selective-issue-policy-evaluation/verification: + en: b7fb4ebd009d7fd3 + zh: 6d682a4b7f41a4e0 diff --git a/.agents/notes/implemented/process/2026-09-08-browser-third-party-build-inputs.i18n.yaml b/.agents/notes/implemented/process/2026-09-08-browser-third-party-build-inputs.i18n.yaml index 7fc8e364f2..70e32ca967 100644 --- a/.agents/notes/implemented/process/2026-09-08-browser-third-party-build-inputs.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-08-browser-third-party-build-inputs.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-browser-third-party-build-inputs.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-08-browser-third-party-build-inputs.md -2026-09-08-browser-third-party-build-inputs.md: 97e61f3b99955cb402f9e622b2d40e3ee2953d79 -2026-09-08-browser-third-party-build-inputs.zh.md: e23c4e9d4615c7c5bc788beafcf6b94699f211ce +/agent-note-browser-third-party-libraries-as-build-inputs: + en: 907b99b05fcbce0e + zh: 57980cde5b585338 +/agent-note-browser-third-party-libraries-as-build-inputs/problem: + en: 55458dc0cd27341e + zh: ab23b350c17862be +/agent-note-browser-third-party-libraries-as-build-inputs/decision: + en: 2e9ff103342733eb + zh: d8be06fe18aab03a +/agent-note-browser-third-party-libraries-as-build-inputs/alternatives-considered: + en: 0247f31a86099d53 + zh: 445a6d35c03fc468 +/agent-note-browser-third-party-libraries-as-build-inputs/consequences: + en: ee331a2282a6884e + zh: de81b33db3fd6486 diff --git a/.agents/notes/implemented/process/2026-09-08-package-index-link-discovery.i18n.yaml b/.agents/notes/implemented/process/2026-09-08-package-index-link-discovery.i18n.yaml index a7a1903352..e57f7c6ecc 100644 --- a/.agents/notes/implemented/process/2026-09-08-package-index-link-discovery.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-08-package-index-link-discovery.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-package-index-link-discovery.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-08-package-index-link-discovery.md -2026-09-08-package-index-link-discovery.md: be9084f72e468b914bd035ce62e95aa6a89983dc -2026-09-08-package-index-link-discovery.zh.md: 93d6c2163183b4fb6391b731e982002b1938a704 +/agent-note-include-package-indexes-in-markdown-link-discovery: + en: edf2fd5b97c0075a + zh: da6ca05db38ee998 +/agent-note-include-package-indexes-in-markdown-link-discovery/problem: + en: 74a87cccbf602fc4 + zh: 88d1116da4cc35fb +/agent-note-include-package-indexes-in-markdown-link-discovery/decision: + en: 350354f891182cbf + zh: 4607ef9c38ff7a68 +/agent-note-include-package-indexes-in-markdown-link-discovery/alternatives-considered: + en: e12999e567cd2cbd + zh: a502f11b11e86815 +/agent-note-include-package-indexes-in-markdown-link-discovery/consequences: + en: 0bd932bd7feb363b + zh: acce05659887e5e5 diff --git a/.agents/notes/implemented/process/2026-09-08-playwright-video-gif.i18n.yaml b/.agents/notes/implemented/process/2026-09-08-playwright-video-gif.i18n.yaml index bdf8870e5f..f8222bf89a 100644 --- a/.agents/notes/implemented/process/2026-09-08-playwright-video-gif.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-08-playwright-video-gif.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-playwright-video-gif.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-08-playwright-video-gif.md -2026-09-08-playwright-video-gif.md: 44db04814900d4813f1d39521e4e84e7d0b8d1b8 -2026-09-08-playwright-video-gif.zh.md: 4922d739f0ff760afe12fe1a624abc1d1c4cd81f +/agent-note-playwright-video-captures-continuous-browser-demos: + en: fcca6f069dc51b80 + zh: e9d171b6c84f92a7 +/agent-note-playwright-video-captures-continuous-browser-demos/problem: + en: 967fed211899587e + zh: 0062f7ca29211105 +/agent-note-playwright-video-captures-continuous-browser-demos/decision: + en: 5f9e88a564fd6b8a + zh: b78164f92167dada +/agent-note-playwright-video-captures-continuous-browser-demos/alternatives-considered: + en: 221e89bafcb152d4 + zh: b33816c680dc450f +/agent-note-playwright-video-captures-continuous-browser-demos/consequences: + en: e5c9eb6df05801ba + zh: 786cd7775bfceb9e diff --git a/.agents/notes/implemented/process/2026-09-09-blacksmith-failover-leg.i18n.yaml b/.agents/notes/implemented/process/2026-09-09-blacksmith-failover-leg.i18n.yaml index bfd50afb64..be7e6eb89c 100644 --- a/.agents/notes/implemented/process/2026-09-09-blacksmith-failover-leg.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-09-blacksmith-failover-leg.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-blacksmith-failover-leg.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-09-blacksmith-failover-leg.md -2026-09-09-blacksmith-failover-leg.md: 4fb4ed4ccb500887622200e01310230393b3de12 -2026-09-09-blacksmith-failover-leg.zh.md: c2c4ee76a3fcd8c9f16c635ac81bc987d40a04e2 +/agent-note-blacksmith-as-a-failover-leg-for-ci-pools: + en: 018c4f4b64ca6634 + zh: 949f97c78d0f0236 +/agent-note-blacksmith-as-a-failover-leg-for-ci-pools/problem: + en: 43ecfec1601f933e + zh: 3db5365403ffeac5 +/agent-note-blacksmith-as-a-failover-leg-for-ci-pools/decision: + en: fac195b5006faa2d + zh: 7c0ea86638c54e95 +/agent-note-blacksmith-as-a-failover-leg-for-ci-pools/alternatives-considered: + en: a605440fed0ccc2a + zh: 621b35ad2850ca1b +/agent-note-blacksmith-as-a-failover-leg-for-ci-pools/consequences: + en: 09db977b1472b797 + zh: c1b890aaca4e557e diff --git a/.agents/notes/implemented/process/2026-09-09-blocked-weighted-approvals-remain-pending.i18n.yaml b/.agents/notes/implemented/process/2026-09-09-blocked-weighted-approvals-remain-pending.i18n.yaml index 8817e9561a..3cf9104f6e 100644 --- a/.agents/notes/implemented/process/2026-09-09-blocked-weighted-approvals-remain-pending.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-09-blocked-weighted-approvals-remain-pending.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-blocked-weighted-approvals-remain-pending.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-09-blocked-weighted-approvals-remain-pending.md -2026-09-09-blocked-weighted-approvals-remain-pending.md: 50ab64dadc0d7ad14366950d24b4136d131f55ec -2026-09-09-blocked-weighted-approvals-remain-pending.zh.md: 58ab10b3acb3bee92c720b622d92170a1a8bcf03 +/agent-note-blocked-weighted-approvals-remain-pending: + en: 6a5da25eb874aece + zh: 654aa967a9222501 +/agent-note-blocked-weighted-approvals-remain-pending/problem: + en: 0afdda30d02b666b + zh: 6624aa9c8c58ea0a +/agent-note-blocked-weighted-approvals-remain-pending/decision: + en: cf7ac63f422b4cfb + zh: 250385e42d546d30 +/agent-note-blocked-weighted-approvals-remain-pending/verification: + en: af674f57088d303a + zh: b9c42f04beec9be5 +/agent-note-blocked-weighted-approvals-remain-pending/alternatives-considered: + en: 13d5f67070bd3396 + zh: c75db3746d31272e +/agent-note-blocked-weighted-approvals-remain-pending/consequences: + en: 284f19608b0d449f + zh: 1d9bd95239ba6ffa diff --git a/.agents/notes/implemented/process/2026-09-09-cancel-superseded-ci.i18n.yaml b/.agents/notes/implemented/process/2026-09-09-cancel-superseded-ci.i18n.yaml index 5ef13299ed..5dac131679 100644 --- a/.agents/notes/implemented/process/2026-09-09-cancel-superseded-ci.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-09-cancel-superseded-ci.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-cancel-superseded-ci.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-09-cancel-superseded-ci.md -2026-09-09-cancel-superseded-ci.md: 8de1f757870a2b18852a224ec2f1cc33d9f6a95e -2026-09-09-cancel-superseded-ci.zh.md: 3ae6ec6ad58b0dfc94e803a33ba92ded4e239485 +/agent-note-cancel-superseded-ci-validation: + en: 78c382bc45c48256 + zh: a6a93a2ef554c61c +/agent-note-cancel-superseded-ci-validation/problem: + en: b436e3c8a7ffe727 + zh: 80b9f77b5cb051de +/agent-note-cancel-superseded-ci-validation/decision: + en: a61d1bc387ed8436 + zh: 3162cdd8096a8a01 +/agent-note-cancel-superseded-ci-validation/alternatives-considered: + en: c7d012d6e43f35ec + zh: 6f3eaf1342319aeb +/agent-note-cancel-superseded-ci-validation/consequences: + en: c226f645a79d0060 + zh: 023071f83b9a126d +/agent-note-cancel-superseded-ci-validation/verification: + en: 015f312772637350 + zh: b703cdab8bd4f0ae diff --git a/.agents/notes/implemented/process/2026-09-09-parallel-macos-notarization.i18n.yaml b/.agents/notes/implemented/process/2026-09-09-parallel-macos-notarization.i18n.yaml index 43d5e94cad..2a23f8fdfb 100644 --- a/.agents/notes/implemented/process/2026-09-09-parallel-macos-notarization.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-09-parallel-macos-notarization.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-parallel-macos-notarization.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-09-parallel-macos-notarization.md -2026-09-09-parallel-macos-notarization.md: 18358444426575e27a21f0f56541e22e37fcdf2c -2026-09-09-parallel-macos-notarization.zh.md: a69d586eff1413debe096656a7572a53f0938e98 +/agent-note-parallel-macos-notarization-from-isolated-app-copies: + en: 610808eedf6e8fdd + zh: 2db10903004a3ebd +/agent-note-parallel-macos-notarization-from-isolated-app-copies/problem: + en: 12c2160b03bac5e0 + zh: 2222e4490505f728 +/agent-note-parallel-macos-notarization-from-isolated-app-copies/decision: + en: 9084607b8e5ecba2 + zh: 00d70d13629a7dd4 +/agent-note-parallel-macos-notarization-from-isolated-app-copies/alternatives-considered: + en: 0ec8e4f3902e17e6 + zh: 3df3091fc01ab600 +/agent-note-parallel-macos-notarization-from-isolated-app-copies/consequences: + en: 81b2cc070cc05152 + zh: 30c684868025f994 diff --git a/.agents/notes/implemented/process/2026-09-10-approval-review-workflow-identity.i18n.yaml b/.agents/notes/implemented/process/2026-09-10-approval-review-workflow-identity.i18n.yaml index 2cadc0e736..521e943a63 100644 --- a/.agents/notes/implemented/process/2026-09-10-approval-review-workflow-identity.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-10-approval-review-workflow-identity.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-approval-review-workflow-identity.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-10-approval-review-workflow-identity.md -2026-09-10-approval-review-workflow-identity.md: 77164134e826acdf647db352cf73df2480055505 -2026-09-10-approval-review-workflow-identity.zh.md: 736851d6f3612080fd67ed6b72e1b8b667948d73 +/agent-note-identify-approval-review-workflows-by-file-path: + en: 8a332b9d080f3d62 + zh: 29f1de05d7867a77 +/agent-note-identify-approval-review-workflows-by-file-path/problem: + en: 6b927a7545ac2c48 + zh: 0902f03aa478d5ee +/agent-note-identify-approval-review-workflows-by-file-path/decision: + en: 82802438f1b8d16c + zh: ffe8c1fcbcc39abe +/agent-note-identify-approval-review-workflows-by-file-path/alternatives-considered: + en: f8fdd869a03ac5ff + zh: c355eb36e9cba350 +/agent-note-identify-approval-review-workflows-by-file-path/consequences: + en: 9f31e023a04a7849 + zh: 66831c450af4c88f diff --git a/.agents/notes/implemented/process/2026-09-11-persistence-type-history.i18n.yaml b/.agents/notes/implemented/process/2026-09-11-persistence-type-history.i18n.yaml index 969ab3fd9e..126601f6e3 100644 --- a/.agents/notes/implemented/process/2026-09-11-persistence-type-history.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-11-persistence-type-history.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-11-persistence-type-history.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-11-persistence-type-history.md -2026-09-11-persistence-type-history.md: 87e87041dd44c4f671409a75c1b374312736342a -2026-09-11-persistence-type-history.zh.md: cfe5c4f7bd1998d4329dc422607cfe33273d1a5a +/agent-note-in-tree-persistence-type-history: + en: 27496d50584a4feb + zh: 1b241d60286a92f3 +/agent-note-in-tree-persistence-type-history/problem: + en: c8e926bfc65d7195 + zh: e0e007960b68fe80 +/agent-note-in-tree-persistence-type-history/decision: + en: 0d6257a57763ad48 + zh: 6ce3cb7228bba27a +/agent-note-in-tree-persistence-type-history/decision/finalized-checkpoints: + en: 7dd42139850de3bf + zh: 0783bff2f0084f71 +/agent-note-in-tree-persistence-type-history/alternatives-considered: + en: 5cdac1b3f15f89f6 + zh: 36cda3b92d31c916 +/agent-note-in-tree-persistence-type-history/consequences: + en: 672c8cb59d291dc2 + zh: cbec90fbca92320a diff --git a/.agents/notes/implemented/process/2026-09-11-production-blame-approval-weight.i18n.yaml b/.agents/notes/implemented/process/2026-09-11-production-blame-approval-weight.i18n.yaml index bbc5adb976..9272a63484 100644 --- a/.agents/notes/implemented/process/2026-09-11-production-blame-approval-weight.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-11-production-blame-approval-weight.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-11-production-blame-approval-weight.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-11-production-blame-approval-weight.md -2026-09-11-production-blame-approval-weight.md: d9a223c2f332cc110ddd8f6a3f592febe0072987 -2026-09-11-production-blame-approval-weight.zh.md: f4dfc9d4fc5cefcccadb2785f58893ec92043ba7 +/agent-note-weight-approvals-by-changed-production-line-ownership: + en: 40516dee2915ffc3 + zh: 3d58358bc7110df2 +/agent-note-weight-approvals-by-changed-production-line-ownership/problem: + en: 2dbd821b8d65b054 + zh: 9bef2993db51a00d +/agent-note-weight-approvals-by-changed-production-line-ownership/decision: + en: 7dc225f91538ace1 + zh: a22d05ffd8d32b6d +/agent-note-weight-approvals-by-changed-production-line-ownership/alternatives-considered: + en: 5e8af03e3ff6018a + zh: 6b518c8eee8c5172 +/agent-note-weight-approvals-by-changed-production-line-ownership/consequences: + en: 08495483b77771be + zh: a798d4af0eda55fe +/agent-note-weight-approvals-by-changed-production-line-ownership/verification: + en: cb604625373372b9 + zh: f9056d20ab612537 diff --git a/.agents/notes/implemented/process/2026-09-12-default-product-experimental-isolation.i18n.yaml b/.agents/notes/implemented/process/2026-09-12-default-product-experimental-isolation.i18n.yaml index 30118b2276..cf4ae928c6 100644 --- a/.agents/notes/implemented/process/2026-09-12-default-product-experimental-isolation.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-12-default-product-experimental-isolation.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-12-default-product-experimental-isolation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-12-default-product-experimental-isolation.md -2026-09-12-default-product-experimental-isolation.md: 5c2485e4f737b822088a680b0006f395a5479fa9 -2026-09-12-default-product-experimental-isolation.zh.md: 3a412a491ab8356a4e29d706fed55226dc0f6038 +/agent-note-keep-experimental-packages-outside-the-default-product: + en: 2d1751612781064c + zh: 8be0f776c4a37e11 +/agent-note-keep-experimental-packages-outside-the-default-product/problem: + en: 6938ed9a5ca419bb + zh: 6d2cd6bb912b9118 +/agent-note-keep-experimental-packages-outside-the-default-product/decision: + en: d471671fd6c06d03 + zh: 205586983a29eba4 +/agent-note-keep-experimental-packages-outside-the-default-product/alternatives-considered: + en: b8615d8d31f313d7 + zh: 556e3b96a90f6897 +/agent-note-keep-experimental-packages-outside-the-default-product/consequences: + en: 5ffd5e60d782a0bd + zh: 300665f42d70f049 diff --git a/.agents/notes/implemented/process/2026-09-12-experimental-publication-denylist.i18n.yaml b/.agents/notes/implemented/process/2026-09-12-experimental-publication-denylist.i18n.yaml index 9ec2270d40..0d6fed02a4 100644 --- a/.agents/notes/implemented/process/2026-09-12-experimental-publication-denylist.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-12-experimental-publication-denylist.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-12-experimental-publication-denylist.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-12-experimental-publication-denylist.md -2026-09-12-experimental-publication-denylist.md: f19faa1f391628574fd47e3064130e00c26c831a -2026-09-12-experimental-publication-denylist.zh.md: 92a1c6d5cd0f23615f89d4779f2b9a977b1a8438 +/agent-note-publish-experimental-packages-with-explicit-private-exceptions: + en: 20aed7271477745f + zh: 81b50a3ba89b7935 +/agent-note-publish-experimental-packages-with-explicit-private-exceptions/problem: + en: c267b50c3004619f + zh: 91830d04d2972d46 +/agent-note-publish-experimental-packages-with-explicit-private-exceptions/decision: + en: 3cf968834876a655 + zh: 7f7bad8b931a5ed2 +/agent-note-publish-experimental-packages-with-explicit-private-exceptions/alternatives-considered: + en: 61369830fb32e695 + zh: 445eb44e1ae3457a +/agent-note-publish-experimental-packages-with-explicit-private-exceptions/consequences: + en: 23f4d725196f1c2d + zh: ebd9455778d8a89f diff --git a/.agents/notes/implemented/process/2026-09-12-maintained-repository-references.i18n.yaml b/.agents/notes/implemented/process/2026-09-12-maintained-repository-references.i18n.yaml index ee236e6c0b..34379e6e6c 100644 --- a/.agents/notes/implemented/process/2026-09-12-maintained-repository-references.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-12-maintained-repository-references.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-12-maintained-repository-references.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-12-maintained-repository-references.md -2026-09-12-maintained-repository-references.md: b2bc750100e1aaf2ff63ffc773bbd54997fdf355 -2026-09-12-maintained-repository-references.zh.md: 99216e8105af9d159f6f371c9e31fec6d75a0e75 +/agent-note-maintained-repository-references: + en: 10750a69061b5dd0 + zh: ab4be61612ead1da +/agent-note-maintained-repository-references/problem: + en: 36ca11f2ef3d8b4e + zh: 6e6ca6ae00fab2f7 +/agent-note-maintained-repository-references/decision: + en: ec87568d74d5dc5f + zh: bc34159aeafa9fcd +/agent-note-maintained-repository-references/alternatives-considered: + en: de1c15bc0d404c41 + zh: a32a80be126d3d71 +/agent-note-maintained-repository-references/consequences: + en: 17e87405d1ab8efa + zh: d4dbc337733d9a2d diff --git a/.agents/notes/implemented/process/2026-09-12-publish-all-experimental-packages.i18n.yaml b/.agents/notes/implemented/process/2026-09-12-publish-all-experimental-packages.i18n.yaml index d3452d5d10..3568158aca 100644 --- a/.agents/notes/implemented/process/2026-09-12-publish-all-experimental-packages.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-12-publish-all-experimental-packages.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-12-publish-all-experimental-packages.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-12-publish-all-experimental-packages.md -2026-09-12-publish-all-experimental-packages.md: 8bef877297d096159fcce60e6b479e12461357f2 -2026-09-12-publish-all-experimental-packages.zh.md: 6163e6b4ac11c46dac3897361585d2fcc29ef746 +/agent-note-publish-every-current-experimental-package: + en: e08e7bc92478407d + zh: 45501f51a5f619ec +/agent-note-publish-every-current-experimental-package/problem: + en: 7db3c27e4b5c2d09 + zh: 0a770941ec41a50a +/agent-note-publish-every-current-experimental-package/decision: + en: cc702e2596b0bd73 + zh: 3815da9b56ae653b +/agent-note-publish-every-current-experimental-package/alternatives-considered: + en: e59c9f8484629e20 + zh: d6f64683af3d0460 +/agent-note-publish-every-current-experimental-package/consequences: + en: 2721ffbcf5341d3b + zh: be0b430b9d91d7c2 diff --git a/.agents/notes/implemented/process/2026-09-15-pr-approval-delegation.i18n.yaml b/.agents/notes/implemented/process/2026-09-15-pr-approval-delegation.i18n.yaml index 640bea7c7b..14bf4d7016 100644 --- a/.agents/notes/implemented/process/2026-09-15-pr-approval-delegation.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-15-pr-approval-delegation.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-pr-approval-delegation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-15-pr-approval-delegation.md -2026-09-15-pr-approval-delegation.md: 4dcf0e8a8d23d66da11381586e376fdf39d23635 -2026-09-15-pr-approval-delegation.zh.md: bf21724d672aaf534bfe94540b76878177eeb57e +/agent-note-pr-scoped-approval-delegation: + en: 3fa5881b5ca14a79 + zh: 99dbde5fae7cdd6a +/agent-note-pr-scoped-approval-delegation/problem: + en: 5fe2f3b3cb7ce046 + zh: ed27d4efc995b8b5 +/agent-note-pr-scoped-approval-delegation/decision: + en: 41c5c90b82d323c6 + zh: 55d5ed09d88bb821 +/agent-note-pr-scoped-approval-delegation/alternatives-considered: + en: a6006217cb29613a + zh: 83968328096f1d91 +/agent-note-pr-scoped-approval-delegation/consequences: + en: e761c382b4431212 + zh: 43bb475b646c85eb diff --git a/.agents/notes/implemented/process/2026-09-15-shipped-optional-bundles.i18n.yaml b/.agents/notes/implemented/process/2026-09-15-shipped-optional-bundles.i18n.yaml index 2c5a3f8554..dbe4c5aaab 100644 --- a/.agents/notes/implemented/process/2026-09-15-shipped-optional-bundles.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-15-shipped-optional-bundles.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-shipped-optional-bundles.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-15-shipped-optional-bundles.md -2026-09-15-shipped-optional-bundles.md: c9f560f5c07ec6fb18030b77a0d1f53bd27dc045 -2026-09-15-shipped-optional-bundles.zh.md: e91b6580e29cd7ae142c9c61ed6aac7e5e1476eb +/agent-note-ship-optional-bundles-with-the-installation: + en: a35c5daebeaa4b1e + zh: a74f44bb23f0571c +/agent-note-ship-optional-bundles-with-the-installation/problem: + en: dc43ba84345e1405 + zh: dbc03572ab7710d2 +/agent-note-ship-optional-bundles-with-the-installation/decision: + en: 84777110aa68ecf8 + zh: b109275cfddb73b0 +/agent-note-ship-optional-bundles-with-the-installation/alternatives-considered: + en: 05c19f616009bee8 + zh: af318640481351f0 +/agent-note-ship-optional-bundles-with-the-installation/consequences: + en: 4a9d3a049a605150 + zh: 67b50bbc9f7f4bb0 diff --git a/.agents/notes/implemented/process/2026-09-16-author-approval-credit.i18n.yaml b/.agents/notes/implemented/process/2026-09-16-author-approval-credit.i18n.yaml index b3f403e7b5..cfc6317172 100644 --- a/.agents/notes/implemented/process/2026-09-16-author-approval-credit.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-16-author-approval-credit.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-author-approval-credit.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-16-author-approval-credit.md -2026-09-16-author-approval-credit.md: ab7aba88801271c22a0f054d5b3888726b94e97a -2026-09-16-author-approval-credit.zh.md: 316a09ea5d82f78915a9550fde7f29bd55761e44 +/agent-note-author-approval-credit: + en: 58068bcf9dbf6d30 + zh: ad51b869c8f3e791 +/agent-note-author-approval-credit/problem: + en: 13def594e495779d + zh: d5ceaa0d156ba043 +/agent-note-author-approval-credit/decision: + en: 5670829131121899 + zh: 7df21c9b22c4978d +/agent-note-author-approval-credit/alternatives-considered: + en: 8ab9e11e49044029 + zh: c7930455d747ceb5 +/agent-note-author-approval-credit/consequences: + en: 70ad19025f7fe6d4 + zh: c73aa8be25724790 +/agent-note-author-approval-credit/verification: + en: 0617e23e217b0a67 + zh: 82576f05a59d8db7 diff --git a/.agents/notes/implemented/process/2026-09-16-desktop-release-version-derivation.i18n.yaml b/.agents/notes/implemented/process/2026-09-16-desktop-release-version-derivation.i18n.yaml index 1293c824d8..f25c473733 100644 --- a/.agents/notes/implemented/process/2026-09-16-desktop-release-version-derivation.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-16-desktop-release-version-derivation.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-desktop-release-version-derivation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-16-desktop-release-version-derivation.md -2026-09-16-desktop-release-version-derivation.md: 54a7b9d52c63268f15209ad0a84bcd8da035dcee -2026-09-16-desktop-release-version-derivation.zh.md: dddf4b773217965380c4487803971311b57e0863 +/agent-note-derive-desktop-test-versions-from-the-complete-dsh-version: + en: b4afaf99cba87722 + zh: bd6c3b76efebf932 +/agent-note-derive-desktop-test-versions-from-the-complete-dsh-version/problem: + en: 307dae6b4bdf80de + zh: 72c9045a2e42036f +/agent-note-derive-desktop-test-versions-from-the-complete-dsh-version/decision: + en: 1a3ef4e14511dc1f + zh: 1db763a1323d9c87 +/agent-note-derive-desktop-test-versions-from-the-complete-dsh-version/alternatives-considered: + en: cf86267e11a4e534 + zh: daa4fb017b2725a5 +/agent-note-derive-desktop-test-versions-from-the-complete-dsh-version/consequences: + en: ce62d7f641c0cd45 + zh: 08b05c154f38d816 diff --git a/.agents/notes/implemented/process/2026-09-17-persistence-schema-review.i18n.yaml b/.agents/notes/implemented/process/2026-09-17-persistence-schema-review.i18n.yaml index 45223d0f08..564858250c 100644 --- a/.agents/notes/implemented/process/2026-09-17-persistence-schema-review.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-17-persistence-schema-review.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-persistence-schema-review.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-17-persistence-schema-review.md -2026-09-17-persistence-schema-review.md: 47308a5584b368c99ee849b6d550538ba1856a09 -2026-09-17-persistence-schema-review.zh.md: eaa3c17991b23612753634297993dd3b951259ab +/agent-note-persistence-schema-policy-and-review: + en: 354306d8acf2141b + zh: 01b9235a77121284 +/agent-note-persistence-schema-policy-and-review/problem: + en: 4dfc8768cd580993 + zh: ad78f2ff4c22b390 +/agent-note-persistence-schema-policy-and-review/decision: + en: ab2a881b58bb6e05 + zh: c6e7b7b9854a0f94 +/agent-note-persistence-schema-policy-and-review/alternatives-considered: + en: 4a73283af97bcd4b + zh: 952cf965d7615737 +/agent-note-persistence-schema-policy-and-review/consequences: + en: eeadd60710998de9 + zh: 5c48f512f1d53d2c diff --git a/.agents/notes/implemented/process/2026-09-17-windows-runtime-signature-cache.i18n.yaml b/.agents/notes/implemented/process/2026-09-17-windows-runtime-signature-cache.i18n.yaml index 0ace5db1f2..4bc132731b 100644 --- a/.agents/notes/implemented/process/2026-09-17-windows-runtime-signature-cache.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-17-windows-runtime-signature-cache.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-windows-runtime-signature-cache.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-17-windows-runtime-signature-cache.md -2026-09-17-windows-runtime-signature-cache.md: e9229e47929664984a92499e54f87bb2166bde9d -2026-09-17-windows-runtime-signature-cache.zh.md: 53b6182170d807843345fa90f962ee18807f2cf2 +/agent-note-windows-runtime-signature-cache: + en: 36e012be8a24f6d3 + zh: 6caabddc72c89c95 +/agent-note-windows-runtime-signature-cache/problem: + en: ee8762f64fbefe3f + zh: 8781828a4b19d862 +/agent-note-windows-runtime-signature-cache/decision: + en: 4c114a4e0c81a753 + zh: 3e05c0fcc9fe637b +/agent-note-windows-runtime-signature-cache/alternatives-considered: + en: f83b7439bb610dd4 + zh: 938ae28e9f269406 +/agent-note-windows-runtime-signature-cache/consequences: + en: 382899114280f46a + zh: c12090b052308163 +/agent-note-windows-runtime-signature-cache/risks: + en: 12b4df69b80bee3d + zh: 9cce7f8a26918f5d diff --git a/.agents/notes/implemented/process/2026-09-17-windows-signature-completion.i18n.yaml b/.agents/notes/implemented/process/2026-09-17-windows-signature-completion.i18n.yaml index c8a392f733..92b7cb3e69 100644 --- a/.agents/notes/implemented/process/2026-09-17-windows-signature-completion.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-17-windows-signature-completion.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-windows-signature-completion.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-17-windows-signature-completion.md -2026-09-17-windows-signature-completion.md: e9c81531633a41c87ea10c9e4af2999923aa4470 -2026-09-17-windows-signature-completion.zh.md: 3142749db309b638676c171d4b1da8bd34729fe4 +/agent-note-separate-windows-hardware-signing-from-timestamp-completion: + en: 1e28eec77c3e64c0 + zh: 59e5a5cd5b377949 +/agent-note-separate-windows-hardware-signing-from-timestamp-completion/problem: + en: 7fbde4e99b78b965 + zh: 9137ec46c0645b25 +/agent-note-separate-windows-hardware-signing-from-timestamp-completion/decision: + en: deb7b785a51ef40f + zh: 751965c28a9c303f +/agent-note-separate-windows-hardware-signing-from-timestamp-completion/alternatives-considered: + en: ee16de94898ac51e + zh: c6f1de465d8bb261 +/agent-note-separate-windows-hardware-signing-from-timestamp-completion/consequences: + en: 9e228d85054ce3e8 + zh: f5d6af6411bc3b13 diff --git a/.agents/notes/implemented/process/2026-09-19-evidence-led-simplification-surveys.i18n.yaml b/.agents/notes/implemented/process/2026-09-19-evidence-led-simplification-surveys.i18n.yaml index be42dfe317..e36a2aa1c1 100644 --- a/.agents/notes/implemented/process/2026-09-19-evidence-led-simplification-surveys.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-19-evidence-led-simplification-surveys.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-evidence-led-simplification-surveys.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-19-evidence-led-simplification-surveys.md -2026-09-19-evidence-led-simplification-surveys.md: c217f80239690ee2f7310ca8e97956ec06fb75c7 -2026-09-19-evidence-led-simplification-surveys.zh.md: 1b1a11731967c87ab54aa9eba82253f90bb2abde +/agent-note-evidence-led-simplification-surveys: + en: f0941223baf75c96 + zh: b3cc733f7f90509a +/agent-note-evidence-led-simplification-surveys/problem: + en: 528a0c462d456493 + zh: a2af4901a8f498a7 +/agent-note-evidence-led-simplification-surveys/decision: + en: 865cfb210f13b188 + zh: 777d8155216d98c6 +/agent-note-evidence-led-simplification-surveys/historical-evidence: + en: 53eea2f1d7560461 + zh: 3c55432d9cd3ebe3 +/agent-note-evidence-led-simplification-surveys/bounded-survey-evidence: + en: 3637438d2ed7f606 + zh: d78b39ae6b67a442 +/agent-note-evidence-led-simplification-surveys/alternatives-considered: + en: 9e0039e0ff82ba1b + zh: fa4b0a52bf3dcbdd +/agent-note-evidence-led-simplification-surveys/consequences: + en: 395acde9597898c5 + zh: 45ee94d13427862a diff --git a/.agents/notes/implemented/process/2026-09-19-no-unknown-casts.i18n.yaml b/.agents/notes/implemented/process/2026-09-19-no-unknown-casts.i18n.yaml index 29002959bc..d6f0972f92 100644 --- a/.agents/notes/implemented/process/2026-09-19-no-unknown-casts.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-19-no-unknown-casts.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-no-unknown-casts.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-19-no-unknown-casts.md -2026-09-19-no-unknown-casts.md: 2f90422d0980fddc2569951ef7f8dba34b488ce4 -2026-09-19-no-unknown-casts.zh.md: 3b66236e586a60a61cdcc1f93b1c0c14ce27eb15 +/agent-note-prohibit-new-assertions-to-unknown: + en: d05b7f323025e1b9 + zh: fa84da1b6dbbd40a +/agent-note-prohibit-new-assertions-to-unknown/problem: + en: de8fd99f06ce9378 + zh: 627e67ac20b16e56 +/agent-note-prohibit-new-assertions-to-unknown/decision: + en: 426df6b19b654021 + zh: f4d8c678f9760139 +/agent-note-prohibit-new-assertions-to-unknown/alternatives-considered: + en: 1080f8f62795b113 + zh: bee2b837e7ae0de4 +/agent-note-prohibit-new-assertions-to-unknown/consequences: + en: ab7350f789864067 + zh: 9867a9baaa1c6227 diff --git a/.agents/notes/implemented/process/2026-09-21-desktop-build-version-as-input.i18n.yaml b/.agents/notes/implemented/process/2026-09-21-desktop-build-version-as-input.i18n.yaml index a5fb8f7ea7..32be76bd93 100644 --- a/.agents/notes/implemented/process/2026-09-21-desktop-build-version-as-input.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-21-desktop-build-version-as-input.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-21-desktop-build-version-as-input.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-21-desktop-build-version-as-input.md -2026-09-21-desktop-build-version-as-input.md: 8653c1ed580ac360e0c2f5145781303f15fc29b2 -2026-09-21-desktop-build-version-as-input.zh.md: 0a995ab5740a73de00b2a417d07640b3c07e4690 +/agent-note-pass-the-desktop-build-version-as-an-argument-instead-of-rewriting-manifests: + en: 300e3ca5e8255a56 + zh: 59f948ca2440d33b +/agent-note-pass-the-desktop-build-version-as-an-argument-instead-of-rewriting-manifests/problem: + en: 9f373ce939732eb2 + zh: a021c3f432d10fbe +/agent-note-pass-the-desktop-build-version-as-an-argument-instead-of-rewriting-manifests/decision: + en: be9fa7f7e85134f1 + zh: 51796ebbdfffc063 +/agent-note-pass-the-desktop-build-version-as-an-argument-instead-of-rewriting-manifests/alternatives-considered: + en: b5025ea37e2908bc + zh: 6f2ebcaa138f1c62 +/agent-note-pass-the-desktop-build-version-as-an-argument-instead-of-rewriting-manifests/consequences: + en: 686a5979332c0964 + zh: 89cff9e1e04e0325 diff --git a/.agents/notes/implemented/process/2026-09-22-workspace-release-ranges.i18n.yaml b/.agents/notes/implemented/process/2026-09-22-workspace-release-ranges.i18n.yaml index 528c760888..05753024a2 100644 --- a/.agents/notes/implemented/process/2026-09-22-workspace-release-ranges.i18n.yaml +++ b/.agents/notes/implemented/process/2026-09-22-workspace-release-ranges.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-22-workspace-release-ranges.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-22-workspace-release-ranges.md -2026-09-22-workspace-release-ranges.md: 57c74df3eaeac16ba40f55cdc4069762ae8fe2ef -2026-09-22-workspace-release-ranges.zh.md: f39ede4fb1941956af12d0391f5b88bd244db6f8 +/agent-note-workspace-dependency-release-ranges: + en: 8b7bf2179034aa08 + zh: a7a8b5dc60849d88 +/agent-note-workspace-dependency-release-ranges/problem: + en: ea71dd3eea6e1c60 + zh: 2a8ea98e8f6a3fbf +/agent-note-workspace-dependency-release-ranges/decision: + en: c7e9c7eb5b3e2ebf + zh: b74ef023fc894e36 +/agent-note-workspace-dependency-release-ranges/alternatives-considered: + en: b6aa87296ee61fcf + zh: f516320e589ce7a3 +/agent-note-workspace-dependency-release-ranges/consequences: + en: 49eac7a43407bbd9 + zh: 8a39766e8df596b8 diff --git a/.agents/notes/implemented/process/2026-09-23-section-keyed-translation-pairing-records.i18n.yaml b/.agents/notes/implemented/process/2026-09-23-section-keyed-translation-pairing-records.i18n.yaml new file mode 100644 index 0000000000..f05c998dde --- /dev/null +++ b/.agents/notes/implemented/process/2026-09-23-section-keyed-translation-pairing-records.i18n.yaml @@ -0,0 +1,25 @@ +# Bilingual-pair consistency record for 2026-09-23-section-keyed-translation-pairing-records.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: +# pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-23-section-keyed-translation-pairing-records.md +/agent-note-section-keyed-translation-pairing-records: + en: fe3ee02933f0e25b + zh: 3518b378aebef215 +/agent-note-section-keyed-translation-pairing-records/problem: + en: 1662619f5cc6743f + zh: e98e9b39e82a2294 +/agent-note-section-keyed-translation-pairing-records/decision: + en: 333d08badeeef8a6 + zh: 2ccb1fe95b3457ff +/agent-note-section-keyed-translation-pairing-records/alternatives-considered: + en: 3e17a6963d74e3de + zh: cc086da130648d3c +/agent-note-section-keyed-translation-pairing-records/consequences: + en: 7a1f77c69ef79755 + zh: 7f12bd25f556ba9c +/agent-note-section-keyed-translation-pairing-records/measured-effect: + en: 97af2f09c25338f1 + zh: 2ec62a414fa61254 +/agent-note-section-keyed-translation-pairing-records/related: + en: 8f208df4c003e06e + zh: c1660f5b55dea743 diff --git a/.agents/notes/implemented/process/2026-09-23-section-keyed-translation-pairing-records.md b/.agents/notes/implemented/process/2026-09-23-section-keyed-translation-pairing-records.md new file mode 100644 index 0000000000..e01eac4bbc --- /dev/null +++ b/.agents/notes/implemented/process/2026-09-23-section-keyed-translation-pairing-records.md @@ -0,0 +1,56 @@ +# Agent Note: Section-keyed translation pairing records + +Status: implemented + +English | [中文](2026-09-23-section-keyed-translation-pairing-records.zh.md) + +## Problem + +A consistency record held the full blob hash of each language file. Any edit to a pair changed both lines, so two branches that edited different parts of the same pair always conflicted on the record, even when Git merged both Markdown files cleanly. Generated references such as `docs/config-catalog.md`, `docs/module-graph.md`, and `docs/event-producer-consumer.md` were affected most: most PRs that touch packages, config, or events regenerate one of them, and each regeneration also required a hand-copied Chinese update and a new record. A worktree-local merge driver composed such records, but GitHub's mergeability check never runs it, so PRs still showed a conflict until someone merged the base locally and pushed. + +## Decision + +`foo.i18n.yaml` holds one entry per heading section that contains hashed content. `verify-translation-pairing` computes the entries; `scripts/translation-pairing-record.ts` owns the format. + +- Both sides are split at every heading. Section `i` of the English file corresponds to section `i` of the Chinese file; different heading counts are a structure error and cannot be recorded. +- The key is the English heading-slug path, such as `/plugin-config-catalog/loadable-plugins-with-no-config`. Text before the first heading is `/`, and a repeated path gets `~2`, `~3`, and so on. Keys are counted over every section, including sections without entries, so a key depends only on headings. +- Each side's hash covers the section's top-level blocks after paired-document link localization, except fenced code blocks and generated regions. Those two kinds of content are exactly what the pairing gate already requires to be identical on both sides; any other content is hashed even when it happens to be identical. The entry holds a 16-hex SHA-256 prefix of each side's hashed blocks. A section with no hashed blocks has no entry. +- Each entry spans three lines: an unchanged key line followed by the `en:` and `zh:` hash lines. The key line separates neighboring entries, so Git's text merge treats changes to adjacent entries as separate hunks. + +A record conflict therefore requires both branches to change hashed content in the same section. + +Generators put their generated data in generated regions and write each region into both pages, so regeneration changes neither the record nor the Chinese prose. `gen-config-catalog` writes both languages and the record, with one region per package and one per package table; labels inside a region are the code identifiers `inject`, `refs`, `source`, and `class`, which the translated introduction explains. `gen-module-graph` keeps its table in a region with identifier column headers. `gen-doc-graphs` splices the event matrix tables into the authored Chinese page, and `gen-cordis-catalog` already did the same for subsystem regions. + +`gen-translation-brief` recovers the last-confirmed text from the newest commit of the pair whose contents produce the committed record. Records no longer point to Git blobs, and `--write` no longer stores snapshot objects or refs. + +Archived Agent Notes keep their sealed whole-file records; `verify-archived-agent-notes` owns that format. + +## Alternatives considered + +**Keep whole-file hashes and the merge driver.** The driver resolved the conflict only in local worktrees where it was installed. GitHub still reported the PR as conflicted, raw merges without the installed runtime stopped, and the driver, resolver, installer integration, and their tests were about 1,400 lines of code to maintain. + +**One entry per top-level block instead of per heading section.** Fewer false conflicts inside long sections, but the record would grow to roughly the block count of the document. Positional block keys would also renumber on every insertion and create conflicts of their own. + +**Positional section keys (`h2[3]`).** Inserting a section renumbers every later key and changes every later record line, which recreates the conflicts this format removes. Heading-slug keys change only when that heading's English text changes. + +**Resolve on GitHub through Actions or an app.** Hosted automation would need credentials, concurrency control, and permission to rewrite PR branches. A record that Git's default text merge composes needs none of these. + +**Hash whole sections, including code blocks and regions.** Every regenerated row or code block would still change a record line, so generated references would keep conflicting on their largest sections. + +**Leave out any block that is byte-identical on both sides.** It also keeps generated rows out of the record, but it decides implicitly what needs no translation: an English paragraph copied untranslated into the Chinese file would be left out too, and a later edit to it would no longer change the record. Code blocks and generated regions are declared shared content that existing gates check. + +## Consequences + +Edits to different sections, and regenerated regions and code blocks, merge without a local tool, including on GitHub. Replaying the merge commits reachable from `master` between 2026-08-20 and 2026-09-23 shows the effect on real history: see [Measured effect](#measured-effect). + +A same-section conflict is resolved by resolving the Markdown and re-running `verify-translation-pairing --write `; no command automates it. Chinese readers of generated regions see code identifiers and English table headers instead of translated labels. Recovering last-confirmed text for the brief requires the confirmed pair to be committed. + +## Measured effect + +The replay covered 2016 two-parent merge commits reachable from `master` between 2026-08-20 and 2026-09-23, most of them PR branches merging the base forward. For every active pair whose record both parents changed, it ran Git's default text merge on the old record, on the section-keyed record computed from the same commit contents, and on the two Markdown files. It counts a record whose headings did not align at some commit as a conflict. The old format conflicted in 2950 pair merges across 850 merge commits; the section-keyed format conflicts in 1586 pair merges across 595 merge commits, a 46% reduction per pair. The Markdown files themselves conflicted in 926 pair merges across 338 merge commits, which no record format can avoid. Merge commits whose only conflicts were records fell from 512 to 257 (50%). + +The replay uses each commit's content as it was, before the generators wrapped their data in regions, so `docs/module-graph.md` (277 conflicts), `docs/event-producer-consumer.md` (220), and `docs/config-catalog.md` (110) still conflict on generated data in it. With that data in regions, their records change only when their prose changes; excluding their generated rows from the same replay left 0 and 14 conflicts for the first two. Substituting that for the three pages projects about 990 pair conflicts, about 66% below the old format; this projection is an estimate, not a replayed measurement. + +## Related + +The [bilingual pairing gate Agent Note](2026-07-02-bilingual-docs-and-pairing-gate.md) owns the three-file pair and its equal-authority rule; this note replaces its whole-file hash record. The [archived automatic pairing merges Agent Note](../../archived/process/2026-08-08-automatic-translation-pairing-merges.md) records the retired merge driver. diff --git a/.agents/notes/implemented/process/2026-09-23-section-keyed-translation-pairing-records.zh.md b/.agents/notes/implemented/process/2026-09-23-section-keyed-translation-pairing-records.zh.md new file mode 100644 index 0000000000..e4746a5092 --- /dev/null +++ b/.agents/notes/implemented/process/2026-09-23-section-keyed-translation-pairing-records.zh.md @@ -0,0 +1,56 @@ +# Agent Note: 按分节记录翻译配对 + +Status: implemented + +[English](2026-09-23-section-keyed-translation-pairing-records.md) | 中文 + +## Problem + +一致性记录过去保存每个语言文件完整的 blob hash。对配对的任何修改都会改动这两行,因此两个分支即使修改同一配对的不同部分、Git 也能干净合并两个 Markdown 文件,记录仍然必然冲突。受影响最大的是 `docs/config-catalog.md`、`docs/module-graph.md` 和 `docs/event-producer-consumer.md` 等生成参考文档:大多数涉及包、配置或事件的 PR 都会重新生成其中之一,而每次重新生成还要求手工复制中文更新并写入新记录。worktree 本地的合并驱动可以组合这类记录,但 GitHub 的可合并性检查从不运行它,因此在有人于本地合并基线分支并推送之前,PR 仍显示冲突。 + +## Decision + +`foo.i18n.yaml` 为每个含有计入 hash 内容的标题分节保存一个条目。`verify-translation-pairing` 计算这些条目;`scripts/translation-pairing-record.ts` 负责该格式。 + +- 两侧都在每个标题处切分。英文文件的第 `i` 个分节对应中文文件的第 `i` 个分节;标题数量不同属于结构错误,无法记录。 +- 键是英文标题 slug 组成的路径,例如 `/plugin-config-catalog/loadable-plugins-with-no-config`。第一个标题之前的文本为 `/`,重复路径依次加 `~2`、`~3` 等后缀。键的计数覆盖每个分节(包括没有条目的分节),因此键只取决于标题。 +- 每侧的 hash 覆盖该分节在配对文档链接本地化后的顶层块,只排除围栏代码块和生成区域。这两类内容正是配对门禁已要求两侧一致的内容;其他内容即使碰巧相同也计入 hash。条目保存每侧计入 hash 的块的 SHA-256 前 16 位十六进制值。没有计入 hash 的块的分节没有条目。 +- 每个条目占三行:一行不变的键,后跟 `en:` 与 `zh:` 两行 hash。键行把相邻条目隔开,因此 Git 文本合并把对相邻条目的修改视为不同的 hunk。 + +因此,只有两个分支都修改了同一分节中计入 hash 的内容时,记录才会冲突。 + +生成器把生成数据放在生成区域中,并把每个区域写入两种语言的页面,因此重新生成既不改变记录,也不改变中文说明文字。`gen-config-catalog` 写出两种语言和记录,每个包一个区域,每个包表格一个区域;区域内的标签是代码标识符 `inject`、`refs`、`source` 和 `class`,由已翻译的介绍段落解释。`gen-module-graph` 把表格放在区域中,列头使用标识符。`gen-doc-graphs` 把事件矩阵的表格写入人工撰写的中文页面,`gen-cordis-catalog` 已经以同样方式处理子系统区域。 + +`gen-translation-brief` 从配对的提交中找到内容能生成已提交记录的最新提交,并从中还原上次确认的文本。记录不再指向 Git blob,`--write` 也不再存储快照对象或 ref。 + +已归档的 Agent Note 保留其已封存的整文件记录;该格式由 `verify-archived-agent-notes` 负责。 + +## Alternatives considered + +**保留整文件 hash 和合并驱动。** 驱动只在已安装它的本地 worktree 中解决冲突。GitHub 仍把 PR 报告为冲突,未安装运行时的原始合并会停止,而驱动、解决命令、安装脚本集成及其测试共约 1,400 行需要维护的代码。 + +**按顶层块而非按标题分节记录条目。** 长分节内的误报冲突更少,但记录会增长到约等于文档的块数。按位置编号的块键还会在每次插入时重新编号,自身又制造冲突。 + +**按位置编号的分节键(`h2[3]`)。** 插入一个分节会让之后的每个键重新编号,并改动之后的每一行记录,重新造成这种格式要消除的冲突。标题 slug 键只在该标题的英文文本改变时才改变。 + +**通过 Actions 或 GitHub App 在 GitHub 上解决。** 托管自动化需要凭证、并发控制以及改写 PR 分支的权限。Git 默认文本合并即可组合的记录不需要这些。 + +**对整个分节(包括代码块和区域)取 hash。** 每次重新生成的行或代码块仍会改动一行记录,因此生成参考文档最大的分节仍会冲突。 + +**排除两侧逐字节相同的任何块。** 这同样能让生成的行不进入记录,但它隐式地判定哪些内容不需要翻译:原样复制到中文文件而未翻译的英文段落也会被排除,之后对它的修改也不再改变记录。代码块和生成区域是现有门禁已检查的、明确声明的共享内容。 + +## Consequences + +对不同分节的修改,以及重新生成的区域和代码块,无需本地工具即可合并,在 GitHub 上也是如此。重放 2026-08-20 至 2026-09-23 期间可从 `master` 到达的合并提交可以看到它在真实历史上的效果:见[实测效果](#measured-effect)。 + +同一分节的冲突需要先解决 Markdown 冲突,再重新运行 `verify-translation-pairing --write `;没有命令会自动完成。生成区域的中文读者看到的是代码标识符和英文表头,而不是译文标签。为 brief 还原上次确认的文本,要求已确认的配对已经提交。 + +## Measured effect + +重放覆盖了 2026-08-20 至 2026-09-23 期间可从 `master` 到达的 2016 个双父合并提交,其中大多数是 PR 分支向前合并基线分支。对两个父提交都修改了其记录的每个活跃配对,它分别对旧记录、根据同一提交内容计算出的按分节记录,以及两个 Markdown 文件运行 Git 默认文本合并。某个提交中标题未对齐而无法计算的记录计为冲突。旧格式在 850 个合并提交中的 2950 次配对合并里冲突;按分节格式在 595 个合并提交中的 1586 次配对合并里冲突,按配对计减少 46%。Markdown 文件本身在 338 个合并提交中的 926 次配对合并里冲突,这部分任何记录格式都无法避免。只有记录冲突的合并提交从 512 个降到 257 个(减少 50%)。 + +重放使用各提交当时的内容,那时生成器还未把数据放进区域,因此 `docs/module-graph.md`(277 次)、`docs/event-producer-consumer.md`(220 次)和 `docs/config-catalog.md`(110 次)仍因其中的生成数据冲突。数据放进区域后,它们的记录只在说明文字改变时才变;在同一重放中排除其生成行后,前两者分别剩 0 次和 14 次冲突。用这一结果替换这三个页面后,预计约 990 次配对冲突,比旧格式少约 66%;这是估算,不是重放实测。 + +## Related + +[双语配对门禁 Agent Note](2026-07-02-bilingual-docs-and-pairing-gate.zh.md) 负责三文件配对及其两种语言同权的规则;本文取代其中的整文件 hash 记录。[已归档的自动配对合并 Agent Note](../../archived/process/2026-08-08-automatic-translation-pairing-merges.md) 记录已退役的合并驱动。 diff --git a/.agents/notes/implemented/simplification/2026-06-20-collapse-trace-only-session-events.i18n.yaml b/.agents/notes/implemented/simplification/2026-06-20-collapse-trace-only-session-events.i18n.yaml index a7506a8eeb..be5d21a505 100644 --- a/.agents/notes/implemented/simplification/2026-06-20-collapse-trace-only-session-events.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-06-20-collapse-trace-only-session-events.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-20-collapse-trace-only-session-events.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-06-20-collapse-trace-only-session-events.md -2026-06-20-collapse-trace-only-session-events.md: f83d93a899d59eb3ebb3f22f36e32aa7865bf902 -2026-06-20-collapse-trace-only-session-events.zh.md: e53544aed0d3b88c7eb85cd1e9a4f12af7686256 +/agent-note-fold-trace-only-session-facts-into-load-bearing-events: + en: e7ada88fff270fa2 + zh: 501f2d2ab2122718 +/agent-note-fold-trace-only-session-facts-into-load-bearing-events/problem: + en: 909f9925807d0e0a + zh: eba8fb3aba92caa8 +/agent-note-fold-trace-only-session-facts-into-load-bearing-events/decision: + en: d07841a539028e7a + zh: 5ebaef62105a0da8 +/agent-note-fold-trace-only-session-facts-into-load-bearing-events/alternatives-considered: + en: f99cc05ab13c85c3 + zh: 93c92b3894cee7b1 +/agent-note-fold-trace-only-session-facts-into-load-bearing-events/verification: + en: 67e74bfc51b0a1ed + zh: dfdc9364ec831b9f +/agent-note-fold-trace-only-session-facts-into-load-bearing-events/consequences: + en: 1c0e59938ce8408f + zh: 8c891d273da28f27 +/agent-note-fold-trace-only-session-facts-into-load-bearing-events/implementation-note: + en: 40e0c79252a438bc + zh: 27332c259b4bdf95 diff --git a/.agents/notes/implemented/simplification/2026-06-20-unify-agent-and-session-id.i18n.yaml b/.agents/notes/implemented/simplification/2026-06-20-unify-agent-and-session-id.i18n.yaml index 6b7315b167..3e2757185e 100644 --- a/.agents/notes/implemented/simplification/2026-06-20-unify-agent-and-session-id.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-06-20-unify-agent-and-session-id.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-20-unify-agent-and-session-id.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-06-20-unify-agent-and-session-id.md -2026-06-20-unify-agent-and-session-id.md: 4084912f95aa2354e815a1b4c05cd7f90bd3c315 -2026-06-20-unify-agent-and-session-id.zh.md: 3adba379f12a46e6f151e6777e0a63f4b16e9cd6 +/agent-note-unify-the-agent-id-and-the-session-id: + en: a3b5f1ad744e332a + zh: f56748eb6f1c1e8f +/agent-note-unify-the-agent-id-and-the-session-id/problem: + en: 13081f69bc061561 + zh: 6062223de9302202 +/agent-note-unify-the-agent-id-and-the-session-id/decision: + en: 58fe3d6c1fbe5aff + zh: 564332602546955e +/agent-note-unify-the-agent-id-and-the-session-id/alternatives-considered: + en: 5dba32bffc8ba6f4 + zh: 4e0d6f084e94eaa3 +/agent-note-unify-the-agent-id-and-the-session-id/verification: + en: bb4f738c649a2d9f + zh: dd46752393643444 +/agent-note-unify-the-agent-id-and-the-session-id/consequences: + en: 38daf65318d286fb + zh: 620933bffd049c42 diff --git a/.agents/notes/implemented/simplification/2026-06-26-fsspec-style-fs-seam.i18n.yaml b/.agents/notes/implemented/simplification/2026-06-26-fsspec-style-fs-seam.i18n.yaml index f45df2a68a..413cf22c2d 100644 --- a/.agents/notes/implemented/simplification/2026-06-26-fsspec-style-fs-seam.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-06-26-fsspec-style-fs-seam.i18n.yaml @@ -1,6 +1,40 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-26-fsspec-style-fs-seam.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-06-26-fsspec-style-fs-seam.md -2026-06-26-fsspec-style-fs-seam.md: 138d6d4d74d162ab2149350a76fc72dc31c1818e -2026-06-26-fsspec-style-fs-seam.zh.md: bc7a3756dbf08673cfa63693a68aba1eb73da323 +/agent-note-split-the-filesystem-seam-provider-text-mutations-plus-the-dsh-fs-observation-policy-plugin: + en: 181df186598c42fc + zh: 07b7687434105955 +/agent-note-split-the-filesystem-seam-provider-text-mutations-plus-the-dsh-fs-observation-policy-plugin/problem: + en: 4069760b095aa1b6 + zh: ea8baf0050362519 +/agent-note-split-the-filesystem-seam-provider-text-mutations-plus-the-dsh-fs-observation-policy-plugin/decision: + en: 6f6dc20965bb9948 + zh: 5a858a0359f96a98 +/agent-note-split-the-filesystem-seam-provider-text-mutations-plus-the-dsh-fs-observation-policy-plugin/provider-contract: + en: a04b6ceab91aa265 + zh: 5fae55161f754f4d +/agent-note-split-the-filesystem-seam-provider-text-mutations-plus-the-dsh-fs-observation-policy-plugin/policy-contract: + en: bd54f18f4665b1ec + zh: eee54b7890c9d8be +/agent-note-split-the-filesystem-seam-provider-text-mutations-plus-the-dsh-fs-observation-policy-plugin/tool-contract: + en: b517106d3e0ac7ef + zh: 2b128d7af26ebed2 +/agent-note-split-the-filesystem-seam-provider-text-mutations-plus-the-dsh-fs-observation-policy-plugin/concurrency-boundary: + en: 6a459d121a49988c + zh: 048de517a0f952b6 +/agent-note-split-the-filesystem-seam-provider-text-mutations-plus-the-dsh-fs-observation-policy-plugin/supersedes: + en: 780789585ce58330 + zh: 7b4b8d171dfdefae +/agent-note-split-the-filesystem-seam-provider-text-mutations-plus-the-dsh-fs-observation-policy-plugin/verification: + en: ee6e0f4922f991af + zh: 3ce55e7b7d0fd431 +/agent-note-split-the-filesystem-seam-provider-text-mutations-plus-the-dsh-fs-observation-policy-plugin/later-extension: + en: b56210bf2c8f8dec + zh: 27decb39624c0ef7 +/agent-note-split-the-filesystem-seam-provider-text-mutations-plus-the-dsh-fs-observation-policy-plugin/alternatives-considered: + en: 3d169e07a912cbab + zh: d8a550835cfe7801 +/agent-note-split-the-filesystem-seam-provider-text-mutations-plus-the-dsh-fs-observation-policy-plugin/consequences: + en: 70264e0d9422b871 + zh: ae93add503e8a9bc diff --git a/.agents/notes/implemented/simplification/2026-07-17-one-send-one-turn.i18n.yaml b/.agents/notes/implemented/simplification/2026-07-17-one-send-one-turn.i18n.yaml index d4d6d30f86..cea714ade6 100644 --- a/.agents/notes/implemented/simplification/2026-07-17-one-send-one-turn.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-07-17-one-send-one-turn.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-17-one-send-one-turn.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-07-17-one-send-one-turn.md -2026-07-17-one-send-one-turn.md: 71ea5d23c303a2e5de472ceabf9868364d916ab9 -2026-07-17-one-send-one-turn.zh.md: 8478f3fb35698087873b39773f8997ec33832f2a +/agent-note-remove-implicit-batching-from-ordinary-sends: + en: 5376ddae6e8cf5b9 + zh: 1dae892f25da755e +/agent-note-remove-implicit-batching-from-ordinary-sends/problem: + en: ed05e7ef01abfafc + zh: 40293ad57c00f902 +/agent-note-remove-implicit-batching-from-ordinary-sends/decision: + en: 354fbb4e6a776538 + zh: c78879212400bf0f +/agent-note-remove-implicit-batching-from-ordinary-sends/alternatives-considered: + en: f944e18c49b30b4c + zh: cfcc0b18ce94f37c +/agent-note-remove-implicit-batching-from-ordinary-sends/verification: + en: 9f75f226ac06ba1f + zh: 2ae17eda85a56324 +/agent-note-remove-implicit-batching-from-ordinary-sends/consequences: + en: afb9764a5345a188 + zh: 10ee27c54cbdbbdb diff --git a/.agents/notes/implemented/simplification/2026-07-20-unwrap-injected-content-envelopes.i18n.yaml b/.agents/notes/implemented/simplification/2026-07-20-unwrap-injected-content-envelopes.i18n.yaml index dbf98656ed..bcce3bc92b 100644 --- a/.agents/notes/implemented/simplification/2026-07-20-unwrap-injected-content-envelopes.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-07-20-unwrap-injected-content-envelopes.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-20-unwrap-injected-content-envelopes.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-07-20-unwrap-injected-content-envelopes.md -2026-07-20-unwrap-injected-content-envelopes.md: 7d14ada7cc1b88071ec4f07870afcfff6211a883 -2026-07-20-unwrap-injected-content-envelopes.zh.md: 813adfb818cac35da6e8c3b279b2e795fa99ad1a +/agent-note-project-injected-content-verbatim-dropping-the-xml-envelopes: + en: 488b566c13d0cd05 + zh: e9b9a14dc644a313 +/agent-note-project-injected-content-verbatim-dropping-the-xml-envelopes/problem: + en: 0005839a50aa093b + zh: bfb21448bbec1ac9 +/agent-note-project-injected-content-verbatim-dropping-the-xml-envelopes/decision: + en: ed1a833070d10b97 + zh: b7ce57a2b927f064 +/agent-note-project-injected-content-verbatim-dropping-the-xml-envelopes/alternatives-considered: + en: 93dca58966e5d55e + zh: 9fe7fd528d0114a2 +/agent-note-project-injected-content-verbatim-dropping-the-xml-envelopes/consequences: + en: 2b369a5b2ee9435b + zh: f72957abff1d2327 +/agent-note-project-injected-content-verbatim-dropping-the-xml-envelopes/deferred: + en: a772793aea7ee7ee + zh: a57b31af4422406d diff --git a/.agents/notes/implemented/simplification/2026-07-22-plan-specific-collaboration-state.i18n.yaml b/.agents/notes/implemented/simplification/2026-07-22-plan-specific-collaboration-state.i18n.yaml index f11b9827e8..ad1c43c6dd 100644 --- a/.agents/notes/implemented/simplification/2026-07-22-plan-specific-collaboration-state.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-07-22-plan-specific-collaboration-state.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-22-plan-specific-collaboration-state.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-07-22-plan-specific-collaboration-state.md -2026-07-22-plan-specific-collaboration-state.md: 20648b8d6cee3e3c049aeee3022bd322d657ba1c -2026-07-22-plan-specific-collaboration-state.zh.md: 2142839d5a834abba7aac042c8b1fee7a56c56b1 +/agent-note-plan-specific-collaboration-state: + en: b1e94e354a36ef2b + zh: bbc98d4b9a837a5a +/agent-note-plan-specific-collaboration-state/problem: + en: e79a03a0ec1ebc34 + zh: 94adee6ef4f1bcc2 +/agent-note-plan-specific-collaboration-state/decision: + en: 1255fd4c4852ea9c + zh: 27e431da895a9a69 +/agent-note-plan-specific-collaboration-state/decision/boundary-and-model-contract: + en: f9d67f4f91e14f9d + zh: 3284e2432e8a8466 +/agent-note-plan-specific-collaboration-state/decision/reviewed-exit: + en: 283fec44700c41e5 + zh: 99b8634a1dff791c +/agent-note-plan-specific-collaboration-state/deleted-api: + en: 7da48b6397bad4d0 + zh: cc0af0e26a81c7e0 +/agent-note-plan-specific-collaboration-state/alternatives-considered: + en: 4098e049cd6d28d8 + zh: 4ab332ad6af53ccf +/agent-note-plan-specific-collaboration-state/verification: + en: 41179b6ab02b3f90 + zh: 47f5a602496281cd +/agent-note-plan-specific-collaboration-state/consequences: + en: a71537da7d3921e2 + zh: a2ab69676bfe985d diff --git a/.agents/notes/implemented/simplification/2026-07-23-acp-automation-only-protocol.i18n.yaml b/.agents/notes/implemented/simplification/2026-07-23-acp-automation-only-protocol.i18n.yaml index 9640e9d10e..0be5f93a6e 100644 --- a/.agents/notes/implemented/simplification/2026-07-23-acp-automation-only-protocol.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-07-23-acp-automation-only-protocol.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-23-acp-automation-only-protocol.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-07-23-acp-automation-only-protocol.md -2026-07-23-acp-automation-only-protocol.md: d3d6a7abb6f347b04fdbfcea2940e8df0432b806 -2026-07-23-acp-automation-only-protocol.zh.md: d332e3f7c4798f391fe34b1e50bd63276f0121b8 +/agent-note-acp-as-an-automation-only-protocol: + en: e8a5a82b0137b656 + zh: 8b371b4add7c17b4 +/agent-note-acp-as-an-automation-only-protocol/problem: + en: 5123f99030ae618e + zh: fa62dc7b9a4b9fef +/agent-note-acp-as-an-automation-only-protocol/decision: + en: d9a2404790fe7cf0 + zh: 5fbd7f65d5ed1c4f +/agent-note-acp-as-an-automation-only-protocol/snapshot-boundary: + en: 4f015bfadd7027e2 + zh: 7d68f4c3b9a875d5 +/agent-note-acp-as-an-automation-only-protocol/alternatives-considered: + en: 13192a25709b5d95 + zh: 6cadde33a58510b5 +/agent-note-acp-as-an-automation-only-protocol/consequences: + en: bce44fd4a6d9f755 + zh: 351e80b7c02f6ce7 diff --git a/.agents/notes/implemented/simplification/2026-07-24-agent-loop-observable-state-machine.i18n.yaml b/.agents/notes/implemented/simplification/2026-07-24-agent-loop-observable-state-machine.i18n.yaml index d768a5513b..0e8ec12298 100644 --- a/.agents/notes/implemented/simplification/2026-07-24-agent-loop-observable-state-machine.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-07-24-agent-loop-observable-state-machine.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-24-agent-loop-observable-state-machine.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-07-24-agent-loop-observable-state-machine.md -2026-07-24-agent-loop-observable-state-machine.md: f250d645ca0a69c0fcad0078292de1d6531db19d -2026-07-24-agent-loop-observable-state-machine.zh.md: c77e5ad8f664851917bc578f1fb39760a80d2593 +/agent-note-collapse-agent-loop-events-around-the-observable-state-machine: + en: b7998bdbf46a06b1 + zh: ea7b4e8ef8e3cef5 +/agent-note-collapse-agent-loop-events-around-the-observable-state-machine/problem: + en: c55232633eaacf5a + zh: a71c538c61234c42 +/agent-note-collapse-agent-loop-events-around-the-observable-state-machine/decision: + en: 75a1c677da39192e + zh: 81a07f55fce3cbc0 +/agent-note-collapse-agent-loop-events-around-the-observable-state-machine/alternatives-considered: + en: 0d61d49e9f5964c2 + zh: f5e8802c7fe67839 +/agent-note-collapse-agent-loop-events-around-the-observable-state-machine/consequences: + en: 675d4ae63174031d + zh: 2649109d067352e2 +/agent-note-collapse-agent-loop-events-around-the-observable-state-machine/related: + en: f1610942ca31fdb8 + zh: 04eb3d4ce8e641af diff --git a/.agents/notes/implemented/simplification/2026-07-27-request-error-retry-action.i18n.yaml b/.agents/notes/implemented/simplification/2026-07-27-request-error-retry-action.i18n.yaml index bccb2cfc58..204f3b5cba 100644 --- a/.agents/notes/implemented/simplification/2026-07-27-request-error-retry-action.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-07-27-request-error-retry-action.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-27-request-error-retry-action.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# 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-request-error-retry-action.md -2026-07-27-request-error-retry-action.md: 9853d7d0439093afd3e7a611e360a6b32517ca4c -2026-07-27-request-error-retry-action.zh.md: e0c4749b7ed6bddcbc44f3ab512df542f33831bd +/agent-note-request-error-retry-action: + en: 672e3acc184e72f7 + zh: 10334d48de7dcc0e +/agent-note-request-error-retry-action/problem: + en: 8b9476349def23b6 + zh: e3b034bae896e24b +/agent-note-request-error-retry-action/decision: + en: 3937a99236b23d80 + zh: ec5e9cb21744e3ae +/agent-note-request-error-retry-action/alternatives-considered: + en: 8f50ac6497dfd03e + zh: 4f1d07901132a184 +/agent-note-request-error-retry-action/consequences: + en: 3e60793a09964f5a + zh: b28626761a229d85 diff --git a/.agents/notes/implemented/simplification/2026-07-28-remove-synthetic-log-only-turns.i18n.yaml b/.agents/notes/implemented/simplification/2026-07-28-remove-synthetic-log-only-turns.i18n.yaml index a8f49b1780..036542d074 100644 --- a/.agents/notes/implemented/simplification/2026-07-28-remove-synthetic-log-only-turns.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-07-28-remove-synthetic-log-only-turns.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-28-remove-synthetic-log-only-turns.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-07-28-remove-synthetic-log-only-turns.md -2026-07-28-remove-synthetic-log-only-turns.md: 073ac0888054c907087dd0c5f2d01b03a5e87455 -2026-07-28-remove-synthetic-log-only-turns.zh.md: 67b24c7423ee37c40361cb937fdad42243362dfd +/agent-note-remove-synthetic-turns-for-log-only-events: + en: 558a3b8b47acfec2 + zh: 9e6cc6443e468745 +/agent-note-remove-synthetic-turns-for-log-only-events/problem: + en: 33413b092d535f4f + zh: 02f79f372227c104 +/agent-note-remove-synthetic-turns-for-log-only-events/decision: + en: a49da9273f224a87 + zh: 870ffea9aacca6c7 +/agent-note-remove-synthetic-turns-for-log-only-events/alternatives-considered: + en: fbee860bf43530a7 + zh: 276647ba5402d6a8 +/agent-note-remove-synthetic-turns-for-log-only-events/verification: + en: bb7b19f80c4fbed6 + zh: ef06defe5b745e38 +/agent-note-remove-synthetic-turns-for-log-only-events/consequences: + en: 0c636b744dfa4ca9 + zh: 05f409a4fd962015 diff --git a/.agents/notes/implemented/simplification/2026-08-09-explicit-schedule-time-zone.i18n.yaml b/.agents/notes/implemented/simplification/2026-08-09-explicit-schedule-time-zone.i18n.yaml index 11c416587f..acb0275dcc 100644 --- a/.agents/notes/implemented/simplification/2026-08-09-explicit-schedule-time-zone.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-08-09-explicit-schedule-time-zone.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-09-explicit-schedule-time-zone.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-08-09-explicit-schedule-time-zone.md -2026-08-09-explicit-schedule-time-zone.md: 2f23394e65d37f9eb714c2e55b0556cdf0bc967e -2026-08-09-explicit-schedule-time-zone.zh.md: aafa5d56853339e51b9a4265a32fca1a24e7b1dd +/agent-note-explicit-schedule-time-zone-boundary: + en: 475b5512c7155605 + zh: e564e8c4f718f0c0 +/agent-note-explicit-schedule-time-zone-boundary/problem: + en: 4a7e52f6a16dec96 + zh: d558db30801355d9 +/agent-note-explicit-schedule-time-zone-boundary/decision: + en: 6f233286c95b5294 + zh: 5a1f4ba6f5ccbd36 +/agent-note-explicit-schedule-time-zone-boundary/alternatives-considered: + en: 982fe0b8d24a66ce + zh: e6dceee1ce776d21 +/agent-note-explicit-schedule-time-zone-boundary/verification: + en: 56dcb44f09be3713 + zh: 59a6814a662458ad +/agent-note-explicit-schedule-time-zone-boundary/consequences: + en: d9358667c58662e4 + zh: d536bb0fccd9f0a9 diff --git a/.agents/notes/implemented/simplification/2026-08-28-omit-unneeded-invariant-companions.i18n.yaml b/.agents/notes/implemented/simplification/2026-08-28-omit-unneeded-invariant-companions.i18n.yaml index 57d6fb3b1f..8ccac77c7e 100644 --- a/.agents/notes/implemented/simplification/2026-08-28-omit-unneeded-invariant-companions.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-08-28-omit-unneeded-invariant-companions.i18n.yaml @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-28-omit-unneeded-invariant-companions.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-08-28-omit-unneeded-invariant-companions.md -2026-08-28-omit-unneeded-invariant-companions.md: 82d421677cb2f2a425c92e203766527aac7ce860 -2026-08-28-omit-unneeded-invariant-companions.zh.md: d0fda9154675d038c1f304609313654fc4e51f23 +/agent-note-omit-invariant-companions-without-independent-observations: + en: 1aaf29f8d757fcc8 + zh: 76d99dd71bfabbaa +/agent-note-omit-invariant-companions-without-independent-observations/problem: + en: 53d9687bdef70d91 + zh: 61d225b1cd374c28 +/agent-note-omit-invariant-companions-without-independent-observations/decision: + en: a15c7c13f167e5ac + zh: 63bcc2ef60c2f344 +/agent-note-omit-invariant-companions-without-independent-observations/decision/independent-observations-justify-publication: + en: ee3e2ff2f0565d94 + zh: 232ddf075bf3b353 +/agent-note-omit-invariant-companions-without-independent-observations/decision/omission-is-explicit-in-the-package-readme: + en: 465c523c29fd7836 + zh: 9967d7e5b17f1adf +/agent-note-omit-invariant-companions-without-independent-observations/decision/audit-result: + en: b19c08cd1f7df630 + zh: 30e872df9ee3ff0a +/agent-note-omit-invariant-companions-without-independent-observations/alternatives-considered: + en: 5908a05a2aeb3f82 + zh: 9a01748e8d8b86f4 +/agent-note-omit-invariant-companions-without-independent-observations/consequences: + en: c648b67008e676f1 + zh: c89400eae3fef89c diff --git a/.agents/notes/implemented/simplification/2026-08-30-jsonl-only-session-persistence.i18n.yaml b/.agents/notes/implemented/simplification/2026-08-30-jsonl-only-session-persistence.i18n.yaml index 5b414b1e68..31ce312f8a 100644 --- a/.agents/notes/implemented/simplification/2026-08-30-jsonl-only-session-persistence.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-08-30-jsonl-only-session-persistence.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-30-jsonl-only-session-persistence.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-08-30-jsonl-only-session-persistence.md -2026-08-30-jsonl-only-session-persistence.md: eeb89d8ecc06b082c5346d61e85b40d317e31c89 -2026-08-30-jsonl-only-session-persistence.zh.md: 210e66fa75db5959f198235c31022792f5f35ea8 +/agent-note-jsonl-only-first-party-session-persistence: + en: 4060d3d6df88fea3 + zh: f6ed66cd7e39c465 +/agent-note-jsonl-only-first-party-session-persistence/problem: + en: fd4ad3e29b080f22 + zh: 6b3e1e88cea3e3ce +/agent-note-jsonl-only-first-party-session-persistence/decision: + en: 8c80ac91f1c31247 + zh: 560796b1b338f60f +/agent-note-jsonl-only-first-party-session-persistence/alternatives-considered: + en: d09a6b404ee37a4c + zh: a846a6ee2d3851c3 +/agent-note-jsonl-only-first-party-session-persistence/consequences: + en: 952ee4c54a2f9851 + zh: 1e7f908464b86a4a diff --git a/.agents/notes/implemented/simplification/2026-09-03-minimal-profiles-persistent-shell-only.i18n.yaml b/.agents/notes/implemented/simplification/2026-09-03-minimal-profiles-persistent-shell-only.i18n.yaml index cd6b1146aa..2f39ebf65f 100644 --- a/.agents/notes/implemented/simplification/2026-09-03-minimal-profiles-persistent-shell-only.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-09-03-minimal-profiles-persistent-shell-only.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-03-minimal-profiles-persistent-shell-only.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-09-03-minimal-profiles-persistent-shell-only.md -2026-09-03-minimal-profiles-persistent-shell-only.md: 2bc4ef7ada0767d96c0ac448e19e13e8e06a945c -2026-09-03-minimal-profiles-persistent-shell-only.zh.md: d54e5734ac04825e2d28f59d9104a01b5caf9fb7 +/agent-note-minimal-profiles-expose-only-a-persistent-shell: + en: d48e78dc2040921c + zh: 70122e09d8c78e77 +/agent-note-minimal-profiles-expose-only-a-persistent-shell/problem: + en: a5d116f8ba3ed48b + zh: d60d307237a69573 +/agent-note-minimal-profiles-expose-only-a-persistent-shell/decision: + en: 95a1c2d9322ed9da + zh: 04bc770915863950 +/agent-note-minimal-profiles-expose-only-a-persistent-shell/alternatives-considered: + en: 55fc282c31b7d4e8 + zh: 6daa72fb5527fcca +/agent-note-minimal-profiles-expose-only-a-persistent-shell/consequences: + en: 4f0e22319608c3be + zh: a6393182b9452c4a diff --git a/.agents/notes/implemented/simplification/2026-09-05-base-default-file-editor.i18n.yaml b/.agents/notes/implemented/simplification/2026-09-05-base-default-file-editor.i18n.yaml index 3b4fcb4fa3..e70adc677c 100644 --- a/.agents/notes/implemented/simplification/2026-09-05-base-default-file-editor.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-09-05-base-default-file-editor.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-05-base-default-file-editor.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-09-05-base-default-file-editor.md -2026-09-05-base-default-file-editor.md: e1e15718962322ba8c79107fda31446448b87056 -2026-09-05-base-default-file-editor.zh.md: d43df3313ecaeff8b2123208620779df2048b818 +/agent-note-shared-base-default-file-editor-selection: + en: 2adaf509a18a68eb + zh: 3103eec286980735 +/agent-note-shared-base-default-file-editor-selection/problem: + en: b9cf9c91689aeca7 + zh: 4fce9354bb6c2af0 +/agent-note-shared-base-default-file-editor-selection/decision: + en: 8aa4e6ecc02abdb8 + zh: 9925a29181c53e81 +/agent-note-shared-base-default-file-editor-selection/alternatives-considered: + en: 172ed2cdc1d47e20 + zh: e12bbb0576244f43 +/agent-note-shared-base-default-file-editor-selection/consequences: + en: 886dab29e1e6580f + zh: 49a7b2ceafac0c48 +/agent-note-shared-base-default-file-editor-selection/verification: + en: 7e8cd8a29f33aff3 + zh: ee6c24c9adf54998 diff --git a/.agents/notes/implemented/simplification/2026-09-06-agent-request-freeze-evidence.i18n.yaml b/.agents/notes/implemented/simplification/2026-09-06-agent-request-freeze-evidence.i18n.yaml index cb5eb44cc5..6c68b294d5 100644 --- a/.agents/notes/implemented/simplification/2026-09-06-agent-request-freeze-evidence.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-09-06-agent-request-freeze-evidence.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-06-agent-request-freeze-evidence.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-09-06-agent-request-freeze-evidence.md -2026-09-06-agent-request-freeze-evidence.md: 6603a728c3dd2acc87902169bb07a67bde0be2a4 -2026-09-06-agent-request-freeze-evidence.zh.md: a5ba15ac139d647755f9c039847acbb642d214d3 +/agent-note-reuse-only-loop-proven-message-freezes: + en: 7ec7e2c8c1eb46bb + zh: 93a619878774a795 +/agent-note-reuse-only-loop-proven-message-freezes/problem: + en: af6aa6181efb2163 + zh: 3f1630947294db0a +/agent-note-reuse-only-loop-proven-message-freezes/decision: + en: 64e5058366d82142 + zh: 073f4e1856c58294 +/agent-note-reuse-only-loop-proven-message-freezes/measurement-evidence: + en: 731e00bb5059b1f3 + zh: 118464dc6e640431 +/agent-note-reuse-only-loop-proven-message-freezes/measurement-evidence/standard-hosted-ci-calibration: + en: 22ad93c82afc0572 + zh: 86e43487e7791148 +/agent-note-reuse-only-loop-proven-message-freezes/alternatives-considered: + en: 8a00552d7797826c + zh: 765a6b84eb663bab +/agent-note-reuse-only-loop-proven-message-freezes/consequences: + en: 5947b38f7722d4db + zh: 147b5ea3d681ebd7 diff --git a/.agents/notes/implemented/simplification/2026-09-07-file-content-scan.i18n.yaml b/.agents/notes/implemented/simplification/2026-09-07-file-content-scan.i18n.yaml index e5ab7e62d9..7943e40a05 100644 --- a/.agents/notes/implemented/simplification/2026-09-07-file-content-scan.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-09-07-file-content-scan.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-07-file-content-scan.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-09-07-file-content-scan.md -2026-09-07-file-content-scan.md: 1ec46e7d685394f5165624f1e7b68622ba9f89d3 -2026-09-07-file-content-scan.zh.md: b4ebd835ca8adaf3a7b7fa09150cd5a2bec9f401 +/agent-note-scan-file-content-without-per-array-callbacks: + en: a814034fce2407dc + zh: 7de9ec55cbbb30ab +/agent-note-scan-file-content-without-per-array-callbacks/problem: + en: cb13a0053453cf45 + zh: ce40afb7fa03f9ed +/agent-note-scan-file-content-without-per-array-callbacks/decision: + en: e3d83658869a24f7 + zh: 44dd61458a47df6c +/agent-note-scan-file-content-without-per-array-callbacks/measurement-evidence: + en: ad23fa4ee386f3cf + zh: 41e54e28d26b3d02 +/agent-note-scan-file-content-without-per-array-callbacks/alternatives-considered: + en: 0128940c217dd77c + zh: 9394e713dac9675d +/agent-note-scan-file-content-without-per-array-callbacks/consequences: + en: dace71e8857e57b1 + zh: 0ee88fdaa4e067ee diff --git a/.agents/notes/implemented/simplification/2026-09-08-web-subagent-catalog-projections.i18n.yaml b/.agents/notes/implemented/simplification/2026-09-08-web-subagent-catalog-projections.i18n.yaml index d589324465..ebd9b4005d 100644 --- a/.agents/notes/implemented/simplification/2026-09-08-web-subagent-catalog-projections.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-09-08-web-subagent-catalog-projections.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-web-subagent-catalog-projections.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-09-08-web-subagent-catalog-projections.md -2026-09-08-web-subagent-catalog-projections.md: 766d33e581bcac53844b0836f23cda615858fc27 -2026-09-08-web-subagent-catalog-projections.zh.md: ef14db2530ed10a7aa34408c5a6fada6f0a28858 +/agent-note-web-subagent-catalogs-consume-shared-projections: + en: 90a80df3b19785a2 + zh: 8e29073af6c61213 +/agent-note-web-subagent-catalogs-consume-shared-projections/problem: + en: 21600a979400fc8a + zh: 59ba11ed5210986e +/agent-note-web-subagent-catalogs-consume-shared-projections/decision: + en: de9d755497c49716 + zh: 872a15b960e01618 +/agent-note-web-subagent-catalogs-consume-shared-projections/alternatives-considered: + en: 2a1d32d867c38abd + zh: 1f473782ade94fa5 +/agent-note-web-subagent-catalogs-consume-shared-projections/consequences: + en: 44d73213900d4e43 + zh: 2beec2c2634320e2 diff --git a/.agents/notes/implemented/simplification/2026-09-09-nontransactional-loader.i18n.yaml b/.agents/notes/implemented/simplification/2026-09-09-nontransactional-loader.i18n.yaml index 258af20542..5a3be08ed1 100644 --- a/.agents/notes/implemented/simplification/2026-09-09-nontransactional-loader.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-09-09-nontransactional-loader.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-nontransactional-loader.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-09-09-nontransactional-loader.md -2026-09-09-nontransactional-loader.md: 98b0b1ce0c1250e651c5280c9b918948b17cd963 -2026-09-09-nontransactional-loader.zh.md: 77ae1ce91aa0d20940f0c63f2a2d42a0f3c07edb +/agent-note-keep-loader-mutations-non-transactional: + en: 199b544883ab8736 + zh: 4b2ad7d22985d52f +/agent-note-keep-loader-mutations-non-transactional/problem: + en: d4ab65a39cf4fd7c + zh: 62144be9b4fd7956 +/agent-note-keep-loader-mutations-non-transactional/decision: + en: 9b661159de63d421 + zh: 15697f468a90edb9 +/agent-note-keep-loader-mutations-non-transactional/alternatives-considered: + en: 72b871064c7ae315 + zh: a09e5168f8124c4c +/agent-note-keep-loader-mutations-non-transactional/consequences: + en: 2b1eece19252ad80 + zh: 8c9f5faf201521e0 diff --git a/.agents/notes/implemented/simplification/2026-09-10-derived-workspace-recency.i18n.yaml b/.agents/notes/implemented/simplification/2026-09-10-derived-workspace-recency.i18n.yaml index 6895faecfb..282d674791 100644 --- a/.agents/notes/implemented/simplification/2026-09-10-derived-workspace-recency.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-09-10-derived-workspace-recency.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-derived-workspace-recency.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-09-10-derived-workspace-recency.md -2026-09-10-derived-workspace-recency.md: b967e332f234d6d120bb82c444e4b05818b85103 -2026-09-10-derived-workspace-recency.zh.md: 87c2bb9f2648baa613ded32cda5b8673a77c5f56 +/agent-note-derive-workspace-recency-independently-of-manual-order: + en: 96d0de6bdc9dcac1 + zh: a50ab8a60f58a24d +/agent-note-derive-workspace-recency-independently-of-manual-order/problem: + en: 796dc4d186169b89 + zh: 058b6a8438e46238 +/agent-note-derive-workspace-recency-independently-of-manual-order/decision: + en: c598d4991271fbf4 + zh: 6454e56191922501 +/agent-note-derive-workspace-recency-independently-of-manual-order/alternatives-considered: + en: 0e74f1c4f176107a + zh: 66a66eaa811c8b11 +/agent-note-derive-workspace-recency-independently-of-manual-order/consequences: + en: f4658d8f0f3ff8d3 + zh: 68c3c8c87b9c4e31 +/agent-note-derive-workspace-recency-independently-of-manual-order/testing: + en: 82b15f31cd5b5315 + zh: 5f14bfe0d0e8ef0c diff --git a/.agents/notes/implemented/simplification/2026-09-11-remove-e2b-providers.i18n.yaml b/.agents/notes/implemented/simplification/2026-09-11-remove-e2b-providers.i18n.yaml index 5d922e128e..fd8eb2f048 100644 --- a/.agents/notes/implemented/simplification/2026-09-11-remove-e2b-providers.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-09-11-remove-e2b-providers.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-11-remove-e2b-providers.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-09-11-remove-e2b-providers.md -2026-09-11-remove-e2b-providers.md: 6ff8f51e94875b9496da2c77b1e160357a15add9 -2026-09-11-remove-e2b-providers.zh.md: ebc592fb564d1ed1a0e981dc9b1bd3806de54414 +/agent-note-remove-the-e2b-execution-providers: + en: 0f876c637fad20a9 + zh: a7616ada505f0bc1 +/agent-note-remove-the-e2b-execution-providers/problem: + en: 92edfc6f0da7a874 + zh: 21487929a5631087 +/agent-note-remove-the-e2b-execution-providers/decision: + en: 924d9953c601a131 + zh: 6bb14feef8f4238a +/agent-note-remove-the-e2b-execution-providers/alternatives-considered: + en: dc8a267887d4a65c + zh: 806f4a6c844b6284 +/agent-note-remove-the-e2b-execution-providers/consequences: + en: ec119616577fb094 + zh: 4dafe3fd08e11b79 +/agent-note-remove-the-e2b-execution-providers/reintroduction-conditions: + en: ddc5f44430a6b6d5 + zh: 372f28000c98cbd6 +/agent-note-remove-the-e2b-execution-providers/verification: + en: d4f3b559dd32d80a + zh: c4ba5b64178faf81 diff --git a/.agents/notes/implemented/simplification/2026-09-12-ralph-off-in-shipped-defaults.i18n.yaml b/.agents/notes/implemented/simplification/2026-09-12-ralph-off-in-shipped-defaults.i18n.yaml index 9d38b3b53b..2f8e4c8416 100644 --- a/.agents/notes/implemented/simplification/2026-09-12-ralph-off-in-shipped-defaults.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-09-12-ralph-off-in-shipped-defaults.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-12-ralph-off-in-shipped-defaults.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-09-12-ralph-off-in-shipped-defaults.md -2026-09-12-ralph-off-in-shipped-defaults.md: fbd7ea72e02302f45029d2b7677d9a4d15ee2e63 -2026-09-12-ralph-off-in-shipped-defaults.zh.md: 377f8656236b55dc8de79a78abe742b595e3617c +/agent-note-ship-ralph-off-in-the-default-compositions: + en: 59fe1293d618be67 + zh: 0da7f1b4447f10f1 +/agent-note-ship-ralph-off-in-the-default-compositions/problem: + en: c8c152617cca4d5d + zh: 1846b119989b9e5b +/agent-note-ship-ralph-off-in-the-default-compositions/decision: + en: 7d95a71842e74d38 + zh: fc0d360ff3acc8b5 +/agent-note-ship-ralph-off-in-the-default-compositions/alternatives-considered: + en: 4e6ed0566a2de3a8 + zh: c1e7ba6dd4047fa0 +/agent-note-ship-ralph-off-in-the-default-compositions/consequences: + en: 427242f0a8df0c66 + zh: ca3dd1bd4cd54605 +/agent-note-ship-ralph-off-in-the-default-compositions/verification: + en: 2511c9dd0da7ab60 + zh: 6d4e801f33f3d81b diff --git a/.agents/notes/implemented/simplification/2026-09-15-host-only-remote-input-validation.i18n.yaml b/.agents/notes/implemented/simplification/2026-09-15-host-only-remote-input-validation.i18n.yaml index 75a1eea7ed..5029c4401d 100644 --- a/.agents/notes/implemented/simplification/2026-09-15-host-only-remote-input-validation.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-09-15-host-only-remote-input-validation.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-host-only-remote-input-validation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-09-15-host-only-remote-input-validation.md -2026-09-15-host-only-remote-input-validation.md: 5c256fb5f5b78b646c645a44b77718fa40a62399 -2026-09-15-host-only-remote-input-validation.zh.md: 92a3f2415c6206a0513d8338bbb8d0844bf5d43d +/agent-note-validate-remote-inputs-only-on-the-host: + en: 4434bfb455727454 + zh: 776fc3b42ce339e6 +/agent-note-validate-remote-inputs-only-on-the-host/problem: + en: 6cddd9c31c5bf1e5 + zh: f2730b6448f7fc26 +/agent-note-validate-remote-inputs-only-on-the-host/decision: + en: 6e3ef9540b02336b + zh: e8abe4ea84d95b95 +/agent-note-validate-remote-inputs-only-on-the-host/alternatives-considered: + en: 1c9ed80b25403e03 + zh: edbc8301e50cf3a1 +/agent-note-validate-remote-inputs-only-on-the-host/consequences: + en: caf3ffc95133ac40 + zh: f29864e4b636d6f7 diff --git a/.agents/notes/implemented/simplification/2026-09-15-model-agent-availability-and-team-targets.i18n.yaml b/.agents/notes/implemented/simplification/2026-09-15-model-agent-availability-and-team-targets.i18n.yaml index 165022b7dc..a259fd41c0 100644 --- a/.agents/notes/implemented/simplification/2026-09-15-model-agent-availability-and-team-targets.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-09-15-model-agent-availability-and-team-targets.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-15-model-agent-availability-and-team-targets.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-09-15-model-agent-availability-and-team-targets.md -2026-09-15-model-agent-availability-and-team-targets.md: e1f7f95cfa333be6d05677b4b19775c744f2817c -2026-09-15-model-agent-availability-and-team-targets.zh.md: 0447d7d4059eb75d1fb9169389cd83a54292aadf +/agent-note-model-agent-availability-and-team-targets: + en: 7c8722f7b156cd8c + zh: aad147cf37021d82 +/agent-note-model-agent-availability-and-team-targets/problem: + en: 66cc6cea878418a6 + zh: 5df1e5508e10fc02 +/agent-note-model-agent-availability-and-team-targets/decision: + en: 044f44c456540021 + zh: 975794704c37186f +/agent-note-model-agent-availability-and-team-targets/alternatives-considered: + en: a19b8766bcff7e49 + zh: 0851603e9c8315c6 +/agent-note-model-agent-availability-and-team-targets/consequences: + en: 9b622b43322a407e + zh: ffe2e0199ba85b5e diff --git a/.agents/notes/implemented/simplification/2026-09-16-subagent-catalog-membership-only.i18n.yaml b/.agents/notes/implemented/simplification/2026-09-16-subagent-catalog-membership-only.i18n.yaml index a6c46b0bbd..3d56b5605f 100644 --- a/.agents/notes/implemented/simplification/2026-09-16-subagent-catalog-membership-only.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-09-16-subagent-catalog-membership-only.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-16-subagent-catalog-membership-only.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-09-16-subagent-catalog-membership-only.md -2026-09-16-subagent-catalog-membership-only.md: d1d0956380ef2b2ffd610e5a3d07c7988991e42e -2026-09-16-subagent-catalog-membership-only.zh.md: 4225a331a0b3c483349760cd805416a94c4b915a +/agent-note-keep-model-configuration-outside-subagent-catalogs: + en: 58a38a2045e8bd43 + zh: 1a1b02b0a93ebc9e +/agent-note-keep-model-configuration-outside-subagent-catalogs/problem: + en: d817b413b7e38939 + zh: a4a3a12df1407a34 +/agent-note-keep-model-configuration-outside-subagent-catalogs/decision: + en: e46b59047e7cbe7d + zh: 2249547faa8e6a72 +/agent-note-keep-model-configuration-outside-subagent-catalogs/alternatives-considered: + en: 415a276e8011a2ab + zh: d86739d9fbe72fb9 +/agent-note-keep-model-configuration-outside-subagent-catalogs/consequences: + en: 6849156944864ab6 + zh: b74ba42a7d5711d9 diff --git a/.agents/notes/implemented/simplification/2026-09-19-deepseek-messages-only.i18n.yaml b/.agents/notes/implemented/simplification/2026-09-19-deepseek-messages-only.i18n.yaml index 07287b00f8..b97e9bb8dd 100644 --- a/.agents/notes/implemented/simplification/2026-09-19-deepseek-messages-only.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-09-19-deepseek-messages-only.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-deepseek-messages-only.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-09-19-deepseek-messages-only.md -2026-09-19-deepseek-messages-only.md: c10ecae950bb12f4556021de21c9716ad2906227 -2026-09-19-deepseek-messages-only.zh.md: 3cfadac6ebc0b4bb1587a8b72e9b169d2ade2ee9 +/agent-note-one-messages-transport-for-the-official-deepseek-route: + en: 7f7651d2e098b62d + zh: 0b12845f48f7ae93 +/agent-note-one-messages-transport-for-the-official-deepseek-route/problem: + en: 050718df19ce3089 + zh: 676838e85ba91e25 +/agent-note-one-messages-transport-for-the-official-deepseek-route/decision: + en: 33738d00a2d9564b + zh: 00101971b1a18d64 +/agent-note-one-messages-transport-for-the-official-deepseek-route/alternatives-considered: + en: f92695788ada65aa + zh: b885b30ba9f846f8 +/agent-note-one-messages-transport-for-the-official-deepseek-route/consequences: + en: 23f7d09fb7cf709c + zh: 1db0bf29cdc38871 diff --git a/.agents/notes/implemented/simplification/2026-09-19-remove-desktop-profile-core-cleanup.i18n.yaml b/.agents/notes/implemented/simplification/2026-09-19-remove-desktop-profile-core-cleanup.i18n.yaml index 7dd1a29921..12e19d3efa 100644 --- a/.agents/notes/implemented/simplification/2026-09-19-remove-desktop-profile-core-cleanup.i18n.yaml +++ b/.agents/notes/implemented/simplification/2026-09-19-remove-desktop-profile-core-cleanup.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-remove-desktop-profile-core-cleanup.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-09-19-remove-desktop-profile-core-cleanup.md -2026-09-19-remove-desktop-profile-core-cleanup.md: a42100e8dc247611e29ddd2b8075b3b98e388177 -2026-09-19-remove-desktop-profile-core-cleanup.zh.md: 9a6be335a427e3f3083362ffd9e3aaa2f236635d +/agent-note-remove-the-desktop-production-profile-core-package-cleanup: + en: c0f7b1fb34a21423 + zh: 2ed4b90f28d21faa +/agent-note-remove-the-desktop-production-profile-core-package-cleanup/problem: + en: 7176d7d629dd9e9f + zh: f0e02f220e3ae72b +/agent-note-remove-the-desktop-production-profile-core-package-cleanup/decision: + en: 411b72fcdcb37d61 + zh: 7fac6dfd6d0ab0e4 +/agent-note-remove-the-desktop-production-profile-core-package-cleanup/alternatives-considered: + en: 92f74de20afec309 + zh: 6ace8389378cc343 +/agent-note-remove-the-desktop-production-profile-core-package-cleanup/verification: + en: dfb7a6977452f472 + zh: 424f2003f8372fe3 +/agent-note-remove-the-desktop-production-profile-core-package-cleanup/consequences: + en: 1012a408f055e2f3 + zh: 48329f673f2e440f diff --git a/.agents/notes/implemented/testing/2026-06-19-acp-snapshot-tests.i18n.yaml b/.agents/notes/implemented/testing/2026-06-19-acp-snapshot-tests.i18n.yaml index 42cefa39a0..f2eedbf389 100644 --- a/.agents/notes/implemented/testing/2026-06-19-acp-snapshot-tests.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-06-19-acp-snapshot-tests.i18n.yaml @@ -1,6 +1,46 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-19-acp-snapshot-tests.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-06-19-acp-snapshot-tests.md -2026-06-19-acp-snapshot-tests.md: 3a21d09609d45b574d7f19c3704a44dde5a3d17c -2026-06-19-acp-snapshot-tests.zh.md: e9f3682289a05e4e54db2de3adcd3bee7042ef1b +/agent-note-acp-snapshot-tests-record-once-replay-deterministic: + en: 2f19b76966d5cf54 + zh: cbaed521d650e079 +/agent-note-acp-snapshot-tests-record-once-replay-deterministic/problem: + en: d1738d268738633e + zh: ce62a5b0ff65ce8c +/agent-note-acp-snapshot-tests-record-once-replay-deterministic/decision: + en: a9e85418ad5d2bbd + zh: 8e86b30a2a5bd049 +/agent-note-acp-snapshot-tests-record-once-replay-deterministic/decision/the-fixture-projects-the-persisted-session-jsonl: + en: bdd1333366edfc30 + zh: ed8a0fbab516a62b +/agent-note-acp-snapshot-tests-record-once-replay-deterministic/decision/replay-derives-the-model-script-from-the-log: + en: cb71313f2b14f855 + zh: f85809cfd19ce6af +/agent-note-acp-snapshot-tests-record-once-replay-deterministic/decision/the-in-memory-replay-entry-honors-the-full-llm-contract: + en: 5d750b82fd88597c + zh: 22dc6dec0d638449 +/agent-note-acp-snapshot-tests-record-once-replay-deterministic/decision/positional-replay-one-in-flight-stream: + en: 9ecd0c3efce1b2a1 + zh: 51612956e0c4fc85 +/agent-note-acp-snapshot-tests-record-once-replay-deterministic/decision/recording-harvests-the-log-keyless-replay-needs-a-providerless-config: + en: 17239981275e59c8 + zh: 8f7fc2d9e6abd3ee +/agent-note-acp-snapshot-tests-record-once-replay-deterministic/decision/two-outputs-normalize-then-compare: + en: ee891a839a0c05e9 + zh: 677259307e4357fa +/agent-note-acp-snapshot-tests-record-once-replay-deterministic/decision/isolation-normalization-now-sandbox-later: + en: ce58ef2e3180d0d3 + zh: 1e9354614e4d7219 +/agent-note-acp-snapshot-tests-record-once-replay-deterministic/decision/the-replay-plugin-is-its-own-package: + en: 6c3f938c57f4458b + zh: f64bb14ffb80ab90 +/agent-note-acp-snapshot-tests-record-once-replay-deterministic/decision/two-subcommands-replay-in-the-default-gate: + en: a50cb4cd2be177f7 + zh: a29f45aafb83fa6c +/agent-note-acp-snapshot-tests-record-once-replay-deterministic/alternatives-considered: + en: c4e83a568e8f483e + zh: eff19f1872565ff6 +/agent-note-acp-snapshot-tests-record-once-replay-deterministic/consequences: + en: ea210a6a43707447 + zh: 8c1e2a474d595b96 diff --git a/.agents/notes/implemented/testing/2026-06-19-real-api-e2e-ci.i18n.yaml b/.agents/notes/implemented/testing/2026-06-19-real-api-e2e-ci.i18n.yaml index b55464949e..5958148df6 100644 --- a/.agents/notes/implemented/testing/2026-06-19-real-api-e2e-ci.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-06-19-real-api-e2e-ci.i18n.yaml @@ -1,6 +1,52 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-19-real-api-e2e-ci.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-06-19-real-api-e2e-ci.md -2026-06-19-real-api-e2e-ci.md: bdb20b3d5413077a4ddf1c1d9293b3b808cd6c8c -2026-06-19-real-api-e2e-ci.zh.md: b95f7df62e0a57d4c58fc5c12a83905dd848c55e +/agent-note-real-api-e2e-in-ci-against-the-external-deepseek-api: + en: 705c6fd43858bdac + zh: 2bbc6491368fb4c0 +/agent-note-real-api-e2e-in-ci-against-the-external-deepseek-api/problem: + en: 80cf8dc578552364 + zh: a54441ea02664483 +/agent-note-real-api-e2e-in-ci-against-the-external-deepseek-api/decision: + en: 3fbdb8769322e05f + zh: f46f68f8eba74d67 +/agent-note-real-api-e2e-in-ci-against-the-external-deepseek-api/decision/a-separate-workflow-not-a-job-in-ci-yml: + en: e4745c43611b96bb + zh: 8fb980401b0c5e9b +/agent-note-real-api-e2e-in-ci-against-the-external-deepseek-api/decision/cost-is-not-the-constraint-reliability-is: + en: 88b945361b1d4804 + zh: 0887a653945f4dda +/agent-note-real-api-e2e-in-ci-against-the-external-deepseek-api/decision/triggers-trusted-events-only: + en: 42a2fb15f00aec3a + zh: c4775447c863d209 +/agent-note-real-api-e2e-in-ci-against-the-external-deepseek-api/decision/the-untrusted-pr-gate: + en: e94c28db20896508 + zh: c8e77c54dceed035 +/agent-note-real-api-e2e-in-ci-against-the-external-deepseek-api/decision/preflight-fail-loud-never-false-green: + en: 07904c7ad53be5ad + zh: 67d84d4dc6f082a9 +/agent-note-real-api-e2e-in-ci-against-the-external-deepseek-api/decision/secret-mapping-and-hygiene: + en: fbbcc9a926dfc943 + zh: 506acdb4e034574b +/agent-note-real-api-e2e-in-ci-against-the-external-deepseek-api/decision/scope-runtime-shape: + en: c59c441547da2a4d + zh: b08d50e7cfd40cd5 +/agent-note-real-api-e2e-in-ci-against-the-external-deepseek-api/security: + en: 1fd3925ab26c11d4 + zh: 0d7103fd0b1afa89 +/agent-note-real-api-e2e-in-ci-against-the-external-deepseek-api/security/who-can-reach-the-secret-in-a-private-repository: + en: a748b4e79bab26e1 + zh: 1c607bc65274cdef +/agent-note-real-api-e2e-in-ci-against-the-external-deepseek-api/security/the-residual-exposure-the-pull-request-trigger-adds: + en: 04463ffd6f67a2bd + zh: 4126fb30873782ed +/agent-note-real-api-e2e-in-ci-against-the-external-deepseek-api/security/what-changes-when-the-repo-goes-public: + en: 02aa2f4100f6aac5 + zh: f9868c6a12e19ecd +/agent-note-real-api-e2e-in-ci-against-the-external-deepseek-api/alternatives-considered: + en: 7e7aa3a387a174bc + zh: 2431a0df2fb478a8 +/agent-note-real-api-e2e-in-ci-against-the-external-deepseek-api/consequences: + en: a999af1cbd7776da + zh: 5f1fab52fd4eb304 diff --git a/.agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml b/.agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml index ac15111eb8..432ef80b37 100644 --- a/.agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml @@ -1,6 +1,46 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-24-web-gui-browser-e2e-lane.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.md -2026-07-24-web-gui-browser-e2e-lane.md: eb79591e7b94fccb8eb92aec4024738825d214fc -2026-07-24-web-gui-browser-e2e-lane.zh.md: f715f4ca93b202f72e632e5ddae0d13559a927a7 +/agent-note-keyless-browser-e2e-lane-for-the-web-gui: + en: acbf72f6a3c5bea9 + zh: 4d655027ac2b78db +/agent-note-keyless-browser-e2e-lane-for-the-web-gui/problem: + en: 547a3f60ac28095e + zh: 85a9d996257f0273 +/agent-note-keyless-browser-e2e-lane-for-the-web-gui/decision: + en: c2f86db5f0b6b5a4 + zh: dd07b529cc65e7d2 +/agent-note-keyless-browser-e2e-lane-for-the-web-gui/decision/scaffold-apps-web-tests-scaffold-ts: + en: 3d09cd693966a674 + zh: 4cda02850961f8d0 +/agent-note-keyless-browser-e2e-lane-for-the-web-gui/decision/determinism-rules: + en: 41790d8d79b7ada3 + zh: 1fc7e85a1accd806 +/agent-note-keyless-browser-e2e-lane-for-the-web-gui/decision/expected-outputs: + en: ca1ae9ccbeab8c01 + zh: 662cd5d98ee20ccc +/agent-note-keyless-browser-e2e-lane-for-the-web-gui/decision/modes-and-fixtures: + en: 54f10befeaaade72 + zh: 3a7726c1f4be51cc +/agent-note-keyless-browser-e2e-lane-for-the-web-gui/decision/coverage-contract: + en: c529437d4fbaeeb3 + zh: fe13551e56cba7df +/agent-note-keyless-browser-e2e-lane-for-the-web-gui/decision/ci-stance: + en: 23b625d86ba7f5e2 + zh: 88f33b233fca0a82 +/agent-note-keyless-browser-e2e-lane-for-the-web-gui/prior-art: + en: 7472e212043721dd + zh: 61dd9f5a8e12730b +/agent-note-keyless-browser-e2e-lane-for-the-web-gui/alternatives-considered: + en: 5bd57b3dbacd8380 + zh: a154f27d93930f77 +/agent-note-keyless-browser-e2e-lane-for-the-web-gui/testing: + en: f4459a24f56c9cfe + zh: a15bdc45785ed7e8 +/agent-note-keyless-browser-e2e-lane-for-the-web-gui/deferred: + en: aef84d3933bb72a1 + zh: 1cc5e2f1c9bcccf9 +/agent-note-keyless-browser-e2e-lane-for-the-web-gui/consequences: + en: 30928e1b547ddc34 + zh: 068bd12b2ac119dc diff --git a/.agents/notes/implemented/testing/2026-07-30-web-browser-snapshot-ci-gate.i18n.yaml b/.agents/notes/implemented/testing/2026-07-30-web-browser-snapshot-ci-gate.i18n.yaml index aeb64a1a11..8a40db5638 100644 --- a/.agents/notes/implemented/testing/2026-07-30-web-browser-snapshot-ci-gate.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-07-30-web-browser-snapshot-ci-gate.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-30-web-browser-snapshot-ci-gate.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-07-30-web-browser-snapshot-ci-gate.md -2026-07-30-web-browser-snapshot-ci-gate.md: 352072bca6e1a9e1d5b72973d2c3c9e96bc58ad9 -2026-07-30-web-browser-snapshot-ci-gate.zh.md: cd04f33a5db6ddb3c88a235fb34ea31da0e5a869 +/agent-note-required-ci-gate-for-web-browser-expected-outputs: + en: 246ce605a87c0592 + zh: 37b3fb230abcb280 +/agent-note-required-ci-gate-for-web-browser-expected-outputs/problem: + en: e04a5ecbd6d6a39e + zh: 049ce77a1a679daa +/agent-note-required-ci-gate-for-web-browser-expected-outputs/decision: + en: 915efba11d7ece34 + zh: 540495b04ef9a305 +/agent-note-required-ci-gate-for-web-browser-expected-outputs/alternatives-considered: + en: 145e763735dd33b1 + zh: 4ea34838629cd3bf +/agent-note-required-ci-gate-for-web-browser-expected-outputs/consequences: + en: d4c6e69ad04c5748 + zh: 5f3034df8f13b106 diff --git a/.agents/notes/implemented/testing/2026-08-03-opt-in-reasoning-chunk-browser-stress.i18n.yaml b/.agents/notes/implemented/testing/2026-08-03-opt-in-reasoning-chunk-browser-stress.i18n.yaml index e8edd6c33e..42da714161 100644 --- a/.agents/notes/implemented/testing/2026-08-03-opt-in-reasoning-chunk-browser-stress.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-08-03-opt-in-reasoning-chunk-browser-stress.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-03-opt-in-reasoning-chunk-browser-stress.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-08-03-opt-in-reasoning-chunk-browser-stress.md -2026-08-03-opt-in-reasoning-chunk-browser-stress.md: 5b679ce2682743531bd3ff48621cbde462a335aa -2026-08-03-opt-in-reasoning-chunk-browser-stress.zh.md: 3d730a4505351be968c71092c65a9b9c6b69818c +/agent-note-frame-coalesced-reasoning-chunk-publication-and-browser-stress-validation: + en: c63de146daf09530 + zh: 5e117bc92e2ac783 +/agent-note-frame-coalesced-reasoning-chunk-publication-and-browser-stress-validation/problem: + en: 73673725b44538c9 + zh: 32027f7a457ee3ae +/agent-note-frame-coalesced-reasoning-chunk-publication-and-browser-stress-validation/decision: + en: 76879cc8efbe7c80 + zh: 539556341dcb04e5 +/agent-note-frame-coalesced-reasoning-chunk-publication-and-browser-stress-validation/alternatives-considered: + en: 8d0a7be0a8660a9c + zh: c1e94daae31893c5 +/agent-note-frame-coalesced-reasoning-chunk-publication-and-browser-stress-validation/consequences: + en: 7b67ec0da7f08635 + zh: 2b808c760e8df494 diff --git a/.agents/notes/implemented/testing/2026-08-23-installed-python-wheel-black-box-ci.i18n.yaml b/.agents/notes/implemented/testing/2026-08-23-installed-python-wheel-black-box-ci.i18n.yaml index ad99495034..be0529a4d9 100644 --- a/.agents/notes/implemented/testing/2026-08-23-installed-python-wheel-black-box-ci.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-08-23-installed-python-wheel-black-box-ci.i18n.yaml @@ -1,6 +1,34 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-23-installed-python-wheel-black-box-ci.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-08-23-installed-python-wheel-black-box-ci.md -2026-08-23-installed-python-wheel-black-box-ci.md: a23f7ea1b0157ba4ec050069b9fa9a4ea705bfa7 -2026-08-23-installed-python-wheel-black-box-ci.zh.md: 1751430445c6f42cf37fdf9b6164c19b04f01536 +/agent-note-installed-wheel-python-runtime-pull-request-validation: + en: e7a926cb3fc87ca2 + zh: 9d4df26986ee2c25 +/agent-note-installed-wheel-python-runtime-pull-request-validation/problem: + en: a8679e0c46ab5294 + zh: 1c3b4edd7263d8a9 +/agent-note-installed-wheel-python-runtime-pull-request-validation/decision: + en: a15c7c13f167e5ac + zh: a15c7c13f167e5ac +/agent-note-installed-wheel-python-runtime-pull-request-validation/decision/installed-artifact-boundary: + en: 57b22736a43ce8ef + zh: b80a12ade299258a +/agent-note-installed-wheel-python-runtime-pull-request-validation/decision/keyless-behavior: + en: c1b78f6c3cedd4d2 + zh: 03e267c73af6036b +/agent-note-installed-wheel-python-runtime-pull-request-validation/decision/real-deepseek-api: + en: 0f98f5b5f78b5603 + zh: 95ee8bafa66d6b1b +/agent-note-installed-wheel-python-runtime-pull-request-validation/decision/required-targets: + en: 4eafb728b9b3d596 + zh: e127fdfe44659767 +/agent-note-installed-wheel-python-runtime-pull-request-validation/existing-decisions-and-supersession: + en: 04aa439d4e607324 + zh: f4c1d24b6a418cc4 +/agent-note-installed-wheel-python-runtime-pull-request-validation/alternatives-considered: + en: 360a7e4cd0f6e1ec + zh: 53beb38864ff052d +/agent-note-installed-wheel-python-runtime-pull-request-validation/consequences: + en: 6161aae704abdd20 + zh: 4c81c9f6d1bef7d4 diff --git a/.agents/notes/implemented/testing/2026-08-24-session-log-snapshot-corpus.i18n.yaml b/.agents/notes/implemented/testing/2026-08-24-session-log-snapshot-corpus.i18n.yaml index 9cb458cb68..a82fdb832c 100644 --- a/.agents/notes/implemented/testing/2026-08-24-session-log-snapshot-corpus.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-08-24-session-log-snapshot-corpus.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-24-session-log-snapshot-corpus.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-08-24-session-log-snapshot-corpus.md -2026-08-24-session-log-snapshot-corpus.md: a9001c2eabd610e08cfb1177f2b1339f306320af -2026-08-24-session-log-snapshot-corpus.zh.md: d02c798af23a205993e92ed72a0f3a162f8bdded +/agent-note-session-log-snapshot-corpus: + en: 9cb40b5081c110bc + zh: 17c221d99b579119 +/agent-note-session-log-snapshot-corpus/problem: + en: ec6f331737be909e + zh: 5faee4c81cf2314f +/agent-note-session-log-snapshot-corpus/decision: + en: 1611b352461c63c5 + zh: f32a5229bac3264a +/agent-note-session-log-snapshot-corpus/alternatives-considered: + en: 76db318c1c2dad2d + zh: b868b7c9b29c1e00 +/agent-note-session-log-snapshot-corpus/invariants: + en: 04098d11861c90ae + zh: 6af6c376fe1ba8bb +/agent-note-session-log-snapshot-corpus/consequences: + en: 3d5810a9518fcb8d + zh: 075ad9a226b8b312 +/agent-note-session-log-snapshot-corpus/risks: + en: 333b33afa03cf4e1 + zh: 3b8f3bcdf57cfe8e diff --git a/.agents/notes/implemented/testing/2026-09-04-session-open-performance-gate.i18n.yaml b/.agents/notes/implemented/testing/2026-09-04-session-open-performance-gate.i18n.yaml index 2eb9f0f8ea..fa8f7c9390 100644 --- a/.agents/notes/implemented/testing/2026-09-04-session-open-performance-gate.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-09-04-session-open-performance-gate.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-04-session-open-performance-gate.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-09-04-session-open-performance-gate.md -2026-09-04-session-open-performance-gate.md: 1b2b0aabb79aceb0ac515a1d90ba3e2ba042535c -2026-09-04-session-open-performance-gate.zh.md: 9ad56796aac6310977aedfff0f9188e46cbbf3d7 +/agent-note-required-ci-performance-gate-for-opening-large-sessions: + en: 3e87960dd29e5814 + zh: 7abaea0b9397e16d +/agent-note-required-ci-performance-gate-for-opening-large-sessions/problem: + en: 00ba1f66195351e2 + zh: a738b81adceda351 +/agent-note-required-ci-performance-gate-for-opening-large-sessions/decision: + en: 75679c69eeeb1e02 + zh: 49ea45fa46ae3fcb +/agent-note-required-ci-performance-gate-for-opening-large-sessions/calibration-evidence: + en: f1001a139470f6b7 + zh: b7b46f96b84b1271 +/agent-note-required-ci-performance-gate-for-opening-large-sessions/calibration-evidence/indexed-traversal-of-stored-json-arrays: + en: 4ff4df8437e978a8 + zh: 642ac8ab685c7a11 +/agent-note-required-ci-performance-gate-for-opening-large-sessions/alternatives-considered: + en: 5debbc2a0382ed13 + zh: 415d11776f73f871 +/agent-note-required-ci-performance-gate-for-opening-large-sessions/consequences: + en: 845730942e93aa38 + zh: f8d6cd2a8e5e6859 diff --git a/.agents/notes/implemented/testing/2026-09-06-backend-continuation-performance.i18n.yaml b/.agents/notes/implemented/testing/2026-09-06-backend-continuation-performance.i18n.yaml index aeaed20365..60da3ac257 100644 --- a/.agents/notes/implemented/testing/2026-09-06-backend-continuation-performance.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-09-06-backend-continuation-performance.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-06-backend-continuation-performance.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-09-06-backend-continuation-performance.md -2026-09-06-backend-continuation-performance.md: a2423a404e23f6a4ccb6a4fb177ec6842b7bf584 -2026-09-06-backend-continuation-performance.zh.md: 942cfd37528d121bf482c48c5d75dd1f2de30887 +/agent-note-performance-baselines-for-tool-heavy-backend-continuation: + en: 542fea07db8861a3 + zh: 3a9d381c2366f5ec +/agent-note-performance-baselines-for-tool-heavy-backend-continuation/problem: + en: c6a89dac7dea293a + zh: b10610932d55996c +/agent-note-performance-baselines-for-tool-heavy-backend-continuation/decision: + en: 3429525a40e02b95 + zh: 92f12beb81003101 +/agent-note-performance-baselines-for-tool-heavy-backend-continuation/calibration-evidence: + en: 4f47ca6859cc2d70 + zh: 5bfe8314fd30d82b +/agent-note-performance-baselines-for-tool-heavy-backend-continuation/alternatives-considered: + en: 3a61dff7c926eb22 + zh: 8f2633b16be78233 +/agent-note-performance-baselines-for-tool-heavy-backend-continuation/consequences: + en: 0ffe42f70b26de41 + zh: 367038e53dc04ff4 diff --git a/.agents/notes/implemented/testing/2026-09-06-client-assembly-test-line.i18n.yaml b/.agents/notes/implemented/testing/2026-09-06-client-assembly-test-line.i18n.yaml index 1e0850bf40..f4079749aa 100644 --- a/.agents/notes/implemented/testing/2026-09-06-client-assembly-test-line.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-09-06-client-assembly-test-line.i18n.yaml @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-06-client-assembly-test-line.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-09-06-client-assembly-test-line.md -2026-09-06-client-assembly-test-line.md: d2515c0689b9ea39bf14e4ce653a26d9a81ebfb8 -2026-09-06-client-assembly-test-line.zh.md: 90b5768db4307c551b895d7101324f329f42c955 +/agent-note-whole-client-test-tier-over-an-endpoint-named-remote-mock: + en: f11c0f43c9f9be09 + zh: 991625645ac91f06 +/agent-note-whole-client-test-tier-over-an-endpoint-named-remote-mock/problem: + en: 33c0c3670dae25c3 + zh: 4d91a11eea9bbb8f +/agent-note-whole-client-test-tier-over-an-endpoint-named-remote-mock/decision: + en: af415345cccb067e + zh: 8e82f7136f61a80e +/agent-note-whole-client-test-tier-over-an-endpoint-named-remote-mock/product-exports-added-for-the-tier: + en: b45dd80dbe278c5f + zh: cdfb145cd8fab276 +/agent-note-whole-client-test-tier-over-an-endpoint-named-remote-mock/alternatives-considered: + en: 2898d540f4bb1ee2 + zh: a3e2f1ea4cc8154f +/agent-note-whole-client-test-tier-over-an-endpoint-named-remote-mock/consequences: + en: b6a9721dec64d304 + zh: 160edfa839b7d024 +/agent-note-whole-client-test-tier-over-an-endpoint-named-remote-mock/deferred: + en: 1f18c8a38967698a + zh: f6809d290748d9cf +/agent-note-whole-client-test-tier-over-an-endpoint-named-remote-mock/testing: + en: 84fd4b8cc4a4abc8 + zh: f5d8fcb31a6d103b diff --git a/.agents/notes/implemented/testing/2026-09-06-frontend-performance-budgets.i18n.yaml b/.agents/notes/implemented/testing/2026-09-06-frontend-performance-budgets.i18n.yaml index bc0def0cce..1d0b70851d 100644 --- a/.agents/notes/implemented/testing/2026-09-06-frontend-performance-budgets.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-09-06-frontend-performance-budgets.i18n.yaml @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-06-frontend-performance-budgets.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-09-06-frontend-performance-budgets.md -2026-09-06-frontend-performance-budgets.md: ea91edf8d39d838ab58204f8516d9d1e9d50109f -2026-09-06-frontend-performance-budgets.zh.md: 84c115ef09f55babf96eb1ef8d2f472a139dd55d +/agent-note-frontend-large-session-performance-budgets: + en: 443578f129feecd8 + zh: fcc3b1bf7dcdb1fb +/agent-note-frontend-large-session-performance-budgets/problem: + en: 9bf1200b5f980008 + zh: d2dc07922817c581 +/agent-note-frontend-large-session-performance-budgets/decision: + en: 0ff66ffe55696498 + zh: c05736fde021bcc4 +/agent-note-frontend-large-session-performance-budgets/calibration: + en: f3be2a0d346e80cc + zh: c49cc56e7714f68c +/agent-note-frontend-large-session-performance-budgets/calibration/actual-ci-runs: + en: d4d6aebafcdb8c12 + zh: 112d3ca1a4ea8ae1 +/agent-note-frontend-large-session-performance-budgets/calibration/standard-hosted-expectations-and-input-scheduling: + en: 8cb6299dbb42a9fe + zh: 51ef49d4fcaeb92f +/agent-note-frontend-large-session-performance-budgets/alternatives-considered: + en: 1472bd425ef0daec + zh: a89811758d70331e +/agent-note-frontend-large-session-performance-budgets/consequences: + en: 3f4f510612875d54 + zh: 3a4af464f159bfe8 diff --git a/.agents/notes/implemented/testing/2026-09-06-pr-ci-runner-temporary-storage.i18n.yaml b/.agents/notes/implemented/testing/2026-09-06-pr-ci-runner-temporary-storage.i18n.yaml index dccefc4520..aa5bb20d1f 100644 --- a/.agents/notes/implemented/testing/2026-09-06-pr-ci-runner-temporary-storage.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-09-06-pr-ci-runner-temporary-storage.i18n.yaml @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-06-pr-ci-runner-temporary-storage.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-09-06-pr-ci-runner-temporary-storage.md -2026-09-06-pr-ci-runner-temporary-storage.md: 59d609c08e1b228ae9a9705140f2832305dfead5 -2026-09-06-pr-ci-runner-temporary-storage.zh.md: f6765212af2424f2080063946f9104125993b9d5 +/agent-note-runner-owned-temporary-storage-for-pr-ci: + en: 2f9ebea4c52687b3 + zh: 5924c9657eea7ff7 +/agent-note-runner-owned-temporary-storage-for-pr-ci/problem: + en: 5787327a360024d9 + zh: ee9b8cb63d79e551 +/agent-note-runner-owned-temporary-storage-for-pr-ci/decision: + en: 44990c35e1cb69cb + zh: 38a6bed07b5596e3 +/agent-note-runner-owned-temporary-storage-for-pr-ci/recorded-acp-completion-order: + en: 51f2f962db14ba9c + zh: 5fc8a908431c3865 +/agent-note-runner-owned-temporary-storage-for-pr-ci/workspace-grant-fixture-placement: + en: 1008b2fc61d01b10 + zh: f5314d10980611ef +/agent-note-runner-owned-temporary-storage-for-pr-ci/live-verification-and-browser-fixture-inputs: + en: 0f8e8478a3fb6486 + zh: 5d74c6902ea9831c +/agent-note-runner-owned-temporary-storage-for-pr-ci/alternatives-considered: + en: 8b0f2798f91ff190 + zh: f6e871a723e4d079 +/agent-note-runner-owned-temporary-storage-for-pr-ci/consequences: + en: ff73f9c3daeb33be + zh: 28f4245c275c4109 diff --git a/.agents/notes/implemented/testing/2026-09-06-python-runtime-install-retry.i18n.yaml b/.agents/notes/implemented/testing/2026-09-06-python-runtime-install-retry.i18n.yaml index 834bf27d4b..4a7ab9e93d 100644 --- a/.agents/notes/implemented/testing/2026-09-06-python-runtime-install-retry.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-09-06-python-runtime-install-retry.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-06-python-runtime-install-retry.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-09-06-python-runtime-install-retry.md -2026-09-06-python-runtime-install-retry.md: 639fe2814ae1b3beadcd47d3b9eac15408c585cc -2026-09-06-python-runtime-install-retry.zh.md: 7a7943f43fcec536542c5aef0e608e177f64907f +/agent-note-bounded-retry-for-python-runtime-dependency-install: + en: 610eeadbda25f100 + zh: e063790ef0b766c9 +/agent-note-bounded-retry-for-python-runtime-dependency-install/problem: + en: ea99de707130a978 + zh: 0d8d853cf38e903a +/agent-note-bounded-retry-for-python-runtime-dependency-install/decision: + en: 8a91f9e5ade1fbbe + zh: 82851f2d37f6a216 +/agent-note-bounded-retry-for-python-runtime-dependency-install/alternatives-considered: + en: c9bee05dfbb068aa + zh: 7f0712a941209116 +/agent-note-bounded-retry-for-python-runtime-dependency-install/consequences: + en: 4d036332d39c88a6 + zh: aac5dd7e7f09df2a diff --git a/.agents/notes/implemented/testing/2026-09-06-standard-hosted-benchmark-runner.i18n.yaml b/.agents/notes/implemented/testing/2026-09-06-standard-hosted-benchmark-runner.i18n.yaml index feddeffb9f..50c9f04da5 100644 --- a/.agents/notes/implemented/testing/2026-09-06-standard-hosted-benchmark-runner.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-09-06-standard-hosted-benchmark-runner.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-06-standard-hosted-benchmark-runner.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-09-06-standard-hosted-benchmark-runner.md -2026-09-06-standard-hosted-benchmark-runner.md: af95af6ee8cef1128a5475863ea7a1aaf66f30b9 -2026-09-06-standard-hosted-benchmark-runner.zh.md: 47095a5b2e91318c2f3ec5ac3cc9f6df3bce04d6 +/agent-note-standard-hosted-runner-for-required-benchmarks: + en: 07d81b0ddc7349cd + zh: 0494136a627f09a4 +/agent-note-standard-hosted-runner-for-required-benchmarks/problem: + en: e930cd992a15b811 + zh: fe791e9581ff6a35 +/agent-note-standard-hosted-runner-for-required-benchmarks/decision: + en: 07bc990d5c68d617 + zh: 5bf08df36181b2a6 +/agent-note-standard-hosted-runner-for-required-benchmarks/alternatives-considered: + en: 82f0eab2a8e66383 + zh: 6677a34a53b8915f +/agent-note-standard-hosted-runner-for-required-benchmarks/consequences: + en: 173caff985f5ff21 + zh: 83f3ef068ec62439 diff --git a/.agents/notes/implemented/testing/2026-09-07-publint-test-subprocess-lifetime.i18n.yaml b/.agents/notes/implemented/testing/2026-09-07-publint-test-subprocess-lifetime.i18n.yaml index 75ddc0220c..336d27a518 100644 --- a/.agents/notes/implemented/testing/2026-09-07-publint-test-subprocess-lifetime.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-09-07-publint-test-subprocess-lifetime.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-07-publint-test-subprocess-lifetime.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-09-07-publint-test-subprocess-lifetime.md -2026-09-07-publint-test-subprocess-lifetime.md: f8b0e0455f44e6cfc7dd1ce120b0edc07e88180a -2026-09-07-publint-test-subprocess-lifetime.zh.md: dd0533752b13f337e5f2453f01ca87f17d6ec3b2 +/agent-note-publint-test-subprocesses-inherit-the-execution-lane-deadline: + en: 762197e4e97b62a1 + zh: a2ac103348f6e692 +/agent-note-publint-test-subprocesses-inherit-the-execution-lane-deadline/problem: + en: a5fb106b97023934 + zh: 537bd40564850192 +/agent-note-publint-test-subprocesses-inherit-the-execution-lane-deadline/decision: + en: 62cc75fa54d44d80 + zh: 72d296ea1d5448bc +/agent-note-publint-test-subprocesses-inherit-the-execution-lane-deadline/alternatives-considered: + en: 5cc52a67c84dd039 + zh: 9fdc5ac07da9a056 +/agent-note-publint-test-subprocesses-inherit-the-execution-lane-deadline/consequences: + en: a2d7dabc61d37634 + zh: 753addcc45383715 diff --git a/.agents/notes/implemented/testing/2026-09-07-pwsh-ci-observable-completion.i18n.yaml b/.agents/notes/implemented/testing/2026-09-07-pwsh-ci-observable-completion.i18n.yaml index e52920e249..d9e1bb9952 100644 --- a/.agents/notes/implemented/testing/2026-09-07-pwsh-ci-observable-completion.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-09-07-pwsh-ci-observable-completion.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-07-pwsh-ci-observable-completion.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-09-07-pwsh-ci-observable-completion.md -2026-09-07-pwsh-ci-observable-completion.md: 2cd42296c14602f1f4aad68b8988f84dabbd5479 -2026-09-07-pwsh-ci-observable-completion.zh.md: 9ea83963be7faa274e53b1b9260222f71553e0f4 +/agent-note-powershell-ci-completion-and-profile-expectations: + en: 30366de41f8f71f6 + zh: d343887adae38ef4 +/agent-note-powershell-ci-completion-and-profile-expectations/problem: + en: 5806986dfd58191c + zh: ac082211e112c2d4 +/agent-note-powershell-ci-completion-and-profile-expectations/decision: + en: f23d0691bc168ad7 + zh: 2873eb08c925f2f6 +/agent-note-powershell-ci-completion-and-profile-expectations/alternatives-considered: + en: 6fde4f1b34fdd5e7 + zh: 6bc1ef73ce0e2645 +/agent-note-powershell-ci-completion-and-profile-expectations/consequences: + en: d486f9db082655db + zh: 01c46ff6b700cb15 diff --git a/.agents/notes/implemented/testing/2026-09-07-subagent-teardown-test-budgets.i18n.yaml b/.agents/notes/implemented/testing/2026-09-07-subagent-teardown-test-budgets.i18n.yaml index 9a305f4c7f..10306946dc 100644 --- a/.agents/notes/implemented/testing/2026-09-07-subagent-teardown-test-budgets.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-09-07-subagent-teardown-test-budgets.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-07-subagent-teardown-test-budgets.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-09-07-subagent-teardown-test-budgets.md -2026-09-07-subagent-teardown-test-budgets.md: 372c8b311054b11d86b3057415dd98584d94be9f -2026-09-07-subagent-teardown-test-budgets.zh.md: 8539664280c5fe720f27459fdb2d14c47ad3e780 +/agent-note-subagent-teardown-tests-inherit-their-execution-lane-budgets: + en: b704be92bc9b9b3c + zh: 4154bd2d89177e5d +/agent-note-subagent-teardown-tests-inherit-their-execution-lane-budgets/problem: + en: 5853599207f6b3bb + zh: d58b5e8e19d93a4f +/agent-note-subagent-teardown-tests-inherit-their-execution-lane-budgets/decision: + en: 721ea003ebaef8c7 + zh: e17be423bc4c7568 +/agent-note-subagent-teardown-tests-inherit-their-execution-lane-budgets/alternatives-considered: + en: 3ad30b2574818a61 + zh: d323adddd5065ae4 +/agent-note-subagent-teardown-tests-inherit-their-execution-lane-budgets/consequences: + en: 20d060fe30ada016 + zh: c73937bffbb251c0 diff --git a/.agents/notes/implemented/testing/2026-09-08-ci-completion-observations.i18n.yaml b/.agents/notes/implemented/testing/2026-09-08-ci-completion-observations.i18n.yaml index 297fed6b49..dc92e99d72 100644 --- a/.agents/notes/implemented/testing/2026-09-08-ci-completion-observations.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-09-08-ci-completion-observations.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-ci-completion-observations.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-09-08-ci-completion-observations.md -2026-09-08-ci-completion-observations.md: 30145f26fccd1ca7d174d76df738f100827cc32a -2026-09-08-ci-completion-observations.zh.md: a819d6ad45d80b7fce2f67025629d8d6cf9f8344 +/agent-note-ci-fixture-completion-and-isolation: + en: f5c180b0aad40b22 + zh: 89af7791bfbed707 +/agent-note-ci-fixture-completion-and-isolation/problem: + en: b7350054dcefd411 + zh: 61fd5b508f804ca1 +/agent-note-ci-fixture-completion-and-isolation/decision: + en: 8b245a4f4974e855 + zh: 93963695545d13ed +/agent-note-ci-fixture-completion-and-isolation/decision/built-client-import-classification: + en: 443f119bc5d5b49f + zh: b1c53efd3a216d63 +/agent-note-ci-fixture-completion-and-isolation/alternatives-considered: + en: 569976702b273da6 + zh: 3a5e5faba0074398 +/agent-note-ci-fixture-completion-and-isolation/consequences: + en: 168df70afdad308d + zh: 0e77a4741fa8024b diff --git a/.agents/notes/implemented/testing/2026-09-08-ci-readiness-and-completion.i18n.yaml b/.agents/notes/implemented/testing/2026-09-08-ci-readiness-and-completion.i18n.yaml index 77ca3fa1c8..bef8854202 100644 --- a/.agents/notes/implemented/testing/2026-09-08-ci-readiness-and-completion.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-09-08-ci-readiness-and-completion.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-ci-readiness-and-completion.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-09-08-ci-readiness-and-completion.md -2026-09-08-ci-readiness-and-completion.md: 1bf4f701f1b66debd982f1b786116e437e35dea4 -2026-09-08-ci-readiness-and-completion.zh.md: ae6d4e0195c66435fba22efae2376f6979ea9f6d +/agent-note-ci-assertions-wait-for-owned-completion: + en: 784e4056f020fab9 + zh: 941e7091a7621c9e +/agent-note-ci-assertions-wait-for-owned-completion/problem: + en: a7fe3958c0c18911 + zh: cce83727500187bc +/agent-note-ci-assertions-wait-for-owned-completion/decision: + en: 2b0ff4ab1d18bd1c + zh: 39556bf95aec3c56 +/agent-note-ci-assertions-wait-for-owned-completion/alternatives-considered: + en: 07ee7017cc6f6e74 + zh: b42f742932edd3f8 +/agent-note-ci-assertions-wait-for-owned-completion/consequences: + en: 70258f58a1e781bb + zh: fabc014ced9872f5 diff --git a/.agents/notes/implemented/testing/2026-09-09-user-patch-hmr-test-delivery.i18n.yaml b/.agents/notes/implemented/testing/2026-09-09-user-patch-hmr-test-delivery.i18n.yaml index 13264740b3..be1357732e 100644 --- a/.agents/notes/implemented/testing/2026-09-09-user-patch-hmr-test-delivery.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-09-09-user-patch-hmr-test-delivery.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-09-user-patch-hmr-test-delivery.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-09-09-user-patch-hmr-test-delivery.md -2026-09-09-user-patch-hmr-test-delivery.md: 32ee3073dcb67e1f6bed70c515dd9b6990b97d03 -2026-09-09-user-patch-hmr-test-delivery.zh.md: bcd6f261c0ec4428f4f28138e7e62b80141dd981 +/agent-note-user-patch-tests-control-filesystem-event-delivery: + en: c2c70a16f6deea8b + zh: 3b11c81b87910ce7 +/agent-note-user-patch-tests-control-filesystem-event-delivery/problem: + en: 3f8862080b8c3c89 + zh: 0e83c485f02c10f1 +/agent-note-user-patch-tests-control-filesystem-event-delivery/decision: + en: a49b4a6e76725b7e + zh: 9813f60c40a19f83 +/agent-note-user-patch-tests-control-filesystem-event-delivery/alternatives-considered: + en: 5d559ee291e2e15e + zh: 828e7def587d71e8 +/agent-note-user-patch-tests-control-filesystem-event-delivery/consequences: + en: da9f64f4d269cece + zh: 6bbbcc771c5fbcde diff --git a/.agents/notes/implemented/testing/2026-09-10-desktop-local-updater-qualification.i18n.yaml b/.agents/notes/implemented/testing/2026-09-10-desktop-local-updater-qualification.i18n.yaml index 55faf9d686..f61ba057a5 100644 --- a/.agents/notes/implemented/testing/2026-09-10-desktop-local-updater-qualification.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-09-10-desktop-local-updater-qualification.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-desktop-local-updater-qualification.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-09-10-desktop-local-updater-qualification.md -2026-09-10-desktop-local-updater-qualification.md: 10c0a384106cc06aaae50d8782b58114ea86fb79 -2026-09-10-desktop-local-updater-qualification.zh.md: 9d554bc5001fc53f60ba9cd0d08b02e975f8261f +/agent-note-qualify-desktop-update-downloads-with-an-isolated-local-server: + en: 71382ca7e306c188 + zh: ee13377b994ff06a +/agent-note-qualify-desktop-update-downloads-with-an-isolated-local-server/problem: + en: a621d24f1336bf19 + zh: 56dc14cda197b301 +/agent-note-qualify-desktop-update-downloads-with-an-isolated-local-server/decision: + en: b8e5f482693b9213 + zh: 4ac670ae629d3fd1 +/agent-note-qualify-desktop-update-downloads-with-an-isolated-local-server/alternatives-considered: + en: f93809633864e337 + zh: 4bd2141c2a36e1ac +/agent-note-qualify-desktop-update-downloads-with-an-isolated-local-server/consequences: + en: 4ef44c91915206b5 + zh: f4ecf7b2d6df4932 diff --git a/.agents/notes/implemented/testing/2026-09-10-hosted-image-test-assumptions.i18n.yaml b/.agents/notes/implemented/testing/2026-09-10-hosted-image-test-assumptions.i18n.yaml index b745447152..72274416f8 100644 --- a/.agents/notes/implemented/testing/2026-09-10-hosted-image-test-assumptions.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-09-10-hosted-image-test-assumptions.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-hosted-image-test-assumptions.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-09-10-hosted-image-test-assumptions.md -2026-09-10-hosted-image-test-assumptions.md: e6fe4e35848c48462e7bb9c99bc898b6ebc907c9 -2026-09-10-hosted-image-test-assumptions.zh.md: 4fe8bf2a3764b0f95268e20eb379a69c7e44ced6 +/agent-note-hosted-image-assumptions-in-the-coverage-suite: + en: b9e6c590cb18c637 + zh: 02591776cec956ea +/agent-note-hosted-image-assumptions-in-the-coverage-suite/problem: + en: c1299114bcbbbbc2 + zh: 1b38aa9c8b0a4eef +/agent-note-hosted-image-assumptions-in-the-coverage-suite/decision: + en: 00b0e2ef25435ad3 + zh: 9bf59f5ca765a94b +/agent-note-hosted-image-assumptions-in-the-coverage-suite/alternatives-considered: + en: 7cc99ab98600ed3f + zh: c302b579791a403d +/agent-note-hosted-image-assumptions-in-the-coverage-suite/consequences: + en: 96ad46667a025f85 + zh: ba04b1436b82a620 diff --git a/.agents/notes/implemented/testing/2026-09-12-connection-and-compaction-fixture-preconditions.i18n.yaml b/.agents/notes/implemented/testing/2026-09-12-connection-and-compaction-fixture-preconditions.i18n.yaml index efdce8aa1b..52fcc8494f 100644 --- a/.agents/notes/implemented/testing/2026-09-12-connection-and-compaction-fixture-preconditions.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-09-12-connection-and-compaction-fixture-preconditions.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-12-connection-and-compaction-fixture-preconditions.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-09-12-connection-and-compaction-fixture-preconditions.md -2026-09-12-connection-and-compaction-fixture-preconditions.md: 9b97657c7742bb37a8a70b04350d5e6b43868f6c -2026-09-12-connection-and-compaction-fixture-preconditions.zh.md: bc73a0e84ab4f60b7f3091f60a5217dcc950cb20 +/agent-note-connection-and-compaction-fixture-preconditions: + en: ea762fbdd18bdce3 + zh: 5795a728fd210f69 +/agent-note-connection-and-compaction-fixture-preconditions/problem: + en: 43949801eda059d6 + zh: 83b579735b9d3e3f +/agent-note-connection-and-compaction-fixture-preconditions/decision: + en: 4e7091381ce185cf + zh: 6e36499f5b5e46f9 +/agent-note-connection-and-compaction-fixture-preconditions/alternatives-considered: + en: b8842654dbe80f4c + zh: e4b80e80d89203b0 +/agent-note-connection-and-compaction-fixture-preconditions/consequences: + en: 054ce1f776693cc9 + zh: dd542b1ccb1cc07d diff --git a/.agents/notes/implemented/testing/2026-09-14-desktop-installed-update-journal.i18n.yaml b/.agents/notes/implemented/testing/2026-09-14-desktop-installed-update-journal.i18n.yaml index 6ebebc30d8..ba9ba30f89 100644 --- a/.agents/notes/implemented/testing/2026-09-14-desktop-installed-update-journal.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-09-14-desktop-installed-update-journal.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-14-desktop-installed-update-journal.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-09-14-desktop-installed-update-journal.md -2026-09-14-desktop-installed-update-journal.md: 2a0ecbde408d1207102ba206ada333de6d123711 -2026-09-14-desktop-installed-update-journal.zh.md: 129efa7c123b6945e857e55e3632b18850ceb67d +/agent-note-preserve-installed-desktop-update-evidence-across-restarts: + en: 813f856f3457732c + zh: 4f88103f6402d309 +/agent-note-preserve-installed-desktop-update-evidence-across-restarts/problem: + en: 5401829797ce63d2 + zh: 8a05a7d216aba56d +/agent-note-preserve-installed-desktop-update-evidence-across-restarts/decision: + en: 07386e0ad4b17ea2 + zh: 8424f276161376e4 +/agent-note-preserve-installed-desktop-update-evidence-across-restarts/alternatives-considered: + en: bd3c8ebb1d8e2360 + zh: db38b0725b7eae9c +/agent-note-preserve-installed-desktop-update-evidence-across-restarts/consequences: + en: 08918c2d6d6ec745 + zh: 239edd387dba4a58 diff --git a/.agents/notes/implemented/testing/2026-09-14-desktop-installed-update-materials.i18n.yaml b/.agents/notes/implemented/testing/2026-09-14-desktop-installed-update-materials.i18n.yaml index 0c1184b114..17cae8945a 100644 --- a/.agents/notes/implemented/testing/2026-09-14-desktop-installed-update-materials.i18n.yaml +++ b/.agents/notes/implemented/testing/2026-09-14-desktop-installed-update-materials.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-14-desktop-installed-update-materials.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/testing/2026-09-14-desktop-installed-update-materials.md -2026-09-14-desktop-installed-update-materials.md: 1813c6d9bbdf12697e32f7440e4b654a33bb2384 -2026-09-14-desktop-installed-update-materials.zh.md: b92bb70b32e6549b8f2aed48f6aa9b2b8364fe54 +/agent-note-isolate-installed-update-materials-from-releases-and-user-data: + en: 9cb68e389e43373b + zh: c355d3df1f94a1a2 +/agent-note-isolate-installed-update-materials-from-releases-and-user-data/problem: + en: 8d63b992ff6d3161 + zh: 86d333255a5400d3 +/agent-note-isolate-installed-update-materials-from-releases-and-user-data/decision: + en: 7778333c76ab9b5d + zh: fa35b0a12a31ea23 +/agent-note-isolate-installed-update-materials-from-releases-and-user-data/alternatives-considered: + en: c608f186cc94a9d3 + zh: 39750c8347e8bece +/agent-note-isolate-installed-update-materials-from-releases-and-user-data/consequences: + en: e04b056cebbbba29 + zh: 5868709735abda3e diff --git a/.agents/notes/proposed/architecture/2026-07-19-required-cancellation-through-tool-capability-seams.i18n.yaml b/.agents/notes/proposed/architecture/2026-07-19-required-cancellation-through-tool-capability-seams.i18n.yaml index 48b4108c99..88e45a77c2 100644 --- a/.agents/notes/proposed/architecture/2026-07-19-required-cancellation-through-tool-capability-seams.i18n.yaml +++ b/.agents/notes/proposed/architecture/2026-07-19-required-cancellation-through-tool-capability-seams.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-19-required-cancellation-through-tool-capability-seams.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/architecture/2026-07-19-required-cancellation-through-tool-capability-seams.md -2026-07-19-required-cancellation-through-tool-capability-seams.md: 722eefc3c79d3c1c589696bc1876d10ccbce77ea -2026-07-19-required-cancellation-through-tool-capability-seams.zh.md: 80d751e22cebd16d878f09ae9a5c15996c337603 +/agent-note-required-cancellation-through-tool-reachable-capability-seams: + en: 7999f4da8ee4fe80 + zh: ea49c90e2bbaacb8 +/agent-note-required-cancellation-through-tool-reachable-capability-seams/problem: + en: c244ddd6aadf87ad + zh: d30d623e9bf25c6b +/agent-note-required-cancellation-through-tool-reachable-capability-seams/proposal: + en: 20ed2d4cacc14f0c + zh: 19ee19bcf3596048 +/agent-note-required-cancellation-through-tool-reachable-capability-seams/proposal/scope-boundary: + en: c9df2c946d26f728 + zh: cc5bcd1710a864ef +/agent-note-required-cancellation-through-tool-reachable-capability-seams/alternatives-considered: + en: 0f2e31037bb1071c + zh: 6c654c553300ceb5 +/agent-note-required-cancellation-through-tool-reachable-capability-seams/acceptance-criteria: + en: a439a907dc6b2457 + zh: a693d1b8bb05b67f +/agent-note-required-cancellation-through-tool-reachable-capability-seams/risks: + en: c071970c88e73cb7 + zh: 58eaf135ac19ecc9 diff --git a/.agents/notes/proposed/architecture/2026-07-24-domain-kv-storage-and-workspace.i18n.yaml b/.agents/notes/proposed/architecture/2026-07-24-domain-kv-storage-and-workspace.i18n.yaml index 7d7f43420a..714d3ca25a 100644 --- a/.agents/notes/proposed/architecture/2026-07-24-domain-kv-storage-and-workspace.i18n.yaml +++ b/.agents/notes/proposed/architecture/2026-07-24-domain-kv-storage-and-workspace.i18n.yaml @@ -1,6 +1,49 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-24-domain-kv-storage-and-workspace.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/architecture/2026-07-24-domain-kv-storage-and-workspace.md -2026-07-24-domain-kv-storage-and-workspace.md: dc14648c703f60b391cf4dba947c3cb0ddeb8ccb -2026-07-24-domain-kv-storage-and-workspace.zh.md: 1cf72809193b40ab540deaa171b8df1b0d39defb +/agent-note-domain-kv-storage-capability-seam-and-the-workspace-entity: + en: e1792a25ca5d684d + zh: ddb20d72b56eebf8 +/agent-note-domain-kv-storage-capability-seam-and-the-workspace-entity/problem: + en: 9a6abd0305f2e2bb + zh: 7c3f1132c0fa7b56 +/agent-note-domain-kv-storage-capability-seam-and-the-workspace-entity/proposal: + en: 34e5bde1535a2bb1 + zh: 559deb25b2ec50ba +/agent-note-domain-kv-storage-capability-seam-and-the-workspace-entity/proposal/dsh-storage-the-storage-hub: + en: 191afc01a150e4a0 + zh: da3fbc33875a4f60 +/agent-note-domain-kv-storage-capability-seam-and-the-workspace-entity/proposal/dsh-storage-json: + en: a18ec1e534a5488b + zh: 2f5beb445e30554b +/agent-note-domain-kv-storage-capability-seam-and-the-workspace-entity/proposal/dsh-storage-sqlite: + en: 6a26dd7ef357db74 + zh: 951b31136e2415f9 +/agent-note-domain-kv-storage-capability-seam-and-the-workspace-entity/proposal/dsh-domain-the-domain-data-form: + en: d51c71c793c26834 + zh: 3aab9f9695a0e225 +/agent-note-domain-kv-storage-capability-seam-and-the-workspace-entity/proposal/future-work-session-side-deletion-design-settled-not-implemented-this-phase: + en: a3824326587b6539 + zh: 9736e3060bd57651 +/agent-note-domain-kv-storage-capability-seam-and-the-workspace-entity/proposal/dsh-workspace: + en: 71351e042512c03a + zh: 965622f09f135d37 +/agent-note-domain-kv-storage-capability-seam-and-the-workspace-entity/proposal/reuse-and-the-session-backend-migration-outlook: + en: e586acdb16085b91 + zh: 4fae53c5b9e4fd5b +/agent-note-domain-kv-storage-capability-seam-and-the-workspace-entity/proposal/test-matrix: + en: 4f8560110ec03322 + zh: 574d611d6e086e96 +/agent-note-domain-kv-storage-capability-seam-and-the-workspace-entity/proposal/out-of-scope-list: + en: 6a8b96b362f8a742 + zh: 4ba5c96353ae46f5 +/agent-note-domain-kv-storage-capability-seam-and-the-workspace-entity/alternatives-considered: + en: 159649c838437048 + zh: 286e2f61c796cb1c +/agent-note-domain-kv-storage-capability-seam-and-the-workspace-entity/acceptance-criteria: + en: ec4f2e69de32577b + zh: 64a4d049a3b75004 +/agent-note-domain-kv-storage-capability-seam-and-the-workspace-entity/risks: + en: d5d49b31afe6cfab + zh: 19606893bbde5b03 diff --git a/.agents/notes/proposed/architecture/2026-07-27-session-projection-and-command-log.i18n.yaml b/.agents/notes/proposed/architecture/2026-07-27-session-projection-and-command-log.i18n.yaml index f6a8f29476..7207445070 100644 --- a/.agents/notes/proposed/architecture/2026-07-27-session-projection-and-command-log.i18n.yaml +++ b/.agents/notes/proposed/architecture/2026-07-27-session-projection-and-command-log.i18n.yaml @@ -1,6 +1,49 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-27-session-projection-and-command-log.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/architecture/2026-07-27-session-projection-and-command-log.md -2026-07-27-session-projection-and-command-log.md: fb329a4117fdea8f4aa0e98548982c3197d9c8f6 -2026-07-27-session-projection-and-command-log.zh.md: eb359058a74c6ed53959253ae80f2002cb67a351 +/agent-note-session-projections-and-command-lifecycle-logging: + en: c4b22a24c549feb8 + zh: 4e4921326e0cd13a +/agent-note-session-projections-and-command-lifecycle-logging/problem: + en: 017166a86aa35cad + zh: b6a2e826fbed2474 +/agent-note-session-projections-and-command-lifecycle-logging/proposal: + en: d13f906be5b62374 + zh: 1cf74760f668902a +/agent-note-session-projections-and-command-lifecycle-logging/proposal/whole-value-event-rule: + en: e6c93d89a25f0d03 + zh: 65e1f5842bc74008 +/agent-note-session-projections-and-command-lifecycle-logging/proposal/host-projection-registry-dsh-session-projection-new-package: + en: 6068eb6aba54b102 + zh: 20e91466baf6ad11 +/agent-note-session-projections-and-command-lifecycle-logging/proposal/shipped-consumer-the-subagent-identity-unit: + en: 10093535660c3cae + zh: a7f4ff9e71ee6751 +/agent-note-session-projections-and-command-lifecycle-logging/proposal/wire-projections-block-on-the-history-tail-page: + en: 1a6357e8821e7951 + zh: b4b75959af4f3910 +/agent-note-session-projections-and-command-lifecycle-logging/proposal/push-frame-and-the-client-value-store-domains-write-zero-client-code: + en: e95962f82eefed51 + zh: d2b3dfa8a23c8f0f +/agent-note-session-projections-and-command-lifecycle-logging/proposal/plan-through-the-standard-command-channel-worked-example: + en: be319089ba75cae5 + zh: 2cf0ec8d0ef79564 +/agent-note-session-projections-and-command-lifecycle-logging/proposal/react-useprojection-the-fifth-framework-hook-seat: + en: 7b536bd8a51cc5dc + zh: 1ead63f6358b3799 +/agent-note-session-projections-and-command-lifecycle-logging/proposal/command-lifecycle-in-the-log: + en: a7e04451f3ed417c + zh: fb60c8729200b825 +/agent-note-session-projections-and-command-lifecycle-logging/delivery-plan: + en: 64ad8d08a8ab44e0 + zh: fb0a0f7369d0bd23 +/agent-note-session-projections-and-command-lifecycle-logging/alternatives-considered: + en: e945e84e8360e0c4 + zh: becdeb100a4c5b6b +/agent-note-session-projections-and-command-lifecycle-logging/acceptance-criteria: + en: 9dfcca30fffda225 + zh: 0beddb81d32e0ca7 +/agent-note-session-projections-and-command-lifecycle-logging/risks: + en: f0eb219b4119ca7d + zh: de870016c1623895 diff --git a/.agents/notes/proposed/architecture/2026-07-28-storage-root-and-derived-medium-recovery.i18n.yaml b/.agents/notes/proposed/architecture/2026-07-28-storage-root-and-derived-medium-recovery.i18n.yaml index f8b3f81ba2..db04c28547 100644 --- a/.agents/notes/proposed/architecture/2026-07-28-storage-root-and-derived-medium-recovery.i18n.yaml +++ b/.agents/notes/proposed/architecture/2026-07-28-storage-root-and-derived-medium-recovery.i18n.yaml @@ -1,6 +1,28 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-28-storage-root-and-derived-medium-recovery.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/architecture/2026-07-28-storage-root-and-derived-medium-recovery.md -2026-07-28-storage-root-and-derived-medium-recovery.md: 3a4124e577b79b6775c40aed0adc63ab0c130dad -2026-07-28-storage-root-and-derived-medium-recovery.zh.md: f8d91402ba682bef616274d1a4c4fe00360271fc +/agent-note-storage-root-placement-and-derived-medium-recovery: + en: 9ebb460b39f06952 + zh: 0fc0480869566600 +/agent-note-storage-root-placement-and-derived-medium-recovery/problem: + en: e94be80df86b1da9 + zh: fe9b9dad3299562e +/agent-note-storage-root-placement-and-derived-medium-recovery/proposal: + en: bd212f50ff01960a + zh: de2c69ef9be74629 +/agent-note-storage-root-placement-and-derived-medium-recovery/proposal/one-global-storage-root-shipped-amended-form-resolved-once-at-construction-still-open: + en: 0d6497184e9ce8a0 + zh: 0e339979075c9a0e +/agent-note-storage-root-placement-and-derived-medium-recovery/proposal/declared-derived-media-reset-instead-of-reject: + en: 11e9dd194e73921f + zh: 48fbb156396dc7ec +/agent-note-storage-root-placement-and-derived-medium-recovery/alternatives-considered: + en: b5fab4b550256e96 + zh: 1d13d4de6b70e2df +/agent-note-storage-root-placement-and-derived-medium-recovery/acceptance-criteria: + en: 9d15489c12c5a23a + zh: 305a74fd2cc75aa1 +/agent-note-storage-root-placement-and-derived-medium-recovery/risks: + en: be70695cbd77824b + zh: 163ffebf285d7e5b diff --git a/.agents/notes/proposed/architecture/2026-07-29-durable-last-activity-index.i18n.yaml b/.agents/notes/proposed/architecture/2026-07-29-durable-last-activity-index.i18n.yaml index 0466c8f8cc..bab183a3a2 100644 --- a/.agents/notes/proposed/architecture/2026-07-29-durable-last-activity-index.i18n.yaml +++ b/.agents/notes/proposed/architecture/2026-07-29-durable-last-activity-index.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-29-durable-last-activity-index.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/architecture/2026-07-29-durable-last-activity-index.md -2026-07-29-durable-last-activity-index.md: f007f01bf34c830ef9c0093e58ca86f07416d68c -2026-07-29-durable-last-activity-index.zh.md: c3259f47bcf02f6214ea6081730ee1e850c27e77 +/agent-note-record-last-activity-in-the-session-index: + en: f64dc6aee10c755f + zh: a28d8450c78b0c01 +/agent-note-record-last-activity-in-the-session-index/problem: + en: 332469396acd98d4 + zh: c9e4d587628fc0e7 +/agent-note-record-last-activity-in-the-session-index/proposal: + en: 2260380e10b59eb6 + zh: dcf5a7f2d6003021 +/agent-note-record-last-activity-in-the-session-index/alternatives-considered: + en: 9034b95d80405f9c + zh: 573e1dcd10b62344 +/agent-note-record-last-activity-in-the-session-index/acceptance-criteria: + en: ec546e4feceb77a7 + zh: a29c9268e1c189c7 +/agent-note-record-last-activity-in-the-session-index/risks: + en: 9aaf88097b46e9b6 + zh: d16e5bbbe221b139 +/agent-note-record-last-activity-in-the-session-index/related: + en: 3fde35c997f273f8 + zh: 2d063c34cc9fe0bb diff --git a/.agents/notes/proposed/architecture/2026-08-08-semantic-composer-chain-phases.i18n.yaml b/.agents/notes/proposed/architecture/2026-08-08-semantic-composer-chain-phases.i18n.yaml index 2345992ba4..311038880f 100644 --- a/.agents/notes/proposed/architecture/2026-08-08-semantic-composer-chain-phases.i18n.yaml +++ b/.agents/notes/proposed/architecture/2026-08-08-semantic-composer-chain-phases.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-08-semantic-composer-chain-phases.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/architecture/2026-08-08-semantic-composer-chain-phases.md -2026-08-08-semantic-composer-chain-phases.md: 8dab5afcdd8025467ba2eeb55406d2464376a8fa -2026-08-08-semantic-composer-chain-phases.zh.md: d00332b1552cf83eb969c764a33a56e2f61b1633 +/agent-note-semantic-phases-for-composer-chain-election: + en: b083187ad8ead004 + zh: b22a0dd83c37c557 +/agent-note-semantic-phases-for-composer-chain-election/problem: + en: 45193c3a6f3d29bf + zh: 7f508649dbe65db5 +/agent-note-semantic-phases-for-composer-chain-election/proposal: + en: 9dc3866376b4590b + zh: 93c2208fe9a43d91 +/agent-note-semantic-phases-for-composer-chain-election/alternatives-considered: + en: 966a5082d8c2fe35 + zh: 6a384edcdec8495e +/agent-note-semantic-phases-for-composer-chain-election/acceptance-criteria: + en: 7ecfc42bcf0be41a + zh: 4efae40db6e6768b +/agent-note-semantic-phases-for-composer-chain-election/risks: + en: 06969296bb3bd8d6 + zh: f90e5cc35d52c53a diff --git a/.agents/notes/proposed/architecture/2026-09-06-logical-session-storage-rebuild.i18n.yaml b/.agents/notes/proposed/architecture/2026-09-06-logical-session-storage-rebuild.i18n.yaml index 9fa4bb0ea1..831a010177 100644 --- a/.agents/notes/proposed/architecture/2026-09-06-logical-session-storage-rebuild.i18n.yaml +++ b/.agents/notes/proposed/architecture/2026-09-06-logical-session-storage-rebuild.i18n.yaml @@ -1,6 +1,55 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-06-logical-session-storage-rebuild.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/architecture/2026-09-06-logical-session-storage-rebuild.md -2026-09-06-logical-session-storage-rebuild.md: 66a7163085e61418f18fcfd6b91c8bfcdde1d626 -2026-09-06-logical-session-storage-rebuild.zh.md: cf37e88f45ed62a9eddc533acca8806a2def3491 +/agent-note-logical-session-and-storage-rebuild: + en: 035f8aa28d4fb486 + zh: 4fa5eef40371cf2f +/agent-note-logical-session-and-storage-rebuild/problem: + en: fe3de6c728124b77 + zh: a28e89b8fee09662 +/agent-note-logical-session-and-storage-rebuild/proposal: + en: 68347f4cef24d57d + zh: e11eaec209be63c6 +/agent-note-logical-session-and-storage-rebuild/stage-1-one-public-logical-session-interface: + en: 27e8e604c508ca73 + zh: 70247d9608e139a4 +/agent-note-logical-session-and-storage-rebuild/stage-1-one-public-logical-session-interface/public-model: + en: add476512bd9ef36 + zh: a8a5225ccd22ec07 +/agent-note-logical-session-and-storage-rebuild/stage-1-one-public-logical-session-interface/stage-1-substages: + en: 9b28d667b2fd1b28 + zh: be44f9f96f698bf2 +/agent-note-logical-session-and-storage-rebuild/stage-1-one-public-logical-session-interface/stage-progress: + en: 4903b4362660063e + zh: ba06aeb34539ef8d +/agent-note-logical-session-and-storage-rebuild/stage-1-one-public-logical-session-interface/invariants: + en: 81fc51ad0abe4f65 + zh: a9dad4cb9d5905a1 +/agent-note-logical-session-and-storage-rebuild/stage-1-one-public-logical-session-interface/enforcement-and-completion: + en: ca6c3e02033b0d01 + zh: 54a89a7e47c2d282 +/agent-note-logical-session-and-storage-rebuild/destination-architecture: + en: e0b4199ec0d5a669 + zh: abc06df82b3f357e +/agent-note-logical-session-and-storage-rebuild/destination-architecture/ownership-rules: + en: cf9d6e20f25929ff + zh: 46c0f13a1f562e0f +/agent-note-logical-session-and-storage-rebuild/destination-architecture/later-stages: + en: d61edd7e232bcb44 + zh: f9065dd60d49bc13 +/agent-note-logical-session-and-storage-rebuild/compatibility-and-non-goals: + en: bf81660f7d4638fa + zh: 4d59310d2e6476fd +/agent-note-logical-session-and-storage-rebuild/references: + en: 32c7669fd961ad1a + zh: 09dca97558a3e7b0 +/agent-note-logical-session-and-storage-rebuild/alternatives-considered: + en: 4bc014b676d93c13 + zh: 1e0a04856da60bb0 +/agent-note-logical-session-and-storage-rebuild/acceptance-criteria: + en: 1a9dfc903efe9627 + zh: f23ff556ffa33f64 +/agent-note-logical-session-and-storage-rebuild/risks: + en: 0916205231867aff + zh: 6efe11a2375d5459 diff --git a/.agents/notes/proposed/architecture/2026-09-10-session-capability-protocols.i18n.yaml b/.agents/notes/proposed/architecture/2026-09-10-session-capability-protocols.i18n.yaml index 70f55ab524..39ee8dfa14 100644 --- a/.agents/notes/proposed/architecture/2026-09-10-session-capability-protocols.i18n.yaml +++ b/.agents/notes/proposed/architecture/2026-09-10-session-capability-protocols.i18n.yaml @@ -1,6 +1,46 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-session-capability-protocols.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/architecture/2026-09-10-session-capability-protocols.md -2026-09-10-session-capability-protocols.md: 6cdc920745d6c98aa10326d1f8e5a4acec3b523d -2026-09-10-session-capability-protocols.zh.md: a242edd419ecbb36556f85aa2d537fe78f68afff +/agent-note-session-capability-protocols: + en: ca990e74165b25e8 + zh: f6749481ec3787e9 +/agent-note-session-capability-protocols/problem: + en: dc259b9d03444112 + zh: 3f7ea3fc166f4f8d +/agent-note-session-capability-protocols/proposal: + en: 31089a7378fdbbae + zh: e4aa40eb444526d0 +/agent-note-session-capability-protocols/proposal/developer-convention-during-migration: + en: 0756ce3afbe3837a + zh: 22ab431cb95405a7 +/agent-note-session-capability-protocols/proposal/logicalsession: + en: f20d151670c882c5 + zh: 91eeebffb10341b8 +/agent-note-session-capability-protocols/proposal/sessionservice: + en: ab0c6458dc1b1fc6 + zh: bf42ff2c99045342 +/agent-note-session-capability-protocols/proposal/sessionstorage: + en: 2090c7003fe92f52 + zh: 4d84b58cc91b73cc +/agent-note-session-capability-protocols/proposal/sessionprojectionport: + en: 030ee3198b7b9e68 + zh: 4267622d67cfd5a1 +/agent-note-session-capability-protocols/proposal/sessionquery: + en: 6da206b02c1eb698 + zh: 347248e3fa322df9 +/agent-note-session-capability-protocols/proposal/overall-architecture: + en: 68e046f0f22eb8d6 + zh: 851c3034df623b3a +/agent-note-session-capability-protocols/proposal/dependency-rule: + en: 6ce178b8e50dbbf4 + zh: 60e0a37b1caa2d3f +/agent-note-session-capability-protocols/alternatives-considered: + en: 4dd5911de0859b8f + zh: 5ba12aa6ba4effbb +/agent-note-session-capability-protocols/acceptance-criteria: + en: 82bfc842f7a0e82e + zh: 1d7bcd72be514e25 +/agent-note-session-capability-protocols/risks: + en: f8c5864d4518322b + zh: 619ef9e236515bf8 diff --git a/.agents/notes/proposed/architecture/2026-09-10-session-data-compatibility.i18n.yaml b/.agents/notes/proposed/architecture/2026-09-10-session-data-compatibility.i18n.yaml index ecc2f6cbfa..7d4523b550 100644 --- a/.agents/notes/proposed/architecture/2026-09-10-session-data-compatibility.i18n.yaml +++ b/.agents/notes/proposed/architecture/2026-09-10-session-data-compatibility.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-session-data-compatibility.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/architecture/2026-09-10-session-data-compatibility.md -2026-09-10-session-data-compatibility.md: 5784ca2a3ae3bae91030c177a8eca3c08f93c8af -2026-09-10-session-data-compatibility.zh.md: 39e5e071703653d9a83d38420d929c0b8a310f68 +/agent-note-session-historical-data-compatibility: + en: bcc2d17eb800361c + zh: 8f74cc9e1c9f3729 +/agent-note-session-historical-data-compatibility/problem: + en: d125f39227dc17ee + zh: ab83089486d70796 +/agent-note-session-historical-data-compatibility/proposal: + en: 986dd8097aac4d3d + zh: 986dd8097aac4d3d +/agent-note-session-historical-data-compatibility/proposal/start-with-0-1-5-rc-1-v3: + en: c0f09bb8e2c3aac5 + zh: 4b7c8d3b1d1a0f76 +/agent-note-session-historical-data-compatibility/proposal/effect-on-ordinary-users: + en: 7e8616cc65f825e3 + zh: db9e5a3e1090985e +/agent-note-session-historical-data-compatibility/proposal/invariants-after-provider-replacement: + en: c3a8bb8665ca6d95 + zh: 96a4b52c31fcc19d +/agent-note-session-historical-data-compatibility/alternatives-considered: + en: 8d34713ac1ca54ea + zh: 25b01743baa11434 +/agent-note-session-historical-data-compatibility/acceptance-criteria: + en: abd8b41ca33f4398 + zh: 54865a11723b670f +/agent-note-session-historical-data-compatibility/risks: + en: 2cb87e77f846c8fe + zh: e4e2f7eae02e0a7e diff --git a/.agents/notes/proposed/architecture/2026-09-10-session-developer-transition.i18n.yaml b/.agents/notes/proposed/architecture/2026-09-10-session-developer-transition.i18n.yaml index 5c8fb0f4fb..074a3d3a03 100644 --- a/.agents/notes/proposed/architecture/2026-09-10-session-developer-transition.i18n.yaml +++ b/.agents/notes/proposed/architecture/2026-09-10-session-developer-transition.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-session-developer-transition.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/architecture/2026-09-10-session-developer-transition.md -2026-09-10-session-developer-transition.md: cde78cbc2005435c48c823b2902da5e9e129d131 -2026-09-10-session-developer-transition.zh.md: a20cb8d4ef0c10fe0abfe25c7189d2f0eb43333c +/agent-note-session-developer-transition-rules: + en: e5554b1d8a98818d + zh: e1ed935f755924b6 +/agent-note-session-developer-transition-rules/problem: + en: bc0c73010718f890 + zh: a8e3ea46366c1c7a +/agent-note-session-developer-transition-rules/proposal: + en: 1f1df17eaf8f96d8 + zh: 1b767d61d3e2e641 +/agent-note-session-developer-transition-rules/proposal/maintenance-rules: + en: 269be7b0b4066b52 + zh: f61684ac468d00ef +/agent-note-session-developer-transition-rules/proposal/common-operation-migrations: + en: 62cc198142f1477f + zh: 37e806f78817e5e3 +/agent-note-session-developer-transition-rules/proposal/how-a-new-contributor-starts: + en: 0fcd7c50d5659978 + zh: 8ada6e3a6f3d6cb3 +/agent-note-session-developer-transition-rules/alternatives-considered: + en: dc22bb7bfbf8cb80 + zh: 8c3bcbe5b1caf20e +/agent-note-session-developer-transition-rules/acceptance-criteria: + en: 630c5d3985fee1e2 + zh: cd107c748ec702ef +/agent-note-session-developer-transition-rules/risks: + en: 4719bc8122ee39fa + zh: 30eaecfd796deba8 diff --git a/.agents/notes/proposed/architecture/2026-09-10-session-refactor-faq.i18n.yaml b/.agents/notes/proposed/architecture/2026-09-10-session-refactor-faq.i18n.yaml index f6433da311..649538063a 100644 --- a/.agents/notes/proposed/architecture/2026-09-10-session-refactor-faq.i18n.yaml +++ b/.agents/notes/proposed/architecture/2026-09-10-session-refactor-faq.i18n.yaml @@ -1,6 +1,46 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-10-session-refactor-faq.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/architecture/2026-09-10-session-refactor-faq.md -2026-09-10-session-refactor-faq.md: cae6dbaaf0354836c34d1414da16f7b274da382e -2026-09-10-session-refactor-faq.zh.md: b0d5099250d439a133ca80b6f555d78541906367 +/agent-note-session-refactor-faq: + en: e51be5edaac914bc + zh: 2e3ef4006e0ab07d +/agent-note-session-refactor-faq/problem: + en: dd6312b4ffd1f4b4 + zh: 16d132992aaf81fc +/agent-note-session-refactor-faq/proposal: + en: 986dd8097aac4d3d + zh: 986dd8097aac4d3d +/agent-note-session-refactor-faq/proposal/why-logicalsession: + en: f3826d6dba15dd3f + zh: c5f63ae9322dd924 +/agent-note-session-refactor-faq/proposal/is-concrete-session-forbidden-immediately: + en: 129c7ac82e23e811 + zh: 834033794db12916 +/agent-note-session-refactor-faq/proposal/how-do-sessionservice-and-sessionstorage-differ: + en: 2dec5b2809ca1ea8 + zh: d6446f78a2da0e0d +/agent-note-session-refactor-faq/proposal/where-does-projection-fit: + en: 6b2ce6773bdd958b + zh: c59f2e6fcea57417 +/agent-note-session-refactor-faq/proposal/why-no-sessionsearch-or-sessionstats: + en: 49016cb52c419fa0 + zh: 1d7ad3a8d23a7d0c +/agent-note-session-refactor-faq/proposal/must-ordinary-users-migrate: + en: 561adffeb62beb3e + zh: bc11f602e9bc6a87 +/agent-note-session-refactor-faq/proposal/what-is-complete: + en: 7693e479cc3d69f2 + zh: ed827338c03c0c01 +/agent-note-session-refactor-faq/proposal/how-can-i-contribute: + en: 4fb0e060d2a6648b + zh: 03f0039e1bc32437 +/agent-note-session-refactor-faq/alternatives-considered: + en: bd143e9bcef3df2c + zh: c20c997563d10d6a +/agent-note-session-refactor-faq/acceptance-criteria: + en: a78f08bcf0c0af46 + zh: 5aa2b6952969705d +/agent-note-session-refactor-faq/risks: + en: e0db80998e7b18b4 + zh: fd6b75e582d743ed diff --git a/.agents/notes/proposed/architecture/2026-09-14-composer-model-and-draft-editor.i18n.yaml b/.agents/notes/proposed/architecture/2026-09-14-composer-model-and-draft-editor.i18n.yaml index 19ee105187..25000b2e09 100644 --- a/.agents/notes/proposed/architecture/2026-09-14-composer-model-and-draft-editor.i18n.yaml +++ b/.agents/notes/proposed/architecture/2026-09-14-composer-model-and-draft-editor.i18n.yaml @@ -1,6 +1,40 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-14-composer-model-and-draft-editor.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/architecture/2026-09-14-composer-model-and-draft-editor.md -2026-09-14-composer-model-and-draft-editor.md: 3f66ab2c73da0a8f66bf43a821cbe5f85363867a -2026-09-14-composer-model-and-draft-editor.zh.md: aa040b0fa68961d4d5884d73791c4986b8bfab50 +/agent-note-two-stage-composer-and-drafteditor-isolation: + en: 28f1ad8c58451112 + zh: f54f43862019e385 +/agent-note-two-stage-composer-and-drafteditor-isolation/problem: + en: 6316522fcd01a9bc + zh: aa6e339e8b528a5b +/agent-note-two-stage-composer-and-drafteditor-isolation/proposal: + en: fbd8d96d050a288c + zh: d312590845174596 +/agent-note-two-stage-composer-and-drafteditor-isolation/proposal/stage-one-five-mechanical-responsibility-extractions: + en: 3add548b95979d3c + zh: c6eab5274037e6b5 +/agent-note-two-stage-composer-and-drafteditor-isolation/proposal/stage-one-five-mechanical-responsibility-extractions/stage-one-invariants: + en: b61469dcd7c9e0fe + zh: 345fca4cb1dc717b +/agent-note-two-stage-composer-and-drafteditor-isolation/proposal/stage-one-five-mechanical-responsibility-extractions/isolation-actually-achieved-in-stage-one: + en: e1e3c2479f2a7e0c + zh: be094599bb90868b +/agent-note-two-stage-composer-and-drafteditor-isolation/proposal/stage-two-behavior-changes-only: + en: 15c72b9d93a8b1bc + zh: a565969f4ec3b00a +/agent-note-two-stage-composer-and-drafteditor-isolation/proposal/stage-two-behavior-changes-only/final-state-ownership: + en: fc9cb7b515ed6fd6 + zh: ca7ac114f93852b9 +/agent-note-two-stage-composer-and-drafteditor-isolation/proposal/stage-two-behavior-changes-only/shared-content-and-synchronization-requirements: + en: 60385537149da946 + zh: 80f4aa1454efdf43 +/agent-note-two-stage-composer-and-drafteditor-isolation/alternatives-considered: + en: e0a41f0e65c4c94c + zh: fac372d2c4c2c740 +/agent-note-two-stage-composer-and-drafteditor-isolation/acceptance-criteria: + en: f9a42d215fc000fa + zh: e6f1735e6ed73279 +/agent-note-two-stage-composer-and-drafteditor-isolation/risks: + en: e01daa84a5d58247 + zh: 41def722300784a8 diff --git a/.agents/notes/proposed/bug-fix/2026-08-20-attachment-read-quarantine.i18n.yaml b/.agents/notes/proposed/bug-fix/2026-08-20-attachment-read-quarantine.i18n.yaml index b53d43cdc7..387e34fc96 100644 --- a/.agents/notes/proposed/bug-fix/2026-08-20-attachment-read-quarantine.i18n.yaml +++ b/.agents/notes/proposed/bug-fix/2026-08-20-attachment-read-quarantine.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-20-attachment-read-quarantine.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/bug-fix/2026-08-20-attachment-read-quarantine.md -2026-08-20-attachment-read-quarantine.md: 28e0f26cee2ec1e257fd4d43b4edc4300e2c6f23 -2026-08-20-attachment-read-quarantine.zh.md: 7f4ceae4e1fe9e656ed762de9828e14145976dc3 +/agent-note-quarantine-unreadable-historical-attachments: + en: 044cc37c349ad018 + zh: ba3336ebf923aeeb +/agent-note-quarantine-unreadable-historical-attachments/problem: + en: 8652fbd5afd34170 + zh: b6399f48311b0a7d +/agent-note-quarantine-unreadable-historical-attachments/proposal: + en: 2a7c272551d37bba + zh: cf58b062d716d301 +/agent-note-quarantine-unreadable-historical-attachments/alternatives-considered: + en: bac910fed94331cd + zh: 6e9ea388c407e3a7 +/agent-note-quarantine-unreadable-historical-attachments/acceptance-criteria: + en: 862b6f6077457010 + zh: 0b4fad8dc4cb0f46 +/agent-note-quarantine-unreadable-historical-attachments/risks: + en: 17a076b575e981e9 + zh: 15961b94d93cffac diff --git a/.agents/notes/proposed/feature/2026-06-30-pre-tool-input-rewrite.i18n.yaml b/.agents/notes/proposed/feature/2026-06-30-pre-tool-input-rewrite.i18n.yaml index fff61a1e56..8d5b683f9e 100644 --- a/.agents/notes/proposed/feature/2026-06-30-pre-tool-input-rewrite.i18n.yaml +++ b/.agents/notes/proposed/feature/2026-06-30-pre-tool-input-rewrite.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-30-pre-tool-input-rewrite.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/feature/2026-06-30-pre-tool-input-rewrite.md -2026-06-30-pre-tool-input-rewrite.md: a42b05ac7d2b4d5808807a5810b9e0c4354333a5 -2026-06-30-pre-tool-input-rewrite.zh.md: 8ef07ea7b6ca446b796c3977d5c87a1e7c49917a +/agent-note-pre-tool-input-rewrite-a-consistent-design: + en: 28be5a60d0f8f70d + zh: 2ade899f45347755 +/agent-note-pre-tool-input-rewrite-a-consistent-design/problem: + en: 1e84d54d317750ed + zh: 5436c2f44569ab52 +/agent-note-pre-tool-input-rewrite-a-consistent-design/the-problem-three-readers-of-pre-execution-arguments: + en: bdc0958b87dbd888 + zh: 0364cad8a5727306 +/agent-note-pre-tool-input-rewrite-a-consistent-design/proposal: + en: b08ad378beb60572 + zh: cb6797c7a0021e9d +/agent-note-pre-tool-input-rewrite-a-consistent-design/alternatives-considered: + en: 6119e2aff3b6be5a + zh: 76136ef5249c23eb +/agent-note-pre-tool-input-rewrite-a-consistent-design/alternatives-considered/why-not-mutate-the-execution-object: + en: 4ef997690f716c9a + zh: f73cdc2154aa5596 +/agent-note-pre-tool-input-rewrite-a-consistent-design/acceptance-criteria: + en: 4e2d12fbc5ad21b3 + zh: fe3a0dace0073283 +/agent-note-pre-tool-input-rewrite-a-consistent-design/risks: + en: ed597673c0102d5c + zh: 2c0fafaa9a093fd0 +/agent-note-pre-tool-input-rewrite-a-consistent-design/open-questions: + en: abf5adcd6d2effbd + zh: 5fdb48fefd55e2c0 diff --git a/.agents/notes/proposed/feature/2026-07-06-recallable-compaction.i18n.yaml b/.agents/notes/proposed/feature/2026-07-06-recallable-compaction.i18n.yaml index d324ff433c..0c37e50f9c 100644 --- a/.agents/notes/proposed/feature/2026-07-06-recallable-compaction.i18n.yaml +++ b/.agents/notes/proposed/feature/2026-07-06-recallable-compaction.i18n.yaml @@ -1,6 +1,46 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-06-recallable-compaction.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/feature/2026-07-06-recallable-compaction.md -2026-07-06-recallable-compaction.md: 07b89116b72a1c1aac2d79ee5aa41ff6e5d02a4c -2026-07-06-recallable-compaction.zh.md: 7347cb08c94665a6e5bb88655ec08d04921d08eb +/agent-note-recallable-compaction-index-checkpoints-a-state-checkpoint-and-in-session-history-recall: + en: 597e215825c64eb9 + zh: 1986c2ec32437386 +/agent-note-recallable-compaction-index-checkpoints-a-state-checkpoint-and-in-session-history-recall/problem: + en: 98419c56fc9d4f6f + zh: 30271b2ad21dc596 +/agent-note-recallable-compaction-index-checkpoints-a-state-checkpoint-and-in-session-history-recall/proposal: + en: d9f2a7ca462c8ee8 + zh: fa029cf95c64e6e6 +/agent-note-recallable-compaction-index-checkpoints-a-state-checkpoint-and-in-session-history-recall/proposal/frozen-index-checkpoints: + en: 8325d916c340ce7e + zh: 8fa9e02b9736c5de +/agent-note-recallable-compaction-index-checkpoints-a-state-checkpoint-and-in-session-history-recall/proposal/the-state-checkpoint: + en: 58fa7358424ce606 + zh: 37e3e0d908c9804c +/agent-note-recallable-compaction-index-checkpoints-a-state-checkpoint-and-in-session-history-recall/proposal/pass-execution: + en: 0bbddf585af7054d + zh: 6a1d4cb86fe1609a +/agent-note-recallable-compaction-index-checkpoints-a-state-checkpoint-and-in-session-history-recall/proposal/the-recall-tools: + en: 650caf9087704463 + zh: 8b1ba814af60e92e +/agent-note-recallable-compaction-index-checkpoints-a-state-checkpoint-and-in-session-history-recall/proposal/cache-and-cost: + en: 5478157a8990200d + zh: 248d5a948cd980bf +/agent-note-recallable-compaction-index-checkpoints-a-state-checkpoint-and-in-session-history-recall/proposal/packaging: + en: be69bf9a59318b82 + zh: 8ba115c958a760ad +/agent-note-recallable-compaction-index-checkpoints-a-state-checkpoint-and-in-session-history-recall/proposal/relation-to-in-flight-work: + en: 649b2f91f7ec6bf0 + zh: e6868d911560ddbd +/agent-note-recallable-compaction-index-checkpoints-a-state-checkpoint-and-in-session-history-recall/proposal/follow-ups: + en: ddef3c8ee8af0a71 + zh: 4d242940dbb34e50 +/agent-note-recallable-compaction-index-checkpoints-a-state-checkpoint-and-in-session-history-recall/alternatives-considered: + en: 927ef2505cfd6596 + zh: 9c84668ec8e7cbdd +/agent-note-recallable-compaction-index-checkpoints-a-state-checkpoint-and-in-session-history-recall/acceptance-criteria: + en: 05c76d5a5decad92 + zh: dd7f5d352e08942e +/agent-note-recallable-compaction-index-checkpoints-a-state-checkpoint-and-in-session-history-recall/risks: + en: f505f9cf132d577f + zh: e68dfd7273f71b21 diff --git a/.agents/notes/proposed/feature/2026-07-08-interactive-side-sessions.i18n.yaml b/.agents/notes/proposed/feature/2026-07-08-interactive-side-sessions.i18n.yaml index 80b3caab4e..a142187273 100644 --- a/.agents/notes/proposed/feature/2026-07-08-interactive-side-sessions.i18n.yaml +++ b/.agents/notes/proposed/feature/2026-07-08-interactive-side-sessions.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-08-interactive-side-sessions.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/feature/2026-07-08-interactive-side-sessions.md -2026-07-08-interactive-side-sessions.md: 53b21497c92a77f075dd146151a6d953ecfc7a8b -2026-07-08-interactive-side-sessions.zh.md: 439d9c4d1a275255f5962028be2bd24d5f829bc6 +/agent-note-interactive-side-sessions-and-merge-back: + en: a200e33a65a4f530 + zh: 47d02d3736310892 +/agent-note-interactive-side-sessions-and-merge-back/problem: + en: 181d0078a702fdf2 + zh: ad1bff4f82fafdf3 +/agent-note-interactive-side-sessions-and-merge-back/proposal: + en: 5fa7d2000db6b265 + zh: a892b74299e0f984 +/agent-note-interactive-side-sessions-and-merge-back/alternatives-considered: + en: de50cab213a61b91 + zh: 85b912193092dfe2 +/agent-note-interactive-side-sessions-and-merge-back/acceptance-criteria: + en: 17d0937a1f28b1ac + zh: 9710ab0af3268da1 +/agent-note-interactive-side-sessions-and-merge-back/risks: + en: 86f12d62580d8d98 + zh: 8c39be21a1e3958f diff --git a/.agents/notes/proposed/feature/2026-08-04-task-surface.i18n.yaml b/.agents/notes/proposed/feature/2026-08-04-task-surface.i18n.yaml index d5cb5514e9..faa5a8965e 100644 --- a/.agents/notes/proposed/feature/2026-08-04-task-surface.i18n.yaml +++ b/.agents/notes/proposed/feature/2026-08-04-task-surface.i18n.yaml @@ -1,6 +1,40 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-04-task-surface.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/feature/2026-08-04-task-surface.md -2026-08-04-task-surface.md: 749ce9e40eea7aeb7a813dc6b2d4c139cf00ac44 -2026-08-04-task-surface.zh.md: 4a63e671ffe05c80dd8bc8ed3a49ab6ff5c44b7e +/agent-note-task-surface-for-structured-session-interaction: + en: fd53b5c7554236fc + zh: 6ff988716b5624cf +/agent-note-task-surface-for-structured-session-interaction/problem: + en: a4c96dae864a027e + zh: 432e6de734832966 +/agent-note-task-surface-for-structured-session-interaction/proposal: + en: 7f8d02649159a3a6 + zh: f63982864b6ad943 +/agent-note-task-surface-for-structured-session-interaction/declarative-model: + en: 9650ef8f65049b7d + zh: c0925b701a6b681c +/agent-note-task-surface-for-structured-session-interaction/tool-and-presentation-contract: + en: 836a14533a918d95 + zh: 0522d458992c5355 +/agent-note-task-surface-for-structured-session-interaction/submission-contract: + en: 480c434bc0825063 + zh: bbcace61f8d82188 +/agent-note-task-surface-for-structured-session-interaction/lifecycle-and-recovery: + en: 26beff219ebb0ce9 + zh: 664d4c76adf56175 +/agent-note-task-surface-for-structured-session-interaction/package-boundaries-and-dependencies: + en: 02aad87dd24d822f + zh: 9d49b5fa588e5e11 +/agent-note-task-surface-for-structured-session-interaction/delivery-stages: + en: 25d0951356cf412d + zh: 994619aaab7c2348 +/agent-note-task-surface-for-structured-session-interaction/alternatives-considered: + en: 121ceb5920763980 + zh: 7d7c1576faf4f331 +/agent-note-task-surface-for-structured-session-interaction/acceptance-criteria: + en: e5db6c885617dd5d + zh: 0a54a00d2a195bfb +/agent-note-task-surface-for-structured-session-interaction/risks: + en: 84a297fcdef9aaad + zh: a9ce38547d650e55 diff --git a/.agents/notes/proposed/feature/2026-09-08-desktop-mandatory-update-api.i18n.yaml b/.agents/notes/proposed/feature/2026-09-08-desktop-mandatory-update-api.i18n.yaml index a928ba5315..d49e11a253 100644 --- a/.agents/notes/proposed/feature/2026-09-08-desktop-mandatory-update-api.i18n.yaml +++ b/.agents/notes/proposed/feature/2026-09-08-desktop-mandatory-update-api.i18n.yaml @@ -1,6 +1,43 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-desktop-mandatory-update-api.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/feature/2026-09-08-desktop-mandatory-update-api.md -2026-09-08-desktop-mandatory-update-api.md: f88216065fe09221c7a14805e4d25fb97a259abc -2026-09-08-desktop-mandatory-update-api.zh.md: cb3e631040d221b87979b7fcd379c8881dba36bd +/agent-note-desktop-mandatory-update-api: + en: c0ea3f7826d8e253 + zh: 89feec8209a54f26 +/agent-note-desktop-mandatory-update-api/problem: + en: cc14e499c0f87586 + zh: 4cf849710b782d4b +/agent-note-desktop-mandatory-update-api/proposal: + en: 264c54ffe91f3193 + zh: 005512e1c498ccc1 +/agent-note-desktop-mandatory-update-api/proposal/endpoint-and-access: + en: 6c82820724930bb5 + zh: 5f6a0bbfd6fb6b16 +/agent-note-desktop-mandatory-update-api/proposal/request: + en: d015126512123574 + zh: a77e66d4f1808402 +/agent-note-desktop-mandatory-update-api/proposal/no-mandatory-update: + en: 4814b1bd7002d6ed + zh: 3f0d77beb046e2fc +/agent-note-desktop-mandatory-update-api/proposal/mandatory-update: + en: d3ae240665143695 + zh: 486115cd2fdf35ed +/agent-note-desktop-mandatory-update-api/proposal/errors-and-policy-matching: + en: 5da5e6a38a739201 + zh: 5af5743f9f162dd4 +/agent-note-desktop-mandatory-update-api/proposal/policy-publication-and-current-decisions: + en: d4d70e1541b2c2d1 + zh: a1b6e62a05b239be +/agent-note-desktop-mandatory-update-api/proposal/capacity-and-caching: + en: d176fc8d0eb355db + zh: b9f60de3e4f0a3fc +/agent-note-desktop-mandatory-update-api/alternatives-considered: + en: 1b69fd084869fb38 + zh: 90efcd2484f5a175 +/agent-note-desktop-mandatory-update-api/acceptance-criteria: + en: 6708b52f0c474ca7 + zh: 0ce9c9d3aa2e82c7 +/agent-note-desktop-mandatory-update-api/risks: + en: a5689674032b188e + zh: 06b83a878fba55b3 diff --git a/.agents/notes/proposed/feature/2026-09-08-desktop-update-extensions.i18n.yaml b/.agents/notes/proposed/feature/2026-09-08-desktop-update-extensions.i18n.yaml index 7119122de4..ce51330f2a 100644 --- a/.agents/notes/proposed/feature/2026-09-08-desktop-update-extensions.i18n.yaml +++ b/.agents/notes/proposed/feature/2026-09-08-desktop-update-extensions.i18n.yaml @@ -1,6 +1,43 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-desktop-update-extensions.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/feature/2026-09-08-desktop-update-extensions.md -2026-09-08-desktop-update-extensions.md: 6c8a2ebe4a38809f6c3a7fb4741b3520111402c6 -2026-09-08-desktop-update-extensions.zh.md: 06096c8b28136ab2e22325857021926e06b3b17e +/agent-note-deferred-desktop-update-extensions: + en: 01b20c9e8c51f739 + zh: 2b2ef6d0d38d3d19 +/agent-note-deferred-desktop-update-extensions/problem: + en: da98b267b01e4829 + zh: 0ae373bd57094e74 +/agent-note-deferred-desktop-update-extensions/proposal: + en: eb4ae06bfef53a90 + zh: f40702aa6a557792 +/agent-note-deferred-desktop-update-extensions/proposal/independent-revisions: + en: 403bd786a8411349 + zh: c44584e8a7e5b74a +/agent-note-deferred-desktop-update-extensions/proposal/stable-subscription-and-channel-switching: + en: f39b1ed0d941d372 + zh: 05b9a006c9ec0d3c +/agent-note-deferred-desktop-update-extensions/proposal/automatic-installation-setting: + en: 758d49f0a7dc6707 + zh: ddb0bfe616eb93bc +/agent-note-deferred-desktop-update-extensions/proposal/next-launch-installation: + en: 606f1eea66d829f7 + zh: d72108d762a58957 +/agent-note-deferred-desktop-update-extensions/proposal/updater-dependency-qualification: + en: c1a508d15bbc37e8 + zh: 63e7648130377fbb +/agent-note-deferred-desktop-update-extensions/proposal/multiple-pending-versions: + en: e6cf3f78703ebd25 + zh: 63e473e8949df81a +/agent-note-deferred-desktop-update-extensions/proposal/cache-invalidation-and-revocation: + en: 22c2d3aa60611f71 + zh: 27c6c0128effac56 +/agent-note-deferred-desktop-update-extensions/alternatives-considered: + en: 699aca5ea4c3e894 + zh: 2306f90a6819d711 +/agent-note-deferred-desktop-update-extensions/acceptance-criteria: + en: cc1a2d1972f483ce + zh: 8f9d654387e76df0 +/agent-note-deferred-desktop-update-extensions/risks: + en: 1422bf65f3ea6e3b + zh: bc6d7c1a39ffbbf5 diff --git a/.agents/notes/proposed/feature/2026-09-08-desktop-update-policy-and-installation.i18n.yaml b/.agents/notes/proposed/feature/2026-09-08-desktop-update-policy-and-installation.i18n.yaml index 838cbee511..11052cfad3 100644 --- a/.agents/notes/proposed/feature/2026-09-08-desktop-update-policy-and-installation.i18n.yaml +++ b/.agents/notes/proposed/feature/2026-09-08-desktop-update-policy-and-installation.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-08-desktop-update-policy-and-installation.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/feature/2026-09-08-desktop-update-policy-and-installation.md -2026-09-08-desktop-update-policy-and-installation.md: fa88a7dd798e050d658969ad586bd86e0ac323df -2026-09-08-desktop-update-policy-and-installation.zh.md: d9dc74f66a72dceeafd119fac9e491b3c2a29aa1 +/agent-note-desktop-update-policy-and-installation: + en: 250865822f42a08a + zh: f7fab178a4835c04 +/agent-note-desktop-update-policy-and-installation/problem: + en: 96e7c7a206e06f15 + zh: 189133653543a98c +/agent-note-desktop-update-policy-and-installation/proposal: + en: 73b06c4b868250d5 + zh: 947419d367f6c7e9 +/agent-note-desktop-update-policy-and-installation/proposal/release-and-backend-qualification: + en: 03612a65e4a65939 + zh: 4d45467930e9f364 +/agent-note-desktop-update-policy-and-installation/proposal/open-product-choices: + en: 1ced7c2ababf429f + zh: 9879fba6f288236c +/agent-note-desktop-update-policy-and-installation/proposal/cdn-and-capacity-qualification: + en: a857e8c566e0cbd2 + zh: 6b4fd99b7482c2b1 +/agent-note-desktop-update-policy-and-installation/alternatives-considered: + en: ff419f29cfc6702b + zh: dc79b9d3d9bef98f +/agent-note-desktop-update-policy-and-installation/acceptance-criteria: + en: db7d20578a44d2ca + zh: 81b71132c9c08725 +/agent-note-desktop-update-policy-and-installation/risks: + en: c518abbbfd98b9ca + zh: 0d325d2b825eee87 diff --git a/.agents/notes/proposed/process/2026-06-11-api-extractor-reports.i18n.yaml b/.agents/notes/proposed/process/2026-06-11-api-extractor-reports.i18n.yaml index 834ddaf3ac..e1f8080e43 100644 --- a/.agents/notes/proposed/process/2026-06-11-api-extractor-reports.i18n.yaml +++ b/.agents/notes/proposed/process/2026-06-11-api-extractor-reports.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-11-api-extractor-reports.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/process/2026-06-11-api-extractor-reports.md -2026-06-11-api-extractor-reports.md: 2aee524596a5b798591fecded539a8d2236a3d96 -2026-06-11-api-extractor-reports.zh.md: e62b6168efac5c8296b55ff8ee0c7861d1849d31 +/agent-note-api-extractor-reports: + en: 5bf55ca547e54ed9 + zh: 62bc2de82f342803 +/agent-note-api-extractor-reports/problem: + en: 1155ed0bd1964b95 + zh: 4d00955e7602b8b4 +/agent-note-api-extractor-reports/proposal: + en: bdf121c8a35a7cf6 + zh: 106d7be6dba363cf +/agent-note-api-extractor-reports/alternatives-considered: + en: 36a7bef28b50f0a1 + zh: 1051720fd8c30f7a +/agent-note-api-extractor-reports/acceptance-criteria: + en: b3dd74eab1781311 + zh: 63fd46fd11656832 +/agent-note-api-extractor-reports/risks: + en: 21838e31d29b87fb + zh: c72c81ef53b090e0 +/agent-note-api-extractor-reports/why-deferred: + en: e2a8a7c13f4db704 + zh: aeae101a9a77d677 diff --git a/.agents/notes/proposed/process/2026-06-11-supply-chain-and-vendor-drift.i18n.yaml b/.agents/notes/proposed/process/2026-06-11-supply-chain-and-vendor-drift.i18n.yaml index adce053a55..d5fe12dd4d 100644 --- a/.agents/notes/proposed/process/2026-06-11-supply-chain-and-vendor-drift.i18n.yaml +++ b/.agents/notes/proposed/process/2026-06-11-supply-chain-and-vendor-drift.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-11-supply-chain-and-vendor-drift.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/process/2026-06-11-supply-chain-and-vendor-drift.md -2026-06-11-supply-chain-and-vendor-drift.md: aecab81292e8d6eb59fe13a5530ba78de9b307a5 -2026-06-11-supply-chain-and-vendor-drift.zh.md: ba55b3b1815c8164650dd4aa5022dd4f98efd6a4 +/agent-note-supply-chain-checks-and-vendor-drift-verification: + en: 14763706c0292472 + zh: bc846b9df1cd559c +/agent-note-supply-chain-checks-and-vendor-drift-verification/problem: + en: 2668c33c520ba25e + zh: 5dbb2e8a25cc50cd +/agent-note-supply-chain-checks-and-vendor-drift-verification/proposal: + en: c9f9e2ebf0e66922 + zh: 2c1ed4bc35bc2d90 +/agent-note-supply-chain-checks-and-vendor-drift-verification/plan: + en: c52921928996b2f0 + zh: 6c0ae36667b1bf44 +/agent-note-supply-chain-checks-and-vendor-drift-verification/alternatives-considered: + en: 39f18421ca3a9c3d + zh: 5923ddb6c420e56f +/agent-note-supply-chain-checks-and-vendor-drift-verification/acceptance-criteria: + en: e770eb9ebced47d1 + zh: df915bb02264be7a +/agent-note-supply-chain-checks-and-vendor-drift-verification/risks: + en: 515f9c9dd5ef7c20 + zh: a8358875334b2c64 diff --git a/.agents/notes/proposed/process/2026-06-20-discover-package-inventory.i18n.yaml b/.agents/notes/proposed/process/2026-06-20-discover-package-inventory.i18n.yaml index f673045a49..1a93b05ba6 100644 --- a/.agents/notes/proposed/process/2026-06-20-discover-package-inventory.i18n.yaml +++ b/.agents/notes/proposed/process/2026-06-20-discover-package-inventory.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-20-discover-package-inventory.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/process/2026-06-20-discover-package-inventory.md -2026-06-20-discover-package-inventory.md: 81674dd4d1e6f1ca15491754fbb35f5262be9581 -2026-06-20-discover-package-inventory.zh.md: 2a782d07ddbefc1d80eef2825220de179428377b +/agent-note-discover-package-inventories-instead-of-maintaining-static-lists: + en: 3e6f3d4389b83ace + zh: dc84644418444fe6 +/agent-note-discover-package-inventories-instead-of-maintaining-static-lists/problem: + en: 3331c27d7f05a293 + zh: d3f87bd458a65f1d +/agent-note-discover-package-inventories-instead-of-maintaining-static-lists/proposal: + en: ce955aa355c15117 + zh: 4d6f464bd5336981 +/agent-note-discover-package-inventories-instead-of-maintaining-static-lists/acceptance-criteria: + en: 99944a56114596df + zh: ec13f47fb2deef94 +/agent-note-discover-package-inventories-instead-of-maintaining-static-lists/risks: + en: e2876e76daf10637 + zh: 01126163c6f15960 diff --git a/.agents/notes/proposed/process/2026-07-13-human-review-skill-maintenance.i18n.yaml b/.agents/notes/proposed/process/2026-07-13-human-review-skill-maintenance.i18n.yaml index 25abf497a8..766efdc8d0 100644 --- a/.agents/notes/proposed/process/2026-07-13-human-review-skill-maintenance.i18n.yaml +++ b/.agents/notes/proposed/process/2026-07-13-human-review-skill-maintenance.i18n.yaml @@ -1,6 +1,40 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-13-human-review-skill-maintenance.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/process/2026-07-13-human-review-skill-maintenance.md -2026-07-13-human-review-skill-maintenance.md: b741c8b595fcd36613cb246af483863d1e056697 -2026-07-13-human-review-skill-maintenance.zh.md: b43e05c79b60056f3f38eabb00dd5af9a3611c6e +/agent-note-periodic-human-review-maintenance-for-dsh-code-review: + en: 7c3dc085ce13a5e9 + zh: e24659d5088e7e46 +/agent-note-periodic-human-review-maintenance-for-dsh-code-review/problem: + en: 7525ad5821b12c44 + zh: 7daef3ed8aa176e9 +/agent-note-periodic-human-review-maintenance-for-dsh-code-review/proposal: + en: ea478f77c2f26d85 + zh: dc6208e15615d5af +/agent-note-periodic-human-review-maintenance-for-dsh-code-review/proposal/acquisition-contract: + en: a95dea3f6b37af6f + zh: 29cfc8f03a8b487b +/agent-note-periodic-human-review-maintenance-for-dsh-code-review/proposal/adoption-evidence: + en: f61dfd9e11b1e5a5 + zh: c87f245097c39fc7 +/agent-note-periodic-human-review-maintenance-for-dsh-code-review/proposal/dual-reviewer-classification-and-drafting: + en: fe1f6987e5a7d4f7 + zh: 74d990935316e69b +/agent-note-periodic-human-review-maintenance-for-dsh-code-review/proposal/reviewer-adapter-protocol: + en: baa824361e643e80 + zh: 15d5efb0a1ca2c11 +/agent-note-periodic-human-review-maintenance-for-dsh-code-review/proposal/promotion-contract: + en: dd6810cf423430bc + zh: 0c81e470f64af150 +/agent-note-periodic-human-review-maintenance-for-dsh-code-review/proposal/where-the-mechanism-lives: + en: 2f9ffbf8619445a9 + zh: 1dd0144e9a00d8fe +/agent-note-periodic-human-review-maintenance-for-dsh-code-review/alternatives-considered: + en: 1673a2138ddd34c2 + zh: 81c91a50ea0703d6 +/agent-note-periodic-human-review-maintenance-for-dsh-code-review/acceptance-criteria: + en: a9354faa1dc793a3 + zh: f0b8da665facaecc +/agent-note-periodic-human-review-maintenance-for-dsh-code-review/risks: + en: b26ffb43c1c35b3a + zh: c2c8b81a8317cd55 diff --git a/.agents/notes/proposed/process/2026-07-26-remove-packed-session-fixture-migrator.i18n.yaml b/.agents/notes/proposed/process/2026-07-26-remove-packed-session-fixture-migrator.i18n.yaml index 282663d336..de3a6b948b 100644 --- a/.agents/notes/proposed/process/2026-07-26-remove-packed-session-fixture-migrator.i18n.yaml +++ b/.agents/notes/proposed/process/2026-07-26-remove-packed-session-fixture-migrator.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-26-remove-packed-session-fixture-migrator.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/process/2026-07-26-remove-packed-session-fixture-migrator.md -2026-07-26-remove-packed-session-fixture-migrator.md: 0a29ef98828ac07d291392d637b0508937c9a9a6 -2026-07-26-remove-packed-session-fixture-migrator.zh.md: aa9aece710587cef6c84ad9cf078821a2506deb1 +/agent-note-remove-the-packed-session-fixture-branch-migrator: + en: 0a308bd6231fb8ad + zh: c72bd0f6f327fadd +/agent-note-remove-the-packed-session-fixture-branch-migrator/problem: + en: 26671139b244f2ad + zh: fb2bbcc283b6f108 +/agent-note-remove-the-packed-session-fixture-branch-migrator/proposal: + en: 6e9555d667a64807 + zh: 7d7d59ae0f8859c9 +/agent-note-remove-the-packed-session-fixture-branch-migrator/alternatives-considered: + en: 7066942e7b78faba + zh: 6174e50357d868c5 +/agent-note-remove-the-packed-session-fixture-branch-migrator/acceptance-criteria: + en: 2ea0da4f97ecec97 + zh: 308aed4607df56af +/agent-note-remove-the-packed-session-fixture-branch-migrator/risks: + en: ee7d26eb7287179b + zh: 96f2cf320cc1adc8 diff --git a/.agents/notes/proposed/process/2026-08-20-audience-first-documentation-quality.i18n.yaml b/.agents/notes/proposed/process/2026-08-20-audience-first-documentation-quality.i18n.yaml index 5f57698abb..e1371258e1 100644 --- a/.agents/notes/proposed/process/2026-08-20-audience-first-documentation-quality.i18n.yaml +++ b/.agents/notes/proposed/process/2026-08-20-audience-first-documentation-quality.i18n.yaml @@ -1,6 +1,52 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-20-audience-first-documentation-quality.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/process/2026-08-20-audience-first-documentation-quality.md -2026-08-20-audience-first-documentation-quality.md: 9e0c4a61408449100b79148a571cd740e4044040 -2026-08-20-audience-first-documentation-quality.zh.md: 0b6f1da54380f1d2d44afbe948131233def513cd +/agent-note-audience-first-documentation-quality-criteria: + en: 5fd84aa1a097f80f + zh: 073d973331b00ca4 +/agent-note-audience-first-documentation-quality-criteria/problem: + en: 86ee1c395115b7d2 + zh: 7fea995569331599 +/agent-note-audience-first-documentation-quality-criteria/problem/semantic-correctness-can-pass-without-a-current-owner: + en: d752be65975937fa + zh: f0c9a94ccff8e059 +/agent-note-audience-first-documentation-quality-criteria/problem/reader-success-is-implicit-rather-than-testable: + en: 9d7c94e84fdeea18 + zh: e315ae5d470d576b +/agent-note-audience-first-documentation-quality-criteria/problem/generated-accuracy-and-retrieval-quality-are-conflated: + en: ebca610981ca8519 + zh: df367b6ad77db2bd +/agent-note-audience-first-documentation-quality-criteria/problem/the-standard-has-no-room-for-its-next-rule: + en: 08014cdc897e21c2 + zh: b3fdc5236ee7144f +/agent-note-audience-first-documentation-quality-criteria/problem/baseline: + en: 43bd2079e17f92a0 + zh: 7f0553e1417eb759 +/agent-note-audience-first-documentation-quality-criteria/proposal: + en: 1f28c04d5002af94 + zh: 4d4dfea99fc6aee2 +/agent-note-audience-first-documentation-quality-criteria/proposal/prototype-rules: + en: 6ee5714bc0b33cda + zh: 587bd85f6f712868 +/agent-note-audience-first-documentation-quality-criteria/proposal/criteria-by-document-job: + en: 9abbe4f2d5038284 + zh: 45d30352d9cce4b5 +/agent-note-audience-first-documentation-quality-criteria/proposal/generated-reference-entry-and-detail-layers: + en: 2641ca1307c3308f + zh: 15fd0415d40a9190 +/agent-note-audience-first-documentation-quality-criteria/proposal/enforcement-slices: + en: c2f6617cf8b3bab4 + zh: b9ad3dae2fc50ddf +/agent-note-audience-first-documentation-quality-criteria/proposal/non-goals: + en: e8633d73b0273bfd + zh: 516e6d805158d303 +/agent-note-audience-first-documentation-quality-criteria/alternatives-considered: + en: 5f09627b84bf112b + zh: b0f1845df90e5f1a +/agent-note-audience-first-documentation-quality-criteria/acceptance-criteria: + en: 696ff7205b3362d0 + zh: a62a50cf3ceadac6 +/agent-note-audience-first-documentation-quality-criteria/risks: + en: b920900d3ff05073 + zh: 05b2a0271b825260 diff --git a/.agents/notes/proposed/process/2026-08-27-port-tool-owned-render.i18n.yaml b/.agents/notes/proposed/process/2026-08-27-port-tool-owned-render.i18n.yaml index 542aa17c63..38917672a7 100644 --- a/.agents/notes/proposed/process/2026-08-27-port-tool-owned-render.i18n.yaml +++ b/.agents/notes/proposed/process/2026-08-27-port-tool-owned-render.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-27-port-tool-owned-render.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/process/2026-08-27-port-tool-owned-render.md -2026-08-27-port-tool-owned-render.md: 4ab27142fdc2d13d7d152c21c2f246e340fb4711 -2026-08-27-port-tool-owned-render.zh.md: fe8a018235db59b6f3bf80eae45d3a25181f37ec +/agent-note-port-tool-owned-render-into-current-dsh-apis: + en: a13180eec1968793 + zh: e47a83ddb329de88 +/agent-note-port-tool-owned-render-into-current-dsh-apis/problem: + en: 3a3ceea534efabd1 + zh: f13f8531d1819b8a +/agent-note-port-tool-owned-render-into-current-dsh-apis/proposal: + en: a51c0e6f23d8d4d4 + zh: 1eecd0ed06685c40 +/agent-note-port-tool-owned-render-into-current-dsh-apis/alternatives-considered: + en: a2364e3fca0a06e5 + zh: a76370082e218154 +/agent-note-port-tool-owned-render-into-current-dsh-apis/acceptance-criteria: + en: 5e2815d18df000f9 + zh: 97845472646b1881 +/agent-note-port-tool-owned-render-into-current-dsh-apis/risks: + en: 4fa51a62af0a3fc5 + zh: d6f555a8a5d9120c diff --git a/.agents/notes/proposed/simplification/2026-09-17-defer-office-background-scheduling.i18n.yaml b/.agents/notes/proposed/simplification/2026-09-17-defer-office-background-scheduling.i18n.yaml index 35fe5b54d9..0374d8ce64 100644 --- a/.agents/notes/proposed/simplification/2026-09-17-defer-office-background-scheduling.i18n.yaml +++ b/.agents/notes/proposed/simplification/2026-09-17-defer-office-background-scheduling.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-17-defer-office-background-scheduling.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/simplification/2026-09-17-defer-office-background-scheduling.md -2026-09-17-defer-office-background-scheduling.md: 82311022a015671b9fb4cf3a0f3eba2714f325cd -2026-09-17-defer-office-background-scheduling.zh.md: ada0146f204fa40e71d48251c231c1b68c5fa5a1 +/agent-note-defer-office-background-scheduling-until-a-consumer-needs-it: + en: 9966b1c4fdb2585b + zh: 4eb24c283facf38d +/agent-note-defer-office-background-scheduling-until-a-consumer-needs-it/problem: + en: bb725ab25ff39f86 + zh: d198514119b31a61 +/agent-note-defer-office-background-scheduling-until-a-consumer-needs-it/proposal: + en: e33db390dbbcc86c + zh: 890df8891260103a +/agent-note-defer-office-background-scheduling-until-a-consumer-needs-it/alternatives-considered: + en: 597346036314c907 + zh: 91661d961623c7cd +/agent-note-defer-office-background-scheduling-until-a-consumer-needs-it/acceptance-criteria: + en: b475d4e83972fa02 + zh: 43de8f23a9346708 +/agent-note-defer-office-background-scheduling-until-a-consumer-needs-it/risks: + en: 4c2324c00381cbc7 + zh: dfe6d1068ac7560c diff --git a/.agents/notes/proposed/simplification/2026-09-19-config-only-hmr.i18n.yaml b/.agents/notes/proposed/simplification/2026-09-19-config-only-hmr.i18n.yaml index c959db81ed..3b2501788a 100644 --- a/.agents/notes/proposed/simplification/2026-09-19-config-only-hmr.i18n.yaml +++ b/.agents/notes/proposed/simplification/2026-09-19-config-only-hmr.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-config-only-hmr.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/simplification/2026-09-19-config-only-hmr.md -2026-09-19-config-only-hmr.md: a5f447a8a426e9f2831a1292cae1132acab99023 -2026-09-19-config-only-hmr.zh.md: 24651aa310994b3fec4d925a84fe5d88ae6a5851 +/agent-note-limit-dsh-hmr-to-live-profile-configuration: + en: c46e2d07a9e6143f + zh: f75300d70300c324 +/agent-note-limit-dsh-hmr-to-live-profile-configuration/problem: + en: e81dd5edb54b05ad + zh: 601b28ef74134ac1 +/agent-note-limit-dsh-hmr-to-live-profile-configuration/proposal: + en: 15a88d4c7db728e2 + zh: 6fb1a28c03930a5e +/agent-note-limit-dsh-hmr-to-live-profile-configuration/alternatives-considered: + en: 9ca293c37f4df4af + zh: c8e1a8815e1c9d3f +/agent-note-limit-dsh-hmr-to-live-profile-configuration/acceptance-criteria: + en: ea1dbf4681f60fcf + zh: fa7b9f7888bfc24f +/agent-note-limit-dsh-hmr-to-live-profile-configuration/risks: + en: de00ca4e66cff7d0 + zh: fb82e77bd554c1f6 diff --git a/.agents/notes/proposed/simplification/2026-09-19-omit-fs-payload-invariant.i18n.yaml b/.agents/notes/proposed/simplification/2026-09-19-omit-fs-payload-invariant.i18n.yaml index e582498d41..30d37e8252 100644 --- a/.agents/notes/proposed/simplification/2026-09-19-omit-fs-payload-invariant.i18n.yaml +++ b/.agents/notes/proposed/simplification/2026-09-19-omit-fs-payload-invariant.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-omit-fs-payload-invariant.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/simplification/2026-09-19-omit-fs-payload-invariant.md -2026-09-19-omit-fs-payload-invariant.md: e91fa1784aa99869e3d457f7fc25a330fbc43088 -2026-09-19-omit-fs-payload-invariant.zh.md: ba81baed5f7d7051ef22218d9d59180ac87c8a21 +/agent-note-omit-the-filesystem-payload-only-invariant-companion: + en: 6385aa079529c4f4 + zh: 602b99cea351125c +/agent-note-omit-the-filesystem-payload-only-invariant-companion/problem: + en: 4568d53b3ef69254 + zh: 66c9aea2ae3645e7 +/agent-note-omit-the-filesystem-payload-only-invariant-companion/proposal: + en: 2bfceaa480b6645d + zh: 3ad1060bf91ded74 +/agent-note-omit-the-filesystem-payload-only-invariant-companion/alternatives-considered: + en: d12fd1577a308af3 + zh: 56271794646f5a87 +/agent-note-omit-the-filesystem-payload-only-invariant-companion/acceptance-criteria: + en: 253009b93ce34c5b + zh: 2268e0303bd025d6 +/agent-note-omit-the-filesystem-payload-only-invariant-companion/risks: + en: 70c52f193d72d02d + zh: f30844e865ac4c27 diff --git a/.agents/notes/proposed/simplification/2026-09-19-provider-only-instruction-reads.i18n.yaml b/.agents/notes/proposed/simplification/2026-09-19-provider-only-instruction-reads.i18n.yaml index 46510688ef..47b5014e29 100644 --- a/.agents/notes/proposed/simplification/2026-09-19-provider-only-instruction-reads.i18n.yaml +++ b/.agents/notes/proposed/simplification/2026-09-19-provider-only-instruction-reads.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-provider-only-instruction-reads.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/simplification/2026-09-19-provider-only-instruction-reads.md -2026-09-19-provider-only-instruction-reads.md: 26d004c136cff8deb155007cf8d7743bc8bba95a -2026-09-19-provider-only-instruction-reads.zh.md: 82f3451f96578f1ee596bf9291a1a3c935d5f698 +/agent-note-read-instruction-files-only-through-a-filesystem-provider: + en: 522a0143262cd96a + zh: 667e48df6cd37c61 +/agent-note-read-instruction-files-only-through-a-filesystem-provider/problem: + en: 5426489eed9b447e + zh: 97132891bfff4b41 +/agent-note-read-instruction-files-only-through-a-filesystem-provider/proposal: + en: 1f6d8ce78f5ab682 + zh: c71c97c0268ac165 +/agent-note-read-instruction-files-only-through-a-filesystem-provider/alternatives-considered: + en: c942573554ef1d63 + zh: 7af89ae9434f7521 +/agent-note-read-instruction-files-only-through-a-filesystem-provider/acceptance-criteria: + en: ea8f9800cfbea9e6 + zh: a3c07d3a09d0fff4 +/agent-note-read-instruction-files-only-through-a-filesystem-provider/risks: + en: f8b63ab7c6a924ab + zh: 753472b8491105f0 diff --git a/.agents/notes/proposed/simplification/2026-09-19-prune-stream-visibility-helpers.i18n.yaml b/.agents/notes/proposed/simplification/2026-09-19-prune-stream-visibility-helpers.i18n.yaml index 6360d57daa..51801755e1 100644 --- a/.agents/notes/proposed/simplification/2026-09-19-prune-stream-visibility-helpers.i18n.yaml +++ b/.agents/notes/proposed/simplification/2026-09-19-prune-stream-visibility-helpers.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-prune-stream-visibility-helpers.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/simplification/2026-09-19-prune-stream-visibility-helpers.md -2026-09-19-prune-stream-visibility-helpers.md: e44716fe15eb0ff09020ff4417b1dd9f4e9c29f4 -2026-09-19-prune-stream-visibility-helpers.zh.md: 60d010f260a6cadc99a15bde164bb0717dd7502a +/agent-note-prune-unused-stream-visibility-helpers: + en: 5d82ce82cac8a687 + zh: 4cfc68fceb215e35 +/agent-note-prune-unused-stream-visibility-helpers/problem: + en: da5bf344b0d704c1 + zh: 6826b064d8b66373 +/agent-note-prune-unused-stream-visibility-helpers/proposal: + en: b6cec09bd23a2f5a + zh: ac348bbe47ea7cc9 +/agent-note-prune-unused-stream-visibility-helpers/alternatives-considered: + en: 1a190cf86a9f7ec9 + zh: 2a30aa235c69bdc7 +/agent-note-prune-unused-stream-visibility-helpers/acceptance-criteria: + en: ee2de1dbabc60983 + zh: d01c9f1e399266af +/agent-note-prune-unused-stream-visibility-helpers/risks: + en: 466ed8d1fb426011 + zh: 1c0765622c9fdf32 diff --git a/.agents/notes/proposed/simplification/2026-09-19-python-sdk-directional-client.i18n.yaml b/.agents/notes/proposed/simplification/2026-09-19-python-sdk-directional-client.i18n.yaml index 3920961bcf..df72997d92 100644 --- a/.agents/notes/proposed/simplification/2026-09-19-python-sdk-directional-client.i18n.yaml +++ b/.agents/notes/proposed/simplification/2026-09-19-python-sdk-directional-client.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-python-sdk-directional-client.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/simplification/2026-09-19-python-sdk-directional-client.md -2026-09-19-python-sdk-directional-client.md: 287126d65cc9e81e240c2b18081b2935c107760a -2026-09-19-python-sdk-directional-client.zh.md: caf9b7c73a00b8865b6d189fe512f96afb20dad9 +/agent-note-remove-the-python-sdk-s-unused-reverse-rpc-direction: + en: 29c6b53f7f81bfd8 + zh: 94139164373cda91 +/agent-note-remove-the-python-sdk-s-unused-reverse-rpc-direction/problem: + en: e8779fc70adce0e4 + zh: 288565d427fe65ae +/agent-note-remove-the-python-sdk-s-unused-reverse-rpc-direction/proposal: + en: 508671a9a29a8f2a + zh: 750587c118eb7450 +/agent-note-remove-the-python-sdk-s-unused-reverse-rpc-direction/alternatives-considered: + en: 2fb93911daacf365 + zh: 4c2e2599283cab94 +/agent-note-remove-the-python-sdk-s-unused-reverse-rpc-direction/acceptance-criteria: + en: bbfd9485fbe4e523 + zh: 283486f66c96b447 +/agent-note-remove-the-python-sdk-s-unused-reverse-rpc-direction/risks: + en: d0a75f4fa88d4bf7 + zh: 9a7635d8040d8068 diff --git a/.agents/notes/proposed/simplification/2026-09-19-retire-app-bin-boot-helpers.i18n.yaml b/.agents/notes/proposed/simplification/2026-09-19-retire-app-bin-boot-helpers.i18n.yaml index d11c6bed98..9b077fc6d1 100644 --- a/.agents/notes/proposed/simplification/2026-09-19-retire-app-bin-boot-helpers.i18n.yaml +++ b/.agents/notes/proposed/simplification/2026-09-19-retire-app-bin-boot-helpers.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-retire-app-bin-boot-helpers.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/simplification/2026-09-19-retire-app-bin-boot-helpers.md -2026-09-19-retire-app-bin-boot-helpers.md: c67013bfae8569d0f750b3c8be5e56c57a2a66aa -2026-09-19-retire-app-bin-boot-helpers.zh.md: 5ef68ff3d8666e8b74d36c50eacbcf5048a4438a +/agent-note-retire-app-boot-helpers-used-only-by-fixtures: + en: db7c1d105d67279e + zh: 299512664ce8a27f +/agent-note-retire-app-boot-helpers-used-only-by-fixtures/problem: + en: f617e973b4e5c136 + zh: 90a32c3023bd4bbb +/agent-note-retire-app-boot-helpers-used-only-by-fixtures/proposal: + en: 9887763c3f2362ad + zh: 00a5fdaf4ea5f438 +/agent-note-retire-app-boot-helpers-used-only-by-fixtures/alternatives-considered: + en: 3fdc33ab9299103d + zh: 79f42a6b79d90b8a +/agent-note-retire-app-boot-helpers-used-only-by-fixtures/acceptance-criteria: + en: a8cedd0cdfe6526d + zh: cb08fcd8117f9ddf +/agent-note-retire-app-boot-helpers-used-only-by-fixtures/risks: + en: caf3a0c07667e4ae + zh: 41195542888a3e83 diff --git a/.agents/notes/proposed/simplification/2026-09-19-retire-prompt-registry-change-event.i18n.yaml b/.agents/notes/proposed/simplification/2026-09-19-retire-prompt-registry-change-event.i18n.yaml index 625e054ecf..1f094f2d6f 100644 --- a/.agents/notes/proposed/simplification/2026-09-19-retire-prompt-registry-change-event.i18n.yaml +++ b/.agents/notes/proposed/simplification/2026-09-19-retire-prompt-registry-change-event.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-retire-prompt-registry-change-event.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/simplification/2026-09-19-retire-prompt-registry-change-event.md -2026-09-19-retire-prompt-registry-change-event.md: 1103675525e30c7f6c345a1fe92f07cbd0bcce4a -2026-09-19-retire-prompt-registry-change-event.zh.md: a49df2eebad7134b7b038ee2e6ab54610bd4c635 +/agent-note-retire-the-prompt-registry-change-event: + en: 081a6a1f8f256c6e + zh: c49dd9c0e7e42f24 +/agent-note-retire-the-prompt-registry-change-event/problem: + en: 22259f002f329483 + zh: d5a9c78a80af5187 +/agent-note-retire-the-prompt-registry-change-event/proposal: + en: dba84cfd3aa5f719 + zh: d3f6eece6f2f8148 +/agent-note-retire-the-prompt-registry-change-event/alternatives-considered: + en: 768edcebf26d1af4 + zh: 7c009a2f1513061e +/agent-note-retire-the-prompt-registry-change-event/acceptance-criteria: + en: 1ca375eac1e970f7 + zh: 741e1d56ec2bc89b +/agent-note-retire-the-prompt-registry-change-event/risks: + en: 0a86fce4d2962eef + zh: cecb538a90fdd5ea diff --git a/.agents/notes/proposed/simplification/2026-09-19-shell-env-key-declarations.i18n.yaml b/.agents/notes/proposed/simplification/2026-09-19-shell-env-key-declarations.i18n.yaml index bed94c3f36..06790c6cff 100644 --- a/.agents/notes/proposed/simplification/2026-09-19-shell-env-key-declarations.i18n.yaml +++ b/.agents/notes/proposed/simplification/2026-09-19-shell-env-key-declarations.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-shell-env-key-declarations.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/simplification/2026-09-19-shell-env-key-declarations.md -2026-09-19-shell-env-key-declarations.md: 7b74e55e6b8602cb488d16040d57fe41d16e14da -2026-09-19-shell-env-key-declarations.zh.md: 03d7ed9fdee1c1181c529c2b2dd26ceb7c791ef2 +/agent-note-keep-shell-environment-declarations-focused-on-key-ownership: + en: 45ac68010d497bfd + zh: 388e4f51893c4615 +/agent-note-keep-shell-environment-declarations-focused-on-key-ownership/problem: + en: ff308f45fc6f5242 + zh: 025b58883a3e175b +/agent-note-keep-shell-environment-declarations-focused-on-key-ownership/proposal: + en: ffd78167917dfa4b + zh: dbcb1004009ea9f5 +/agent-note-keep-shell-environment-declarations-focused-on-key-ownership/alternatives-considered: + en: 476de18c44f2ad86 + zh: a0a15da6c5e7fbf7 +/agent-note-keep-shell-environment-declarations-focused-on-key-ownership/acceptance-criteria: + en: 3196e83f9ae22f45 + zh: 0766bf5914672572 +/agent-note-keep-shell-environment-declarations-focused-on-key-ownership/risks: + en: 55e2677a8d48d759 + zh: ff97043cc6a6a31b diff --git a/.agents/notes/proposed/simplification/2026-09-19-trim-session-query-convenience-api.i18n.yaml b/.agents/notes/proposed/simplification/2026-09-19-trim-session-query-convenience-api.i18n.yaml index 676a701835..5cb6a84212 100644 --- a/.agents/notes/proposed/simplification/2026-09-19-trim-session-query-convenience-api.i18n.yaml +++ b/.agents/notes/proposed/simplification/2026-09-19-trim-session-query-convenience-api.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-09-19-trim-session-query-convenience-api.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/simplification/2026-09-19-trim-session-query-convenience-api.md -2026-09-19-trim-session-query-convenience-api.md: 1a3d558c9be5e16b5e9e84a59a9731b55174114c -2026-09-19-trim-session-query-convenience-api.zh.md: 63c3ae309edee8366eae4d5db10cc59f0b72e843 +/agent-note-trim-unused-sessionquery-convenience-methods: + en: 0639096a41a3eeb4 + zh: f5ff6ed78687b440 +/agent-note-trim-unused-sessionquery-convenience-methods/problem: + en: 62f49ae402951c28 + zh: 95985e67cbb5b6ac +/agent-note-trim-unused-sessionquery-convenience-methods/proposal: + en: 3848c7dcdbf70815 + zh: d2ae878e6057afc8 +/agent-note-trim-unused-sessionquery-convenience-methods/alternatives-considered: + en: 431cc99fec52f696 + zh: ee5bcfe54f7f703c +/agent-note-trim-unused-sessionquery-convenience-methods/acceptance-criteria: + en: 44741d711dff0e30 + zh: be1e6f9547dabc74 +/agent-note-trim-unused-sessionquery-convenience-methods/risks: + en: 2095fdf1f2beaa26 + zh: 0152ac808e52fd08 diff --git a/.agents/notes/proposed/testing/2026-06-11-deterministic-and-stress-testing.i18n.yaml b/.agents/notes/proposed/testing/2026-06-11-deterministic-and-stress-testing.i18n.yaml index b6e4d8e0cd..76b8746242 100644 --- a/.agents/notes/proposed/testing/2026-06-11-deterministic-and-stress-testing.i18n.yaml +++ b/.agents/notes/proposed/testing/2026-06-11-deterministic-and-stress-testing.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-11-deterministic-and-stress-testing.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/testing/2026-06-11-deterministic-and-stress-testing.md -2026-06-11-deterministic-and-stress-testing.md: d4264663178829c6e6e309ce940926bd94778755 -2026-06-11-deterministic-and-stress-testing.zh.md: 2d349682caa4f57b6d0d093d1b48c24ae431a5a5 +/agent-note-deterministic-tests-the-replay-invariant-fixture-and-race-stress: + en: 542fbe788af50a46 + zh: ac3cd25980079e57 +/agent-note-deterministic-tests-the-replay-invariant-fixture-and-race-stress/problem: + en: f53f96fa64894350 + zh: cb24d89ce7ed6d23 +/agent-note-deterministic-tests-the-replay-invariant-fixture-and-race-stress/proposal: + en: 634037df9edd48bd + zh: 5b0533bfbe315e89 +/agent-note-deterministic-tests-the-replay-invariant-fixture-and-race-stress/plan: + en: 35540eefb6f19904 + zh: 7212368b41786ffc +/agent-note-deterministic-tests-the-replay-invariant-fixture-and-race-stress/acceptance-criteria: + en: e88b12f0cdc2748a + zh: 3a918218fe6e89a7 +/agent-note-deterministic-tests-the-replay-invariant-fixture-and-race-stress/risks: + en: 072c15d39395fbde + zh: a21a7a21a7879f56 diff --git a/.agents/notes/proposed/testing/2026-06-11-mutation-testing.i18n.yaml b/.agents/notes/proposed/testing/2026-06-11-mutation-testing.i18n.yaml index d31176617a..c1c40758be 100644 --- a/.agents/notes/proposed/testing/2026-06-11-mutation-testing.i18n.yaml +++ b/.agents/notes/proposed/testing/2026-06-11-mutation-testing.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-11-mutation-testing.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/proposed/testing/2026-06-11-mutation-testing.md -2026-06-11-mutation-testing.md: 591d9012644a19ee2c67a916b63092d79f78db1f -2026-06-11-mutation-testing.zh.md: a8e786ab6566d12762c55bc559b436a13f3b32b2 +/agent-note-mutation-testing-as-the-coverage-counterweight: + en: 521fac2a2df2498e + zh: 9a508486144b2e74 +/agent-note-mutation-testing-as-the-coverage-counterweight/problem: + en: f67a5e8beb51c898 + zh: 9f997eaf27491ea4 +/agent-note-mutation-testing-as-the-coverage-counterweight/proposal: + en: 4aa172d4d1c7e419 + zh: dae8a42d5693e509 +/agent-note-mutation-testing-as-the-coverage-counterweight/plan: + en: e5b6fbdf1fbdde82 + zh: e3d050014107519f +/agent-note-mutation-testing-as-the-coverage-counterweight/acceptance-criteria: + en: 3671f37e25e586f7 + zh: e6af9b37fe92f775 +/agent-note-mutation-testing-as-the-coverage-counterweight/risks: + en: b1c2fce21adc8388 + zh: b9c2292f55c3292b diff --git a/.agents/notes/rejected/architecture/2026-06-16-typed-event-schemas.i18n.yaml b/.agents/notes/rejected/architecture/2026-06-16-typed-event-schemas.i18n.yaml index 9a28742fb7..a1a2f350fc 100644 --- a/.agents/notes/rejected/architecture/2026-06-16-typed-event-schemas.i18n.yaml +++ b/.agents/notes/rejected/architecture/2026-06-16-typed-event-schemas.i18n.yaml @@ -1,6 +1,40 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-16-typed-event-schemas.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/rejected/architecture/2026-06-16-typed-event-schemas.md -2026-06-16-typed-event-schemas.md: 5912c39016acb4bc44089af16bf46edffe3023d0 -2026-06-16-typed-event-schemas.zh.md: 67d0c1be31e56ae6f109b5cc4402629c2b6f868f +/agent-note-runtime-schemas-for-the-event-vocabulary-zod-vs-the-merge-extensible-map-pattern: + en: 63685a0c0afc3f07 + zh: 8f7e06562771ee1d +/agent-note-runtime-schemas-for-the-event-vocabulary-zod-vs-the-merge-extensible-map-pattern/problem: + en: 6bea9eb883f324d2 + zh: 2bef9b9fa5233d09 +/agent-note-runtime-schemas-for-the-event-vocabulary-zod-vs-the-merge-extensible-map-pattern/why-this-is-not-a-persistence-change: + en: 42d48e48d694d3de + zh: f556f4624b55a480 +/agent-note-runtime-schemas-for-the-event-vocabulary-zod-vs-the-merge-extensible-map-pattern/blast-radius-measured: + en: ec70e76b82ba21b5 + zh: 25fb4a60f8da5cb5 +/agent-note-runtime-schemas-for-the-event-vocabulary-zod-vs-the-merge-extensible-map-pattern/alternatives-considered: + en: 6119e2aff3b6be5a + zh: 76136ef5249c23eb +/agent-note-runtime-schemas-for-the-event-vocabulary-zod-vs-the-merge-extensible-map-pattern/alternatives-considered/a-status-quo-merge-extensible-types-isjsonvalue-at-the-durable-boundary: + en: d5ea1b3124b341a7 + zh: 766ed3689efc1802 +/agent-note-runtime-schemas-for-the-event-vocabulary-zod-vs-the-merge-extensible-map-pattern/alternatives-considered/b-header-closed-shape-validation-only-schemastery-events-stay-opaque: + en: 5120fc56473696d1 + zh: 611d6f53efa282f0 +/agent-note-runtime-schemas-for-the-event-vocabulary-zod-vs-the-merge-extensible-map-pattern/alternatives-considered/c-runtime-schema-registry-for-the-whole-vocabulary-zod-or-schemastery: + en: db3cebf2efcf1fcd + zh: 631a39e8900c0e1d +/agent-note-runtime-schemas-for-the-event-vocabulary-zod-vs-the-merge-extensible-map-pattern/proposal: + en: 33078a5945dc2aa3 + zh: 32baff49e47e9823 +/agent-note-runtime-schemas-for-the-event-vocabulary-zod-vs-the-merge-extensible-map-pattern/acceptance-criteria: + en: 37626ef8a2dcd7e0 + zh: 0b215089ce58e65d +/agent-note-runtime-schemas-for-the-event-vocabulary-zod-vs-the-merge-extensible-map-pattern/risks: + en: 79e720cfffe60257 + zh: b4aea0d52f3ee072 +/agent-note-runtime-schemas-for-the-event-vocabulary-zod-vs-the-merge-extensible-map-pattern/open-questions: + en: afc8275e1598eb34 + zh: f3684ee3aba33cf1 diff --git a/.agents/notes/rejected/architecture/2026-07-25-client-settings-locale-theme.i18n.yaml b/.agents/notes/rejected/architecture/2026-07-25-client-settings-locale-theme.i18n.yaml index 76a82753fc..0d568431e3 100644 --- a/.agents/notes/rejected/architecture/2026-07-25-client-settings-locale-theme.i18n.yaml +++ b/.agents/notes/rejected/architecture/2026-07-25-client-settings-locale-theme.i18n.yaml @@ -1,6 +1,34 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-25-client-settings-locale-theme.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/rejected/architecture/2026-07-25-client-settings-locale-theme.md -2026-07-25-client-settings-locale-theme.md: e7f4b64ab0d44492435b63a066abca9d0ae1394d -2026-07-25-client-settings-locale-theme.zh.md: 9edd7395afd48fd7088e0c64d74d1c704a584b15 +/agent-note-client-settings-locale-and-theme-layering: + en: ebeba4110da742d5 + zh: 3cfc57b1eb553185 +/agent-note-client-settings-locale-and-theme-layering/problem: + en: 4cec7e053c53607b + zh: 3796b79366e7ea58 +/agent-note-client-settings-locale-and-theme-layering/proposal: + en: 3dd489ca0eab19bd + zh: a57d5dd4d2496f04 +/agent-note-client-settings-locale-and-theme-layering/proposal/first-phase-registration-surfaces: + en: 7a4890dffd207a66 + zh: 4353be1cf48bf68d +/agent-note-client-settings-locale-and-theme-layering/proposal/slot-topology: + en: bc2aba013c52fca5 + zh: 734e5ef05792bdf9 +/agent-note-client-settings-locale-and-theme-layering/proposal/slot-declarations-are-first-class-injectable-waits: + en: 9df71cdd33cd691d + zh: 9ac3eba3d89192d9 +/agent-note-client-settings-locale-and-theme-layering/proposal/service-contracts: + en: 30c49423999492e5 + zh: bce71328fdd946c5 +/agent-note-client-settings-locale-and-theme-layering/alternatives-considered: + en: 258859f30f0b9784 + zh: 70d48285033c3d8f +/agent-note-client-settings-locale-and-theme-layering/acceptance-criteria: + en: 9ff6ce8ea22dab22 + zh: c8dd20442b50df21 +/agent-note-client-settings-locale-and-theme-layering/risks: + en: fb649d6c5a86bc09 + zh: cb5520268d365ca9 diff --git a/.agents/notes/rejected/architecture/2026-08-08-cordis-web-dynamic-packages.i18n.yaml b/.agents/notes/rejected/architecture/2026-08-08-cordis-web-dynamic-packages.i18n.yaml index d2969612cb..ede08a7406 100644 --- a/.agents/notes/rejected/architecture/2026-08-08-cordis-web-dynamic-packages.i18n.yaml +++ b/.agents/notes/rejected/architecture/2026-08-08-cordis-web-dynamic-packages.i18n.yaml @@ -1,6 +1,73 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-08-cordis-web-dynamic-packages.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/rejected/architecture/2026-08-08-cordis-web-dynamic-packages.md -2026-08-08-cordis-web-dynamic-packages.md: e6c7b9135198ae4f3c21f0b5116e99c521ede185 -2026-08-08-cordis-web-dynamic-packages.zh.md: 269f0f279f5415c6506bb509bfb54c3b819637d6 +/agent-note-cordis-host-client-dynamic-plugin-runtime: + en: f89118c354fe715d + zh: dcee1e4dd9bbb250 +/agent-note-cordis-host-client-dynamic-plugin-runtime/problem: + en: 19617f888995a1ec + zh: e4abb5efa2b77571 +/agent-note-cordis-host-client-dynamic-plugin-runtime/proposal: + en: 986dd8097aac4d3d + zh: 986dd8097aac4d3d +/agent-note-cordis-host-client-dynamic-plugin-runtime/proposal/core-principles: + en: 400bacbc13cc4ca2 + zh: efb84f4257ebf13c +/agent-note-cordis-host-client-dynamic-plugin-runtime/proposal/package-responsibilities-and-dependency-direction: + en: 60b7a0c8880e579c + zh: d85388f9e9d34589 +/agent-note-cordis-host-client-dynamic-plugin-runtime/proposal/domain-objects: + en: fb29437ba7cc624a + zh: 2c2322991e282f7c +/agent-note-cordis-host-client-dynamic-plugin-runtime/proposal/domain-objects/plugin: + en: 84d17d0aa91fa20c + zh: 354cf1a6531e2353 +/agent-note-cordis-host-client-dynamic-plugin-runtime/proposal/domain-objects/package: + en: 950f4e014a7fa6df + zh: 9641809a80ddbb9f +/agent-note-cordis-host-client-dynamic-plugin-runtime/proposal/domain-objects/plugin-run: + en: f5cc71352e3f2eea + zh: 6933e78a031bb3e1 +/agent-note-cordis-host-client-dynamic-plugin-runtime/proposal/domain-objects/version-pointers: + en: 0d17a946a46eb645 + zh: 0d82d5287cd227af +/agent-note-cordis-host-client-dynamic-plugin-runtime/proposal/host-authority-and-persistence: + en: 02a605a63f0b9d06 + zh: 3918b603de86ad4b +/agent-note-cordis-host-client-dynamic-plugin-runtime/proposal/define-run-and-version-switching: + en: dce63bf4526ae240 + zh: 32898ea25290fd35 +/agent-note-cordis-host-client-dynamic-plugin-runtime/proposal/client-approval-and-authorization: + en: d3c874acd464c5da + zh: 04ffde8db6a0daa9 +/agent-note-cordis-host-client-dynamic-plugin-runtime/proposal/client-activation-orchestration: + en: 58708703b5069952 + zh: c378e4398b8d8063 +/agent-note-cordis-host-client-dynamic-plugin-runtime/proposal/package-private-client-to-host-communication: + en: 02f6557f8f3f1155 + zh: 33e2f26f371f20b6 +/agent-note-cordis-host-client-dynamic-plugin-runtime/proposal/dynamic-code-guard-and-lifecycle: + en: 601f8cc278c10286 + zh: 31aa97d5c66b086c +/agent-note-cordis-host-client-dynamic-plugin-runtime/proposal/inspect-providers-and-catalogs: + en: 8febbabca425cce7 + zh: 078461769a69719f +/agent-note-cordis-host-client-dynamic-plugin-runtime/proposal/model-guidance-layers: + en: 879ad6fef8ca4ae7 + zh: 38ec8d838628bacd +/agent-note-cordis-host-client-dynamic-plugin-runtime/proposal/pluginid-and-tool-ui: + en: 03c501a6503961fc + zh: 4e5b6633a393f8ca +/agent-note-cordis-host-client-dynamic-plugin-runtime/proposal/errors-and-model-feedback: + en: ec2d9dedbe2cd9d5 + zh: 005260a95cda020c +/agent-note-cordis-host-client-dynamic-plugin-runtime/alternatives-considered: + en: ef5f387f4019d7ad + zh: 4d5da887bafc5f22 +/agent-note-cordis-host-client-dynamic-plugin-runtime/acceptance-criteria: + en: 3a4b3100f19377d6 + zh: c36d31e04f7d4b2d +/agent-note-cordis-host-client-dynamic-plugin-runtime/risks: + en: 3ec21c3758ab98a8 + zh: e949a28f8e38042c diff --git a/.agents/notes/rejected/process/2026-06-11-architectural-conformance.i18n.yaml b/.agents/notes/rejected/process/2026-06-11-architectural-conformance.i18n.yaml index 1d03942760..0e5a8660a4 100644 --- a/.agents/notes/rejected/process/2026-06-11-architectural-conformance.i18n.yaml +++ b/.agents/notes/rejected/process/2026-06-11-architectural-conformance.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-11-architectural-conformance.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/rejected/process/2026-06-11-architectural-conformance.md -2026-06-11-architectural-conformance.md: 631b032235aba3ecd0045cdfc72e719265efc867 -2026-06-11-architectural-conformance.zh.md: 74af5a377c0f80a6c53ecf2a1a8935c1e2f92f4c +/agent-note-architectural-conformance-dependency-rules-and-the-adapter-kit: + en: 708fe0c94db3e25a + zh: 07437d3cb67a9240 +/agent-note-architectural-conformance-dependency-rules-and-the-adapter-kit/problem: + en: 2d5d19405f22920b + zh: 8ca48379706cbe35 +/agent-note-architectural-conformance-dependency-rules-and-the-adapter-kit/proposal: + en: 81d30d5657ece906 + zh: 1e7c61e5b9229ef6 +/agent-note-architectural-conformance-dependency-rules-and-the-adapter-kit/plan: + en: 56bb9b7b97ba6bf5 + zh: 2e3f0a70ce391029 +/agent-note-architectural-conformance-dependency-rules-and-the-adapter-kit/acceptance-criteria: + en: 2953797008c6c120 + zh: 42fd01df8a2a8f0b +/agent-note-architectural-conformance-dependency-rules-and-the-adapter-kit/risks: + en: 09eb0e6924573fe0 + zh: 60ca8648ec25afca diff --git a/.agents/notes/rejected/process/2026-08-04-artifact-first-npm-baseline-publication.i18n.yaml b/.agents/notes/rejected/process/2026-08-04-artifact-first-npm-baseline-publication.i18n.yaml index c0c61084e3..e0c297bfc5 100644 --- a/.agents/notes/rejected/process/2026-08-04-artifact-first-npm-baseline-publication.i18n.yaml +++ b/.agents/notes/rejected/process/2026-08-04-artifact-first-npm-baseline-publication.i18n.yaml @@ -1,6 +1,37 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-08-04-artifact-first-npm-baseline-publication.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/rejected/process/2026-08-04-artifact-first-npm-baseline-publication.md -2026-08-04-artifact-first-npm-baseline-publication.md: 1c317176521afd2e11707f954520039a3f229a44 -2026-08-04-artifact-first-npm-baseline-publication.zh.md: c2822ed0b572b60fe23cab7c5dc1ebfbe02230f7 +/agent-note-artifact-first-npm-baseline-publication: + en: d0656ef5ec966473 + zh: 3d7930c502e0fa0a +/agent-note-artifact-first-npm-baseline-publication/problem: + en: 262109304a235ff0 + zh: 0399026e9afa9403 +/agent-note-artifact-first-npm-baseline-publication/proposal: + en: e3324fac080bfa55 + zh: 89e385b4d37df216 +/agent-note-artifact-first-npm-baseline-publication/current-implementation-boundary: + en: 49678acc335339b1 + zh: fdebfb169e49d34d +/agent-note-artifact-first-npm-baseline-publication/publication-payload-contract: + en: 6ad6a8829fe06538 + zh: 70e1507b7c85cb8a +/agent-note-artifact-first-npm-baseline-publication/artifact-plane-integration-test: + en: 129d1df710a8c8f7 + zh: 208002598644da1b +/agent-note-artifact-first-npm-baseline-publication/publication-and-recovery: + en: f45f84678f8184ae + zh: 5f87157df6e828b5 +/agent-note-artifact-first-npm-baseline-publication/github-actions-integration: + en: c376aca1e297c9d2 + zh: 2902f72e6d16e9ae +/agent-note-artifact-first-npm-baseline-publication/alternatives-considered: + en: d3b5794ac85b0a19 + zh: 222d054cbb7c8354 +/agent-note-artifact-first-npm-baseline-publication/acceptance-criteria: + en: fc56f357e3ef7cc5 + zh: ba108d552935f6bc +/agent-note-artifact-first-npm-baseline-publication/risks: + en: 7939117bb1674385 + zh: 9768d75303b04bc1 diff --git a/.agents/notes/rejected/simplification/2026-06-20-drop-durable-step-boundaries.i18n.yaml b/.agents/notes/rejected/simplification/2026-06-20-drop-durable-step-boundaries.i18n.yaml index bd6f2c6d48..088c91091b 100644 --- a/.agents/notes/rejected/simplification/2026-06-20-drop-durable-step-boundaries.i18n.yaml +++ b/.agents/notes/rejected/simplification/2026-06-20-drop-durable-step-boundaries.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-20-drop-durable-step-boundaries.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/rejected/simplification/2026-06-20-drop-durable-step-boundaries.md -2026-06-20-drop-durable-step-boundaries.md: c5c4f269a378e334c4dc509d1288146d77d9a520 -2026-06-20-drop-durable-step-boundaries.zh.md: 2ee8abb3a57ed1a702530e9952d2d776c90554a4 +/agent-note-drop-durable-step-boundary-events: + en: 0b9830ce816f2850 + zh: 5e937fff837261f4 +/agent-note-drop-durable-step-boundary-events/problem: + en: d9011152056a58c3 + zh: 5989ef2a4f6bf5ab +/agent-note-drop-durable-step-boundary-events/proposal: + en: 3ef7c3e871cde268 + zh: fd762265542e0614 +/agent-note-drop-durable-step-boundary-events/acceptance-criteria: + en: 05d9927015af73ae + zh: a32f893355f95797 +/agent-note-drop-durable-step-boundary-events/what-we-give-up: + en: 280d1d43670d7b99 + zh: 92a21a61242694c1 diff --git a/.agents/notes/rejected/simplification/2026-06-20-fold-session-persistence-interface.i18n.yaml b/.agents/notes/rejected/simplification/2026-06-20-fold-session-persistence-interface.i18n.yaml index 47d6125e0d..7e9de72fc1 100644 --- a/.agents/notes/rejected/simplification/2026-06-20-fold-session-persistence-interface.i18n.yaml +++ b/.agents/notes/rejected/simplification/2026-06-20-fold-session-persistence-interface.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-20-fold-session-persistence-interface.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/rejected/simplification/2026-06-20-fold-session-persistence-interface.md -2026-06-20-fold-session-persistence-interface.md: 58c6aa8f5b3b77f146e18d285ebf3fe1e36b0778 -2026-06-20-fold-session-persistence-interface.zh.md: 9fb53d16fced3d17ee0a76a05df04628ac9d8c95 +/agent-note-fold-the-persistence-interface-into-dsh-session: + en: ec1120bc953f18db + zh: 905c9fcee9a2ab8c +/agent-note-fold-the-persistence-interface-into-dsh-session/problem: + en: 132b1c96f4d271a0 + zh: 52f235f23160cb1b +/agent-note-fold-the-persistence-interface-into-dsh-session/proposal: + en: 8eecfc7bd6c83608 + zh: 658fc8e8eac425b7 +/agent-note-fold-the-persistence-interface-into-dsh-session/acceptance-criteria: + en: a141343494939ee4 + zh: 2b9a95f1aadd319f +/agent-note-fold-the-persistence-interface-into-dsh-session/what-we-give-up: + en: 595671143eb17f28 + zh: a6f019fb64ba3a90 diff --git a/.agents/notes/rejected/simplification/2026-06-20-truncate-interrupted-turns.i18n.yaml b/.agents/notes/rejected/simplification/2026-06-20-truncate-interrupted-turns.i18n.yaml index d460dbd142..d1a8821362 100644 --- a/.agents/notes/rejected/simplification/2026-06-20-truncate-interrupted-turns.i18n.yaml +++ b/.agents/notes/rejected/simplification/2026-06-20-truncate-interrupted-turns.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-06-20-truncate-interrupted-turns.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/rejected/simplification/2026-06-20-truncate-interrupted-turns.md -2026-06-20-truncate-interrupted-turns.md: c4b0084de537927a27829eb78990c6559bd1df7d -2026-06-20-truncate-interrupted-turns.zh.md: ad6c85fc62077be45b1f3bb55c31cf4b4a7fd1d1 +/agent-note-truncate-interrupted-final-turns-on-load: + en: 71d2ea22bb13721d + zh: 8c215ff52de9ba0d +/agent-note-truncate-interrupted-final-turns-on-load/problem: + en: d96af2be3caa1b54 + zh: 02cb84c44916fab9 +/agent-note-truncate-interrupted-final-turns-on-load/proposal: + en: 764ee72b3b2b654a + zh: 92ea690926ff99a4 +/agent-note-truncate-interrupted-final-turns-on-load/acceptance-criteria: + en: 5aeb3cf919f6d9c7 + zh: 8cc171e48d5c0761 +/agent-note-truncate-interrupted-final-turns-on-load/what-we-give-up: + en: 583aa8d003225c57 + zh: 2d90befccf8be0ca +/agent-note-truncate-interrupted-final-turns-on-load/related: + en: a2af11959bf10ac3 + zh: 402cf5f0c4f019d8 diff --git a/.agents/notes/rejected/simplification/2026-07-04-prune-dead-core-spine-api.i18n.yaml b/.agents/notes/rejected/simplification/2026-07-04-prune-dead-core-spine-api.i18n.yaml index 52d12170a2..810e07aad4 100644 --- a/.agents/notes/rejected/simplification/2026-07-04-prune-dead-core-spine-api.i18n.yaml +++ b/.agents/notes/rejected/simplification/2026-07-04-prune-dead-core-spine-api.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-04-prune-dead-core-spine-api.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/rejected/simplification/2026-07-04-prune-dead-core-spine-api.md -2026-07-04-prune-dead-core-spine-api.md: 35130b1af2a2245ff575604466e098dcae7776cc -2026-07-04-prune-dead-core-spine-api.zh.md: d2782b733b76a29b48f74e81d4a76a0f90575fdb +/agent-note-prune-dead-public-api-and-result-fields: + en: 787501dcdb05bf03 + zh: cf13583535e5a444 +/agent-note-prune-dead-public-api-and-result-fields/problem: + en: 277564591633536c + zh: ddfbc0231a04b51d +/agent-note-prune-dead-public-api-and-result-fields/problem/grouped-helper-export-inventory: + en: 84cb62303daf31bf + zh: 3478dd10d2a761fc +/agent-note-prune-dead-public-api-and-result-fields/proposal: + en: 414aca8de0a22c38 + zh: 9458a8db0cea11e7 +/agent-note-prune-dead-public-api-and-result-fields/alternatives-considered: + en: e8eecc41540c8d67 + zh: 60110bcdfaba5dad +/agent-note-prune-dead-public-api-and-result-fields/acceptance-criteria: + en: ef426fe8180fdfe8 + zh: 7e7f4cdb5d2ce655 +/agent-note-prune-dead-public-api-and-result-fields/risks: + en: c88948f52999d392 + zh: 3b1b98c54d082ae1 diff --git a/.agents/notes/rejected/simplification/2026-07-12-prune-unused-skill-registry-api.i18n.yaml b/.agents/notes/rejected/simplification/2026-07-12-prune-unused-skill-registry-api.i18n.yaml index fdadd105b9..334f3c3c9b 100644 --- a/.agents/notes/rejected/simplification/2026-07-12-prune-unused-skill-registry-api.i18n.yaml +++ b/.agents/notes/rejected/simplification/2026-07-12-prune-unused-skill-registry-api.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-12-prune-unused-skill-registry-api.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/rejected/simplification/2026-07-12-prune-unused-skill-registry-api.md -2026-07-12-prune-unused-skill-registry-api.md: 23fb0163296a1cf6cd8700ad745f60e52371a3b1 -2026-07-12-prune-unused-skill-registry-api.zh.md: e1496aab7bc77dc04600a95bea8a5db3f8955053 +/agent-note-prune-unused-skill-registry-api: + en: ff5d0311e8e1e032 + zh: a5c7ab3f62dc41b3 +/agent-note-prune-unused-skill-registry-api/problem: + en: dcd820314b04d01c + zh: c2131cbda05d276c +/agent-note-prune-unused-skill-registry-api/proposal: + en: 803833583cc47fe4 + zh: f9cc914a2b1acb07 +/agent-note-prune-unused-skill-registry-api/alternatives-considered: + en: b8f81e90df8b47c2 + zh: 04d7b9c5fef53f6d +/agent-note-prune-unused-skill-registry-api/acceptance-criteria: + en: 601e07918e345279 + zh: 36f81302639503b5 +/agent-note-prune-unused-skill-registry-api/risks: + en: 81cbe6895b2dd805 + zh: a52ce97e9e47d177 diff --git a/.agents/notes/rejected/simplification/2026-07-19-fold-compaction-package-split.i18n.yaml b/.agents/notes/rejected/simplification/2026-07-19-fold-compaction-package-split.i18n.yaml index d524222cb5..7f181e0cc6 100644 --- a/.agents/notes/rejected/simplification/2026-07-19-fold-compaction-package-split.i18n.yaml +++ b/.agents/notes/rejected/simplification/2026-07-19-fold-compaction-package-split.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-19-fold-compaction-package-split.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/rejected/simplification/2026-07-19-fold-compaction-package-split.md -2026-07-19-fold-compaction-package-split.md: 17d2ff5b8b663131eb3548dbf32d9489ca174f6b -2026-07-19-fold-compaction-package-split.zh.md: a981e0096516d51481360f95a0d72720a9023c5e +/agent-note-fold-the-single-compaction-backend-into-its-service-package: + en: 22e69a4c9159be12 + zh: c68cd8f8f536dc03 +/agent-note-fold-the-single-compaction-backend-into-its-service-package/problem: + en: 272d8d731bdf45b7 + zh: 7502a76b7d3cd367 +/agent-note-fold-the-single-compaction-backend-into-its-service-package/proposal: + en: 4db8bc2ee4039e44 + zh: e1a8c9714d1c4de0 +/agent-note-fold-the-single-compaction-backend-into-its-service-package/alternatives-considered: + en: 0c7f4bd4b7745c96 + zh: 9bf5a98dd485dbbd +/agent-note-fold-the-single-compaction-backend-into-its-service-package/acceptance-criteria: + en: 40a7d8d774a68237 + zh: 004e8b40effa2f8d +/agent-note-fold-the-single-compaction-backend-into-its-service-package/risks: + en: 899ebc22beb60647 + zh: ae23733b92c2ae36 diff --git a/.agents/notes/rejected/simplification/2026-07-19-make-jsonrpc-directional.i18n.yaml b/.agents/notes/rejected/simplification/2026-07-19-make-jsonrpc-directional.i18n.yaml index 1f91fccbb3..a90825c6c8 100644 --- a/.agents/notes/rejected/simplification/2026-07-19-make-jsonrpc-directional.i18n.yaml +++ b/.agents/notes/rejected/simplification/2026-07-19-make-jsonrpc-directional.i18n.yaml @@ -1,6 +1,25 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-19-make-jsonrpc-directional.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/rejected/simplification/2026-07-19-make-jsonrpc-directional.md -2026-07-19-make-jsonrpc-directional.md: 0a4660bbf12ab6a71f08547b69458bd25881bd64 -2026-07-19-make-jsonrpc-directional.zh.md: 706a342d6ef32c00d014033b314cbbe82314ce30 +/agent-note-make-json-rpc-completion-and-transport-directional: + en: ee6e55930abd711c + zh: 8f42bc9a2ae73653 +/agent-note-make-json-rpc-completion-and-transport-directional/problem: + en: d464014520aeb2ba + zh: 8d5b916ec1e52ae2 +/agent-note-make-json-rpc-completion-and-transport-directional/proposal: + en: 1877df56f4a6c009 + zh: 88945feba13fd7f2 +/agent-note-make-json-rpc-completion-and-transport-directional/implementation-plan: + en: 98d36962531961b4 + zh: 732397d5ac3e9da5 +/agent-note-make-json-rpc-completion-and-transport-directional/alternatives-considered: + en: aa128111a837e3ce + zh: e2e70c0e7ca577f4 +/agent-note-make-json-rpc-completion-and-transport-directional/acceptance-criteria: + en: c003617f26b1b309 + zh: a0c92fd01a820b9d +/agent-note-make-json-rpc-completion-and-transport-directional/risks: + en: 2a4ab79704013a71 + zh: 17722ca6beff0536 diff --git a/.agents/notes/rejected/simplification/2026-07-26-builtin-timer-promises-for-hand-rolled-sleeps.i18n.yaml b/.agents/notes/rejected/simplification/2026-07-26-builtin-timer-promises-for-hand-rolled-sleeps.i18n.yaml index 5f4b4e03cb..2dc7fcd734 100644 --- a/.agents/notes/rejected/simplification/2026-07-26-builtin-timer-promises-for-hand-rolled-sleeps.i18n.yaml +++ b/.agents/notes/rejected/simplification/2026-07-26-builtin-timer-promises-for-hand-rolled-sleeps.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-26-builtin-timer-promises-for-hand-rolled-sleeps.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/rejected/simplification/2026-07-26-builtin-timer-promises-for-hand-rolled-sleeps.md -2026-07-26-builtin-timer-promises-for-hand-rolled-sleeps.md: d925222c6c1f07707815353caa15b2ff51212e7f -2026-07-26-builtin-timer-promises-for-hand-rolled-sleeps.zh.md: 34128c671e898d7a6729ca3fa132585c7b53bdbe +/agent-note-use-node-timers-promises-for-hand-rolled-cancellable-sleeps: + en: 375b81101ea10ffd + zh: 4e63456174643d83 +/agent-note-use-node-timers-promises-for-hand-rolled-cancellable-sleeps/problem: + en: 88cc75cbfeb9bb8d + zh: 945620a5e6c4982d +/agent-note-use-node-timers-promises-for-hand-rolled-cancellable-sleeps/proposal: + en: dc6c2a587810f627 + zh: 42f5e2e23cc2d1e2 +/agent-note-use-node-timers-promises-for-hand-rolled-cancellable-sleeps/alternatives-considered: + en: 1897b5c8c6179b6a + zh: e39724cb2160c679 +/agent-note-use-node-timers-promises-for-hand-rolled-cancellable-sleeps/acceptance-criteria: + en: 47f2700d922cfed9 + zh: 78ee3b0e20ac9f86 +/agent-note-use-node-timers-promises-for-hand-rolled-cancellable-sleeps/risks: + en: a63132fb74c49961 + zh: 166a88d947d555e3 diff --git a/.agents/notes/rejected/simplification/2026-07-26-dependency-swaps-rejected-by-nih-audit.i18n.yaml b/.agents/notes/rejected/simplification/2026-07-26-dependency-swaps-rejected-by-nih-audit.i18n.yaml index 5b19f5d40c..0b54901ab4 100644 --- a/.agents/notes/rejected/simplification/2026-07-26-dependency-swaps-rejected-by-nih-audit.i18n.yaml +++ b/.agents/notes/rejected/simplification/2026-07-26-dependency-swaps-rejected-by-nih-audit.i18n.yaml @@ -1,6 +1,16 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for 2026-07-26-dependency-swaps-rejected-by-nih-audit.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/rejected/simplification/2026-07-26-dependency-swaps-rejected-by-nih-audit.md -2026-07-26-dependency-swaps-rejected-by-nih-audit.md: 1ea01d96c5e817440c1daca871603d9cec78c06a -2026-07-26-dependency-swaps-rejected-by-nih-audit.zh.md: d7140b88a75d1af045fd32e4b1048554071d68e8 +/agent-note-dependency-swaps-rejected-by-the-2026-07-nih-audit: + en: 4c5b109a95f79af5 + zh: f6d451c5d5ddae94 +/agent-note-dependency-swaps-rejected-by-the-2026-07-nih-audit/problem: + en: 7b7248fc12313b69 + zh: a55e2c3376c401a7 +/agent-note-dependency-swaps-rejected-by-the-2026-07-nih-audit/proposal: + en: 0a8ed95bec08cf62 + zh: 06de9cab1c862ac4 +/agent-note-dependency-swaps-rejected-by-the-2026-07-nih-audit/alternatives-considered: + en: 229a0110ca47384e + zh: 3f86f858d56190c5 diff --git a/.agents/skills/dsh-doc/references/metadata-links-i18n.md b/.agents/skills/dsh-doc/references/metadata-links-i18n.md index 31f44bc79a..19ee5dde40 100644 --- a/.agents/skills/dsh-doc/references/metadata-links-i18n.md +++ b/.agents/skills/dsh-doc/references/metadata-links-i18n.md @@ -70,7 +70,7 @@ Line equality is a structural check, not proof of faithful meaning. Review still ## Bilingual consistency records -Keep the `*.i18n.yaml` sidecar for every bilingual pair. `verify-translation-pairing` consumes its Git blob hashes for last-confirmed-text recovery, verifies structure and exact line alignment, supports automatic merging, records generated regions, and seals archives. Re-record it with `pnpm run verify-translation-pairing --write ` after either language changes. Do not copy content hashes into README frontmatter: independent edits would change the same header line and turn otherwise mergeable prose into an owner-file conflict. +Keep the `*.i18n.yaml` sidecar for every bilingual pair. It records a hash pair per heading section, excluding fenced code blocks and generated regions, so edits to different sections merge with Git's default text merge; generated data belongs in generated regions that the generator writes into both pages; `verify-translation-pairing` compares those entries with the current contents and verifies structure. Re-record it with `pnpm run verify-translation-pairing --write ` after either language changes. Do not copy content hashes into README frontmatter: independent edits would change the same header line and turn otherwise mergeable prose into an owner-file conflict. ## Dev Note diff --git a/.agents/skills/dsh-translate-docs/SKILL.md b/.agents/skills/dsh-translate-docs/SKILL.md index 5e5ec7d871..6ff2650c74 100644 --- a/.agents/skills/dsh-translate-docs/SKILL.md +++ b/.agents/skills/dsh-translate-docs/SKILL.md @@ -39,7 +39,7 @@ When translations need to be written from scratch, the orchestrating agent does ### Sources of truth (read, don't re-summarize) -- **[docs/i18n/README.md](../../../docs/i18n/README.md)** — the pairing contract: the three-file pair (`foo.md`, `foo.zh.md`, `foo.i18n.yaml`), the consistency record's both-side blob hashes, the language-switcher lines, scope, and exclusions. +- **[docs/i18n/README.md](../../../docs/i18n/README.md)** — the pairing contract: the three-file pair (`foo.md`, `foo.zh.md`, `foo.i18n.yaml`), the consistency record's per-section hashes, the language-switcher lines, scope, and exclusions. - **[docs/i18n/translation-rules.md](../../../docs/i18n/translation-rules.md)** — how to translate: faithfulness, structure preservation, terminology discipline, typography (MUST/SHOULD levels). - **[docs/i18n/terminology.md](../../../docs/i18n/terminology.md)** — the terminology table, binding in both directions. Load it BEFORE translating, not when a term feels uncertain; the terms you don't notice are the ones that drift. - **[docs/i18n/translation-prompt.md](../../../docs/i18n/translation-prompt.md)** — the automated pipeline's calibrated machine-consumed template. Agents using this skill do not render it; the terminology table is the only repository file the automated renderer injects, while this skill and `translation-rules.md` remain binding for agent-authored translations. @@ -64,7 +64,7 @@ When translations need to be written from scratch, the orchestrating agent does ## Finish the pair 1. Switcher: `[English](foo.md) | 中文` immediately after the Chinese file's H1, `English | [中文](foo.zh.md)` after the English file's H1 — add both if this is a new pair, except that a generator-owned English source stays byte-identical to generator output and omits its switcher while the Chinese counterpart still links back. -2. Record consistency: `pnpm run verify-translation-pairing --write ` recomputes and records both sides' full blob hashes in `foo.i18n.yaml`. The yaml diff in your PR is the reviewable statement "I confirmed these two say the same thing" — only run it after you actually have. +2. Record consistency: `pnpm run verify-translation-pairing --write ` recomputes and records the per-section hashes in `foo.i18n.yaml`. The yaml diff in your PR is the reviewable statement "I confirmed these two say the same thing" — only run it after you actually have. 3. No manifest entry is needed for an ordinary document: every in-scope source requires a pair. Change [scripts/translation-pairing.manifest.json](../../../scripts/translation-pairing.manifest.json) only when the owning policy documents a genuine generated, instructional, or bilingual-by-construction exclusion. 4. Before the PR: the touched pairs are green under the scoped check; `pnpm run doc-sync` (which includes the corpus-wide pairing check plus `verify-md-wrap`/`verify-md-links`) runs once at PR level per [dsh-pre-push-checks](../dsh-pre-push-checks/SKILL.md), not inside each translation task. 5. Keep the PR reviewable: state which pairs are new versus minimally updated and list 「待定术语」 prominently. diff --git a/.gitattributes b/.gitattributes index ed321c2b18..e878c9db19 100644 --- a/.gitattributes +++ b/.gitattributes @@ -8,10 +8,6 @@ *.pdf binary -# Pairing records are generated from the three confirmed owner-blob pairs. -# The worktree-local installer registers the fail-closed driver command. -*.i18n.yaml merge=dsh-translation-pairing - # The persistence catalog is the readable projection of these generated schemas. docs/persistence-schema.json linguist-generated=true docs/persistence-changes/*.schema.json linguist-generated=true diff --git a/.github/issue-management/README.i18n.yaml b/.github/issue-management/README.i18n.yaml index beaf888252..0d62118377 100644 --- a/.github/issue-management/README.i18n.yaml +++ b/.github/issue-management/README.i18n.yaml @@ -1,6 +1,34 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for README.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .github/issue-management/README.md -README.md: 49e91859f4b22fda13d0e93c6e6ea492272f6951 -README.zh.md: 8424f90cd2e3a59ba1212f64f3f1081a984b55f8 +/: + en: d5e0fd5da06b95ab + zh: db4281526c40cc1d +/issue-management: + en: 44fb5f74b6908794 + zh: cc25f420bac7d40b +/issue-management/summary: + en: b3f6f5f011516611 + zh: 7e6c83caf28ea807 +/issue-management/table-of-contents: + en: cff988027897ee0d + zh: 36a444b895dfdc48 +/issue-management/pull-request-policy: + en: ad11184112771cc8 + zh: cc8c112a76dcf62e +/issue-management/lifecycle-events: + en: 62bca299f0a5e213 + zh: 8853e01a9e3776ec +/issue-management/configuration-and-limitations: + en: 3ef00734bb83737f + zh: 9d91319c953496dd +/issue-management/module-ownership: + en: e83f694e0be99e69 + zh: 85fb201f86af2ce8 +/issue-management/verification: + en: b52fe10bcb063600 + zh: 3362170645a58eff +/issue-management/dev-note: + en: b75c8458928b72b9 + zh: 003ba4e17b4b5269 diff --git a/.github/preview-sizing/README.i18n.yaml b/.github/preview-sizing/README.i18n.yaml index cd5241c300..d2372d8529 100644 --- a/.github/preview-sizing/README.i18n.yaml +++ b/.github/preview-sizing/README.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for README.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .github/preview-sizing/README.md -README.md: 142854e582523eb1ed48924a73fbe29ea6164bf6 -README.zh.md: a71325189dc7966df87e14bbb591af3c76a3d498 +/pr-preview-runner-sizing: + en: 3c780cfadb127740 + zh: 07de037f824d70c6 +/pr-preview-runner-sizing/summary: + en: a6a48d1e702098d2 + zh: 69b246b95e09e638 +/pr-preview-runner-sizing/table-of-contents: + en: 0395d2bbce9a9532 + zh: a05a2ed9b0eb8476 +/pr-preview-runner-sizing/comparison-requirements: + en: 2374f332d040ece2 + zh: 7f914fb83cfb5caa +/pr-preview-runner-sizing/publication-semantics: + en: 25ee2f4b26ef7770 + zh: 788b7fb4bee6e159 +/pr-preview-runner-sizing/dev-note: + en: 85ac56719e30a350 + zh: f53f31c1b8553cc0 diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index f4335f78bb..8b3bfc1400 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -109,6 +109,9 @@ jobs: - name: Build (lib for the e2e example bins) run: pnpm run build:official + - name: Prepare Office runtime + run: pnpm run prepare:primary-runtime --target linux-x64 --output .cache/e2e-office + # Real-API end-to-end tests only. The keyless gates (lint/typecheck/ # coverage/snapshot/etc.) already run in ci.yml (pull requests) and # ci-master.yml (master push standby). @@ -118,6 +121,7 @@ jobs: env: DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY_EXTERNAL }} DEEPSEEK_BASE_URL: https://api.deepseek.com/anthropic + DSH_PRIMARY_RUNTIME: ${{ github.workspace }}/.cache/e2e-office/primary-runtime DSH_E2E_MAX_WORKERS: 4 DSH_EXAMPLE_MODE: lib run: pnpm run test:e2e diff --git a/BRAND_GUIDELINES.i18n.yaml b/BRAND_GUIDELINES.i18n.yaml index c7147b4425..2f7eb7ceab 100644 --- a/BRAND_GUIDELINES.i18n.yaml +++ b/BRAND_GUIDELINES.i18n.yaml @@ -1,6 +1,7 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for BRAND_GUIDELINES.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write BRAND_GUIDELINES.md -BRAND_GUIDELINES.md: 900cf7bcec70ff78c6f55ed535897239cd4648df -BRAND_GUIDELINES.zh.md: 94b239b6f6f4021f52da233cbefd23b4cc11f675 +/deepseek-harness-brand-asset-usage-guidelines: + en: 23933888033edf18 + zh: eaa5afb9e2cb4d25 diff --git a/CONTRIBUTING.i18n.yaml b/CONTRIBUTING.i18n.yaml index a7dabc2fff..eaafcdccad 100644 --- a/CONTRIBUTING.i18n.yaml +++ b/CONTRIBUTING.i18n.yaml @@ -1,6 +1,7 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for CONTRIBUTING.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write CONTRIBUTING.md -CONTRIBUTING.md: 9f30e23a6d9567db7d6097cb82e481b16dda299e -CONTRIBUTING.zh.md: 35eb0b87fc4d9af11bef616039570dc5e6a1b309 +/contributing: + en: 08d2f421ff3617f4 + zh: 9d060d70ad186dc5 diff --git a/README.i18n.yaml b/README.i18n.yaml index ce6f75b18d..7f314d80ef 100644 --- a/README.i18n.yaml +++ b/README.i18n.yaml @@ -1,6 +1,34 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for README.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write README.md -README.md: 423bccd7d9352dbc48f1705f37d35642e74f5b41 -README.zh.md: c760f87e4ac3b7dbb7bb55d733e31db5ab379836 +/deepseek-harness: + en: f68c4f080ce55ff2 + zh: 88a76d7f7f0b260e +/deepseek-harness/developer-preview: + en: 4ef4d8a71ac143f0 + zh: 1bfc3149ba8e5543 +/deepseek-harness/run: + en: 4e0248e4c6474fc6 + zh: eb2fb8d78c7d6bc0 +/deepseek-harness/run/run-from-npm: + en: e22005cd42e6cbad + zh: 0f536f4208df1d60 +/deepseek-harness/run/run-from-source: + en: 819e3f7c144d0d64 + zh: de815f040975dba7 +/deepseek-harness/community-and-support: + en: 42848f543aff6e02 + zh: d46a07bdc6f36629 +/deepseek-harness/contributing: + en: cabc2d3e9f8898bd + zh: 83b6d238bae29ce3 +/deepseek-harness/development: + en: 803ca2b11b497bed + zh: 8b4071eb0e7783ef +/deepseek-harness/citation: + en: 6704e9e5a8d49a91 + zh: 85c9cdd8d56f8e9d +/deepseek-harness/license: + en: 926995344fc1c72b + zh: c92fab5abf85932f diff --git a/SAFETY.i18n.yaml b/SAFETY.i18n.yaml index 6010fd783e..148ee39597 100644 --- a/SAFETY.i18n.yaml +++ b/SAFETY.i18n.yaml @@ -1,6 +1,19 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for SAFETY.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write SAFETY.md -SAFETY.md: 2b76f00e0619ee69553afdc507df361080f4d3ac -SAFETY.zh.md: 6f7dae47b3e47ddfb155adb9c8c868b516d75360 +/safety: + en: a374f70c56b3f221 + zh: a07f7a9ba9af40fc +/safety/experimental-status: + en: 39a995a6c819f73e + zh: e577df19392736ac +/safety/sandbox-limitations: + en: a2b6cf1311f3abb6 + zh: c3694663312f4d6c +/safety/responsible-use: + en: ca3e9da7c0b360fe + zh: c0a6891a197d48cd +/safety/no-warranty-or-liability: + en: 71a2989f530f2018 + zh: e90e55f11068a91f diff --git a/apps/cli/README.i18n.yaml b/apps/cli/README.i18n.yaml index 7e395f72d5..e585c5c6f2 100644 --- a/apps/cli/README.i18n.yaml +++ b/apps/cli/README.i18n.yaml @@ -1,6 +1,22 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for README.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write apps/cli/README.md -README.md: 4eb113a6155433cb69f949d9e461ccfbd0142e7c -README.zh.md: 6a0e8a38a70d2ad551b4e91619545b3def09f2ec +/deepseek-ai-dsh: + en: ebdc75fa0da18801 + zh: 5c6cd2554b8f8a98 +/deepseek-ai-dsh/entry-modes: + en: 093936b9e1a59bea + zh: 12be7d2d931d9671 +/deepseek-ai-dsh/app-arguments: + en: cc03e6b75206661b + zh: 99e41f4143198352 +/deepseek-ai-dsh/profiles: + en: 79cad979b0f7895c + zh: b0f922a4b43accf8 +/deepseek-ai-dsh/optional-overlays: + en: c1b3ea3b79a975e4 + zh: 61070ee19b59f7e6 +/deepseek-ai-dsh/development: + en: 99a36e4f7ea3f9c7 + zh: 07ca2934de700caa diff --git a/apps/cli/README.md b/apps/cli/README.md index 4eb113a615..7654404381 100644 --- a/apps/cli/README.md +++ b/apps/cli/README.md @@ -36,6 +36,8 @@ dsh --help # the launcher's own help A profile directory holds a `package.json` (out-of-tree plugin dependencies plus the profile manifest `dsh.profile` with its ordered `bundles` list) and a `cordis.patch.yml` (the user's own patch layer). `dsh-hmr`, when enabled in YAML, watches the profile manifest and both profile and home patch files, then recomposes all layers through one serialized reload. Without HMR, changes apply on restart. Edits arriving during watcher registration use the same nonfatal reload reporting as later edits. [Plugin Manager](../../packages/boot/plugin-manager/README.md) shares package operations and the profile write lock with `dsh plugin`; package updates retain disabled bundle selections. CLI package commands inherit authentication variables and terminal descriptors, including interactive build approval; service calls retain their scrubbed environment and captured diagnostics. +Installation and profile startup enforce declared DSH peer ranges against the same runtime version shown by `dsh --version`. Incompatible plugins require an explicitly acknowledged exact-version exemption. The [plugin manager's compatibility reference](../../packages/boot/plugin-manager/README.md#version-compatibility-and-exemptions) documents `version-exemptions`, `allow-version`, `revoke-version`, persistence, and risks. + The tree composes over an empty root: - each bundle's patch in `dsh.profile.bundles` order - then the profile's `cordis.patch.yml`, then the home-level `$DSH_HOME/cordis.patch.yml` diff --git a/apps/cli/README.zh.md b/apps/cli/README.zh.md index 6a0e8a38a7..08db105b16 100644 --- a/apps/cli/README.zh.md +++ b/apps/cli/README.zh.md @@ -36,6 +36,8 @@ dsh --help # the launcher's own help profile 目录包含一个 `package.json`,其中记录树外插件依赖,以及 profile manifest(元数据清单)`dsh.profile`、其中按顺序排列的 `bundles` 列表;还包含一个 `cordis.patch.yml`,其中保存用户自己的 patch 层。在 YAML 中启用的 `dsh-hmr` 监视 profile manifest、profile 与 home 级 patch 文件,再通过统一串行重载重新组合所有层。未启用 HMR 时,更改在重启后生效。监听器注册期间发生的编辑与后续编辑使用相同的非致命重载错误报告。[插件管理器](../../packages/boot/plugin-manager/README.zh.md) 与 `dsh plugin` 共享包操作和 profile 写锁;更新依赖会保留已停用的组合包选择。CLI 包操作继承认证环境和终端描述符,支持交互式构建批准;service 调用保留清理后的环境并捕获诊断。 +安装和 profile 启动会按声明的 DSH peer 范围,检查与 `dsh --version` 显示值相同的运行时版本。不兼容插件需要用户明确确认精确版本豁免。[插件管理器的兼容性参考](../../packages/boot/plugin-manager/README.zh.md#version-compatibility-and-exemptions)说明 `version-exemptions`、`allow-version`、`revoke-version`、持久化规则与风险。 + 配置树以空根为起点,依次叠加以下配置层: - `dsh.profile.bundles` 中各组合包的 patch - profile 自身的 `cordis.patch.yml`,然后是 home 级的 `$DSH_HOME/cordis.patch.yml` diff --git a/apps/cli/composition.md b/apps/cli/composition.md index 81097704db..e72a1f0ce6 100644 --- a/apps/cli/composition.md +++ b/apps/cli/composition.md @@ -190,8 +190,10 @@ flowchart LR cfg --> plugin_dsh_base_agent_loop plugin_dsh_base_fs_sandbox["fs-sandbox
@deepseek-ai/dsh-fs-sandbox"] cfg --> plugin_dsh_base_fs_sandbox - plugin_dsh_base_llm_deepseek["llm-deepseek
@deepseek-ai/dsh-llm-deepseek"] + plugin_dsh_base_llm_deepseek["llm-deepseek
@deepseek-ai/dsh-llm-deepseek-api-key"] cfg --> plugin_dsh_base_llm_deepseek + plugin_dsh_base_llm_deepseek_account["llm-deepseek-account
@deepseek-ai/dsh-llm-deepseek-account"] + cfg --> plugin_dsh_base_llm_deepseek_account ``` | Plugin id | Package / module | @@ -287,7 +289,8 @@ flowchart LR | `system-prompt` | `@deepseek-ai/dsh-system-prompt` | | `agent-loop` | `@deepseek-ai/dsh-agent-loop` | | `fs-sandbox` | `@deepseek-ai/dsh-fs-sandbox` | -| `llm-deepseek` | `@deepseek-ai/dsh-llm-deepseek` | +| `llm-deepseek` | `@deepseek-ai/dsh-llm-deepseek-api-key` | +| `llm-deepseek-account` | `@deepseek-ai/dsh-llm-deepseek-account` | Source config: [`packages/bundle/base/cordis.patch.yml`](../../packages/bundle/base/cordis.patch.yml). diff --git a/apps/cli/package.json b/apps/cli/package.json index b433c2407f..b9513d0184 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -1,7 +1,7 @@ { "name": "@deepseek-ai/dsh", "description": "dsh CLI: profile launch, plugin management, and configuration inspection", - "version": "0.1.7-alpha.2", + "version": "0.1.7-rc.1", "publishConfig": { "access": "public" }, @@ -120,6 +120,8 @@ "@deepseek-ai/dsh-host-webserver": "workspace:*", "@deepseek-ai/dsh-llm": "workspace:*", "@deepseek-ai/dsh-llm-deepseek": "workspace:*", + "@deepseek-ai/dsh-llm-deepseek-api-key": "workspace:*", + "@deepseek-ai/dsh-llm-deepseek-account": "workspace:*", "@deepseek-ai/dsh-llm-mock-server": "workspace:*", "@deepseek-ai/dsh-llm-pi-ai": "workspace:*", "@deepseek-ai/dsh-llm-replay": "workspace:*", diff --git a/apps/cli/reference/README.i18n.yaml b/apps/cli/reference/README.i18n.yaml index 3d7319ec04..96646ef29a 100644 --- a/apps/cli/reference/README.i18n.yaml +++ b/apps/cli/reference/README.i18n.yaml @@ -1,6 +1,31 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for README.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write apps/cli/reference/README.md -README.md: 094d8ba5bfaa851429adbfa872105550e8b63fe2 -README.zh.md: 2bd6abde1cb854ec9598f8f7cc10cc0a7538d2f9 +/dsh-cli-behavior-reference: + en: d25712a65d21ab45 + zh: b1c57b706bc64085 +/dsh-cli-behavior-reference/profile-boot: + en: e3a159750f5f9ed3 + zh: e02d9004fcc239f9 +/dsh-cli-behavior-reference/profile-boot/app-arguments: + en: 241e5525aa09a33b + zh: 398f853143097154 +/dsh-cli-behavior-reference/profile-boot/config-schema-dump: + en: a356f8a68f3b3685 + zh: c718713b5d709295 +/dsh-cli-behavior-reference/startup-diagnostics: + en: d6368bf97a02bd57 + zh: 2ab7888a108961ce +/dsh-cli-behavior-reference/plugin-management: + en: 9980ff1600fa9460 + zh: cc66ba45e27b5540 +/dsh-cli-behavior-reference/web-profile: + en: 12bba432c07573bf + zh: ab6b365cfb95003f +/dsh-cli-behavior-reference/shared-deployment-behavior: + en: 24e3da3716d261fe + zh: 060611966db4ca69 +/dsh-cli-behavior-reference/source-execution: + en: 05c2b23790f7b296 + zh: 51f809020fb230a1 diff --git a/apps/cli/src/bin.ts b/apps/cli/src/bin.ts index e52c7c8202..20f5867e23 100644 --- a/apps/cli/src/bin.ts +++ b/apps/cli/src/bin.ts @@ -6,29 +6,17 @@ /* v8 ignore file -- built-bin acceptance exercises this self-executing dispatch. */ -import { readFileSync } from 'node:fs' -import { fileURLToPath } from 'node:url' -import { loadLayeredEnv, StartupError } from '@deepseek-ai/dsh-app-boot' +import { getDshRuntimeVersion, loadLayeredEnv, StartupError } from '@deepseek-ai/dsh-app-boot' import { resolveDshHome } from '@deepseek-ai/dsh-home-paths' import { parseDshArgs } from './args.ts' import { reportStartupFailure } from './startup-diagnostics.ts' -// Both the source tree (apps/cli/src) and the bundled bin (apps/cli/lib) sit -// one directory under apps/cli, so the checked-in manifest resolves with the -// same relative hop from either artifact. -function readVersion(): string { - const manifest = JSON.parse( - readFileSync(fileURLToPath(new URL('../package.json', import.meta.url)), 'utf8'), - ) as { version?: unknown } - return typeof manifest.version === 'string' ? manifest.version : '0.0.0' -} - /** * Run the public dsh command-line interface. * @returns a promise that settles when the selected command mode finishes. */ export async function runCli(): Promise { - const version = readVersion() + const version = getDshRuntimeVersion() const invocation = parseDshArgs(process.argv.slice(2), version) switch (invocation.mode) { diff --git a/apps/cli/src/plugin.ts b/apps/cli/src/plugin.ts index 12a0dbc443..8f60bf8bfc 100644 --- a/apps/cli/src/plugin.ts +++ b/apps/cli/src/plugin.ts @@ -1,23 +1,83 @@ -/** dsh plugin forwards pnpm through the shared profile package operations. */ -import { runPluginCommand } from '@deepseek-ai/dsh-plugin-manager/operations' +/** Profile package management and explicit, exact-version compatibility approvals. */ +import { runPluginCommand, setProfileVersionExemption } from '@deepseek-ai/dsh-plugin-manager/operations' import { INSTALL_ANCHOR } from './profile-boot.ts' -import { resolveProfileDir } from '@deepseek-ai/dsh-app-boot' +import { DEFAULT_PROFILE_BUNDLES, initProfile, PROFILE_TEMPLATES, readProfileCompatibility, resolveProfileDir } from '@deepseek-ai/dsh-app-boot' +import { withFileLock } from '@deepseek-ai/dsh-atomic-write' +import { existsSync } from 'node:fs' +import { mkdir } from 'node:fs/promises' import { join } from 'node:path' +/** Parse only DSH-owned commands; all other arguments remain pnpm's responsibility. */ +async function versionCommand(profile: string, args: readonly string[]): Promise { + const [command, ...rest] = args + if (command !== 'allow-version' && command !== 'revoke-version' && command !== 'version-exemptions') return undefined + try { + let packageVersion: string | undefined + let runtimeVersion: string | undefined + let acceptRisk = false + const argumentsIterator = rest.values() + for (const argument of argumentsIterator) { + if (argument === '--accept-risk' && command === 'allow-version' && !acceptRisk) acceptRisk = true + else if (argument === '--dsh-version' && runtimeVersion === undefined) runtimeVersion = argumentsIterator.next().value + else if (argument.startsWith('--dsh-version=') && runtimeVersion === undefined) runtimeVersion = argument.slice('--dsh-version='.length) + else if (!argument.startsWith('-') && packageVersion === undefined) packageVersion = argument + else throw new Error(`unexpected argument ${JSON.stringify(argument)}`) + } + if (command === 'version-exemptions' && rest.length > 0) throw new Error('usage: dsh plugin version-exemptions') + let request: { packageVersion: string; runtimeVersion: string } | undefined + if (command !== 'version-exemptions') { + if (packageVersion === undefined || runtimeVersion === undefined) { + throw new Error(`usage: dsh plugin ${command} --dsh-version ${command === 'allow-version' ? ' --accept-risk' : ''}`) + } + request = { packageVersion, runtimeVersion } + } + if (command === 'allow-version') { + process.stderr.write('dsh: warning: allowing incompatible plugin versions can break the application or corrupt data. Approval applies only to the exact package and DSH versions.\n') + } + const dir = resolveProfileDir(profile) + await mkdir(dir, { recursive: true }) + await withFileLock(join(dir, 'package.json'), async () => { + if (!existsSync(join(dir, 'package.json'))) initProfile(dir, PROFILE_TEMPLATES[profile]?.bundles ?? DEFAULT_PROFILE_BUNDLES) + if (request === undefined) { + const { exemptions, warnings } = readProfileCompatibility(dir) + for (const warning of warnings) process.stderr.write(`dsh: warning: ${warning}\n`) + process.stdout.write(JSON.stringify(exemptions, undefined, 2) + '\n') + } else { + await setProfileVersionExemption(dir, request.packageVersion, request.runtimeVersion, command === 'allow-version', acceptRisk) + process.stdout.write(`dsh: ${command === 'allow-version' ? 'allowed' : 'revoked'} ${request.packageVersion} for DSH ${request.runtimeVersion}\n`) + } + }, { waitMs: 120000 }) + return 0 + } catch (error) { + process.stderr.write(`dsh: ${String(error)}\n`) + return 1 + } +} + /** Run package management for a profile. * @param profile Profile name. - * @param args Pnpm arguments relative to the invoking directory. - * @returns Pnpm exit code. + * @param args DSH exemption command or pnpm arguments relative to the invoking directory. + * @returns Zero on success; nonzero on invalid approval or package-manager failure. */ export async function runPlugin(profile: string, args: readonly string[]): Promise { + const versionResult = await versionCommand(profile, args) + if (versionResult !== undefined) return versionResult + const dir = resolveProfileDir(profile) + if (existsSync(join(dir, 'package.json'))) { + for (const warning of readProfileCompatibility(dir).warnings) process.stderr.write(`dsh: warning: ${warning}\n`) + } const result = await runPluginCommand({ profile, installAnchor: INSTALL_ANCHOR, cwd: process.cwd() }, args, { execution: 'cli', outputBytes: 16384, lockWaitMs: 120000, + lookupTimeoutMs: 120000, onOutput: (text, stream) => { process[stream].write(text) }, }) if (result.exitCode === 127) process.stderr.write('dsh: pnpm was not found; install pnpm and make it available on PATH.\n') - if (result.exitCode !== 0) process.stderr.write(`dsh: pnpm failed; diagnostics: ${result.logPath}\n`) + for (const { name, version, runtimeVersion } of result.incompatible ?? []) { + process.stderr.write(`dsh: to accept the risk, run: dsh plugin --profile ${profile} allow-version ${name}@${version} --dsh-version ${runtimeVersion} --accept-risk\n`) + } + if (result.exitCode !== 0) process.stderr.write(`dsh: plugin command failed; diagnostics: ${result.logPath}\n`) if (result.exitCode !== 0 && args.some(argument => /^git\+|^github:|\.git(?:#|$)/.test(argument))) { process.stderr.write(`dsh: git-hosted plugins build on install via their prepare script, which pnpm blocks until allowed — add the exact key pnpm printed above under allowBuilds in ${join(resolveProfileDir(profile), 'pnpm-workspace.yaml')}, then re-run\n`) } diff --git a/apps/cli/tests/built-bin.e2e.ts b/apps/cli/tests/built-bin.e2e.ts index 874e216499..b26b3e538c 100644 --- a/apps/cli/tests/built-bin.e2e.ts +++ b/apps/cli/tests/built-bin.e2e.ts @@ -1246,7 +1246,7 @@ describe.skipIf(!existsSync(dshBin))('dsh BUILT bin (node lib/bin.js, no tsx)', ['deepseek-llm-api-extensions', '@deepseek-ai/dsh-deepseek-llm-api-extensions'], ['session-log-deepseek', '@deepseek-ai/dsh-session-log-deepseek'], ['plugin-package-inventory-deepseek', '@deepseek-ai/dsh-plugin-package-inventory-deepseek'], - ['llm-deepseek', '@deepseek-ai/dsh-llm-deepseek'], + ['llm-deepseek', '@deepseek-ai/dsh-llm-deepseek-api-key'], ['sandbox', '@deepseek-ai/dsh-sandbox-local'], ['session-projection', '@deepseek-ai/dsh-session-projection'], ['sandbox-policy', '@deepseek-ai/dsh-sandbox-policy'], diff --git a/apps/cli/tests/plugin-compatibility.expected.e2e.ts b/apps/cli/tests/plugin-compatibility.expected.e2e.ts new file mode 100644 index 0000000000..a002bb2514 --- /dev/null +++ b/apps/cli/tests/plugin-compatibility.expected.e2e.ts @@ -0,0 +1,69 @@ +/** Published CLI acceptance for actual pnpm installation, restart checks, and explicit exemptions. */ +import { cpSync, existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs' +import { tmpdir } from 'node:os' +import { join } from 'node:path' +import { fileURLToPath } from 'node:url' +import { execa } from 'execa' +import { expect, it, onTestFinished } from 'vitest' + +const bin = fileURLToPath(new URL('../lib/bin.js', import.meta.url)) +const version = (JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')) as { version: string }).version + +it('refuses incompatible installation and startup until an exact risk exemption is granted', async () => { + const home = mkdtempSync(join(tmpdir(), 'dsh-compatibility-cli-')) + onTestFinished(() => { rmSync(home, { recursive: true, force: true }) }) + const profile = join(home, 'profiles', 'compatibility') + const source = join(home, 'fixture-plugin') + mkdirSync(profile, { recursive: true }) + mkdirSync(source) + const profileFile = join(profile, 'package.json') + const initial = { name: 'compatibility-profile', private: true, dependencies: {}, dsh: { profile: { bundles: [] } } } + writeFileSync(profileFile, JSON.stringify(initial)) + writeFileSync(join(profile, 'pnpm-workspace.yaml'), 'packages:\n - .\nnodeLinker: hoisted\nautoInstallPeers: false\n') + writeFileSync(join(source, 'package.json'), JSON.stringify({ + name: 'compatibility-fixture', version: '1.0.0', type: 'module', + peerDependencies: { '@deepseek-ai/dsh': '999.0.0' }, dsh: { bundle: { patch: './cordis.patch.yml' } }, + })) + writeFileSync(join(source, 'cordis.patch.yml'), '- insert:\n - id: compatibility-fixture\n name: ./index.mjs\n') + writeFileSync(join(source, 'index.mjs'), 'process.stdout.write("PLUGIN_IMPORTED\\n"); export function apply() { process.stdout.write("PLUGIN_STARTED\\n") }\n') + const run = async (args: string[]) => { + const result = await execa(process.execPath, [bin, ...args], { + cwd: home, env: { ...process.env, DSH_HOME: home }, extendEnv: false, reject: false, timeout: 60_000, + }) + expect(result.timedOut).toBe(false) + expect(result.signal).toBeUndefined() + return result + } + const plugin = (args: string[]) => run(['plugin', '--profile', 'compatibility', ...args]) + const refused = await plugin(['add', source, '--offline', '--ignore-scripts']) + expect(refused.exitCode).toBe(1) + expect(refused.stderr).toContain('crashes or data loss') + expect(JSON.parse(readFileSync(profileFile, 'utf8'))).toEqual(initial) + expect(existsSync(join(profile, 'compatibility.json'))).toBe(false) + // The named package is checked before installation, so a refused one never lands on disk. + expect(refused.stderr).toContain('nothing was installed') + expect(existsSync(join(profile, 'node_modules', 'compatibility-fixture'))).toBe(false) + + // A package installed outside DSH still goes through the independent startup check. + cpSync(source, join(profile, 'node_modules', 'compatibility-fixture'), { recursive: true }) + writeFileSync(profileFile, JSON.stringify({ ...initial, + dependencies: { 'compatibility-fixture': `file:${source}` }, dsh: { profile: { bundles: ['compatibility-fixture'] } }, + })) + const deniedStartup = await run(['--profile', 'compatibility']) + expect(deniedStartup.stdout).not.toContain('PLUGIN_IMPORTED') + expect(deniedStartup.stderr).toContain('incompatible') + const missingConsent = await plugin(['allow-version', 'compatibility-fixture@1.0.0', '--dsh-version', version]) + expect(missingConsent.exitCode).toBe(1) + const granted = await plugin(['allow-version', 'compatibility-fixture@1.0.0', '--dsh-version', version, '--accept-risk']) + expect(granted.exitCode).toBe(0) + expect(granted.stderr).toContain('break the application or corrupt data') + // The exemption is profile metadata of its own; the dependency manifest and bundle list stay untouched. + expect(JSON.parse(readFileSync(join(profile, 'compatibility.json'), 'utf8'))).toEqual({ 'compatibility-fixture@1.0.0': [version] }) + expect(JSON.parse(readFileSync(profileFile, 'utf8'))).not.toHaveProperty('dsh.profile.versionExemptions') + expect((await plugin(['add', source, '--offline', '--ignore-scripts'])).exitCode).toBe(0) + const admittedStartup = await run(['--profile', 'compatibility']) + expect(admittedStartup.exitCode).toBe(0) + expect(admittedStartup.stdout).toContain('PLUGIN_STARTED') + expect((await plugin(['revoke-version', 'compatibility-fixture@1.0.0', '--dsh-version', version])).exitCode).toBe(0) + expect((await run(['--profile', 'compatibility'])).stdout).not.toContain('PLUGIN_IMPORTED') +}) diff --git a/apps/cli/tests/plugin.spec.ts b/apps/cli/tests/plugin.spec.ts new file mode 100644 index 0000000000..1a69b62693 --- /dev/null +++ b/apps/cli/tests/plugin.spec.ts @@ -0,0 +1,104 @@ +/** Explicit CLI exemptions use the profile lock and never become pnpm arguments. */ +import { existsSync, mkdtempSync, readFileSync, rmSync } from 'node:fs' +import { tmpdir } from 'node:os' +import { join } from 'node:path' +import { expect, it, onTestFinished, vi } from 'vitest' +import { getDshRuntimeVersion, readProfileVersionExemptions } from '@deepseek-ai/dsh-app-boot' +import { runPluginCommand } from '@deepseek-ai/dsh-plugin-manager/operations' +import { runPlugin } from '../src/plugin.ts' + +vi.mock('../src/profile-boot.ts', () => ({ INSTALL_ANCHOR: '/installation/package.json' })) +vi.mock('@deepseek-ai/dsh-plugin-manager/operations', async importOriginal => ({ + ...await importOriginal(), + runPluginCommand: vi.fn(), +})) + +function fixture() { + const home = mkdtempSync(join(tmpdir(), 'cli-version-exemptions-')) + vi.stubEnv('DSH_HOME', home) + const stdout = vi.spyOn(process.stdout, 'write').mockImplementation(() => true) + const stderr = vi.spyOn(process.stderr, 'write').mockImplementation(() => true) + onTestFinished(() => { + vi.restoreAllMocks() + vi.unstubAllEnvs() + vi.mocked(runPluginCommand).mockReset() + rmSync(home, { recursive: true, force: true }) + }) + return { dir: join(home, 'profiles', 'test'), stdout, stderr } +} + +it('requires explicit acknowledgement, grants only the exact pair, lists and revokes it without pnpm', async () => { + const { dir, stdout, stderr } = fixture() + const runtime = getDshRuntimeVersion() + expect(await runPlugin('test', ['allow-version', '@example/plugin@1.2.3', '--dsh-version', runtime, '--accept-risk'])).toBe(0) + expect(stderr.mock.calls.map(call => call[0]).join('')).toMatchInlineSnapshot(` + "dsh: warning: allowing incompatible plugin versions can break the application or corrupt data. Approval applies only to the exact package and DSH versions. + " + `) + expect(stderr.mock.invocationCallOrder[0]).toBeLessThan(stdout.mock.invocationCallOrder[0]!) + expect(readProfileVersionExemptions(dir)).toEqual({ '@example/plugin@1.2.3': [runtime] }) + expect(JSON.parse(readFileSync(join(dir, 'compatibility.json'), 'utf8'))).toEqual({ '@example/plugin@1.2.3': [runtime] }) + expect(await runPlugin('test', ['version-exemptions'])).toBe(0) + expect(stdout).toHaveBeenLastCalledWith(JSON.stringify({ '@example/plugin@1.2.3': [runtime] }, undefined, 2) + '\n') + expect(await runPlugin('test', ['revoke-version', '@example/plugin@1.2.3', `--dsh-version=${runtime}`])).toBe(0) + expect(readProfileVersionExemptions(dir)).toEqual({}) + expect(runPluginCommand).not.toHaveBeenCalled() +}) + +it.each([ + ['allow-version', 'plugin@1.2.3', '--dsh-version', 'CURRENT'], + ['allow-version', 'plugin@1.2.3', '--accept-risk'], + ['allow-version', 'plugin@^1.2.3', '--dsh-version', 'CURRENT', '--accept-risk'], + ['allow-version', 'plugin@1.2.3', '--dsh-version', '999.0.0', '--accept-risk'], + ['allow-version', 'plugin@1.2.3', '--dsh-version', 'CURRENT', '--accept-risk=false'], + ['allow-version', 'plugin@1.2.3', '--dsh-version', 'CURRENT', '--accept-risk', '--accept-risk'], + ['revoke-version', 'plugin@1.2.3'], + ['version-exemptions', 'extra'], +])('rejects malformed or unacknowledged exemption command %j', async (...arguments_) => { + const { dir, stderr } = fixture() + const args = arguments_.map(value => value === 'CURRENT' ? getDshRuntimeVersion() : value) + expect(await runPlugin('test', args)).toBe(1) + expect(stderr).toHaveBeenCalled() + expect(existsSync(join(dir, 'compatibility.json'))).toBe(false) + expect(runPluginCommand).not.toHaveBeenCalled() +}) + +it('uses shipped profile defaults when listing a missing profile', async () => { + fixture() + expect(await runPlugin('web', ['version-exemptions'])).toBe(0) + expect(runPluginCommand).not.toHaveBeenCalled() +}) + +it.each([0, 1])('forwards ordinary pnpm output and exit status %s', async (exitCode) => { + const { stdout, stderr } = fixture() + vi.mocked(runPluginCommand).mockImplementation(async (_context, _args, options) => { + options.onOutput?.('pnpm output', 'stdout') + return { exitCode, output: '', truncated: false, logPath: '/profile/log' } + }) + expect(await runPlugin('test', ['list'])).toBe(exitCode) + expect(stdout).toHaveBeenCalledWith('pnpm output') + if (exitCode === 0) expect(stderr).not.toHaveBeenCalled() + else expect(stderr).toHaveBeenCalledWith('dsh: plugin command failed; diagnostics: /profile/log\n') +}) + +it('names the exact grant command for each package a compatibility check refused', async () => { + const { stderr } = fixture() + vi.mocked(runPluginCommand).mockResolvedValue({ + exitCode: 1, output: '', truncated: false, logPath: '/profile/log', + incompatible: [{ name: '@example/plugin', version: '1.2.3', runtimeVersion: '0.1.0', peers: { '@deepseek-ai/dsh': '^9.0.0' } }], + }) + expect(await runPlugin('test', ['add', '@example/plugin'])).toBe(1) + expect(stderr.mock.calls.map(call => call[0])).toEqual([ + 'dsh: to accept the risk, run: dsh plugin --profile test allow-version @example/plugin@1.2.3 --dsh-version 0.1.0 --accept-risk\n', + 'dsh: plugin command failed; diagnostics: /profile/log\n', + ]) +}) + +it('forwards all other commands unchanged and retains package diagnostics', async () => { + const { stderr } = fixture() + vi.mocked(runPluginCommand).mockResolvedValue({ exitCode: 127, output: '', truncated: false, logPath: '/profile/log' }) + const args = ['add', 'github:example/plugin'] + expect(await runPlugin('test', args)).toBe(127) + expect(runPluginCommand).toHaveBeenCalledWith(expect.objectContaining({ profile: 'test' }), args, expect.objectContaining({ execution: 'cli' })) + expect(stderr.mock.calls.map(call => call[0]).join('')).toContain('pnpm was not found') +}) diff --git a/apps/cli/tests/profiles/acp/tests/fixtures/control-surface/cordis.yml b/apps/cli/tests/profiles/acp/tests/fixtures/control-surface/cordis.yml index a74e909b1b..fa96b68772 100644 --- a/apps/cli/tests/profiles/acp/tests/fixtures/control-surface/cordis.yml +++ b/apps/cli/tests/profiles/acp/tests/fixtures/control-surface/cordis.yml @@ -1,7 +1,7 @@ # Keyless generic ACP v1 control-surface patch over `dsh --profile acp`. - id: llm-deepseek - name: '@deepseek-ai/dsh-llm-deepseek' + name: '@deepseek-ai/dsh-llm-deepseek-api-key' disabled: true - id: acp diff --git a/apps/cli/tests/profiles/acp/tests/fixtures/image-offload.cordis.yml b/apps/cli/tests/profiles/acp/tests/fixtures/image-offload.cordis.yml index aec25ed875..21a9ead728 100644 --- a/apps/cli/tests/profiles/acp/tests/fixtures/image-offload.cordis.yml +++ b/apps/cli/tests/profiles/acp/tests/fixtures/image-offload.cordis.yml @@ -2,7 +2,7 @@ # local provider endpoint is supplied by the snapshot test; the real attachment # store and ACP bridge carry two uploaded images into one model request. - id: llm-deepseek - name: '@deepseek-ai/dsh-llm-deepseek' + name: '@deepseek-ai/dsh-llm-deepseek-api-key' config: apiKeyEnv: DSH_SNAPSHOT_API_KEY baseURL: !!js process.env.DSH_SNAPSHOT_BASE_URL diff --git a/apps/cli/tests/profiles/headless/credentials-snapshot.patch.yml b/apps/cli/tests/profiles/headless/credentials-snapshot.patch.yml index 79757baa74..8293d9919f 100644 --- a/apps/cli/tests/profiles/headless/credentials-snapshot.patch.yml +++ b/apps/cli/tests/profiles/headless/credentials-snapshot.patch.yml @@ -9,6 +9,9 @@ - id: llm-deepseek disabled: true +- id: llm-deepseek-account + disabled: true + - id: agent-loop config: agents: @@ -24,6 +27,6 @@ - insert: - id: llm-deepseek-keyless - name: '@deepseek-ai/dsh-llm-deepseek' + name: '@deepseek-ai/dsh-llm-deepseek-api-key' config: baseURL: 'http://127.0.0.1:9' diff --git a/apps/cli/tests/profiles/headless/tests/harness.ts b/apps/cli/tests/profiles/headless/tests/harness.ts index 9c17fa27f4..c07b4b73fd 100644 --- a/apps/cli/tests/profiles/headless/tests/harness.ts +++ b/apps/cli/tests/profiles/headless/tests/harness.ts @@ -8,7 +8,7 @@ import * as BashEnvPlugin from '@deepseek-ai/dsh-shell-env' import LocalSubprocessRuntime from '@deepseek-ai/dsh-subprocess-local' import * as ToolBash from '@deepseek-ai/dsh-tool-bash' import * as ToolTodo from '@deepseek-ai/dsh-tool-todo' -import * as LlmDeepSeek from '@deepseek-ai/dsh-llm-deepseek' +import * as LlmDeepSeek from '@deepseek-ai/dsh-llm-deepseek-api-key' import TokenMeter from '@deepseek-ai/dsh-token-meter' import ToolResultPruner from '@deepseek-ai/dsh-compaction-tool-result-pruner' import JsonlSessionPersistence from '@deepseek-ai/dsh-session-persistence-jsonl' diff --git a/apps/cli/tests/profiles/headless/tests/ptc.e2e.ts b/apps/cli/tests/profiles/headless/tests/ptc.e2e.ts index 4e0fc43235..ba55c91d16 100644 --- a/apps/cli/tests/profiles/headless/tests/ptc.e2e.ts +++ b/apps/cli/tests/profiles/headless/tests/ptc.e2e.ts @@ -17,7 +17,7 @@ import { LocalBashExecutor } from '@deepseek-ai/dsh-bash-local' import * as BashEnvPlugin from '@deepseek-ai/dsh-shell-env' import LocalSubprocessRuntime from '@deepseek-ai/dsh-subprocess-local' import * as ToolBash from '@deepseek-ai/dsh-tool-bash' -import * as LlmDeepSeek from '@deepseek-ai/dsh-llm-deepseek' +import * as LlmDeepSeek from '@deepseek-ai/dsh-llm-deepseek-api-key' import NodeRuntime from '@deepseek-ai/dsh-ptc-runtime-node' import Sandbox from '@deepseek-ai/dsh-sandbox-local' import SandboxPolicy from '@deepseek-ai/dsh-sandbox-policy' diff --git a/apps/cli/tests/profiles/sdk/keyless-smoke.e2e.ts b/apps/cli/tests/profiles/sdk/keyless-smoke.e2e.ts index e4a615b8bc..56dec2af4b 100644 --- a/apps/cli/tests/profiles/sdk/keyless-smoke.e2e.ts +++ b/apps/cli/tests/profiles/sdk/keyless-smoke.e2e.ts @@ -432,11 +432,11 @@ async function officeFixture(root: string, pythonOnly: boolean) { return { source, paths } } -it.each(['unset', 'empty', 'bundled', 'full', 'python-only', 'missing-assets', 'wrong-type'] as const)('composes Office resources through the SDK profile (%s)', async (mode) => { +it.each(['unset', 'empty', 'bundled', 'full', 'python-only', 'python-only-no-cli', 'missing-assets', 'wrong-type'] as const)('composes Office resources through the SDK profile (%s)', async (mode) => { const root = await mkdtemp(join(tmpdir(), 'sdk-office-')) onTestFinished(() => rm(root, { recursive: true, force: true })) const enabled = mode !== 'unset' && mode !== 'empty' - const { source, paths } = await officeFixture(root, mode === 'python-only') + const { source, paths } = await officeFixture(root, mode.startsWith('python-only')) if (mode === 'missing-assets') await rm(join(root, 'resources', 'office-skills'), { recursive: true }) if (mode === 'wrong-type') { await rm(paths.python) @@ -460,9 +460,11 @@ it.each(['unset', 'empty', 'bundled', 'full', 'python-only', 'missing-assets', ' const address = server.address() if (address === null || typeof address === 'string') throw new Error('model fixture did not bind') const home = join(root, 'home') + const cliPatch = join(root, 'cli.patch.yml') + await writeFile(cliPatch, JSON.stringify(mode === 'python-only-no-cli' ? [{ id: 'skill-office', config: { assetRoot: join(root, 'resources', 'office-skills'), cli: false } }] : [])) const officeLaunch = resolveExampleLaunch({ srcBin: fileURLToPath(new URL('../../../src/bin.ts', import.meta.url)), mode: 'lib', - configArgs: ['--profile', 'sdk'], + configArgs: ['--profile', 'sdk', '--patch', cliPatch], env: { DSH_HOME: home, DSH_PRIMARY_RUNTIME: mode === 'unset' || mode === 'bundled' ? undefined : mode === 'empty' ? '' : source + '/', DSH_BUNDLED_PRIMARY_RUNTIME: mode === 'unset' ? undefined : mode === 'bundled' || mode === 'empty' ? source : join(root, 'unused-default'), DSH_PERMISSION_MODE: 'danger-full-access', DSH_TELEMETRY_DISABLED: '1', @@ -492,7 +494,7 @@ it.each(['unset', 'empty', 'bundled', 'full', 'python-only', 'missing-assets', ' const names = (requests[0]!.tools as { name: string }[]).map(value => value.name) expect(names.includes('load_workspace_dependencies')).toBe(enabled) for (const name of ['office-docx', 'office-pptx', 'office-xlsx']) { - expect(JSON.stringify(requests[0]!.messages).includes(name)).toBe(enabled && mode !== 'missing-assets') + expect(JSON.stringify(requests[0]!.messages).includes(name)).toBe(enabled && mode !== 'missing-assets' && mode !== 'python-only') } if (mode === 'wrong-type') { expect(requests).toHaveLength(2) @@ -521,6 +523,7 @@ it.each(['unset', 'empty', 'bundled', 'full', 'python-only', 'missing-assets', ' expect.objectContaining({ role: 'user', content }), ])) } + if (mode === 'python-only') expect(stderr).toContain('node') if (mode === 'missing-assets') expect(stderr).toContain('check_office.py') await send(3, 'shutdown') const exit = await child diff --git a/apps/cli/tests/profiles/sdk/office-cli.e2e.ts b/apps/cli/tests/profiles/sdk/office-cli.e2e.ts new file mode 100644 index 0000000000..359e559241 --- /dev/null +++ b/apps/cli/tests/profiles/sdk/office-cli.e2e.ts @@ -0,0 +1,125 @@ +/** + * Agent discovery of the installed Office CLI through the shipped SDK profile. + * Defaults to built Node packages. DSH_OFFICE_TEST_EXECUTABLE/ENTRY select a + * relocated Node or Electron carrier; CARRIER=sdk selects the standalone executable. + * NODE/CLI/ASSETS under the same prefix supply Desktop resources outside ASAR. + * API=openai-completions selects a development gateway instead of the default Messages API. + */ +import { access, mkdir, mkdtemp, readFile, rm, symlink, writeFile, chmod } from 'node:fs/promises' +import { existsSync } from 'node:fs' +import { tmpdir } from 'node:os' +import { join } from 'node:path' +import { fileURLToPath } from 'node:url' +import { createInterface } from 'node:readline' +import { execa } from 'execa' +import { strToU8, zipSync } from 'fflate' +import { expect, it } from 'vitest' + +const repo = fileURLToPath(new URL('../../../../../', import.meta.url)) +const carrier = process.env.DSH_OFFICE_TEST_CARRIER ?? 'npm' +const executable = process.env.DSH_OFFICE_TEST_EXECUTABLE ?? process.execPath +const entry = process.env.DSH_OFFICE_TEST_ENTRY ?? join(repo, 'apps/cli/lib/bin.js') + +it.skipIf(!process.env.DEEPSEEK_API_KEY || process.platform === 'win32')(`agent discovers and executes the ${carrier} Office CLI without Node on PATH`, async () => { + const root = await mkdtemp(join(tmpdir(), 'dsh office discovery ')) + try { + await writeFile(join(root, 'input.docx'), zipSync({ + '[Content_Types].xml': strToU8(''), + '_rels/.rels': strToU8(''), + 'word/document.xml': strToU8('Office CLI discovery'), + })) + const patch = join(root, 'office.patch.yml') + await writeFile(patch, JSON.stringify([ + ...(process.env.DSH_OFFICE_TEST_API === 'openai-completions' ? [{ id: 'llm-deepseek', disabled: true }, { id: 'llm-pi-ai', config: { providers: { 'office-test': { api: 'openai-completions', apiKeyEnv: 'DEEPSEEK_API_KEY', baseURL: process.env.DEEPSEEK_BASE_URL, compat: { thinkingFormat: 'deepseek' }, models: [{ id: process.env.MODEL_NAME ?? 'deepseek-v4-flash', contextWindow: 128000, maxTokens: 8000 }] } } } }] : []), + { id: 'session-persistence-jsonl', config: { root: join(root, 'sessions'), compression: 'none' } }, + ...carrier === 'sdk' ? [] : [{ insert: [{ + id: 'office-cli-discovery', name: '@deepseek-ai/dsh-skill-office', config: { + ...(process.env.DSH_OFFICE_TEST_NODE ? { node: process.env.DSH_OFFICE_TEST_NODE } : {}), + ...(process.env.DSH_OFFICE_TEST_CLI ? { cli: process.env.DSH_OFFICE_TEST_CLI } : {}), + ...(process.env.DSH_OFFICE_TEST_ASSETS ? { assetRoot: process.env.DSH_OFFICE_TEST_ASSETS } : {}), + }, + }] }], + ])) + // A private POSIX tool directory also excludes /usr/bin/node on Linux. + const path = join(root, 'bin') + await mkdir(path) + for (const name of ['bash', 'sh', 'cat', 'ls', 'head', 'tail', 'mkdir']) { + const binary = (existsSync('/bin/' + name) ? '/bin/' : '/usr/bin/') + name + await access(binary) + await symlink(binary, join(path, name)) + } + const decoyMarker = join(root, 'system-office-invoked') + for (const name of ['libreoffice', 'soffice']) { + const decoy = join(path, name) + await writeFile(decoy, '#!/bin/sh\nprintf invoked > ' + "'" + decoyMarker.replaceAll("'", "'\\''") + "'" + '\nexit 86\n') + await chmod(decoy, 0o755) + } + const lookup = await execa('/bin/sh', ['-c', 'command -v node || command -v libreoffice-kit'], { env: { PATH: path }, reject: false }) + expect(lookup.exitCode, 'the fixture must not expose Node or the Office CLI through PATH').not.toBe(0) + const child = execa(executable, [ + ...carrier === 'sdk' ? [] : [entry], '--profile', 'sdk', '--patch', patch, + ], { + cwd: root, env: { + PATH: path, DSH_HOME: join(root, 'home'), DSH_AGENTS_HOME: join(root, 'agents'), + DSH_PERMISSION_MODE: 'danger-full-access', DSH_TELEMETRY_DISABLED: '1', DSH_TOOLS_MODE: 'native', + DSH_PRIMARY_RUNTIME: carrier === 'sdk' ? undefined : '', + }, + timeout: 110_000, killSignal: 'SIGKILL', reject: false, + }) + const lines = createInterface({ input: child.stdout }) + const records: Record[] = [] + let protocolError: Error | undefined + const send = (id: number, method: string, params?: object): void => { + child.stdin.write(JSON.stringify({ jsonrpc: '2.0', id, method, params }) + '\n') + } + lines.on('line', (line) => { + try { + const value = JSON.parse(line) as Record + records.push(value) + if (value.id === 1) send(2, 'session/prompt', { sessionId: 'main', contentBlocks: [{ type: 'text', text: + 'Load the appropriate Office skill and convert input.docx to result.pdf. Also save the installed LibreOffice Kit capabilities command output verbatim to capabilities.json. Use the supplied runtime; do not install anything. Report briefly after the files exist.', + }] }) + const params = value.params as { event?: { type?: string } } | undefined + if (value.error !== undefined || params?.event?.type === 'turn/end') send(3, 'shutdown') + } catch (error) { + protocolError = error instanceof Error ? error : new Error(String(error)) + child.kill('SIGKILL') + } + }) + try { + send(1, 'initialize', { cwd: root, provider: process.env.DSH_OFFICE_TEST_API === 'openai-completions' ? 'office-test' : 'deepseek-official', model: process.env.MODEL_NAME ?? 'deepseek-v4-flash', maxTokens: 8000 }) + const result = await child + const diagnostic = `${result.stderr}\n${result.stdout}` + expect(protocolError, diagnostic).toBeUndefined() + expect(result.timedOut, diagnostic).toBe(false) + expect(result.signal, diagnostic).toBeUndefined() + expect(result.exitCode, diagnostic).toBe(0) + expect(records.filter(record => record.error !== undefined), diagnostic).toEqual([]) + const calls = records.flatMap((record) => { + const params = record.params as { event?: { type: string; data: { name?: string; arguments?: unknown } } } | undefined + return params?.event?.type === 'tool/call' ? [params.event.data] : [] + }) + expect(calls.some(call => call.name === 'skill'), diagnostic).toBe(true) + const commands = calls.filter(call => call.name === 'bash') + expect(commands.length, diagnostic).toBeGreaterThan(0) + expect(calls.findIndex(call => call.name === 'skill'), diagnostic).toBeLessThan(calls.findIndex(call => call.name === 'bash')) + const commandText = JSON.stringify(commands) + for (const fragment of ['cli.js', 'capabilities', 'convert']) expect(commandText, diagnostic).toContain(fragment) + expect(existsSync(decoyMarker), 'the agent must not invoke system Office when the bundled CLI is supplied').toBe(false) + expect(commandText, 'the skill supplies an entry; searching for other Office binaries is unnecessary').not.toMatch(/(?:which|whereis|command -v|find).{0,100}(?:libreoffice|soffice)/iu) + const capabilities = JSON.parse(await readFile(join(root, 'capabilities.json'), 'utf8')) as { runtime: { version: string; cliPath: string } } + expect(capabilities.runtime.version).toBe('0.1.0') + expect(capabilities.runtime.cliPath).toMatch(/lib[/\\]cli\.js$/u) + const pdf = await readFile(join(root, 'result.pdf')) + expect(pdf.subarray(0, 5).toString()).toBe('%PDF-') + expect(pdf.length).toBeGreaterThan(1000) + } finally { + lines.close() + child.stdin.end() + child.kill('SIGKILL') + await child + } + } finally { + await rm(root, { recursive: true, force: true, maxRetries: 5, retryDelay: 100 }) + } +}) diff --git a/apps/desktop-host/package.json b/apps/desktop-host/package.json index 5d9628bdee..78678127d0 100644 --- a/apps/desktop-host/package.json +++ b/apps/desktop-host/package.json @@ -1,7 +1,7 @@ { "name": "@deepseek-ai/dsh-desktop-host", "description": "Private Node-mode host process for the Electron desktop application", - "version": "0.1.7-alpha.2", + "version": "0.1.7-rc.1", "private": true, "license": "MIT", "type": "module", @@ -10,6 +10,7 @@ "lib/index.js" ], "dependencies": { + "@deepseek-ai/libreoffice-kit": "^0.1.0", "@deepseek-ai/cordis": "workspace:~", "@deepseek-ai/dsh": "workspace:*", "@deepseek-ai/dsh-agent": "workspace:*", diff --git a/apps/desktop-host/src/index.ts b/apps/desktop-host/src/index.ts index 209882013e..ecbff835ce 100644 --- a/apps/desktop-host/src/index.ts +++ b/apps/desktop-host/src/index.ts @@ -71,6 +71,7 @@ async function main(): Promise { const { ctx } = await application control.updateTasks = installDesktopUpdateTaskControl(ctx) await ctx.plugin(desktopOffice, { + runtimeDir, source: process.argv[4] ?? join(runtimeDir, '..', 'runtime', 'primary-runtime'), root: join(resolveDshHome(), 'dsh-runtimes', 'dsh-primary-runtime'), }) diff --git a/apps/desktop-host/src/office.ts b/apps/desktop-host/src/office.ts index 8420aa0feb..13941060ef 100644 --- a/apps/desktop-host/src/office.ts +++ b/apps/desktop-host/src/office.ts @@ -1,6 +1,9 @@ /** Desktop Office skills and bundled authoring dependencies. */ -import { dirname, join } from 'node:path' +import { realpathSync } from 'node:fs' +import { dirname, join, relative } from 'node:path' +import { fileURLToPath } from 'node:url' +import { runtimeArchivePath } from './office-engine.ts' import type { Context } from '@deepseek-ai/cordis' import * as officeSkills from '@deepseek-ai/dsh-skill-office' import * as workspaceDependencies from '@deepseek-ai/dsh-tool-workspace-dependencies' @@ -13,6 +16,8 @@ export interface Config { readonly source: string /** Harness-home directory where workspace dependencies are installed. */ readonly root: string + /** Prepared or ASAR-contained application dependency directory. */ + readonly runtimeDir: string } /** @@ -22,5 +27,12 @@ export interface Config { */ export async function apply(ctx: Context, config: Config): Promise { await ctx.plugin(workspaceDependencies, config) - await ctx.plugin(officeSkills, { assetRoot: join(dirname(config.source), 'office-skills') }) + const archive = runtimeArchivePath(config.runtimeDir) === undefined ? undefined : dirname(realpathSync(config.runtimeDir)) + const manifest = fileURLToPath(import.meta.resolve('@deepseek-ai/libreoffice-kit/package.json')) + const packageRoot = dirname(archive === undefined ? manifest : join(`${archive}.unpacked`, relative(archive, manifest))) + await ctx.plugin(officeSkills, { + assetRoot: join(dirname(config.source), 'office-skills'), + node: join(config.source, 'dependencies', 'node', 'bin', process.platform === 'win32' ? 'node.exe' : 'node'), + cli: join(packageRoot, 'lib', 'cli.js'), + }) } diff --git a/apps/desktop-host/tests/office.spec.ts b/apps/desktop-host/tests/office.spec.ts index f26b5fc6e0..862f832029 100644 --- a/apps/desktop-host/tests/office.spec.ts +++ b/apps/desktop-host/tests/office.spec.ts @@ -1,4 +1,4 @@ -import { cp, mkdtemp, rm, writeFile } from 'node:fs/promises' +import { cp, mkdir, mkdtemp, rm, writeFile } from 'node:fs/promises' import { tmpdir } from 'node:os' import { join } from 'node:path' import { pathToFileURL } from 'node:url' @@ -12,12 +12,15 @@ import ToolRuntime from '@deepseek-ai/dsh-tools' import { expect, it } from 'vitest' import * as desktopOffice from '../src/office.ts' -it('loads Desktop Office skills without a document renderer and removes them on disposal', async () => { +it('loads Desktop Office CLI paths and removes them on disposal', async () => { const root = await mkdtemp(join(tmpdir(), 'desktop-office-')) const ctx = new Context() try { const assets = join(root, 'runtime', 'office-skills') await cp(new URL('../../../packages/skill/skill-office/assets/', import.meta.url), assets, { recursive: true }) + const nodeDirectory = join(root, 'runtime', 'primary-runtime', 'dependencies', 'node', 'bin') + await mkdir(nodeDirectory, { recursive: true }) + await cp(process.execPath, join(nodeDirectory, process.platform === 'win32' ? 'node.exe' : 'node')) ctx.baseUrl = pathToFileURL(root).href + '/' await ctx.plugin(Loader) ctx.loader.builtins.include = Include @@ -38,13 +41,16 @@ it('loads Desktop Office skills without a document renderer and removes them on await writeFile(config, [ '- name: agents', '- name: systemPrompt', '- name: tools', '- name: skills', '- name: office', ' config:', ` source: ${JSON.stringify(join(root, 'runtime', 'primary-runtime'))}`, - ` root: ${JSON.stringify(join(root, 'installed'))}`, '', + ` root: ${JSON.stringify(join(root, 'installed'))}`, + ` runtimeDir: ${JSON.stringify(join(root, 'dsh'))}`, '', ].join('\n')) await ctx.loader.create({ name: 'cordis:include', config: { path: pathToFileURL(config).href } }) await ctx.loader.await() for (const entry of ctx.loader.entries()) await entry.fiber?.await() expect((await ctx.skills.list()).map(skill => skill.name)).toEqual(['office-docx', 'office-pptx', 'office-xlsx']) expect((await ctx.skills.get('office-pptx'))?.resourceBase).toEqual({ kind: 'directory', path: join(assets, 'office-pptx') }) + expect((await ctx.skills.get('office-pptx'))?.content).toContain('libreofficeKit') + expect((await ctx.skills.get('office-pptx'))?.content).toContain(JSON.stringify(nodeDirectory).slice(1, -1)) expect(ctx.tools.schemas().map(tool => tool.name)).toEqual(['load_workspace_dependencies']) const entry = [...ctx.loader.entries()].find(entry => entry.options.name === 'office') expect(entry).toBeDefined() diff --git a/apps/desktop-host/tests/platform-session.spec.ts b/apps/desktop-host/tests/platform-session.spec.ts index 3fee3c2d5e..7be4154979 100644 --- a/apps/desktop-host/tests/platform-session.spec.ts +++ b/apps/desktop-host/tests/platform-session.spec.ts @@ -20,6 +20,7 @@ class Account extends DeepSeekAccount { override async startSignIn() { return state } override async cancelSignIn() { return state } override async signOut() { return state } + override async rejectToken() {} override async resolveToken() { return undefined } override async getPlatformSession() { this.reading.resolve(undefined); return this.read() } override async *watch(signal: AbortSignal) { diff --git a/apps/desktop/README.i18n.yaml b/apps/desktop/README.i18n.yaml index 77500865f6..b4f6e3304b 100644 --- a/apps/desktop/README.i18n.yaml +++ b/apps/desktop/README.i18n.yaml @@ -1,6 +1,67 @@ -# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each -# side as of the last confirmed-consistent state. Both languages carry equal authority; -# after editing either side, bring the other along and re-record with: +# Bilingual-pair consistency record for README.md (docs/i18n/README.md): per heading +# section, a hash of its English and Chinese blocks outside code blocks and generated regions. +# After editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write apps/desktop/README.md -README.md: 2b07b2b9d95c3d16a3aaa58b6d52f55cb1242e2e -README.zh.md: 4ebae34332b1d622a35d0bf857f1f3252736512c +/deepseek-harness-desktop: + en: 907e8bc5ebef2678 + zh: f23af881b27cad94 +/deepseek-harness-desktop/key-technical-decisions: + en: 47ec880441223749 + zh: 3be7731db888b4a4 +/deepseek-harness-desktop/key-technical-decisions/bundled-workspace-dependencies: + en: c2eb16f568cd8554 + zh: 686d64af17b10375 +/deepseek-harness-desktop/installation-ownership: + en: 3fe85101acf17b0a + zh: 70cd207cadc85b94 +/deepseek-harness-desktop/installation-ownership/runtime-and-plugin-activation: + en: 0d11af8639977a6d + zh: 86b086b12d2210d3 +/deepseek-harness-desktop/develop: + en: 99f5299ebcf69b97 + zh: 0411074daee0cd79 +/deepseek-harness-desktop/develop/startup-onboarding: + en: f01d0dbafe8b1613 + zh: 91ad92f5d7e505c4 +/deepseek-harness-desktop/develop/welcome-window-appearance: + en: 7220801ccc3b2e6b + zh: 042dc97976aef979 +/deepseek-harness-desktop/package: + en: 4cd8a8da6977928d + zh: 9f624855a2edac37 +/deepseek-harness-desktop/package/release-versions: + en: f461b255133384cc + zh: 2b9db718f22fdd04 +/deepseek-harness-desktop/package/runtime-file-selection: + en: 7d72469be4975afe + zh: 2f644b582cb581be +/deepseek-harness-desktop/package/upload-updates: + en: 7828da306d42ed2e + zh: 0b8bc61c5f612dcb +/deepseek-harness-desktop/package/unsigned-windows-test-installer: + en: cfd5780dd26a8e46 + zh: f7a16b1ede793b7b +/deepseek-harness-desktop/package/windows-installer-interface: + en: f176a8b1c7de3064 + zh: 6ea2dbe6bb808c34 +/deepseek-harness-desktop/package/windows-ev-signing: + en: 8efe3498dbe8686d + zh: a88c16f20a9430f3 +/deepseek-harness-desktop/updates: + en: 8ce8647a3ff94b9a + zh: 93250420c9d6f4ce +/deepseek-harness-desktop/updates/mandatory-update-policy: + en: b99d35abf25d5347 + zh: ed250334da3f149d +/deepseek-harness-desktop/updates/local-updater-qualification: + en: bf34de891411c618 + zh: aa6923fd5060174b +/deepseek-harness-desktop/low-level-development-overrides: + en: 0b225f914142ef0b + zh: 9ffd07768d37824e +/deepseek-harness-desktop/known-limitations: + en: e084ae80b7ebfaf1 + zh: f20ba012b4330a3f +/deepseek-harness-desktop/dev-note: + en: 8e26b460ba31f21b + zh: fbcd0307b3867125 diff --git a/apps/desktop/README.md b/apps/desktop/README.md index 2b07b2b9d9..fb83b0fc66 100644 --- a/apps/desktop/README.md +++ b/apps/desktop/README.md @@ -14,6 +14,8 @@ Embedded Platform documents use a dedicated non-persistent WebContentsView sessi Desktop Host Platform API requests use the same `x-client-platform` mapping as update-policy requests. The account provider owns [API-only header configuration](../../packages/credentials/deepseek-account-platform/README.md#use-this-package). +A server-expired account credential returns to Welcome when no official API key is configured; an available API key keeps the workspace open. Explicit sign-out follows the same rule. Both Welcome and the workspace display the localized expiry notice. + Desktop microphone access is restricted to audio requests from the primary `dsh-app://app` frame. macOS uses system microphone authorization and a packaged usage description. Press F12 (Fn+F12 on media-key keyboards), Command+Option+I on macOS, or Ctrl+Shift+I on Windows to toggle DevTools for the focused application page, including in packaged builds. These native shortcuts use hidden application-menu items. Update overlays and packaged embedded browser guests disable DevTools. @@ -50,6 +52,8 @@ Node prepares the bundled interpreters and Python libraries without a system Pyt The [thin-wrapper decision](../../.agents/notes/implemented/architecture/2026-09-10-desktop-web-wrapper.md) owns shared Web behavior and Desktop adapters. The [Electron packaging and update decision](../../.agents/notes/implemented/architecture/2026-08-25-electron-desktop-packaging-and-updates.md) owns release identity, signing, and update qualification. +Welcome loads the shared Toast palette and shadow tokens, with system typography for body-mounted notifications. + ## Installation ownership Electron owns `$DSH_HOME/profiles/desktop`. Its `dependencies` contains packages installed by pnpm; `dsh.profile.bundles` contains the built-in bundles followed by enabled plugins. The signed application supplies dsh, the private Desktop Host, and their production packages from `resources/app.asar/dsh`. Packaged applications select runtime profile resolution without creating package links; development profiles use filesystem links. Both host and plugins execute in the same Electron Node-mode process; Desktop does not enable `--preserve-symlinks`. The CLI cannot boot or mutate this profile. @@ -185,9 +189,9 @@ Each target owns its packed package inputs, prepared runtime, package set, dsh t Desktop packs workspace packages locally and installs external dependencies through the target's bundled Node and pnpm. [Desktop's file policy](scripts/runtime-file-policy.ts) then filters the immutable `resources/app.asar/dsh/node_modules` copy before signing and integrity sealing. It omits TypeScript declarations, recognized JavaScript/CSS/TypeScript source maps, TypeScript build caches, Domino's test directory, selected native compiler outputs, and node-pty prebuilds for other platforms. It preserves runtime JavaScript, native modules and their DLL/EXE helpers, WASM, unknown assets, licenses, and notices. Dependency manifests pass through electron-builder's metadata cleanup before integrity sealing, so archiving preserves their recorded bytes. The policy does not alter npm tarballs, the bundled package manager, or user-installed plugin files. -The [Office conversion provider](../../packages/document/office-to-pdf/README.md) carries the target’s declared native engine, or WASM when the kit declares no matching native target. Preparation rejects a missing target engine before packaging. Complete native engine packages, including executables, libraries, data, licenses, and notices, are unpacked under `resources/app.asar.unpacked/dsh/node_modules/@deepseek-ai/`. The Desktop Host resolves engine manifests to these physical directories so native subprocesses can read their resources; the JavaScript API and WASM engine remain in ASAR. On macOS, the native helper receives the JIT entitlement required by [LibreOffice’s UNO bridge](https://github.com/LibreOffice/core/blob/master/sysui/desktop/macosx/hardened_runtime.xcent.in). +The [Office conversion provider](../../packages/document/office-to-pdf/README.md) carries the target’s declared native engine, or WASM when the kit declares no matching native target. Preparation rejects a missing target engine before packaging. The complete Office dependencies, including CLI, JavaScript libraries, and the selected engine’s executables, data, licenses, and notices, are unpacked under `resources/app.asar.unpacked/dsh/node_modules/`. The Desktop Host resolves engine manifests to these physical directories and supplies loaded skills with absolute standalone Node and unpacked CLI paths. Node lives in `resources/runtime/primary-runtime/dependencies/node/bin/`; the CLI is the unpacked `@deepseek-ai/libreoffice-kit/lib/cli.js`. On macOS, the native helper receives the JIT entitlement required by [LibreOffice’s UNO bridge](https://github.com/LibreOffice/core/blob/master/sysui/desktop/macosx/hardened_runtime.xcent.in). -The packaged application runs compiled JavaScript and pre-generated Typert metadata; it does not compile TypeScript plugins. Source-level debugger navigation and editor declarations remain available in development packages. [Copy-policy tests](tests/runtime-file-policy.spec.ts) cover exclusions and retained assets; The [payload smoke](tests/fixtures/runtime-payload-smoke.mjs) runs under Electron RunAsNode before the Host smoke and final inventory verification. The payload smoke resolves the search tool’s ripgrep executable and verifies text search and file enumeration. Signed Windows builds run these checks after dependency signing; other builds run them during `prepare:dsh`. The [Host smoke](scripts/smoke-runtime.ts) creates DOCX, XLSX, and PPTX inputs with bundled Python, converts each through the real Office provider, and checks PDF output. Every assembled application, including directory and unsigned Windows builds, repeats the payload and Host checks against ASAR. Archive integrity checks compare the complete archived descriptor with preparation, file bytes and membership in both archive and unpacked trees, recorded executable flags for archived files, and physical permissions for unpacked files. Conversion failures stop packaging before a release record is written; macOS DMG/ZIP builds run these checks before notarization. +The packaged application runs compiled JavaScript and pre-generated Typert metadata; it does not compile TypeScript plugins. Source-level debugger navigation and editor declarations remain available in development packages. [Copy-policy tests](tests/runtime-file-policy.spec.ts) cover exclusions and retained assets; The [payload smoke](tests/fixtures/runtime-payload-smoke.mjs) runs under Electron RunAsNode before the Host smoke and final inventory verification. The payload smoke resolves the search tool’s ripgrep executable and verifies text search and file enumeration. Signed Windows builds run these checks after dependency signing; other builds run them during `prepare:dsh`. The [Host smoke](scripts/smoke-runtime.ts) creates DOCX, XLSX, and PPTX inputs with bundled Python, converts each through the real Office provider, and checks PDF output. Every assembled application, including directory and unsigned Windows builds, repeats the payload and Host checks against ASAR. Archive integrity checks compare the complete archived descriptor with preparation, file bytes and membership in both archive and unpacked trees, recorded executable flags for archived files, and physical permissions for unpacked files. The Host smoke also obtains CLI paths from the loaded skill and runs capabilities and DOCX conversion with an empty PATH. Conversion failures stop packaging before a release record is written; macOS DMG/ZIP builds run these checks before notarization. Windows release qualification also runs [directory and replacement checks](scripts/smoke-windows.ps1) manually after the Desktop build. Set `$Makensis`, `$SevenZip`, and `$PluginDir` to the pinned builder’s NSIS compiler, 7-Zip executable, and x86-unicode NSIS plugin directory; pass the prepared `window-frame.dll` as `-FrameLibrary` to exercise the native extraction path and its failure report as well. From the repository root, run the command below. It verifies directory replacement and rollback, and both locked-file replacement modes; it is not part of the unit-test lane. @@ -399,7 +403,7 @@ The downloaded bytes are inert, and the installation call is recorded rather tha ## Low-level development overrides -An unpackaged Electron process uses `.desktop-build/development/project` under its application directory as its development project. `DSH_DESKTOP_PNPM_ENTRY` and `DSH_DESKTOP_DSH_DIR` select explicit runtime resources. Packaged applications ignore these variables, resolve signed resources from `process.resourcesPath`, and use the managed Desktop profile. +An unpackaged Electron process uses `.desktop-build/development/project` under its application directory as its development project. `DSH_DESKTOP_PNPM_ENTRY` and `DSH_DESKTOP_DSH_DIR` are optional overrides with application-path defaults. `DSH_DESKTOP_PRIMARY_RUNTIME_DIR` is required for every unpackaged launch: the development launchers (`dev:desktop`, `start:desktop`, and the workspace-update qualification runner) set it to the primary-runtime directory of the target they prepared, and a launch without it fails with the fatal startup dialog. The launcher must set it because the shell cannot derive that directory from `process.arch`: the build target fixes Windows to x64 while the host may be arm64. Packaged applications ignore these variables, resolve signed resources from `process.resourcesPath`, and use the managed Desktop profile. ## Known limitations @@ -408,8 +412,11 @@ An unpackaged Electron process uses `.desktop-build/development/project` under i - Release signing, notarization, update hosting, and previous-version installed-artifact qualification require the production release environment. - Dependency lifecycle scripts follow pnpm’s build permissions; Desktop provides no separate approval dialog. - The desktop shell shares sessions, settings, credentials, workspaces, and storage under `$DSH_HOME` with CLI dsh, while executable packages, plugin activation, and lockfiles remain separate. +- Unpackaged startup on an Electron win32-arm64 host now succeeds, but the payload remains x64: the architecture check in `packages/skill/tool-workspace-dependencies/src/index.ts` compares the recorded payload architecture against the host `process.arch`, so the `load_workspace_dependencies` tool can still reject the primary runtime. -Sign in opens the configured platform page in the system browser. The Host owns PKCE and a temporary loopback callback, saves the credential before entering the workspace, and redirects the browser to the platform completion page. Opened and copied authorization links carry the effective Desktop theme as `theme=light` or `theme=dark`; `system` resolves at the time of the action. Cancel withdraws the local attempt even if the platform page later approves it. Settings offers Account sign-out; without a separate API key, sign-out returns to the welcome window. Packaged applications register dsh://open to show the window without passing credentials. On macOS, the development launcher prepares an ad-hoc-signed `Harness Dev.app` under `.desktop-build/development`, declares `dsh` in its Info.plist, and registers it with Launch Services. It loads the current workspace and records the selected development home, browser-data path, and debug settings for cold starts. Starting this bundle makes it the default `dsh://` handler; starting the packaged application registers the packaged handler again. The generated bundle does not contain account tokens and requires the workspace and prepared runtime to remain available. +Sign in opens the configured platform page in the system browser. The Host owns PKCE and a temporary loopback callback, saves the credential before entering the workspace, and redirects the browser to the platform completion page. Opened and copied authorization links carry the effective Desktop theme as `theme=light` or `theme=dark`; `system` resolves at the time of the action. Cancel withdraws the local attempt even if the platform page later approves it. Settings offers Account sign-out; without a separate API key, sign-out returns to the welcome window. Successful browser sign-in switches Welcome to the workspace without activating the application; the completion page’s dsh://open link brings it to the foreground. Packaged applications register dsh://open to show the window without passing credentials. On macOS, the development launcher prepares an ad-hoc-signed `Harness Dev.app` under `.desktop-build/development`, declares `dsh` in its Info.plist, and registers it with Launch Services. It loads the current workspace and records the selected development home, browser-data path, and debug settings for cold starts. Starting this bundle makes it the default `dsh://` handler; starting the packaged application registers the packaged handler again. The generated bundle does not contain account tokens and requires the workspace and prepared runtime to remain available. + +When an expired account returns to Welcome, the main process retains a one-time notification until the renderer requests it over window-owned IPC. Reloading Welcome does not repeat the notice; manual sign-out and cold startup do not create it. An expired login displays a timeout heading with explicit Sign in again and Add API Key actions. Opening the API-key form dismisses the authorization view; late account-state notifications do not replace an in-progress key entry. diff --git a/apps/desktop/README.zh.md b/apps/desktop/README.zh.md index 4ebae34332..490eff4b35 100644 --- a/apps/desktop/README.zh.md +++ b/apps/desktop/README.zh.md @@ -14,6 +14,8 @@ Creator 和 Web Plugin Manager 在 Electron Node 模式下使用 Desktop 内置 Desktop Host 的 Platform API 请求与更新策略请求使用相同的 `x-client-platform` 映射。账号 provider 管理[仅 API 使用的请求头配置](../../packages/credentials/deepseek-account-platform/README.zh.md#use-this-package)。 +账号凭据被服务端判定失效后,未配置官方 API key 时返回 Welcome;有可用 API key 时保持工作区打开。主动退出登录遵循相同规则。Welcome 和工作区均显示本地化的登录失效提示。 + 桌面麦克风访问仅允许主 `dsh-app://app` 页面发起的音频请求。macOS 使用系统麦克风授权与随包用途说明。 按 F12(多媒体功能键键盘上为 Fn+F12)、macOS 的 Command+Option+I 或 Windows 的 Ctrl+Shift+I,可切换当前获得焦点的应用页面的 DevTools,打包版本同样支持。这些原生快捷键通过隐藏的应用菜单项注册。更新遮罩和打包版本的内嵌浏览器禁用 DevTools。 @@ -50,6 +52,8 @@ Node 准备内置解释器和 Python 库,无需系统 Python 或 pip。[下载 [薄壳决策](../../.agents/notes/implemented/architecture/2026-09-10-desktop-web-wrapper.zh.md)负责共享 Web 行为与 Desktop 适配。[Electron 打包与更新决策](../../.agents/notes/implemented/architecture/2026-08-25-electron-desktop-packaging-and-updates.zh.md)负责发布身份、签名及更新验收。 +Welcome 加载共享 Toast 的配色和阴影变量,挂载在 body 下的通知使用系统字体。 + ## 安装归属 Electron 拥有 `$DSH_HOME/profiles/desktop`。其 `dependencies` 包含 pnpm 安装的包;`dsh.profile.bundles` 包含内置 bundle,后接已启用插件。签名应用从 `resources/app.asar/dsh` 提供 dsh、私有 Desktop Host 及其生产依赖。打包应用选择 runtime profile 解析,不创建包链接;开发 profile 使用文件系统链接。宿主与插件在同一个 Electron Node 模式进程中执行;Desktop 不启用 `--preserve-symlinks`。CLI 不能启动或修改此 profile。 @@ -185,7 +189,7 @@ macOS arm64 命令要求 Apple Silicon。macOS x64 命令可以在 Intel macOS Desktop 在本地打包工作区包,并通过目标捆绑的 Node 和 pnpm 安装外部依赖。[Desktop 文件策略](scripts/runtime-file-policy.ts)随后在签名和完整性封装前过滤不可变的 `resources/app.asar/dsh/node_modules` 副本。它排除 TypeScript 声明、已识别的 JavaScript/CSS/TypeScript source map、TypeScript 构建缓存、Domino 测试目录、选定的原生编译器输出和其他平台的 node-pty 预构建文件。它保留运行时 JavaScript、原生模块及其 DLL/EXE 辅助文件、WASM、未知资源、许可证和 notices。依赖清单在完整性封装前经过 electron-builder 的元数据清理,确保归档保持已记录的字节。该策略不修改 npm tarball、捆绑的包管理器或用户安装的插件文件。 -[Office 转换提供方](../../packages/document/office-to-pdf/README.zh.md)携带目标已声明的原生引擎;kit 未声明匹配原生目标时携带 WASM 引擎。准备阶段在打包前拒绝缺少目标引擎的情况。完整原生引擎包(包括可执行文件、库、数据、许可证和 notices)解包到 `resources/app.asar.unpacked/dsh/node_modules/@deepseek-ai/` 下。Desktop Host 将引擎清单解析到这些物理目录,使原生子进程能读取资源;JavaScript API 和 WASM 引擎保留在 ASAR 中。macOS 上的原生辅助程序获得 [LibreOffice UNO 桥](https://github.com/LibreOffice/core/blob/master/sysui/desktop/macosx/hardened_runtime.xcent.in)所需的 JIT entitlement。 +[Office 转换提供方](../../packages/document/office-to-pdf/README.zh.md)携带目标已声明的原生引擎;kit 未声明匹配原生目标时携带 WASM 引擎。准备阶段在打包前拒绝缺少目标引擎的情况。完整 Office 依赖(CLI、JavaScript 库和选定引擎的可执行文件、数据、许可证及 notices)解包到 `resources/app.asar.unpacked/dsh/node_modules/` 下。Desktop Host 将引擎清单解析到这些物理目录,并向加载的技能提供独立 Node 和解包后 CLI 的绝对路径。Node 位于 `resources/runtime/primary-runtime/dependencies/node/bin/`;CLI 位于解包后的 `@deepseek-ai/libreoffice-kit/lib/cli.js`。macOS 上的原生辅助程序获得 [LibreOffice UNO 桥](https://github.com/LibreOffice/core/blob/master/sysui/desktop/macosx/hardened_runtime.xcent.in)所需的 JIT entitlement。 打包应用运行编译后的 JavaScript 和预生成的 Typert 元数据,不编译 TypeScript 插件。源码级调试导航和编辑器声明仍可从开发包中获取。[复制规则测试](tests/runtime-file-policy.spec.ts)覆盖排除项和保留资源;[产物 smoke](tests/fixtures/runtime-payload-smoke.mjs) 在 Host smoke 和最终清单验证之前,使用 Electron RunAsNode 执行。产物 smoke 解析搜索工具使用的 ripgrep 可执行文件,并验证文本搜索和文件枚举。Windows 签名构建在依赖签名后运行这些检查;其他构建在 `prepare:dsh` 中运行。[Host smoke](scripts/smoke-runtime.ts) 使用捆绑的 Python 创建 DOCX、XLSX 和 PPTX 输入,通过真实 Office 提供方逐一转换并检查 PDF 输出。每个组装后的应用(包括目录包和 Windows 未签名构建)都会针对 ASAR 重复产物和 Host 检查。归档完整性检查将归档内完整描述符与准备结果比对,并核对归档和解包目录中的文件内容与清单、归档内文件记录的执行标志,以及解包文件的物理权限。转换失败会在写入发布记录前终止打包;macOS DMG/ZIP 构建在公证前执行这些检查。 @@ -399,7 +403,7 @@ node apps/desktop/node_modules/pnpm/bin/pnpm.mjs --dir apps/desktop run test:upd ## 底层开发覆盖项 -未打包的 Electron 进程使用应用目录下的 `.desktop-build/development/project` 作为开发项目。`DSH_DESKTOP_PNPM_ENTRY` 和 `DSH_DESKTOP_DSH_DIR` 用于选择明确的运行时资源。打包应用会忽略这些变量,从 `process.resourcesPath` 解析签名资源,并使用受管 Desktop profile。 +未打包的 Electron 进程使用应用目录下的 `.desktop-build/development/project` 作为开发项目。`DSH_DESKTOP_PNPM_ENTRY` 和 `DSH_DESKTOP_DSH_DIR` 是带应用路径默认值的可选覆盖项。每次未打包启动都必须设置 `DSH_DESKTOP_PRIMARY_RUNTIME_DIR`:开发启动器(`dev:desktop`、`start:desktop` 及工作区更新验证运行器)会把它设置为自己已准备目标的 primary-runtime 目录;缺少该变量的启动会以致命启动对话框失败。启动器必须设置它,因为壳无法从 `process.arch` 推导该目录:构建目标将 Windows 固定为 x64,而宿主可能是 arm64。打包应用会忽略这些变量,从 `process.resourcesPath` 解析签名资源,并使用受管 Desktop profile。 ## 已知限制 @@ -408,8 +412,11 @@ node apps/desktop/node_modules/pnpm/bin/pnpm.mjs --dir apps/desktop run test:upd - 发布签名、公证、更新托管和跨上一版本的已安装产物验证需要生产发布环境。 - 依赖的生命周期脚本遵循 pnpm 的构建权限;Desktop 不提供单独的审批对话框。 - 桌面壳与 CLI dsh 共享 `$DSH_HOME` 下的会话、设置、凭据、工作区和存储,但可执行包、插件激活和锁文件彼此隔离。 +- 在 Electron win32-arm64 宿主上,未打包启动现在可以成功,但载荷仍为 x64:`packages/skill/tool-workspace-dependencies/src/index.ts` 的架构校验会把载荷记录的架构与宿主 `process.arch` 比较,因此 `load_workspace_dependencies` 工具仍可能拒绝 primary runtime。 -登录会在系统浏览器中打开配置的平台页面。Host 负责 PKCE 和临时本机回调,在进入工作区前保存凭证,再将浏览器跳转到平台完成页。打开和复制的授权链接通过 `theme=light` 或 `theme=dark` 携带当前生效的 Desktop 主题;`system` 在执行操作时解析。即使平台页面随后批准,取消仍会撤销本地尝试。设置中的账号页面提供退出;没有独立 API Key 时,退出后返回欢迎窗。打包应用注册 dsh://open,只显示窗口而不传递凭证。macOS 开发启动器在 `.desktop-build/development` 下准备经临时签名的 `Harness Dev.app`,在 Info.plist 中声明 `dsh` 并注册到 Launch Services。它加载当前工作区,并记录选定的开发 home、浏览器数据路径和调试设置,以供冷启动使用。启动此应用会将其设为 `dsh://` 默认处理程序;启动打包应用会重新注册打包版处理程序。生成的应用包不包含账号 token,依赖工作区和已准备的运行环境继续存在。 +登录会在系统浏览器中打开配置的平台页面。Host 负责 PKCE 和临时本机回调,在进入工作区前保存凭证,再将浏览器跳转到平台完成页。打开和复制的授权链接通过 `theme=light` 或 `theme=dark` 携带当前生效的 Desktop 主题;`system` 在执行操作时解析。即使平台页面随后批准,取消仍会撤销本地尝试。设置中的账号页面提供退出;没有独立 API Key 时,退出后返回欢迎窗。浏览器登录成功后,Welcome 切换到工作区但不激活应用;完成页的 dsh://open 链接负责将客户端置前。打包应用注册 dsh://open,只显示窗口而不传递凭证。macOS 开发启动器在 `.desktop-build/development` 下准备经临时签名的 `Harness Dev.app`,在 Info.plist 中声明 `dsh` 并注册到 Launch Services。它加载当前工作区,并记录选定的开发 home、浏览器数据路径和调试设置,以供冷启动使用。启动此应用会将其设为 `dsh://` 默认处理程序;启动打包应用会重新注册打包版处理程序。生成的应用包不包含账号 token,依赖工作区和已准备的运行环境继续存在。 + +账号失效并返回 Welcome 时,主进程保留一次性通知,直到渲染器通过所属窗口的 IPC 领取。重新加载 Welcome 不会重复提示;主动退登和冷启动不会生成该通知。 登录超时后显示超时标题,并提供重新登录和添加 API Key 按钮。打开 API Key 表单会关闭授权视图;后续账号状态通知不会覆盖正在填写的密钥。 diff --git a/apps/desktop/package.json b/apps/desktop/package.json index db69834af2..e47bc6614b 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,7 +1,7 @@ { "name": "@deepseek-ai/dsh-desktop", "description": "Electron desktop shell for a bundled dsh runtime and external plugins", - "version": "0.1.7-alpha.2", + "version": "0.1.7-rc.1", "private": true, "license": "MIT", "type": "module", diff --git a/apps/desktop/renderer/welcome.css b/apps/desktop/renderer/welcome.css index 3d5fc88460..3b4da2defb 100644 --- a/apps/desktop/renderer/welcome.css +++ b/apps/desktop/renderer/welcome.css @@ -1,7 +1,7 @@ @import url('./assets/window-material.css'); /* Figma 2121:39336 / 2138:44626, Platform modes. Native material supplies the blur. */ -:root { +body { color-scheme: light dark; --dsw-alias-label-primary: #0f1115; --dsw-alias-label-secondary: #61666b; @@ -23,7 +23,7 @@ } @media (prefers-color-scheme: dark) { - :root { + body { --dsw-alias-label-primary: #f9fafb; --dsw-alias-label-secondary: #cfd3d6; --dsw-alias-label-tertiary: #adb2b8; @@ -52,6 +52,8 @@ body { margin: 0; overflow: hidden; background: transparent; + font-family: var(--dsw-font-family); + font-weight: 400; } #root { @@ -192,6 +194,7 @@ body { top: calc(100% + 16px); left: 50%; transform: translateX(-50%); + white-space: nowrap; min-width: 58px; height: 28px; padding: 4px 10px; @@ -245,7 +248,7 @@ body { .key-heading h1 { margin: 0; font-size: 20px; - font-weight: 300; + font-weight: 400; line-height: 32px; letter-spacing: 0.01em; } diff --git a/apps/desktop/renderer/welcome.html b/apps/desktop/renderer/welcome.html index 0731e3be96..f8cbeb8e15 100644 --- a/apps/desktop/renderer/welcome.html +++ b/apps/desktop/renderer/welcome.html @@ -6,8 +6,8 @@ - + diff --git a/apps/desktop/scripts/desktop-build-paths.d.mts b/apps/desktop/scripts/desktop-build-paths.d.mts index b26c633d9c..9a8e408ed1 100644 --- a/apps/desktop/scripts/desktop-build-paths.d.mts +++ b/apps/desktop/scripts/desktop-build-paths.d.mts @@ -36,6 +36,17 @@ export function resolveDesktopBuildTarget( */ export function desktopTargetBuildPaths(target: DesktopAutoUpdateTarget): DesktopTargetBuildPaths +/** + * Return the platform and architecture of the payload one release target prepares. + * Windows is prepared as x64 only, so this differs from the build host on an arm64 Windows machine. + * @param target - Supported Desktop target name. + * @returns Platform and architecture of the prepared payload. + */ +export function desktopTargetPlatform(target: DesktopAutoUpdateTarget): { + readonly platform: 'darwin' | 'win32' + readonly arch: 'arm64' | 'x64' +} + /** * Resolve the paths owned by the target selected in a packaging environment. * @param env - Packaging environment. @@ -48,3 +59,16 @@ export function resolveDesktopTargetBuildPaths( hostPlatform?: NodeJS.Platform, hostArch?: string, ): DesktopTargetBuildPaths + +/** + * Resolve the primary-runtime directory an unpackaged development launch uses. + * @param env - Packaging environment. + * @param hostPlatform - Build-host platform used when no target override exists. + * @param hostArch - Build-host architecture used when no target override exists. + * @returns Primary-runtime directory prepared for the selected target. + */ +export function developmentRuntimeDirectory( + env?: NodeJS.ProcessEnv, + hostPlatform?: NodeJS.Platform, + hostArch?: string, +): string diff --git a/apps/desktop/scripts/desktop-build-paths.mjs b/apps/desktop/scripts/desktop-build-paths.mjs index 841da2c4ba..4f33e804c3 100644 --- a/apps/desktop/scripts/desktop-build-paths.mjs +++ b/apps/desktop/scripts/desktop-build-paths.mjs @@ -29,15 +29,19 @@ export function resolveDesktopBuildTarget( return /** @type {'mac-arm64' | 'mac-x64' | 'win-x64'} */ (target) } +function assertSupportedTarget(target) { + if (!SUPPORTED_TARGETS.has(target)) { + throw new Error(`desktop build paths: unsupported target ${String(target)}`) + } +} + /** * Return the mutable preparation and artifact directories owned by one release target. * @param {'mac-arm64' | 'mac-x64' | 'win-x64'} target - Supported Desktop target name. * @returns {{ root: string, artifacts: string, unsignedArtifacts: string, runtime: string, packageSet: string, dsh: string, dshPnpm: string, electron: string, packedDsh: string, packedVendor: string, packedLandlock: string, downloads: string }} Target paths plus the shared immutable download cache. */ export function desktopTargetBuildPaths(target) { - if (!SUPPORTED_TARGETS.has(target)) { - throw new Error(`desktop build paths: unsupported target ${String(target)}`) - } + assertSupportedTarget(target) const root = join(BUILD_ROOT, 'targets', target) const packed = join(root, 'packed') return { @@ -56,6 +60,20 @@ export function desktopTargetBuildPaths(target) { } } +/** + * Return the platform and architecture of the payload one release target prepares. + * Windows is prepared as x64 only, so this differs from the build host on an arm64 Windows machine. + * @param {'mac-arm64' | 'mac-x64' | 'win-x64'} target - Supported Desktop target name. + * @returns {{ platform: 'darwin' | 'win32', arch: 'arm64' | 'x64' }} Platform and architecture of the prepared payload. + */ +export function desktopTargetPlatform(target) { + assertSupportedTarget(target) + return { + platform: /** @type {'darwin' | 'win32'} */ (target === 'win-x64' ? 'win32' : 'darwin'), + arch: /** @type {'arm64' | 'x64'} */ (target === 'mac-arm64' ? 'arm64' : 'x64'), + } +} + /** * Resolve the paths owned by the target selected in a packaging environment. * @param {NodeJS.ProcessEnv} env - Packaging environment. @@ -70,3 +88,20 @@ export function resolveDesktopTargetBuildPaths( ) { return desktopTargetBuildPaths(resolveDesktopBuildTarget(env, hostPlatform, hostArch)) } + +/** + * Resolve the primary-runtime directory an unpackaged development launch uses. + * The build target fixes Windows to x64, so the shell cannot derive this directory from + * the architecture of the process that launched it. + * @param {NodeJS.ProcessEnv} env - Packaging environment. + * @param {NodeJS.Platform} hostPlatform - Build-host platform used when no target override exists. + * @param {string} hostArch - Build-host architecture used when no target override exists. + * @returns {string} Primary-runtime directory prepared for the selected target. + */ +export function developmentRuntimeDirectory( + env = process.env, + hostPlatform = process.platform, + hostArch = process.arch, +) { + return join(resolveDesktopTargetBuildPaths(env, hostPlatform, hostArch).runtime, 'primary-runtime') +} diff --git a/apps/desktop/scripts/dev.ts b/apps/desktop/scripts/dev.ts index 74840eae03..fdd724e579 100644 --- a/apps/desktop/scripts/dev.ts +++ b/apps/desktop/scripts/dev.ts @@ -7,6 +7,7 @@ import { join, resolve } from 'node:path' import { parseArgs } from 'node:util' import { DESKTOP_HOST_PROTOCOL_VERSION } from '../src/host-protocol.ts' import type { DesktopRelease } from '../src/release.ts' +import { developmentRuntimeDirectory, resolveDesktopBuildTarget } from './desktop-build-paths.mjs' import { prepareDevelopmentProject } from './development-project.ts' import { prepareDevelopmentApp } from './development-app.ts' import { preparePrimaryRuntime } from './prepare-primary-runtime.ts' @@ -67,6 +68,7 @@ async function launchElectron(): Promise { const environment: NodeJS.ProcessEnv = { ...process.env, DSH_HOME: home, + DSH_DESKTOP_PRIMARY_RUNTIME_DIR: process.env.DSH_DESKTOP_PRIMARY_RUNTIME_DIR ?? developmentRuntimeDirectory(), DSH_DESKTOP_HOST_INSPECT_PORT: String(hostPort), DSH_DESKTOP_OPEN_DEVTOOLS: process.env.DSH_DESKTOP_OPEN_DEVTOOLS ?? '1', ELECTRON_ENABLE_LOGGING: process.env.ELECTRON_ENABLE_LOGGING ?? '1', @@ -115,6 +117,7 @@ async function main(): Promise { hostDir: join(REPOSITORY_ROOT, 'apps', 'desktop-host'), dependencyDir: join(REPOSITORY_ROOT, 'node_modules', '.pnpm', 'node_modules'), release, + target: resolveDesktopBuildTarget(), }) await preparePrimaryRuntime() await launchElectron() diff --git a/apps/desktop/scripts/development-project.ts b/apps/desktop/scripts/development-project.ts index 36c70baff0..d544ce6d36 100644 --- a/apps/desktop/scripts/development-project.ts +++ b/apps/desktop/scripts/development-project.ts @@ -16,6 +16,8 @@ import { dirname, join } from 'node:path' import { createDevelopmentProjectMetadata } from '../src/project-manager.ts' import type { DesktopRelease } from '../src/release.ts' import { DESKTOP_RUNTIME_FILE, type DesktopRuntimeDescriptor } from '../src/runtime-tree.ts' +import type { DesktopAutoUpdateTarget } from './desktop-auto-update-environment.mjs' +import { desktopTargetPlatform } from './desktop-build-paths.mjs' interface PackageManifest { readonly name?: string @@ -35,6 +37,8 @@ export interface DevelopmentProjectOptions { readonly dependencyDir: string /** Release identity written into the disposable project metadata. */ readonly release: DesktopRelease + /** Build target whose prepared payload the disposable project runs against. */ + readonly target: DesktopAutoUpdateTarget } function readManifest(path: string): PackageManifest { @@ -115,7 +119,7 @@ function mirrorWorkspaceDependencies(roots: readonly string[], destinationRoot: /** * Replace one disposable project with links to the current built workspace. - * @param options - Project destination, CLI package, and release identity. + * @param options - Project destination, CLI package, release identity, and build target. * @returns the absolute project directory supplied by the caller. */ export function prepareDevelopmentProject(options: DevelopmentProjectOptions): string { @@ -159,7 +163,7 @@ export function prepareDevelopmentProject(options: DevelopmentProjectOptions): s return typeof manifest.version === 'string' ? [{ name, version: manifest.version, path: `node_modules/${name}` }] : [] }) const runtime: DesktopRuntimeDescriptor = { schemaVersion: 1, release: options.release, - platform: process.platform, arch: process.arch, sharedPackages, files: [] } + ...desktopTargetPlatform(options.target), sharedPackages, files: [] } writeFileSync(join(options.projectDir, DESKTOP_RUNTIME_FILE), `${JSON.stringify(runtime, undefined, 2)}\n`) return options.projectDir } diff --git a/apps/desktop/scripts/electron-builder-config.mjs b/apps/desktop/scripts/electron-builder-config.mjs index 2cee72d23d..e0a707dc32 100644 --- a/apps/desktop/scripts/electron-builder-config.mjs +++ b/apps/desktop/scripts/electron-builder-config.mjs @@ -1,7 +1,8 @@ +import { officePackageDirectories } from '../../../scripts/libreoffice-packages.mjs' import { X509Certificate } from 'node:crypto' import { readFileSync } from 'node:fs' import { readFile } from 'node:fs/promises' -import { join } from 'node:path' +import { join, relative, sep } from 'node:path' import { fileURLToPath } from 'node:url' import { execFile } from 'node:child_process' import { promisify } from 'node:util' @@ -163,6 +164,10 @@ export function createElectronBuilderConfig( writeUpdateInfo: false, }, beforePack: async context => { + const office = await officePackageDirectories(buildPaths.dsh, { platform: resolvedPlatform, arch: resolvedArch }) + const patterns = office.map(directory => `**/${relative(buildPaths.dsh, directory).split(sep).join('/')}/**/*`) + const existing = context.packager.config.asarUnpack ?? [] + context.packager.config.asarUnpack = [...(typeof existing === 'string' ? [existing] : existing), ...patterns] if (packagesWindows) windowsCode = await prepareWindowsAsarUnpack(context, buildPaths.dsh) if (windowsSigner !== undefined) { primaryRuntimeDestination = join(context.appOutDir, 'resources', 'runtime', 'primary-runtime') diff --git a/apps/desktop/scripts/prepare-dsh.ts b/apps/desktop/scripts/prepare-dsh.ts index a89247ad18..377c300efb 100644 --- a/apps/desktop/scripts/prepare-dsh.ts +++ b/apps/desktop/scripts/prepare-dsh.ts @@ -31,7 +31,7 @@ import { } from './macos-runtime.ts' import { resolveDesktopBuildTarget, resolveDesktopTargetBuildPaths } from './desktop-build-paths.mjs' import { desktopRuntimeFileExclusion } from './runtime-file-policy.ts' -import { selectOfficeEngine } from '../../../scripts/libreoffice-engine.ts' +import { selectOfficeEngine } from '../../../scripts/libreoffice-packages.mjs' const APP_ROOT = resolve(import.meta.dirname, '..') const BUILD_PATHS = resolveDesktopTargetBuildPaths() diff --git a/apps/desktop/scripts/smoke-runtime.ts b/apps/desktop/scripts/smoke-runtime.ts index 19b26fac1a..f15f10a928 100644 --- a/apps/desktop/scripts/smoke-runtime.ts +++ b/apps/desktop/scripts/smoke-runtime.ts @@ -49,11 +49,30 @@ export async function smokeDesktopRuntime( })) writeFileSync(join(plugin, 'index.js'), ` import { Context } from '@deepseek-ai/cordis' -import { inspect } from 'node:util' +import { inspect, promisify } from 'node:util' +import { execFile } from 'node:child_process' +import { readFile } from 'node:fs/promises' export function apply(ctx) { if (!(ctx instanceof Context)) throw new Error('desktop runtime: external plugin loaded another Cordis instance') ctx.effect(() => ctx.webServer.register({ kind: 'exact', path: '/desktop-smoke', handler(_request, response) { response.end('plugin route ready') } })) + ctx.effect(() => ctx.webServer.register({ kind: 'exact', path: '/desktop-smoke-office-cli', + async handler(_request, response) { + try { + const skill = await ctx.skills.get('office-docx') + const json = skill?.content.match(/\\n(\\{\\n[\\s\\S]+)$/u)?.[1] + if (json === undefined) throw new Error('Office skill did not supply CLI paths') + const { libreofficeKit: { node, cli } } = JSON.parse(json) + const options = { cwd: ${JSON.stringify(home)}, env: { ...process.env, PATH: '' }, timeout: 120_000 } + const capabilities = await promisify(execFile)(node, [cli, 'capabilities'], options) + const output = ${JSON.stringify(join(home, 'cli.pdf'))} + await promisify(execFile)(node, [cli, 'convert', '--input', ${JSON.stringify(join(home, 'input.docx'))}, '--output', output], options) + response.end(JSON.stringify({ capabilities: JSON.parse(capabilities.stdout), pdf: (await readFile(output)).toString('base64') })) + } catch (error) { + response.statusCode = 500 + response.end(inspect(error, { depth: 5 })) + } + } })) for (const input of ${JSON.stringify(inputs)}) { ctx.effect(() => ctx.webServer.register({ kind: 'exact', path: '/desktop-smoke-office/' + input.extension, async handler(_request, response) { @@ -71,7 +90,7 @@ export function apply(ctx) { } } `) - writeFileSync(join(plugin, 'bundle.yml'), '- insert:\n - id: desktop-runtime-smoke-plugin\n name: desktop-runtime-smoke-plugin\n inject: [webServer, officeToPdf]\n') + writeFileSync(join(plugin, 'bundle.yml'), '- insert:\n - id: desktop-runtime-smoke-plugin\n name: desktop-runtime-smoke-plugin\n inject: [webServer, officeToPdf, skills]\n') const manifest = JSON.parse(readFileSync(join(profile, 'package.json'), 'utf8')) as { dependencies: Record dsh: { profile: { bundles: string[] } } @@ -103,7 +122,15 @@ export function apply(ctx) { throw new Error(`desktop runtime: invalid ${extension} PDF output`) } } - console.log('desktop runtime: DOCX, XLSX, PPTX to PDF passed') + const cliResponse = await fetch(new URL('/desktop-smoke-office-cli', ready.url), { + headers: { cookie }, signal: AbortSignal.timeout(120_000), + }) + if (!cliResponse.ok) throw new Error(`desktop runtime: skill CLI failed: ${await cliResponse.text()}`) + const cliResult = await cliResponse.json() as { capabilities: { runtime: { cliPath: string } }; pdf: string } + if (!cliResult.capabilities.runtime.cliPath.endsWith('cli.js') || Buffer.from(cliResult.pdf, 'base64').subarray(0, 5).toString() !== '%PDF-') { + throw new Error('desktop runtime: skill CLI did not return capabilities and a PDF') + } + console.log('desktop runtime: DOCX, XLSX, PPTX to PDF and skill CLI discovery passed') } finally { clearTimeout(timer) await host.stop() diff --git a/apps/desktop/scripts/test-workspace-updates.ts b/apps/desktop/scripts/test-workspace-updates.ts index 669d572b9d..41f40caa09 100644 --- a/apps/desktop/scripts/test-workspace-updates.ts +++ b/apps/desktop/scripts/test-workspace-updates.ts @@ -8,6 +8,7 @@ import { fileURLToPath } from 'node:url' import { createDevelopmentProjectMetadata, createPluginProfile } from '../src/project-manager.ts' import { removeOwnedDirectory } from '../src/owned-directory.ts' import { DESKTOP_HOST_PROTOCOL_VERSION } from '../src/host-protocol.ts' +import { desktopTargetPlatform, developmentRuntimeDirectory, resolveDesktopBuildTarget } from './desktop-build-paths.mjs' const repo = resolve(import.meta.dirname, '../../..') const interactive = process.argv.includes('--interactive') @@ -27,10 +28,11 @@ try { nodeVersion: execFileSync(electron, ['-p', 'process.versions.node'], { encoding: 'utf8', env: { ...process.env, ELECTRON_RUN_AS_NODE: '1' }, windowsHide: true }).trim(), pnpmVersion: pnpm.version, hostProtocolVersion: DESKTOP_HOST_PROTOCOL_VERSION } + const target = resolveDesktopBuildTarget() createDevelopmentProjectMetadata(project, release) createPluginProfile(profile) await writeFile(join(project, 'desktop-runtime.json'), JSON.stringify({ - schemaVersion: 1, release, platform: process.platform, arch: process.arch, files: [], + schemaVersion: 1, release, ...desktopTargetPlatform(target), files: [], sharedPackages: ['@deepseek-ai/dsh', '@deepseek-ai/dsh-desktop-host'] .map(name => ({ name, version: manifest.version, path: `node_modules/${name}` })), })) @@ -43,7 +45,6 @@ try { for (const owner of [application, project]) { await symlink(join(repo, 'node_modules/.pnpm/node_modules'), join(owner, 'node_modules'), process.platform === 'win32' ? 'junction' : 'dir') } - const target = `${process.platform === 'darwin' ? 'mac' : 'win'}-${process.arch}` const targetRoot = join(application, '.desktop-build/targets', target) await mkdir(targetRoot, { recursive: true }) await symlink(join(repo, 'apps/desktop/.desktop-build/targets', target, 'runtime'), join(targetRoot, 'runtime'), @@ -61,7 +62,7 @@ try { ...(interactive ? ['--interactive'] : [])], { cwd: root, env: { ...environment, DSH_HOME: join(root, 'home'), USERPROFILE: root, HOME: root, TEMP: root, TMP: root, TMPDIR: root, DSH_WORKSPACE_UPDATE_ROOT: root, DSH_WORKSPACE_UPDATE_TOKEN: randomUUID(), - DSH_DESKTOP_OPEN_DEVTOOLS: '0' }, + DSH_DESKTOP_PRIMARY_RUNTIME_DIR: developmentRuntimeDirectory(), DSH_DESKTOP_OPEN_DEVTOOLS: '0' }, // Hiding the GUI process suppresses its first window and can suspend renderer frame callbacks. stdio: 'inherit', windowsHide: false, }) diff --git a/apps/desktop/src/account-backend.ts b/apps/desktop/src/account-backend.ts index 0db791f631..d816de55fc 100644 --- a/apps/desktop/src/account-backend.ts +++ b/apps/desktop/src/account-backend.ts @@ -63,8 +63,13 @@ export interface DesktopAccountBackend { cancel(id: SignInAttemptId): Promise /** @returns state after local sign-out. */ signOut(): Promise - /** @param listener - state recipient. @param failed - stream failure recipient. @returns stream disposer. */ - watch(listener: (state: AccountView) => void, failed: () => void): () => void + /** + * @param listener - state recipient. + * @param failed - stream failure recipient. + * @param expired - live credential-expiry recipient. + * @returns stream disposer. + */ + watch(listener: (state: AccountView) => void, failed: () => void, expired: () => void): () => void } /** @@ -80,22 +85,27 @@ export function desktopAccountBackend(origin: string, invoke: AccountInvoke, coo return { state: () => call('getState'), start: locale => call('startSignIn', { locale, callbackOrigin: new URL(origin).origin, loginSource: 'desktop' }), cancel: attemptId => call('cancelSignIn', { attemptId }), signOut: () => call('signOut'), - watch(listener, failed) { + watch(listener, failed, expired) { let closed = false let socket: WebSocket | undefined let retry: ReturnType | undefined const connect = (): void => { const streamId = randomUUID() + const expiryStreamId = randomUUID() void cookies().then((cookie) => { if (closed) return const url = new URL(REMOTE_STREAM_MUX_PATH, origin) url.protocol = url.protocol === 'https:' ? 'wss:' : 'ws:' socket = new WebSocket(url, { headers: { cookie, origin }, maxPayload: 65_536 }) - socket.on('open', () => socket?.send(JSON.stringify({ type: 'open', streamId, endpoint: 'account/watch', payload: { args: {} } }))) + socket.on('open', () => { + socket?.send(JSON.stringify({ type: 'open', streamId: expiryStreamId, endpoint: 'account/watchExpiry', payload: { args: {} } })) + socket?.send(JSON.stringify({ type: 'open', streamId, endpoint: 'account/watch', payload: { args: {} } })) + }) socket.on('message', (data) => { try { const bytes = Array.isArray(data) ? Buffer.concat(data) : Buffer.isBuffer(data) ? data : Buffer.from(data) const frame = parseRemoteStreamServerMessage(bytes.toString('utf8')) + if (frame.streamId === expiryStreamId && frame.type === 'item' && frame.value === 'session-expired') { expired(); return } if (frame.streamId !== streamId) throw new Error('desktop account: unexpected stream') if (frame.type === 'item') listener(accountView(frame.value)) else socket?.close() diff --git a/apps/desktop/src/client/WelcomePage.tsx b/apps/desktop/src/client/WelcomePage.tsx index 179bc4ef09..b7f4069bcb 100644 --- a/apps/desktop/src/client/WelcomePage.tsx +++ b/apps/desktop/src/client/WelcomePage.tsx @@ -1,6 +1,7 @@ /** Desktop welcome presentation; account and credential operations stay in the preload. */ import { useEffect, useRef, useState } from 'react' import type { FormEvent } from 'react' +import { Toast } from '@deepseek-ai/dsh-client-ui-primitives/src/Toast.tsx' import { StateDot } from '@deepseek-ai/dsh-client-ui-primitives/src/StateDot.tsx' import type { AccountView } from '@deepseek-ai/dsh-deepseek-account/types' import type { WelcomeApi } from '../welcome-api.ts' @@ -9,11 +10,13 @@ type Page = 'entry' | 'key' | 'account' /** * Render the standalone welcome flow using shell-owned operations and localized copy. + * Clearing the account attempt returns the sign-in status page to the initial choices. * @param props.api - isolated preload API; no account credentials reach the renderer. * @returns welcome pages with fixed bottom actions. */ export function Welcome({ api }: { api: WelcomeApi }) { const { messages: m } = api + const [expiryNotice, setExpiryNotice] = useState(false) const [page, setPage] = useState('entry') const pageRef = useRef('entry') const [attempt, setAttempt] = useState(null) @@ -42,15 +45,24 @@ export function Welcome({ api }: { api: WelcomeApi }) { setAttempt(state.attempt) setStarting(false) setCopyFeedback({ status: 'idle' }) - navigate(state.attempt?.phase === 'cancelled' ? 'entry' : 'account') + navigate(state.attempt === null || state.attempt.phase === 'cancelled' ? 'entry' : 'account') } useEffect(() => { mounted.current = true document.documentElement.lang = api.id document.title = m.welcomeTitle + const takeNotice = (): void => { + void api.takeNotice().then((notice) => { + if (mounted.current && notice === 'session-expired') setExpiryNotice(true) + }).catch((_closedChannel: unknown) => { + // A closed Welcome IPC channel must not interrupt the sign-in page. + }) + } + takeNotice() const stop = api.onAccountState((state) => { revision.current++ + takeNotice() showAccount(state) }) return () => { mounted.current = false; stop() } @@ -156,6 +168,7 @@ export function Welcome({ api }: { api: WelcomeApi }) { const heading = page === 'entry' ? 'welcome-heading' : page === 'key' ? 'key-title' : 'auth-status' return <> + {expiryNotice && { setExpiryNotice(false) }} />}