Repository navigation
release: qualify LoopX 2.1.0 recovery, optional hosts and workspace - #7037
Conversation
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…lification-fixes-20261022 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; declaration_source=runtime_reported; reasoning_effort=max
Request changes conclusion (author-owned PR; GitHub blocks formal self-review)
动机
从 2.0.0 升级、需要继续处理原请求与委派结果的用户,以及核对发行物身份的维护者,是这份发布准备的直接读者。
原来版本仍标为 2.0.0,新增恢复和工作台行为缺少一份统一升级入口;本提案同步版本并提供中英指南,但指南把撤权后的保持挂起说得过满。
版本、手册、书籍和普通 wheel 的 2.1.0 身份已验证;当前 File、SQLite 的实际完成路径仍能在源授权撤销后提交任务完成,指南需要保留这一限制。
本 PR 是发行准备和升级说明,不授权实际发布、共享安装、迁移活跃 Goal、付费模型调用或重放未知业务效果。
完整发行资格、真实模型与平台验证、正式发布和安装后读回仍由原发布流程承担;这份指南还需先纠正撤权承诺。
改动思路
版本与发布指南沿用既有 owner,修正撤权表述即可保持这个准备切片独立可审;无需另加迁移流程或把运行时修复塞入版本同步。
本 PR 的交付边界是版本与升级指南准备,正式发布和运行时缺陷修复仍由原流程分别验收。
版本仍从 loopx.__version__ 进入 CLI 与 manpage,并与 pyproject 镜像对齐;书籍继续使用原有版本基线。新指南把安装、原请求恢复、Goal/证据、工作台和可选提供方串起来,未增加协议、迁移器、写入者或默认模型。最有力的反对理由是说明会让操作者相信一个未实现的安全性质,版本同步和绿色文档检查并不能抵消这点。
正常路径是原安装 owner 升级后分别读回 CLI 与 App,再沿原操作身份恢复。异常路径必须读回是否已产生效果;可选 package 的发现、doctor、技能刷新和图像文件均不授予启动模型、重放付费提交或发布的权限。这些已有边界值得保留,但“源撤权”要区分入场检查与最后提交窗口。
具体改动
评审完整 head b086e7ddc58ef1cebc70a4297001d0c463ffe70a,基线 54d42da44283bb414b24f71d16642c25cbcaf5dd。既有评论为空。先阅读该基线的 Named Version Contract 与发布合同,再检查全部八个改动文件及指南引用的现有 owner。
| 规范要求 | 当前结论 |
|---|---|
| Named Version Contract:包版本、pyproject、manpage、书籍同步 | implemented;CLI/手册、书籍 smoke 通过,普通非 editable wheel 在源码目录外读回包和发行元数据均为 2.1.0 |
| truthful release boundary:准确区分成功、失败、未资格和权限边界 | not_met;下述最后提交窗口与指南的无条件撤权承诺冲突 |
| 实际发布、模型和跨平台资格 | 仍由原发行流程承担,本提案的版本同步不替代这些结果 |
五个文档共 +288/-5,运行时只有版本行 +1/-1,生成手册与构建版本各 +1/-1,总计 +291/-8。新增 283 行指南逐段覆盖已存在的更新、原 source 委派、Goal、工作台、media、MemT、Ego、账号切换和轨迹分析入口;相对文档链接存在,示例取消命令与实际 CLI 帮助一致。提供方保留独立配置、许可、费用、停用与未知效果恢复条件,没有引入另一份权威状态。
关键代码讲解
__version__由 2.0.0 改为 2.1.0,与 pyproject 一致。已正常构建 wheel,并从独立安装目录通过真实 CLI 核对版本、帮助和取消入口;这验证候选包身份,不是本机共享安装升级。render_manpage仍从既有版本 owner 生成手册。提交的 manpage 只改版本头;原命令帮助目录和所有既有语义没有另建副本,原生 CLI/manpage smoke 已验证。- 恢复说明 为新增用户指令。正常授权的两个后端对照均完成并保持 Host 一次;异常窗口也必须据真实写入结果解释,不能只读最终 operation 错误。
对主干的风险
[P2] 请限定“撤权请求保持挂起”的承诺,并在中英文保留已知提交窗口。 英文 37–38 行和中文 234–237 行把权限撤销描述为仍留在原恢复门中。当前候选实际包含的委派实现仍存在 #7016 已公开的最后提交问题:在最后一次 source 检查返回后、调用原 Task 完成写入前撤去那个精确授权,真实 File 和 SQLite 两臂都会把 Task 从未完成写为完成,随后才把 operation 留为 turn_returned 并报告 source revoked。两次撤权用例失败、两次仅修改无关 receiver 策略的对照通过,Host 均只执行一次。测试使用原有 fixture Host 和真实权威后端,没有调用真实模型;这也不证明可安全重试或撤销已发生的效果。
最小修复是将指南限定为已验证的入场/worker 复核,并明确末次提交竞态和原恢复证据仍需保留;或者引用一个另行核验过的运行时修复。无需把运行时修复强行并入这个版本准备 PR。两种语言应表达同一边界,不能用最终异常反推“没有效果”。版本文档 smokes 均通过仍会漏掉这类承诺,因此这个反例是独立于文案形状的判断依据。
语义与 CI 对齐
这次复用了既有 vocabulary 和版本 owner,没有新增状态分类器、substring 规则、额度或执行 obligation;问题在新增说明扩大了现有授权保证。CLI/manpage、书籍、release-readiness 文档 wiring、正常前端与 wheel、标准 premerge 的直接检查/目录/风险/公开边界均通过。第一次私有 oracle 因测试 import 路径错误未收集,修正测试 harness 后得到上述当前头的 2 失败/2 对照通过;该导入错误未被当作产品缺陷。文档 wiring smoke 不是最终 GitHub release body 的资格回执。
按本次策略未查询、轮询或等待远端 CI。作者 PR 中记录的真实模型 19/20 仍是作者的失败观察,不能变成我的实测或 release pass。完整发行、Windows、安装后原业务接续与长期净收益仍未资格化;这些门与本次文案缺陷分别保留。
我的整体评价
REQUEST_CHANGES。版本同步与指南组织是比例适当的独立增量,现有 owner 足够,不需要新框架、确认表或迁移层。long_horizon 的运行时默认保持原样;user_experience 因无条件安全承诺与真实最后提交效果不符而有回归。修正文案、保留具体限制即可重新判断这个准备切片;没有要求它替代整个发布或委派修复任务。当前 head 的包、帮助与可选入口检查不能证明整个恢复安全性质,也不构成发布、安装或合并权限。
English verdict: REQUEST_CHANGES — b086e7ddc58ef1cebc70a4297001d0c463ffe70a. Qualify the English/Chinese revoked-authority assurance: actual File/SQLite completion still commits the Task after source removal in the final check-to-commit window, before reporting a source error. Two revocation cases fail and two unrelated-policy controls pass. Version/manpage/book, normal wheel identity and native premerge checks pass; this is release preparation, not release or installed-host qualification.
| Private Bot routing, quota failure recovery and original native-profile selection | ||
| now retain the original request and execution context. Safe continuation requires | ||
| independent evidence that the failed attempt performed no business effect. | ||
| Requests with tool effects, an uncertain result, revoked authority or a later |
There was a problem hiding this comment.
[P2] Qualify the revoked-authority guarantee in both languages. On this exact release candidate, removing the original source grant after the final source check but before real canonical Task completion still changes the Task from incomplete to complete on both File and SQLite; only afterwards does the operation report source revoked/turn_returned. The two unrelated-receiver-policy controls pass. This is the existing #7016 completion-window gap, independently rerun here, not a new runtime bug introduced by the version bump. Limit the guide to the verified prelaunch checks and retain the known final-commit/recovery limitation, or reference a separately verified fix; the release-preparation PR need not absorb that runtime repair. See the full review for the contract, scope and current validation.
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
left a comment
There was a problem hiding this comment.
Reviewer: actor_kind=model_agent; model=gpt-6.1-sol; provider=OpenAI; declaration_source=runtime_reported; reasoning_effort=max
Request changes conclusion (author-owned PR; GitHub blocks formal self-review)
REQUEST_CHANGES:一处新的P2升级恢复缺陷。 当前完整头 416bcab5f677f5b5623173bbcfeffb6d0a0911ce,不是早期8文件版本。旧撤权意见已重新核对当前真实路径;本次阻断来自MemT旧pending跨升级被绕过。
动机
从2.0升级并继续原工作、或显式使用MemT可选宿主的用户,需要保留原任务、未确认效果和可恢复的提供方状态。
旧MemT在同一个Goal实例中执行工具后导出失败,会留下pending并阻止下一轮;升级后即使沿用原operator配置与state_dir,新目录键也绕过这份pending,工具再次执行。
真实固定客户端、原生stdio工具和合成HTTP服务的对照中,旧版本拒绝继续且不再请求提供方;当前版本新增16次提供方请求并返回validated_progress,同一观察文件出现两行相同记录,旧pending字节仍未改变。
本次评审覆盖候选版本、当前运行时改动、文档与测试,不进行正式发布、共享安装、模型推理、真实GPU或跨平台资格,也不替代原发行流程。
版本与文档一致、工具进程按宿主生命周期回收、截断生成不派发工具都值得交付;但“升级后继续原工作”也必须包含已经发生却尚未核清的效果。不能把新的空目录当成已证明没有旧工作。
改动思路
Core继续独占准入、验收、回写和额度;Python facade只转出现有函数,stdio relay复用原TypeScript进程监督器,MemT只拥有提供方快照/游标与IO。
当前PR交付2.1候选身份、文档、测试修复及MemT传输/隔离修复;实际tag、发布资产、安装采用和模型效果仍由原发行owner验收。
| 场景 | 已核验行为 | 边界 |
|---|---|---|
| 当前命名空间的正常MemT/replay | 真实客户端、合成服务及stdio工具通过 | 不证明真实GPU或模型记忆收益 |
| 缺失/错误Goal实例、截断工具轮 | 当前拒绝;旧基线反例失败 | 新严格规则只作用于选中的可选host |
| EOF/取消/父进程退出 | 复用原监督器,当前工具回收测试通过 | Windows仍为尽力而为 |
| 旧alias pending,同一实例升级 | 新hash忽略旧恢复门并再次执行 | 本次P2,需在原owner补兼容 |
无改动会继续保留别名串记忆、截断工具轮和脱离宿主的工具进程等问题;复制另一套进程监督器也不必要。新的接缝与82行组合实现复用现有owner,比例可接受;问题是旧游标兼容必须接回该owner,不能用提示文字替代原来机器强制的恢复门。
具体改动
完整检查83个文件、+973/-162,包含11个生产/构建部分、19个文档部分和53个测试/示例部分。主要规范 spec_ref=packages/loopx-memt-turn/README.md、spec_revision=146161f242dc4d4efa0771709e1cdc94653058e5,先读原恢复要求;另读同一基线的docs/product/release-readiness.md和Host集成规范。新增RFC接缝说明作为待评决策,不拿它自证。
- Persistence and failure recovery — not_met:原规范要求先核对pending的确切会话与工具效果,再由operator显式选择新state_dir。当前相同配置自动换目录键,未执行该序列。
- Named Version Contract — implemented:源码、pyproject、manpage和书籍基线同步2.1;正常wheel在源码目录外读回包与发行元数据均2.1.0。正式tag/资产/稳定渠道与安装采用仍需原发行验收。
- Managed process lifetime — implemented:当前监督器/实际MCP取消与EOF测试通过,且文档保留POSIX与Windows的不同资格边界。
关键代码讲解
scope_path加入goal-instance-v1与Goal实例。新实例不导入旧记忆合理;同一实例升级时也换键,所以replay看不到原pending,产生本次P2。supervised_stdio_command是现有内核函数的公开转出接缝;所生成的TS relay只接管stdio生命周期,runHostProcess继续负责进程组、信号与drain,不解析MCP或授予工具权限。普通wheel已包含两个新增模块,并实际执行UTF-8回显和EOF回收。complete_tool_chain在每轮工具派发前要求generation_completed=true,包括continuation;截断轮不会执行自己的工具,也不会发布快照。之前真实发生的工具效果仍需恢复,不能被新的失败覆盖。_render_goal_task_body删除与原共享规则重复的结算文字。共享规则blob未变,实际CLI保留身份/effect id、当前ordered plan、flags、事实证据、未知写读回、停止与累计要求。原生硬上限仍4000;相同长路由的基线拒绝,当前CLI为3919字符,独立builder为3934字符。
fixture改动也逐项检查:补齐Goal结构与真实canonical初始化,空Todo显示保留Goal意图,重放只归一化已验证为带时区的观察时间,仍核provider revision;公开边界改为显式扫描,source fence测试观察真正先竞争的进程内锁。没有把失败改成空断言或提高宿主硬限。SHA匹配复用已有内容摘要owner,是已应用的局部简化。
对主干的风险
[P2] 更换记忆scope键时保留旧pending的恢复门。 触发条件是已有profile的旧alias状态含未完成Turn,用户沿用同一Goal实例与state_dir升级。独立用不可变基线的真实provider代码制造一次工具写入后export失败,再让旧/当前适配器处理下一合法Turn:旧端零新提供方调用并拒绝,当前端新增16次请求、工具再次写入,返回validated_progress,旧pending文件字节仍在。测试使用真实固定MemT客户端、小tokenizer、真实stdioMCP及合成HTTP回复,未运行模型。
最小修复:在采用新实例目录前检查该workspace/Goal/Agent的旧alias目录;存在未确认Turn时保持拒绝并给出原身份核对路径,或要求已完成核对后的显式状态迁移。不得自动导入未知记忆、删除pending或默默换空目录。 应增加同一Goal实例从旧alias pending升级的回归,并保留新实例隔离控制。当前225项相关测试虽通过,都没有覆盖这个跨版本持久状态输入。初次私有oracle把MCP包装的异常误按单个RuntimeError捕获,原失败已保留;只修正观察器异常类型后才得到上述业务效果反例。
当前额外验证:225项可选provider/driver测试、20项TS进程测试、34项真实File/SQLite源授权测试、类型检查及正常Chat/wheel构建通过;207个LoopX模块均从普通wheel加载,未逃回源码。新实例/缺失实例/截断/硬退出的同一组新测试在不可变旧实现上9项失败,两个原有隔离控制通过,说明新增防护确实被执行;硬退出基线观察是cleanup不完整,未冒称已经录到迟到写入。
早期b086审阅指出的撤权问题没有直接继承为当前缺陷。当前原source fence和真实委派测试已包含完成与撤权的序列化,34项重验通过,相关owner与当前base同blob;这不等于任意绕过owner的原始文件写都能得到相同保护。
语义与 CI 对齐
当前标准预检6项direct、10项catalog、8项risk和公开边界检查通过,零人工门。26个变更Python模块的额外整组测试已完成,870项通过;完整发行、作者19/20真实模型失败记录及Windows/安装验收保持独立。未查询、轮询或等待远端CI,未发起付费或真实模型调用。
新词只在提供方目录键与公开host接缝;Core的GoalRef、候选、准入、claim/lease与额度语义复用原定义。可选MemT默认仍关闭,doctor/client/package存在不会激活它,普通宿主不切换。声明“旧pending另行核对”是指导,原replay阻止下一轮则是机器义务;本次不能把后者降为前者。
我的整体评价
REQUEST_CHANGES。 当前交付判断not_yet_proven;长程接续与用户升级体验在旧pending输入下均有regression,因为真实效果可重复,缺少原来明确的停止/恢复边界。版本准备、stdio修复和fixture清理有价值,现有owner也足够;补上旧状态接续后再判断整项提案,无需新框架或另建记忆账本。
原Goal/已有工具权限、配额和正式发布门均不因此扩大。通过构建、收据或本地测试不证明安装采用或模型长期收益;也不能靠保留旧文件而声称恢复已经被采用。
English verdict: REQUEST_CHANGES — 416bcab. The new MemT scope hash bypasses an existing alias-scoped pending Turn during a same-Goal-lifetime upgrade. With the same operator state_dir and exact GoalRef, the legacy adapter refuses before IO while this head makes16newprovidercalls and repeats the real fixture tool effect, leaving old pending bytes untouched. Preserve legacy reconciliation before selecting the new namespace. Current225provider/driver,20TS,34source-authority tests and standard premerge pass; 870 additional changed-module tests pass; actual release/live/installed qualifications remain separate.
|
|
||
| def scope_path(config: Config, identity: dict) -> Path: | ||
| scope = digest([str(Path(config.workspace).resolve()), identity["GOAL_ID"], identity["AGENT_ID"]]) | ||
| scope = digest(["goal-instance-v1", str(Path(config.workspace).resolve()), |
There was a problem hiding this comment.
同一 Goal 实例沿用原 operator 配置升级时,这个新 hash 会把已有 alias 目录里的 pending_turn 变成“新目录不存在”,使 replay 不再执行旧的未知效果门。实测旧适配器先执行一次真实 stdio 工具后在 export 失败;它随后拒绝下一轮,但当前头以相同 GoalRef/state_dir 又发出16次提供方请求并再次执行工具,旧 pending 仍原样存在。新增的“新实例隔离”测试不覆盖同一实例升级。请在采用新目录前检查旧 scope 的 pending/未完成 receipt,并保持原身份核对门或要求核对后的显式迁移;README 提醒单独核对不能替代这个原先强制的门。
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
loopx-agent
left a comment
There was a problem hiding this comment.
Request changes conclusion (author-owned PR; GitHub blocks formal self-review)
Reviewer: model_agent · gpt-6.1-sol · OpenAI · runtime_reported · reasoning_effort=max
[P2] 升级后绕过旧目录的未决效果,可重复实际工具写入。 当前头 24da5911d91f6ca33cd2b84b0b6f8b7f5d959362 的 scope_path 改用新目录,执行前只在新目录查 head/receipt。已用真实 CLI、固定 MemT 客户端、实际 MCP 写入复现:旧版执行一次写入后导出失败;旧版后续请求拒绝且0次 provider 请求;同配置、同 Goal 生命周期切换当前头后却成功执行,新增16次请求,并写出第二条相同内容,旧 pending 文件逐字节未变。在连接 provider 或派发工具之前,检查旧 alias scope 的 head/receipts,并在同一状态互斥边界中拒绝未核对或无法归属的旧效果。保留旧资料,由明确核对/迁移决策选择后续新 scope;不自动导入不同生命周期记忆,也不删除旧 pending。回归测试须覆盖真实旧版状态到新版正常入口,而不只覆盖两个已经采用新格式的实例。
动机
从2.0继续原有 Goal 的操作者,以及显式选择 MemT Nano 宿主的使用者。既有 Turn 已通过工具写入内容,却在导出记忆时失败;原版本会要求核对这次效果。升级后,同一配置和同一 Goal 生命周期被映射到新目录,当前代码把它当成没有历史的新工作,再次执行相同工具。已独立复现旧版重试零次 provider 请求、当前头新增16次请求并再次写入,旧 pending 仍完整保留。新增生命周期隔离有价值,但这条升级路径尚未满足不重复未知效果的原约束。本轮审查是2.1候选与其实际代码的完整提案审查,不授予发 tag、提升 stable、安装、付费模型、合并或最终发布验收。必须先为既有 alias 目录提供机器强制的核对/迁移边界,再接续同一 Goal;真实 GPU、Windows 严格回收、App/飞书和比较收益仍未取得本轮独立资格。
2.1候选把恢复、工作台和可选宿主说明汇成可用升级路径,这个目标本身有价值。对长期工作的关键要求是:之前的效果和不确定性不能因安装包变更、游标换名或一次候选返回成功而消失。这个问题与“两个不同 Goal 生命周期不能互相导入记忆”并不冲突;新生命周期应隔离,但同一工作升级时仍要判断旧效果。当前文档要求单独核对旧目录,却没有在真实入口中保留机器阻止继续执行的条件,因此不能把文档提醒、现有测试通过或新的目录哈希当作兼容升级已经安全的证据。
改动思路
公开宿主接缝转发既有内核 owner,stdio relay 复用 TypeScript 进程监督,位置合理;需要修复的是已有私有状态的升级承接,不能用一条 README 提醒代替执行前守卫。本 PR 可以保留版本与恢复说明、公开转发接缝、工具生成完整性和监督修复;当前交付边界须包含旧目录未决效果的 fail-closed 承接,最终发布与真实模型收益继续由原发布/验收所有者负责。
38行公开 facade 只转出已有候选、GoalRef 和结果校验;44行 stdio relay 把 SDK 脱离的工具进程交回原 TypeScript 监督器,保持 Python 为客户端/传输层。这比复制进程回收或再建一个验收 owner 合理。工具生成不完整时先拒绝再派发也直接保护真实效果。现有 Ark/JEV 私有 import 仍是旧迁移债,新增两条受支持公开边不等于任意 package 可以导入内核私有规则。
需要补的不是完整自动记忆迁移框架,而是旧状态的可见性与拒绝边界。正常 Agent 可以根据已有配置准备核对原 head、receipt 和工具结果;没有证据时不能替操作者断言旧效果不存在。也不需要为新实例隔离额外增加一轮通用确认:只有旧未决效果的实际核对决定是必要的。目录哈希应保持派生身份,效果是否已核对则须来自原恢复证据,不能由新目录为空推断。
具体改动
按修改前的 packages/loopx-memt-turn/README.md,固定规格版本 146161f242dc4d4efa0771709e1cdc94653058e5 逐项判断。Prerequisites and licensing 的显式可选安装、Nano/client/tokenizer 条件及默认不改变 Codex/Claude 已保留;Configure and select 的外部 operator 配置、精确工具选择和范围输入不等于授权已覆盖;Persistence and failure recovery 要求 pending/running 阻止继续,直到核对效果,当前旧格式升级反例不满足。这是原有持久化承诺,不能用此次新增的“不自动导入旧目录”条款反过来取消。另已读同版本 release-readiness、host integration 及 bilingual distribution RFC 的原接受边界。
关键代码讲解
scope_path将旧[workspace, Goal, Agent]改成含goal-instance-v1和 exact instance 的哈希。这个键修正跨实例混用,但丢掉了读取旧目录的唯一入口,replay因而看不到本应阻止执行的旧 pending。run验证 enabled 和请求身份后,仅锁定新 head,再调用 execute。旧 head、receipt 和配置未变并不能阻止它开新会话。最小修复应在任何 provider/MCP IO 前、同一互斥边界中查清旧状态,而不是在模型执行之后再提醒核对。supervised_stdio_command返回既有 Node runtime 加桥接脚本;tools.connect使用它启动实际 MCP。桥接保留合法 UTF-8 分段输入、EOF/信号取消和原监督器清理,不解释 MCP 权限,也不是 OS 沙箱。POSIX 回收案例有实际工具写入屏障;Windows 仍是尽力而为。- 核心 visible-Goal task body 只移除重复结算文字。生产 builder 的完整同路线对照:旧4118字符被原4000硬界限拒绝,新3934字符接受;共享 quota 规则完全相同,其他渲染字节相同。命令 flags、真实证据、精确身份/效果、不可用合同停机和模糊写入先恢复的义务均保留,没有用预算通过代替语义核对。
对主干的风险
本次重新审查完整84个文件、+1005/-163,而不是继承上一头的结论或测试数量。相对上一评审头 416bcab5f677f5b5623173bbcfeffb6d0a0911ce,当前只再变三个路径:中英发布说明准确保留最后 source 复核与 Task 完成并非原子事务的限制,补充未提升 authority 的规划用例,并更新共享结算措辞断言。这些修复成立,但 MemT 文件未变,旧 pending 阻断问题仍须独立解决。旧撤权审查保留为历史边界,本轮不宣称 runtime 原子问题已经修好。
已运行41项可选包 CPU 测试和20项 TypeScript 进程测试,均通过;包括实际固定客户端/小 tokenizer/合成 HTTP、真实 MCP、截断首轮和续轮、超时、取消及硬父进程退出后不再写入。独立升级反例使用真正旧版 CLI 产生 pending,不手工造出成功或失败状态,也没有模型推理。disabled 配置的正常 CLI 与 doctor 完整输出在 base/head 逐字节相同,指向已关闭的合成服务仍不发网络请求;安装、发现、doctor 或 facade import 不会启用记忆。
修改模块的大批 Python 运行保留875通过、11失败的原始结果:当时私有测试脚本把 pytest 根目录放在 .local,显式公开扫描按设计先拒绝这些私有路径。仅把合成 fixture 根移到普通临时目录后,同11个测试 ID 全部通过,未改源码、断言或扫描策略;不把首次运行改写成全绿。当前头类型检查通过,标准 premerge 六项直接和19项选中检查全部通过,涵盖 bilingual、语义 advisory 与公共边界。这些正向证据不能推翻实际重复效果。未查询远程 CI,也未把作者的 fresh-install、升级、实际模型 portfolio 声明算作本轮独立执行。
语义与 CI 对齐
新的 exact GoalRef 是既有类型 owner 的复用,goal-instance-v1 是本地派生目录,不是新 Goal 权限。现格式中坏身份、未知游标和截断生成仍严格拒绝,旧格式缺失却被误判为空历史,是明确的状态假阴性。核心指导、技能可达引用、digest 单一 owner 和 fixture 变更已完整查看;去掉临时观察时间的比较仍验证类型化时间且保留其他状态/修订,不是忽略权威变化。发布文档逐项保留媒体、MemT、Ego、账号切换和轨迹分析的启用、验证、停止/恢复与权限边界;候选正文和源码测试不等于已发布产物、个人飞书原生所有权或真实模型收益资格。
我的整体评价
整体机制位置和代码量有依据:薄 facade、复用监督器、完整生成守卫和重复指令压缩都能在原 owner 内交付,不需要为了收敛这个问题扩大重构,也不因84个路径本身拒绝。但当前同一生命周期的升级会释放未核对的工具效果,是长期续作与用户恢复体验的实际退步,故当前头结论为请求修改。现有新格式测试再多,也不能证明旧持久化承诺已承接。
修复以旧目录效果在 IO 前 fail-closed 为止,保留不同新实例的隔离和已完成现格式重放;之后用同一真实跨版本反例及相关进程/候选测试再评估。真实 GPU、严格 Windows 回收、App/飞书、长程完整成本与净收益仍按原范围待验,不新增无关前置条件。本轮没有合并、安装、发版、撤销评审或处理讨论线程。
English verdict: REQUEST_CHANGES. The real legacy-to-current CLI probe bypasses an unresolved alias-scoped effect within the same Goal lifetime: the old retry makes zero provider calls; the reviewed head makes16 and repeats the actual MCP write while preserving the old pending record. Add a pre-IO, mutually exclusive legacy-state reconciliation gate without importing memory across lifetimes or deleting evidence. The supported facade, process supervision and prompt deduplication fit existing owners, but passing current-format tests and premerge do not establish safe upgrade recovery.
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
left a comment
There was a problem hiding this comment.
Reviewer: actor_kind=model_agent; model=gpt-6.1-sol; provider=OpenAI; declaration_source=runtime_reported; reasoning_effort=max
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
动机
显式使用 MemT 可选宿主并升级现有工作的操作者,需要保留已经发生却尚未核清的工具效果;维护者还需准确核对2.1候选的版本与恢复边界。
旧适配器的工具已经写入、随后导出记忆失败时,原来会阻止继续;此前候选换了状态目录键,却让同一工作再次调用工具。当前升级入口会先核对旧目录并保持拒绝。
同一真实旧版本 CLI 反例在此前候选新增16次请求并重复写入,当前头为零新增请求、仅原始一行产物、旧回执字节不变;显式核对后的新状态目录也已沿真实 CLI 恢复进展。
这是候选代码与升级恢复准备的独立审查,不是正式发布、共享安装、真实模型推理、GPU或全平台验收,也不声明比较收益。
完整八项发行资格、真实模型与平台验收、最终发布及安装后采用仍由现有发布流程承担;MemT仍是显式 CLI/provider 前置层,App/飞书与真实GPU旅程尚未交付。
改动思路
Core继续独占准入、验收、回写和额度;Python facade转出现有函数,stdio relay复用原TypeScript进程监督器,MemT只管理提供方IO、快照与私有回执。
本PR交付2.1候选身份、指南、原有夹具修复与可选宿主恢复保护;实际tag、发布资产、稳定渠道和安装采用仍由原发布owner验收。
当前完整头 a65c71f789459c12b68d6feeec233fbb99f65c91,相对主干基线 146161f242dc4d4efa0771709e1cdc94653058e5 为99文件、+1213/-203。没有沿用最早8文件发布准备或前一候选的评审结论。先读原合同,再按不可变blob逐项复核;前一轮已读源码中,当前未变部分复用分析,全部新增/变化路径重新检查。最新修复在同一私有状态owner增加旧游标拒绝条件,没有另建迁移系统或验收owner。
| 触发状态 | 旧/此前候选 | 当前头 |
|---|---|---|
| 真实旧CLI写工具后export失败 | 原旧CLI阻止继续;此前30f5候选却新增16次请求并重复写入 | 在provider/MCP前拒绝,0次新请求,一行原产物 |
| 新Goal实例但同一旧alias有未知效果 | 换键会绕过 | 仍拒绝;旧记录无法归属生命周期 |
| 无关Goal或已完成旧记录 | 不能据另一scope推断权限 | 无关Goal可继续;已完成alias不导入、不误阻 |
| 核对原效果后显式选择新state_dir | 原恢复合同要求操作者决定 | 真实CLI恢复进展,旧证据保留、原工具不重放 |
上表是实际CLI观察的摘要;工具与HTTP回复使用合成数据,客户端、tokenizer、stdio MCP、文件效果和进程都是真实执行。安全恢复需要核对未知效果,是原合同已有的必要决定;普通已授权工作没有新增确认轮次。自动猜测“已经核清”或删除旧文件都不是更小的合法实现。
具体改动
主要原始规格 spec_ref=packages/loopx-memt-turn/README.md,spec_revision=146161f242dc4d4efa0771709e1cdc94653058e5。另先读同基线的 release-readiness 与Host集成合同;本PR改写的RFC只用于评估接缝决策,不能自证原接受要求。
- Persistence and failure recovery — implemented:旧running/pending、孤立回执与不可读状态在IO前停止;真实跨版本反例和明确恢复路径已通过,证据未删除。
- Configure and select — implemented:外部operator配置、显式generic-cli与精确工具选择仍是入口;签名scope输入不是认证,候选仍需独立validator。
- Validation boundary — implemented:CPU/client/stdio和真实恢复证据有用,但指南保留GPU、App/飞书、Windows与比较收益未资格化。
- Named Version Contract 的候选包/源码/manpage/书籍身份已对齐;最终tag、八项发行资格、稳定渠道、个人发布文档与安装后读回继续由原发行流程验收,不以本评审代替。
关键代码讲解
run先校验enabled和原exact GoalRef,再持有旧alias游标锁,检查旧记录,随后持有新实例锁并执行。旧锁持续覆盖整个IO窗口,避免旧worker在预检后又制造未知效果。原锁实现与基线逐blob一致。require_legacy_reconciled复用原read_state与结构化stage/pending字段。它不把“新目录为空”当作“原效果不存在”,也不自动导入alias记忆;完成的旧记录经对照不会误阻新实例。supervised_stdio_command返回现有Node监督入口与薄relay。候选构建/校验与进程清理继续由原owner负责;UTF-8分段、EOF、取消和硬父进程退出覆盖已核验,Windows仍按已有尽力而为边界。execute_turn_run_once接收本Turn实际已派发的required-read上下文,传入既有启动判断,修正从缺失payload字段取值的旧路径,不扩大source权限。_render_goal_task_body复用共享规则和既有薄语言策略。完整长路由CLI对照从原4000上限拒绝变为3613字符接受,源Goal/registry不变;当前与该实测头的task body/共享规则blob一致。逐条保留actor、顺序、精确身份/effect、flags、真实证据、未知写读回、累计要求、继续与终止条件;长度通过不被当作模型理解或收益证据。
对主干的风险
先前的P2旧状态绕过已在当前头独立证实修复。最强反例仍是“工具已生效、导出失败、升级换键”:原生CLI旧producer实际生成的pending在此前候选重复写入;同一观察器在当前源码和正常wheel入口均拒绝,不是手工填一份成功fixture。另实测更换Goal实例不能逃门,无关Goal不受误阻;沿原owner核对效果后显式新state_dir能恢复真实进展,旧JSON仍逐字节一致。现有完成旧记录、缺失游标、重放、配置冲突和截断/续轮仍有反方向控制。
当前48项MemT CPU/client/stdio测试通过,标准premerge6项direct及19项选中检查通过,零manual hold。当前头另有26项真实启动准入/同Turn inbox上下文与25项prompt策略检查通过,包含File/SQLite正常及晚到新材料拒绝。补充的37个改动Python模块整组运行在后续heartbeat打断时未取得完成收据,原进程均已退出;它保持未完成,不计为通过,也不推测产品失败。当前必要风险矩阵已分别完成。20项TypeScript进程测试在本轮早一头执行通过,其生产/测试blob与当前完全相同,保留实测修订而不重新冠名。正常core与adapter wheel已构建并装入隔离target:core版本与distribution均2.1.0,207个模块和TS资源全部来自wheel;实际UTF-8/EOF与跨版本CLI恢复均在该边界检查。第一次wheel预检因本地生成Chat bundle过期而拒绝;重建原bundle后原构建通过,没有改源码或降低校验。私有CLI观察器最初把SDK包装异常限定为单一类型,保留该失败后只修正观察器,才得到可比较的真实效果结果。
可选功能关闭时,旧/当前正常CLI和doctor的完整输出相同,provider请求为零;包、facade或client可用不会启用它。共享native Goal文案、启动上下文和媒体UTF-8属于明确的普通路径修正,并非声称都被MemT开关隔离。正常prompt的权限/结算义务按完整文本比较,未提高3200夹具或4000宿主限制。当前完整候选正文按五项可选surface的双语启用、验证、停用/恢复与权限合同验证通过;此结果不是最终GitHub发布体或个人文档的远端读回。
语义与 CI 对齐
GoalRef与Turn/result/state owner复用原词汇;goal-instance-v1和旧状态拒绝码留在provider私有目录/诊断范围,不新增共享权限生命周期。记忆仍是建议;旧未知效果拒绝和生成完整后才派发工具是机器义务,不能改称可忽略指导。thin指令删除重复而保留当前contract、flags、真实结果、暂停/继续与终止条件;非用户的scheduled/quoted/tool/peer内容不成为授权。配对RFC、语义advisory和公开边界均通过。按当前策略未查询、轮询或等待远端CI。
发布说明已准确保留最后source复核与Task完成不是原子事务的已知限制;本轮不宣称那项运行时竞态已修复。作者的真实模型失败、旧完整测试失败与其八项发行资格仍分别保留;不将作者声明算作本轮实测,也不追认旧head通过。
我的整体评价
APPROVE,交付判断 justified_increment。 long_horizon 为 preserved:原未知效果、重放与后续恢复边界现在得到真实跨版本承接,但不主张长期比较收益。user_experience 为 improved:同一升级不再重复工具效果,错误可沿原证据恢复,普通已授权工作没有额外确认;不确定效果的原operator决定仍必要。
完整机制与99文件范围相称:薄接缝、现有监督器、结构化私有兼容守卫、真实canonical夹具与候选说明有明确调用者。代码量necessary;compatibility assessment为retain,因为独立旧适配器与持久回执确实跨越升级。已应用read_state/digest/锁与typed owner复用;再加通用迁移、重复验收或推测性抽象没有本次收益。最终发行和完整可选产品旅程留在原owner,本评审不提供合并、撤销旧评审、安装或发版权限。
English verdict: APPROVE — a65c71f. The same real legacy-CLI counterexample now stops before any provider/MCP IO, preserves the single original tool effect and all old evidence, and cannot be bypassed by a new Goal instance. Unrelated scopes, completed legacy state and explicit operator recovery remain usable. Current provider tests, native premerge and ordinary-wheel checks pass. This approves a justified candidate/recovery increment, not final release, installed-host, GPU/Windows/App/Lark or comparative-outcome qualification.
Release candidate and qualification fixes
PR scope: the 2.1.0 release candidate plus MemT Goal-lifetime/truncation/tool-lifetime repairs, public Turn-host integration, native prompt deduplication and current typed/canonical regression fixtures. This PR does not claim automatic completion of historical Bot work or qualification of the full community/steward packs.
Earlier review finding: the source-revocation/Task-completion race is explicitly disclosed in both languages; no atomic-revocation runtime fix is claimed.
LoopX v2.1.0
At a Glance
Illustrated release guide: 个人飞书图解指南 (existing document access applies). The versioned public guide covers the same upgrade and capability boundaries without a Feishu account.
Recover work through its original conversation, keep Goal evidence visible, and produce content through explicitly selected providers. An acknowledgement or completed Todo still does not prove that the original requester received a result.
Upgrade
Keep the existing installation owner. New users can install
loopx==2.1.0from PyPI; see Install / Update below. CLI and native App versions are separate readbacks.Highlights
Cmd+K/Ctrl+K) to find Goals, tasks and previews. Opening an item navigates without executing it. #6996.Replan Fixes
Contributors
@cuipengcx90 — Pi session identity #5678; @mikamikasuki — stopped-Goal, timestamp, UTF-8 and plugin recovery #6000, #6078, #6082, #6140; @hhyykk — history, source/read performance, recovery coverage and MemT #5951, #6496, #6939, #6984, #6995, #7003, #7028; @JasonBuildAI — truncated-state refusal and Codex module ownership #6921, #7000; @Twiink — shared public-safe/time shapes #6922, #6923; @Zhouyang66639 — shared traversal and identifier rules #6969, #6970; @songoow — scheduler/Host admission and evidence-preserving research #6883, #6884, #6885, #6889, #6901, #6946; @steven-kid — keyboard navigation #6996.
Release Decision
Who should upgrade: Operators using Bots, delegation, native Goals, the workspace or desktop preview. Read-only historical installations can use their normal maintenance window.
What this release solves: Lost native execution context, unsafe recovery assumptions, incomplete visible handoffs, navigation friction and missing optional content-production paths.
Breaking changes: No. There is no additional persisted-state migration from 2.0.0. Its canonical-authority cutoff remains: unpromoted Markdown Goals and retired legacy ownership require the reviewed migration. Optional providers remain explicit and disabled until configured.
How to verify: Expect
loopx 2.1.0, a successful installation doctor and the original Goal/request readback. A running process or receipt alone is insufficient to prove business recovery.Contributors: Maintained by @huangruiteng, with @cuipengcx90, @mikamikasuki, @hhyykk, @JasonBuildAI, @Twiink, @Zhouyang66639, @songoow and @steven-kid; concrete contributions appear above and below.
State Kernel & Control Plane
Bot recovery preserves original native profiles, verified text-only rich posts and source-bound handoffs. Busy lanes are visible before dispatch, and the steward work surface exposes unfinished incoming/outgoing requests. Read, adoption, execution and final return remain separate. #6934, #6941, #7015, #7018, #7019.
Native account handoff exposes quota observation, optional switching, restart and force quit. Force quit targets the verified dedicated GPT client after normal quit fails; unrelated owners continue to block switching. Unknown quota is not exhaustion. #7008.
Known limitation: worker source checks are not atomic with final Task completion. Revocation after the last check can still allow a Task commit before the operation reports revocation. Preserve Task/operation/Host evidence; an authorization error does not establish absence of effects or safe replay. #7016, independent race review.
Capabilities & Workflows
Goal requirements and evidence survive individual Todo completion; objective revision and Agent adoption remain separate decisions. The workbench exposes this state and keyboard navigation without granting execution authority. #6784, #6987, #6996, #7023.
Content artifacts connect Agent-authored composition, local rendering, verified downloads and explicit cloud intents. Full-frame composition retains the complete picture and a source strip. Provider installation, credentials, paid submission and publication remain separate opt-ins. #6876, #6979.
Quality & Testing
Release qualification checks the real packaged seams, native Goal prompt budget, canonical provider fixtures, tool subprocess supervision, truncation and exact Goal lifetimes. The native prompt removes duplicate settlement prose while retaining the unchanged host limit and ambiguity stops. #6927, #6943, #6948, #7037.
Exact candidate
a65c71f789459c12b68d6feeec233fbb99f65c91is under fresh qualification. Earlier full-suite failures remain recorded. A subsequent independent review exposed an optional MemT upgrade bypass: after a real legacy CLI tool write and export failure, the old retry made zero provider calls while the prior candidate made 16 and repeated the write. The current provider checks old pending/unfinished/orphaned state under the legacy cursor lock before any provider or MCP IO, holds that lock through execution, and preserves the evidence without importing alias memory. The same real legacy-CLI counterexample now refuses with zero new provider calls and one original tool line; all 45 focused cases pass. Same-Turn inbox context, unchanged 3,200/4,000 prompt limits, UTF-8 and canonical fixture repairs remain included. All eight required checks are being rerun on this exact clean head; older-head passes are historical. No tag, public release or stable promotion has occurred.The optional Nano workflow has CPU/client/stdio regression coverage; real GPU inference, App/Lark integration, Windows strict tool-tree cleanup and outcome/cost benefit remain unqualified. The separate public intake evaluation on an operator-selected DeepSeek Flash/high profile passed 38/56 attempts and failed 18/56, including envelope/parse and routing failures. That profile is not qualified as a Bot default; no production model switch is implied. Full community/steward golden packs remain unqualified. No benchmark or long-horizon improvement is claimed, so an expensive matched outcome baseline was not required.
Benchmarks & Integrations
Research history retains episodes, source citations and quantitative results independently of model judgment. Explicit source/account selection and the original analysis directory own execution, status and cancellation. #6961, #6966, #6968, #7011.
The MemT package supplies a separately selected Nano CLI/provider prerequisite through the public Turn-host seam. It does not install upstream code/weights, grant tools or add native memory to another model. Upstream client/inference code is PolyForm Noncommercial 1.0.0; weights have separate terms. Review licensing before installation or commercial use. #7028, #7037.
Documentation & Compatibility
Versioned upgrade, provider lifecycle and RFC status documentation distinguish accepted design from installed or independently accepted results. Ego skill refresh permits one recorded replacement only after successful inventory confirms a known Agent-owned space is absent; login, human intervention and uncertain-effect stops remain. Desktop preview startup/update errors and owned-service cleanup are clearer. #7034, #7037, #7024, #7029.
No new persisted-state migration is introduced relative to 2.0.0. Follow the 2.0 migration boundary for older authority. This release does not silently promote a Markdown Goal or authorize a second writer.
Community Contributors
The eight contributors and their concrete PRs are listed in At a Glance → Contributors. Attribution was verified against the
v2.0.0to release-source Git range and merged PR metadata; it excludes automated dependency authors and maintainer/bot accounts. No first-time-contributor claim is made.Optional Capability Activation & Use
Content media
Activation: From a checkout of
v2.1.0, install the separate provider and register its manifest. Existing providers require an explicit package upgrade andloopx extension upgrade --manifest packages/loopx-media/extension.toml --execute.Validation: Run provider doctor, inspect the admitted composition and verify the original render/download result. Doctor alone does not prove generation.
Disable / rollback: Disable new work with the command below; retain existing operation IDs. Remove
framingin a new composition revision to restore editorial framing. Observation stop is not remote cancellation.Authority boundary: Local render, optional Blender and paid Ark submission have separate prerequisites. Cloud submission requires credential/cost/upload review; ambiguous submissions must not be repeated. Artifacts grant no acceptance or publication permission.
Docs: Versioned provider guide.
MemT Nano Turn host
Activation: Install the separate package and reviewed upstream client; provision Nano independently. Set
enabled=trueonly in an operator-owned profile outside the task workspace, and explicitly selectloopx-memt-turnfor an admittedgeneric-cliTurn with an independent validator.Validation: The command below is local preflight only; it reports network/inference as unchecked. Real GPU and memory quality remain unqualified.
Disable / rollback: Set
enabled=false, remove the explicit host selection and restore the previous host. Uninstalling the adapter does not stop the external server or delete snapshots.Authority boundary: Memory is advisory, scoped to workspace/Goal lifetime/Agent; current authority and evidence still come from LoopX. MCP scope inputs are not authentication. Unknown effects require reconciliation; no automatic replay. Upstream Noncommercial client/inference and separate weight terms apply.
Docs: Versioned Nano install, licensing and recovery.
Ego browser continuation and optional source reader
Activation: Refresh normal workflow skills for an already installed Ego skill. The source reader separately needs an explicit entry in the actual host's MCP configuration; skill refresh does not enable it.
Validation: Inspect the
ego_browserrefresh/readback result. A replacement needs successful complete inventory, known identity and a recorded attempt; unknown cause stays unknown.Disable / rollback: Remove the optional reader's MCP entry and reload an idle host.
loopx workflow-skills --uninstallrestores an unchanged managed Ego copy to the current upstream link while preserving custom edits; it also removes other unchanged LoopX workflow skills.Authority boundary: No Ego installation, login, takeover, publishing, source-scope expansion or unknown-effect replay is granted. Human control and refused claims remain stops.
Docs: Versioned lifecycle and origin configuration.
Native Codex account handoff
Activation: In Workspace settings → Native Codex accounts, inspect accounts and observed quotas. Explicitly enable automatic switching and, separately, client restart/force quit when wanted.
Validation: Use Check quota and inspect the account/status readback; unknown reads are not exhaustion. Read the running service's identity independently.
Disable / rollback: Turn off Switch automatically when quota runs out; restart and force-quit options can be disabled independently. Retain existing manual account/model selection.
Authority boundary: Force quit targets only the verified dedicated GPT client after normal quit fails. Other CLI/file owners block switching. No credit purchase, reset coupon or submitted-business replay is granted.
Docs: Versioned workspace/account guide.
Research trajectory analysis
Activation: Inspect an authorized source pack and the selected host/account; the command below previews. Add
--executeonly after reviewing source, model and cost consequences.Validation: Read status from the original analysis directory and inspect evidence coverage, citations and result boundaries.
Disable / rollback: Leave the preview unexecuted or cancel the original active analysis directory. A failed/uncertain attempt requires original-result readback before explicit retry.
Authority boundary: History/status reads remain model-free. Analysis does not widen source grants, silently switch identity or establish outcome improvement.
Docs: Versioned assessment guide.
Install / Update
Python 3.11+ and Node.js 22.22.3+ are required; Node 24 LTS is recommended.
python3 -m pip install --upgrade 'loopx==2.1.0' loopx workflow-skills --install loopx --version loopx doctor --deepRestart the Agent host after first installing skills. Existing pipx, uv-tool and archive users should keep their installation owner and inspect
loopx update checkandloopx update planbeforeloopx update apply. Desktop preview assets and signed-updater artifacts have separate identities. Package checksums and GitHub attestations are acquisition evidence, not a vulnerability-free claim.中文摘要
图解指南: 个人飞书发布指南沿用当前文档访问权限;无需飞书账号可读公开版本指南。
升级决策
谁需要升级: 使用双 Bot、委派、原生 Goal、工作台或桌面预览的用户优先升级;只读旧历史可按维护窗口安排。
解决了什么: 保留原生执行上下文、收紧未知效果恢复、显示未回传交办,补齐快速导航和可选内容制作路径。
是否有破坏性变更: 无。从 2.0.0 到本版没有新增持久状态迁移;2.0 的 canonical authority 迁移边界继续有效。可选 provider 不随升级自动启用。
如何验证: 读回
loopx 2.1.0、doctor 和原业务结果;运行中、已读或 Todo done 均不等于原受众收到答复。贡献者: @huangruiteng 维护;社区贡献来自 @cuipengcx90、@mikamikasuki、@hhyykk、@JasonBuildAI、@Twiink、@Zhouyang66639、@songoow 和 @steven-kid,具体 PR 见社区贡献者。
状态内核与控制面
原生 profile、富文本原消息和 source-bound 委派保留原上下文;忙碌 lane 与未回传交办可见。自动账号切换、重启、专用客户端强退分别显式启用;额度读取失败不当成耗尽。 #6934、#6941、#7008、#7015、#7018、#7019。
已知限制:最后一次 source 复核后的撤权与 Task 完成不是原子事务,可能先提交 Task,再报告撤权。必须保留 Task、操作与 Host 证据;权限错误不证明没有效果或可安全重放。 #7016、独立竞态审查。
能力与工作流
Goal 要求、证据、目标修订与各 Agent 采用分别保留;无 Todo 的规划可正常结算。快速导航只导航,不执行。Agent 在会话准备分镜,工作台「成果 → 内容作品」制作与查看;大画面保留完整素材和来源栏。provider、付费生成及发布仍分开授权。 #6784、#6987、#6999、#6996、#6876、#6979。
质量与测试
发布验收覆盖安装包公共 seam、原生 Goal 提示长度、canonical fixture、工具进程监督、截断和 Goal lifetime。提示仅删除重复结算文本,原长度上限和未知效果停止规则保留。 #6927、#6943、#7037。
准确候选 a65c71f 正在重新执行全部八项发行资格,之前完整测试失败均保留。后续独立评审发现可选 MemT 升级绕过旧 pending:真实旧 CLI 已写工具产物但 export 失败,旧重试零 provider 调用,先前候选却新增 16 次请求并重复写入。现已在原 provider 内持有旧游标锁至执行结束,在任何 provider/MCP IO 前拒绝旧 pending、未完成或孤立回执,原证据保留且不导入 alias 记忆。同一真实旧 CLI 反例复验已为零新增请求、仅原始一行工具产物,45 项相关用例通过。本 Turn inbox 准入、固定 3,200/4,000 上限、UTF-8 和 canonical 夹具修复继续保留。旧 head 通过不重绑定;尚未打 tag、发布或推进 stable。
单独的 operator DeepSeek Flash/high intake 实测 56 次,38 通过、18 失败,含 envelope/解析和路由问题;该 profile 未获 Bot 默认资格,也未据此切换生产模型。完整社区/管家 golden pack、真实 GPU、MemT App/飞书入口、Windows 严格工具树清理及收益仍未资格化。本版不声明 benchmark 或长程收益,未要求昂贵的匹配 outcome baseline。
基准与集成
研究历程展示原始 episode、引用和定量结果;模型判断不替代原证据。执行/取消沿原分析目录及已选 source/account。MemT 只交付显式选择 Nano 的独立 CLI/provider 前置层,不给 Codex/Claude 加原生记忆,不自动安装上游代码/权重。上游客户端/推理代码采用 PolyForm Noncommercial 1.0.0,权重另有许可,使用前需审阅。 #6961、#6966、#6968、#7028、#7037。
文档与兼容性
Ego 的正常 skill 刷新沉淀一次性丢失恢复:成功 inventory 确认已知自有工作区不存在后可记录一次替代;真人接管、登录、拒绝 claim、未知效果仍停止。桌面更新传输/签名失败和自有服务清理分别可见。2.0 到本版无新增持久状态迁移,旧 authority 仍需原迁移路径,不启动第二 writer。 #7034、#7024、#7029、#7037。
社区贡献者
@cuipengcx90 的 Pi 原会话身份 #5678;@mikamikasuki 的停止 Goal、UTC、UTF-8 与插件恢复 #6000、#6078、#6082、#6140;@hhyykk 的历史隔离、source/read 性能、恢复覆盖和 MemT #5951、#6496、#6939、#6984、#6995、#7003、#7028;@JasonBuildAI 的截断拒绝及 Codex 模块边界 #6921、#7000;@Twiink 的公共安全/时间字段复用 #6922、#6923;@Zhouyang66639 的路径与标识规则复用 #6969、#6970;@songoow 的调度/Host 准入及研究证据保留 #6883、#6884、#6885、#6889、#6901、#6946;@steven-kid 的键盘快速导航 #6996。
名单基于 v2.0.0 到本次发布源码及已合并 PR 核验;不声明首次贡献,不把依赖机器人或维护者列为社区贡献者。
可选能力启用与使用
Content media
启用: 在 v2.1.0 checkout 安装独立 provider 并注册 manifest;旧 provider 先升级包,再执行 extension upgrade。
验证: 运行 doctor,读回原分镜、制作结果与校验下载;doctor 不证明生成成功。
停用 / 回退: disable 阻止新工作,旧操作保留原 ID;新修订移除 framing 可恢复原构图。停止观察不等于云端取消。
权限边界: Blender extra 与云凭据独立安装;付费生成先看来源上传、价格和用量,不重放未知提交。产物不授予验收或发布权。
文档: 版本化 provider 指南。
MemT Nano Turn host
启用: 独立安装适配包、审阅许可后安装上游客户端,并另行部署 Nano。workspace 外 operator profile 设 enabled=true;只有显式 generic-cli host 选择与独立 validator 才进入该 Turn。
验证: doctor 仅本地前置,明确不检查网络/推理;真实 GPU、记忆质量与收益未资格化。
停用 / 回退: 设 enabled=false,移除后续 host 选择并恢复原 host;卸载不停止外部服务或删除快照。
权限边界: 记忆按 workspace、Goal lifetime、Agent 隔离,仍属未验建议;当前权和证据从 LoopX 读回。MCP 字段不当认证,未知效果先对账。上游客户端/推理 Noncommercial、权重单独许可。
文档: 版本化 Nano 安装、许可和恢复。
Ego browser continuation and optional source reader
启用: 正常刷新已有 Ego skill;可选 source reader 需在真实 host 的 MCP 配置另行显式添加,技能刷新不会启用 reader。
验证: 读回 ego_browser 状态;替代需完整成功 inventory、已知身份和持久尝试记录,未知原因保持未知。
停用 / 回退: 移除 reader MCP 项并在空闲时重载。workflow-skills --uninstall 会移除未修改的 LoopX skills,并将未修改的受管 Ego 副本恢复到当前上游链接,保留定制内容。
权限边界: 不安装 Ego、不登录/接管、不扩来源或发布权、不重放未知效果;真人控制和 claim 拒绝仍停止。
文档: 版本化生命周期和 origin 配置。
Native Codex account handoff
启用: 工作区设置 → 原生 Codex 账号,先检查账号与额度;自动切换、重启、强退分别显式启用。
验证: 点击检查额度并读回账号/状态;读取失败不是耗尽,运行服务身份独立核验。
停用 / 回退: 关闭额度耗尽时自动切换;重启和强退选项可分别关闭,保留原手动账号/模型选择。
权限边界: 正常退出失败后仅强退已核验的专用 GPT 实例,其他 CLI/文件占用仍阻断。不能购买额度、消费重置券或重放已提交业务。
文档: 版本化工作区/账号指南。
Research trajectory analysis
启用: 核验 source pack、所选 host/account 与成本后,先 preview;明确执行才加 --execute。
验证: 沿原分析目录读 status、引用、覆盖与结果边界。
停用 / 回退: 不执行 preview,或取消原目录的活动分析;失败/未知结果先读回,不能静默切身份重试。
权限边界: 历史和状态读取不调用模型,分析不扩大 source grant,也不证明长程收益。
文档: 版本化轨迹分析指南。
发布验证
最终源码、测试和产物身份见上方 Quality & Testing。固定版本 v2.1.0;更新后分别核验 CLI、宿主、原服务和启用扩展。原生桌面仍属预览,构建资产不等于真实 Windows 执行、GPU 或公证资格。历史积压是否自动完成,必须以原 Bot 执行与原消息实际回传为准。