Skip to content

RFC-0041: 传输回放与治理证据 - #211

Draft
eric8810 wants to merge 1 commit into
masterfrom
docs/rfc-0041-replay-governance
Draft

eric8810 wants to merge 1 commit into
masterfrom
docs/rfc-0041-replay-governance

Conversation

@eric8810

@eric8810 eric8810 commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

覆盖 #167/#179/#180/#181、schema 3、离线回放、能力矩阵、漂移检测及生态跟踪。

状态与依赖

使用 #200 的 transport-leaf replay;能力声明来自 RFC-0040/0042,registry 维护来自 RFC-0033。付费重录须另行启用和授权。

本 PR 属于完整 roadmap RFC 批次。整批已完成节点覆盖与跨文档契约复核,再按主题分别提交 Draft。各 PR 均独立基于 master,不叠加其他未合并文档。设计齐备不表示运行时实现或验收已完成。

验证

  • 文档编号、代码围栏、相对链接、空白检查通过
  • 本 PR 仅修改 rfc/0041-replay-governance.md
  • 本地未运行构建、运行时测试、性能实测或真实 provider 探测;CI 状态以本 PR 当前 head 的检查结果为准

同批设计(均独立基于 master)

>
> **Tracks**: [#167](https://github.com/arcships/aimux/issues/167)、[#179](https://github.com/arcships/aimux/issues/179)、[#180](https://github.com/arcships/aimux/issues/180)、[#181](https://github.com/arcships/aimux/issues/181)
>
> **Amends**: RFC-0023 的配置快照重建、mock 解码与格式;RFC-0025 的 CLI 后续范围;RFC-0015 §10 的验收状态。保留 RFC-0024 已落地的显式会话优先、opt-in strong-prefix 推断。

@cunninghamcard-bit cunninghamcard-bit Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

本稿 Amends(:13)只列了 RFC-0023/0025/0015。§2 写“不保存 settings、key 来源”(:41)、“旧 schema 不自动读取”(:43),并删除配置快照重建链。全文没有提到 decision。
master 上的两份 decision RFC 写法相反:

  • rfc/0037-decision-api.md:119-125:旧记录默认 language model,能力快照存入 provider.profile,不带 --mock 时重建 Jev 做回放。
  • rfc/0038-decision-provider-expansion.md::40 录制里记 key 来源,:65 旧请求与录制保持可读,:198-200 provider snapshot 保存连接/能力,:207 重建 provider→HTTP replay。
    这两份 RFC 的 Decision API 就是上游的实验性接口:ai 7.0.122 的 experimental_evaluate(src/evaluate/),@ai-sdk/provider 4.0.22 改名为 DecisionModelV4(decision-model/v4/decision-model-v4.ts:6-16),ai 7.0.128 起叫 experimental_decide(src/decide/index.ts:16,operationId 'ai.decide')。
    上游对它没有任何录制或回放:
  • evaluate 只发 onStart/onEnd 和 model call 的遥测事件(evaluate.ts:118-121、:132-137、:155-160、:190-193);
  • 这些事件只转给 experimental_onEvaluateStart/End(restricted-telemetry-dispatcher.ts:15-44);
  • @ai-sdk/devtools 1.0.25 只记录 generate/stream,不处理 evaluate 事件,也没有回放。
    所以 decision 的录制回放完全是 aimux 自己的功能,没有上游格式需要兼容,应该和其他 operation 走同一套规则。合并文档 §4.3 已写明“不保存 provider settings、key 来源或可重建 config”(docs/aisdk-architecture-alignment.md:899)。
    实现中碰到的:V4 实现改写了 0037 的这几行(能力声明改存 input.decision_capabilities,provider 只留身份,回放通过调用方 registry 重建),代码也同步改了。0038-decision 的对应几行还没改。
    建议:
  • Amends 加上 RFC-0037 的录制与回放段,以及 rfc/0038-decision-provider-expansion.md 的上述各行。
  • schema 3、matcher 和离线组装把 decision 当作普通 operation:input 记录上游 DecisionModelV4CallOptions 的 state、questions、providerOptions(headers 按策略脱敏);outcome 记录 DecisionModelV4Result。
  • 不另存能力快照:supportedQuestionTypes 是模型属性,回放时由宿主 registry 重建的模型自带。上面说的 input.decision_capabilities,我们这边的修改见 V4 alignment: Decision model vs upstream DecisionModelV4 #233 (N9)。

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

补充当前状态:#233 的 N9 已由 #255 实现、待合并:decision 录制已移除 input.decision_capabilities,能力由回放时宿主 registry 中的模型提供。源码见 recording.rs。

#255 当前仍使用 schema 2,这不表示完整 schema 3 / transport replay 已完成;本 Draft 原提案的后续范围保留。以上已核对远程源码,未运行测试。

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants