{
  "client": "antigravity-cli",
  "version": "1.2.7",
  "platform": "darwin-arm64",
  "observedAt": "2026-09-21T19:29:23.548Z",
  "capability": "native_delivery",
  "result": "pass",
  "fixture": "antigravity-cli-1.2.7-relay-product",
  "launchMode": "ordinary-command-with-installed-hooks",
  "protocolContract": "antigravity-agentapi-relay-v1",
  "idle": "offered",
  "busy": "queued_after_turn",
  "reply": "routed",
  "duplicate": "same_message_id",
  "fallback": "queued",
  "limitations": [
    "Observed on darwin-arm64 with Antigravity CLI 1.2.7 in the TUI, model Gemini 3.8 Flash, through a private candidate built from this branch and installed into an isolated ACC data home; print mode ends with its turn and runs no relay.",
    "The agent started the relay once for the conversation through run_command, after ACC's one-time context line named the command; the operator approved that command and each acc reply once at the client's permission prompt. ACC writes no permission rule.",
    "The relay holds the session's language-server address and CSRF token in memory only; ACC's registration carries a nonce and a socket path, never the endpoint. ANTIGRAVITY_AGENTAPI_EXE named the same agy the relay runs.",
    "An idle session woke with no user input. A message accepted while the model was streaming a long text answer was presented only after that answer completed. A message accepted while a turn waited on a tool permission was presented at that turn's next model invocation, after the tool returned, rather than after the turn.",
    "The busy branch took three sends: the first landed at a tool boundary as above, the second arrived after the answer had already finished and so showed an idle wake; the third, timed against the running stream, is the one recorded.",
    "The model receives each push as a SYSTEM_MESSAGE; the send-message title is not shown to it.",
    "The observed reply loop uses the installed acc reply CLI; native delivery.replyRoute remains false. The router reports a relay push as transport live-adapter.",
    "A repeated logical message kept its message id, took the durable path on the second send, and was pushed and answered once.",
    "Antigravity runs no SessionEnd: the relay retired itself about five seconds after its agy exited, and a later message stayed queued in the durable inbox.",
    "The first TUI session in a folder trusted at that launch hands every hook an empty workspacePaths even with --add-dir, so that session gets no ACC context and no relay prompt; the next launch in the now-trusted folder does."
  ],
  "packageSha256": "fa1dab632b9ec5cef0e391b3779816eb479beaaee6c6197b0b166a24b0cf2887"
}
