Skip to content

Commit f090720

Browse files
committed
docs: correct false at-rest, pi-parity, and killswitch-default claims
- refresh token is plaintext under 0600, not encrypted at rest by Google - pi has no account pool/rotation/killswitch; only transport+transforms are shared - killswitch.accounts is unset by default (emptyOperatorSettings omits it), not {}
1 parent e8d4365 commit f090720

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ Legacy `antigravity-gemini-3-flash` style aliases resolve through `MODEL_ALIASES
125125

126126
The account pool persists in `antigravity-accounts.json` (storage schema `AccountStorageV4`) with locking via `acquireFencedFileLock` so concurrent writers cannot corrupt the file. Each account carries:
127127

128-
- `refreshToken` (encrypted at rest by Google; the file itself sits under `0600`)
128+
- `refreshToken` (stored in plaintext; the file sits under `0600` with its parent directory at `0700` — filesystem permissions are the only protection at rest)
129129
- `email`, `enabled`, `coolingDownUntil`, `cachedQuota`, `healthScore`
130130
- `projectId` (optional; used by Gemini CLI)
131131
- `fingerprintHistory` and `verificationRequired` / `verificationUrl` (used by the verification flow)
@@ -214,7 +214,7 @@ pi
214214
/login google-antigravity # OAuth flow
215215
```
216216

217-
The Pi extension registers the `google-antigravity` provider automatically through the package's `pi.extensions` field; no further wiring is needed. Account storage is Pi-local (it does not share the OpenCode `antigravity-accounts.json`), but the underlying transport is identical because both packages delegate to `@cortexkit/antigravity-auth-core`. Quota, routing, and killswitch semantics are therefore identical to the OpenCode plugin.
217+
The Pi extension registers the `google-antigravity` provider automatically through the package's `pi.extensions` field; no further wiring is needed. Both packages delegate to `@cortexkit/antigravity-auth-core`, so the request transport and model transforms are shared. The account-pool layer is not: Pi holds a single credential locally (no `antigravity-accounts.json`, no rotation, no killswitch, no operator settings). Multi-account rotation, quota routing, and the killswitch are OpenCode-only.
218218

219219
## Configuration reference
220220

@@ -279,7 +279,7 @@ The Pi extension registers the `google-antigravity` provider automatically throu
279279
| `operator.routing.quota_style_fallback` | bool | `false` || Live override of `quota_style_fallback`. |
280280
| `operator.killswitch.enabled` | bool | `false` || Master killswitch. |
281281
| `operator.killswitch.minimum_remaining_percent` | number (0-100) | `5` || Global hard block threshold. |
282-
| `operator.killswitch.accounts` | record<string, number> | `{}` || Per-account override (key = `sha256(refreshToken).slice(0,12)`). |
282+
| `operator.killswitch.accounts` | record<string, number> | unset || Optional per-account override (key = `sha256(refreshToken).slice(0,12)`). Absent by default; falls back to `minimum_remaining_percent`. |
283283
| `operator.log_level` | `error` \| `warn` \| `info` \| `debug` \| `trace` | `"info"` || Runtime log-level filter (mutable from `/antigravity-logging`). |
284284

285285
`globalThis.fetch` calls inside the package go through `fetchWithActiveTimeout` (see [State, cache, log, RPC, and dump files](#state-cache-log-rpc-and-dump-files)).

0 commit comments

Comments
 (0)