Skip to content

Release LoopX 2.3.0 - #8273

Open
loopx-agent wants to merge 77 commits into
mainfrom
codex/release-2.3.0-20261107
Open

loopx-agent wants to merge 77 commits into
mainfrom
codex/release-2.3.0-20261107

Conversation

@loopx-agent

@loopx-agent loopx-agent commented Nov 7, 2026 •

Copy link
Copy Markdown
Collaborator

Goal And Delivered Outcome

Prepare LoopX 2.3.0 so operators can verify Goal acceptance using retained evidence, compare matching research results, and recover work in the original conversation. The package, command manual, Developer Book and bilingual guide use the same version.

The product source is 40bd341f7987267965144408172cfa36832a5ce7 (tree 4d6b4e5e33aaaa41fde6a7d7e6e4cfe391882175) on the frozen release cut 6b8b85754a343feadf7fc375f1106c99e3610723. The integration head is a563dbf423f59f125604ef32481250ebcf8da324 against main dee54966327e09406b3f7b17d155b03cd633b234. It retains the reviewed #8279 head by ancestry.

Author Declaration

Criterion Disposition Verification
Build and package version match Implemented Wheel and normalized source distribution, Twine metadata and checksum verification
Document activation, validation and rollback in both languages Implemented Versioned release note and contributor credits
Preserve original admission, claims and settlement across host recovery Implemented Scheduler readback repair #8277, capture and lease recovery #8279, and retained decision reads
Preserve task identity across managed Session and report recovery Implemented File and SQLite task validation, same-Turn lease and scoped no-model report probe
Publish and verify distribution Pending Exact-source release qualification, merge readiness and verified publishing

Validation

Check Result Evidence
Native admission and read-only planning Focused regressions passed Native host delivery still requires a bound Turn receipt. Isolated hosts can inspect a replan and its authoring contract. The CLI before/after comparison covered 98 pairs.
Integration and recovery 227 tests passed locally The base and reviewed claim-recovery ancestry were verified. Context narrative, selective reads, progressive recovery, and quota writeback passed across the integration.
Public interface and repository checks 19 premerge checks passed The bilingual RFC diff and public-boundary scan passed. The change-quality receipt and exact-head review are pending.
Package Candidate wheel and source distribution verified Product 40bd341f7987267965144408172cfa36832a5ce7 passed Twine, checksums, installed Chat HTTP, and rebuilt source-distribution HTTP. Full hosted validation is in progress.
Workspace commands Packaged focused browser checks passed Rapid reopen retains the first query. English and Chinese keyboard navigation, input-method composition, and the narrow viewport passed on 58b8838151621a2c884f85cc363c376b59cb5711.
Model qualification Live requalification in progress All five tool fixtures use their own registry instead of discovering host state. Their 207 offline tool, selection, and behavior tests passed.
Release promotion Pending Full candidate tests, exact-source live behavior, merge policy, and distribution verification.

Inputs are synthetic fixtures and public product material.

Frontend / Visual Evidence

The report reader uses shared panel and border tokens. These images use an isolated SQLite Goal and synthetic report material through the real Chat HTTP reader. The corrected first viewports were inspected on the packaged report reader for 69413657f1216aeda663d2df5fef3ee9d6650286 at desktop and narrow widths.

Viewport Before Corrected
1200 × 854 Original desktop report reader Corrected desktop report reader
390 × 844 Original narrow report reader Corrected narrow report reader

Quick Navigation

Before the fix, an initialization effect could clear the query after focus and leave Enter pointed at the unfiltered results. The packed frontend now initializes the dialog before it accepts input. The first viewports below use synthetic Workspace data on 58b8838151621a2c884f85cc363c376b59cb5711.

Desktop, English Narrow, Chinese
Workspace command palette on a desktop in English Workspace command palette on a narrow screen in Chinese

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
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
loopx-agent requested a review from maxliux5 as a code owner November 7, 2026 10:42
@mergify

mergify Bot commented Nov 7, 2026

Copy link
Copy Markdown

This pull request has merge conflicts with main and cannot be merged
until they are resolved. Please rebase or merge the base branch, @loopx-agent.

