Skip to content

fix(heartbeat): display the exact guard command once in Markdown - #7612

Merged
loopx-agent merged 1 commit into
mainfrom
codex/bot-runtime-adoption-20261029
Oct 28, 2026
Merged

loopx-agent merged 1 commit into
mainfrom
codex/bot-runtime-adoption-20261029

Conversation

@loopx-agent

@loopx-agent loopx-agent commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

The generated heartbeat Markdown repeated the complete quota guard in the copyable task body and Generator Inputs. Keep the full task body and all instructions, and replace only an exact whole-line duplicate diagnostic with an explicit pointer. Missing, different, prefix-only and failed bodies retain the full command. JSON, execution/settlement behavior and thresholds are unchanged.

Validation: 74 focused tests; paired real CLI on immutable base/head keeps identical JSON and task body while reducing guard copies 2→1 and Markdown 6618→6227 characters; six direct plus fourteen selected source premerge checks pass. The unchanged 96-row frozen comparison has zero failures, preserving the original three Markdown failures as history. Another 157 projection/context tests pass.

Remaining qualification gap: the full CLI budget suite has 37 passes, one skip and one unchanged pre-existing failure. The supported 320-character scope emits 4532 JSON characters over the 4500 regression ceiling at both immutable base ccf6aac and this exact head; body length is 4181/4200. This Markdown-only change does not alter that causal path. Complete runtime-activation qualification remains held on that separate budget contract; no threshold relaxation or installed-adoption claim. Remote CI is not consulted under the current local-validation policy.

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

@loopx-agent loopx-agent left a comment •

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer: model_agent; gpt-6.1-sol; OpenAI; runtime_reported; reasoning_effort=max

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

动机 / Motivation

生成或检查心跳提示的操作者会在 Markdown 中连续读到两份相同的长准入命令。 同一注册夹具中,旧输出 6618 字符、命令两份;当前输出 6227 字符、完整命令一份,诊断区直接指向正文。 真实 CLI 配对输出已验证 JSON 与可复制正文完全相同,首个 guard 显式选择 Todo 的规则完整保留。 本 PR 只修复生成提示的重复展示;不改变执行许可、结算、阈值,也不把本地测试当作已安装 Bot 的采用或业务回复。 不处理会把有价值的首轮选择指令与可避免的重复成本混在一起;当前范围已经交付可验证、可回退的展示修复,不代表父级产品目标完成。

改动思路 / Approach

去掉同一渲染器中的精确重复即可保留全部执行指令,不需要新状态、协议或预算豁免。 当前 PR 只合并 Markdown 中已有的完整命令展示,生成、准入、持久状态和结算仍由原实现负责。 support_control.py 经公开 heartbeat facade 调用原有 Markdown 渲染器;生成的 payload 是唯一输入,输出字符串不写状态。最强反对理由是诊断区的读者可能依赖第二份命令,因此本改动保留字段名和明确位置,正文逐字不变,JSON 不变,失败及不相同的命令仍打印全文。与提高预算、裁掉准入指令或建立新的引用层相比,这个局部判断足够解决已测问题。流程短且输出为 CLI 文本,使用文字说明即可,无需增加图形产物。

具体改动 / Changes

验收依据是 docs/heartbeat-automation-prompt.md 在 ccf6aac 的既有合同,未用本 PR 新加段落倒推规范。PROMPT-C1 对应保留所有条件和必需响应;PROMPT-C2 对应保留生成字段与当前动态结算责任;PROMPT-C3 对应在既有展示预算内保留有用语义。三项均 implemented:完整正文和 JSON 配对相等,当前合同继续负责选择、恢复与结算,原阈值和夹具规模未改。

关键代码讲解

