Skip to content

Validate and configure Antigravity repair models#563

Merged
wwind123 merged 2 commits into
mainfrom
issue-562-repair-model
Jul 14, 2026
Merged

Validate and configure Antigravity repair models#563
wwind123 merged 2 commits into
mainfrom
issue-562-repair-model

Conversation

@wwind123

Copy link
Copy Markdown
Owner

Fixes #562

Implements configurable Antigravity repair models with the current default, one-time PTY-safe agy models discovery, actionable stale-model diagnostics, deduplicated fallback into antigravity_models, and direct attempts when discovery is unavailable. Preserves legacy Gemini repair semantics and updates documentation/tests.

Tests:

  • python3 -m pytest tests/test_repair.py tests/test_antigravity.py
  • python3 -m pytest

@wwind123

Copy link
Copy Markdown
Owner Author

Implemented and opened PR #563 for issue #562.

  • Default Antigravity repair model is now Gemini 3.5 Flash (Medium).
  • Repair candidates are validated once via PTY-safe agy models, with actionable stale-model diagnostics and fallback behavior.
  • Added regression coverage and updated documentation.

Tests: python3 -m pytest tests/test_repair.py tests/test_antigravity.py (186 passed); python3 -m pytest (1535 passed).

-- OpenAI Codex: gpt-5.6-luna

@wwind123

Copy link
Copy Markdown
Owner Author

Review verdict: Blocking

Solid implementation of configurable repair-model validation and Antigravity-chain fallback (catalog fetched once via agy models, stale names skipped with actionable diagnostics, direct-attempt fallback when discovery itself fails), with good new regression coverage. One doc file was missed and now contradicts the other two updated docs in this same PR, and a parallel Literal type in usage.py wasn't extended for the new outcome value.

Same-PR follow-ups

  • docs/skill_mode.md:160-162 still says 'explicit repeatable repair models define the only fallback chain,' which is now false — execute_repair's models chain is repair_models followed by antigravity_models (repair.py:1114). README.md and docs/local_agent_loop.md were correctly updated in this same PR to describe the new chain; skill_mode.md needs the same fix so the docs don't contradict each other.
  • usage.py:94-96 and usage.py:202-204 define outcome: Literal["succeeded", "nonzero_exit", "empty_output", "timeout", "spawn_error", "invalid_output"] for UsageCallRecord/RunUsageContext.add_record, but repair.py:1143 now passes outcome="unavailable_model" into add_record, a value outside that Literal. repair.py's own RepairOutcome Literal was correctly extended (repair.py:1007-1010); the usage.py copy was missed.
  • tests/test_repair.py:861-863 — only one blank line separates the new test_antigravity_repair_attempts_directly_when_catalog_fails from test_runner_pty_timeout_is_opt_in_and_retains_combined_log; the rest of the file uses two blank lines between top-level test functions (PEP 8).

-- Anthropic Claude: claude-sonnet-5

@wwind123

Copy link
Copy Markdown
Owner Author

Coder follow-up

Implemented all requested follow-up fixes and pushed them to the existing PR branch; the PR remains blocked pending another review round.

Addressed items

  • item-1: Same-PR follow-up from Anthropic Claude: claude-sonnet-5, round 1: docs/skill_mode.md:160-162 still says 'explicit repeatable repair models define the only fallback...
    • Resolution: Updated docs/skill_mode.md to describe explicit repair models followed by the configured Antigravity fallback chain.
  • item-2: Same-PR follow-up from Anthropic Claude: claude-sonnet-5, round 1: usage.py:94-96 and usage.py:202-204 define `outcome: Literal["succeeded", "nonzero_exit", "empty_...
    • Resolution: Added unavailable_model to both usage.py outcome Literal declarations used by UsageCallRecord and RunUsageContext.add_record.
  • item-3: Same-PR follow-up from Anthropic Claude: claude-sonnet-5, round 1: tests/test_repair.py:861-863 — only one blank line separates the new `test_antigravity_repair_att...
    • Resolution: Added the missing blank line between the top-level tests in tests/test_repair.py.

Remaining items

  • None.

Tests run

  • python3 -m pytest tests/test_repair.py tests/test_usage.py — 147 passed
  • python3 -m pytest — 1535 passed

-- OpenAI Codex: gpt-5.6-luna

@wwind123

Copy link
Copy Markdown
Owner Author

Review verdict: Approved

All three round-1 same-PR follow-ups are resolved: docs/skill_mode.md now correctly describes the repair-models-then-antigravity-chain fallback, usage.py's outcome Literal now includes "unavailable_model" matching repair.py's RepairOutcome, and the missing blank line in tests/test_repair.py is fixed. No new issues found in this round's diff.

Prior unresolved item dispositions

  • [item-1] Same-PR follow-up from Anthropic Claude: claude-sonnet-5, round 1: docs/skill_mode.md:160-162 still says 'explicit repeatable repair models define the only fallback... -> resolved
  • [item-2] Same-PR follow-up from Anthropic Claude: claude-sonnet-5, round 1: usage.py:94-96 and usage.py:202-204 define `outcome: Literal["succeeded", "nonzero_exit", "empty_... -> resolved
  • [item-3] Same-PR follow-up from Anthropic Claude: claude-sonnet-5, round 1: tests/test_repair.py:861-863 — only one blank line separates the new `test_antigravity_repair_att... -> resolved

-- Anthropic Claude: claude-sonnet-5

@wwind123

Copy link
Copy Markdown
Owner Author

Review verdict: Approved

The PR correctly addresses all requirements and fixes the three prior unresolved items. Tests and documentation are properly updated.

Prior unresolved item dispositions

  • [item-1] Same-PR follow-up from Anthropic Claude: claude-sonnet-5, round 1: docs/skill_mode.md:160-162 still says 'explicit repeatable repair models define the only fallback... -> resolved
  • [item-2] Same-PR follow-up from Anthropic Claude: claude-sonnet-5, round 1: usage.py:94-96 and usage.py:202-204 define `outcome: Literal["succeeded", "nonzero_exit", "empty_... -> resolved
  • [item-3] Same-PR follow-up from Anthropic Claude: claude-sonnet-5, round 1: tests/test_repair.py:861-863 — only one blank line separates the new `test_antigravity_repair_att... -> resolved

-- Google Antigravity: Gemini 3.1 Pro (High)

@wwind123
wwind123 merged commit 337d220 into main Jul 14, 2026
1 check passed
@wwind123
wwind123 deleted the issue-562-repair-model branch July 14, 2026 03:49
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.

Validate and configure the Antigravity repair model instead of hard-coding Gemini 3 Flash

1 participant