Choose the remote for the base repository, not an out-of-date fork.
For a fork clone, first inspect git remote -v; upstream must point
to https://github.com/loopx-project/loopx.git. If it is absent, add it
with git remote add upstream https://github.com/loopx-project/loopx.git.
Then run:

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 HEAD

For a same-repository clone whose origin points to
https://github.com/loopx-project/loopx.git, use origin instead of
upstream for fetch/rebase. If you prefer merging the base, use
git merge <base-remote>/main and push normally.

Keep the DCO Signed-off-by trailer on every commit when you rebase.
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

@mergify mergify Bot added the needs-rebase Mergify: the pull request has merge conflicts with its base branch label Nov 7, 2026
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
@mergify mergify Bot removed the needs-rebase Mergify: the pull request has merge conflicts with its base branch label Nov 7, 2026
loopx-agent and others added 19 commits November 7, 2026 19:17
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…lease-2.3.0-integration-20261107

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…lease-2.3.0-integration-20261107

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

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Co-authored-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
(cherry picked from commit bfecc92)
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, gpt-6.1-sol, OpenAI, runtime_reported, reasoning_effort=max

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

[P2] 2.3.0 拟打包源码仍过不了调度验收。 产品源码 69413657f1216aeda663d2df5fef3ee9d6650286 和集成头 5f410602ca65e2a2d4bd38998e84cbdf58cb0f49 各复现五项失败。测试以 generic_cli 读取 quota should-run 时,默认 stdout 是上下文导航。测试把它当直接 scheduler JSON 访问 should_run。#8277 显式选用 worker 的直接读取格式,保持已有预算与回执断言。 仅应用 #8277 的测试 diff 后,拟打包源码和集成头各自五种模式均通过。对照仍由真实 worker 验证预算耗尽后单次唤醒、无 Host 调用和 quota 用量相等。 候选源码 已合入的最小修复

动机 / Motivation

发布维护者和通过现有安装 owner 升级的 Goal 用户会依赖同一版源码、程序和验证记录。 发布者用 2.3.0 候选核对调度恢复。测试本应证明预算耗尽只唤醒一次,但启动前就读错了返回形状。已有安装用户还需要能从具名版本读回报告原文。 隔离安装和重点产品入口已有正例。拟打包源码仍缺失一项已合入主干的发布验证修复。 区分待审集成、拟打包源码与具名版本资格。

改动思路 / Approach

源码 cut 定义打包输入,集成头额外承接主干变更。隔离 wheel 的 CLI 与 Chat 使用既有入口。风险在发布工件与资格回执混用,或误把渐进上下文当作 worker 的直接状态。 版本准备复用现有安装、CLI、摘要校验和状态 owner。具名版本需要把源码、产物、验证和标签绑定到同一候选。 本 PR 同时准备版本元数据并指定拟打包源码。独立检查 PR 集成头和产品源码,保留发布人对标签、stable 与分发的控制。

具体改动 / Changes

基线为 7108b92337949ddcd6c59f773cc2e0ef10c185c5。具名版本要求所有规定回执绑定同一 Git commit、tree、包版本和 tag。此处据此区分集成与发布。 基线规范

  • 版本与用法一致。 隔离构建 wheel 与 sdist,安装 wheel 后实际 CLI 显示 2.3.0。manpage、Developer Book 和 13 项可选入口文档检查通过。108 条引用 PR 均追溯到候选的发布范围,76 条社区贡献归属 17 位作者。
  • 报告和结算可读。 在拟打包源码的已安装 wheel 中,经真实 Chat HTTP 打开 SQLite Goal 的成果页。桌面和窄屏均能读到长标题、状态、首段正文和审阅动作,也能在文字版下读到第九条及展开的来源摘要。 集成头重点验证通过。
  • 候选源码资格。 拟打包源码和 PR 集成头的同一调度用例各 5/5 失败。原调度验收在五种模式均于 worker 启动前因 KeyError: 'should_run' 失败。 仅应用 #8277 的测试 diff 后,拟打包源码和集成头各自五种模式均通过。对照仍由真实 worker 验证预算耗尽后单次唤醒、无 Host 调用和 quota 用量相等。
  • 具名分发验证。 实际标签与分发资格待同一源码取证。

