Repository navigation
fix(release): restore quota, bootstrap and context owner boundaries - #7684
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>
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>
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: model_agent · gpt-6.1-sol · OpenAI · runtime_reported · max
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
动机 / Motivation
使用quota和安装/升级路径的用户,以及运行发布回归的维护者。 已有interaction contract的能力拒绝原本被提前返回,签名视图缺boundary;monitor的已决定拒绝也绕过原纯呈现压缩。修改后这两类拒绝恢复各自原视图,真正收集失败继续保留原诊断且不重连。与此同时,manager组合、bootstrap语法和host guard回到已有owner,当前reader测试真正读取公开返回的引用。 真实CLI监控拒绝、安装、静态导出和独立bootstrap可完成原有读回;缺能力、缺Core和Host权限失败仍保持拒绝,不取得新执行权限。 本批次不完成整版发布,不修改存储格式、生产prompt字节、模型判定、等待上限或收费执行默认值,也不声称长程模型收益。
该批次是完整发布的有用前置增量:当前修复与负例可独立审查、回退。合并后的精确main仍需完整发布资格、正式制品及公开指南读回。 不创建新的人工批准门。
改动思路 / Approach
复用现有决策、语法和退出owner,以局部组合或薄转发修复真实调用方;新增模块不成为另一套状态或权限权威。 当前PR交付可独立回退的发布回归修复;合并后由既有发布流程对固定main执行完整源码资格和全渠道交付。 关键是保留“已有typed决定”和“收集故障”的区别,不用ok=false替代这两种状态;前者继续调用原呈现owner,后者不能重入故障runtime。普通quota、错误target、能力拒绝、签名失败和Core缺席分支各自保持原有权威。
Lark组合复用现有 chat_lark_api;bootstrap复用已登记grammar并在构建时绑定原定义。独立host通过12行精确facade调用同一guard。#7642直接公开整个runtime_activation模块的方案耦合更广,此处不采用;其pending ingress receipt并不被该guard检查的限制已吸收,未承诺额外保护。
具体改动 / Changes
关键代码讲解
_project_quota_cli_payload(quota_presentation.py:50)对已存在contract的拒绝保留原签名构建;monitor拒绝中的before快照交给原纯compactor,include-detail保留。真正Host collection故障仍直接返回原诊断且不重连。_quota_renderer与投影函数从原CLI抽出并通过原名字重导出,quota.py从1015降至929行;TypeScript决策和签名owner不变。
standalone_source(update_artifact.py:40)复制原owner赋值的源码,不读取.pattern重编译,也不另写grammar。实际exporter生成的文件已与其返回字节一致,隔离Python加载没有LoopX import,--help可运行;坏digest、源身份、下载/提取和更新权限负例保持。9处metadata读取显式UTF-8。这个Python边界用于Node/LoopX尚未存在时的bootstrap,不能以另一个TS决策owner替代。
manager_source_scope_resolver(chat_lark_api.py:49)保留原native/legacy分支及coordination/executor两root语义;原测试现在patch真正的组合owner。NativeHost.restart_guard(native_host.py:552)仅改变import路径,facade重导出原对象;无managed服务不导入Core,缺Core继续waiting_for_idle,已有非终态Turn与ingress锁仍由原owner处理。已发布2.1.1本来没有该managed guard;本批次不增加旧私有API fallback或数据迁移。
现有context fixture从模型实际可见命令读取引用,再按argv核对Goal/Agent/trial,benchmark的目录从实际guard取得。索引/选择读不被当完整baseline;字节、摘要、hook损失、拒绝、恢复和结算原断言保留。安装fixture允许已声明的sibling skill资源,同时限制物理bundle范围并逐项核对原源码字节。复用已合并#7680/#7685,#7686整合后关闭,重复清理diff已移除。
heartbeat生产指令没有在本PR修改。固定路径、320字符scope同场景的不可变对照为JSON4532→4853、Markdown6648→6969,增加321字符且仍63行;只把回归预算校准至5000/7100。原Markdown6200基线已失败,仍保留为失败;原指令、行/增长率及结算断言不变。这是预算校准,尚无模型对照证明这321字符的实际总成本收益。
采用改动前 c38b3a1a62e844d1d59f68701d3b4684136e50c3 的 docs/development/testing-and-quality.md、required-work-context及monorepo-distribution-split §5。新public guard接缝是本PR提出的受限设计,不能以新增RFC文字证明其预先获准。对应验收如下:
failure-view— implemented:收集失败不得重入故障runtime,已决定拒绝仍保留对应签名/压缩视图。(loopx/cli_commands/quota_presentation.py)。single-owner— implemented:通用presentation不反向依赖Lark,digest/repository语法不重复定义。(loopx/chat_lark_api.py)。bootstrap— implemented:实际站点导出的Python在尚未导入LoopX时可独立加载与运行。(examples/export-frontstage-share-bundle.mjs)。host-seam— implemented:独立package只能使用明确记录的公共接缝,仍由原owner检查已有非终态Turn并持ingress锁。(loopx/extensions/chat_service_guard.py)。reader-oracle— implemented:从实际模型可见命令读取正确Goal/Agent/trial,保留字节、摘要、hook与恢复拒绝。(tests/control_plane/test_codex_context_capture.py)。measured-budget— implemented:相同工作负载测量后校准回归阈值,保留指令与旧失败。(loopx/control_plane/testing/cli_output_budget.py)。
对主干的风险 / Risks
主要风险是为了变绿丢失拒绝事实、削弱Host故障边界或让bootstrap隐式依赖Core。上述实际CLI、独立导出文件、原能力/签名与native hook反例逐项验证,不按test数量认证正确。当前head:完整架构模块27通过;原monitor-poll完整smoke、完整frontstage导出及实际导出文件的隔离Python/no-Core/--help验证通过;Ruff、mypy配置内17模块、quick premerge 6直接+4选中检查通过,0人工hold。CI未查询。
c4241a4:选中完整模块886通过、1失败、4跳过、6 xfailed;standard premerge6直接+19选中全过。唯一失败为renderer导入位置断言;当前head仅改该架构测试,所有生产与文档blob相同,并以当前完整27项架构检查覆盖修复。旧失败和4项skip保留,未把旧整次运行写成全过。 本次没有将旧失败或skip改写成通过。初次frontstage运行因本地site依赖缺失而停,按既有锁文件npm ci后原完整导出通过,未修改锁。纯测试观察位置修复之后,当前生产与文档blob和c424完全一致;当前完整架构测试另外证明CLI真正接到新的呈现模块。
本次未改变UI渲染、样式、首屏、导航或交互;导出JS只改变bootstrap生成,RFC文字位于中段。完整静态构建是导出行为证据,不能代替已安装页面或付费模型。Windows原生行为、完整精确源码资格和正式制品仍有独立发布门。
我的整体评价 / Verdict
APPROVE 当前修复批次,独立实现和验证边界清楚;不是整版发布完成。既有owner复用、呈现责任抽离和重复fixture去除属于已应用的局部整理;不扩展成新的状态/权限框架。后续仍按固定main继续原发布资格与交付,不把merge或模型上下文存活当作长程收益。
English verdict: APPROVE b11980b1acee97fc7b618ebd7187137fda03e811 — restore decided-refusal presentation, shared ownership and independent bootstrap without relaxing authority, recovery or settlement. Current real-entrypoint/static checks passed; source-equivalent prior functional results and their one repaired architecture failure are explicitly retained. CI was not consulted.
问题与结果
发布回归暴露了几类共享 owner 边界问题:quota 把已作决定的拒绝也视为收集失败,丢掉签名视图和 monitor 的既有压缩;通用 presentation 反向依赖 Lark;独立 installer bootstrap 重复定义元数据语法;provider-routing 直接依赖未登记的 Core 私有模块。这个批次修复这些边界,并让既有回归通过实际公开 reader 验证当前完整上下文合同。
实现边界
quota_presentation.py,保留原 CLI 入口和 TypeScript 决策 owner。收集失败保留原诊断且不重连;带 interaction contract 的拒绝继续构建签名视图;已决定的 monitor 拒绝继续执行纯呈现压缩。chat_lark_api,保留 native/legacy、coordination/executor root 的语义。loopx.extensions.chat_service_guard调用既有 guard;中英文 RFC 同批记录这个精确公共接缝。原接受工作检查、ingress 锁和缺失 Core 时的拒绝不变;不承诺检查 pending ingress receipt。#7686 已整合到本批次;#7685 的父进程清理修复已独立评审合并,这里移除了重复 fixture diff。没有修改产品 UI、执行权限、存储格式、模型判定、等待上限或收费调用默认值。
验证
当前 head
b11980b1acee97fc7b618ebd7187137fda03e811:完整架构模块27项、原 monitor-poll-writeback smoke、完整 frontstage 导出及独立 bootstrap、Ruff 和配置内17个模块的 mypy 均通过;quick premerge 的6项直接/4项选中检查通过,0人工 hold。完整站点首次运行因缺少本地 site node_modules 停止;按锁文件 npm ci 后原完整 smoke 通过,未修改依赖锁。运行时代码与
c4241a4699ec38d05cc713275985605674f756d9完全一致;该源的完整选中回归为886通过、1失败、4跳过、6 xfailed,standard premerge 的6项直接/19项选中检查全部通过。唯一失败是架构测试仍在旧 CLI 文件查找已经移动的 renderer import;当前 head 只修复这一观察位置,并新增实际 CLI→presenter 接线断言。旧失败保留,不将旧整次运行重写为全过。跳过项不计资格通过,整版发布仍需合并后的精确源码完整资格。本批次不查询或等待 PR CI。没有首屏或布局变化;静态站构建与边界检查用于验证导出行为,不冒充模型或已安装客户端资格。