Repository navigation
Release 1.4.0: reconcile version anchors and six-Turn catalog regression - #6194
Conversation
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 reverts commit 22f0b79. 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; model=gpt-6.1-sol; provider=OpenAI; runtime_reported; reasoning_effort=xhigh
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
精确 head c91602d06ff8d13fca6815f70eb5da20008b38cd:无阻塞发现;此结论批准版本准备,未认证最终发布或长期 SQLite 资格。
动机
发布维护者和核对安装版本的用户。准备 1.4.0 时,源码、打包、手册和书籍仍标作 1.3.1;配置目录测试还期待已被主线改为六个工作 Turn 的旧五-Turn 默认。候选的两个版本源和当前手册统一为 1.4.0,旧断言与独立的六-Turn 主线规则一致。不更改新 Goal 的 SQLite 默认、不迁移已有 Goal、不调整权限,也不以版本准备替代最终发布资格。完整发布验证、发布物升级回读及个人图文指南仍待最终发布源码验证;SQLite 持续资格缺项继续保留。
改动思路
复用两个既有版本源、原生成器和已有配置目录测试,避免增加版本同步机制或再次改动已合并的存储默认。本 PR 仅交付八个文件的版本元数据与一个已有测试断言。实际调用链仍是 CLI 读取 loopx.__version__,打包器读取 project metadata,安装新鲜度和升级计划使用既有 release manifest,手册由原生成器产出。职责是版本投影,不新增存储策略、状态机或 provider IO;故障与修复继续由现有版本一致性检查及安装新鲜度归属处理。最小改动不能只改一个版本源,但也无需增加同步框架。原始 SQLite 回退已完全撤出最终 diff。
具体改动
规范依据 docs/product/release-readiness.md,固定 revision 449cd8bf51b7eeac6f00646a1ca03b37d3f4c7bc。Version metadata:implemented,两个版本源、man 和四个中英书籍锚点统一为 1.4.0,版本、手册和书籍验证覆盖。Compatibility Gate:deferred,最终 merged source 的完整 lane、发布物升级和指南回读仍待执行,PR 不发布 tag 或 stable。
关键代码讲解
loopx/__init__.py:5的__version__从 1.3.1 改为 1.4.0,未改 version 命令的 JSON 结构;现有 CLI/manifest 消费此值。pyproject.toml:7的[project].version与运行版本一致,继续由既有打包流程产生 wheel/sdist metadata;无需新版本 reader。man/loopx.1:1改生成标题;四个 book 文件只替换当前版本锚点,未改历史发布记录或操作义务。test_inspection_lists_registered_namespaces_without_local_refs将旧五-Turn 断言改为已合并规则的六-Turn,未放松命名空间、隐私或配置内容断言。原规则由既有 goal vision policy 决定,测试未从实现动态获取预期值。
对主干的风险
最大风险是版本标签一致却误把候选当作已经发布,或只改运行版本导致包 metadata 和安装判断不同步。现有版本 smoke 同时检查两个源、manifest、update plan,并用 9.9.9 错配验证必须进入 repair,而不能显示 fresh。精确整合 head 的 101 项存储/配置回归通过,涵盖默认 SQLite、显式开启/关闭、原操作重试与后续写入;36 项 cadence/default 验证补足旧断言来源。生产存储、租约、quota/调度和权限代码与 base 完全相同,不增加用户导航或干预。Ruff 的仓库正式 scope、mypy 19 个文件、TypeScript、版本/man/book/update 和 integrated risk canary 均通过;未查询 CI。宽泛 ruff check . 曾扫描无关 benchmark/deprecate 文件失败,这不是规范要求的 lint lane,不将其改称通过。
我的整体评价
long_horizon 为 preserved:此 PR 不改变后续 Turn、重启、回执或副作用路径。user_experience 为 improved:同一候选在运行、打包和文档中版本一致,现有错配修复仍有效。元数据更新和一个 durable test 的修复相称,代码量没有增长;未来边界检查确认现有 owner 足够,无需新增抽象。语义词汇未新增,default_off 与 authority 语义在此净 diff 不适用。独立的发布及 SQLite 持续资格继续保留 passed/failed/untested 区分,不能由此 review 授予发布默认资格;若最终源码或声明变化,应重验对应 lane。
English verdict: APPROVE - c91602d; coherent 1.4.0 metadata and six-Turn catalog oracle, preserving main SQLite defaults. Exact-head local version, mismatch/update, 101 focused Python, static, semantic, man/book and risk-canary checks passed. Final release and sustained SQLite qualification remain separate.
Prepare LoopX 1.4.0 from current main. This PR changes only release metadata and the catalog assertion missed when product and benchmark review cadence was unified at six settled work Turns. Both version owners, the generated manpage and bilingual book anchors agree at 1.4.0.
The final diff preserves main's new-Goal default: canonical SQLite with hard leases. Existing Goals retain their recorded route, and explicit File/SQLite provider and supported execution-policy choices remain available. The separate sustained/default qualification gaps remain visible; version preparation is not proof that those gates passed.
Shipped product groups in the planned tag range
Community Contributors
Compatibility and validation
中文产品变化
社区贡献者
发布边界
本 PR 最终只更新 1.4.0 元数据和已合并六-Turn 默认的旧断言,不改变主线存储行为。完整发布资格和最终发布物仍待验证;版本准备不等于发布完成,也不代表长期 SQLite 默认资格已齐。