- Replace weak 'admin123' with strong password in populate_agents.py
- Update check_admin.py and reset_admin.py to use same strong password
- Ensure consistent secure password across all admin management commands
- Improved security for production admin accounts
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add www.quantumtaskai.com to ALLOWED_HOSTS
- Update CSRF_TRUSTED_ORIGINS for both www and non-www domains
- Change SITE_URL to use production domain for emails
- Update Stripe fallback URLs to use www subdomain
- Change admin emails from netcop.ai to quantumtaskai.com
- Update management command URLs to production domain
- Add Email Writer agent to populate_agents script
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix LOGIN_REDIRECT_URL to redirect to /admin/ instead of homepage
- Create admin.py for agent_base to register BaseAgent model
- This ensures users stay in admin interface after login
- Admin will now show all agents and user management
Fixes the issue where admin login worked but redirected to homepage.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
ISSUE: Agent pages were not opening due to URL pattern conflict between
agent_base/urls.py and individual agent app URLs.
SOLUTION:
- Remove conflicting 'agents/<slug:agent_slug>/' pattern from agent_base URLs
- Add get_absolute_url() method to BaseAgent model for clean URL generation
- Update marketplace template to use agent.get_absolute_url instead of URL reversal
- Remove redundant agent_detail_view that was causing redirect loops
RESULT:
- Individual agent pages now load correctly (/agents/data-analyzer/, etc.)
- Marketplace correctly links to individual agent pages
- Authentication flow works as expected (login required for agent access)
- No more URL conflicts or redirect loops
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
BREAKING CHANGES:
- Move marketplace and agent discovery views from core to agent_base app
- Transfer all wallet functionality from core to dedicated wallet app
- Move Stripe webhook handling to wallet app for better organization
- Consolidate payment system logic under single responsibility
NEW STRUCTURE:
- core app: Platform pages only (homepage, pricing)
- agent_base app: Complete agent marketplace and catalog system
- wallet app: Full payment system with Stripe integration
- Individual agent apps: Unchanged, self-contained
IMPROVEMENTS:
- Clean URL namespacing (agent_base:marketplace, wallet:wallet)
- Template organization by app responsibility
- Removed deprecated CSS files (header.css)
- Added utility classes (.hidden)
- Updated all template references to new URL structure
- Comprehensive CLAUDE.md documentation updates
TECHNICAL CHANGES:
- Templates moved: marketplace.html, agent_detail.html → agent_base/
- Templates moved: wallet*.html → wallet/
- New files: agent_base/views.py, agent_base/urls.py, wallet/urls.py
- Updated main urls.py routing configuration
- Fixed Django system checks and namespace conflicts
- Verified all functionality with test suite
This reorganization follows Django best practices with single responsibility
principle, making the codebase more maintainable and scalable.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Create complete 5 Whys Analysis Agent with chat-based interaction
- Implement dual-mode processor (free chat vs paid report generation)
- Add typing indicators with animated dots for better user feedback
- Enable report generation only after 2+ questions for smart activation
- Simplify report form to button-only interface using chat history
- Add basic formatting for professional report presentation
- Configure conditional wallet deduction (charge only for final reports)
- Set up N8N webhook integration for analysis processing
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
**Smart Database Configuration:**
- Auto-detects environment: Railway vs Local development
- Tests PostgreSQL connection before using it
- Falls back to SQLite if PostgreSQL unavailable
- Preserves Railway DATABASE_URL when present
**Environment Detection Logic:**
1. Railway: Uses Railway's DATABASE_URL (PostgreSQL)
2. Local with DATABASE_URL: Uses specified database
3. Local with PostgreSQL running: Uses PostgreSQL
4. Local without PostgreSQL: Falls back to SQLite
**New Management Command:**
- `check_db`: Diagnose database configuration and connection
- Shows current engine, connection status, table count
- Provides troubleshooting tips for PostgreSQL setup
**Solves the Compatibility Problem:**
- Local development: Works without PostgreSQL setup (SQLite fallback)
- Railway production: Always uses PostgreSQL (via DATABASE_URL)
- No more "works locally but fails on Railway" issues
- No more "needs PostgreSQL locally to test Railway compatibility"
**Benefits:**
- Seamless development experience
- Production-development parity when PostgreSQL available
- Graceful degradation to SQLite when needed
- Zero configuration required for basic development
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
**Database Management Improvements:**
- Fix populate_agents to not overwrite existing admin users
- Add --create-admin flag for explicit admin creation
- Check if admin email exists before creating new admin
- Better logging of superuser status
**New Management Commands:**
- backup_users: Backup/restore user data and wallet transactions
- create_user: Create users with initial wallet balance
- Both commands help recover from data loss issues
**Railway Configuration:**
- Add database info display on deployment
- Better handling of existing user data
- Prevents admin password resets on every deploy
**Fixes:**
- Admin password no longer resets to 'admin123' on every deployment
- User data should persist between Railway deployments
- Better debugging tools for database issues
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Create populate_agents management command to add default agents
- Add admin user creation (admin@netcop.ai / admin123)
- Update Railway startup to run population after migrations
- This fixes empty marketplace and login issues on Railway
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Replace legacy agents system with modular individual agent apps
- Add agent_base framework for BaseAgent, processors, and management commands
- Create weather_reporter as example individual agent with API integration
- Implement simplified template structure: agent_name/templates/detail.html
- Fix marketplace to display actual agents instead of placeholder
- Add proper authentication flow with login redirect for agent access
- Organize project structure: move tests to tests/, docs to docs/
- Update all documentation to reflect new simplified architecture
- Fix URL namespace issues throughout templates and views
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>