Fix lint failures: exhaustive switches, errcheck, goconst
main·
Commit

Eleven golangci-lint issues from the all-refs branch additions:
- exhaustive (8): every kind/action switch in planner, relay, replicate, bootstrap, and syncer needed explicit no-op cases for the new RefKindOther / ActionWarn enum members. Folded the dead default branches into explicit cases — exhaustive's intent is to flag any future enum addition that silently lands in default.
- errcheck (2): the test code's
if v, _ := m["x"].(T); ...pattern triggered errcheck for the discarded comma-ok bool. Switched toif v, ok := m["x"].(T); ok && .... - goconst (1): "bootstrap" appeared three times across syncer test files. Added relayModeBootstrap alongside relayModeIncremental and relayModeBootstrapBatch.
PlanReplicationRef: dropped the redundant default arm — the reason string was identical to the RefKindBranch case, so the new case RefKindBranch, RefKindOther covers it.
CanIncrementalRelay: turned the default: arm into the explicit
RefKindOther case it always was. Same outcome, exhaustive happy.
replicate.Execute: dropped the unreachable default that errored on
unknown actions. The new switch covers every Action explicitly; if
a future Action gets added, exhaustive will yell at the call site.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com Entire-Checkpoint: aacb424eaf37
Checkpoints
Checkpoint 1