How Isolyne falls back from Gemini to a local TypeScript parser when connectivity fails, preserving core decision capture and drift detection.