Skip to content

fix(turn): preserve opted-in memory across shared hosts - #6957

Open
loopx-agent wants to merge 1 commit into
mainfrom
codex/turn-host-memory-context-20261020
Open

loopx-agent wants to merge 1 commit into
mainfrom
codex/turn-host-memory-context-20261020

Conversation

@loopx-agent

Copy link
Copy Markdown
Collaborator

Goal And Delivered Outcome

DSH/Ark received signed optional-memory participation, but shared host conversion dropped runtime recall context and reflection candidates. Native Turn settlement also connected its ingest observer only for Codex CLI. This repair carries permitted context/results through the existing shared adapter and connects the existing observer for other hosts with a freshly verified ingest binding. Independent reflection attestation and accountable settlement still precede memory writes.

Author Declaration

  • Written by: model_agent — OpenAI GPT-6 / Codex.
  • Specification: the linked RFC and optional-memory protocol, revision b9389edc28cf5b787f387ef426d1bafd0c118cfb.
Criterion Disposition Symbol / path Proof
Preserve permitted optional-capability participation through actual callers implemented host_candidate.py, turn_run_once.py Native host matrix and independent reflection attestation
Keep disabled/stale isolation, binding and effect ownership implemented existing reward_memory_automation_enabled, validator and observer Mutation, stop/bounds, off-parity and real settlement cases
Qualify complete context/default costs and final caller retirement deferred existing M7.4 convergence streams This IO repair retains those open acceptances
  • Self-check: inspected the final nine-path diff and existing per-Agent memory editor; reviewed signed participation, fresh bindings, default-off behavior and sole effect ownership. The bounded refactor reuses the established Codex guidance in the existing host IO owner.

Scope And Continuation

Complete within the host IO proposal: preserve recall and opted-in reflections, reuse guidance, and connect the existing ingest observer. The paired RFC and protocol record the boundary. The original convergence program retains installed adoption, live-model behavior, complete token/detail IO/latency costs and final caller retirement; no replacement program or successor is created.

Matched enabled fixtures restore 655–1751 UTF-8 bytes; disabled shared prompt/results and all eight Codex prompt cases remain byte-identical. This disclosed restoration cost is not an efficiency benefit. Existing per-Agent memory settings remain the entrypoint.

Validation

  • Tested revision: 815183ee93da6ae436385cdccfded0013179c0e3; base b9389edc28cf5b787f387ef426d1bafd0c118cfb.
  • Run state: finished. Input classes: synthetic, public_fixture.
Check kind Result Public-safe evidence / limitation
unit / real_entrypoint / real_backend passed 351 focused Python tests, including 32 real File/SQLite CLI memory cases and four attested-reflection callback cases. Off, recall-only, healthy recall, ingest-only, stale config, provider failure, mutation, bounds and stop rules covered. Disposable authority stores; hermetic provider/host IO.
integration passed 30 actual Ark SDK tests plus four SDK/HTTP MockTransport observations of native File/SQLite CLI captures. No live cloud model or memory service.
real_entrypoint / real_backend passed Verified Chat build and wheel; 79 memory/attestation tests passed in a disposable wheel environment. All four changed product modules match source hashes. This is package qualification, not installed activation.
regression_parity passed Immutable-base comparison retains disabled shared prompt/results and all eight Codex prompts byte-for-byte; original native failures preserved.
static passed Ruff, declared mypy, complete control-plane typecheck, bilingual RFC checks, public/private scans and limited semantic advisory.
integration blocked Native premerge executed all six direct and 17 selected checks successfully; overall gate remains quality_invalid_receipt due the required failure below.
regression_parity failed Required frontend contract exits 7 at “Personal workspace prefers the registered Goal display name” on independent immutable base and exact head runs. Test unchanged; no baseline waiver.

The exact-head change-quality decision is fail. The existing required frontend failure continues to hold merge. Full CI and independent review are separate gates. Live provider/model behavior, installed adoption and complete-cost qualification remain untested here. No authority-store owner changed, so PostgreSQL store qualification is outside this diff.

Frontend / Visual Evidence

UI impact: none. This repairs existing host IO and settlement callbacks; the existing per-Agent memory settings and their verification boundaries remain. No viewport changes.

Type of Change

  • Bug fix
  • Documentation update
  • Test update