关键代码讲解

  • _settle_requested_refresh 先解析有效 runtime root,再让结算与展示读同一 authority。测试覆盖带自定义路径的真实收尾。 结算入口
  • read_report_review 先投影原 Todo,再读绑定的报告。报告索引和 Chat 暂存记录使用共用的裸 SHA-256 格式校验。 报告读取 Chat 暂存校验
  • 报告阅读 iframe 通过已有的边框与卡片变量着色。保留原阅读和来源详情入口。 报告样式

对主干的风险 / Risks

源版本的调度失败在本 PR 的基线也复现。此处是候选发布门禁缺口。#8277 的审查头为 be5e12f01d50a3069e9c5426611fe18b0beda27f,已合入为 bfecc925d027f3888e1b14c037834aeb40257c1a。它在当前 main 的历史中,但两份待审源码均未包含该改动。当前主干 f301bfc4ea1acaf14f122e24a1696bc5dbf07ef2 与本 PR 可干净组合。 #8277

集成头重点用例 402 项通过,refresh settlement 另有 22 项通过。两个版本的原调度用例各有 5 项失败。 Quick premerge 的 6 项直接检查和 4 项选中检查通过。 作者提供的 475 项 full-public 汇总有 15 项失败。两个另取样的宿主用量用例在本地 Python 3.13 上通过,仍需作者失败用例和 Python 3.11 的同源码复验。 远端 CI 未取样。

语义与 CI 对齐

测试以 generic_cli 读取 quota should-run 时,默认 stdout 是上下文导航。测试把它当直接 scheduler JSON 访问 should_run。#8277 显式选用 worker 的直接读取格式,保持已有预算与回执断言。 将 #8277 的已验证修复纳入拟打包源码,更新 PR 中拟打标签的 commit 与 tree。处理其余发布失败后,在新版本源码重新执行 full-public、安装与升级、原生宿主等规定验证并绑定同一候选。 复验命令为 python -m pytest -q benchmark/tests/test_task_entry.py::test_real_scheduler_stops_after_one_budget_exhausted_wake。发布回执用 loopx canary release-qualification --manifest-json release-qualification.json --repo-root . 核对。

我的整体评价 / Verdict

对 5f410602ca65e2a2d4bd38998e84cbdf58cb0f49 所提的具名发布方案请求修改。集成验证与隔离安装取得的正例可以保留。新候选需明确包含 #8277,并用该源码重跑发布必检。 当前分发保持发布门禁。作者记录的其他 full-public、宿主使用证据和 Windows 缺口尚待逐项修复或取得同一候选的有效读回。

在拟打包源码的已安装 wheel 中,经真实 Chat HTTP 打开 SQLite Goal 的成果页。桌面和窄屏均能读到长标题、状态、首段正文和审阅动作,也能在文字版下读到第九条及展开的来源摘要。 独立浏览覆盖报告阅读路径。发布仍需对更新后的同一候选验证完整打包 Workspace 套件。

English verdict: REQUEST_CHANGES. The named 2.3.0 cut fails the required scheduler validation before the worker starts. The merged #8277 test change passes on both controlled checkouts. Advance the candidate and qualify that exact source before release.

…progress

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

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

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
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 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)

动机 / Motivation

升级 Windows 预览版、恢复已保存任务,或在打包 Chat 处理冲突的人需要清楚哪些路径保留签名、原回合与原结果。 旧测试会在第二个 worker 开始下一轮时拒绝已有成功。浏览器也可能在真实 409 前发现竞争回合,测试会跑成排队。 当前锁文件收敛 Windows zip 到修复版,打包回归能验证真实 409、侧栏重启、原 writer 拒绝和两个 worker 的实际成功。 本次独立结论覆盖提议的集成提交与隔离重建产品。正式发版按具名资格单独验收。 具名发行仍需原生 Windows 签名安装、实际模型与最终发布渠道的同源资格。较早的报告等待超时和前一版首轮侧栏重启中断保留为历史记录。

