Verified against source in the session that drafted this issue (not just inferred).
Describe the Bug
The type declaration file documents VITE_CONTRACT_ID, VITE_BACKEND_URL, VITE_NETWORK_PASSPHRASE, VITE_SMS_SHORTCODE, VITE_SMS_WEBHOOK_DOCS, VITE_API_URL, VITE_RPC_URL as the env contract for this app — none of which are read correctly at runtime (root cause of #5–#9).
Steps to Reproduce
- Open
frontend/src/types/env.d.ts.
- Compare against actual
process.env.NEXT_PUBLIC_* reads across the codebase (contract.ts, fetchWithTimeout.ts, dashboard pages, etc.) — they don't match.
Expected Behavior
Type declarations match the real env contract and give contributors/IDE autocomplete correct guidance.
Actual Behavior
Actively misleading — this file is likely why #5–#9 exist, since it presents VITE_* as the correct pattern.
Guidelines
Definition of Done
Describe the Bug
The type declaration file documents
VITE_CONTRACT_ID,VITE_BACKEND_URL,VITE_NETWORK_PASSPHRASE,VITE_SMS_SHORTCODE,VITE_SMS_WEBHOOK_DOCS,VITE_API_URL,VITE_RPC_URLas the env contract for this app — none of which are read correctly at runtime (root cause of #5–#9).Steps to Reproduce
frontend/src/types/env.d.ts.process.env.NEXT_PUBLIC_*reads across the codebase (contract.ts,fetchWithTimeout.ts, dashboard pages, etc.) — they don't match.Expected Behavior
Type declarations match the real env contract and give contributors/IDE autocomplete correct guidance.
Actual Behavior
Actively misleading — this file is likely why #5–#9 exist, since it presents
VITE_*as the correct pattern.Guidelines
Definition of Done
ImportMetaEnv/VITE_*declarations removedNEXT_PUBLIC_*contract documented (via types or the FE-47 validated module)