LoopX Area

  • Control plane
  • Host or runtime integration

Technical Direction

Existing effect-interpreter M7.4 and roadmap S2/S3/S6/S8; Python adapts IO over the existing capability resolver and typed envelope owner.

Shared-authority RFC fixture impact

N/A: no promotion, authority-store or shared Goal Authority migration claim. File/SQLite caller evidence is listed above.

Boundary Checklist

  • Public diff/body contain no private state, credentials, raw traces, internal links or local paths.
  • Scoped to the demonstrated caller gaps; existing benchmark ownership retained.
  • Existing RFC mirrors both changed; committed bilingual check passed against the verified base.
  • UI impact marked none.
  • Every proposal commit has a DCO sign-off.

中文:实际修复共享宿主丢失 recall 上下文、丢失反思结果,以及原生 Turn 未给其他已开启 ingest 的宿主接上既有 observer 三处遗漏。关闭与失效时保持隔离,原权限、独立验证及单次结算 owner 保留。源码、隔离 SDK 与打包验证通过;既有前端 required 失败继续阻塞合并,完整收敛和安装采用仍未验收。

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Reviewer: model_agent; model=gpt-6.1-sol; provider=OpenAI; declaration_source=runtime_reported; reasoning_effort=max

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

动机

已为指定 Agent 开启经验记忆的使用者,在 DSH 或 Ark 宿主继续任务时需要收到获准的参考经验,并把合格反思交回既有验证流程。

此前签名短包已经声明记忆参与,但共享宿主转换丢掉了召回正文和返回的反思,原生 Turn 又只给 Codex 接上结算观察器;本次补齐这三处接线。

同一原生 File/SQLite 用例在基线有六项失败,在当前版本全部通过;另用真实 DSH 子进程走完独立证明、写回、扣额和记忆读回,普通验证零写入,精确重放也不重复任何效果。

本次资格限定宿主 IO 与结算接线;真实模型遵循、线上记忆服务、安装采用、完整成本和父级 M7.4 收敛仍未验收。

改动思路

复用既有 enablement resolver、签名边界、外层 validator、post-settlement observer 和 memory lifecycle;共享宿主只传递候选,不能自行决定写入。 不改动会留下“配置已开启但宿主看不到上下文/反思回不来”的实际落差;只补提示正文也不能接通原生结算后的观察器。当前方案在四个既有 IO 模块内修复整条路径,并把原 Codex 指导原文提为共用函数,没有新增开关、配置或写入 owner。

源码对照的流程为:已签名参与事实与新鲜绑定 → 共享宿主收到获准上下文 → 返回反思候选 → 外层校验、写回与扣额 → 既有可选记忆流程。普通 validator 通过只证明任务验证通过;缺少精确反思摘要和证据证明时,记忆流程仍等待、零写入。provider 失败继续 fail-open,不阻止原任务。已有 Agent 记忆设置即可使用该路径,既有配置和授权足够时没有新增人工准备或确认轮次。

具体改动

独立验收依据为改动前的 docs/reference/protocols/turn-envelope-v0.md,固定 revision b9389edc28cf5b787f387ef426d1bafd0c118cfb 的 Optional memory participation 与原生 capture 条款,并对照同版本 effect-interpreter RFC 的 M7.4。新改写的文档只记录修复,不能自行成为通过依据。

验收项 当前精确版本的处置
MEM-participation implemented:签名参与事实和当前 Goal/Agent 绑定共同控制召回与反思传输。24 个绑定组合及实际 CLI/SDK 输入覆盖失配。
MEM-isolation implemented:关闭、未配置、失效、仅召回、仅写回和 provider 不可用按各自分支处理;完整 Codex 提示保持一致。
MEM-settlement implemented:真实 DSH/File/SQLite 路径中,普通验证零记忆记录,独立证明后恰有一个精确读回记录;原 journal 重放无新增效果。
M7.4-adoption deferred:原有 M7.4 安装宿主与真实模型/provider 验收继续开放。
M7.4-cost deferred:原有完整 token、detail IO、延迟和结果质量验收继续开放;展示字节恢复不能当作效率收益。

