Skip to content

Reuse shared digest checks for Chat images and native child results - #8758

Closed
loopx-agent wants to merge 1 commit into
mainfrom
codex/quality-audit-digest-owners-20261114
Closed

loopx-agent wants to merge 1 commit into
mainfrom
codex/quality-audit-digest-owners-20261114

Conversation

@loopx-agent

Copy link
Copy Markdown
Collaborator

Goal And Delivered Outcome

Two production readers independently restated the SHA-256 format and broke the repository's Python and TypeScript digest ownership checks. The bound Chat history image route now uses the shared bare digest matcher; the native child result inbox uses the shared sha256: envelope matcher. The existing consumer checks now pin both imports. Stored digests, image URLs, inbox admission, and invalid-input behavior are unchanged.

This addresses the digest failures reproduced during #8751. The intended base is main. The two patches apply cleanly together; the separate browser and Windows failures observed on #8751 still need their own qualification.

Author Declaration

Criterion Disposition Owner Test
Whole-value SHA-256 formats use the shared definitions implemented Python/TypeScript content digest owner Both digest ownership suites fail at the duplicate on the base and pass on this head
Exact image bytes and stale/cross-origin rejection remain unchanged implemented Chat result file HTTP handler Existing original-history-image test against both revisions
Child receipts still require valid envelope, original scope and committed terminal result implemented Native child result inbox Inbox, Manager read and CLI acknowledgement suites

Scope And Continuation

Complete for these two duplicate matchers. Existing compound cursor and result ID rules retain their respective owners. No data migration, provider change, or frontend change.

Validation

  • Tested revision: fd229e7db14f188dbf3c1d142b897d3ae238b544
  • Run state: finished for the checks below; broad Python was stopped before completion.
  • Input classes: synthetic, public_fixture
Check kind Result Evidence
real_entrypoint passed 420 Python tests passed, including the production Chat HTTP image fetch, Manager Inbox read of a persisted child result, and exact CLI acknowledgement. Both revisions passed the same three caller cases. The HTTP fixture checks original bytes, stale URLs, changed image content, and cross-origin rejection.
regression_parity passed 25 focused Node tests passed. Both architecture checks reproduced the corresponding duplicate at the exact base. A wrong-envelope mutation in a disposable source copy failed the actual Chat HTTP and Manager Inbox/Node read paths.
integration passed Combining the exact #8751 patch with this revision against the same base: four registry outage/recovery cases and 73 TypeScript cases passed. The source branches were unchanged.
static passed TypeScript typecheck, Ruff, mypy, committed diff hygiene, RFC pairing and the public boundary scan.
integration passed CLI output budget smoke and all direct/selected standard premerge checks passed.
integration failed Full TypeScript control-plane suite: 6,484 passed, 85 skipped, 1 failed. The prior digest check now passes. The remaining SQLite rehearsal failed in its unchanged 5 GiB reserve check; the isolated report reproduced disk reserve exhausted.
integration not_run (full completion) Broad Python run stopped around 14% to preserve disk space: 5,151 passed, 414 skipped, no failures observed before stop. Remote CI supplies the complete run.

The affected stores were real isolated local files, with synthetic inputs. The full local qualification remains held. Remote Windows, browser qualification, and installed rollout are separate.

Frontend / Visual Evidence

  • UI impact: none. The HTTP behavior of the existing image route is covered above.

Type of Change

  • Bug fix
  • Test update

LoopX Area

  • Control plane
  • Capability or extension

Shared-authority RFC fixture impact

N/A. No authority store or wire format changed.

Boundary Checklist

  • No private data, paths, traces or credentials are published.
  • Scope is limited to the reproduced digest ownership failures.
  • RFC pairing check passes; no paired RFC changed.
  • UI impact marked above.
  • Commit includes DCO sign-off.

loopx-agent added a commit that referenced this pull request Nov 14, 2026
Apply the TypeScript portion of #8758 (fd229e7). The native receipt parser uses the same expression through its owner; the independent audit now also covers this caller. The chat image changes stay with #8758.

Signed-off-by: LoopX Agent <[email protected]>

@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 · gpt-6.1-sol · OpenAI · runtime_reported · reasoning_effort=max

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

评审提交 fd229e7db14f188dbf3c1d142b897d3ae238b544,对照目标基线 859a23ee9534539536343206e23452253528dd07。

动机 / Motivation

维护摘要格式的贡献者,以及从 Chat 读取原会话图片或从 Manager Inbox 消费原生子任务回执的人。 这两个现有读取入口分别手写了裸摘要和带前缀摘要的完整匹配,基线因此在两套单一格式所有者检查中失败。 精确基线的 Python 检查报告 Chat 图片的裸摘要字面量,TypeScript 检查报告 native child inbox 的带前缀正则。 现在两条原调用都依赖其语言的既有格式定义。基线和候选的同组 HTTP、Inbox 和 CLI 用例均通过,候选的两项所有者检查恢复通过。 本地对照使用真实入口和隔离数据。全量套件、Windows 和已安装版本没有纳入本次资格验证。

改动思路 / Approach

Python 与 TypeScript 的 content_digest 是已有的格式所有者。Chat 与 native child result 分别拥有来源、完整性和实际交付。 直接复用两个现有格式常量,保留 HTTP 解析、原图读回、回执绑定、内容完整性和后续确认入口。

具体改动 / Changes

关键代码讲解

Chat 继续用 fullmatch 检查原图链接的槽位和裸摘要,随后读回原 Session 的当前字节。Chat HTTP 入口

native child inbox 使用共享 envelope 模式,随后仍核验字节数、原任务范围和已提交终态。子任务读回

4 个文件,+6/-2。两个生产调用点换用已有常量,两套现有防漂移测试增加对应消费者。 已逐项核验格式所有权、图片 HTTP 的授权和字节,以及子任务回执的作用域。现有摘要格式定义

对主干的风险 / Risks

两版都拒绝陌生 Session、摘要不匹配、字节变化后的旧链接与跨源请求。子任务收件箱仍拒绝损坏内容和跨 Goal/Agent 来源,只在原宿主终态已提交时交付。

语义与 CI 对齐

基线和候选各通过 58 项请求链路用例。候选通过 244 项 Python ownership 检查、25 项 Node 用例以及本地 standard premerge 的 16 项执行。 作者报告全量 Node 曾遇到 SQLite 磁盘预留门槛,同时停止了广范围 Python 运行。本次独立运行覆盖这两个具体调用入口和摘要所有权。

我的整体评价 / Verdict

通过。精确目标基线的对照已给出两处重复规则的诊断。当前提交独立修复这两条调用,可以沿已有架构检查复核后续的摘要格式变更。原图片读取与子结果交付以各自的真实入口回归为据。

English verdict: APPROVE at fd229e7. Both readers reuse the established digest matcher while preserving the tested data and authority boundaries.

@CharleoYang

Copy link
Copy Markdown

Superseded-coverage note: #8810 contains this change plus the remaining Lark historical image-result matcher, with the same two pinned-ownership inventory updates. Merging both would conflict in the inventory tests. Suggest closing this PR as superseded by #8810 rather than merging both.

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