From c4aa56ceee126b2fd6f6379300f446c4efebdcca Mon Sep 17 00:00:00 2001 From: Yichen Jiang Date: Fri, 23 Oct 2026 13:26:17 +0800 Subject: [PATCH] docs: record why the listing badge container is client_metadata --- .../feature/2026-10-22-listed-model-badges.i18n.yaml | 4 ++-- .../implemented/feature/2026-10-22-listed-model-badges.md | 2 +- .../implemented/feature/2026-10-22-listed-model-badges.zh.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.agents/notes/implemented/feature/2026-10-22-listed-model-badges.i18n.yaml b/.agents/notes/implemented/feature/2026-10-22-listed-model-badges.i18n.yaml index 79ad2715e3..f88743c065 100644 --- a/.agents/notes/implemented/feature/2026-10-22-listed-model-badges.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-10-22-listed-model-badges.i18n.yaml @@ -12,8 +12,8 @@ en: db8eae54d2eecb7e zh: 1de5827a58cd9ca7 /agent-note-model-selector-badges-come-from-the-model-listing/alternatives-considered: - en: 20ec5193e112d97c - zh: 636f0367626454ee + en: 079466e0dd56584e + zh: 8e33049c422d77cb /agent-note-model-selector-badges-come-from-the-model-listing/consequences: en: c7fa9c94a5c3a1e4 zh: c7641b77413d74a3 diff --git a/.agents/notes/implemented/feature/2026-10-22-listed-model-badges.md b/.agents/notes/implemented/feature/2026-10-22-listed-model-badges.md index 71ac847c49..20d6722c4f 100644 --- a/.agents/notes/implemented/feature/2026-10-22-listed-model-badges.md +++ b/.agents/notes/implemented/feature/2026-10-22-listed-model-badges.md @@ -23,7 +23,7 @@ The Web model selector showed `1017` beside `DeepSeek-V4.1-Flash` through a dedi **`badge` inside `client_requirements["deepseek-harness"]`.** It adds no top-level field, and released builds ignore an extra key there. But an unreadable requirement hides its model on every build, released ones included, so a serializer that writes the emptied object as `null` after a badge is retired would hide the model. Requirements gate availability; display data must stay ignorable. -**A display-only map such as `client_presentation`.** The next client-specific field that is not display data would need another top-level field; `client_metadata` takes any field a build may ignore. +**A narrower map such as `client_presentation` or `client_annotations`.** These names limit the object to display data or descriptive notes, so the next client-specific field of another kind, such as a default, would need another top-level field; `client_metadata` takes any field a build may ignore. **A semantic badge kind mapped to client dictionaries.** OpenCode, ZCode, and DeepSeek-Reasonix translate a closed set of client-owned tag kinds, and none renders text a server sends. A fixed vocabulary cannot express a release code such as `1017`, and each new wording would need the client release the listing exists to avoid. Listing text is provider data, which the [locale-owned copy decision](../architecture/2026-08-23-locale-owned-client-ui-copy.md) renders verbatim; the `LocalizedText` form still lets the service supply translations. diff --git a/.agents/notes/implemented/feature/2026-10-22-listed-model-badges.zh.md b/.agents/notes/implemented/feature/2026-10-22-listed-model-badges.zh.md index 8760093fee..045d67305c 100644 --- a/.agents/notes/implemented/feature/2026-10-22-listed-model-badges.zh.md +++ b/.agents/notes/implemented/feature/2026-10-22-listed-model-badges.zh.md @@ -23,7 +23,7 @@ Web 模型选择器通过一个专门的客户端包在 `DeepSeek-V4.1-Flash` **把 `badge` 放进 `client_requirements["deepseek-harness"]`。** 这样不增加顶层字段,已发布版本也会忽略其中多出的键。但版本要求无法读取时,所有版本都会隐藏该模型,已发布的版本也不例外;撤下角标后,序列化器若把清空的对象写成 `null`,模型就会被隐藏。版本要求决定模型能否使用,展示数据必须可以忽略。 -**只用于展示的映射,例如 `client_presentation`。** 下一个不属于展示数据的客户端专属字段又要新开一个顶层字段;`client_metadata` 可以容纳任何版本都能忽略的字段。 +**范围更窄的映射,例如 `client_presentation` 或 `client_annotations`。** 这些名称把对象限定为展示数据或附加说明,下一个其他类型的客户端专属字段(例如默认值)又要新开一个顶层字段;`client_metadata` 可以容纳任何版本都能忽略的字段。 **用语义化的角标类别映射到客户端字典。** OpenCode、ZCode 和 DeepSeek-Reasonix 都翻译一组封闭的、由客户端持有的标签类别,没有一家直接渲染服务端发来的文字。固定词表表达不了 `1017` 这样的版本代号,每出现一种新说法都要发一次客户端版本,而列表正是为了免去这一步。列表文字属于提供方数据,按[客户端文案归 locale 管理的决定](../architecture/2026-08-23-locale-owned-client-ui-copy.zh.md)原样渲染;`LocalizedText` 形式仍允许服务端提供译文。