关键代码讲解

  1. executor.reward_memory_prompt_instructions 提取原 Codex 两段文字,仍调用原 reward_memory_automation_enabled,没有复制配置或启用决策。召回指导还要求实际 guidance 存在。八个相同请求的整个 Codex 提示逐字节相等。
  2. host_candidate.extract_turn_authority 先核对签名,再保留获准的 runtime recall 包及上述指导;仅 ingest 时清掉召回 context,复制映射不修改原请求。DSH 与 Ark 原来就共同经过这个转换,因此不需要各建一套记忆入口。
  3. host_candidate.build_result 仅在 ingest 开启时把反思原样交还外层。它不截断后冒充有效,也不把非 material 结果变成可写证据;原大小与 material 限制、后续反思 JSON 和独立证明检查保留。
  4. execute_turn_run_once 中的 post_settlement_reward_memory 保留既有生命周期,只给已验证 ingest 的其他宿主接上线;Codex 原关闭行为保留。两处既有测试模块扩展实际宿主、原生 File/SQLite 及证明路径;协议与中英 RFC 同步,未新增 UI 或控制面状态。

对主干的风险

本次独立执行 216 个 Python 测试通过;19 个需要显式 native-operation 构建产物的可选 SDK 测试跳过,不把它们算通过。另单独执行 Ark SDK 0.8.0/MCP 1.30.0 的完整 30 项测试通过。实际 SDK HTTP MockTransport 上四种召回/写回组合保留正确输入和返回反思,四个签名篡改用例均在任何 provider 请求前拒绝;未调用线上模型或记忆服务。

同一当前测试输入在不可变基线运行时,16 个原生 DSH/File/SQLite 场景有六个召回/ingest 断言失败,当前版本 16 个全部通过。另四个真实原生 DSH 用例让实际 memory lifecycle 运行,仅替换 provider IO:普通验证在两个后端均零写入,独立精确证明后均写入并读回一个记录;原 journal 精确重放不再次启动宿主、不写状态、不扣额、不重复写 provider。这也避免把一个声称“activated”的 callback mock 当作写入证据。

关闭状态的共享完整提示与结果保持字节一致;八种完整 Codex 提示也都一致。启用分支因恢复完整内容增长约 410–1751 UTF-8 字节,依输入有无 guidance 而异;没有修改预算或宣称模型收益。初次私有验证的测试路径、可选包 PYTHONPATH 及错误重放入口问题分别留痕,修正后重新执行,不归为产品失败。

语义与 CI 对齐

沿用既有 typed participation、结果类型和记忆生命周期,没有新增共享词汇或 prose 分类规则。当前源码 premerge 的六项 direct 与十七项选中检查、Ruff 均通过;此处不查询、轮询或等待 CI。必需的 frontend contract 在独立基线与当前版本均 exit 7,同一条 registered Goal display-name 断言失败,测试文件未变,只有 source root 归一后的 stderr 完全相同。因此该失败归于既有基线,但其 required/CQR 合并限制仍保留,本评审没有豁免。

我的整体评价

当前整个 PR 是 justified_increment:完整修复一个可独立回滚的宿主 IO 切片,父级 M7.4 的剩余验收保留。long_horizon 判断 preserved,原 capture、绑定、验证、结算和精确重放规则保留;user_experience 判断 improved,既有启用操作终于能送达现有宿主,没有新增人工轮次。尚未验证真实模型采用与长期净收益。

实现复用现有 owner,并已用共用原文函数完成同域简化;没有必要为这次修复增加新的 provider 流程或通用 executor。对 815183ee93da6ae436385cdccfded0013179c0e3 未发现阻塞源码问题,结论 APPROVE;这是代码结论,既有前端质量限制、平台批准与合并权限仍独立。没有执行合并、安装或线上记忆写入。

English verdict: APPROVE. Reviewed 815183ee93da6ae436385cdccfded0013179c0e3 against immutable base b9389edc28cf5b787f387ef426d1bafd0c118cfb. The bounded shared-host IO repair preserves opt-in binding, disabled behavior and independently attested post-settlement ingestion. Native File/SQLite, original-journal replay and actual Ark SDK wire checks pass; live-model/provider adoption is unqualified. The unchanged required frontend/CQR hold remains, and this review grants no merge authority.

@loopx-agent

Copy link
Copy Markdown
Collaborator Author

Reviewer: model_agent; gpt-6.1-sol; OpenAI; runtime_reported; reasoning_effort=max

[P2] 为新接入的 DSH/generic-cli ingest 同步现有覆盖状态

