app / docs /testing /opencode_sync_verification_checklist.md
AZILS's picture
Upload 86 files
852e525 verified

OpenCode Sync Verification Checklist

Manual test checklist for OpenCode sync feature PR

1. Pre-check

1.1 Backup Files Path

  • Verify backup suffix: .antigravity-manager.bak (new) and .antigravity.bak (legacy)
  • Verify backup location: ~/.config/opencode/opencode.json.antigravity-manager.bak
  • Verify accounts backup: ~/.config/opencode/antigravity-accounts.json.antigravity-manager.bak

1.2 Plugin Installation Scenarios

Scenario Expected Behavior
Plugin NOT installed Sync button available, shows "OpenCode not detected" warning
Plugin installed Shows version, sync enabled
Plugin path auto-detect Finds opencode in PATH, npm, pnpm, yarn, nvm, fnm, Volta

2. Sync Behavior Verification

2.1 Provider Creation

  • provider.antigravity-manager created with correct structure
  • npm: @ai-sdk/anthropic
  • name: Antigravity Manager
  • options.baseURL: ends with /v1 (auto-normalized)
  • options.apiKey: matches proxy API key

2.2 Existing Providers Not Overwritten

  • provider.google preserved (if exists)
  • provider.anthropic preserved (if exists)
  • Other providers untouched

2.3 Accounts Export File (v3 Structure)

{
  "version": 3,
  "accounts": [...],
  "activeIndex": 0,
  "activeIndexByFamily": {
    "claude": 0,
    "gemini": 0
  }
}
  • File created at ~/.config/opencode/antigravity-accounts.json
  • version field = 3
  • activeIndex clamped to valid range
  • activeIndexByFamily contains claude and gemini keys
  • Disabled accounts excluded from export

3. Variants/Thinking Behavior Verification

3.1 Claude Thinking Models

opencode run "test" --model antigravity-manager/claude-sonnet-4-6-thinking --variant high
  • --variant low β†’ thinkingBudget: 8192
  • --variant medium β†’ thinkingBudget: 16384
  • --variant high β†’ thinkingBudget: 24576
  • --variant max β†’ thinkingBudget: 32768

3.2 Gemini 3 Pro Models

opencode run "test" --model antigravity-manager/gemini-3-pro-high --variant low
  • --variant low β†’ thinkingLevel: "low"
  • --variant high β†’ thinkingLevel: "high"

3.3 Gemini 3 Flash Models

  • --variant minimal β†’ thinkingLevel: "minimal"
  • --variant low β†’ thinkingLevel: "low"
  • --variant medium β†’ thinkingLevel: "medium"
  • --variant high β†’ thinkingLevel: "high"

3.4 Gemini 2.5 Flash Thinking

  • --variant low β†’ thinkingBudget: 8192
  • --variant medium β†’ thinkingBudget: 12288
  • --variant high β†’ thinkingBudget: 16384
  • --variant max β†’ thinkingBudget: 24576

4. Plugin Compatibility Verification

4.1 Plugin Model Unaffected

# If opencode-antigravity-auth plugin installed
opencode run "test" --model google/antigravity-claude-sonnet-4-6-thinking --variant max
  • Plugin provider works independently
  • Manager sync does not interfere with plugin accounts
  • Both can coexist

5. Clear/Restore Verification

5.1 Clear Config

  • Removes provider.antigravity-manager
  • Optional: clears legacy entries from provider.google and provider.anthropic
  • Preserves other providers

5.2 Restore Function

Backup Type Expected Result
New suffix (.antigravity-manager.bak) Restores successfully
Old suffix (.antigravity.bak) Restores successfully (backward compatible)
Both exist Prefers new suffix
None exists Shows "No backup files found" error

6. Pass/Fail Summary Table

Test Category Test Item Status
Pre-check Backup path correct ⬜ Pass / ⬜ Fail
Pre-check Plugin detection works ⬜ Pass / ⬜ Fail
Sync Provider created correctly ⬜ Pass / ⬜ Fail
Sync Existing providers preserved ⬜ Pass / ⬜ Fail
Sync Accounts v3 structure valid ⬜ Pass / ⬜ Fail
Variants Claude thinking budgets ⬜ Pass / ⬜ Fail
Variants Gemini 3 Pro levels ⬜ Pass / ⬜ Fail
Variants Gemini 3 Flash levels ⬜ Pass / ⬜ Fail
Variants Gemini 2.5 thinking budgets ⬜ Pass / ⬜ Fail
Compatibility Plugin unaffected ⬜ Pass / ⬜ Fail
Clear/Restore Clear removes manager provider ⬜ Pass / ⬜ Fail
Clear/Restore Restore with new suffix ⬜ Pass / ⬜ Fail
Clear/Restore Restore with old suffix ⬜ Pass / ⬜ Fail

7. Troubleshooting Notes

Issue: Sync fails with "Failed to get OpenCode config directory"

Cause: Cannot determine home directory
Fix: Ensure HOME (Unix) or USERPROFILE (Windows) env var is set

Issue: Variant not applied

Cause: Model ID mismatch or variant type not defined
Fix: Check model ID in catalog matches request; verify variant_type in build_model_catalog()

Issue: Backup not created

Cause: Backup file already exists (idempotent)
Fix: Delete existing .bak files manually if you need fresh backup

Issue: Accounts not exported

Cause: All accounts disabled or sync_accounts not checked
Fix: Enable at least one account; check "Sync accounts" option in UI

Issue: Plugin conflicts with manager provider

Cause: Both using same model IDs
Fix: Use different model IDs or disable one provider

Issue: Restore fails

Cause: Backup files missing or permissions
Check:

ls -la ~/.config/opencode/*.bak

Test Environment

  • OS:
  • OpenCode Version:
  • Antigravity Manager Version:
  • Test Date:
  • Tester: