Repository navigation
Remove redundant legacy envelope builds from Turn CLI - #8389
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: model_agent, gpt-6.1-sol, OpenAI, runtime_reported, reasoning_effort=max
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
动机 / Motivation
用 CLI 预览任务或从原生会话继续任务的人会经过这段准备。 完整决策组成后,预览和详细计划仍再构建旧 envelope;需领取的 managed Turn 在领取后再次构建。
四组 CLI 预览/详情调用均从 2 次投影到 1 次;managed 就绪 1→0、需领取 2→0,两后端均保留原 Todo、独立 argv 验证、同一会话、结算与幂等重放。
未调用真实模型或重跑发布 wheel。观测只证明该投影边界调用次数下降,没有端到端时延、token 或整个 C1 交付主张;按当前策略未等待远端 CI。
改动思路 / Approach
复用已有完整来源和已有校验,删除过渡构建比在两个构建点加缓存或再定义一个权威对象更小。 与 #8266 的 CLI 和 steward 两个文件逐项比较,增删行相同;其余 envelope 和跨宿主恢复资格留在原 C1 范围。
具体改动 / Changes
评审提交 8bcef37;对照基线 aa475b2。生产代码三个文件 +12/−36,测试两个文件 +48/−4。删除两个无消费者的构建点和仅包裹 envelope 的 Python controller input。
规范:目标分支已接受的合同。
- Turn 3–4(已验证)。路由与准备使用原始来源并保留任务身份。File/SQLite 预览和详细计划均保持同一个 Todo;需要领取时用同一个任务重读。
- Turn 5–6(已验证)。保留原会话、独立验证和失败停止语义。native ready 和 claim、坏来源与明确旧 adapter 均有实际覆盖。
- Turn 7–8(已验证)。同一已验证工作写回后才扣额;回放不重做。两后端保持 committed 结果与原 readback,幂等重放无新宿主调用。
- C1 跨宿主恢复(待整段验收)。完整来源在所有宿主上的上下文交付资格。本切片没有承担跨宿主和长程性能资格。
关键代码讲解
- handle_turn_command。先组合一次决策。只有宿主真实领取后才重读同一 Todo 的权威状态,检查新准备结果为 ready。 代码
- prepare_native_task。把原 work_contract 交给现有验证准备;仍先校验实际 actor、Turn 与 Todo,准备成功后才走原 lease 路径。 代码
- complete_turn_host_source。仅 lineage 允许不带 adapter;显式提供的 adapter 或 Host header 仍走共享 TypeScript 校验。 代码
对主干的风险 / Risks
PASS。四组 CLI 预览/详情调用均从 2 次投影到 1 次;managed 就绪 1→0、需领取 2→0,两后端均保留原 Todo、独立 argv 验证、同一会话、结算与幂等重放。 准确提交 Python 195 项、TypeScript 96 项和 typecheck 通过;快速预检六项直接检查、三项 smoke 通过。 严格质量凭据已绑定到当前评审提交和 PR 目标。
PASS。显式 null/空 adapter、改写来源、错绑捕获与当前权限不一致均被拒绝;历史 Host 捕获可按原 codec 恢复,原生回放不再次启动或结算。
UNVERIFIED。未调用真实模型或重跑发布 wheel。观测只证明该投影边界调用次数下降,没有端到端时延、token 或整个 C1 交付主张;按当前策略未等待远端 CI。
语义与 CI 对齐
未新增开关或改变默认工作资格;独立非原生/只读计划不消费额度,关闭的 memory 不读取来源,历史有 adapter 仍走完整校验。
我的整体评价 / Verdict
未发现阻断问题。 热路径减掉的调用可累计,原生执行仍依赖同一权威来源。 适用于现有 CLI 和受管会话,没有新增界面,也无需用户重新配置或选择任务。
English verdict: APPROVE. Head 8bcef37. Approve this bounded Turn CLI and managed preparation slice. File and SQLite confirm fewer projection calls with original validation and settlement preserved.
|
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 |
Signed-off-by: huangruiteng <huangrt01@163.com> # Conflicts: # loopx/control_plane/quota/turn_envelope.py
huangruiteng
left a comment
There was a problem hiding this comment.
Reviewer: model_agent, GPT-5, OpenAI, self_reported
Independent approval
动机 / Motivation
用 CLI 预览任务或从原生会话继续任务的人会经过这段准备。 完整决策组成后,预览和详细计划仍再构建旧 envelope;需领取的 managed Turn 在领取后再次构建。
四组 CLI 预览/详情调用均从 2 次投影到 1 次;managed 就绪 1→0、需领取 2→0,两后端均保留原 Todo、独立 argv 验证、同一会话、结算与幂等重放。
未调用真实模型或重跑发布 wheel。观测只证明该投影边界调用次数下降,没有端到端时延、token 或整个 C1 交付主张;按当前策略未等待远端 CI。
改动思路 / Approach
复用已有完整来源和已有校验,删除过渡构建比在两个构建点加缓存或再定义一个权威对象更小。 与 #8266 的 CLI 和 steward 两个文件逐项比较,增删行相同;其余 envelope 和跨宿主恢复资格留在原 C1 范围。
具体改动 / Changes
评审提交 017d949;对照基线 79068ba。生产代码三个文件 +12/−36,测试两个文件 +48/−4。删除两个无消费者的构建点和仅包裹 envelope 的 Python controller input。
规范:目标分支已接受的合同。
- Turn 3–4(已验证)。路由与准备使用原始来源并保留任务身份。File/SQLite 预览和详细计划均保持同一个 Todo;需要领取时用同一个任务重读。
- Turn 5–6(已验证)。保留原会话、独立验证和失败停止语义。native ready 和 claim、坏来源与明确旧 adapter 均有实际覆盖。
- Turn 7–8(已验证)。同一已验证工作写回后才扣额;回放不重做。两后端保持 committed 结果与原 readback,幂等重放无新宿主调用。
- C1 跨宿主恢复(待整段验收)。完整来源在所有宿主上的上下文交付资格。本切片没有承担跨宿主和长程性能资格。
关键代码讲解
- handle_turn_command。先组合一次决策。只有宿主真实领取后才重读同一 Todo 的权威状态,检查新准备结果为 ready。 代码
- prepare_native_task。把原 work_contract 交给现有验证准备;仍先校验实际 actor、Turn 与 Todo,准备成功后才走原 lease 路径。 代码
- complete_turn_host_source。仅 lineage 允许不带 adapter;显式提供的 adapter 或 Host header 仍走共享 TypeScript 校验。 代码
对主干的风险 / Risks
PASS。四组 CLI 预览/详情调用均从 2 次投影到 1 次;managed 就绪 1→0、需领取 2→0,两后端均保留原 Todo、独立 argv 验证、同一会话、结算与幂等重放。 准确提交 Python 195 项、TypeScript 96 项和 typecheck 通过;快速预检六项直接检查、三项 smoke 通过。 严格质量凭据已绑定到当前评审提交和 PR 目标。
本轮将原 PR head 与最新 main 合并,唯一的 turn_envelope.py 冲突按两侧语义解决:保留 main 新增的 capability_automation_source 数值令牌处理,同时移除本 PR 要退役的 build_controller_input 和 TurnControllerInput。合并树独立通过 Host/Native 105 项、delegation/report 245 项、相关 TypeScript 200 项、control-plane typecheck 与完整 diff hygiene;PR 对 main 的净 diff 仍为五个文件。
PASS。显式 null/空 adapter、改写来源、错绑捕获与当前权限不一致均被拒绝;历史 Host 捕获可按原 codec 恢复,原生回放不再次启动或结算。
UNVERIFIED。未调用真实模型或重跑发布 wheel。观测只证明该投影边界调用次数下降,没有端到端时延、token 或整个 C1 交付主张;按当前策略未等待远端 CI。
语义与 CI 对齐
未新增开关或改变默认工作资格;独立非原生/只读计划不消费额度,关闭的 memory 不读取来源,历史有 adapter 仍走完整校验。
我的整体评价 / Verdict
未发现阻断问题。 热路径减掉的调用可累计,原生执行仍依赖同一权威来源。 适用于现有 CLI 和受管会话,没有新增界面,也无需用户重新配置或选择任务。
English verdict: APPROVE. Head 017d949. Approve this bounded Turn CLI and managed preparation slice. File and SQLite confirm fewer projection calls with original validation and settlement preserved.
The Turn CLI already plans from the complete work contract, but it also builds a legacy TurnEnvelope before planning and again after a managed claim. This removes those builds and lets managed preparation check the original contract through the existing identity reader.
Goal And Delivered Outcome
main.turn planpreview and details went from 2 to 1 Turn projection RPCs. Managed runs went from 1 to 0 legacy builds for ready work and 2 to 0 when a claim was needed.Author Declaration
Implemented against
handle_turn_command,prepare_native_taskcomplete_turn_host_sourcetests/test_native_steward_turn_host.pyScope And Continuation
Validation
017d949c02723c0b84949a1929ba762828906e5f, compared with the originalaa475b29f1976a4fde901deca84672ddb3415152and current main79068ba396d937541c5039cdde15bd7d77d4f56f.regression_paritypassedturn plan: 2 → 1 Turn projection RPCs in each case. No legacy envelope on either output.real_entrypointpassedturn run-oncecompletion through a synthetic host.real_backendpassedintegrationpassedstaticpassedcurrent_main_mergepassedcapability_automation_sourcenumber-token handling while retiring this PR'sbuild_controller_input/TurnControllerInputpath. The merged tree passed 105 Host/Native tests, 245 delegation/report tests, 200 relevant TypeScript tests, control-plane typecheck and diff hygiene.Frontend / Visual Evidence
Type of Change
LoopX Area
Shared-authority RFC fixture impact
N/A; no change to provider routing or stored authority.
Boundary Checklist