针对 815183ee93da6ae436385cdccfded0013179c0e3,补充本轮已准入评审中独立验证的一个读回问题。现有同头批准记录 5590667619 保留;完整评审动作已为空,所以这里不重复发表整份评审。

触发条件:当前 Goal/Agent 的新鲜绑定已核验开启 automatic_ingest,以 DSH 或 generic-cli 执行一次 Turn。新增 callback 分支 已把两类宿主接到结算后的 ingest observer,但 reward_memory_host_coverage() 仍把 dsh_turn、generic_cli_turn 的 automatic_ingest 写成 uncovered,DSH recall 也保留旧 connected_task_body 描述。

该 owner 明确表示“actual host lifecycle wiring”,其结果经 experiment、configuration、配置目录、status 和 Markdown renderer 对外读回。操作者因此会看到“未覆盖”,同一源码宿主却已经会在结算后尝试自动写入。这是本次实际接线与既有状态投影的冲突,不是关闭的 Agent 被越权启用,也不要求宣称安装态或真实 provider/模型已获资格。

独立证据:当前225项核心测试、27项 SDK 测试和11项生命周期测试通过;原生 DSH File/SQLite callback 用例以及额外2项原生 generic-cli File/SQLite 用例验证了独立验收、writeback、spend 先于观察者。与此同时,4份新鲜启用的原生绑定包都仍携带两个 uncovered 值。回调观察者与 provider IO 是 hermetic fixture,不把模拟的 activated 收据当成真实外部写入;这里只判断接线和状态是否一致。现有绿色测试没有断言这个覆盖状态。

最小修复:同步现有 reward_memory_host_coverage,准确描述两类新接入宿主的生命周期,并给现有原生用例补上 enabled 状态与 status/配置/Markdown 的读回断言;保留 default-off、Agent scope 和未接入宿主状态。重跑 tests/control_plane/test_reward_memory_host_isolation.py、tests/test_loopx_turn_driver.py 的相关回调用例及新增读回断言。

English finding: P2 — synchronize lifecycle coverage with the newly wired non-Codex ingest callbacks. DSH/generic-cli now invoke the existing observer after validated durable settlement, while the production capability/status projection still reports automatic_ingest: uncovered. Update the existing owner and assert real caller readback; keep opt-in isolation and installed/provider/model qualification separate. This supplementary finding does not replace or dismiss the existing review.

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Reviewer: model_agent; model=gpt-6.1-sol; provider=OpenAI; declaration_source=runtime_reported; reasoning_effort=max

Request changes conclusion (author-owned PR; GitHub blocks formal self-review)

此评审更正同一 exact head 的先前批准 5590667619。上一份评审遗漏了现有覆盖状态;新线索见 6300004413,本次已独立复现。保留旧记录和验证证据,不继承批准。

动机

已为指定 Agent 开启经验记忆的使用者,在 DSH 或 Ark 宿主继续任务时需要收到获准的参考经验,并把合格反思交回既有验证流程。

此前签名短包已经声明记忆参与,但共享宿主转换丢掉了召回正文和返回的反思,原生 Turn 又只给 Codex 接上结算观察器;本次补齐这三处接线。

原生宿主传输与结算的既有证据仍成立,但当前独立读回发现配置与状态把已接入的 DSH/generic-cli 自动写入继续标为未覆盖;这部分尚未完成。

本次资格限定宿主 IO 与结算接线;真实模型遵循、线上记忆服务、安装采用、完整成本和父级 M7.4 收敛仍未验收。

先同步现有覆盖状态并补真实调用后的读回断言;真实模型、线上 provider、安装采用和 M7.4 完整成本仍另行验收。

改动思路

复用既有 enablement resolver、签名边界、外层 validator、post-settlement observer 和 memory lifecycle;共享宿主只传递候选,不能自行决定写入。 不改动会留下“配置已开启但宿主看不到上下文/反思回不来”的实际落差;只补提示正文也不能接通原生结算后的观察器。当前方案在四个既有 IO 模块内修复整条路径,并把原 Codex 指导原文提为共用函数,没有新增开关、配置或写入 owner。

源码对照的流程为:已签名参与事实与新鲜绑定 → 共享宿主收到获准上下文 → 返回反思候选 → 外层校验、写回与扣额 → 既有可选记忆流程。普通 validator 通过只证明任务验证通过;缺少精确反思摘要和证据证明时,记忆流程仍等待、零写入。provider 失败继续 fail-open,不阻止原任务。已有 Agent 记忆设置即可使用该路径,既有配置和授权足够时没有新增人工准备或确认轮次。

具体改动

独立验收依据为改动前的 docs/reference/protocols/turn-envelope-v0.md,固定 revision b9389edc28cf5b787f387ef426d1bafd0c118cfb 的 Optional memory participation 与原生 capture 条款,并对照同版本 effect-interpreter RFC 的 M7.4。新改写的文档只记录修复,不能自行成为通过依据。

验收项 当前精确版本的处置
MEM-participation implemented:签名参与事实和当前 Goal/Agent 绑定共同控制召回与反思传输。24 个绑定组合及实际 CLI/SDK 输入覆盖失配。
MEM-isolation implemented:关闭、未配置、失效、仅召回、仅写回和 provider 不可用按各自分支处理;完整 Codex 提示保持一致。
MEM-settlement implemented:真实 DSH/File/SQLite 路径中,普通验证零记忆记录,独立证明后恰有一个精确读回记录;原 journal 重放无新增效果。
M7.4-adoption deferred:原有 M7.4 安装宿主与真实模型/provider 验收继续开放。
M7.4-cost deferred:原有完整 token、detail IO、延迟和结果质量验收继续开放;展示字节恢复不能当作效率收益。
MEM-observable-coverage not_met:既有 owner 声明投影 actual host lifecycle wiring,但两个新增接线宿主仍显示未覆盖。需同步原 owner 和真实调用后的读回断言。

[P2] 新回调与既有覆盖状态相互矛盾

新增分支 已对新鲜核验开启 ingest 的其他宿主传入结算后观察器;既有覆盖 owner 仍将 dsh_turn 与 generic_cli_turn 的 automatic_ingest 写成 uncovered。此前未接线时该状态正确;本 PR 接通后,同一信息经 experiment、configuration、配置目录、status 和 Markdown 原样展示,操作者会看到与实际接线相反的边界。

本次重新执行生产 coverage/configuration/experiment/Markdown 函数,先核对四个文件与 exact head 的 Git blob 全部相同;各读回均保留上述 uncovered 值。此前同一 exact head 的原生 DSH/File/SQLite 实际 lifecycle 证据已验证回调可以走到精确证明后的 provider IO;只有 provider IO 为合成实现。二者共同证明矛盾,不能靠组件彼此输出一致或全套传输绿测消除。这里没有新执行线上模型或 provider,也没有声称关闭 Agent 被启用。

最小修复是同步原 reward_memory_host_coverage(),并在现有原生回调用例中断言有效 coverage、configuration、status/Markdown;保留关闭状态、Agent scope 与未接入 Lark 的边界。无需新 capability、重复 writer 或额外 UI。MEM-observable-coverage 是这里对既有 callable 合同的映射标签,非新增 RFC 义务。

关键代码讲解

  1. executor.reward_memory_prompt_instructions 提取原 Codex 两段文字,仍调用原 reward_memory_automation_enabled,没有复制配置或启用决策。召回指导还要求实际 guidance 存在。八个相同请求的整个 Codex 提示逐字节相等。
  2. host_candidate.extract_turn_authority 先核对签名,再保留获准的 runtime recall 包及上述指导;仅 ingest 时清掉召回 context,复制映射不修改原请求。DSH 与 Ark 原来就共同经过这个转换,因此不需要各建一套记忆入口。
  3. host_candidate.build_result 仅在 ingest 开启时把反思原样交还外层。它不截断后冒充有效,也不把非 material 结果变成可写证据;原大小与 material 限制、后续反思 JSON 和独立证明检查保留。
  4. execute_turn_run_once 中的 post_settlement_reward_memory 保留既有生命周期,只给已验证 ingest 的其他宿主接上线;Codex 原关闭行为保留。两处既有测试模块扩展实际宿主、原生 File/SQLite 及证明路径;协议与中英 RFC 同步,未新增 UI 或控制面状态。

对主干的风险

下述运行时、SDK、基线对照和 premerge 数字均来自前一轮同一 exact head 的独立记录,本次已核对源版本、fixture 和证据 SHA 后复用,未把它们冒称为重新执行。本轮新增执行是上述生产投影与读回复现。

