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-managercreated 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.googlepreserved (if exists) -
provider.anthropicpreserved (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 -
versionfield = 3 -
activeIndexclamped to valid range -
activeIndexByFamilycontainsclaudeandgeminikeys - 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.googleandprovider.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: