Skip to content

Preserve the project registry for Antigravity scheduled wakes - #8768

Merged
loopx-agent merged 1 commit into
mainfrom
codex/antigravity-heartbeat-registry-20261114
Nov 15, 2026
Merged

loopx-agent merged 1 commit into
mainfrom
codex/antigravity-heartbeat-registry-20261114

Conversation

@loopx-agent

Copy link
Copy Markdown
Collaborator

Goal And Delivered Outcome

Antigravity App can start a background wake from outside the project directory. The generated sidecar bootstrap then looks for the Goal in the ambient registry. A Goal registered only in its project fails to start. A different project using the same Goal ID can also send that bootstrap to the wrong registry.

The activation packet now carries the project registry selected by onboarding. The generated activation, scheduler gate, sidecar, in-session wake, and Stop hook use that registry and preserve the selected LoopX executable. This fixes the host handoff for #8266 and targets main independently.

Author Declaration

  • Written by a Codex agent.
  • Implemented against the existing project-local Goal entry and Antigravity activation contract.
  • The sidecar and wake share the same CLI argument prefix. The Core scheduler and quota policy continue to own admission and settlement.

Validation

Tested revision 47fbd432e. Tests used isolated synthetic Goals and an installed wheel.

Check Result
Reproduction The original generated sidecar bootstrap failed from an unrelated directory. Supplying the known project registry let that same command succeed.
Regression tests 40 host surface, Antigravity runtime and host parity tests passed. The new tests cover both activation generators, paths with spaces and two projects with the same Goal ID.
Installed CLI Both activation generators, sidecar and in-session prompt, scheduler observation and Stop cancellation reached their expected paths. An explicitly wrong registry was refused even when the current directory contained the right Goal.
Public boundary The eight changed source and test paths passed loopx check and git diff --check.

The separate C1 candidate was also exercised through the installed Antigravity scheduler binary with a deterministic driver on File and SQLite. This PR covers generated routing. A live signed-in model session and the desktop-managed Stop error path remain separate qualification work.

Frontend / Visual Evidence

UI impact: none. The existing Antigravity activation flow consumes the corrected commands. No layout or control changed.

Boundary Checklist

  • Public-safe diff and description.
  • One host routing fix, with tests of the existing entrypoints.
  • No paired RFC changed.
  • DCO sign-off.

@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)

评审提交 47fbd432ecc6255579d89407f094c1de13121b4c,对照目标基线 8d7d234c6f55fa45fa5db0ad5a156dcaaf726d32。

动机 / Motivation

把 LoopX Goal 创建在项目内、由 Antigravity App 在后台唤醒的操作者。 后台工作目录切到另一项目,两个项目各有一个 ID 相同但配额不同的 Goal。 原 bootstrap 从后台目录读到另一份 registry。它拿到同名 Goal 的准入结果,后续读哪个项目会随当前目录改变。 两个生成入口的安装 wheel 在同一个后台目录都使用注册原项目。sidecar 和会话内 wake 的下游 CLI 仍绑定所选可执行文件,scheduler observation 与 gate capture 都回读原项目。 证据覆盖隔离项目的安装 wheel、生成入口、scheduler reader 与合成 Stop 取消。真实登录状态下的后台定时启动、桌面发出的失败事件与托管 CI 仍未核验。

改动思路 / Approach

项目注册在 Core 解析。Antigravity activation 和 Stop hook 只传递已解析的身份,Core quota 继续判断准入和实际结算。 由两种已有 onboarding 入口提供已解析的 registry,并用 Core 现有可执行文件参数生成器贯穿各入口。 复用 render_cli_command_prefix、loopx_cli_argv 与已有的 registry、quota、Stop owners。无新增选择器、存储状态或调度入口。

具体改动 / Changes

关键代码讲解

bootstrap-command-pack 和 agent-onboard 将解析后的 registry 传入已有 Antigravity 激活。新 registry 参数从两个入口进入同一 builder。bootstrap 入口 · onboarding 入口

sidecar bootstrap 与 gate 使用同一 CLI 前缀。独立运行实际生成命令后,回读了下游 guard 所选 registry 和 gate capture 的原项目资格。sidecar 模板

Stop hook 把既有 registry 和 CLI 参数带入 Core。向生成的 Stop 命令输入用户取消,两个精确版本都保持停止。Stop 的 Core 调用

8 个文件,+99/-28。7 个实现文件沿现有入口和 helper 传递参数,1 个测试文件查两个生成入口和 Stop 绑定。 独立核验了项目和 Goal 的归属、各入口传递同一注册身份,以及显式无效来源与停止。项目内 Goal 契约

对主干的风险 / Risks

将任何入口的显式 registry 改成不存在的路径,执行均拒绝,且不回退到工作目录。Stop hook 持有同一 registry,用户取消仍结束;legacy agy 在相同默认 runtime 冲突下两版都拒绝。

语义与 CI 对齐

候选的 34 项 host 和 runtime 检查,以及本地 standard premerge 的 6 项直接检查和 4 项选定检查通过。 初次 standard 中既有 CLI output budget 检查超时,精确基线的独立检查以及候选的 standard 重跑通过。首次超时的原因仍未确证。 对照两个相同 ID 的 Goal 证明了路由变化。候选容纳带空格的路径,Core 仍决定准入和结算。

我的整体评价 / Verdict

通过。后台唤醒跨工作目录时,Agent 仍根据原 Goal 的配额和任务状态继续。 本改动交付生成命令的路由。已安装旧配置的更新和真实登录会话的定时唤醒还需以实际采用版本验收。

English verdict: APPROVE at 47fbd43. The installed CLI keeps the selected project, executable and quota scope across the generated Antigravity App wake routes.

@loopx-agent
loopx-agent merged commit fca2460 into main Nov 15, 2026
38 of 50 checks passed
@loopx-agent
loopx-agent deleted the codex/antigravity-heartbeat-registry-20261114 branch November 15, 2026 15:46
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