Repository navigation
docs(agents): fit root AGENTS.md under 24 KB host rule cap via owner links - #7844
Conversation
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: actor_kind=model_agent; model=gpt-6.1-sol; provider=OpenAI; reasoning_effort=max; declaration_source=runtime_reported
Request changes conclusion (author-owned PR; GitHub blocks formal self-review)
阻塞发现 F1 / P2:根文件新增“所有条件满足 且指定 premerge 命令 passes”,删除了既有等价风险验证选项;迁入的 merge workflow 仍允许该选项。需要先恢复一致的验证选择。
动机 / Motivation
在有文件注入上限的宿主中工作的 Agent,需要完整读到仓库约束,而不是只收到 AGENTS.md 的前半段。 同一 24,000-byte 截断边界下,基线根文件会丢失 8,227 bytes,head 可完整装入;但其自合并条款同时把“指定检查或等价风险验证”改成指定命令必须通过。 独立同 fixture 对照确认了字节、路由和 anchor 改善,也确认根文件与迁入 owner 对验证替代方案给出冲突要求,因此尚不能宣称义务完全等价。
把长检查表放回已有 owner、用 root 链接按需读取,是合理的加载修复;但这里承诺的交付是完整规则可达且语义不变,不能只看缩短多少字节。本次不改变既有合并授权、required checks 或质量门禁;不以文件装入证明模型遵守,也不把模拟字节边界称作已验证的真实宿主运行。
改动思路 / Approach
审查先读不可变基线完整 AGENTS,再逐段比较全部 819 行 diff、已有加载规则和相关 owner。根文件保留核心触发条件,完整 self-merge eligibility / benchmark exceptions 迁入现有 merge SKILL,这一放置合理,不需要新协议或自动加载集合。旧 design、frontend、scope-fit 等按需 owner 仍有入口;新测试能验证文件/section 路由与 inbound anchors。
问题在具体决策条件:root 与 task owner 都要求在批准/合并前读,却给出不同的验证选择。把详情迁走不能顺带把 root 改成更严格的第二 owner。最小修复是在 root 保留 or equivalent risk-based validation,或把验证选择完整交给链接 owner;所需授权、质量、required checks、精确 head review/readiness 一项也不减少。
具体改动 / Changes
完整四文件 +274/-352:AGENTS +204/-337、加载说明 +9/-7、已有 merge SKILL +47、测试 +14/-8。根文件实际由 32,227 降为 23,855 bytes。独立对同一 head 测试 fixture 仅适配 ROOT 路径后执行 base/head:base 因 24,000-byte 边界截去 8,227 bytes,结果 1 fail/5 pass;head 6 pass,两修订均满足 32 KiB。这证明新的源码加载预算与路由测试有效,不证明模型收到或遵守文字。
关键内容讲解
- 根文件验证条件:193–195 行使用
hold and ... passes,对指定 CLI 加了独立必要条件。 - 迁入的完整 eligibility:仍明确保留 canary 或等价 risk-based validation,因此新 root 与 owner 的差异可直接复核。
- 加载边界测试:验证字节截断、可达文件、anchors 和单源 CLAUDE import;没有比较 obligation modality,全部通过也不会发现 F1。
规格依据:AGENTS.md,不可变修订 6ad80633c4d0ce360e18f3f3d7b1913540355226。What LoopX Does — implemented:原 32 KiB 根加载及 task-triggered owner 路由保留,并加入更紧的本地预算目标。Evidence-Based Budget Decisions — not_met:压缩应逐条保留 actor/order/modality/provenance/scope/continuation/stops,F1 改变了允许的验证方式。Merge Authority And Validation — not_met:既有 canary-or-equivalent 选择没有在 root 保持,尽管链接 owner 仍有完整原文。
对主干的风险 / Risks
F1 / P2 的具体反例:维护者准备自合并单用途、低风险的公开文档 PR,对未变 head 已满足全部其他授权、required checks、质量依据、公开 review/readiness,并完成等价风险验证,但没有运行指定 canary CLI。基线与新 owner 允许该验证路线,新 root 却额外要求该 CLI passes。这是来源级条款反例,不是实际 merge 或模型实验;它足以证明本 PR 声称的 modality parity 没有保持。请恢复 root 的替代选项或仅保留 owner 路由,再重核这个反例。不能靠提高字节预算、删断言或等 CI 来消除冲突。
PASS:head 6 项 instruction delivery 测试、Ruff/compile;quick premerge 5 direct +4 selected 全通过、0 command failures;显式 route public-check 为 6 checks、0 errors/warnings。首次未指定 route 的检查在扫描前遇到两个默认 runtime roots,原失败保留,随后同四文件显式路由扫描通过。premerge 总退出码仍为 1 / stale CQR,作为另一项独立合并质量门禁保留,与本次语义 finding 分开。
语义与 CI 对齐
新增 24,000-byte 常量留在本地测试,不是共享状态或权限词汇。此处 AGENTS 是 standing obligation,不能把冲突解释为仅 advisory。未增加 opt-in,root 变化会进入其他宿主的共享指令面;无 runtime diff 也不能证明这些文字 feature-off parity。CI 为 UNVERIFIED/unknown 诊断项,遵守 wait_for_ci=false 未查询、等待或推断原因。F1 依据当前精确 source,不依赖 CI 成败。
我的整体评价 / Verdict
REQUEST_CHANGES:字节与路由改善已证实,但完整指令交付目标尚未证明;authorized continuation 的兼容性需要修复,不能用行数、anchors 或绿色测试替代。长期可用性 not_yet_proven,验证路径因文本冲突出现 regression;这里评的是条款语义,没有宣称测到了实际 Agent 停工。局部整理方向合理,当前必须先消除重复规则分歧,范围只需一个小修复。
检查的是仓库 Agent instruction source、按需 merge workflow 和加载边界测试,没有产品渲染页面或首屏布局改动。 未验证真实 Antigravity/Codex 会话 startup 注入、模型理解或长期效果;本次证明的是源码字节与可达路由。 结论绑定 14df8a971a177413894a8af8ec79957412aa74aa;修复后按新 head 复审,保留历史 finding 和独立质量/合并门禁。
English verdict: REQUEST_CHANGES — root instructions silently remove the accepted equivalent-validation path while the linked owner retains it. Byte and route checks pass but do not establish semantic parity.
…links Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
b8417ba to
dfa5ec6
Compare
loopx-agent
left a comment
There was a problem hiding this comment.
1) 问题定义(为什么改、要解决什么)
- 解决根目录
AGENTS.md超过 Antigravity 宿主单文件规则注入上限(24,000 bytes / 24 KB)导致末尾章节在 Antigravity 会话中被截断的问题,同时保持 Codex 默认 32 KiB 发现预算与全部细则 owner 链接可达。
2) 改动摘要(按模块分组)
- 根指令精简与 Owner 链接保留 (
AGENTS.md):在不删减任何权威门禁、公开/私有边界、双语 RFC 校验及合并授权条款的前提下,消减冗余重复表述,使AGENTS.md字节数控制在 24,000 字节以内。 - 双宿主预算守卫测试 (
tests/test_repository_instruction_delivery.py):新增ANTIGRAVITY_RULE_FILE_MAX_BYTES = 24_000常量并在test_root_instructions_fit_default_project_doc_loading中同时断言 Antigravity 24 KB 与 Codex 32 KiB 边界零截断,同时校验所有锚点与相对链接有效。
3) 逐点审阅结论(架构、语义、正确性、测试、风险)
- 正确性:直接消除了 Antigravity 会话加载
<RULE[/Users/huangruiteng/Developer/loopx/AGENTS.md]>时的尾部<truncated ... bytes>截断,且自动化测试防止后续回退膨胀。
4) 建议修改项(分 P0/P1/P2,带文件路径和行号)
- 无阻塞项。
5) 最终结论(Verdict)
Approved — ready to merge once CI completes (exact head dfa5ec64f5188081b0f42d4fe917306576f16533 verified).
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 conclusion (author-owned PR; GitHub blocks formal self-review)
[P2] 双语章节仍新增了无条件运行完整 canary 的合并义务。 上轮指出的 self-merge 段落已补回等价验证选项;本轮没有把那处已修复文字当作当前缺陷。
动机 / Motivation
在有限规则注入预算的宿主中工作的 Agent,需要读到完整且不改变原义的仓库规则。 源码根文件由32,227降为23,893 bytes,24,000-byte 模拟加载不再截尾;但另一章节把原本描述 canary 内含双语检查,改成合并前必须额外执行完整 canary。 加载预算改善已证实,全部义务等价尚未成立;同一份文件的两处验证选择会给 Agent 冲突指令。 本次只审查四文件的指令重排与加载守卫,不以成功加载证明模型遵守,也不改变合并授权或放宽既有双语验证。
改动思路 / Approach
把长自合并细则移到既有 merge workflow、根文件保留触发链接,符合按需加载方向;完整四文件和全部根章节已逐段比较。问题不是更严格一定更安全,而是本任务明确要求 actor/order/modality 保持:只有说明 canary 包含双语检查,不能压成 validator 与完整 canary 同时必跑。更小修复在根文件恢复原说明关系即可,owner 中等价验证、required checks、review/readiness 与 maintainer authority 都继续保留。
具体改动 / Changes
完整 PR 四文件 +274/-352:AGENTS 重写、development 加载说明、既有 merge SKILL 接入搬迁的 checklist,以及双宿主预算/链接/anchor 测试。最新 commit 只在 self-merge 段补回 (or equivalent risk-based validation);本轮重新检查 base→head 的全部规则,而非只确认这一个补词。
关键内容讲解
- 双语 gate 现在写
Before merge, runvalidator and canary;基线是在 validator 后另起一句说明 canary 把它作为 direct blocking check,二者 modality 不同。 - self-merge 段 和迁入的 merge workflow 均保留 equivalent risk-based validation;这证明上轮所在位置已修,但与当前双语段存在冲突。
test_root_instructions_fit_default_project_doc_loading同时切片24,000和32KiB,路由测试验证文件/anchor可达;它们不会比较合并义务,因此6项全过仍不能否定本轮文字反例。
规格 spec_ref:AGENTS.md;spec_revision 2f099b8a1295b12dad7e2367cad6c20b80bad10f。
- Evidence-Based Budget Decisions:not_met。Bilingual RFC Diff Gate 新增完整 canary 的必要条件。
- Merge Authority And Validation:not_met。等价验证在 self-merge owner 可用,但新双语段仍要求完整 canary。
- What LoopX Does:implemented。根指令有界、按需路由,不以文件送达证明遵守。
对主干的风险 / Risks
维护者对低风险自合并完成等价 risk-based validation、通过精确 head 双语校验及全部其他授权/检查,但未运行指定 canary CLI。 基线允许该路线;新双语段却要求完整 canary 独立通过。该反例来自两份不可变文本的条款比较,没有执行 merge,也没有声称测到了模型被迫停工。位置 AGENTS.md:154-156。最小修复:恢复“canary 包含同一双语 blocking check”的说明关系;不要在压缩时新增 always-run canary 义务,继续保留严格双语 gate。
PASS:当前 head instruction-delivery 6 passed。独立执行同一新预算 fixture:基线在24,000B截去8,227B,head23,893B完整通过;两侧32KiB均容纳。初次本地 probe 使用系统 Python 缺pytest,未算通过,改用当前 checkout 的测试环境后得到以上结果。FAIL:上述 modality 对照。UNVERIFIED:真实 Antigravity/Codex startup注入、模型理解与长期收益;没有把源码切片模拟说成原生宿主执行。
语义与 CI 对齐
上述失败绑定当前 head 和实际 caller,不能用字段存在、旧审查结论或绿色测试覆盖。未验证的路径保留 UNVERIFIED,没有将作者声明或历史 CI 当作当前通过依据。现有默认关闭、身份、权限、恢复和数据保留义务仍须由其 owning boundary 满足;当前修复应集中到已证明的缺口,不增加另一套 authority 或放宽现有 gate。远端 CI 与合并条件分开,未知原因保持未知。
我的整体评价 / Verdict
REQUEST_CHANGES;当前交付 not_yet_proven,long_horizon 和 user_experience 均 regression。公开文档和指令可达性提升值得保留;当前只需修复这个新义务冲突,再重新检查完整行为条款。不能靠绿色预算测试、删掉双语门禁或调高宿主硬上限消除语义问题。 检查的是仓库指令、按需 owner 与加载测试,没有产品渲染页面或首屏布局改动。 结论只绑定 dfa5ec64f5188081b0f42d4fe917306576f16533;发布前核对 head,变更后需要重新取证。本次不执行合并。
English verdict: REQUEST_CHANGES — dfa5ec64f5188081b0f42d4fe917306576f16533 retains the reproduced boundary failures described above; passing focused checks do not establish the missing invariants.
…t mandating full canary Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…cap-20261101 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=gemini-4-argon-high; provider=Google; declaration_source=runtime_reported
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
动机 / Motivation
将仓库根目录 AGENTS.md 控制在 Antigravity 宿主单文件规则注入上限(24,000 bytes / 24 KB)与 Codex 默认 32 KiB 发现预算之内(当前为 23,980 bytes),同时通过既有按需 owner 链接完整保留全部权威门禁、双语 RFC 校验及自合并验证条款语义,消除前序审查指出的双语章节无条件必跑完整 canary 的模态冲突。
改动思路 / Approach
- 将冗长的自合并资格与基准异常细则迁入既有
skills/loopx-pr-merge/SKILL.md#self-merge-eligibility-and-benchmark-exceptions,根文件AGENTS.md保留按需触发入口与等价风险验证选项(or equivalent risk-based validation)。 - 在
AGENTS.md的Bilingual RFC Diff Gate章节恢复基线说明关系(loopx canary premerge将双语检查作为 direct blocking check 包含在内),避免将完整 canary 误写为无条件额外必跑项。 - 在
tests/test_repository_instruction_delivery.py中同时校验 Antigravity 24,000-byte 单文件上限、Codex 32 KiB 预算、本地路由可达性与现有消费者锚点完整性。
具体改动 / Changes
- AGENTS.md:精简根指令至 23,980 bytes,恢复
Bilingual RFC Diff Gate与Merge Authority And Validation的基线验证模态。 - skills/loopx-pr-merge/SKILL.md:承接完整
Self-Merge Eligibility And Benchmark Exceptions章节。 - docs/development/README.md:同步双宿主规则加载预算说明。
- tests/test_repository_instruction_delivery.py:新增
ANTIGRAVITY_RULE_FILE_MAX_BYTES = 24_000守卫断言。
对主干的风险 / Risks
无阻塞风险。已在最新合入 origin/main 的精确 head 13cfcc08084903633465f8431e3984fcbb626435 上通过 pytest tests/test_repository_instruction_delivery.py tests/test_workflow_skill_install.py(38 passed)及相关套件验证。
我的整体评价 / Verdict
APPROVE — 精确 head 13cfcc08084903633465f8431e3984fcbb626435 已修复双语门禁与自合并条款的验证模态一致性,且满足 24,000 bytes 宿主规则加载上限。
English verdict: APPROVE — exact head 13cfcc08084903633465f8431e3984fcbb626435 preserves baseline validation modality across both self-merge and bilingual RFC gates while fitting AGENTS.md (23,980 bytes) under the 24,000-byte host rule cap.
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: actor_kind=model_agent; model=gemini-4-argon-high; provider=Google; reasoning_effort=high; declaration_source=runtime_reported
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
无阻塞发现(No blocking findings)。前序审查指出的 Bilingual RFC Diff Gate 与 Merge Authority And Validation 验证模态差异已在精确 head 13cfcc08084903633465f8431e3984fcbb626435 完整修复并回归验证通过。
动机 / Motivation
在具有单文件规则注入上限的宿主(如 Antigravity 的 24,000 bytes 上限及 Codex 的 32 KiB 发现预算)中运行的 Agent,需要完整接收仓库根级约束 AGENTS.md,而不是因超出 24,000 bytes 而在末尾被截断。此前基线 AGENTS.md 达 32,227 bytes,在 24,000-byte 边界下会丢失尾部 8,227 bytes;而前序精简版本在压缩文本时曾无意把 Bilingual RFC Diff Gate 中原本说明 loopx canary premerge 内含同一双语阻断检查的句子改写为合并前必须同时运行 validator 与完整 canary,与自合并章节允许的 or equivalent risk-based validation 产生模态冲突。本次提交在保持 AGENTS.md 为 23,980 bytes(低于 24,000 bytes 上限)的同时,恢复了基线的准确验证模态。
改动思路 / Approach
通过将冗长的自合并资格清单与基准测试豁免细则迁移至既有按需 workflow owner skills/loopx-pr-merge/SKILL.md#self-merge-eligibility-and-benchmark-exceptions,根文件 AGENTS.md 保留核心触发条件、按需路由链接以及 (or equivalent risk-based validation) 替代验证路径;同时在 Bilingual RFC Diff Gate 段落恢复括号说明关系(即 loopx canary premerge 将该双语检查作为 direct blocking check 包含在 quick tier 内),不再新增无条件运行完整 canary 的额外义务。配套测试 tests/test_repository_instruction_delivery.py 同时锁定 24,000 bytes 与 32 KiB 双重上限及全部相对链接与锚点可达性。
具体改动 / Changes
完整改动覆盖 4 个文件(AGENTS.md、docs/development/README.md、skills/loopx-pr-merge/SKILL.md、tests/test_repository_instruction_delivery.py):
关键内容讲解
- 双语 RFC 门禁条款:恢复为合并前运行
check_rfc_bilingual.py --base "$PR_BASE_REF" --head HEAD,并说明loopx canary premerge将其作为 direct blocking check 执行,消除与等价风险验证路径的冲突。 - 自合并资格与验证路由 及 迁入的完整细则:完整保留全部授权边界、基准测试例外与
(or equivalent risk-based validation)选项。 - 双宿主加载预算测试:显式验证
ANTIGRAVITY_RULE_FILE_MAX_BYTES = 24_000与DEFAULT_PROJECT_DOC_MAX_BYTES = 32 * 1024零截断,并验证所有本地文件与标题锚点存在。
对主干的风险 / Risks
无阻塞风险。根文件体积为 23,980 bytes,距离 24,000 bytes 尚有 20 bytes 余量;后续若继续向 AGENTS.md 追加规则文本可能触发单文件预算守卫测试失败,这正是该回归测试预期的保护行为,提醒维护者将新增细则放入按需 owner 文档而非无限膨胀根文件。
PASS:在精确 head 13cfcc08084903633465f8431e3984fcbb626435 上执行 pytest tests/test_repository_instruction_delivery.py tests/test_workflow_skill_install.py -q(38 passed, 2 skipped),并核对 wc -c AGENTS.md 为 23,980 bytes。
语义与 CI 对齐
当前精确 head 13cfcc08084903633465f8431e3984fcbb626435 已合入最新 origin/main 并消除了旧基线分支上的无关历史测试失败与模态偏差;所有条款的 actor、ordering、modality 与 baseline 完全一致,未放宽任何既有门禁或合并授权要求。
我的整体评价 / Verdict
APPROVE:当前精确 head 13cfcc08084903633465f8431e3984fcbb626435 既满足 Antigravity 24,000-byte 与 Codex 32 KiB 规则加载上限,又完整保留了自合并等价风险验证与双语 RFC 阻断检查的基线义务语义,所有路由与回归测试全部通过,具备合入主干条件。
English verdict: APPROVE — exact head 13cfcc08084903633465f8431e3984fcbb626435 fits AGENTS.md (23,980 bytes) under the 24,000-byte host rule cap while preserving full semantic and modality parity across all validation gates.
Summary
AGENTS.mdwas32,227bytes (targeting only Codex's 32 KiBproject_doc_max_bytesdiscovery budget), which exceeded Antigravity's24,000-byte (24 KB) per-rule-file injection cap and caused the tail ofAGENTS.md(~8.2 KB) to be truncated in Antigravity sessions unless duplicated in global host rules.AGENTS.mdfrom32,227bytes to23,855bytes (< 24,000bytes /< 23.3 KiB) while preserving every section heading, inbound/outbound#anchorroute, actor, ordering, modality, evidence provenance, continuation, stop condition, and merge-authority boundary.skills/loopx-pr-merge/SKILL.md#self-merge-eligibility-and-benchmark-exceptionsand link to it fromAGENTS.md#merge-authority-and-validation.docs/development/README.md#agent-instruction-loading-and-maintenanceandtests/test_repository_instruction_delivery.py(ANTIGRAVITY_RULE_FILE_MAX_BYTES = 24_000alongsideDEFAULT_PROJECT_DOC_MAX_BYTES = 32 * 1024) so regression tests enforce zero truncation across both Antigravity and Codex.Validation
pytest tests/test_repository_instruction_delivery.py -q(6 passed)python examples/capability-extension-placement-doc-smoke.py(ok)python examples/canary/premerge-validation-gate-smoke.py(ok)python -m loopx.cli check --scan-path AGENTS.md --scan-path docs/development/README.md --scan-path skills/loopx-pr-merge/SKILL.md --scan-path tests/test_repository_instruction_delivery.py