docs: drop vault compatibility — fresh start with 6 credentials
Commander approved. No Go↔Rust encryption compatibility needed. Fresh vault, fresh wraith.db. Removes compatibility test from Phase 1 and risk register. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
5de73dfabb
commit
110f489ace
@ -288,9 +288,7 @@ npm install -D tailwindcss @tailwindcss/vite
|
||||
|
||||
- [ ] **Step 2:** Write tests — encrypt/decrypt round-trip, wrong key fails, format compatibility with Go-generated blobs
|
||||
|
||||
- [ ] **Step 3:** **Critical test:** Encrypt a value with the Go version, decrypt it with the Rust version. This ensures the existing wraith.db can be opened by the new app. If formats differ, add a compatibility layer.
|
||||
|
||||
- [ ] **Step 4:** Commit: `feat: vault encryption — Argon2id + AES-256-GCM`
|
||||
- [ ] **Step 3:** Commit: `feat: vault encryption — Argon2id + AES-256-GCM`
|
||||
|
||||
---
|
||||
|
||||
@ -748,11 +746,9 @@ impl Drop for Session {
|
||||
|
||||
## Migration Notes
|
||||
|
||||
### Database Compatibility
|
||||
### Database — Fresh Start
|
||||
|
||||
The SQLite schema is identical between Go and Rust versions. The Commander can copy `%APPDATA%\Wraith\wraith.db` from the Go version and the Rust version will read it — connections, credentials, host keys, settings, themes all carry over.
|
||||
|
||||
**Critical:** The vault encryption format (`v1:{iv_hex}:{sealed_hex}`) must be byte-compatible between Go's `crypto/aes` + `crypto/cipher` and Rust's `aes-gcm` crate. Test this in Task 1.3 Step 3.
|
||||
No database migration from the Go version. The Commander has 6 connections — faster to re-enter credentials than to engineer format compatibility. Fresh vault, fresh wraith.db.
|
||||
|
||||
### What Gets Deleted (Copilot/AI)
|
||||
|
||||
@ -783,6 +779,6 @@ The Go codebase has an AI copilot integration (8 files in `internal/ai/`). This
|
||||
| `russh` async complexity | Use `tokio` throughout; russh is well-documented with examples |
|
||||
| ironrdp maturity | Fallback to FreeRDP FFI if ironrdp can't deliver 1080p@30fps |
|
||||
| Tauri v2 multi-window edge cases | Spike tab detach early in Phase 5; fall back to floating panels |
|
||||
| Vault encryption compatibility | Test Go↔Rust encryption in Phase 1 before building anything else |
|
||||
| Vault encryption | Fresh vault — no Go compatibility needed. 6 credentials re-entered by hand. |
|
||||
| Windows code signing in Tauri | Same jsign + Azure Key Vault approach; Tauri bundler produces .exe |
|
||||
| Cross-platform SSH crate differences | russh is pure Rust, no platform-specific code; test on Windows early |
|
||||
|
||||
Loading…
Reference in New Issue
Block a user