Skip to content

Handle empty Antigravity print results#1

Draft
SpadesZ wants to merge 4 commits into
mainfrom
codex/antigravity-empty-stdout-degraded
Draft

Handle empty Antigravity print results#1
SpadesZ wants to merge 4 commits into
mainfrom
codex/antigravity-empty-stdout-degraded

Conversation

@SpadesZ

@SpadesZ SpadesZ commented Jun 25, 2026

Copy link
Copy Markdown
Owner

Summary

  • Treat agy --print stdout as diagnostic and keep completion tied to report MCP/result marker.
  • Ignore legacy unsafe ANTIGRAVITY_AGY_MODEL=Gemini 3.5 Flash (Medium) and remove that default from install templates.
  • Add Antigravity conversation SQLite fallback: when stdout is empty but a non-user response step contains DEV_TRIANGLE_RESULT_READY, Dev Triangle recovers the result into the mailbox and marks the handoff complete.
  • Document the physical recovery path and no-hardcoded-model rule so future installs do not reintroduce this failure.

Root Cause

Antigravity CLI can authenticate, stream model/tool activity, and still return exit 0 with empty stdout. On this Windows machine the model response was present in %USERPROFILE%\.gemini\antigravity-cli\conversations\*.db, while stdout stayed empty. The correct durable completion signal is the report MCP/result marker, with SQLite DB recovery as a local fallback.

Verification

  • python -m py_compile server.py antigravity_report_server.py tests/protocol_smoke.py tests/report_server_smoke.py
  • python tests/protocol_smoke.py
  • python tests/report_server_smoke.py
  • git diff --check
  • scripts/smoke.ps1
  • Real local smoke: patched run_antigravity_print_smoke(...) passed via antigravity_conversation_db fallback while raw stdout was empty.
  • Real blocked handoff antigravity-20260626052726-f572619f reran successfully and submitted through dev-triangle-report; ledger/result status is COMPLETED, recommendation MERGE.

@SpadesZ

SpadesZ commented Jun 27, 2026

Copy link
Copy Markdown
Owner Author

Update: added Windows agy recovery hardening in a6b67f2. The runner now starts agy from USERPROFILE, passes target repo via --add-dir, records --log-file, recovers completed results from Antigravity transcript JSONL, keeps existing conversation DB fallback, and can mark timeout cases COMPLETED when a ready fallback result exists. Validation: py -3.12 py_compile, tests/protocol_smoke.py, tests/report_server_smoke.py, scripts/smoke.ps1 all pass. Real agy health smoke passed via fallback with agy available, stdout empty, timedOut true, fallbackFound true.

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