Document mc-proxy migration in PROGRESS.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-25 16:57:31 -07:00
parent e02c616270
commit db5ef85fa9

View File

@@ -99,6 +99,37 @@ Dependencies added:
Result: vet clean, lint 0 issues, builds successfully.
### Phase 11a: mc-proxy Migration (2026-03-25)
mc-proxy migrated db and config to mcdsl. Different pattern from mcat
because mc-proxy doesn't embed config.Base (no [server] or [mcias] sections).
| Changed | How |
|---------|-----|
| `internal/db/db.go` Open | Delegates to `mcdsl/db.Open` |
| `internal/db/migrations.go` | Function-based migrations → `mcdsl/db.Migration` SQL strings |
| `internal/db/snapshot.go` | Delegates to `mcdsl/db.Snapshot` |
| `internal/config/config.go` Duration | Type alias for `mcdsl/config.Duration` |
| `internal/config/config.go` Load | Uses `mcdsl/config.Load[T]` + Validator interface |
Key design decisions:
- Store wrapper kept (has CRUD methods specific to mc-proxy)
- `type Duration = mcdslconfig.Duration` alias so all existing code
referencing `config.Duration` continues to work unchanged
- mc-proxy's complex validation stays as a Validate() method
- Manual env overrides kept for int64 rate_limit (reflection can't handle)
Dependencies removed as direct:
- `modernc.org/sqlite` (now indirect via mcdsl)
- `github.com/pelletier/go-toml/v2` (now indirect via mcdsl)
Behavioral change: invalid duration env overrides are now silently ignored
(test updated to match).
Result: all tests pass, builds clean. Net -129 lines.
## Next Steps
- Phase 11: Broader adoption (metacrypt, mcr, mc-proxy, mcias)
- Phase 11b: mcr migration
- Phase 11c: metacrypt migration
- Phase 11d: mcias migration