chore(release): prepare LoopX 1.0.3 - #4214
Conversation
huangruiteng
left a comment
There was a problem hiding this comment.
Request changes conclusion (author-owned PR; GitHub blocks formal self-review)
结论:REQUEST_CHANGES。已审阅完整 exact head 418bdc1862b6486c17c7fc25ec8dad333c60a1cb。七处 1.0.3 版本锚点本身一致,四个 focused release smoke 也通过;但当前 main 集成仍有三项 required test job 与 merge-gate 失败,而且 PR 自己声明的三组 exact-head release qualification 仍未完成,因此这个 commit 还不能作为不可变发布候选。
动机
这个 PR 的目标是从当前产品状态切出 LoopX 1.0.3:包元数据、运行时 __version__、DevBook 与 manpage 必须指向同一版本,最终签名 commit、tag、双语 release body 和安装回读也必须闭合。版本号 diff 很小,但发布 commit 一旦打 tag,修复成本远高于普通 PR,所以“镜像一致”与“当前 main 可发布”必须同时成立。
改动思路
当前 patch 沿用已有 release owner,没有新建版本状态或发布机制:pyproject.toml 决定构建元数据,loopx.__version__ 提供运行时回读,四个 DevBook anchor 与 manpage 提供公开版本标识,现有 release/version smokes 检查它们的一致性。这个边界和体量是合适的;运行时修复不应塞进这个 immutable release commit,而应先独立进入 main,再刷新并完整资格化发布候选。
具体改动
全量 diff 仅 7 个文件、+8/-8:把 pyproject.toml、loopx/__init__.py、man/loopx.1 和四处 DevBook anchor 从 1.0.2 同步到 1.0.3。PR body 的双语产品分组、社区贡献者和 version mirrors 结构清楚,focused version/artifact/exact-commit/import-isolation smokes 与 git diff --check 均通过。
关键代码讲解
pyproject.toml:7是 wheel/sdist 的包版本;loopx/__init__.py:5是安装后运行时版本回读。两者已一致为1.0.3。man/loopx.1:1与 DevBook anchors 是公开文档镜像;现有 artifact/version contract smoke 能抓住这类一行漂移。- 当前失败不在这八行版本替换本身,而在 release commit 与当前 main 的集成:scheduler 已发出 canonical standard Base64 host facts,但现有 qualification scanner 仍只接受 URL-safe 形式。
P1:先修 current-main transport qualification,再切 1.0.3。 GitHub Actions run 34552340701 中 test-shard (1)、test-shard (2)、pytest 和 merge-gate 失败;failed log 反复出现 scheduler host facts must be bounded canonical compressed JSON,并导致 actual-default model behavior assertions 失败。PR 当前也处于 BEHIND,而 Exact-head full public suite...、install/upgrade/host...、change-quality and release-qualification receipts 三行仍未勾选。这不是可以对 release 候选忽略的“无关红灯”。
最小修复:把 #4187 最后一个 commit 中 standard/URL-safe canonical Base64 兼容修复拆成独立、窄范围 PR(不要让 1.0.3 被迫同时引入仍在复审的 Monitor transaction),保持 mixed alphabet、padding/pad bits、压缩边界、trailing stream 与 private-material negatives 全部 fail closed;该修复进入 main 后刷新本候选,再跑完并勾选全部 exact-head release gates。
对主干的风险
- 正向证据:四个 focused release smoke 与 diff check 通过,说明七处版本镜像没有漂移。
- 反向证据:真实 current-base hosted integration 明确失败;focused mirror smoke 不能替代 runtime/release qualification。
- 未验证面:full public suite、Ruff/mypy/canary、install/upgrade/host/default-model、change-quality、final release qualification/readback。
- 回滚很简单:在 gates 完成前维持 1.0.2,不发布 1.0.3 tag。
- Future-facing pass:继续保持 release commit 只含版本与公开 release anchors;scanner/runtime 修复独立合入,不需要新的发布 abstraction。
我的整体评价
版本 patch 的 scope、社区贡献者呈现和镜像一致性都做对了;阻断项是“这个 exact candidate 是否代表可发布的当前 main”,而答案目前仍是否。required checks 红且 checklist 未闭合时不能批准或合并。先独立修复 scheduler qualification、刷新本 commit、完成全部 exact-head 资格化,我再按新 head 复审。
English verdict: REQUEST_CHANGES at 418bdc1862b6486c17c7fc25ec8dad333c60a1cb. The seven 1.0.3 version anchors are consistent and four focused release smokes pass, but the current-main integration still fails both test shards, pytest, and merge-gate on canonical scheduler host-facts transport, while three declared exact-head release qualification groups remain incomplete. Land the bounded Base64 scanner compatibility fix independently, refresh the release candidate from current main, and complete every release gate before merge or tag. No merge performed.
|
State update after the exact-head review was published: #4187 merged at |
46b8048 to
131bdae
Compare
Signed-off-by: huangruiteng <huangrt01@163.com>
Signed-off-by: huangruiteng <huangrt01@163.com>
Signed-off-by: huangruiteng <huangrt01@163.com>
Signed-off-by: huangruiteng <huangrt01@163.com>
Signed-off-by: huangruiteng <huangrt01@163.com>
131bdae to
0496975
Compare
Release candidate
Prepare the immutable LoopX 1.0.3 release candidate from the latest
main.The user approved the public first-screen narrative before this commit.
Product groups
source-bound worker delegation, scoped Core inspection, verified Lark
acknowledgements and terminal-failure notices, authorized cross-Goal
reporting, and concrete findings with explicit verification limits.
lifecycle, resume, wait, successor, monitor-observation, and nonterminal
rules are single-owned in typed TypeScript transactions instead of being
re-derived in Python.
with Node.js 22.6 minimum compatibility, safer Desktop/extension upgrades,
current thin heartbeat rules on every managed wake, and restored DSH 0.1.5
GoalBar support through the separately versioned plugin.
same-read reliability projection plus receipt, bounded state hot paths, and
typed upstream terminal error preservation with stricter failure contracts.
This release makes no benchmark uplift claim.
发布分组
scoped Core inspection、飞书 verified ACK 与终态失败通知、精确授权的跨 Goal 汇报,
以及带验证边界的具体 finding。
wait、successor、monitor observation 与 nonterminal 规则由 TypeScript typed
transaction 单一负责,不再由 Python 重复推导。
更安全的 Desktop/extension 升级、每次 managed wake 加载当前 thin heartbeat rule,
以及通过独立版本 plugin 恢复 DSH 0.1.5 GoalBar。
projection + receipt、有界 state hot path、typed upstream terminal error 保真与更严格的
失败合约。本版本不宣称 benchmark uplift。
Community Contributors
reliability projection plus receipt (#3975).
(#4081).
and Chat hot paths, and safe scheduler transport
(#4088,
#4095,
#4100,
#4127,
#4139).
transport correctness (#4101).
validation (#4110,
#4112).
fresh-iteration/explicit-stop semantics, and the completed 1.0 DevBook
(#4116,
#4126,
#4131).
note updates (#4152).
(#4160).
Goal Channel runtime CLI ownership, and UTF-8 PR-review JSON reads
(#4153,
#4154,
#4161).
metadata and evidence reads
(#4158).
authority ladder coverage
(#4167).
and zero-valued monitor-generation preservation
(#4173,
#4199).
社区贡献者
projection + receipt (#3975)。
(#4081)。
安全 scheduler transport
(#4088、
#4095、
#4100、
#4127、
#4139)。
正确性 (#4101)。
(#4110、
#4112)。
explicit stop 语义与完整 1.0 DevBook
(#4116、
#4126、
#4131)。
(#4152)。
(#4160)。
Channel runtime CLI ownership,并明确以 UTF-8 读取 PR-review GitHub JSON
(#4153;
#4154;
#4161)。
metadata 与 evidence
(#4158)。
authority ladder 覆盖
(#4167)。
并保留值为 0 的 monitor-generation metadata
(#4173;
#4199)。
Version mirrors
pyproject.tomlandloopx.__version__:1.0.3v1.0.3LoopX 1.0.3Validation
The release candidate must be merged without squash after all exact-head gates
pass so the qualified signed commit remains the tag target.