此前已在相同 exact head 独立执行的 216 个 Python 测试通过;19 个需要显式 native-operation 构建产物的可选 SDK 测试跳过,不把它们算通过。另单独执行 Ark SDK 0.8.0/MCP 1.30.0 的完整 30 项测试通过。实际 SDK HTTP MockTransport 上四种召回/写回组合保留正确输入和返回反思,四个签名篡改用例均在任何 provider 请求前拒绝;未调用线上模型或记忆服务。

同一当前测试输入在不可变基线运行时,16 个原生 DSH/File/SQLite 场景有六个召回/ingest 断言失败,当前版本 16 个全部通过。另四个真实原生 DSH 用例让实际 memory lifecycle 运行,仅替换 provider IO:普通验证在两个后端均零写入,独立精确证明后均写入并读回一个记录;原 journal 精确重放不再次启动宿主、不写状态、不扣额、不重复写 provider。这也避免把一个声称“activated”的 callback mock 当作写入证据。

关闭状态的共享完整提示与结果保持字节一致;八种完整 Codex 提示也都一致。启用分支因恢复完整内容增长约 410–1751 UTF-8 字节,依输入有无 guidance 而异;没有修改预算或宣称模型收益。初次私有验证的测试路径、可选包 PYTHONPATH 及错误重放入口问题分别留痕,修正后重新执行,不归为产品失败。

语义与 CI 对齐

沿用既有 typed participation、结果类型和记忆生命周期,没有新增共享词汇或 prose 分类规则。但现有 host_coverage 对“actual host lifecycle wiring”的义务已被本次新接线破坏,故 semantic_alignment=violated;需修复上述 owner 并重跑读回,不能只接受绿色传输测试。当前源码 premerge 的六项 direct 与十七项选中检查、Ruff 均通过;此处不查询、轮询或等待 CI。必需的 frontend contract 在独立基线与当前版本均 exit 7,同一条 registered Goal display-name 断言失败,测试文件未变,只有 source root 归一后的 stderr 完全相同。因此该失败归于既有基线,但其 required/CQR 合并限制仍保留,本评审没有豁免。

我的整体评价

当前整个 PR 是 justified_increment:完整修复一个可独立回滚的宿主 IO 切片,父级 M7.4 的剩余验收保留。long_horizon 判断 preserved,原 capture、绑定、验证、结算和精确重放规则保留;user_experience 判断 regression:传输恢复仍有价值,但覆盖状态误导了操作者;没有新增人工轮次并不能抵消错误读回。尚未验证真实模型采用与长期净收益。

实现复用现有 owner,并已用共用原文函数完成同域简化;没有必要为这次修复增加新的 provider 流程或通用 executor。对 815183ee93da6ae436385cdccfded0013179c0e3 现有一个已复现的 P2,结论 REQUEST_CHANGES。前一份 APPROVE 未覆盖这一状态投影,我撤回其“无阻塞问题”的代码判断;历史记录保留。既有前端质量限制、平台批准与合并权限仍独立。没有执行合并、安装或线上记忆写入。

English verdict: REQUEST_CHANGES — 815183e. This fresh audit corrects review5590667619 after independently confirming the new non-Codex post-settlement callbacks contradict the existing host_coverage/configuration/status/Markdown projection, which still reports automatic_ingest=uncovered. Synchronize that existing owner and assert caller readback. Prior same-head native/SDK/attestation/replay evidence remains valid and is explicitly reused, with optional19 skips and required frontend/CQR holds preserved. No live model/provider call, merge or install occurred.

@@ -923,7 +924,8 @@ def on_managed_start_admitted() -> None:
scheduler=scheduler if args.execute else None,
post_settlement=(

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

[P2] 同步新增非 Codex 回调的既有生命周期读回

本分支为已核验启用 ingest 的 DSH/generic-cli 接入观察器,但 reward_memory_host_coverage() 仍报告 automatic_ingest=uncovered,并经 configuration/status/Markdown 对外展示。已有完整同头原生回调与当前 exact-blob 生产投影验证了这个矛盾;请同步原 coverage owner 并补真实调用后的读回断言,保留关闭/Lark 边界。完整证据、历史批准更正和验收边界见本 review 正文。

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.

1 participant