Repository navigation
Conversation
Signed-off-by: aihop <4408344+hhyykk@users.noreply.github.com>
|
This pull request has merge conflicts with Choose the remote for the base repository, not an out-of-date fork. git fetch upstream
git rebase upstream/main
# Resolve each conflict, git add the resolved files, then git rebase --continue.
git push --force-with-lease origin HEADFor a same-repository clone whose Keep the DCO |
loopx-agent
left a comment
There was a problem hiding this comment.
动机
读取大型 Todo 列表、验收概览和工作准入状态的控制面调用方。同一批任务明明来自同一个已加载的数据版本,旧路径仍反复解析验收合同并重建任务索引;任务增加时,一次正常读取也要支付这些重复成本。新路径在本次快照内复用已验证的读取对象,后续数据版本重新建立对象;完整结果、拒绝原因和准入规则保持一致。本次仅优化原生读取路径,不新增跨请求缓存、Python 决策副本、权限、配置或用户操作步骤。完整 CLI 冷启动、常驻进程内存和真实 Agent 长程任务的总成本仍须按迁移方案另行验证。
本次评审完整 501c88099a68f9f75d018360c394c657556c3ebd,比较基线 4e6baa51afdc2ad522012c1f691ae166c9d67e7b,覆盖全部七个文件。以下读取成本是独立运行的原生入口结果,作者提供的安装包测量不替代本次证据。
改动思路
在已有验收规则 owner 内复用一次读取,比增加跨请求缓存或第二套控制逻辑更小,也保留后续版本重新验证的边界。当前 PR 的边界是单次原生快照内的读取复用;完整迁移、安装与模型收益资格继续由既有迁移验收承担。
| 调用阶段 | 基线 | 当前提交 |
|---|---|---|
| 同一已加载版本的合同、oracle 和 guard | 各自重复验证、构建索引 | 一个读取对象共享已验证基础 |
| 下一次请求或数据版本变化 | 重新读取 | 仍重新创建对象,不继承旧确认 |
| 输入非法或工作超出选择范围 | 原有拒绝和原因 | 保留相同结果与优先级 |
这张表解释源码中的控制流,并非测量凭证。复用发生在既有 canonicalTodoCollection,并保留独立导出函数每次构造新对象的行为。没有引入后台失效管理、跨请求缓存或第二套验收规则。与完全不改相比,重复读取成本有实际下降;与全局缓存相比,这个边界更容易验证和回退。正常用户不需要新设置、重填已知信息或增加确认轮次。
具体改动
关键代码讲解
GoalAcceptanceRead在一个已加载 head 内保存解码结果、任务索引和绑定索引。规范化后的声明绑定唯一;存储确认仍保留原来的 first-match,而不是简单改成后写覆盖。合同、oracle 和 guard 输出保持可独立修改,避免调用者改变一个结果就污染另一个结果。workGuards继续用原有状态和语义摘要判定允许与否;未绑定、语义已变、退役或不在选择范围内的工作不会因为复用而得到权限。独立导出 helper 仍从新对象开始。canonicalTodoCollection将合同、oracle 基础和按需计算的 guard 交给列表、历史来源读取及分页入口。额外检查了未改动的authority_backup.ts:它只消费 collection 的数量,新增内部闭包不会进入备份线协议;该真实消费者的六个测试通过。readCanonicalSnapshotFromStore在原有身份与 continuation 检查之后才计算 guards,保持错误优先级,避免优化把新验证提前成更强的前置条件。
规范依据为 docs/architecture/rfcs/typescript-control-plane-migration-v0.md,固定版本 4e6baa51afdc2ad522012c1f691ae166c9d67e7b。对应 §2.5:复用同一个 TypeScript 决策 owner、单次读取内共享基础,已实现;§5:真实后端一致性与反向验证,已通过下述验证;§6:完整 CLI、内存及安装资格继续保留,原生微成本不能把这些项登记为通过。中英文 RFC 同时修改,其新增段落说明了这个证据边界。
对主干的风险
主要反例是旧确认在后续数据版本继续生效,或两个同时非法输入改变了先报哪个错误。独立验证让基线和新实现依次读取同一个真实 provider head,覆盖关闭、合法、未绑定、语义变化、选择范围、缺失任务、角色变化、损坏验收、损坏读取模型、重叠错误及随后更新。File、SQLite、PostgreSQL 共 33 组完整结果逐字节一致,包含 opaque revision、cursor、全部诊断和字段存在性;没有用归一化抹掉这些字段,读取后原始存储也保持不变。先前分开创建 File 存储造成 revision 不同的探针被保留为无效比较,最终使用同一份来源解决。
为验证断言能发现放宽权限,另外只在隔离副本中把 guard 的 allowed 强制改为 true;真实入口立即触发“受阻任务不得授权”的独立断言,未修改版本则通过。同源比较并非只让两份实现彼此认同。
本次原生相关套件基线 55、新提交 59 例通过;其他直接调用者 156 例、备份 6 例通过;真实隔离 PostgreSQL 集成 366 例通过且无跳过。风险选择的 premerge 为 4 项直接检查、18 项选中检查通过,DCO 与 diff 检查通过。三个后端各用 1000 个 Todo,先预热四组,再交替顺序测量 32 组,包含 provider 读取和 JSON 序列化且每次比较完整结果:File 中位数 49.42→20.21ms,SQLite 50.51→24.31ms,PostgreSQL 58.86→30.08ms。这不是完整 CLI、冷启动、常驻内存或模型收益测量。
语义与 CI 对齐
接受条件、默认关闭状态、诊断、选择范围和共享消费者均保留既有 owner,没有新增通用状态词汇、文本启发式、默认策略或机器义务。关闭验收与开启但范围外的案例分别检查;没有用“功能对象不存在”代替关闭路径验证。未查询或等待 CI。作者的 wheel/sdist 结果仅作为作者证据,本次没有独立复跑;源代码入口的原生复用已经单独验证。当前 GitHub 将该 head 标为与 main 冲突,这保留为集成和合并门,不能据此声称已集成,也不构成一个虚构的源码缺陷。
我的整体评价
APPROVE — justified_increment。 实际原生读取成本下降,原有准入与失败语义在真实三后端上保持一致,且复用处于已存在的共享 owner 内,规模与问题相称。这个结论认可当前可回退的原生优化增量,未关闭迁移 RFC 的完整 CLI、内存、安装和真实任务收益验收。作者需要先解决当前冲突;任何新 head 都需要重新核对,评审不授予合并权限。
English verdict: APPROVE for exact head 501c88099a68f9f75d018360c394c657556c3ebd. Per-snapshot reuse preserves complete outputs and rejection semantics across real File, SQLite and PostgreSQL, with measured warm native-read savings and a failing permission-bypass control. Full CLI/RSS/installed qualification remains separate; the current merge conflict must be resolved and the resulting head reviewed.
Reviewer: model_agent; gpt-6.1-sol; OpenAI; runtime_reported; reasoning_effort=max.
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
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: model_agent; GPT-6 (Codex); OpenAI; self_reported
APPROVE — 未发现当前头的阻断问题。本次复核完整 d79b54f4b773080943d29b75cb689269470f8653,固定比较主干 21322fb1f1171c0bf7fdb9cb1112b66a1dd0dcf8;旧头批准不自动继承。评审包含我提交的冲突修复与测试修正,不宣称这是独立于这些修复作者的另一位审查者。
动机
读取任务列表、Goal 概览和工作准入状态的控制面调用方。
同一批任务来自同一个已加载版本,旧路径仍反复解析验收合同并重建索引;新路径只在本次读取内复用,下一版本重新读取。
完整结果、拒绝优先级和权限边界保持一致,减少大型列表的重复读取成本。
不新增跨请求缓存、状态权威、配置或用户操作步骤,不把原生读取测量当作完整 CLI、安装或模型任务收益。
完整 CLI 冷启动、RSS、安装资格及真实 Agent 长程收益仍须独立验证。
改动思路
复用属于既有 TypeScript 验收 owner 的本地读取职责;验证规则与 provider IO 的边界不变。
本 PR 交付同一已加载 head 内的验收读取复用,并在合入主干时保留 Goal 目标展示及目标修订失效规则。
| 读取阶段 | 旧路径 | 本次路径 |
|---|---|---|
| 合同、oracle 与 guard | 各自重复解码/建索引 | 复用本次 head 的 reader |
| 后续数据版本 | 重新读取 | 同样重新读取,不能使用旧 reader |
| 非法合同与读模型 | 先合同错误,再读模型错误 | 保留顺序和完整诊断 |
这是源码关系说明。既有 collection 创建 reader,provider 读取与持久事务仍由原存储负责;mutation/lease/planning 的独立导出每次构建新实例。没有新持久声明需要人工同步,也没有新增设置、复制已知信息或确认轮次。与全局缓存相比,局部复用避免了后台失效和恢复协议;与不改相比,当前默认 SQLite 路径已有实际原生读取收益。
具体改动
全部七个文件 +260/-79:三份生产 TypeScript +149/-77;两份测试 +95/-2;中英文 RFC +16。没有新增 RPC、Python 决策副本、配置、公开协议或生成产物。主干冲突保留了目标独立投影与目标修订摘要,新回归用例覆盖无可选验收配置、global/selected 两种目标修订,以及后续 provider head 的重新验证。
关键代码讲解
- GoalAcceptanceRead:authority/read model/binding/task 仅在本次已加载 head 内共享。
contract()返回独立容器,workGuards()复用已验证的任务语义;旧公有函数委托它,每次独立调用仍新建 reader。 - canonicalTodoCollection:list/read/snapshot 共享同一读取上下文,guard 由闭包按本次列表派生。
goal_objective单独存在也保留输出,不把目标存在误当启用可选检查。 - acceptanceWorkDigest:保留固定主干的目标版本摘要;目标变化使旧验收失效。global 与 selected_work 仍按各自范围计算,不扩展任务授权。
独立规范依据:docs/architecture/rfcs/typescript-control-plane-migration-v0.md,固定已接受版本 21322fb1f1171c0bf7fdb9cb1112b66a1dd0dcf8(原文)。§2.5 implemented:复用同一 TS owner、保留信任边界和错误顺序;§5 implemented:规则/桥接/代码成本可核对,并有真实入口、完整输出和失败反证;§6 deferred:完整 CLI/RSS/安装及真实任务收益保留为迁移资格缺口,不以本次局部结果登记完成。PR 新加的 RFC 段落只说明范围,不反向作为独立验收依据。
对主干的风险
最强风险是旧确认跨数据版本被错误复用,或解决冲突时丢掉目标更新后的失效规则。跨 head 的 File/SQLite snapshot、global/selected 目标修订,以及原生 CAS/重放/完成检查验证了这两个边界。另有未绑定、未注册 actor、伪造/失败验证回执、retiring/替代实例、私有验证文件、双重非法输入的拒绝与无写操作反例;不得凭读取结果获得执行权。
同一个真实 provider head 分别交给固定基线与本次代码:File/SQLite 的十种状态、list 与 snapshot 共 40 组完整序列化结果逐字节一致,没有归一化 opaque revision、cursor、字段存在性或诊断;读取后权威未变。目标投影刻意删除的隔离 mutant 在 File/SQLite 两例均失败,最终头同两例通过。最初的探针有 fixture/schema 错误,测试也曾误读 snapshot 顶层;这些无效运行保留记录,未当作产品退化或成功证据。
本次真实 File/SQLite/PostgreSQL 相关套件 545 例全通过、无跳过;随后只修正测试字段位置,生产文件不变,最终头两份变更测试 62 例通过。TypeScript 类型检查、DCO、diff 和 RFC 双语检查通过。固定最终头的 premerge 已完成:4 项直接检查、18 项风险选中检查均通过;公共边界 7 文件无命中,工作区无 tracked side effects。先前因运行中修改测试触发的保护拒绝由这次固定头检查取代。
1000 Todo,4 组预热、20 组交替基线/新头测量,包含真实 provider 读取及 JSON 序列化并逐组比较完整结果:File 中位 76.25→28.29ms,SQLite 101.62→50.07ms。属于当前环境的 warm 原生列表测量,不能外推完整 CLI、RSS、冷启动或模型任务成本;不新增耗费模型额度的测试。
语义与 CI 对齐
本次复用现有词汇和 canonical authority;没有新增领域状态、规则 owner 或把机器强制准入改成建议。关闭检查时完整输出保持一致;被选中但未绑定的工作仍拒绝,未覆盖工作保持普通验证,新任务不得借显示范围逃逸授权。当前 Goal 策略 wait_for_ci=false,本次判定依据本地检查,未获取、轮询或等待远端 CI;不把旧 CI 状态宣称为通过。
我的整体评价
APPROVE,作为 justified_increment。long_horizon 为 preserved:缓存不跨 head,原有 CAS、拒绝、重放和完成证据仍生效。user_experience 为 preserved:普通读取没有新增输入、确认或设置,目标与可选验收检查保持独立。默认关闭隔离、完整观察语义、权限命名和兼容性均有实际调用证据;原有导出与持久 receipt 格式值得保留,没有第二套业务规则。代码规模与这次可回退优化相称。完整 CLI 冷启动、RSS、安装资格及真实 Agent 长程收益仍须独立验证。
此结论绑定当前头,不授予合并权限。操作者要求 bypass,后续合并仍须通过当前 exact-head readiness 与 LoopX typed merge preview;若头变化,重核受影响证据。
English verdict: APPROVE for exact head d79b54f4b773080943d29b75cb689269470f8653. Conflict resolution preserves objective projection/invalidation and per-snapshot read reuse. Complete native outputs match the immutable main baseline, real-provider and final changed-file tests pass, and an objective-removal mutant is detected. Warm native cost improves; full CLI/RSS/installed and model-outcome qualification remains separate. The review includes reviewer-authored conflict repairs; it is not a claim of another independent reviewer. Merge authority remains separate.
A canonical Todo collection rebuilds the same acceptance authority and Todo indexes while producing its contract, oracle context and work guards. This proposal reuses that validated basis within one loaded provider head. Each later head/page and every standalone public helper still starts fresh.
The existing acceptance owner now supplies
GoalAcceptanceRead;canonicalTodoCollectionshares it and projects guards at the original call site. Input checks, first-error precedence, exact/retiring ownership, held work, output container independence and wire fields remain intact. No persistent cache, RPC, Python bridge, setting or write authority is added.Based on the accepted migration RFC §§2.5, 2.8 and 6. Head
501c88099a68f9f75d018360c394c657556c3ebd, base4e6baa51afdc2ad522012c1f691ae166c9d67e7b. All 47 other open PRs and their paginated file lists were checked: none changes these three production or two test files. Shared RFC bookkeeping is a separate paragraph. Larger interaction/quota rewrites overlap existing work; Hook batching adds compatibility bridge cost; several large adapters have no live caller or already use one native transaction.Migration economics:
goals/acceptance_contract.ts, before and afterObserved native cost, milliseconds p50 / p95:
Each row uses 32 alternating A/B–B/A pairs, real provider IO, the complete public native
listLocalCoordinationTodosresult and JSON serialization, with identical result bytes. This is not a Python CLI or managed-IPC benchmark. An unchanged-code A/A control measured 188.4 / 250.8 versus 182.0 / 212.2: tail variance is retained, so these observations do not certify a full-CLI performance gate or a universal percentage gain. The earlier exploratory samples remain separate evidence.Validation:
Remaining qualification: full control-plane typecheck still reports the seven unchanged
conversation_binding.tsnullability errors reproduced on main (separate #6980). Quick premerge passes its four direct checks, then fails the risk-characterization smoke before dispatch at the local IPC permission boundary. Full CLI cold/warm cost, managed-runtime/daemon memory, installed managed callers, PostgreSQL and live App adoption remain unqualified. Existing budgets and failed evidence are unchanged. This is an author proposal for exact-head review, with no merge or release claim.