改动思路 / Approach

更新器按配置检查平台和签名,再安装已核验内容。测试将真实 writer、每个 worker、原回合和已完成 Lark 交付分别当作证据。 无新增生产恢复 owner 或额外批准。配套 fixture 调整让原入口的真实分支可验证,旧版本路径逐一配对。 结论绑定当前集成。正式 tag、实际用户安装、模型和公开分发由原 release owner 单独完成。

具体改动 / Changes

基线为 32167518b3c2646fd9b6a3a6e0aaf74b258a7b70。集成 7c0b45c / tree 4e5509da,产品 37b540c / tree 51b852fd。实际 stable 是产品祖先。全 81 路径比对含 72 个原来已独评、对象无变化的路径和当前 9 路径增量。

## Release Decision
#8273 (review) 基线规范

  • Source identity。 两份源相对前一轮是相同九路径增量。实际产品 manifest、版本和继承的公开前代资产均已安装读回。
  • Signed updater boundary。 Windows 目标解析到唯一 zip 9.0.5。Mac 原生签名和缓存拒绝测试、独立 feed 检查通过。Windows 安装本身属发行资格。
  • Recovery evidence。 当前轮次已从精确产品源码重新构建并安装。占用端口保留系统 errno,释放端口后恢复读取。File/SQLite 四种活动及退役状态读回,桌面签名拒绝和包内恢复路径通过。 前一产品的后台测试会拒绝一个已有成功时间、正在开始下一次扫描的 worker。相同 HTTP 时序在当前测试通过。三个 ENOSPC 旧测试的注入点不在当前 writer,修正后逐项验证命中并可读原捕获。
  • Packaged first screen。 前一版截图经当前完全一致的前端资产复验。
  • Named publication。 具名发行仍需原生 Windows 签名安装、实际模型与最终发布渠道的同源资格。较早的报告等待超时和前一版首轮侧栏重启中断保留为历史记录。

关键代码讲解

更新器依赖、签名及 main/stable 键。

tauri-plugin-updater = "~2.14.1"
# Publish only platforms with a qualified signed update artifact for the

真实失败边界分别是 metadata writer、双 worker 扫描和 POST 409。

def test_selected_read_survives_unwritable_reference_metadata(tmp_path, monkeypatch, selection):
first_execution = returns.execution_thread
if (route.request().method() !== "POST") return route.fallback();

重启按已安装包运行,长回复先判断完成再继续等待。

def _drain_app_projection(transport, predicate):

对主干的风险 / Risks

2.14.1 的 install 在进入安装与解包前校验签名,Windows 仍按原 installer 键选择。解析依赖改动不能证明真实 Windows 安装,需在当前产品补齐。当前打包的 409 场景在 POST 才引入竞争并等待精确调整回执,侧栏场景先关闭浏览器读取,再重启同包后端。GHSA-m665-v7pm-7grj

PASS。当前 79 项原生 context/worker、5 项 Lark、19 项 feed 与 13 子检查通过。Mac 原生 192 项通过、12 项 opt-in 未运行,Clippy 通过。当前 wheel 已实际重启和恢复原回合,且四组升级读回一致。 Quick premerge 的 6 项直接检查和 4 项选中检查通过。 主干更新后逐字节比较两份 patch 无差异,实际合成树 31394192。合成 quick、91 项写范围与准入 Python 用例和 50 项 TypeScript 用例通过。 保留旧 ENOSPC 测试三例失败、旧 worker 对照拒绝和前一版首次侧栏连接中断。前一版的 86+3 通过只作为旧源码基线。当前 wheel 全量独立运行在评审取样时已完成 36 个场景,完整终态另行记录。 远端 CI 未取样。

我的整体评价 / Verdict

赞同集成提交 7c0b45c。当前 9 路径增量的依赖、恢复场景和组合验证已独立核对。 具名发行仍需原生 Windows 签名安装、实际模型与最终发布渠道的同源资格。较早的报告等待超时和前一版首轮侧栏重启中断保留为历史记录。

