Current state: sdk/frontend declares @gopherium/react-auth and @tanstack/react-query as ordinary dependencies, so the SDK copy and the app copy can fork. resolve.dedupe in the frontend vite config collapses every executing environment onto one copy, which keeps the runtime correct, but the SDK's types still come from its own pinned version and can drift from the copy that actually executes, silently and with every gate green. Proposal: move both to peerDependencies so a single resolution is guaranteed by construction rather than by a bundler setting. Trigger: any react-auth or react-query major bump, or the first time an SDK type disagrees with the app it is compiled against.
Current state: sdk/frontend declares @gopherium/react-auth and @tanstack/react-query as ordinary dependencies, so the SDK copy and the app copy can fork. resolve.dedupe in the frontend vite config collapses every executing environment onto one copy, which keeps the runtime correct, but the SDK's types still come from its own pinned version and can drift from the copy that actually executes, silently and with every gate green. Proposal: move both to peerDependencies so a single resolution is guaranteed by construction rather than by a bundler setting. Trigger: any react-auth or react-query major bump, or the first time an SDK type disagrees with the app it is compiled against.