fix(core): throw on unimplemented migration sources instead of silently no-oping#748
fix(core): throw on unimplemented migration sources instead of silently no-oping#748Alexi5000 wants to merge 1 commit into
Conversation
…ly no-oping The ChatGPT, Claude.ai, and Gemini migration stubs only called console.log and returned successfully, giving callers no indication that migration was not performed. Replace with explicit errors so consumers know the feature is pending. Prefix unused params with underscore to satisfy linters.
|
Hi @Alexi5000 - I'm taking a look at the fixes in This comment is updated in place by pr-reviewer. |
PR-Reviewer-Ant
left a comment
There was a problem hiding this comment.
Review metadata
- Reviewer: pr-reviewer
- Model:
gpt-5.5 - Commit:
8e98444c
The implementation matches the PR description: the three currently unimplemented migration sources now fail explicitly instead of logging and returning success. I did not find a correctness, security, or data-integrity issue in this diff.
Confidence: High [sufficient_diff_evidence, targeted_context_included] - The changed file is small and the diff directly covers the described behavior in platform/core/src/migrate.ts. Each implemented switch branch still dispatches as before, and each unimplemented source now throws a descriptive Error instead of silently returning.
Summary
console.logstubs inmigrateChatGPT(),migrateClaude(), andmigrateGemini()with explicitthrow new Error()callsinputPathparameters with underscore to satisfy lintersmigrate()now get a clear error instead of a successful no-op when using an unimplemented sourceMotivation
The current stubs in
platform/core/src/migrate.tslog a message and return successfully, which means callers have no way to distinguish between a successful migration and one that did nothing. This can mask issues in tooling that depends onmigrate().Test Plan
migrate({ source: 'chatgpt', inputPath: '...' })now throws with a descriptive errorclaudeandgeminisourcesdefaultcase in the switch still throws for unknown sources