复用前一产品轮次实际检查的桌面和窄屏报告截图。当前包的全部 30 个前端资产摘要一致,长标题、验收操作及阅读区分隔仍沿原渲染。 截图覆盖隔离合成报告的默认主题。当前发布版和真实用户工作区仍需各自读回。

English verdict: APPROVE. Approve integration 7c0b45c. The Windows updater resolves to patched zip 9.0.5, and isolated installed recovery, macOS signature rejection, and upgrade readback passed. Native Windows and named publication qualification remain open.

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 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

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

[P2] Qualify the handoff fixture's pending-delivery state before steering

当前普通覆盖两次在 5 秒内收不到 POST /steer。仅在超时后读取页面的诊断显示:steers 为空,页面因同一 Session 的旧投递未确认而保留新草稿。按钮 enabled 未覆盖此门槛。 在测试 fixture 的竞争 POST 边界区分普通提交和 queue,请求确实未获受理时保留真实的 typed 结果。用没有未确认投递的独立 Session 验证新草稿,或先通过原回执路径收口既有请求。保留 409、原 Session/Turn、消息字节和中断的断言。 当前 smoke · 现有重试门

动机 / Motivation

可见 Goal 的运行者与验证发布候选的维护者,需要保留 Turn、选择和原会话身份。 运行当前集成的 Dashboard 源码覆盖 chat-recovery。合成 409 后,新草稿已进入输入框,Send enabled,焦点与 Stop 仍指向报告的 Turn。 当前普通覆盖两次在 5 秒内收不到 POST /steer。仅在超时后读取页面的诊断显示:steers 为空,页面因同一 Session 的旧投递未确认而保留新草稿。按钮 enabled 未覆盖此门槛。 可见 Goal 未绑定只给可执行的绑定 guard,工作和结算均不获准。File/SQLite 的三个 profile 共 20 组,6 组显式选择命中指定 Todo,18 个绑定各有一条原回执,未产生扣额。1064 字节命令在 CLI、首读和 TurnEnvelope 逐字相同。generic_cli 的已领取与待选择两例一致。 当前打包安装的 chat-recovery 通过,源码覆盖仍可复现超时。 评审范围是当前提议的集成及独立重建产品,具名发行用同源全量证据单独验收。

改动思路 / Approach

宿主入口先读类型化的是否需要绑定,首读和 envelope 提供同一个原命令。若需选工作,将显式选择与绑定合并。 同一个交互 owner 投影新门,遗留字段对齐。测试强化进入原边界,但未稳定排除旧投递。 按 exact integration 审查变更,按 product cut 验证本地已安装入口。完整具名发布由原 release owner 验收。

具体改动 / Changes

基线为 94b91e48aa4a2cdafe9d4d31d918fe84d0112b41。同一目标 main 及 64 项 DCO;当前集成和产品差量的 9 处 hunks 一致。实际合成 tree dc5b0b52,含 #8279 的 b341dd8 和上一版已审内容。 基线规范

  • Source identity。 同一目标 main 及 64 项 DCO;当前集成和产品差量的 9 处 hunks 一致。实际合成 tree dc5b0b52,含 #8279 的 b341dd8 和上一版已审内容。 新 wheel 与 sdist 校验通过。
  • Original Turn admission。 可见 Goal 未绑定只给可执行的绑定 guard,工作和结算均不获准。File/SQLite 的三个 profile 共 20 组,6 组显式选择命中指定 Todo,18 个绑定各有一条原回执,未产生扣额。1064 字节命令在 CLI、首读和 TurnEnvelope 逐字相同。generic_cli 的已领取与待选择两例一致。
  • Packaged recovery evidence。 当前普通覆盖两次在 5 秒内收不到 POST /steer。仅在超时后读取页面的诊断显示:steers 为空,页面因同一 Session 的旧投递未确认而保留新草稿。按钮 enabled 未覆盖此门槛。
  • Named qualification。 修好并重复验证源码 coverage 的 409 分支后复审。当前精确产品的完整打包 86+3、正式 Windows 安装、真实宿主和具名发行资格单列。

关键代码讲解

