Skip to content

fix: auto-detect platform to prevent silent data loss in Twitter-only simulations#193

Closed
ChinmayShringi wants to merge 1 commit intomainfrom
fix/platform-auto-detect
Closed

fix: auto-detect platform to prevent silent data loss in Twitter-only simulations#193
ChinmayShringi wants to merge 1 commit intomainfrom
fix/platform-auto-detect

Conversation

@ChinmayShringi
Copy link
Owner

Fixes #150

Problem

When a simulation is created with Twitter-only configuration (enable_reddit=false), all data retrieval APIs silently return empty results because they default to looking up Reddit data.

Root Cause

  • Platform parameter hardcoded to 'reddit' in 3+ API locations
  • Twitter-only simulations never create reddit_simulation.db
  • APIs look for Reddit data → empty results → user sees no data

Solution

  1. Added detect_platform_from_simulation() - checks which db files exist
  2. Added get_platform_with_fallback() - intelligent fallback
  3. Updated 3 API endpoints to use auto-detection

Affected Endpoints

  • GET /<simulation_id>/profiles
  • GET /<simulation_id>/profiles/realtime
  • GET /<simulation_id>/posts

Logic

  • Check for actual db files: reddit_simulation.db and twitter_simulation.db
  • Return platform that actually has data
  • Fallback to reddit for backward compatibility

Testing

  • Twitter-only simulation returns Twitter data (not empty)
  • Reddit-only simulation still works
  • Both-platform simulation defaults to Reddit

Impact

Eliminates silent data loss for Twitter-only simulations


Original PR: 666ghj/MiroFish#168
Original Author: @JasonOA888

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Can the Zep graph step be skipped? I only want simulation and character interaction

1 participant