源文件索引:packages/feedback
本页由 study-tools/generate-source-index.mjs 根据官方提交 aa6c361a972c8369148dea7380bb5c21c24e07ec 生成,共 12 个代码或界面源文件。每个标题对应一个真实路径;用途和拆分原因是面向初学者的结构化解释,自动索引不等于人工精读。
图例
本页所有条目共用以下说明:
- 自动索引只提供定位线索,复杂行为需要回到源码和测试确认。
- 条目中的行数、声明、结构线索和静态 import 数字是文件级定位证据,用来约束“为什么这样设计”的解释范围;它们用于定位,不替代人工源码阅读。
- 源码链接固定到官方提交;如果当前条目与运行版本不同,应先重新生成索引再下结论。
packages/feedback/command-feedback/src/index.ts
- 所属层:packages/feedback:可复用的 Harness 功能包
- 文件角色:模块入口
- 这个文件有什么用:它把
packages/feedback/command-feedback包里的src/index.ts相关的公开能力集中导出,并决定调用者可以依赖哪些边界;调用者因此不必记住所有内部文件。 - 为什么这样设计:入口文件把公开边界固定下来,内部文件可以继续拆分或替换;其他包只依赖入口暴露的 API,依赖方向更稳定。
- 文件级设计证据:源码顶部注释把它定位为“Session feedback event plus the human-facing /feedback producer. Recording appends one authoritative log-only event and does not start model work. The append is eager but unflushed, so acknowledgement reports that the entry is logged, not that it reached di...”;固定提交中扫描到的声明包括
name、inject、recordFeedback、apply、assertNever;本地静态 import 图显示它直接依赖 5 个源文件,并被 5 个源文件直接引用。 - 直接协作者:packages/feedback/command-feedback/README.md、packages/core/session/src/index.ts、packages/identity/anonymous-user-id/src/index.ts、packages/interaction/commands/src/index.ts、examples/headless-agent/tests/fixtures/session-telemetry-otel-driver.ts
- 对应测试:packages/feedback/command-feedback/tests/command-feedback.spec.ts、packages/feedback/command-feedback/tests/loader-composition.spec.ts、packages/session/session-telemetry-otel/tests/otel.spec.ts
- 测试关联依据:固定提交源码中的本地静态 import 直接引用;测试用例直接导入了这个源文件。
- 阅读顺序:先读
packages/feedback/command-feedback/README.md、入口和消费者,再读当前契约,沿着examples/headless-agent/tests/fixtures/session-telemetry-otel-driver.ts、packages/feedback/command-feedback/tests/command-feedback.spec.ts、packages/feedback/command-feedback/tests/loader-composition.spec.ts看它怎样约束运行时,最后对照packages/feedback/command-feedback/tests/command-feedback.spec.ts、packages/feedback/command-feedback/tests/loader-composition.spec.ts、packages/session/session-telemetry-otel/tests/otel.spec.ts。 - 代码证据:固定提交归档实际读取结果:约 108 行;扫描到的声明包括
name、inject、recordFeedback、apply、assertNever、sharingSentence、sharingDisclosure、executeFeedbackCommand;源码顶部原注释(英文,仅作回查线索):Session feedback event plus the human-facing /feedback producer. Recording appends one authoritative log-only event and does not start model work. The append is eager but unflushed, so acknowledgement reports that the entry is logged, not that it reached di...。 - 固定版本:源码链接固定到官方提交
aa6c361a972c8369148dea7380bb5c21c24e07ec。
packages/feedback/command-feedback/src/invariant.ts
- 所属层:packages/feedback:可复用的 Harness 功能包
- 文件角色:运行时不变量
- 这个文件有什么用:它检查
packages/feedback/command-feedback包里的src/invariant.ts必须始终成立的条件,在错误刚出现时报告,而不是等到更深层才出现难以解释的结果。 - 为什么这样设计:把不变量集中在一个位置,调用者和测试就能用同一条规则检查状态;错误在边界处报告,比在后续 UI 或网络请求中才暴露更容易修复。
- 文件级设计证据:源码顶部注释把它定位为“Package-owned invariant companion for @deepseek-ai/dsh-command-feedback. @module @deepseek-ai/dsh-command-feedback/invariant”;固定提交中扫描到的声明包括
name、inject、apply;本地静态 import 图显示它直接依赖 2 个源文件,并被 0 个源文件直接引用。 - 直接协作者:packages/feedback/command-feedback/README.md、packages/runtime-diagnostics/invariants/src/index.ts、vendor/cordis/src/index.ts
- 对应测试:没有确认到直接测试;公共入口可能仍有间接覆盖。
- 测试关联依据:固定提交中没有找到直接或传递的本地静态 import,也没有找到明显的同包同名测试;公共入口可能仍有间接覆盖。
- 阅读顺序:先读相关类型和事件,再读当前状态或存储实现,沿着
packages/runtime-diagnostics/invariants/src/index.ts、vendor/cordis/src/index.ts和所在包的入口或服务理解状态变化,最后对照同包中与它同名或覆盖相近场景的测试。 - 代码证据:固定提交归档实际读取结果:约 30 行;扫描到的声明包括
name、inject、apply;源码顶部原注释(英文,仅作回查线索):Package-owned invariant companion for @deepseek-ai/dsh-command-feedback. @module @deepseek-ai/dsh-command-feedback/invariant。 - 固定版本:源码链接固定到官方提交
aa6c361a972c8369148dea7380bb5c21c24e07ec。
packages/feedback/command-feedback/tests/command-feedback.spec.ts
- 所属层:packages/feedback:可复用的 Harness 功能包
- 文件角色:测试用例
- 这个文件有什么用:它围绕“command-feedback”写出可重复运行的断言,覆盖的场景包括“@deepseek-ai/dsh-command-feedback registration”、“registers one global command with Loader-safe exports and disposes it”、“/feedback human command”、“acknowledges feedback and records its payload exactly once in the domain event”;这些断言把“应该发生什么”变成可以重复运行的证据。
- 为什么这样设计:把测试主题“@deepseek-ai/dsh-command-feedback registration”写成独立测试用例,读者可以从输入、触发动作和断言反推实现的不变量;不同回归问题也不会互相遮蔽。
- 文件级设计证据:固定提交中扫描到的声明包括
FakeTelemetry、stubAgent、harness、run、feedbackTexts;本地静态 import 图显示它直接依赖 7 个源文件,并被 0 个源文件直接引用。 - 直接协作者:packages/feedback/command-feedback/README.md、packages/core/agent/src/index.ts、packages/core/session/src/index.ts、packages/feedback/command-feedback/src/index.ts
- 对应测试:本文件本身就是测试用例。
- 测试关联依据:本文件本身就是测试用例,不把同目录的其他测试冒充成它的“对应测试”。
- 阅读顺序:先看它直接导入的被测实现
packages/core/agent/src/index.ts、packages/core/session/src/index.ts、packages/feedback/command-feedback/src/index.ts,再读本文件的测试主题、输入和断言;最后对照测试支持和失败输出。 - 代码证据:固定提交归档实际读取结果:约 246 行;扫描到的声明包括
FakeTelemetry、stubAgent、harness、run、feedbackTexts;扫描到的测试主题包括 “@deepseek-ai/dsh-command-feedback registration”、“registers one global command with Loader-safe exports and disposes it”、“/feedback human command”、“acknowledges feedback and records its payload exactly once in the domain event”、“exports a command-independent feedback producer”、“keeps command bookkeeping around the authoritative feedback event”。 - 固定版本:源码链接固定到官方提交
aa6c361a972c8369148dea7380bb5c21c24e07ec。
packages/feedback/command-feedback/tests/loader-composition.spec.ts
- 所属层:packages/feedback:可复用的 Harness 功能包
- 文件角色:测试用例
- 这个文件有什么用:它围绕“loader-composition”写出可重复运行的断言,覆盖的场景包括“/feedback real Loader composition through cordis.yml”、“boots cordis.yml and records feedback without model-visible output”;这些断言把“应该发生什么”变成可以重复运行的证据。
- 为什么这样设计:把测试主题“/feedback real Loader composition through cordis.yml”写成独立测试用例,读者可以从输入、触发动作和断言反推实现的不变量;不同回归问题也不会互相遮蔽。
- 文件级设计证据:固定提交中扫描到的声明包括
agent;本地静态 import 图显示它直接依赖 8 个源文件,并被 0 个源文件直接引用。 - 直接协作者:packages/feedback/command-feedback/README.md、packages/core/agent/src/index.ts、packages/core/session/src/index.ts、packages/feedback/command-feedback/src/index.ts
- 对应测试:本文件本身就是测试用例。
- 测试关联依据:本文件本身就是测试用例,不把同目录的其他测试冒充成它的“对应测试”。
- 阅读顺序:先看它直接导入的被测实现
packages/core/agent/src/index.ts、packages/core/session/src/index.ts、packages/feedback/command-feedback/src/index.ts,再读本文件的测试主题、输入和断言;最后对照测试支持和失败输出。 - 代码证据:固定提交归档实际读取结果:约 117 行;扫描到的声明包括
agent;扫描到的测试主题包括 “/feedback real Loader composition through cordis.yml”、“boots cordis.yml and records feedback without model-visible output”。 - 固定版本:源码链接固定到官方提交
aa6c361a972c8369148dea7380bb5c21c24e07ec。
packages/feedback/message-feedback/src/index.ts
- 所属层:packages/feedback:可复用的 Harness 功能包
- 文件角色:模块入口
- 这个文件有什么用:它把消息相关的公开能力集中导出,并决定调用者可以依赖哪些边界;调用者因此不必记住所有内部文件。
- 为什么这样设计:入口文件把公开边界固定下来,内部文件可以继续拆分或替换;其他包只依赖入口暴露的 API,依赖方向更稳定。
- 文件级设计证据:源码顶部注释把它定位为“Durable, lifecycle-bound feedback for finalized assistant messages. @module @deepseek-ai/dsh-message-feedback”;固定提交中扫描到的声明包括
Config、MessageFeedbackService、resolveMaxNoteBytes、snapshotItem、snapshotList;本地静态 import 图显示它直接依赖 9 个源文件,并被 3 个源文件直接引用。 - 直接协作者:packages/feedback/message-feedback/README.md、packages/core/session/src/surface.ts、packages/core/session/src/types.ts、packages/feedback/message-feedback/src/spec.ts、packages/feedback/message-feedback/tests/helpers.ts
- 对应测试:packages/feedback/message-feedback/tests/loader-composition.spec.ts、packages/feedback/message-feedback/tests/message-feedback.spec.ts
- 测试关联依据:固定提交源码中的本地静态 import 直接引用;测试用例直接导入了这个源文件。
- 测试支持:packages/feedback/message-feedback/tests/helpers.ts
- 阅读顺序:先读
packages/feedback/message-feedback/README.md、入口和消费者,再读当前契约,沿着packages/feedback/message-feedback/tests/helpers.ts、packages/feedback/message-feedback/tests/loader-composition.spec.ts、packages/feedback/message-feedback/tests/message-feedback.spec.ts看它怎样约束运行时,最后对照packages/feedback/message-feedback/tests/loader-composition.spec.ts、packages/feedback/message-feedback/tests/message-feedback.spec.ts。 - 代码证据:固定提交归档实际读取结果:约 383 行;扫描到的声明包括
Config、MessageFeedbackService、resolveMaxNoteBytes、snapshotItem、snapshotList、success、rejected、identityOf;源码顶部原注释(英文,仅作回查线索):Durable, lifecycle-bound feedback for finalized assistant messages. @module @deepseek-ai/dsh-message-feedback。 - 固定版本:源码链接固定到官方提交
aa6c361a972c8369148dea7380bb5c21c24e07ec。
packages/feedback/message-feedback/src/invariant.ts
- 所属层:packages/feedback:可复用的 Harness 功能包
- 文件角色:运行时不变量
- 这个文件有什么用:它检查消息必须始终成立的条件,在错误刚出现时报告,而不是等到更深层才出现难以解释的结果。
- 为什么这样设计:把不变量集中在一个位置,调用者和测试就能用同一条规则检查状态;错误在边界处报告,比在后续 UI 或网络请求中才暴露更容易修复。
- 文件级设计证据:源码顶部注释把它定位为“Package-owned invariant companion. @module @deepseek-ai/dsh-message-feedback/invariant”;固定提交中扫描到的声明包括
name、inject、apply;本地静态 import 图显示它直接依赖 2 个源文件,并被 1 个源文件直接引用。 - 直接协作者:packages/feedback/message-feedback/README.md、packages/runtime-diagnostics/invariants/src/index.ts、vendor/cordis/src/index.ts、packages/feedback/message-feedback/tests/invariant.spec.ts
- 对应测试:packages/feedback/message-feedback/tests/invariant.spec.ts
- 测试关联依据:固定提交源码中的本地静态 import 直接引用;测试用例直接导入了这个源文件。
- 测试支持:packages/feedback/message-feedback/tests/helpers.ts
- 阅读顺序:先读相关类型和事件,再读当前状态或存储实现,沿着
packages/runtime-diagnostics/invariants/src/index.ts、vendor/cordis/src/index.ts和packages/feedback/message-feedback/tests/invariant.spec.ts理解状态变化,最后对照packages/feedback/message-feedback/tests/invariant.spec.ts。 - 代码证据:固定提交归档实际读取结果:约 27 行;扫描到的声明包括
name、inject、apply;源码顶部原注释(英文,仅作回查线索):Package-owned invariant companion. @module @deepseek-ai/dsh-message-feedback/invariant。 - 固定版本:源码链接固定到官方提交
aa6c361a972c8369148dea7380bb5c21c24e07ec。
packages/feedback/message-feedback/src/spec.ts
- 所属层:packages/feedback:可复用的 Harness 功能包
- 文件角色:反馈数据规格
- 这个文件有什么用:它集中定义 message feedback 的版本、评分、会话身份和条目 schema,让反馈服务、持久化和读取方共享同一份可校验数据规格。
- 为什么这样设计:固定提交的文件顶部注释把它定位为“Durable storage-domain declaration for lifecycle-bound message feedback. @module @deepseek-ai/dsh-message-feedback/src/spec”;把这项职责单独放置,可以让边界、输入和失败处理在一个地方被阅读和测试。
- 文件级设计证据:源码顶部注释把它定位为“Durable storage-domain declaration for lifecycle-bound message feedback. @module @deepseek-ai/dsh-message-feedback/src/spec”;固定提交中扫描到的声明包括
messageFeedbackRatingSchema、messageFeedbackVersionSchema、messageFeedbackItemSchema、messageFeedbackSessionIdentitySchema、MessageFeedbackSessionIdentity;本地静态 import 图显示它直接依赖 4 个源文件,并被 1 个源文件直接引用。 - 直接协作者:packages/feedback/message-feedback/README.md、packages/core/session/src/types.ts、packages/feedback/message-feedback/src/types.ts、packages/llm/llm/src/brand.ts、packages/feedback/message-feedback/src/index.ts
- 对应测试:间接测试线索(通过本地 import 链,非直接覆盖):packages/feedback/message-feedback/tests/invariant.spec.ts、packages/feedback/message-feedback/tests/loader-composition.spec.ts、packages/feedback/message-feedback/tests/message-feedback.spec.ts
- 测试关联依据:固定提交源码中的本地静态 import 传递引用;这些测试通过包入口或中间模块到达本文件,不等于本文件被直接覆盖。
- 阅读顺序:先读
packages/feedback/message-feedback/README.md、入口和消费者,再读当前契约,沿着packages/feedback/message-feedback/src/index.ts看它怎样约束运行时,最后对照packages/feedback/message-feedback/tests/invariant.spec.ts、packages/feedback/message-feedback/tests/loader-composition.spec.ts、packages/feedback/message-feedback/tests/message-feedback.spec.ts。 - 代码证据:固定提交归档实际读取结果:约 90 行;扫描到的声明包括
messageFeedbackRatingSchema、messageFeedbackVersionSchema、messageFeedbackItemSchema、messageFeedbackSessionIdentitySchema、MessageFeedbackSessionIdentity、messageFeedbackRowSchema、MessageFeedbackRow、messageFeedbackDomainSpec;源码顶部原注释(英文,仅作回查线索):Durable storage-domain declaration for lifecycle-bound message feedback. @module @deepseek-ai/dsh-message-feedback/src/spec。 - 固定版本:源码链接固定到官方提交
aa6c361a972c8369148dea7380bb5c21c24e07ec。
packages/feedback/message-feedback/src/types.ts
- 所属层:packages/feedback:可复用的 Harness 功能包
- 文件角色:类型契约
- 这个文件有什么用:它描述消息中流转的数据长什么样、哪些字段必填以及各部分怎样关联,让不同模块先共享同一份约定。
- 为什么这样设计:先把形状和规则集中声明,执行代码只负责使用已经检查过的数据;这样错误更早暴露,读代码时也有一张共同的地图。
- 文件级设计证据:源码顶部注释把它定位为“Public request, value, and failure vocabulary for per-message feedback. This module contains types only so generated Remote clients can consume it without importing Host runtime code. @module @deepseek-ai/dsh-message-feedback/types”;固定提交中扫描到的声明包括
MessageFeedbackVersion、MessageFeedbackRating、MessageFeedbackItem、MessageFeedbackListRequest、MessageFeedbackListValue;本地静态 import 图显示它直接依赖 3 个源文件,并被 8 个源文件直接引用。 - 直接协作者:packages/feedback/message-feedback/README.md、packages/core/session/src/types.ts、packages/llm/llm/src/brand.ts、packages/util/brand/src/index.ts、packages/client/ui-message-feedback/src/client/MessageFeedbackActions.tsx
- 对应测试:packages/client/ui-message-feedback/tests/browser-plugin.client.spec.tsx、packages/client/ui-message-feedback/tests/controller.client.spec.ts、packages/client/ui-message-feedback/tests/message-feedback-actions.client.spec.tsx
- 测试关联依据:固定提交源码中的本地静态 import 直接引用;测试用例直接导入了这个源文件。
- 阅读顺序:先读
packages/feedback/message-feedback/README.md、入口和消费者,再读当前契约,沿着packages/client/ui-message-feedback/src/client/MessageFeedbackActions.tsx、packages/client/ui-message-feedback/src/client/controller.ts、packages/client/ui-message-feedback/src/client/slots.ts看它怎样约束运行时,最后对照packages/client/ui-message-feedback/tests/browser-plugin.client.spec.tsx、packages/client/ui-message-feedback/tests/controller.client.spec.ts、packages/client/ui-message-feedback/tests/message-feedback-actions.client.spec.tsx。 - 代码证据:固定提交归档实际读取结果:约 147 行;扫描到的声明包括
MessageFeedbackVersion、MessageFeedbackRating、MessageFeedbackItem、MessageFeedbackListRequest、MessageFeedbackListValue、MessageFeedbackPutRequest、MessageFeedbackDeleteRequest、MessageFeedbackDeleteValue;源码顶部原注释(英文,仅作回查线索):Public request, value, and failure vocabulary for per-message feedback. This module contains types only so generated Remote clients can consume it without importing Host runtime code. @module @deepseek-ai/dsh-message-feedback/types。 - 固定版本:源码链接固定到官方提交
aa6c361a972c8369148dea7380bb5c21c24e07ec。
packages/feedback/message-feedback/tests/helpers.ts
- 所属层:packages/feedback:可复用的 Harness 功能包
- 文件角色:测试支持
- 这个文件有什么用:它为“helpers”相关测试提供共享准备或环境支持;真正的行为断言由导入它的测试用例完成。
- 为什么这样设计:测试材料和被测实现分开,测试可以反复使用同一个受控输入;它不应该被误认为线上入口或生产服务。
- 文件级设计证据:固定提交中扫描到的声明包括
MessageFixture、appendMessageFixture、messageFixture、TestHarness、setupHarness;本地静态 import 图显示它直接依赖 9 个源文件,并被 3 个源文件直接引用。 - 直接协作者:packages/feedback/message-feedback/README.md、packages/core/session/src/index.ts、packages/feedback/message-feedback/src/index.ts、packages/llm/llm/src/brand.ts、packages/feedback/message-feedback/tests/invariant.spec.ts
- 对应测试:packages/feedback/message-feedback/tests/invariant.spec.ts、packages/feedback/message-feedback/tests/loader-composition.spec.ts、packages/feedback/message-feedback/tests/message-feedback.spec.ts
- 测试关联依据:固定提交源码中的本地静态 import 直接引用;这些测试用例实际使用了本支持文件。
- 阅读顺序:先看它提供的固定输入或环境,再跳到实际使用它的测试
packages/feedback/message-feedback/tests/invariant.spec.ts、packages/feedback/message-feedback/tests/loader-composition.spec.ts、packages/feedback/message-feedback/tests/message-feedback.spec.ts,最后回看被测实现和清理路径。 - 代码证据:固定提交归档实际读取结果:约 215 行;扫描到的声明包括
MessageFixture、appendMessageFixture、messageFixture、TestHarness、setupHarness、TestPersistence。 - 固定版本:源码链接固定到官方提交
aa6c361a972c8369148dea7380bb5c21c24e07ec。
packages/feedback/message-feedback/tests/invariant.spec.ts
- 所属层:packages/feedback:可复用的 Harness 功能包
- 文件角色:测试用例
- 这个文件有什么用:它用自动化测试检查消息的具体场景,包括“message-feedback invariant companion”、“removes its registry contribution when its fiber is disposed (HMR safety)”;这些断言把“应该发生什么”变成可以重复运行的证据。
- 为什么这样设计:把测试主题“message-feedback invariant companion”写成独立测试用例,读者可以从输入、触发动作和断言反推实现的不变量;不同回归问题也不会互相遮蔽。
- 文件级设计证据:本次固定提交归档没有扫描到顶部注释、顶层声明或专门的结构线索;本地静态 import 图显示它直接依赖 3 个源文件,并被 0 个源文件直接引用。
- 直接协作者:packages/feedback/message-feedback/README.md、packages/feedback/message-feedback/src/invariant.ts、packages/feedback/message-feedback/tests/helpers.ts、packages/runtime-diagnostics/invariants/src/index.ts
- 对应测试:本文件本身就是测试用例。
- 测试关联依据:本文件本身就是测试用例,不把同目录的其他测试冒充成它的“对应测试”。
- 测试支持:packages/feedback/message-feedback/tests/helpers.ts
- 阅读顺序:先看它直接导入的被测实现
packages/feedback/message-feedback/src/invariant.ts、packages/runtime-diagnostics/invariants/src/index.ts,再读本文件的测试主题、输入和断言;最后对照测试支持和失败输出。 - 代码证据:固定提交归档实际读取结果:约 23 行;扫描到的测试主题包括 “message-feedback invariant companion”、“removes its registry contribution when its fiber is disposed (HMR safety)”。
- 固定版本:源码链接固定到官方提交
aa6c361a972c8369148dea7380bb5c21c24e07ec。
packages/feedback/message-feedback/tests/loader-composition.spec.ts
- 所属层:packages/feedback:可复用的 Harness 功能包
- 文件角色:测试用例
- 这个文件有什么用:它用自动化测试检查消息的具体场景,包括“message feedback through a real Loader composition”、“persists a checkpointed target and its sidecar across a cold restart”;这些断言把“应该发生什么”变成可以重复运行的证据。
- 为什么这样设计:把测试主题“message feedback through a real Loader composition”写成独立测试用例,读者可以从输入、触发动作和断言反推实现的不变量;不同回归问题也不会互相遮蔽。
- 文件级设计证据:固定提交中扫描到的声明包括
loadComposition;本地静态 import 图显示它直接依赖 11 个源文件,并被 0 个源文件直接引用。 - 直接协作者:packages/feedback/message-feedback/README.md、packages/core/session/src/index.ts、packages/feedback/message-feedback/src/index.ts、packages/feedback/message-feedback/tests/helpers.ts
- 对应测试:本文件本身就是测试用例。
- 测试关联依据:本文件本身就是测试用例,不把同目录的其他测试冒充成它的“对应测试”。
- 测试支持:packages/feedback/message-feedback/tests/helpers.ts
- 阅读顺序:先看它直接导入的被测实现
packages/core/session/src/index.ts、packages/feedback/message-feedback/src/index.ts、packages/session/session-persistence-jsonl/src/index.ts,再读本文件的测试主题、输入和断言;最后对照测试支持和失败输出。 - 代码证据:固定提交归档实际读取结果:约 115 行;扫描到的声明包括
loadComposition;扫描到的测试主题包括 “message feedback through a real Loader composition”、“persists a checkpointed target and its sidecar across a cold restart”。 - 固定版本:源码链接固定到官方提交
aa6c361a972c8369148dea7380bb5c21c24e07ec。
packages/feedback/message-feedback/tests/message-feedback.spec.ts
- 所属层:packages/feedback:可复用的 Harness 功能包
- 文件角色:测试用例
- 这个文件有什么用:它用自动化测试检查消息的具体场景,包括“MessageFeedbackService public contract”、“publishes the exact Gateway namespace and Remote method names”、“returns session-not-found only for a definite persistence miss”、“rechecks live ownership before returning a cold catalog miss”;这些断言把“应该发生什么”变成可以重复运行的证据。
- 为什么这样设计:把测试主题“MessageFeedbackService public contract”写成独立测试用例,读者可以从输入、触发动作和断言反推实现的不变量;不同回归问题也不会互相遮蔽。
- 文件级设计证据:固定提交中扫描到的声明包括
harness、staleVersion、expectItem;本地静态 import 图显示它直接依赖 6 个源文件,并被 0 个源文件直接引用。 - 直接协作者:packages/feedback/message-feedback/README.md、packages/core/session/src/index.ts、packages/feedback/message-feedback/src/index.ts、packages/feedback/message-feedback/tests/helpers.ts
- 对应测试:本文件本身就是测试用例。
- 测试关联依据:本文件本身就是测试用例,不把同目录的其他测试冒充成它的“对应测试”。
- 测试支持:packages/feedback/message-feedback/tests/helpers.ts
- 阅读顺序:先看它直接导入的被测实现
packages/core/session/src/index.ts、packages/feedback/message-feedback/src/index.ts、packages/llm/llm/src/brand.ts,再读本文件的测试主题、输入和断言;最后对照测试支持和失败输出。 - 代码证据:固定提交归档实际读取结果:约 655 行;扫描到的声明包括
harness、staleVersion、expectItem;扫描到的测试主题包括 “MessageFeedbackService public contract”、“publishes the exact Gateway namespace and Remote method names”、“returns session-not-found only for a definite persistence miss”、“rechecks live ownership before returning a cold catalog miss”、“returns session-not-found from mutations and conflicts on an observed version for an absent item”、“creates, updates, and retry-reads immutable items with monotonic Host times”。 - 固定版本:源码链接固定到官方提交
aa6c361a972c8369148dea7380bb5c21c24e07ec。