Spotting Agents That Are Alive but Stuck — Designing a Progress Heartbeat and Watchdog
The process is alive but the work isn't moving — the nastiest state for a background agent. Here is how to switch from liveness to progress monitoring to detect it, and how to stop it safely, with working code.
When Background Agents Run Twice — Stopping Double Execution with Leases and Fencing Tokens
The same scheduled job fires from two machines at once and they overwrite each other's output. Here is how to stop that failure mode at the root in Antigravity 2.0 background agents, using leases and fencing tokens, with working code.
When Your Antigravity-Written Tests Only Look Green: Measuring Effectiveness with Mutation Testing
Tests written by an Antigravity agent can pass and still fail to catch the bug that matters. Here is how to measure their real effectiveness with mutation testing and only adopt tests after they kill the surviving mutants — with working code.
When Antigravity Skips Parts of a Long Attached PDF — and a Gate That Forces It to Cite Sources
How to handle the case where Antigravity answers confidently from a long attached PDF but quietly skips a clause. With working code: a prompt that forces citations, and a gate that verifies each cited quote actually exists in the PDF.
Adding Mediation Partners Quietly Starved My iOS Attribution — Reconciling SKAdNetwork IDs Across Four Apps
I added mediation partners but iOS revenue barely moved — the cause was missing SKAdNetwork IDs in Info.plist. Here is how I reconciled SKAdNetworkItems across four apps, using an Antigravity agent as the matcher while keeping the revenue decisions by hand.
A Review Gate Design for Safely Folding Parallel Agents' Diffs into One Branch
Antigravity 2.0 made running multiple agents in parallel practical, but verifying each agent's output and integrating it into one branch is left to you. Here is how to build a diff-level review gate in stages, with judgment criteria and scripts.
It Did Things I Never Asked For — Binding an Agent's Task Scope With a Contract
Ask it to fix a button color and you get a refactor, renames, and a dependency bump too. This is a scope problem, not a permission one. Here is a contract that stops at the scope boundary and asks.
Antigravity and Gemini CLI — Why the June 2026 Sunset Changed the Comparison
Gemini CLI's consumer offering ended on June 18, 2026, and its terminal role passed to the Go-based Antigravity CLI. With the premise changed, here is how the two design philosophies differ and what to check before you migrate.
When Streaming Works Locally but Arrives All at Once in Production — Field Notes on Proxy Buffering and Silent Stalls
Stream Gemini through Antigravity over SSE and it flows token-by-token on localhost, then freezes for seconds and dumps the whole answer in production. Field notes on measuring the stall first, then killing proxy buffering, idle disconnects, and reconnect-driven double generation.
Confirm Your Unattended Runs Survived a Point Release in 30 Seconds
As Antigravity ships point releases at a fast clip, how do you stop scheduled runs from quietly breaking after an update? Here is a lightweight smoke test that detects regressions against a golden output and rolls back automatically when it diverges.
Where to Start Reading an Unattended Agent's Changes — A Digest for Re-Entry
How do you review the pile of changes an unattended agent left overnight? Not the full diff, not the chat log — a re-entry digest grouped by risk class.
Turning Faster Substring Search into Solid Grounding for Agents in Large Repos
Antigravity's substring search got faster. Rather than stopping at perceived speed, here is how to wire it into a search design that hands agents exactly the right context in a huge codebase, with concrete steps and pitfalls.