原 profile 集合决定是否先进入绑定。首读与 envelope 保留整个命令。显式选择绑定同一回执。409 的 Send enabled 只证明可编辑,旧投递 gate 仍生效。 Quota contract · Steering fixture

对主干的风险 / Risks

当前集成复验仍观察到原源码 coverage 的间歇失败。受控 fixture 应稳定给出已确认投递边界。 Smoke review checklist

CLI 与组合预检通过。当前打包场景通过;源码覆盖复现仍阻塞。 Quick premerge 的 6 项直接检查和 4 项选中检查通过。 双语 RFC 与当前 main 组合通过。 实际 macOS 源码覆盖在前一组合有一过一超时,当前普通两次超时、加入网络观测一次通过、只在超时后读状态的两次一过一失败。打包当前产品一次通过。前一产品 37b540c 的独立 86+3 已过;作者另提供前一组合签名检查和 Linux 超时的记录。 远端 CI 未取样。

我的整体评价 / Verdict

控制面改变验证通过。请求修正 409 fixture 的 prestate,再复验整个确切恢复分支。 修好并重复验证源码 coverage 的 409 分支后复审。当前精确产品的完整打包 86+3、正式 Windows 安装、真实宿主和具名发行资格单列。

复用已独立检查的桌面和窄屏报告。新产品的 30 个当前前端资产哈希与前一产品完全一致,源码新增的两个 TS 摘要属于 quota 首读与 TurnEnvelope。 覆盖隔离 SQLite 合成报告。当前用户安装、完整发行和浏览器实测范围独立记录。

English verdict: REQUEST_CHANGES. The Turn-binding matrix passes, but the source-coverage 409 scenario can still retain an unresolved delivery and never send the replacement draft. Make the fixture's input state deterministic and rerun the exact Session and Turn checks.

await composerInput.fill("");
await page.locator(".personal-composer-send:disabled").waitFor({ state: "visible", timeout: 5_000 });
await composerInput.fill(adjustment);
await page.locator(".personal-composer-send:enabled").waitFor({ state: "visible", timeout: 5_000 });

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] Qualify the handoff fixture's pending-delivery state before steering

当前普通覆盖两次在 5 秒内收不到 POST /steer。仅在超时后读取页面的诊断显示:steers 为空,页面因同一 Session 的旧投递未确认而保留新草稿。按钮 enabled 未覆盖此门槛。

在测试 fixture 的竞争 POST 边界区分普通提交和 queue,请求确实未获受理时保留真实的 typed 结果。用没有未确认投递的独立 Session 验证新草稿,或先通过原回执路径收口既有请求。保留 409、原 Session/Turn、消息字节和中断的断言。 同一 Chromium 的源码 coverage 与已安装 wheel 各复验。先用确定的无旧请求 prestate 检查新草稿;独立反例保留未确认 queue,确认旧请求仍能原身份重试且新草稿无 POST。

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

mergify Bot commented Nov 7, 2026

Copy link
Copy Markdown

This pull request has merge conflicts with main and cannot be merged
until they are resolved. Please rebase or merge the base branch, @loopx-agent.

Choose the remote for the base repository, not an out-of-date fork.
For a fork clone, first inspect git remote -v; upstream must point
to https://github.com/loopx-project/loopx.git. If it is absent, add it
with git remote add upstream https://github.com/loopx-project/loopx.git.
Then run:

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 HEAD

For a same-repository clone whose origin points to
https://github.com/loopx-project/loopx.git, use origin instead of
upstream for fetch/rebase. If you prefer merging the base, use
git merge <base-remote>/main and push normally.

Keep the DCO Signed-off-by trailer on every commit when you rebase.
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

@mergify mergify Bot added the needs-rebase Mergify: the pull request has merge conflicts with its base branch label Nov 7, 2026
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

# Conflicts:
#	loopx/cli_commands/quota_capture.py
#	tests/control_plane/test_quota_execution_preparation.py
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
@mergify mergify Bot removed the needs-rebase Mergify: the pull request has merge conflicts with its base branch label Nov 7, 2026
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

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.

3 participants