Repository navigation
fix: align agent instructions and prompts with current execution contracts - #6725
Conversation
Signed-off-by: song <liusongstep@gmail.com>
Signed-off-by: song <liusongstep@gmail.com>
…racts Signed-off-by: song <liusongstep@gmail.com>
…erences Signed-off-by: song <liusongstep@gmail.com>
songoow
left a comment
There was a problem hiding this comment.
Reviewer: model_agent | gpt-6-astra | OpenAI | runtime_reported | reasoning_effort=xhigh
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
本评审目标 #6725,exact head971791dd09d73e92d83ae878dde46df68ffba6bc;policy revision 21。独立审阅新增范围后未发现剩余源码 blocker,结论为 APPROVE。全量 pytest 未完成、已归因基线失败、pending CI 和 merge readiness 在下文分别保留。
动机
维护者让 Agent 接入项目、持续推进任务或评审 PR 时,会同时消费仓库规则、安装后的 skill 和宿主生成的执行说明。
旧根规则超过默认加载上限,尾部义务会丢失;旧模板又可能要求照抄固定记账命令、把普通 Todo 完成变成必须创建后继,或把提醒用户误判成整轮停工。现在根规则完整可加载,详细步骤按任务读取,执行与结算回到本轮合同。
本次可观察结果是完整的指令交付、可安装且可解析的 skill 引用,以及由当前授权、执行准入和有序结算合同驱动的生成文本;这不等于已证明模型持续交付能力提升。
本 PR 不更新真实宿主自动化,不开展付费模型或 live long-horizon 实验,不改变权限、租约、额度、结算状态机或合并授权。
改动思路
详细步骤已有各自的文档或 typed owner;本次删去并行静态配方并补全原 owner,比新增一层指令注册系统更小,也保留了现有恢复和授权入口。
本 PR 的交付边界是源码指令、安装资源和公开生成入口的一致性修复;真实宿主采用、模型执行收益和生产发布不在本次完成声明内。
本次有三条明确的所有权边界。根规则保留跨任务的授权、验收与交付义务,开发范围、smoke 和投影细节放回已有指南;安装后的 project skill 按操作读取六个随包资源;每次执行则由 host-specific bootstrap loader 取得新合同,当前 interaction_contract 和 typed settlement 决定选择、工作、写回、记账和恢复。生成文本负责解释和路由,不新建状态机、额度策略或权限源。CLI 与 App 使用各自的 profile 和 guard,不能互换保存的执行正文。
| 触发 | 修复前风险 | 当前结果 |
|---|---|---|
| 默认加载根规则 | 40,363 字节超过 32 KiB,尾部义务丢失 | 27,976 字节完整交付,保留 4,792 字节余量,并用实际请求验证单份根正文 |
| 周期宿主再次唤醒 | 静态正文冻结旧命令或 Turn | 保存 loader,每次读取完整成功的当前合同 |
| 有用户 Todo 提醒且另有已准入工作 | 通知 flag 被误用为停工/不记账条件 | user、agent、CLI 三通道分别决定通知、工作和结算 |
| capability 缺失或关闭 | 已安装 skill/工具可能被误读为可委派 | 保留 single-agent 路径;启用 context 也不授予 spawn 权限 |
表格仅说明本 head 的源码路径,不是模型采用或长期运行结果。无改动会继续保留截断与双重配方;只提升本地加载限制无法修复默认宿主;只压缩根文件也遗漏已安装 skill 和运行时文本。当前方案复用原 owner,范围与问题相称。
具体改动
本次审阅的独立规范固定于 d4487a7c0a332365fc80ee3ca43d421bdf510d42:AGENTS.md、docs/development/testing-and-quality.md 和 loopx/control_plane/quota/settlement_plan.ts。判据来自改动前的规则和 typed owner,不以本 PR 改写后的规范自证正确。保存的 PR comments/reviews 为空,没有另一个 maintainer frame 被忽略。
| 原规范条款 | 本 head 的处理与证据 |
|---|---|
| Goal-Oriented Development | 保留授权内实现、集成、负例、读回与恢复;不把一次调用、Todo done 或回执当作完成。root/host-mode/CLI 对照覆盖文本交付。 |
| Commit And PR Hygiene | 保留 worktree、DCO、精确 head review、validation/readiness 与独立 merge 授权;实际 PR target 替代误用 fork origin。 |
| Evidence-Based Budget Decisions | 同负载比较后保留必要语义:thin 3,200→3,600、brief 4,600→4,800;一次性观察许可只对完整指定迁移生效,不增加执行额度或冻结实验预算。 |
| Refactor Real-Path Gate | 使用真实 CLI、loader 和安装引用测试;真实 wheel/安装资源、当前原生 standard canary 与宿主首次请求已经验证;完整 pytest 未完成,不能标绿。 |
| turnScopedCliSettlementPlan | 原 Todo declaration/current lease、先验证后写回再匹配 spend、无虚构 successor、Monitor no-spend 继续由未修改的 typed owner 决定。 |
全 diff 为 62 个文件、2,984 行增加和 2,988 行删除。13 个生产/配置文件为 263+/261-;20 个文档/skill 文件为 2,021+/2,212-;29 个测试/example 为 700+/515-。主要体积来自现有 skill 的任务分层和重复静态模板删除,不是新增运行时结构。六个 references 明确进入 wheel data-files,relative links、安装幂等和缺失资源读回都有覆盖;根文件的原有入站锚点保留。
新增根简介解释 Goal/Todo、受控持续执行、对等协作、Personal Workspace 和 capability/extension owner,并要求从 roadmap 区分已交付与待验收。CLAUDE.md 只有 @AGENTS.md;开发指南解释默认聚合限制、宿主差异及旧会话缓存,不把“请读文件”当作已加载。根文件原约束没有因入口缩短而被降为可选。
examples/install-local-smoke.py::read_installed_workflow_skill 从安装目录读取入口及六个明确链接,核对引用集合、源码字节一致及相对链接不逃出安装 skill。始终适用的授权/继续/停止规则仍检查入口,场景义务检查安装后可达的 reference;这修复了旧 smoke 强制把所有标题挤在根文件的断言,并保留安装、缺失资源和权限负例。
研究说明参考 OpenAI 的默认加载规则、Claude 的共享导入 与 Agent Skills 的分层资源规范,并引用固定 revision 的 Airflow/Temporal 实现。它们支持加载与维护方式的取舍,不能作为长期成功率提升的因果证明;四个离线场景旧版和新版都通过8项断言也被如实标为弱区分证据。
对 #6723 的处理合理:纳入项目定位、单一 Claude 入口和修订研究;细则继续使用已有 owner,避免三份新的整套 agent-* 手册;不照搬无宿主依据的12 KiB/200行硬阈值。重叠提案按 superseded 关闭可避免两次改写同一根规则;关闭不表示合并,也不转移其旧 head 的 APPROVE、CI 或宿主证据。
关键代码讲解
loopx/project_prompt.py::build_codex_cli_bootstrap_message(541 行)分别生成 CLI 和 App 的--bootstrap命令与 guard。它保留同一个 Goal/Agent,保存的 loader 不带固定--turn-instance-id;setup-only 不产生 delivery spend,已准入交付再使用当前合同。真实 loader 测试覆盖成功加载、独立 host binding 和重新读取状态。loopx/control_plane/heartbeat/task_body.py::render_heartbeat_task_body(69 行)及 brief/compact/thin 共用当前 settlement dispatch。逻辑是“成功 guard → 已准入工作与验证 → 当前有序步骤 → 回执读回”;旧固定 refresh/spend 正文被删除,但兼容响应字段仍供检查使用。Todo 完成与 Turn 结算分开,外部等待保持 open,纯 Monitor/阻塞提醒不被包装成 delivery。loopx/chat_agent.py::_turn_prompt(455 行)只在 confirmed execution 模式移除相互竞争的 Todo proposal、Goal draft 和 context handoff 指令,并使用真实工作结果验证。其他模式的 protected-action preview 仍不授予执行权;缺少权限只阻断依赖该权限的动作,用户明确停止仍有效。manager 则只读回答所需的来源,保留会改变结论的 unavailable-source 缺口。loopx/capabilities/pr_review_queue/selection_execution.py::materialize_review_execution(70 行)把 null action 的 Draft、closed、有效旧结论和未知结论分别解释;null 不再等于“已经批准”。Actionable PR 先建立目标和规范,再执行 capability plan,显式选中 PR 仍不绕过 action authority。loopx/control_plane/testing/cli_output_semantics.py::continuation_instruction_observations观察完整的新语句组合,差分观察器才给予一次性成本余量。它只属于回归预算测试;不能分类工作、授权执行或把部分迁移认作语义等价。删除任一必要 clause、再次增长和无关表面的反例保留普通预算。
这些修复复用现有词表,没有新增共享状态分类或平行 Python decision owner。scope-fit 和未来重构检查已经应用:删去并行知识源、保留实际响应兼容面,未发现必须在本 PR 再引入的抽象层。
对主干的风险
最强反例是“所有文字断言与大小检查都绿,但 Agent 仍执行旧安装正文、误用提醒 flag 停工,或在不确定效果后重试记账”。因此本次没有从字段相同、代码净减少或测试数量推导语义正确;对照了改动前条款和未修改的 typed settlement,并单独检查原权限、默认关闭、通知、停止与结算边界。纯提醒返回 user_todo_blocker_push,已准入工作加提醒返回 bounded_delivery_with_user_notice,cooldown 即使原始 flag 仍为 true 也返回 DONT_NOTIFY。三个分支均不允许立即 spend,只有已验证工作可进入匹配结算。
default-off 的 source/contract 判断为 isolated:缺失、disabled 或读取失败时不寻找 child 分工,不因工具和已安装 skill 激活能力;enabled context 仍要求单独授权、当前 registry/Goal/Agent、受支持的显式模型配置、结果验收与协调者结算。原 provider/typed admission 未修改,context 与 delegation 的正负例及安装引用检查通过;这些证据不证明真实 child 已运行或被采纳。
| 验证 | 当前证据与限制 |
|---|---|
| 当前 head 聚焦测试 | 15个全部 changed pytest 文件:748 passed,63.35秒。独立审阅者另跑根文件6项及 placement/docs-governance smokes。历史714 pass+1旧断言失败、随后45/109和271/92/15集合保留,不叠加成总数。 |
| 真实 CLI base/head | 当前 main d4487a7c 对照96/96、0 candidate-only、10项声明的文本成本信号。执行于4674039eb;971791dd的运行时代码与fixture未变,复用只覆盖该路径。 |
| 原生 standard canary | exact971791dd:6 direct + 19 selected 全通过,0失败,107.04秒;Node22、独立TMPDIR,无runtime路径 monkeypatch。包含安装/更新、capability/control-plane 和公私边界。 |
| 实际 wheel 安装 | wheel SHA256 16be00a3ea7290b3bdd4109fb04ede22f32b9d162fbcf53ecfee295be8d84041,构建于4674039eb;当前 loopx/、skills/ trees及pyproject.toml blob完全一致。仓库外 python_distribution 导入、两项skill/六个reference字节、相对链接、重复安装和删除reference后ready=false均验证。 |
| 实际指令装配 | Codex CLI0.163.0旧根40363只进入32768字节,尾部缺失;当前27976完整且仅一份。Claude Code2.1.302的@AGENTS.md同样完整一份。根SHA256 db3c89500751e8eb577cb942c8e3448e55ba5c986c5b48aaf35227d836f25ed1与head一致。 |
| 静态质量 | Ruff通过,mypy17个source无问题,root字节/链接/锚点、语义检查、diff/RFC及62路径public scan通过。 |
| 全量 pytest | 未完成:约16%时主动中断,3563 passed、469 skipped、1 failed、2 errors、338 subtests passed;不能写成完整回归通过。下面分别归因已观测失败,未执行部分没有通过证据。 |
| 托管 CI | 新读回DCO、cancel-obsolete-pr重试、dependency-review、real PostgreSQL等成功;部分adapter/build及browser、TypeScript等检查仍有pending。暂无当前失败check;最终CI与merge readiness仍独立。 |
默认加载的证据来自隔离临时Git仓库中的真实首次请求,loopback端点返回HTTP400,不执行模型或工具,不保存原始请求/凭证,不修改真实宿主配置。它证明请求装配,未证明模型遵守、用户已有会话更新或live长期收益。artifact验证与新的root/import探针分别覆盖各自输入,未把467旧head标成971重新构建。
全量测试中三项可见错误已有独立归因:顶层模块预算在base与exact head的完整隔离源码树同命令均146>145,文件集合和test/fixture字节一致,本PR没有新增/删除顶层生产模块;两个census errors来自测试注入的os.scandir错误在monkeypatch恢复前被cleanup glob触发,随后导致下一测试setup级联失败。base与head都1 passed/2 errors,三个拥有该路径的源码blob相同;本审阅者在exact971另行复现同一身份与完整错误。它们是原有失败,既没有放宽预算,也没有标为通过;当前改动的独立测试与原生canary覆盖足以支持本次维护切片判断。
安装smoke第一轮暴露旧的根标题/固定三候选断言,已改为验证实际安装资源。之后的一次canary受到测试脚本强制runtime路径干扰,破坏smoke自己的临时HOME/readiness定位;最后移除该override后的原生集成及独立安装均通过。历史失败和执行条件仍保留,未仅凭一次绿色忽略不稳定性。当前改动没有layout/first viewport或新caller-facing capability,因而不新增UI截图门;已有产品验收规则仍保留。
我的整体评价
源码审查认为这是一份边界完整且可回滚的 instruction 修复,problem_context 为 goal_achieved:完成的是本次维护切片,不是整个长期自治路线图。long_horizon 判断为 preserved,仅指与独立原规范对照后继续工作、停止、恢复和有序结算合同得以保留;未宣称 live 模型采用或持续收益 improved。user_experience 为 preserved:已有意图与授权时不增加重复确认,缺少 consequential decision/authority 才停其依赖路径,已知信息被复用,相关错误和恢复入口继续可见。
代码体积和机制判断为 necessary/proportionate,架构选择 retain,默认关闭 isolated,协议命名和实际权限 aligned,语义词表 reuse_existing。保留兼容生成字段有真实消费者理由,删除静态执行配方则降低并行维护成本。已观测失败的独立base/head归因、当前改动测试、原生集成与artifact/装配证据闭合了本次code judgment,结论为 APPROVE。完整pytest覆盖仍未取得,live模型/宿主采用未验证;这些限制不能被“指令更短”或测试数掩盖。公开发布前仍需保持exact head、runtime reviewer归属和check-result有效;托管CI、merge readiness及maintainer merge授权独立。本评审不授予合并权限。
English verdict: APPROVE - no unresolved source blocker at 971791d. Current changed tests (748) and native standard canary (6 direct + 19 selected) pass; observed full-suite failures match unchanged baseline paths, while the suite remains incomplete. Hosted CI and merge readiness are separate holds. Startup assembly and installed resources are verified; live adoption and long-horizon gains are not claimed.
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent; gpt-6.1-sol; OpenAI; runtime_reported; reasoning_effort=max
REQUEST_CHANGES — exact head 971791dd09d73e92d83ae878dde46df68ffba6bc。核心指令分层与真实交付改进成立;仍有一条受影响的完整 smoke 在这个 head 失败,见下方 P2。
动机
维护者让 Agent 接入项目、执行已授权工作和评审 PR 时,会依次消费仓库规则、安装后的 skill 和宿主生成的本轮执行说明。
旧根规则超过默认加载上限,尾部义务会被截断;详细规则与静态记账配方也会互相竞争。新版根规则能够完整加载,skill 按任务读取随包资源,生成文本则回到当前执行与结算合同。
独立验证确认根规则完整进入实际 Codex 请求、六个引用可从普通 wheel 安装并恢复;但受影响的 heartbeat smoke 仍因两处旧断言失败,尚未完成本次验证闭环。
本次不证明模型长期交付收益,不更新用户真实宿主,不改变 typed 状态机、额度或合并授权,也不以作者自评代替独立审查。
剩余缺口是同步两处已过时的 smoke 预期并完整重跑;真实模型采用、Claude 执行和长期收益保持未验证,不是本次源码修复的完成声明。
先读的接受依据固定在 d4487a7c0a332365fc80ee3ca43d421bdf510d42:AGENTS.md 的 Goal-Oriented Development、Evidence-Based Budget Decisions、Refactor Real-Path Validation,以及 docs/development/testing-and-quality.md、loopx/control_plane/quota/settlement_plan.ts。这些规则要求有用的完整交付、按同一工作负载比较预算,并验证生产入口;不能以改写后的说明或绿色测试定义正确性。本次采纳当前 review context 的“从真实任务验证”提醒,用实际宿主加载和普通安装路径检查,未把历史案例结论当作本 head 证据。
改动思路
详细规则回到既有文档与随包引用,执行顺序回到当前 typed owner;新增注册系统或重复 Python 决策源都没有必要。
本 PR 的边界是根指令、已安装 skill 与生成说明的一致性修复;先补齐受影响 smoke,真实宿主采用与长期模型收益另需运行证据。
| 触发 | 旧路径与成本 | 本 head 的行为及边界 |
|---|---|---|
| 默认宿主加载仓库指令 | 40,363 字节超出默认32 KiB,尾部丢失 | 27,976 字节完整进入实际 Codex 请求,单份正文 |
| 常规已授权任务读取 skill | 1,133 行入口混合接入、运行与恢复步骤 | 203 行入口按任务引用六个随包文件;正常工作不强制重走接入 |
| 再次唤醒或发送用户提醒 | 静态配方可能冻结 Turn,通知可能被当作全轮停止 | 保存宿主 loader,读取成功的当前合同;通知、工作、结算分别决定 |
| context 缺失或关闭 | 工具存在可能被误解成委派权限 | 仍保留 single-agent 路径,context 不授予 spawn 权限 |
表格是源码与下述真实入口观察的说明,不代表模型已采纳或长期效果。只提高某台机器的加载上限不能解决默认宿主;只压缩根文件又会留下已安装 skill 与 runtime 的竞争配方。因此把同一问题跨这三个实际入口修完是合理范围,无需另建注册层或复制 typed 状态机。已有最短授权路径也未增加“每项操作都问一次”的通用确认。
具体改动
全量62个路径,+2,984/-2,988。根文件保留全局目标、授权、交付、隐私和 Git 义务,把 scope-fit、smoke 和状态投影细节放回既有文档 owner;CLAUDE.md 通过 @AGENTS.md 引用同一入口。project skill 增加六个随包引用,覆盖接入、安装诊断、自主执行、heartbeat、交接和材料质量;pyproject.toml 明确打包它们。旧 project skill 的155个段落归一化后相同,其余36段逐项审读;文本相同只用来定位迁移,没有当作语义证明。
heartbeat、project bootstrap、chat、review 和 replan 文本一起取消竞争的静态配方:先读当前身份和合同,按当前准入推进有用工作,再按有序结算步骤写回、读回和记账;未知效果先读回恢复。普通 Todo 完成与整轮终态分开,不因完成普通工作凭空创建后继,也不因某个通知 flag 取消已准入工作。修改前的 typed turnScopedCliSettlementPlan 已允许普通完成处于当前步骤中,因此“文本现在提前完成 Todo”这一怀疑被独立源代码否证,没有据此报错。
关键代码讲解
render_brief_heartbeat_task_body(loopx/control_plane/heartbeat/task_body.py:237)及 full/compact/thin 同族函数解释当前合同,仍不自己执行 spend。brief 的299行把不记账范围写为 blocker-only turns,与已准入且带通知的工作分开;settlement_plan.ts 仍是转换和效果 owner。
build_codex_cli_bootstrap_message(loopx/project_prompt.py:541)保留 CLI 与 App 的宿主/profile 差别,setup-only 到成功读回为止;常规轮次保存 loader,不能保存展开的旧 Turn 正文。skill 的新引用通过原 installer 进入普通 wheel,不要求隐含开发 checkout 或全局安装。
main(examples/control_plane/heartbeat-prompt-smoke.py:163)仍须跑完整串宿主与输出断言。[P2] 这里两处预期没有随变更更新。 直接运行完整 uv run --extra test python examples/control_plane/heartbeat-prompt-smoke.py:不可变 base 完整 exit0;本 head 在676行失败,因为672行仍要求旧句 Do not spend for quiet skips, preflight failures, blocker-push questions,而 brief 已改为 blocker-only turns。仅在内存中修正第一处预期后,又在850行失败:它要求新 heartbeat-hosts.md 含 blocker-push NOTIFY 的旧写法;新文档实际以 user_todo_blocker_push 与 bounded_delivery_with_user_notice 区分是否准入工作。仅在内存中修正这两处预期,完整脚本才 exit0,原源码哈希保持不变。这个反事实定位了最小修复,也证明只改第一处仍不够;它不是本 head 已通过的证据。请更新两处 oracle、保留负例和后续宿主检查,再完整跑准确的新 head。
对主干的风险
实际 Codex CLI 0.162.0-alpha.17.2 请求装配对照:base 的根正文只加载32,768字节、最后一节缺失;head 的27,976字节完整单份进入请求。探针使用本地拒绝端点在 HTTP400 停止,无模型推理、没有改用户配置,也未保存鉴权头或周围私有提示词。这证明默认加载路径的改善,不证明模型理解、Claude 执行或长期收益。
普通 wheel 由本准确 head 构建后装到 checkout 外的隔离环境,再走真实 workflow-skills --install:六引用的 source/wheel/installed 字节完全一致,所有相对链接可解析,重复安装不变;删去一份已安装引用时 readback 为非 ready,再由真实安装修复恢复。用户真实宿主目录未更新。这个负例闭环比单纯断言 package-data 列表更接近使用路径。
独立验证还有:15个完整改动 pytest 模块 748 passed / 0 skip;仓库当前 workflow 的必要 Ruff 范围通过;diff advisory 后完整 semantic drift smoke 通过;CLI 对照为 96 base / 96 head、0 candidate-only,十个文字增长信号明确保留。thin/brief 展示预算调整和最多512字符的一次性完整指令迁移 allowance 被限定为输出成本,不会放宽额度、准入或冻结实验权威。各模式的 actor、触发、步骤顺序、证据来源、scope、停止和恢复义务逐条检查,没有用字段稳定或绿色预算代替语义判断。额外长 scope/路径的自定义探针在两端仍有部分预算超限,保留为限制,不冒称默认全面满足或新的 runtime 回归。
标准 native premerge 在正确隔离的临时目录中 6 direct + 19 selected 全部通过、0 hold。首次运行把临时目录放在另一个 Git checkout 之下,install 与 catalog 两项失败;相同条件在不可变 base 复现,相关 release-manifest/canary owner 的 blob 完全相同。只把自有临时目录移出 Git 后,base catalog、head installer 及完整 head premerge 通过;没有删测试、缩小扫描或用一次绿结果抹去原失败。额外对全部改动 Python 文件运行 Ruff 发现 heartbeat smoke 的两个未使用变量/import,它们不属于当前 workflow 必要 lint 范围,可一并清理,未混为 CI 阻塞。未查询、轮询或等待 CI。
上述通过项仍不能覆盖直接运行失败的 heartbeat smoke;当前明确风险是这条耐久验证在前段提前退出,后段 CLI/host 分支无法执行。本 PR 不增加新的强制状态、权限开关或领域 provider;默认关闭与现有 context 的权限边界保持不变。源码文本恢复、安装资源交付与真实用户采用、模型收益之间的差别仍须保留。
我的整体评价
结论为 REQUEST_CHANGES,阻塞点是上述一条 P2:修正两处旧测试预期并完整重跑受影响入口。核心修复具有实际价值,范围也相称;未来改动的简化检查已落实在复用既有文档和 typed owner、删去冻结配方,没有需要额外框架的理由。普通安装与默认宿主加载有独立正反例,模型长期收益保持未证明,不能用“测试数多”替代完整交付。
审查开始时原生队列将该准确 head 判为可行动;独立审查进行期间出现作者自评 5557144373。已完整读取该评审,其 APPROVE 没有覆盖这里新复现的两处 smoke 失败,因此完成本轮已获准的独立审查并发布具体反证,不继承作者结论,不新开无依据的重复 fresh audit。此次没有修改 PR 分支或执行合并;修复后应针对新 head 复评。
English verdict: REQUEST_CHANGES — 971791dd09d73e92d83ae878dde46df68ffba6bc fixes real instruction delivery and passes 748 tests, the isolated native premerge (6 direct + 19 selected), and 96 CLI comparisons. However, the complete changed heartbeat smoke passes the immutable base and fails this head on stale expectations at672 and850. Update both assertions without dropping coverage and rerun the unmodified new head; private in-memory counterfactual success is diagnostic only.
Signed-off-by: song <liusongstep@gmail.com>
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent; gpt-6.1-sol; OpenAI; runtime_reported; reasoning_effort=max
动机
维护者让 Agent 接入项目、执行已授权工作或评审 PR 时,需要完整且一致的规则。
以前根规则在默认加载时被截断,安装后的长 skill 和静态记账配方又可能互相竞争;现在根规则完整进入请求,详细步骤从随包引用读取,执行顺序回到当前合同。
本次独立验证了默认 Codex 请求装配、普通 wheel 的六份引用安装与缺失恢复,以及修正后的完整 heartbeat smoke;原先阻塞该 smoke 的两处旧预期已解除。
本次不证明真实模型长期交付收益,不更新用户宿主自动化,也不改变 typed 状态机、额度或合并授权。
改动思路
详细规则和状态机已有各自 owner;路由到既有文档、随包资源和当前 typed 合同,比新增指令注册层或 Python 决策源更合适。
本 PR 交付根指令、安装资源和生成说明的一致性修复;真实宿主采用与模型长期收益另需证据。
下表解释 feccf41ed 的源码关系,不是模型行为证据:
| 触发 | 旧路径 | 当前路径与结果 |
|---|---|---|
| 宿主自动加载根规则 | 40,363 字节超出默认加载边界 | 27,976 字节完整单份进入实际请求 |
| 项目生命周期任务读取 skill | 1,133 行入口混合多个流程 | 203 行入口按任务读取六份随包参考,普通已准入任务不重走接入 |
| 周期宿主再次进入 | 保存展开正文可能冻结旧步骤 | 保存各宿主 loader,每次读取完整成功的新合同 |
| 有用户提醒且另有准入工作 | 提醒可能被当成整轮停工 | 通知、工作和结算分别依照现有 user/agent/CLI channels |
仅修改两处断言可以解除上轮局部失败,却不足以评价整个提案;本次重新审查完整62路径、原规范、实际调用与安装面。只提高一台机器的加载配置会留下默认宿主问题;只缩短根文件又会留下安装资源和 runtime 的竞争配方。把三层入口在同一可回滚切片中修完是合理范围。
具体改动
完整 head 为 feccf41ed696bc511fd136e3c20dca9863d9fec2,实际比较基线为 f9bdae67596c185cebc81dc555dd6a3e0242e9c5,62个文件、+2,990/-2,991。先读的独立接受依据是该基线的 AGENTS.md、docs/development/testing-and-quality.md,以及未修改的 loopx/control_plane/quota/settlement_plan.ts,没有用新文案自定正确性。
| 原规范条款 | 本 head 的处理与独立验证 |
|---|---|
| Goal-Oriented Development | 保留目标、完整交付、停止、恢复与原验收;普通 Todo 完成仍不等于 Turn 或 Goal 终态。 |
| Evidence-Based Budget Decisions | 把重复配方移回现有 owner;按相同CLI负载比较成本,不能靠删除授权、负例或恢复义务标绿。 |
| Refactor Real-Path Validation | 完整 heartbeat 入口、96对CLI结果、真实默认宿主装配、普通wheel安装及缺失恢复均实际执行。 |
| turnScopedCliSettlementPlan | 原 Todo declaration/current lease、先验证再写回/匹配 spend、Monitor no-spend 仍由原 typed owner 决定。 |
| Public/private、worktree、DCO、review/merge | 根中保留约束,细则指向既有 owner;不因已安装 skill、可信宿主或绿色校验增加权限。 |
根规则详细检查、scope-fit、smoke 和显示投影细节回到已有 development、state-machine、release 与 extension 文档;CLAUDE.md 只有 @AGENTS.md。project skill 的191个旧段落中155个归一化后相同,其余36个逐项比较,包括旧路径、固定候选数、无adapter免结算、强造后继、提醒与执行混同、私有读取停工。段落相同只帮助定位迁移,不当作语义证明。根中目标、义务强度、scope、先后顺序、异常、证据和停止条件另行对照;原入站锚点与相对链接仍可解析。
关键代码讲解
build_codex_cli_bootstrap_message(loopx/project_prompt.py:541)分别生成 CLI 和 App 的 bootstrap loader、guard/profile。保存的命令不冻结 Turn;setup-only 不消费交付额度。真实宿主变更仍需原授权与读回,源码更新不会迁移已有自动化。render_heartbeat_task_body与 brief/compact/thin 同族函数(loopx/control_plane/heartbeat/task_body.py)共用授权、继续与当前结算分发。顺序为成功 guard、读 work_context/required_reads、执行和验证,再消费本轮 ordered_steps 或 next_cli_actions;未知效果先读回恢复。兼容命令字段保留给已有消费者,正文不把它们作为旧配方回退。_turn_prompt(loopx/chat_agent.py:455)在 confirmed Task 模式移除竞争的 Goal/Todo/context-handoff 建议,保留 protected-action 边界与实际结果验证;缺权限只阻断依赖动作。manager 按所问问题读取相关 Goal 与来源,影响结论的缺口仍须说明,不强迫每个问题变成全量portfolio报告。materialize_review_execution(loopx/capabilities/pr_review_queue/selection_execution.py:70)在 null action 时区分 Draft、closed、有效结论和未知状态;不凭空宣称已有审批。Markdown 复用该选择解释,实际 action、policy 和 exact-head 权限仍由当前 capability 决定。continuation_instruction_observations只识别已审的完整成本迁移,最多给予一次512字符差分余量;任一必要 clause 缺失或后续重复增长均保留普通门槛。这是窄范围测试观察器,不参与真实工作分类、准入或权限。
six references 明确进入 pyproject.toml data-files。新的安装 smoke 从已安装入口及明确链接读取义务,并检查引用集合、源码字节、幂等和缺失;不再要求场景细则全部挤在根文件。上轮两处 heartbeat 预期已经更新为 blocker-only 以及两种不同的通知/工作 lane,保留原负例和后续 CLI/host 检查。
对主干的风险
最强风险是“文字/尺寸检查都绿,Agent 仍消费旧静态配方或漏掉停止与恢复”。本次因此逐条比较 agent-consumed prose,并执行原消费者,而不是只看相同字段或测试数。默认授权文案从笼统 trusted session 改为现有动作授权;纯 blocker 通知不交付/不 spend,已准入工作即使静默仍须工作与本轮结算,explicit no-spend stop 继续优先。预算调整为 thin 3,200→3,600、brief 4,600→4,800,显示成本与 quota、冻结实验标准无关;相同负载96/96、0 candidate-only,十个一次性文字增长信号保留并审查。
| 本次独立执行 | 结果与边界 |
|---|---|
| 15个完整 changed pytest 模块 | 748 passed、0 skip;另有context/delegation两模块21 passed,集合不叠加成全仓覆盖率 |
完整 examples/control_plane/heartbeat-prompt-smoke.py |
exact head exit0,真正到达后续宿主/CLI断言;上轮971的失败不能标成过去已通过 |
| 标准 native premerge | 6 direct + 19 selected 全过,0 failure,临时HOME/TMP在仓库外 |
| 静态 | 所有改动Python的Ruff、advisory后全量semantic、DCO contribution trailers及GitHub生成合并的已验证原生豁免、diff/bilingual,以及62路径公开边界扫描通过 |
实际 Codex CLI 0.162.0-alpha.17.2 |
不可变base只进入32,768字节;本head27,976字节完整且仅一份,根SHA与准确head一致 |
| 普通wheel与安装入口 | 本head实际构建、checkout外隔离安装;两项skill与六引用source/wheel/installed逐字节相同,链接、重复安装、缺失检测和修复读回通过 |
Codex 实际装配探针执行于7cca与d448;已逐blob确认根分别与当前fecc、f9b一致,复用仅覆盖这个未变化输入。探针在合成临时Git仓库中截获首次localhost请求并返回HTTP400;没有模型推理/工具动作,未存请求正文或鉴权头,也未改用户配置。它证明请求装配,不能证明模型遵守、Claude行为、现有用户会话采用或长期收益。wheel安装也没有更新本机共享默认CLI。rebase后旧ignored Chat bundle被真实build guard判为stale;正常build:chat后重新build wheel、隔离新装和六引用读回全部通过,没有跳过source fingerprint。
安装探针最初误把 ready=false 的只读inspection预期为exit1;实际CLI以exit0返回可读诊断。保留这次探针错误,检查JSON的缺失标志后完成真实repair读回;没有改产品或放宽产品断言。全仓pytest和远端CI本轮未执行/查询;先前作者完整套件未完成及已报告错误保留为历史,不能替代当前覆盖,也不自动否决已独立闭合的维护切片。
默认关闭检查覆盖共享的指令入口与既有context路径:缺失、disabled或读取失败保留单Agent流程,工具可用/skill安装不启用委派;enabled context也不授予spawn权限。关闭路径的配置、状态与effect owner未修改,21项相关测试及安装后实际文案读回支持这个合同判断,不声称执行过真实子Agent。提案由7cca rebase到fecc时吸收32个主干路径;62路径的稳定patch-id完全一致,根、两skill tree、pyproject、prompt/heartbeat与typed settlement输入逐blob不变。新head重新运行了受影响集成、完整smoke、96CLI与native canary;先前实际Codex装配仅在根字节和宿主均不变的范围内复用,未继承旧head的结论。
我的整体评价
APPROVE — feccf41ed696bc511fd136e3c20dca9863d9fec2。problem_context 为 goal_achieved,指本次一致性维修已闭合;long_horizon 为 preserved,保留继续/停止/恢复合同,未证明live收益 improved;user_experience 为 preserved,已知意图和授权不增加重复确认,真实新权限仍需其原入口。
整体规模 necessary/proportionate,architecture retain。未来改动的简化检查已应用于复用既有文档和typed owner、删除冻结配方;兼容生成字段有当前消费者,不引入新注册层或平行状态机。语义词表沿用原owner;新增cost观察键只属局部测试诊断,未创建共享actor/lifecycle合同。observable_semantics.decision_text_assessment 为 intentional_change_validated:改变的是有原合同依据的过时指令,未把压缩预算当授权。原独立RC指出的完整smoke缺口已在当前未修改head实跑解除;发布后仍须独立closeout/readiness,旧review讨论不删除,APPROVE不授予merge权限。
English verdict: APPROVE — feccf41. The complete changed heartbeat smoke now passes. Independent evidence includes748 changed-module tests,21 context tests,96 CLI comparisons,6 direct/19 selected premerge checks, real default Codex request assembly, and a normal wheel install/missing-reference recovery. Full-suite, native-host adoption, live model gains and merge authority remain separate.
合并前复核 / Merge qualification目标提交:
旧讨论收口后,原生 exact-head merge readiness 已返回 English: Independently revalidated the unchanged reviewed head with 748 tests, the complete heartbeat smoke, all 6 direct/19 selected standard premerge checks, lint, bilingual and semantic checks. The fixed discussion is resolved with history retained. Full-suite execution, live-host adoption and long-horizon model gains remain outside this qualification. Merge follows the explicit maintainer request and a final unchanged-head readiness check. |
|
Reviewer: model_agent — gpt-6-astra — OpenAI — runtime_reported — reasoning_effort=xhigh Independent post-merge audit of 新发现 [P2,非阻塞] 安装指南仍描述旧的 Desktop 版本配对流程: 本次按维护者再次要求,对原 PR 的同一不可变 head 执行当前完整审查计划,重新核对 full/compact/brief/thin、原生 Goal 提示及实际 TypeScript 结算 owner。未继承其他审查者的批准;下文 748 项测试、96 组对照和隔离 wheel 证据均由本审查者在本次会话执行,exact head 与工作树仍未改变。本轮另补跑真实结算、重放与后继隔离的 139 项集成测试,全部通过。未发现新的阻塞问题。 动机使用仓库指令、已安装 skill、Chat 或定时 heartbeat 推进任务的 Agent 会遇到这个问题。例如同一轮已经允许继续工作,旧提示仍可能要求遇到任意 gate 就整轮停止,或者从静态模板重建结算命令;新版要求只停受影响路径,并使用当前返回的结算计划。本次可验证的结果是指令完整交付、宿主启动加载器分离,以及授权、通知、继续执行和结算语义对齐;实际模型长期遵从程度尚未由这些测试证明。不新增调度器、授权源或状态机,不替用户升级本机 App,也不把源码合并视为现有会话已加载新指令。 改动思路保留既有 TypeScript 决策与结算 owner,让 Python 生成器和可安装 skill 投影同一合同,比增加平行规则或只删文字更小、更易回滚。本 PR 交付仓库指令、可安装 skill 及现有 Chat/CLI 提示入口的统一修订;桌面运行时选择算法与持久化协议均不变。先从当前 guard 获取准入、工作和结算条件,再进行授权工作、验证、持久化回写和必要结算。通知只决定用户可见输出,不能取消机器投影的工作义务。失败或不确定效果回到当前 readback/recovery;明确 no-spend stop 仍优先。仓库常驻规则留在根目录,细节路由到既有文档;skill 的细节随包发布,不依赖安装目录外的仓库文件。
具体改动全量检查 62 个文件(+2990/-2991),包含 12 个运行时 Python 文件、指令/公开文档/分发配置及对应验证。根规则重组、CLAUDE 单一导入、project skill 由 1133 行入口拆成 203 行入口加 6 个按场景加载的参考文件;细节并未凭行数被删除。 关键代码讲解
独立规范基线为 对主干的风险最大风险是文字缩短后丢掉授权范围、顺序、恢复或停止条件,而字符串测试仍通过。因此我使用同一公开合成 fixture,在不可变 base 与 exact head 分别执行真实 CLI,并逐条检查生成正文。96 组输出对照全部通过;10 组出现已声明的文本增长信号,thin 增加 433 个字符,brief JSON 增加 248 个字符,compact 反而缩短。512 字符的迁移 allowance 仅在完整旧→新条款迁移时适用;缺条款、重复迁移、无关 surface 和越界增长测试会拒绝,不能用它证明模型理解。 我另行执行四种 prompt 模式的独立 oracle:旧版缺少新增的当前授权/有序结算/effect identity/交付继续条款而失败,新版全部满足;真实 bootstrap CLI 也从共用展开正文改为宿主独立 loader,静态进展命令不再出现在 setup message。之前自写探针一度错误地读取 thin JSON 已省略的兼容字段,base/head 同样 KeyError;已改为检查实际正文并重跑,未修改产品测试去消除失败。 本审查者执行:15 个变更测试模块 748 passed;完整 heartbeat smoke 通过;standard premerge 6 项直接检查 + 19 项选择检查通过,无失败、warning 或 manual hold;Ruff、双语 RFC 检查、语义 advisory 与完整 vocabulary drift smoke 通过。真实 wheel 隔离安装读取 本轮新增验证: 语义与 CI 对齐复用现有状态、身份、notification、Todo/Turn 与 settlement 词汇;字符串匹配只用于输出预算观测,不承担准入分类。没有新增 default-off 能力或激活声明,因而无需虚构一个开关的 off 路径。已有受限 Chat、无授权操作、静默通知、纯 blocker、缺失安装文件和明确 stop 负例均保留。机器 我的整体评价当前代码未发现阻塞性问题;上面的安装指导 P2 已单独提出并修正。长程执行层面,当前工作、恢复与结算义务的投影更一致;用户体验层面,减少已授权工作的重复确认和无关诊断,但必要 gate、明确 stop 与实际覆盖缺口不隐藏。这个结论限定于已执行的指令交付与调用路径,不能推导真实 Agent 长期产出率提高。 有界重构已完成有价值的规则共用和文档路由;没有理由把这次提示层修订扩大成控制面语言迁移。保留兼容字段有现有消费者依据,避免改动未要求迁移的 CLI 读取合同。源码合并、包分发、宿主加载和模型采纳是不同证据;现有会话与旧版全局 skill 的采纳仍未验证。本文公开纠正审查时间与新发现,不能追溯声称合并前已经完成了这份独立评审。 English verdict: APPROVE — independent post-merge audit of feccf41; no blocking code regression found. One non-blocking stale Desktop instruction is corrected in #6748. Reviewer-executed validation: 748 changed-module tests plus 139 newly executed real settlement/replay cases, 96 base/head CLI comparisons, standard premerge, four-mode counterfactuals and isolated wheel installation/recovery. Live model adoption remains unverified. |
Goal And Delivered Outcome
The repository instructions exceeded Codex's default 32 KiB loading budget, while lifecycle skills and generated prompts repeated stale execution recipes. This change makes the complete policy reachable and aligns the affected prompts with current authorization, admission, recovery and settlement contracts.
AGENTS.mdis 40,363 → 27,976 UTF-8 bytes; the project skill entry is 1,133 → 203 lines with six packaged, task-routed references. Required authorization, acceptance, public/private, DCO, review and merge constraints remain.main, includingd4487a7c.Author Declaration
AGENTS.md,docs/development/testing-and-quality.md,docs/reference/contracts/interface-budget-contract.md, and the current typed settlement contract inloopx/control_plane/quota/settlement_plan.ts, at based4487a7c.AGENTS.md, existing developer/state-machine guidesskills/loopx-project,skills/loopx-pr-review,pyproject.toml具体问题、修改原因与实现归属
这次改动处理三层彼此关联的行为:宿主加载的仓库规则、按任务触发的 skill,以及每次执行生成的 prompt。它们共同决定 Agent 是否能拿到完整约束、选择正确流程并持续完成授权范围内的结果;单纯缩短文件不能解决旧命令和相互矛盾的指令。
AGENTS.md为 40,363 字节,超过默认 32,768 字节;后部约束可能在自动加载时丢失AGENTS.md、development README/good-smokes、state-machine、root-delivery testsCLAUDE.md只导入@AGENTS.mdorigin/main直接当目标,可能比较错误主干PR_BASE_REFskills/loopx-project、pyproject.toml、安装测试与install-local-smoke.pyheartbeat-prompt --bootstraploader,每次读取新 guard/task_bodyproject_prompt.py及 onboarding/CLI/heartbeat 文档、真实入口 smokesheartbeat/rules.py、task_body.py;先完成实现、集成、负例和回读,真实停止条件仍有效DONT_NOTIFY只约束输出;已准入工作仍继续;纯 blocker 通知不执行交付、不 spendrefresh-state → spend、强造 successor、Todo done 被等同 Turn settledsettlement_plan.ordered_steps或next_cli_actions;使用实际身份/结果并回读;明确 no-spend 优先chat_agent.py、chat_manager.py;移除任意 action-item 数量限制,持续执行与当前问题相匹配autonomous_replan_obligation.py;领域中立,不用笼统 prose 覆盖已有权限 ownerpr_review_queue/selection_execution.py、pr_review.py、review skill;保持当前 policy、goal/spec-first、exact head、发布回读和 merge 权限分离heartbeat/budget.py与既有 CLI budget/differential/semantics validators。一次性差额必须匹配完整新增条款,不能用于后续任意膨胀长时间解决问题能力具体体现在哪里
本 PR 的目标是让现有能力的指令表达一致、可恢复、可验收:确认当前目标和边界后,完成独立可交付切片;受限动作等待时继续可做的授权工作;中断/压缩后读取当前状态;未知结果先查 effects/readback;按当前 Turn 完成结算;完成即结束,不靠制造后继任务或扩大范围维持运行。当前 typed admission、quota、权限和终止规则均仍由原 owner 决定。
以上是实现和契约检查支持的改进,不宣称已经证明真实模型的长期任务成功率、费用或速度提高。真实宿主采用与 provider 连续运行需要各自证据。
保留的授权与验收约束
参考了哪些规范和实现
外部材料用于设计取舍,并未照搬成新的权限规则:
@AGENTS.md共享政策,详细流程按需读。loopx-self-repair的按症状 reference、TypeScriptsettlement_plan.ts/interaction_contract.ts、review capability 当前 execution contract、共享 heartbeat clauses 与既有 CLI differential/oracle。没有新增平行 Python 决策源。完整取舍、来源和未证明边界见本 PR 的
docs/research/2026-10-17-agent-instruction-skill-prompt-guidance.md。#6723 的纳入与关闭依据
PR #6723 与本 PR 同时重写根指令,不能当作互不冲突的两项修复独立合并。本 PR 已吸收它的项目定位、Claude 共享入口和外部研究依据;其默认截断问题和根入口/链接回归由本 PR 一并覆盖。
不照搬三份新的
agent-delivery/engineering/operations文档,因为本 PR 已把对应细则归入现有 development、release、state-machine、extension 和 smoke owner,再引入完整政策副本会增加维护分歧。也不把 12 KiB / 200 行变成另一硬门槛;本次保留必要根约束并满足真实默认字节边界。27,976 字节不是最优长度或永久余量保证,后续增长仍受检查。因此本 PR 是统一后继提案。覆盖、实际宿主组装与当前 head 验证核对后,#6723 已关闭为 superseded,保留原分支和审查记录;处置说明。关闭不表示合并,其旧 head 的 APPROVE、CI 和宿主观测不会自动继承到本 PR;本 PR 重新验证并独立评审。
Scope And Continuation
Review follow-up —
7cca45b04针对 P2 评审意见,本次只修改
examples/control_plane/heartbeat-prompt-smoke.py:blocker-only turns,不把所有带用户提醒的已准入工作都当作不记账。blocker-push NOTIFY字面断言改为同时检查user_todo_blocker_push无交付/无 spend,以及bounded_delivery_with_user_notice/已准入 safe bypass 必须执行工作和当前结算。assert_orderedimport 和state_only_refresh变量;保留所有负例与后续 CLI/host 检查,不改产品文字、权限或状态机来迎合测试。提交后的准确 head 完整 heartbeat smoke exit 0,相关通知单测 24 passed,Ruff、diff 和 staged bilingual 检查通过。同一 head 的标准 premerge 6 direct + 19 selected 全通过、0 failure(103.91 秒)。环境使用 Node 22.22.3、仓库外临时 HOME/TMPDIR;未修改真实宿主配置。第一次未隔离 HOME 的本地运行受已有 legacy registry 影响,在更早的路径断言处退出;隔离运行保留正常路径发现,未 monkeypatch 生产路径或修改断言绕过环境。
此前 748 项及 6+19 项结果只覆盖上一 head 所列范围;它们没有发现这条完整 smoke 的两处旧断言,不能据此声称旧 head 的所有受影响验证已经通过。当前补跑完整脚本补足这个缺口。独立 REQUEST_CHANGES 保留,等待新 head 复评,未自行撤销其他 reviewer 的意见或合并。
Validation
971791dd09d73e92d83ae878dde46df68ffba6bc; based4487a7c0a332365fc80ee3ca43d421bdf510d42.971791ddis historical. The subsequent independent REQUEST_CHANGES identified stale assertions in the complete heartbeat smoke. Follow-up7cca45b049b315261e6e3e5098d3a71c737e5a86repairs them; a new-head review is still required. No prior approval transfers to this head.d4487a7c; full/compact shrink, thin/brief retain explicitly assessed authority/recovery clausesBudget decision: thin task body 3,200 → 3,600 characters; brief 4,600 → 4,800. Thin JSON/Markdown ceilings change only for the measured envelope overhead. A bounded one-time differential allowance requires all newly preserved continuation clauses; partial or repeated migrations receive no allowance. Admission, quota and frozen experiment budgets are unchanged.
A bootstrap test initially reused an unqualified Node 25 effect daemon. Base and head both pass with isolated Node 22.22.3 / SQLite 3.51.3 runtimes; changing PATH alone did not replace the existing daemon. No shared daemon or active Goal was modified. The wheel's first teardown raced a temporary observer write; a retained temporary-host rerun passed all install/readback checks.
Coverage limits: no live model/provider job, real host automation update, PostgreSQL authority change or deployment. Source delivery, installed skill availability, model adoption and sustained outcome improvement remain distinct. CI/reviewer/merge-readiness and maintainer merge authorization remain independent gates.
实际宿主入口与安装证据
@AGENTS.md导入的同一正文完整进入请求,一份在隔离临时 Git 仓库捕获首次 localhost HTTP 请求;端点返回错误,不执行模型或工具,不保存原始请求、凭证或真实宿主配置。根文件 SHA-256 为
db3c89500751e8eb577cb942c8e3448e55ba5c986c5b48aaf35227d836f25ed1,与当前 head 一致。该证据证明请求组装,不能证明模型遵守或现有用户会话已更新。Wheel 安装证据执行于
4674039eb,SHA-25616be00a3ea7290b3bdd4109fb04ede22f32b9d162fbcf53ecfee295be8d84041:仓库外安装走python_distribution,六份 reference 和两项 skill 均匹配源码;相对路径、重复安装和缺失文件检测通过。当前 head 的loopx/、skills/Git tree 及pyproject.tomlblob 与该 revision 完全相同,复用范围只限这些未变的运行时/skill 输入;新根入口另行执行上述宿主探针。失败归因与剩余边界
test_top_level_module_count_stays_at_the_pinned_budget在 base/head 同样失败,均为相同 146 个顶层模块超过预算 145;测试与 fixture 内容相同,本 PR 未新增顶层生产模块。1 passed, 2 errors:测试注入的os.scandir错误在恢复 monkeypatch 前被 cleanup glob 触发,随后产生级联错误。相关源码 blob 相同。cancel-obsolete-pr首次因等待旧 head 工作流取消超时而失败;已读回旧 run 为 cancelled,重试该维护 job 后为 SUCCESS。托管 CI 的最终状态仍以 Checks 为准。Frontend / Visual Evidence
Type of Change
LoopX Area
Technical Direction
Existing overall-roadmap S5/S7/S12: reliable continuation, current-contract execution and maintainable instruction delivery. This repair does not close live long-horizon or fleet qualification.
Shared-authority RFC fixture impact
N/A: no authority storage, promotion, transport or shared-state semantics changed.
Boundary Checklist