From b8326cc4d43adb7d9def576223e98cf019dd478f Mon Sep 17 00:00:00 2001 From: taylanbakircioglu Date: Thu, 13 Nov 2025 20:32:47 +0300 Subject: [PATCH] fix(snapshot): Enable entity snapshot by default Changed ENTITY_SNAPSHOT_ENABLED default from false to true. Reasoning: - Code is tested and deployed to production - Backward compatibility verified - No need for gradual rollout with feature flag - Entity rollback should work by default - Users expect reject to rollback entities (not just status change) Feature flag still exists for emergency disable if needed: - Set ENTITY_SNAPSHOT_ENABLED=false to disable - Useful for troubleshooting or rollback scenarios Default behavior (ENTITY_SNAPSHOT_ENABLED=true): - Entity update creates snapshot in metadata - Reject operation rolls back entities to old values - Bulk import reject deletes new entities, restores updated ones - Restore reject returns to pre-restore state --- backend/config.py | 6 +++--- backend/utils/entity_snapshot.py | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/backend/config.py b/backend/config.py index 4533e83..002e783 100644 --- a/backend/config.py +++ b/backend/config.py @@ -28,6 +28,6 @@ MANAGEMENT_BASE_URL = os.getenv("MANAGEMENT_BASE_URL", PUBLIC_URL) # Backward c AGENT_HEARTBEAT_TIMEOUT_SECONDS = 15 AGENT_CONFIG_SYNC_INTERVAL_SECONDS = 30 -# Entity snapshot feature flag (for gradual rollout) -# IMPORTANT: Keep this FALSE in production until Phase 7 deployment -ENTITY_SNAPSHOT_ENABLED = os.getenv("ENTITY_SNAPSHOT_ENABLED", "false").lower() == "true" \ No newline at end of file +# Entity snapshot enabled by default (rollback functionality) +# Set to "false" only if you need to disable snapshot temporarily +ENTITY_SNAPSHOT_ENABLED = os.getenv("ENTITY_SNAPSHOT_ENABLED", "true").lower() == "true" \ No newline at end of file diff --git a/backend/utils/entity_snapshot.py b/backend/utils/entity_snapshot.py index e6ddcb0..710900c 100644 --- a/backend/utils/entity_snapshot.py +++ b/backend/utils/entity_snapshot.py @@ -48,8 +48,9 @@ from datetime import datetime # Setup logger logger = logging.getLogger(__name__) -# Feature flag for gradual rollout -ENTITY_SNAPSHOT_ENABLED = os.getenv("ENTITY_SNAPSHOT_ENABLED", "false").lower() == "true" +# Entity snapshot enabled by default +# Can be disabled with ENTITY_SNAPSHOT_ENABLED=false if needed +ENTITY_SNAPSHOT_ENABLED = os.getenv("ENTITY_SNAPSHOT_ENABLED", "true").lower() == "true" async def save_entity_snapshot(