ajaysi
03d43fb54b
Add early debug logging for ALWRITY_ENABLED_FEATURES
2026-04-06 12:17:49 +05:30
ajaysi
c361bd127d
Add debug logging to is_podcast_only_demo_mode function
2026-04-06 12:11:14 +05:30
ajaysi
71c0e2ed46
Skip oauth_token_monitoring in podcast mode, add required deps
2026-04-06 08:54:29 +05:30
ajaysi
6c99b26140
Skip content_planning imports in podcast-only mode
2026-04-06 08:18:58 +05:30
ajaysi
3f3575cc18
Add main block for direct uvicorn startup
2026-04-06 07:02:42 +05:30
ajaysi
c0a5f5fdeb
Fix Render port binding - preload_app=False, add early env debug
2026-04-06 07:01:02 +05:30
ajaysi
1bdf0d4b93
Fix startup timing for Render - move heavy init to startup event
2026-04-06 06:53:35 +05:30
ajaysi
0680bf98a2
debug(backend): add early print to trace app.py startup
2026-04-05 21:12:07 +05:30
ajaysi
6cef24289f
fix(backend): skip monitoring middleware in podcast-only mode to save memory
2026-04-05 18:11:16 +05:30
ajaysi
aa2317c359
fix(backend): lazy-load PersonaAnalysisService in podcast mode, preserve PORT from Render
2026-04-05 15:28:49 +05:30
ajaysi
0f34048c6a
fix(backend): skip heavy non-podcast routes in podcast-only mode to reduce memory
2026-04-05 12:21:48 +05:30
ajaysi
1cf3ae96ce
debug(backend): add port binding logs and memory usage instrumentation
2026-04-05 11:59:48 +05:30
ajaysi
6579f60d7d
fix: add current Vercel deployment to CORS allowed origins
2026-04-04 18:25:19 +05:30
ajaysi
ab78a6a158
fix: don't raise on startup errors to allow server start
2026-04-04 17:48:58 +05:30
ajaysi
dcb7d28e03
fix: handle existing indexes in podcast-only mode, skip startup health
2026-04-04 11:31:30 +05:30
ajaysi
63bb937796
feat: podcast demo mode with ALWRITY_ENABLED_FEATURES support
...
- Add ALWRITY_ENABLED_FEATURES env var for feature gating
- Podcast-only mode: skip LLM bootstrap, scheduler, persona services
- Enhance video generation prompt with scene context, analysis, narration
- Add voice cloning support via custom_voice_id in WaveSpeed
- Add text-to-speech for research results (browser speechSynthesis)
- Fix render queue to sync images from script phase
- Add WaveSpeed LLM pricing (gpt-oss-120b)
- Fix podcast bible generation error handling
- Refactor RouterManager for feature-based router loading
2026-04-03 06:59:59 +05:30
ajaysi
49e0ee8e9e
Consolidate on ALWRITY_ENABLED_FEATURES - remove all legacy support
...
Backend:
- Remove all legacy env var fallbacks (ALWRITY_FEATURE_PROFILE, ALWRITY_ROUTER_PROFILE, etc)
- Remove get_active_profile() from start_alwrity_backend.py
- Remove _env_flag_enabled() from app.py
- Use ALWRITY_ENABLED_FEATURES as single source of truth
Frontend:
- demoMode.ts now uses only REACT_APP_ENABLED_FEATURES
- Removed all legacy fallback keys (app_mode, demo_mode, podcast_only_demo_mode)
Usage:
ALWRITY_ENABLED_FEATURES=podcast # Podcast only
ALWRITY_ENABLED_FEATURES=all # All features (default)
2026-03-31 18:51:30 +05:30
ajaysi
edd92ec85b
Deprecate legacy feature flags, use ALWRITY_ENABLED_FEATURES only
...
- Remove fallback to ALWRITY_FEATURE_PROFILE, ALWRITY_ROUTER_PROFILE
- Primary env var is now ALWRITY_ENABLED_FEATURES (backend)
- Primary env var is REACT_APP_ENABLED_FEATURES (frontend)
- Add deprecation comments to all get_enabled_features() functions
- Update demoMode.ts with clear deprecation notes
Usage:
ALWRITY_ENABLED_FEATURES=podcast # Podcast only
ALWRITY_ENABLED_FEATURES=all # All features (default)
2026-03-31 18:45:52 +05:30
ajaysi
cd06c6aaa8
Consolidate feature flags to ALWRITY_ENABLED_FEATURES
...
Backend:
- Add get_enabled_features() returning set from ALWRITY_ENABLED_FEATURES
- Update router registry to use 'features' instead of 'profiles'
- Support feature names: podcast, blog-writer, youtube, story-writer, etc
- Update bootstrap gating to use enabled features
- Update PODCAST_ONLY_DEMO_MODE to check new flag first
- Add backwards compatibility with legacy env vars
Frontend:
- Update demoMode.ts to use REACT_APP_ENABLED_FEATURES
- Add getEnabledFeatures() and isFeatureEnabled() utilities
Usage:
ALWRITY_ENABLED_FEATURES=all # All features (default)
ALWRITY_ENABLED_FEATURES=podcast # Podcast only
ALWRITY_ENABLED_FEATURES=podcast,core # Podcast + core features
2026-03-31 18:40:54 +05:30
ajaysi
bf6cdf1109
Add startup summary for active profile, routers, and bootstraps
...
- Add BootstrapResult dataclass for structured bootstrap results
- bootstrap_linguistic_models() and bootstrap_local_llm_models() return BootstrapResult
- Set ALWRITY_ACTIVE_PROFILE env var at startup and print active profile
- Set ALWRITY_BOOTSTRAP_SUMMARY with JSON summary of bootstrap results
- Print bootstrap summary at startup
- Track skipped_routers in RouterManager with reasons
- Add log_startup_summary() to log enabled/skipped/failed routers
- Call log_startup_summary() in app.py after router inclusion
2026-03-31 15:23:41 +05:30
ajaysi
dee4387b0b
Add feature-profile endpoint and env-driven optional router profiles
...
- Add ALWRITY_FEATURE_PROFILE env var (precedence over ALWRITY_ROUTER_PROFILE)
- Add OPTIONAL_MODULE_MATRIX defining 'all' and 'default' profiles
- Add get_feature_profile_status() to RouterManager
- Add GET /api/feature-profile/status endpoint in main.py and app.py
- Returns active profile and enabled optional modules
2026-03-31 15:15:50 +05:30
ajaysi
cbcb896d24
Merge PR #451 : Fail demo startup when required API routes are missing
2026-03-30 07:56:43 +05:30
ي
ef7874dcdc
Fail demo startup when required API routes are missing
2026-03-30 07:56:05 +05:30
ajaysi
bbb46ca9d1
fix: Add podcast-only demo mode readiness patches
...
- Patch pricing redirect to route to podcast-maker instead of onboarding
- Allow all plan tiers in demo mode (remove alpha restriction)
- Add Stripe mode warning in demo when key is missing
- Add startup router mount assertions for subscription and podcast
- Add smoke test script for demo mode validation
2026-03-30 07:50:58 +05:30
ajaysi
5965e123b9
Merge PR #446 : Add podcast-only demo mode visibility and router status
2026-03-30 07:43:46 +05:30
ajaysi
c652c0d149
Merge PR #445 : Ensure subscription router is always mounted without duplicates
2026-03-30 07:39:33 +05:30
ي
d13cce7a46
Ensure subscription router is always mounted without duplicates
2026-03-30 07:38:19 +05:30
ajaysi
6596a0515a
Merge PR #444 : Guard onboarding manager behind podcast-only demo mode
2026-03-30 07:36:26 +05:30
ي
4d948e0222
Guard onboarding manager behind podcast-only demo mode
2026-03-30 07:15:08 +05:30
ajaysi
e8e2a7fea0
Merge PR #443 : Add podcast-only demo mode guards in app router setup
2026-03-30 07:11:25 +05:30
ي
ec9d2f922e
Add podcast-only demo mode guards in app router setup
2026-03-30 07:07:24 +05:30
ي
af5a6e0ee3
Add podcast-only demo startup flag and CLI toggle
2026-03-30 06:56:57 +05:30
ajaysi
b28dc4b5f6
Add startup health module and readiness endpoint from PR #434
...
- Add services/startup_health.py with health check functions:
- get_startup_status(): Returns current startup status
- readiness_under_auth_context(): Validates tenant DB under auth context
- run_startup_health_routine(): Runs all startup health checks
- Add /health/readiness endpoint for tenant DB validation
- Update startup_event() to use run_startup_health_routine()
- Add raise to startup_event to fail fast on errors
2026-03-22 11:33:20 +05:30
ajaysi
d557bd4918
Fix merge conflicts and resolve circular import issues
...
- Resolve conflict markers in logging_config.py, main.py, app.py
- Fix circular imports in story_writer services (image/audio/video generation)
by using lazy imports for get_story_media_write_dir
- Restore clean versions of:
- sif_agents.py
- tenant_provider_config.py
- personalization_service.py
- huggingface_provider.py
- main_text_generation.py
- logger_utils.py
- Use setup_clean_logging() consistently across app.py and main.py
- Restore verbose_mode handling in start_alwrity_backend.py
2026-03-22 10:45:05 +05:30
ajaysi
d412275748
"Merge_PR_422_unify_backend_logging_configuration"
2026-03-12 17:32:50 +05:30
ي
51313f60dc
Unify backend logging configuration entrypoint
2026-03-12 15:05:30 +05:30
ي
7619604324
Harden logging config with safer overrides and optional JSON/file sinks
2026-03-11 16:31:28 +05:30
ajaysi
c54ad409a7
Merge branch 'pr-402'
...
# Conflicts:
# backend/app.py
2026-03-09 15:40:30 +05:30
ي
e8d76cd745
Sync SEO dashboard imports and add route smoke test
2026-03-09 12:07:57 +05:30
ي
936dd14e0d
Add consolidated onboarding SEO task health API and dashboard panel
2026-03-08 23:09:02 +05:30
ajaysi
4828274cbf
Release Candidate: Production Release with Multi-Tenant & Onboarding Enhancements
2026-02-28 20:08:00 +05:30
ajaysi
08a1f4a1d8
Save local changes (GSC/Bing integrations) before merging PR #354
2026-02-13 13:11:27 +05:30
ajaysi
e404a86502
Recovered state: integrated TrendSurferAgent, restored frontend/backend files, and cleaned up recovery scripts
2026-02-08 13:56:57 +05:30
ajaysi
1db10ccd0f
Added documentation for the auto-population feature and the analytics integration.
2026-01-17 11:01:10 +05:30
ajaysi
8193cdba67
AI Analysis and Content Strategy fixes. Enhanced Strategy Routes refactoring.
2026-01-10 19:32:50 +05:30
ajaysi
b134e9dc7e
Added video studio router and endpoints. Added research router and endpoints. Added youtube router and endpoints. Added onboarding utils router and endpoints. Added onboarding utils service. Added onboarding utils models. Added onboarding utils routes. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils. Added onboarding utils utils.
2026-01-01 17:56:25 +05:30
ajaysi
81590cf4db
WIP: AI Podcast Maker and YouTube Creator Studio integration
2025-12-10 09:37:55 +05:30
ajaysi
49e2131715
AI Image Studio, AI podcast Maker, AI product Marketing
2025-11-28 14:33:52 +05:30
ajaysi
77d7c0cde6
AI Image Studio Progress Review
...
- Added new router for content assets
- Added new service for content assets
- Added new model for content assets
- Added new utils for content assets
- Added new docs for content assets
- Added new tests for content assets
- Added new examples for content assets
- Added new guides for content assets
2025-11-23 09:21:11 +05:30
ajaysi
eede21ad42
AI Image Studio Phase 1
2025-11-20 09:06:00 +05:30