File size: 5,735 Bytes
852e525 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | # 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)
```json
{
"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
```bash
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
```bash
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
```bash
# 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:**
```bash
ls -la ~/.config/opencode/*.bak
```
---
## Test Environment
- **OS**:
- **OpenCode Version**:
- **Antigravity Manager Version**:
- **Test Date**:
- **Tester**:
|