Repository navigation
fix(collaboration): remove unused digest owner binding - #7936
Conversation
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: actor_kind=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)
合并后补审:当前 head 已由其他流程合并,本评审不追认合并授权。
动机 / Motivation
运行 digest owner 校验或依赖 delegation 模块的开发者和维护者。 以前一个没有任何使用点的 digest 常量导入导致所有权校验失败,维护者无法区分真实契约违例和导入残留;现在仅移除该导入,已有 digest 判断和业务分支保持原样。 同一份未修改的 owner 校验从基线 16 通过、1 失败变为当前 head 的 17 通过,现有 delegation 原生路径保持一致。 不改变 digest 语法、验证、权限、履约或结果采用规则;合并后审计不追认合并授权,也不等于下游集成或真实实验资格。
改动思路 / Approach
唯一问题是既有 canonical digest owner 的未使用绑定;删除这一绑定比伪造使用点、放宽扫描或增加兼容分支更小且更准确。 本 PR 只交付单一未使用 import 的清理,保留所有消费者和 canonical digest 定义。 我比较了不改、在既有 owner 内修复和增加新机制三种选择;当前改动沿原生产入口生效,派生输入不成为新的状态或权限。实际失败由原 owner 拒绝并给出恢复;通过发送、读取或回执本身不能证明真实模型采用。这里采用正文说明控制流,未把未渲染的图示当测试证据。
具体改动 / Changes
完整评审 7936@f7905f9567092b0cb6b5c8d2f5c559ae5c00728b,merge base f941b5939345c6d1c3d770a982182624e7ef393f:1path +1/-1; only an unused named import removed, no new fixture or smoke. 没有针对删除此 import 的独立书面 specification(no_spec)。独立依据是不可变 f941b5939345c6d1c3d770a982182624e7ef393f 的 tests/control_plane_ts/content_digest_single_owner.test.ts:897 与现有 canonical export/真实消费者;测试没有随 PR 修改。
关键代码讲解
canonical digest import:10:仅删除没有实际使用点的 ENVELOPED_SHA256_PATTERN 绑定,保留 BARE_SHA256_PATTERN。源码其余部分和 canonical digest 定义没有改变;没有通过伪造使用点满足校验。delegationCheckedArtifacts:114:检查 retained canonical digest 的真实消费者与拒绝路径;该函数本身未修改。未变化的 owner 校验、两侧各54个原生 Python 用例和完整 TypeScript 测试共同约束行为保持。
不可变 f941 基线的完整 owner 校验16PASS/1FAIL,当前 head17PASS;唯一消失的失败就是 ENVELOPED_SHA256_PATTERN 未使用。3个完全未修改的原生Python模块在两侧各54PASS,覆盖delegation validation、inventory、CLI及File/SQLite。当前 head完整TypeScript为5907PASS/0FAIL/77SKIP,typecheck通过;77个跳过没有被算作已验证后端或场景。除这一 import 行之外的模块内容和canonical digest 定义保持一致。
对主干的风险 / Risks
最强反例是:无效 digest、精确重放及实际 File/SQLite 路径是否随 import 清理变化。 已观察:两侧完全相同的54个原生 Python 用例都通过,所有 retained pattern 使用和决策分支保持原样。 现有生产消费者是 delegationValidationPlan:24, delegationCheckedArtifacts:114, content_digest_single_owner.test.ts:897;本次不新增 capability、provider、配置或独立设置页面,数据和命令继续经过原 owner。Applied deletion is the complete useful fix; no helper, compatibility framework or additional test needed. 历史/身份兼容被保留,没有为了旧回执另开请求解码器或并行规则。
标准 premerge、typecheck、适用 Ruff、diff semantic advisory、public boundary 和适用 RFC bilingual 检查通过,premerge没有阻塞失败或手工 hold。原始 strict mypy 在相同17个配置root、Python3.14.8/mypy1.20.2及uv.lock下仍为786errors/125files;同命令完整身份、顺序、细节和重复次数均比较,完整119338B输出和125个完整因果源码文件相同。原始 maintainability ratchet 仍FAIL,完整393B输出及因果renderer相同;premerge advisory没有被称为原检查通过。没有改阈值、移除断言、过滤诊断或将CQR声明为通过。
CI未查询、轮询或等待,状态保持UNVERIFIED且仅为诊断;未独立核实的历史 CI 叙述没有被称为已修复。改变的不变量已有上面的独立当前证据,因此未知CI不作为批准门槛。最新主干 374c152ba18a062804b2f7e9b72656cdce0a8b4c 的相关调用方变更已读:7941的资格反馈、7934的native idle与7935/7938的context读路径各有自己的边界;本次没有将旧head验证扩张成最新主干集成资格。
我的整体评价 / Verdict
APPROVE,problem_context为goal_achieved,范围限于本次命名的可逆切片。长程工作:现有 delegation 行为与完整 owner 校验保持一致;删除无用导入不增加状态、等待、重试或执行开销。 用户体验:维护者可直接运行原有校验,无需忽略失败、改阈值或另加配置;现有 CLI 任务流程保持不变。 已检查 delegation 校验及 CLI 消费者;本 diff 仅删除 TypeScript import,不涉及渲染或用户设置。 未验证范围:未做安装版、真实多 Agent 采用或实验集成资格;77 个跳过的 TypeScript 用例仍然是跳过。 唯一问题是既有 canonical digest owner 的未使用绑定;删除这一绑定比伪造使用点、放宽扫描或增加兼容分支更小且更准确。 本 PR 只交付单一未使用 import 的清理,保留所有消费者和 canonical digest 定义。 语义词汇复用原 owner,无新枚举、分类器、执行义务或默认工具授权。独立证据支持此 head 的正向价值与比例;诊断失败、安装/模型限制、合并就绪和合并授权仍分别保留。
English verdict: APPROVE the exact reviewed head; changed invariants are independently verified, CI remains diagnostic, and merge authority is separate.
Goal And Delivered Outcome
当前主干的
delegation.ts导入了未使用的ENVELOPED_SHA256_PATTERN,使既有 digest 单 owner 检查失败,并阻塞完整 TS 套件。删除这个多余绑定,保留实际使用的BARE_SHA256_PATTERN、全部校验规则和原测试。f941b5939345c6d1c3d770a982182624e7ef393f;候选:f7905f9567092b0cb6b5c8d2f5c559ae5c00728b,PR base 为main。Author Declaration
Scope And Continuation
该维护修复在作者范围内完成,可独立回退。相邻重构选择保留现有 digest owner 和委派模块边界;此绑定清理不需要扩大生命周期重构或新增后继任务。独立评审、CI、CQR 和 merge readiness 仍按既有流程执行。
Validation
f7905f9567092b0cb6b5c8d2f5c559ae5c00728bfinished;Input classes:synthetic、public_fixturecontent_digest_single_owner.test.ts:immutable base 16 pass / 1 fail,候选 17 pass;原失败明确指向该多余导入。npm run typecheck:control-plane;diff-scoped semantic advisory 无支持的新 vocabulary carrier(其静态覆盖限制保留);公开边界及 RFC diff 检查通过。npm run test:control-plane:5907 passed、0 failed、77 conditional skips。跳过项不算 backend 资格。test_independent_delegation_validation.py、test_delegation_inventory.py、test_delegation_cli.py:base 与候选各 54 passed;隔离真实 File/SQLite、独立 CLI 进程、拒绝/重放/恢复与停止路径。PYTHONPATH覆盖;必检失败不豁免。cqr_6601a97f0c8cb285230f因 mypy 判定 fail;标准 premerge 4 direct checks 通过、10 selected 中 9 pass / 1 inherited ratchet advisory。整体quality_invalid_receipt,不具备合并资格。未修改的
machine_section_projection.pymaintainability ratchet 仍返回失败,planner 标记advisory_inherited_failure,未记为通过。未声明全局安装、实际 Host/模型采用或长程效果和成本收益。Frontend / Visual Evidence
UI impact:
none;无界面或交互改动。前端构建仅用于生成 wheel 的既有打包依赖,不提交生成资产。Type Of Change And Boundaries