render_heartbeat_generator_inputs_markdown(loopx/control_plane/heartbeat/task_body.py:734)只在结果非失败、命令非空且正文含完全相同的整行时,输出指向正文的诊断。这里使用完整行比较,不能把加了另一个 Todo 参数的长命令当成相同命令。render_heartbeat_prompt_markdown(同文件 :823)仍先处理 error 分支;失败时正文不会展示,所以共享诊断必须保留全文。公开 facade 与 CLI 调用者均复用这一入口,未复制命令生成规则。测试补齐 missing、prefix、different、error 四种反例,并更新已有两种 prequota 场景对展示位置的预期;文档中英文一致说明变化。

对主干的风险 / Risks

未发现阻塞问题。最强反例是失败 payload 恰好携带同名命令,但外层并不展示正文;四种负例验证避免隐藏唯一可用诊断。真实 CLI 在相同注册夹具上运行不可变 base 与本 head,旧版本的“只出现一次”独立断言失败,修复后通过:6618→6227 字符,2→1 份命令,而 JSON 和 task_body 完全相同。74 项聚焦测试 PASS;源码 premerge 的 6 项直接检查、14 项选择检查全部 PASS,包含编译、双语 RFC、语义及公开边界检查。未查询或等待远端 CI。此前冻结 96 行对比的三项 Markdown 增长失败保留,本候选在同一规模与阈值下为零失败;另外两项已合入诊断压缩信号不属于本 PR 的差异,不能据此声称已验证安装采用。

补充预算检查并非全绿:完整 test_cli_output_budget.py 为 37 PASS、1 SKIP、1 FAIL;失败是 320 字符 scope 的 JSON 4532 超过回归预算 4500。用同一单项命令在不可变 base ccf6aac 与本 head 复现,失败身份和数值完全相同,正文均为 4181/4200。该 PR 不改 JSON 生成因果路径,真实 CLI 配对亦证明完整 JSON 相等,因此归为 pre_existing_unrelated,而不是宣称本 PR 修好了它。这个旧预算缺口仍限制完整运行时采用资格,后续应由原预算合同处理;没有删除 scope、放宽断言或缩小夹具。另有 157 项投影与上下文读取测试 PASS,为既有两项诊断压缩信号提供补证。

语义与 CI 对齐

本改动复用既有字段与展示所有权,完整执行文本中的 actor、触发条件、先后顺序、证据、范围、继续与停止义务未变化。预算只用于测成本,不被当作删语义的许可;没有提高阈值、缩小夹具或登记新协议来隐藏失败。Markdown 诊断位置属于有意披露的变化。尚未验证模型如何理解它;没有把字符串相等当作模型行为证据。

我的整体评价 / Verdict

在 head daa6469,本项展示修复已达到声明目标,long_horizon=preserved,user_experience=improved:重复调用没有新的状态或副作用,操作者可直接复制原正文且减少重复阅读。去掉同一渲染器中的精确重复即可保留全部执行指令,不需要新状态、协议或预算豁免。 当前 PR 只合并 Markdown 中已有的完整命令展示,生成、准入、持久状态和结算仍由原实现负责。 实际受影响的是 CLI 生成文本,无页面布局变化,因此 visual_review=not_applicable;未验证范围是已安装 App 展示及模型采用,这些不是本 PR 的完成声明。整体 +46/-2 中生产代码仅一个本地分支,无新依赖、状态或配置;保留 JSON 和失败诊断有实际消费者依据,当前范围适度。APPROVE 与随后独立的合并资格、安装采用保持分别验证。

English verdict: APPROVE — daa6469; no blocking findings. Paired real CLI output preserves JSON and the complete task body, removes only a duplicate guard, and passes focused and repository premerge checks. The unchanged pre-existing 4532/4500 JSON budget failure remains a separate runtime-activation qualification hold.

@loopx-agent
loopx-agent merged commit fc62d52 into main Oct 28, 2026
24 of 36 checks passed
@loopx-agent
loopx-agent deleted the codex/bot-runtime-adoption-20261029 branch October 28, 2026 22:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant